Módulo sensor VL53L8CX
Manual de usuario
Introdución
O propósito deste manual de usuario é explicar como manexar o sensor de tempo de voo (ToF) VL53L8X mediante a API do controlador ultraligero (ULD). Describe as principais funcións para programar o dispositivo, as calibracións e os resultados de saída.
Baseado na tecnoloxía FlightSense de ST, o VL53L8CX incorpora unha lente metasuperficial (DOE) eficiente colocada no emisor láser que permite proxectar un FoV cadrado de 45° x 45° sobre a escena.
A súa capacidade multizona proporciona unha matriz de 8×8 zonas (64 zonas) e pode funcionar a velocidades rápidas (60 Hz) ata 400 cm.
Grazas ao modo autónomo con limiar de distancia programable, o VL53L8CX é perfecto para calquera aplicación que requira detección de usuarios de baixo consumo. Os algoritmos patentados de ST e a innovadora construción de módulos permiten que o VL53L8CX detecte, en cada zona, varios obxectos dentro do FoV cunha comprensión profunda. Os algoritmos do histograma ST garanten a inmunidade á diafonía do cristal de cobertura máis alá de 60 cm.
Como todos os sensores de tempo de voo (ToF) baseados na tecnoloxía FlightSense de ST, o VL53L8CX rexistra, en cada zona, unha distancia absoluta independentemente da cor obxectivo e da reflectancia.
Aloxado nun paquete refluxable en miniatura que integra unha matriz SPAD, o VL53L8CX consegue o mellor rendemento en varias condicións de iluminación ambiental e para unha ampla gama de materiais de vidro de cobertura.
Todos os sensores ToF de ST integran un VCSEL que emite unha luz IR de 940 nm totalmente invisible, que é totalmente segura para os ollos (certificación Clase 1).

Siglas e abreviaturas
| Acrónimo/abreviatura | Definición |
| DOE | elemento óptico difractivo |
| FoV | campo de view |
| I2C | circuíto interintegrado (bus serie) |
| Kcps/SPAD | Conta de quilos por segundo por spad (unidade utilizada para cuantificar o número de fotóns na matriz SPAD) |
| RAM | memoria de acceso aleatorio |
| SCL | liña de reloxo en serie |
| SDA | datos en serie |
| SPAD | díodo de avalancha de fotón único |
| ToF | Tempo de voo |
| ULD | controlador ultra lite |
| VCSEL | díodo emisor de superficie de cavidade vertical |
| Xtalk | diafonía |
Descrición funcional
2.1 Sistema rematadoview
O sistema VL53L8CX está composto por un módulo de hardware e o software de controlador ultralixeiro (VL53L8CX ULD) que se executa nun host (ver figura a continuación). O módulo de hardware contén o sensor ToF. STMicroelectronics ofrece o controlador de software, ao que se fai referencia neste documento como "o controlador". Este documento describe as funcións do controlador, ás que pode acceder o host. Estas funcións controlan o sensor e obteñen os datos de alcance.

2.2 Orientación efectiva
O módulo inclúe unha lente sobre a apertura RX, que voltea (horizontal e verticalmente) a imaxe capturada do obxectivo. En consecuencia, a zona identificada como zona 0, na parte inferior esquerda da matriz SPAD, está iluminada por un obxectivo situado na parte superior dereita da escena.

2.3 Esquemas e configuración I2C/SPI
A comunicación entre o controlador e o firmware é xestionada polo I2C ou SPI. A capacidade máxima do I2C é de 1 MHz e a capacidade máxima do SPI é de 20 MHz. A implementación de cada protocolo de comunicación require pull-ups como se describe na folla de datos VL53L8CX.
O dispositivo VL53L8CX ten un enderezo I2C predeterminado de 0x52. Non obstante, é posible cambiar o enderezo predeterminado para evitar conflitos con outros dispositivos ou para facilitar a adición de varios módulos VL53L8CX ao sistema para obter un maior FoV do sistema. O enderezo I2C pódese cambiar usando a función vl53l8cx_set_i2c_address(). Para usar o SPI, o multisensor conéctase mediante unha configuración escrava independente (o pin NCS).


