Implementar rápidamente la detección de distancia por tiempo de vuelo usando una solución preconstruida
Colaboración de Editores de DigiKey de América del Norte
2020-04-02
La tecnología de tiempo de vuelo (ToF) se utiliza cada vez más para la medición de distancias y la detección de proximidad en ámbitos de aplicación que van desde los productos de consumo hasta el equipo industrial. La disponibilidad de circuitos integrados de procesamiento de ToF de un solo chip ayuda a simplificar la implementación de estas soluciones, pero aún así dejan a los desarrolladores tareas críticas como encontrar y optimizar los emisores y fotodiodos adecuados, e integrar esos dispositivos con ese procesador de ToF. Un enfoque más integrado podría simplificar enormemente el proceso y ahorrar tiempo.
Para hacer frente a esto, Digilent ha desarrollado una placa complementaria de ToF preconstruida, que cuando se combina con una placa de sistema de alto rendimiento y la biblioteca de software asociada, proporciona una solución completa de ToF de hardware. Ahora los desarrolladores pueden comenzar inmediatamente a crear prototipos de aplicaciones ToF o utilizar este hardware y software como base para diseñar hardware y software ToF personalizado.
Este artículo describe brevemente cómo funcionan los sensores ToF. A continuación presenta la placa Pmod ToF de Digilent y muestra cómo puede utilizarse en combinación con la placa de desarrollo del Zybo Z7-20 de Digilent para evaluar la tecnología ToF y desplegar rápidamente la detección óptica a distancia en sus propios diseños.
Cómo funcionan los sensores ToF
Los sensores ToF juegan un papel importante en una gama cada vez más amplia de aplicaciones. En los vehículos y equipos industriales, estos sensores ayudan a advertir a los operadores de la existencia de obstáculos al aparcar o al realizar maniobras en espacios reducidos. En las aplicaciones para consumidores, estos dispositivos proporcionan sensores de proximidad en productos móviles o sistemas de automatización de viviendas. En estas y otras aplicaciones, los sistemas ópticos ToF calculan la distancia a un objeto u obstáculo externo utilizando diferentes métodos que se basan todos en alguna diferencia entre la luz reflejada por el objeto externo y la luz transmitida originalmente.
Un avanzado dispositivo ToF como el CI de procesamiento de señales basado en ToF ISL29501 de Renesas calcula la distancia midiendo el desplazamiento de fase entre la luz transmitida de un LED o láser externo y la luz recibida de un fotodiodo. Cuando el ISL29501 transmite luz (Tx) modulada por una onda cuadrada a una frecuencia dada fm, la señal óptica reflejada (Rx) de un objeto vuelve al ISL29501 a una amplitud atenuada R con algún desplazamiento de fase j (Figura 1).
Figura 1: Los dispositivos ToF avanzados como el Renesas ISL29501 utilizan sus capacidades internas de procesamiento de señales digitales para calcular la distancia a los objetos basándose en el desplazamiento de fase j entre la luz transmitida y la reflejada. (Fuente de la imagen: Renesas)
Al medir este desplazamiento de fase, el dispositivo puede calcular la distancia D:
Ecuación 1
Donde:
D = distancia al objetivo
c = velocidad de la luz
fm = frecuencia de modulación
φ = ángulo de fase (radianes)
Dado que se conocen la señal de frecuencia modulada fm y la velocidad de la luz c, la distancia puede calcularse encontrando el factor restante, el ángulo de fase φ. Este factor puede ser calculado con las técnicas tradicionales de procesamiento de señales de cuadratura. Aquí, los componentes de las señales en fase (I) y en cuadratura (Q) se generan por caminos de señales I y Q separados que comprenden un demodulador, un filtro de paso bajo (LPF) y un convertidor analógico-digital (ADC) (Figura 2).
Figura 2: Para calcular el ángulo de fase φ necesario para su cálculo de distancia, el Renesas ISL29501 demodula, filtra y convierte los componentes de la señal en fase (I) y en cuadratura (Q) de la señal de entrada (VIN). (Fuente de la imagen: Renesas)
Internamente, el ISL29501 integra una ruta de señal integral que precede a la tubería de demodulación con una etapa de acondicionamiento de señal de extremo frontal analógico (AFE) que comprende un amplificador de transimpedancia (TIA) y un amplificador de bajo ruido (LNA). El camino de la señal de entrada del ISL29501 sigue el AFE con un bucle de ganancia variable (Av), control automático de ganancia (AGC) que utiliza sus algoritmos incorporados para optimizar el SNR.
En el lado de salida, el ISL29501 integra una cadena de conductores de emisores en chip capaz de entregar pulsos de onda cuadrada a una frecuencia de modulación de 4,5 megahercios (MHz) y conducir la corriente hasta 255 miliamperios (mA) a un emisor adecuado. Completando esta arquitectura funcional, un procesador de señales digitales (DSP) interno se encarga de los cálculos necesarios para generar el resultado de la distancia a partir de los datos de fase, amplitud y frecuencia (Figura 3).
Figura 3: El ISL29501 de Renesas combina rutas de señales para conducir un emisor y procesar la entrada de un fotodiodo junto con un procesador interno de señales digitales que ejecuta algoritmos utilizados para calcular la distancia de los datos de fase, amplitud y frecuencia. (Fuente de la imagen: Renesas)
Elegir emisores y fotodiodos
Al integrar la entrada de fotodiodo, la salida del emisor y las capacidades de procesamiento, el ISL29501 proporciona una base de hardware flexible para construir soluciones de detección de distancia ToF. Las características, como el bucle de AFE y AGC en el lado de entrada y el controlador de emisor programable en el lado de salida, están diseñadas específicamente para soportar una amplia gama de emisores y fotodiodos. Al mismo tiempo, la efectividad de una solución completa de ToF depende críticamente de la cuidadosa selección y configuración del emisor y el fotodiodo.
Para el emisor, por ejemplo, la flexibilidad del ISL29501 permite a los desarrolladores seleccionar entre una amplia variedad de LED infrarrojos (IR), láseres emisores de superficie de cavidad vertical (VCSEL) u otros dispositivos láser con especificaciones de voltaje, corriente y frecuencia compatibles. De hecho, una solución típica de ToF es relativamente insensible al tipo de emisor. No obstante, se recomienda el uso de un dispositivo de infrarrojo cercano (NIR) o de infrarrojo de longitud de onda media (MWIR) para reducir la interferencia de las fuentes de luz ambiental. Después de seleccionar el dispositivo, el desarrollador tendrá que determinar la corriente de impulso del emisor óptimo, así como cualquier componente de corriente DC que pueda ser necesario. A continuación, el desarrollador debe programar el dispositivo para que suministre el pulso y la corriente continua opcional utilizando los convertidores digitales-analógicos (DAC) internos independientes integrados en la cadena de salida del conductor emisor.
Del mismo modo, el ISL29501 puede soportar una amplia variedad de fotodiodos, pero la aplicación y la elección de los emisores desempeñarán un papel clave para determinar la elección óptima. Al igual que con el emisor, un fotodiodo que opera en longitudes de onda NIR o MWIR ayuda a reducir la interferencia de la luz ambiental. Lo ideal sería que la curva de respuesta espectral del fotodiodo fuera lo más estrecha posible, con un pico centrado en la longitud de onda máxima del emisor para optimizar la relación señal-ruido (SNR). Aunque el fotodiodo necesita maximizar la cantidad de luz que es capaz de recoger, al aumentar el área del fotodiodo también se introduce una mayor capacitancia (tanto la capacitancia de unión como la de dispersión), lo que puede comprometer el tiempo de respuesta del fotodiodo y su capacidad para rastrear los tiempos de subida y bajada del emisor. Como resultado, los desarrolladores necesitan encontrar el equilibrio óptimo del área de fotodiodo y la capacitancia interna necesaria para maximizar la amplitud de la señal sin comprometer el rendimiento.
Solución integrada de ToF
Diseñada para acelerar el desarrollo de las aplicaciones ToF, la placa Pmod ToF de Digilent proporciona una solución ToF estándar que combina el CI ToF ISL29501 de Renesas, una EEPROM AT24C04D de Microchip Technology, un LED IR y un fotodiodo en una placa de pequeño formato con un host Pmod de seis pines y conectores de paso para añadir placas de expansión Pmod adicionales (Figura 4).
Figura 4: La placa de Pmod ToF de Digilent proporciona una solución completa de sensor de ToF diseñada para conectarse a placas de sistema con conectores Pmod. (Fuente de la imagen: Digilent)
Para la fuente de luz y el detector, la placa empareja un LED SFH 4550 de alta potencia y 860 nanómetros (nm) OSRAM Opto Semiconductores con un fotodiodo OSRAM SFH 213 FA que tiene un rápido tiempo de conmutación, la sensibilidad espectral de 750 a 1100 nm y una sensibilidad máxima a 900 nm.
Aunque el ISL29501 de Renesas no requiere componentes adicionales para los dispositivos LED y de fotodiodo asociados, sí requiere una fuente adecuada de 2.7 a 3.3 voltios para cada uno de sus tres dominios de potencia, suministrada por pines separados para su fuente de tensión analógica (AVCC), fuente de tensión digital (DVCC) y tensión del conductor emisor (EVCC). Aunque pueden ser suministrados por la misma fuente, Renesas recomienda aislar estos tres suministros. Como se muestra en el esquema del Pmod ToF de Digilent, Digilent consigue este aislamiento para la placa de ToF utilizando las perlas de ferrita BLM15BD471SN1D de Murata Electronics y los condensadores para cada suministro (Figura 5).
Figura 5: La placa Pmod ToF de Digilent ofrece tanto una solución inmediata de hardware para la creación rápida de prototipos como un diseño de referencia para sistemas ToF personalizados. (Fuente de la imagen: Digilent)
Entorno de desarrollo
Digilent ayuda a acelerar la implementación de las aplicaciones ToF con un entorno de desarrollo basado en la placa Digilent Zybo Z7-20. La placa proporciona un entorno operativo de alto rendimiento construido alrededor del SoC todo programable (APSoC)Xilinx Zynq XC7Z020. Este APSoC integra un procesador de doble núcleo Arm® Cortex®-A9 con un extenso tejido programable que incluye soporte para 53.200 tablas de búsqueda (LUT), 106.400 flip-flops y 630 kilobytes (Kbytes) de memoria de acceso aleatorio en bloque (RAM). Junto con el APSoC Xilinx Zynq XC7Z020, la placa Zybo Z7-20 incluye 1 gigabyte (Gbyte) de RAM, 16 megabytes (Mbytes) de flash SPI cuádruple, múltiples interfaces, conectores y seis puertos de expansión Pmod.
Diseñado para funcionar en la placa Zybo Z7-20, la distribución de software ZyboZ7-20 PmodToF-Demo de Digilent incluye el kit de desarrollo de software (SDK) para su biblioteca de software de bloques jerárquicos Pmod ToF. Esta biblioteca proporciona a los desarrolladores una interfaz de programación de aplicaciones (API) intuitiva para construir aplicaciones basadas en los controladores y módulos de soporte del SDK de Xilinx, o proporcionados por Digilent para la placa Pmod ToF (Figura 6).
Figura 6: La biblioteca de software de bloque jerárquico ToF Pmod de Digilent aumenta los controladores de interfaz de bajo nivel en el SDK de Xilinx con módulos para el sensor ISL29501 de Renesas, EEPROM y servicios Pmod ToF. (Fuente de la imagen: Digilent)
La biblioteca de Digilent combina controladores de bajo nivel para las comunicaciones I2C, GPIO y UART del SDK de Xilinx con módulos que implementan operaciones de nivel de registro para la placa Pmod ToF de Digilent, EEPROM y el dispositivo ISL29501 de Renesas. Por ejemplo, el módulo ISL29501 proporciona una función para ejecutar una medición de distancia con el ISL29501. Debido a que el ISL29501 implementa internamente la secuencia detallada de operaciones requeridas para realizar esa medición, la ejecución de la medición de distancia sólo requiere alguna configuración inicial y una serie de registros de lectura y escritura. El módulo ISL29501 de la biblioteca de Digilent proporciona las funciones para implementar operaciones específicas de ISL29501 incluyendo una para realizar una medición de distancia (Listado 1).
Copy
double PmodToF_perform_distance_measurement()
{
/* WRITE REG */
u8 reg0x13_data = 0x7D;
u8 reg0x60_data = 0x01;
/* READ REG */
u8 unused;
u8 DistanceMSB;
u8 DistanceLSB;
double distance = 1;
ISL29501_WriteIIC(&myToFDevice, 0x13, ®0x13_data, 1);
ISL29501_WriteIIC(&myToFDevice, 0x60, ®0x60_data, 1);
ISL29501_ReadIIC(&myToFDevice, 0x69, &unused, 1);
CALIB_initiate_calibration_measurement();
//waits for IRQ
while((XGpio_DiscreteRead(&gpio, GPIO_CHANNEL) & GPIO_DATA_RDY_MSK) != 0 );
ISL29501_ReadIIC(&myToFDevice, 0xD1, &DistanceMSB, 1);
ISL29501_ReadIIC(&myToFDevice, 0xD2, &DistanceLSB, 1);
distance =(((double)DistanceMSB * 256 + (double)DistanceLSB)/65536) * 33.31;
return distance;
}
Lista 1: Las funciones de software incluidas en el módulo ISL29501 de la biblioteca de Digilent implementan operaciones a nivel de registro como la realización de una medición de distancia como se muestra aquí. (Fuente del código: Digilent)
El módulo PmodToF de la biblioteca Digilent proporciona servicios de nivel superior construidos sobre esos módulos de nivel inferior. Por ejemplo, para ejecutar y visualizar una medición, la función PmodToFCMD_MeasureCmd() del módulo PmodToF llama repetidamente a la función PmodToF_perform_distance_measurement() del módulo ISL29501 a nivel de registro y muestra el promedio de los resultados (Listado 2).
Copy
/*** PmodToFCMD_MeasureCmd
**
** Parameters:
** none
**
** Return Value:
** ERRVAL_SUCCESS 0 // success
**
** Description:
** This function displays over UART the distance measured by the device.
** Antes de invocar esta función, es importante que se haya realizado una calibración manual o la calibración
** fue importado (calibración almacenada por el usuario en el área de usuario de la EEPROM)/restaurado de la EEPROM (calibración de fábrica).
*/
void PmodToFCMD_MeasureCmd()
{
int N = 100, sum = 0;
int distance_val, distance_val_avg;
// 100 distance values that are measure will be averaged into a final distance value
for(int j=0;j<N;j++)
{
distance_val = 1000 * PmodToF_perform_distance_measurement(); // the distance value is in millimeters
sum = sum + distance_val;
}
distance_val_avg = sum/N;
sprintf(szMsg, "Distance measured D = %d mm.", distance_val_avg);
ERRORS_GetPrefixedMessageString(ERRVAL_SUCCESS, "", szMsg);
UART_PutString(szMsg);
}
Lista 2: Las funciones de software incluidas en el módulo PmodToF de la biblioteca de Digilent proporcionan servicios a nivel de aplicación, como la visualización del promedio de múltiples mediciones de distancia, como se muestra aquí. (Fuente del código: Digilent)
Los desarrolladores pueden utilizar el conjunto completo de módulos de la biblioteca de software de bloques jerárquicos de Pmod ToF de Digilent o utilizar sólo el conjunto mínimo de módulos necesarios para su aplicación. Sin embargo, para cada aplicación, los desarrolladores deberán realizar calibraciones de magnitud, diafonía y distancia para garantizar la precisión. Aunque la magnitud es una calibración interna, las otras dos requieren cierta cantidad de configuración. Para la calibración de la diafonía, los desarrolladores simplemente bloquean los dispositivos ópticos con un trozo de espuma incluido en la placa y ejecutan la calibración. Para la calibración de la distancia, los desarrolladores colocan la placa ToF con la óptica posicionada a una distancia conocida de un objetivo con alta reflectividad IR y ejecutan la calibración. Aunque el ISL29501 no incluye memoria no volátil, los desarrolladores pueden guardar nuevos valores de calibración en la EEPROM de la placa Pmod ToF y cargar esos valores durante los procedimientos de inicialización del software.
Esta combinación de hardware y software de venta al público proporciona una base lista para usar para crear aplicaciones ópticas de ToF. Para la creación rápida de prototipos, los desarrolladores pueden ejecutar inmediatamente el software de muestra de la distribución de la biblioteca utilizando el Pmod ToF de Digilent y la placa Zybo Z7-20. Para el desarrollo personalizado, los desarrolladores pueden basarse en el diseño de referencia de hardware representado por la placa Pmod ToF y en el código de software proporcionado en la distribución de la biblioteca Digilent.
Conclusión
Si bien los circuitos integrados de procesamiento de ToF de un solo chip ayudan a simplificar la implementación de las soluciones de ToF para muchas aplicaciones, todavía dejan a los desarrolladores necesitando encontrar emisores y fotodiodos adecuados para la integración. Como se muestra, una solución más accesible es la que proporciona una placa complementaria de ToF preconstruida en combinación con una placa de sistema de alto rendimiento, que juntas ofrecen una solución completa de ToF de hardware. Combinando esta solución de hardware con una biblioteca de software asociada, los desarrolladores pueden comenzar inmediatamente a crear prototipos de aplicaciones de ToF, o utilizar este hardware y software como base para diseñar hardware y software de ToF personalizado.
Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.