Para permitir que un dispositivo cambie o seu enderezo I2C sen afectar a outros no bus I2C, é importante
desactivar a comunicación I2C dos dispositivos que non se están modificando. O procedemento é o seguinte:
- Encienda o sistema normalmente.
- Baixa o pin LPn do dispositivo que non terá o seu enderezo cambiado.
- Levante o pin LPn do dispositivo ao que se cambiou o enderezo I2C.
- Programe o enderezo I2C no dispositivo mediante a función set_i2c_address().
- Levante o pin LPn do dispositivo que non se está a reprogramar.
Agora todos os dispositivos deberían estar dispoñibles no bus I2C. Repita os pasos anteriores para todos os dispositivos do sistema que requiran un novo enderezo I2C.
Contido do paquete e fluxo de datos
3.1 Arquitectura e contido do controlador
O paquete VL53L8CX ULD está composto por catro cartafoles. O controlador está situado no cartafol /VL53L8CX_ULD_API.
O condutor está composto por obrigatorios e opcionales files. Opcional files son plugins usado para ampliar as funcións ULD.
Cada complemento comeza coa palabra "vl53l8cx_plugin" (por exemplo, vl53l8cx_plugin_xtalk.h). Se o usuario non quere a proposta plugins, pódense eliminar sen afectar as outras funcións do controlador. A seguinte figura representa o obrigatorio files e o opcional plugins.
Nota:
O usuario tamén necesita implementar dous fileestá situado no cartafol /Platform. A plataforma proposta é un shell baleiro e debe estar cuberto con funcións dedicadas.
Plataforma.h file contén macros obrigatorias para usar o ULD. Todos os file o contido é obrigatorio para utilizar correctamente o ULD.
3.2 Fluxo de calibración
A diafonía (Xtalk) defínese como a cantidade de sinal recibida na matriz SPAD, que se debe á reflexión da luz VCSEL dentro da xanela protectora (vidrio de cuberta) engadido na parte superior do módulo. O módulo VL53L8CX é autocalibrado e pódese usar sen ningunha calibración adicional.
Pode ser necesaria a calibración de Xtalk se o módulo está protexido por unha tapa de cristal. O VL53L8CX é inmune a Xtalk máis aló de 60 cm grazas a un algoritmo de histograma. Non obstante, a distancias curtas inferiores a 60 cm, Xtalk pode ser maior que o sinal devolto real. Isto dá unha lectura falsa do obxectivo ou fai que os obxectivos parezan máis próximos do que realmente están. Todas as funcións de calibración de Xtalk están incluídas nun complemento de Xtalk (opcional). O usuario debe usar o file 'vl53l8cx_plugin_xtalk'.
O Xtalk pódese calibrar unha vez e os datos pódense gardar para poder reutilizalos máis tarde. Requírese un branco a unha distancia fixa, cunha reflectancia coñecida. A distancia mínima necesaria é de 600 mm e o obxectivo debe cubrir todo o FoV. Dependendo da configuración, o usuario pode modificar a configuración para adaptar a calibración de Xtalk, como se propón na seguinte táboa.
Táboa 1. Configuracións dispoñibles para a calibración
| Configuración | Min | Proposta por STMicroelectronics |
Máx |
| Distancia [mm] | 600 | 600 | 3000 |
| Número de samples | 1 | 4 | 16 |
| Reflectancia [%] | 1 | 3 | 99 |
Nota:
Aumentando o número de samples aumenta a precisión, pero tamén aumenta o tempo de calibración. O tempo relativo ao número de samples é lineal e os valores seguen o tempo de espera aproximado:
- 1 sample ≈ 1 segundo
- 4 sampos ≈ 2.5 segundos
- 16 sampos ≈ 8.5 segundos
A calibración realízase mediante a función vl53l8cx_calibrate_xtalk(). Esta función pódese usar en calquera momento.
Non obstante, primeiro debe inicializarse o sensor. A seguinte figura representa o fluxo de calibración de xtalk.
Figura 7. Fluxo de calibración de Xtalk

3.3 Fluxo variable
A seguinte figura representa o caudal de rango utilizado para obter medicións. A calibración de Xtalk e as chamadas de funcións opcionais deben usarse antes de comezar a sesión de alcance. As funcións get/set non se poden usar durante unha sesión de alcance e non se admite a programación "on the fly".

Funcións dispoñibles
A API VL53L8CX ULD inclúe varias funcións, que permiten ao usuario sintonizar o sensor, dependendo do caso de uso. Todas as funcións dispoñibles para o condutor están descritas nas seguintes seccións.
4.1 Inicialización
A inicialización debe realizarse antes de usar o sensor VL53L8CX. Esta operación require que o usuario:
- Encienda o sensor (VDDIO, AVDD, CORE_1V8 e os pinos LPn configurados en Alto
- Chame á función vl53l8cx_init(). A función copia o firmware (~84 Kbytes) no módulo. Isto faise cargando o código a través da interface I2C/SPI e realizando unha rutina de inicio para completar a inicialización.
4.2 Xestión de reinicio do sensor
Para restablecer o dispositivo, hai que cambiar os seguintes pinos:
- Establece os pinos VDDIO, AVDD e CORE_1V8 en baixo.
- Agarda 10 ms.
- Establece os pinos VDDIO, AVDD e CORE_1V8 en alto.
Nota:
Cambiando só o pin I2C_RST restablece a comunicación I2C.
4.3 Resolución
A resolución correspóndese co número de zonas dispoñibles. O sensor VL53L8CX ten dúas resolucións posibles: 4×4 (16 zonas) e 8×8 (64 zonas). Por defecto, o sensor está programado en 4×4.
A función vl53l8cx_set_resolution() permite ao usuario cambiar a resolución. Como a frecuencia de alcance depende da resolución, esta función debe utilizarse antes de actualizar a frecuencia de alcance. Ademais, cambiar a resolución tamén aumenta o tamaño do tráfico no bus I2C/SPI cando se len os resultados.
4.4 Frecuencia de rango
Pódese usar o rango de frecuencia para cambiar a frecuencia de medición. Como a frecuencia máxima é diferente entre as resolucións de 4×4 e 8×8, esta función debe utilizarse despois de escoller unha resolución. Os valores mínimos e máximos permitidos están indicados na seguinte táboa.
Táboa 2. Frecuencias de alcance mínima e máxima
| Resolución | Frecuencia de alcance mínima [Hz] | Frecuencia de alcance máxima [Hz] |
| 4×4 | 1 | 60 |
| 8×8 | 1 | 15 |
A frecuencia de rango pódese actualizar usando a función vl53l8cx_set_ranging_frequency_hz(). De xeito predeterminado, a frecuencia de alcance está configurada en 1 Hz.
4.5 Modo de distancia
O modo de rango permite ao usuario escoller entre un alto rendemento ou un baixo consumo de enerxía.
Proponse dúas modalidades:
- Continuo: o dispositivo colle continuamente cadros cunha frecuencia de rango definida polo usuario. O VCSEL está activado durante todos os alcances, polo que a distancia máxima de alcance e a inmunidade ambiental son mellores. Este modo recoméndase para medicións rápidas ou altos rendementos.
- Autónomo: Este é o modo predeterminado. O dispositivo colle continuamente cadros cunha frecuencia de rango definida polo usuario. O VCSEL está habilitado durante un período definido polo usuario mediante a función vl53l8cx_set_integration_time_ms(). Como o VCSEL non sempre está activado, o consumo de enerxía redúcese. Os beneficios son máis obvios cunha frecuencia de alcance reducida. Este modo recoméndase para aplicacións de baixa potencia.
O modo de rango pódese cambiar usando a función vl53l8cx_set_ranging_mode().
4.6 Tempo de integración
O tempo de integración é unha función só dispoñible no modo de alcance autónomo (consulte a Sección 4.5 Modo de alcance).
Permite ao usuario cambiar a hora mentres VCSEL está activado. Cambiar o tempo de integración se o modo de rango está configurado como continuo non ten ningún efecto. O tempo de integración predeterminado está establecido en 5 ms.
O efecto do tempo de integración é diferente para as resolucións 4×4 e 8×8. A resolución 4×4 está composta por un tempo de integración e a resolución 8×8 componse de catro tempos de integración. As seguintes cifras representan a emisión VCSEL para ambas resolucións.

A suma de todos os tempos de integración + 1 ms de sobrecarga debe ser inferior ao período de medición. En caso contrario, o período de intervalo aumenta automaticamente.
4.7 Modos de enerxía
Os modos de enerxía pódense utilizar para reducir o consumo de enerxía cando non se utiliza o dispositivo. O VL53L8CX pode funcionar nun dos seguintes modos de alimentación:
- Activación: o dispositivo está configurado en modo HP inactivo (alta potencia), agardando instrucións.
- Suspensión: o dispositivo está configurado en LP inactivo (baixa potencia), o estado de baixa potencia. Non se pode usar o dispositivo ata que se estableza no modo de activación. Este modo conserva o firmware e a configuración.
O modo de enerxía pódese cambiar usando a función vl53l8cx_set_power_mode(). O modo predeterminado é despertar.
Nota:
Se o usuario quere cambiar o modo de enerxía, o dispositivo non debe estar nun estado de alcance.
4.8 Afiador
O sinal devolto dun obxectivo non é un pulso limpo con bordos afiados. Os bordos están inclinados e poden afectar as distancias indicadas nas zonas adxacentes. O afiador utilízase para eliminar parte ou a totalidade do sinal causado polo brillo do velo.
O exampO que se mostra na seguinte figura representa un obxectivo próximo a 100 mm centrado no FoV, e outro obxectivo, máis atrás a 500 mm. Segundo o valor do afiador, o obxectivo próximo pode aparecer en máis zonas que a real.
Figura 11. Example de escena usando varios valores de afiador

O afiador pódese cambiar usando a función vl53l8cx_set_sharpener_percent(). Os valores permitidos están entre o 0 % e o 99 %. O valor predeterminado é 5 %.
4.9 Orde de destino
O VL53L8CX pode medir varios obxectivos por zona. Grazas ao procesamento do histograma, o anfitrión pode escoller a orde dos obxectivos informados. Hai dúas opcións:
- Máis próximo: o obxectivo máis próximo é o primeiro informado
- Máis forte: o obxectivo máis forte é o primeiro informado
A orde de destino pódese cambiar usando a función vl53l8cx_set_target_order(). A orde predeterminada é Strongest.
O example na seguinte figura representa a detección de dous obxectivos. Unha a 100 mm cunha reflectancia baixa e outra a 700 mm cunha reflectancia alta.

4.10 Múltiples obxectivos por zona
O VL53L8CX pode medir ata catro obxectivos por zona. O usuario pode configurar o número de obxectivos devoltos polo sensor.
Nota:
A distancia mínima entre dous obxectivos a detectar é de 600 mm.
A selección non é posible desde o condutor; ten que facerse na 'plataforma.h' file. A macro
VL53L8CX_NB_ TARGET_PER_ZONE debe establecerse cun valor entre 1 e 4. A orde de destino descrita na Sección 4.9 A orde de destino afecta directamente a orde de obxectivo detectado. Por defecto, o sensor só emite un máximo dun obxectivo por zona.
Nota:
Un maior número de obxectivos por zona aumenta o tamaño de RAM necesario.
4.11 Marxe Xtalk
A marxe de Xtalk é unha función adicional só dispoñible mediante o complemento Xtalk. O .c e .f fileÉ necesario usar 'vl53l8cx_plugin_xtalk'.
A marxe úsase para cambiar o limiar de detección cando hai un cristal de cobertura na parte superior do sensor. O limiar pódese aumentar para garantir que nunca se detecte a cuberta, despois de configurar os datos de calibración de Xtalk.
Por example, o usuario pode executar unha calibración Xtalk nun único dispositivo e reutilizar os mesmos datos de calibración para todos os demais dispositivos. A marxe de Xtalk pódese usar para axustar a corrección de Xtalk. A figura seguinte representa a marxe de Xtalk.
Figura 13. Marxe Xtalk

4.12 Limiares de detección
Ademais das capacidades de alcance regular, o sensor pódese programar para detectar un obxecto baixo determinados criterios predefinidos. Esta función está dispoñible mediante o complemento "limiares de detección", que é unha opción non incluída de forma predeterminada na API. O files chamados "vl53l8cx_plugin_detection_thresholds" deben usarse.
A función pódese usar para activar unha interrupción no pin A1 (INT) cando se cumpren as condicións definidas polo usuario. Hai tres configuracións posibles:
- Resolución 4×4: usando 1 limiar por zona (total de 16 limiares)
- Resolución 4×4: usando 2 limiares por zona (total de 32 limiares)
- Resolución 8×8: usando 1 limiar por zona (total de 64 limiares)
Sexa cal sexa a configuración utilizada, o procedemento para crear limiares e o tamaño da RAM son os mesmos. Para cada combinación de limiar, hai que cubrir varios campos: - ID de zona: ID da zona seleccionada (consulte a Sección 2.2 Orientación efectiva)
- Medición: medición a capturar (distancia, sinal, número de SPAD, ...)
- Tipo: fiestras de medidas (en fiestras, fóra das fiestras, por baixo do limiar baixo,...)
- Limiar baixo: usuario de limiar baixo para o disparador. O usuario non precisa establecer o formato, é xestionado automaticamente pola API.
- Limiar alto: usuario de limiar alto para o disparador. O usuario non precisa establecer o formato, é xestionado automaticamente pola API.
- Operación matemática: só se usa para combinacións de 4×4 – 2 limiares por zona. O usuario pode establecer unha combinación usando varios limiares nunha zona.
4.13 Interrupción da parada automática
A función de parada automática de interrupción úsase para abortar a sesión de medición durante unha medición. De forma predeterminada, o sensor non se pode deter durante unha medición, porque as medicións do cadro deben completarse. Non obstante, ao usar a parada automática, as medicións de fotogramas abortan cando se activa unha interrupción.
A función de parada automática é útil cando se combina cun limiar de detección. Cando se detecta un obxectivo, a medición actual aborta automaticamente. A parada automática pódese utilizar nunha máquina de estado do cliente para cambiar rapidamente a outra configuración de sensor.
Pódese activar unha función de parada automática de interrupción mediante a función vl53l8cx_set_detection_threshold_auto_stop().
Despois de abortar unha medición, recoméndase deter o sensor mediante a función vl53l8cx_stop_ranging().
4.14 Indicador de movemento
O sensor VL53L8CX ten unha función de firmware integrada que permite a detección de movemento nunha escena. O indicador de movemento calcúlase entre cadros secuenciais. Esta opción está dispoñible mediante o complemento "vl53l8cx_plugin_motion_indicator".
O indicador de movemento inicialízase mediante a función vl53l8cx_motion_indicator_init(). Se o usuario quere cambiar a resolución do sensor, debe actualizar a resolución do indicador de movemento mediante a función dedicada: vl53l8cx_motion_indicator_set_resolution().
O usuario tamén pode cambiar as distancias mínima e máxima para detectar movemento. A diferenza entre as distancias mínima e máxima non pode ser superior a 1500 mm. Por defecto, as distancias inícianse con valores entre 400 mm e 1500 mm.
Os resultados gárdanse no campo "indicador de movemento". Neste campo, a matriz "motion" dá un valor que contén a intensidade de movemento por zona. Un valor alto indica unha gran variación de movemento entre os fotogramas. Un movemento típico dá un valor entre 100 e 500. Esta sensibilidade depende do tempo de integración, a distancia do obxectivo e a reflectancia do obxectivo.
Unha combinación ideal para aplicacións de baixa potencia é o uso do indicador de movemento con modo de alcance autónomo e limiares de detección programados no movemento. Isto permite detectar variacións de movemento no FoV cun consumo de enerxía mínimo.
4.15 Pin de sincronización externo
Pódese usar unha fonte de disparo externa para sincronizar as adquisicións. Cando a sincronización externa está activada, o VL53L8CX agarda unha interrupción no pin SYNC para iniciar a seguinte adquisición. Para usar esta función, o pin SYNC (B1) debe conectarse como se describe na folla de datos do produto.
Non hai requisitos específicos para usar a sincronización externa. Non obstante, a frecuencia de alcance do VL53L8CX debe ser superior á frecuencia do sinal externo.
A sincronización externa pódese activar ou desactivar mediante a función vl53l8cx_set_external_sync_pin_enable(). O rango pode iniciarse como de costume usando a función vl53l8cx_start_ranging(). Cando un usuario quere deter o sensor, recoméndase alternar o pin SYNC para reactivar o firmware VL53L8CX.
A continuación móstrase un fluxo tópico para usar o pin de sincronización externo na Sección 4.15.
Figura 14. Fluxo de sincronización externo

Variando resultados
5.1 Datos dispoñibles
Durante as actividades de alcance, pode saír unha lista extensa de datos de destino e ambiente. A seguinte táboa describe os parámetros dispoñibles para o usuario.
Táboa 3. Saída dispoñible mediante o sensor VL53L8CX
|
Elemento |
Nb bytes (RAM) | Unidade |
Descrición |
| Ambiente por SPAD | 256 | Kcps/SPAD | Medición da taxa ambiental realizada na matriz SPAD, sen emisión de fotóns activos, para medir a taxa de sinal ambiental debido ao ruído. |
| Número de obxectivos detectados |
64 |
Ningún | Número de obxectivos detectados na zona actual. Este valor debe ser o primeiro en comprobar para coñecer a validez dunha medida. |
| Número de SPAD activados | 256 | Ningún | Número de SPAD habilitados para a medición actual. Un obxectivo reflexivo afastado ou baixo activará máis SPAD. |
|
Sinal por SPAD |
256 x nb obxectivos programados |
Kcps/SPAD |
Cantidade de fotóns medida durante o VCSEL
pulso. |
|
Rango sigma |
128 x nb obxectivos programados |
Milímetro |
Estimador Sigma para o ruído na distancia obxectivo indicada. |
|
Distancia |
128 x nb obxectivos programados | Milímetro | Distancia obxectivo |
| Estado de destino | 64 x nb obxectivos programados | Ningún | Validez das medidas. Consulte a Sección 5.5 Interpretación dos resultados para obter máis información. |
| Reflectancia | 64 x número de obxectivos programados | Por cento | Reflexión obxectivo estimada en porcentaxe |
| Indicador de movemento | 140 | Ningún | Estrutura que contén os resultados do indicador de movemento. O campo "movemento" contén a intensidade do movemento. |
Nota:
Para varios elementos (sinal por spad, sigma,...) o acceso aos datos é diferente se o usuario programou máis de 1 obxectivo por zona (consulte a Sección 4.10 Múltiples obxectivos por zona). Ver exampcódigos le para máis información.
5.2 Personalizar a selección de saída
Por defecto, todas as saídas do VL53L8CX están habilitadas. Se é necesario, o usuario pode desactivar algunha saída do sensor.
A desactivación das medicións non está dispoñible no controlador; debe realizarse na 'plataforma.h' file. O usuario pode declarar as seguintes macros para desactivar as saídas:
#define VL53L8CX _DISABLE_AMBIENT_PER_SPAD
#definir VL53L8CX _DISABLE_NB_SPADS_ENABLED
#definir VL53L8CX _DISABLE_NB_TARGET_DETECTED
#definir VL53L8CX _DISABLE_SIGNAL_PER_SPAD
#definir VL53L8CX _DISABLE_RANGE_SIGMA_MM
#definir VL53L8CX _DISABLE_DISTANCE_MM
#definir VL53L8CX _DISABLE_TARGET_STATUS
#definir VL53L8CX _DISABLE_REFLECTANCE_PERCENT
#definir VL53L8CX _DISABLE_MOTION_INDICATOR
En consecuencia, os campos non se declaran na estrutura de resultados e os datos non se transfiren ao servidor.
O tamaño da RAM e o tamaño I2C/SPI redúcense.
Para garantir a coherencia dos datos, ST recomenda manter sempre activados o "número de obxectivos detectados" e o "estado do obxectivo". Permite filtrar as medicións dependendo do estado do obxectivo (consulte a Sección 5.5 Interpretación dos resultados).
5.3 Obter resultados variados
Durante a sesión de rango, hai dúas formas de saber se hai novos datos de rango dispoñibles:
- Modo de sondeo: usa continuamente a función vl53l8cx_check_data_ready(). Detecta un novo reconto de fluxos devolto polo sensor.
- Modo de interrupción: agarda a que se produza unha interrupción no pin A1 (INT). A interrupción borrarase automaticamente despois de ~100 μs.
Cando os novos datos estean listos, os resultados pódense ler usando a función vl53l8cx_get_ranging_data(). Devolve unha estrutura actualizada que contén toda a saída seleccionada. Como o dispositivo é asíncrono, non hai interrupcións que borrar para continuar coa sesión de alcance.
Esta función está dispoñible para os modos de alcance continuo e autónomo.
5.4 Usando o formato de firmware en bruto
Despois de transferir datos de rango a través de I2C/SPI, hai unha conversión entre o formato de firmware e o formato de host. Esta operación adoita realizarse para ter unha distancia en milímetros como saída predeterminada do sensor. Se o usuario quere utilizar o formato de firmware, debe definirse a seguinte macro na plataforma file:
VL53L8CX#definir VL53L8CX _USE_RAW_FORMAT
5.5 Interpretación dos resultados
Os datos devoltos polo VL53L8CX pódense filtrar para ter en conta o estado de destino. O estado indica a validez da medición. A lista de estados completa descríbese na seguinte táboa.
Táboa 4. Lista de estados de destino dispoñibles
| Estado de destino | Descrición |
| 0 | Os datos de rango non se actualizan |
| 1 | A taxa de sinal é demasiado baixa na matriz SPAD |
| 2 | Fase obxectivo |
| 3 | Estimador Sigma demasiado alto |
| 4 | Fallou a coherencia do obxectivo |
| 5 | Rango válido |
| 6 | Non se realizou o envolvemento (normalmente o primeiro intervalo) |
| 7 | Fallou a coherencia da taxa |
| 8 | A taxa de sinal é demasiado baixa para o obxectivo actual |
| 9 | Rango válido con pulso grande (pode deberse a un obxectivo combinado) |
| 10 | Rango válido, pero non se detectou ningún obxectivo no rango anterior |
| 11 | Fallou a coherencia da medición |
| 12 | Obxectivo borroso por outro, debido ao afiador |
| 13 | Obxectivo detectado pero datos inconsistentes. Ocorre frecuentemente para obxectivos secundarios. |
| 255 | Non se detectou ningún obxectivo (só se o número de obxectivos detectados está activado) |
Para ter datos coherentes, o usuario debe filtrar o estado de destino non válido. Para dar unha puntuación de confianza, un obxectivo con estado 5 considérase 100 % válido. Pódese considerar un estado 6 ou 9 cun valor de confianza do 50 %. Todos os demais estados están por debaixo do 50 % do nivel de confianza.
5.6 Erros do controlador
Cando se produce un erro ao usar o sensor VL53L8CX, o controlador devolve un erro específico. A seguinte táboa enumera os posibles erros.
Táboa 5. Lista de erros dispoñibles usando o controlador
| Estado de destino | Descrición |
| 0 | Sen erro |
| 127 | O usuario programou unha configuración incorrecta (resolución descoñecida, frecuencia de rango demasiado alta, ...) |
| 255 | Erro maior. Normalmente un erro de tempo de espera debido a un erro I2C/SPI. |
| outro | Combinación de varios erros descritos anteriormente |
Nota:
O host pode implementar máis códigos de erro mediante a plataforma files.
Táboa 6. Historial de revisións de documentos
| Data | Versión | Cambios |
| 13-Xaneiro-23 | 1 | Lanzamento inicial |
AVISO IMPORTANTE - LEA ATENTAMENTE
STMicroelectronics NV e as súas subsidiarias (“ST”) resérvanse o dereito de realizar cambios, correccións, melloras, modificacións e melloras nos produtos ST e/ou neste documento en calquera momento sen previo aviso. Os compradores deben obter a información relevante máis recente sobre os produtos ST antes de facer pedidos. Os produtos ST véndense de acordo cos termos e condicións de venda de ST existentes no momento do recoñecemento da orde.
Os compradores son os únicos responsables da elección, selección e uso dos produtos ST e ST non asume ningunha responsabilidade pola asistencia á aplicación ou o deseño dos produtos dos compradores.
ST non concede ningunha licenza, expresa ou implícita, a ningún dereito de propiedade intelectual.
A revenda de produtos ST con disposicións diferentes da información aquí establecida anulará calquera garantía concedida por ST para tal produto.
ST e o logotipo de ST son marcas comerciais de ST. Para obter información adicional sobre as marcas rexistradas ST, consulte www.st.com/trademarks. Todos os demais nomes de produtos ou servizos son propiedade dos seus respectivos propietarios.
A información deste documento substitúe e substitúe a información proporcionada anteriormente en calquera versión anterior deste documento.
© 2023 STMicroelectronics – Todos os dereitos reservados
Documentos/Recursos
![]() |
Módulo de sensor ST VL53L8CX [pdfManual do usuario Módulo de sensor UM3109, VL53L8CX, VL53L8CX, módulo de sensor, módulo |




