ST - logotipMòdul sensor VL53L8CX
Manual d'usuari

Introducció

L'objectiu d'aquest manual d'usuari és explicar com manejar el sensor de temps de vol (ToF) VL53L8X mitjançant l'API del controlador ultra lleuger (ULD). Descriu les funcions principals per programar el dispositiu, els calibratges i els resultats de sortida.
Basat en la tecnologia FlightSense de ST, el VL53L8CX incorpora una lent metasuperficial (DOE) eficient col·locada a l'emissor làser que permet la projecció d'un FoV quadrat de 45 ° x 45 ° a l'escena.
La seva capacitat multizona proporciona una matriu de 8×8 zones (64 zones) i pot treballar a velocitats ràpides (60 Hz) fins a 400 cm.
Gràcies al mode autònom amb llindar de distància programable, el VL53L8CX és perfecte per a qualsevol aplicació que requereixi detecció d'usuaris de baix consum. Els algorismes patentats de ST i la construcció innovadora de mòduls permeten que el VL53L8CX detecti, a cada zona, múltiples objectes dins del FoV amb una comprensió de profunditat. Els algorismes d'histograma ST asseguren la immunitat de la diafonia del vidre de coberta més enllà dels 60 cm.
Com tots els sensors de temps de vol (ToF) basats en la tecnologia FlightSense de ST, el VL53L8CX registra, a cada zona, una distància absoluta independentment del color i la reflectància objectiu.
El VL53L8CX, allotjat en un paquet refluixable en miniatura que integra una matriu SPAD, aconsegueix el millor rendiment en diverses condicions d'il·luminació ambiental i per a una àmplia gamma de materials de vidre de coberta.
Tots els sensors ToF de ST integren un VCSEL que emet una llum IR de 940 nm totalment invisible, que és totalment segura per als ulls (certificació de classe 1).

Mòdul de sensor ST VL53L8CX - Figura 1

Acrònims i abreviatures

Acrònim/abreviatura Definició
DOE element òptic difractiu
FoV camp de view
I2C circuit interintegrat (bus sèrie)
Kcps/SPAD Recompte de quilos per segon per spad (unitat utilitzada per quantificar el
nombre de fotons a la matriu SPAD)
RAM memòria d'accés aleatori
SCL línia de rellotge en sèrie
SDA dades en sèrie
SPAD díode d'allau d'un sol fotó
ToF Temps de vol
ULD controlador ultra lleuger
VCSEL Díode emissor de superfície de cavitat vertical
Xtalk diafonia

Descripció funcional

2.1 Sistema acabatview
El sistema VL53L8CX es compon d'un mòdul de maquinari i el programari de controlador ultra lleuger (VL53L8CX ULD) que s'executa en un host (vegeu la figura següent). El mòdul de maquinari conté el sensor ToF. STMicroelectronics ofereix el controlador de programari, que en aquest document es coneix com "el controlador". Aquest document descriu les funcions del controlador, que són accessibles per a l'amfitrió. Aquestes funcions controlen el sensor i obtenen les dades d'abast.

Mòdul de sensor ST VL53L8CX - Figura 2

2.2 Orientació efectiva
El mòdul inclou una lent sobre l'obertura RX, que gira (horitzontalment i verticalment) la imatge capturada de l'objectiu. En conseqüència, la zona identificada com a zona 0, a la part inferior esquerra de la matriu SPAD, està il·luminada per un objectiu situat a la part superior dreta de l'escena.

Mòdul de sensor ST VL53L8CX - Figura 3

2.3 Esquemes i configuració I2C/SPI
La comunicació entre el controlador i el microprogramari la gestiona l'I2C o SPI. La capacitat màxima de l'I2C és d'1 MHz i la capacitat màxima de l'SPI és de 20 MHz. La implementació de cada protocol de comunicació requereix pull-ups tal com es descriu a la fitxa de dades VL53L8CX.
El dispositiu VL53L8CX té una adreça I2C predeterminada de 0x52. Tanmateix, és possible canviar l'adreça per defecte per evitar conflictes amb altres dispositius, o per facilitar l'addició de diversos mòduls VL53L8CX al sistema per a un FoV del sistema més gran. L'adreça I2C es pot canviar mitjançant la funció vl53l8cx_set_i2c_address(). Per utilitzar l'SPI, el multisensor es connecta mitjançant una configuració esclau independent (el pin NCS).

Mòdul de sensor ST VL53L8CX - Figura 4Mòdul de sensor ST VL53L8CX - Figura 5

Per permetre que un dispositiu canviï la seva adreça I2C sense afectar els altres al bus I2C, és important
desactiveu la comunicació I2C dels dispositius que no es modifiquen. El procediment és el següent:

  1. Engegueu el sistema amb normalitat.
  2. Tireu cap avall el pin LPn del dispositiu que no tindrà la seva adreça canviada.
  3. Aixequeu el pin LPn del dispositiu que té l'adreça I2C canviada.
  4. Programeu l'adreça I2C al dispositiu mitjançant la funció set_i2c_address().
  5. Estireu cap amunt el pin LPn del dispositiu que no s'està reprogramant.
    Ara tots els dispositius haurien d'estar disponibles al bus I2C. Repetiu els passos anteriors per a tots els dispositius del sistema que requereixen una nova adreça I2C.

Contingut del paquet i flux de dades

3.1 Arquitectura i contingut del controlador
El paquet VL53L8CX ULD es compon de quatre carpetes. El controlador es troba a la carpeta /VL53L8CX_ULD_API.
El conductor està compost per obligatori i opcional files. Opcional files són plugins s'utilitza per ampliar les funcions d'ULD.
Cada connector comença amb la paraula "vl53l8cx_plugin" (per exemple, vl53l8cx_plugin_xtalk.h). Si l'usuari no vol la proposta plugins, es poden eliminar sense afectar les altres funcions del controlador. La figura següent representa l'obligatori files i l'opcional plugins.Mòdul de sensor ST VL53L8CX - Figura 6

Nota:
L'usuari també ha d'implementar dos filees troba a la carpeta /Platform. La plataforma proposada és un shell buit i s'ha d'omplir amb funcions dedicades.
Plataforma.h file conté macros obligatòries per utilitzar l'ULD. Tot el file El contingut és obligatori per utilitzar correctament l'ULD.

3.2 Flux de calibratge
La diafonia (Xtalk) es defineix com la quantitat de senyal rebuda a la matriu SPAD, que es deu al reflex de la llum VCSEL dins de la finestra protectora (vidre de coberta) afegit a la part superior del mòdul. El mòdul VL53L8CX està autocalibrat i es pot utilitzar sense cap calibratge addicional.
Pot ser que sigui necessari el calibratge Xtalk si el mòdul està protegit per un vidre de coberta. El VL53L8CX és immune a Xtalk més enllà dels 60 cm gràcies a un algorisme d'histograma. Tanmateix, a distàncies curtes per sota dels 60 cm, Xtalk pot ser més gran que el senyal retornat real. Això dóna una lectura falsa de l'objectiu o fa que els objectius semblin més a prop del que realment són. Totes les funcions de calibratge Xtalk s'inclouen en un connector Xtalk (opcional). L'usuari ha d'utilitzar file 'vl53l8cx_plugin_xtalk'.
L'Xtalk es pot calibrar una vegada i les dades es poden desar perquè es pugui reutilitzar més tard. Es requereix un objectiu a una distància fixa, amb una reflectància coneguda. La distància mínima requerida és de 600 mm i l'objectiu ha de cobrir tot el FoV. En funció de la configuració, l'usuari pot modificar la configuració per tal d'adaptar el calibratge de Xtalk, tal com es proposa a la taula següent.

Taula 1. Configuracions disponibles per al calibratge

Configuració Min Proposat per
STMicroelectronics
Màx
Distància [mm] 600 600 3000
Nombre de samples 1 4 16
Reflectància [%] 1 3 99

Nota:
Augmentant el nombre de samples augmenta la precisió, però també augmenta el temps de calibració. El temps relatiu al nombre de samples és lineal i els valors segueixen el temps d'espera aproximat:

  • 1 sample ≈ 1 segon
  • 4 samples ≈ 2.5 segons
  • 16 samples ≈ 8.5 segons
    El calibratge es realitza mitjançant la funció vl53l8cx_calibrate_xtalk(). Aquesta funció es pot utilitzar en qualsevol moment.
    Tanmateix, primer s'ha d'inicialitzar el sensor. La figura següent representa el flux de calibratge de xtalk.

Figura 7. Flux de calibratge Xtalk

Mòdul de sensor ST VL53L8CX - Figura 7

3.3 Flux d'abast
La figura següent representa el flux d'abast utilitzat per obtenir mesures. Cal fer servir el calibratge Xtalk i les trucades de funció opcionals abans d'iniciar la sessió de rang. Les funcions d'obtenció/configuració no es poden utilitzar durant una sessió d'abast, i la programació "sobre la marxa" no és compatible.

Mòdul de sensor ST VL53L8CX - Figura 8

Funcions disponibles

L'API VL53L8CX ULD inclou diverses funcions, que permeten a l'usuari ajustar el sensor, depenent del cas d'ús. Totes les funcions disponibles per al conductor estan descrites a les seccions següents.
4.1 Inicialització
La inicialització s'ha de fer abans d'utilitzar el sensor VL53L8CX. Aquesta operació requereix que l'usuari:

  1. Enceneu el sensor (VDDIO, AVDD, CORE_1V8 i pins LPn configurats a Alt
  2. Truqueu a la funció vl53l8cx_init(). La funció copia el firmware (~84 Kbytes) al mòdul. Això es fa carregant el codi a la interfície I2C/SPI i realitzant una rutina d'arrencada per completar la inicialització.

4.2 Gestió del restabliment del sensor
Per restablir el dispositiu, cal canviar els pins següents:

  1. Estableix els pins VDDIO, AVDD i CORE_1V8 a baix.
  2. Espereu 10 ms.
  3. Estableix els pins VDDIO, AVDD i CORE_1V8 a alt.

Nota:
Commutant només el pin I2C_RST restableix la comunicació I2C.
4.3 Resolució
La resolució correspon al nombre de zones disponibles. El sensor VL53L8CX té dues resolucions possibles: 4×4 (16 zones) i 8×8 (64 zones). Per defecte, el sensor està programat en 4×4.
La funció vl53l8cx_set_resolution() permet a l'usuari canviar la resolució. Com que la freqüència d'abast depèn de la resolució, aquesta funció s'ha d'utilitzar abans d'actualitzar-la. A més, canviar la resolució també augmenta la mida del trànsit al bus I2C/SPI quan es llegeixen els resultats.
4.4 Freqüència d'abast
La freqüència de mesura es pot utilitzar per canviar la freqüència de mesura. Com que la freqüència màxima és diferent entre resolucions de 4×4 i 8×8, aquesta funció s'ha d'utilitzar després de triar una resolució. Els valors mínims i màxims permesos es mostren a la taula següent.

Taula 2. Freqüències d'abast mínim i màxim

Resolució Freqüència d'abast mínima [Hz] Freqüència d'abast màxim [Hz]
4×4 1 60
8×8 1 15

La freqüència d'abast es pot actualitzar mitjançant la funció vl53l8cx_set_ranging_frequency_hz(). Per defecte, la freqüència d'abast s'estableix en 1 Hz.

4.5 Mode d'abast
El mode d'abast permet a l'usuari triar entre un alt rendiment o un baix consum d'energia.
Es proposen dues modalitats:

  • Continu: el dispositiu agafa contínuament fotogrames amb una freqüència d'abast definida per l'usuari. El VCSEL està habilitat durant tots els rangs, de manera que la distància màxima i la immunitat ambiental són millors. Aquest mode s'aconsella per a mesures d'abast ràpid o rendiments elevats.
  • Autònom: Aquest és el mode predeterminat. El dispositiu agafa contínuament fotogrames amb una freqüència d'abast definida per l'usuari. El VCSEL s'habilita durant un període definit per l'usuari, mitjançant la funció vl53l8cx_set_integration_time_ms(). Com que el VCSEL no sempre està habilitat, el consum d'energia es redueix. Els beneficis són més evidents amb una freqüència d'abast reduïda. Aquest mode es recomana per a aplicacions de baixa potència.
    El mode d'abast es pot canviar mitjançant la funció vl53l8cx_set_ranging_mode().

4.6 Temps d'integració
El temps d'integració és una característica que només està disponible mitjançant el mode d'abast autònom (consulteu la secció 4.5 Mode d'abast).
Permet a l'usuari canviar l'hora mentre VCSEL està habilitat. Canviar el temps d'integració si el mode d'abast està definit com a continu no té cap efecte. El temps d'integració predeterminat s'estableix en 5 ms.
L'efecte del temps d'integració és diferent per a les resolucions 4×4 i 8×8. La resolució 4×4 es compon d'un temps d'integració i la resolució 8×8 es compon de quatre temps d'integració. Les xifres següents representen l'emissió de VCSEL per a ambdues resolucions.

Mòdul de sensor ST VL53L8CX - Figura 9

La suma de tots els temps d'integració + 1 ms de sobrecàrrega ha de ser inferior al període de mesura. En cas contrari, el període d'abast s'incrementa automàticament.

4.7 modes d'alimentació
Els modes d'alimentació es poden utilitzar per reduir el consum d'energia quan no s'utilitza el dispositiu. El VL53L8CX pot funcionar en un dels modes d'alimentació següents:

  • Despertar: el dispositiu està configurat en HP inactiu (potència alta), esperant instruccions.
  • Repòs: el dispositiu està configurat en LP inactiu (baixa potència), l'estat de baixa potència. El dispositiu no es pot utilitzar fins que estigui en mode de despertador. Aquest mode conserva el firmware i la configuració.
    El mode d'alimentació es pot canviar mitjançant la funció vl53l8cx_set_power_mode(). El mode predeterminat és despertar.
    Nota:
    Si l'usuari vol canviar el mode d'alimentació, el dispositiu no ha d'estar en un estat d'abast.

4.8 Afilador
El senyal retornat d'un objectiu no és un pols net amb vores afilades. Les vores s'allunyen i poden afectar les distàncies informades a les zones adjacents. L'esmoladora s'utilitza per eliminar part o la totalitat del senyal causat per l'enlluernament del vel.
L'exampel que es mostra a la figura següent representa un objectiu proper a 100 mm centrat en el FoV, i un altre objectiu, més enrere a 500 mm. Depenent del valor de l'afilador, l'objectiu tancat pot aparèixer en més zones que la real.

Figura 11. Exampl'escena utilitzant diversos valors d'afilador

Mòdul de sensor ST VL53L8CX - Figura 10

L'afilador es pot canviar mitjançant la funció vl53l8cx_set_sharpener_percent(). Els valors permesos estan entre el 0 % i el 99 %. El valor predeterminat és del 5 %.

4.9 Ordre objectiu
El VL53L8CX pot mesurar diversos objectius per zona. Gràcies al processament de l'histograma, l'amfitrió pot triar l'ordre dels objectius reportats. Hi ha dues opcions:

  • Més proper: l'objectiu més proper és el primer informat
  • El més fort: l'objectiu més fort és el primer que s'informa
    L'ordre de destinació es pot canviar mitjançant la funció vl53l8cx_set_target_order(). L'ordre predeterminat és el més fort.
    L'example a la figura següent representa la detecció de dos objectius. Un a 100 mm amb una reflectància baixa, i un a 700 mm amb una reflectància alta.

Mòdul de sensor ST VL53L8CX - Figura 11

4.10 Múltiples objectius per zona
El VL53L8CX pot mesurar fins a quatre objectius per zona. L'usuari pot configurar el nombre d'objectius que retorna el sensor.
Nota:
La distància mínima entre dos objectius a detectar és de 600 mm.
La selecció no és possible des del conductor; s'ha de fer a la 'plataforma.h' file. La macro
VL53L8CX_NB_ TARGET_PER_ZONE s'ha d'establir en un valor entre 1 i 4. L'ordre objectiu descrit a la secció 4.9 L'ordre objectiu afecta directament l'ordre de l'objectiu detectat. Per defecte, el sensor només emet un màxim d'un objectiu per zona.
Nota:
Un major nombre d'objectius per zona augmenta la mida de RAM necessària.
4.11 Marge Xtalk
El marge Xtalk és una característica addicional que només està disponible mitjançant el connector Xtalk. El .c i .f files'ha d'utilitzar 'vl53l8cx_plugin_xtalk'.
El marge s'utilitza per canviar el llindar de detecció quan hi ha un vidre de coberta a la part superior del sensor. El llindar es pot augmentar per garantir que mai es detecti la coberta de vidre, després d'establir les dades de calibratge de Xtalk.
Per exampl'usuari pot executar una calibració Xtalk en un sol dispositiu i reutilitzar les mateixes dades de calibratge per a tots els altres dispositius. El marge Xtalk es pot utilitzar per ajustar la correcció Xtalk. La figura següent representa el marge Xtalk.

Figura 13. Marge Xtalk

Mòdul de sensor ST VL53L8CX - Figura 12

4.12 Llindars de detecció
A més de les capacitats d'abast habituals, el sensor es pot programar per detectar un objecte sota determinats criteris predefinits. Aquesta funció està disponible mitjançant el connector "llindars de detecció", que és una opció no inclosa per defecte a l'API. El fileS'han d'utilitzar els anomenats 'vl53l8cx_plugin_detection_thresholds'.
La funció es pot utilitzar per activar una interrupció al pin A1 (INT) quan es compleixen les condicions definides per l'usuari. Hi ha tres configuracions possibles:

  • Resolució 4×4: utilitzant 1 llindar per zona (un total de 16 llindars)
  • Resolució 4×4: utilitzant 2 llindars per zona (total de 32 llindars)
  • Resolució 8×8: utilitzant 1 llindar per zona (un total de 64 llindars)
    Sigui quina sigui la configuració utilitzada, el procediment per crear els llindars i la mida de la memòria RAM són els mateixos. Per a cada combinació de llindars, s'han d'omplir diversos camps:
  • Identificació de la zona: identificació de la zona seleccionada (consulteu la secció 2.2 Orientació efectiva)
  • Mesurament: mesura a capturar (distància, senyal, nombre de SPAD, ...)
  • Tipus: finestres de mesures (a les finestres, fora de les finestres, per sota del llindar baix, …)
  • Llindar baix: usuari de llindar baix per a l'activador. L'usuari no necessita establir el format, l'API el gestiona automàticament.
  • Llindar alt: usuari de llindar alt per al disparador. L'usuari no necessita establir el format, és gestionat automàticament per l'API.
  • Operació matemàtica: només s'utilitza per a combinacions de 4×4 – 2 llindars per zona. L'usuari pot establir una combinació utilitzant diversos llindars en una zona.

4.13 Interromp l'aturada automàtica
La funció d'interrupció d'aturada automàtica s'utilitza per avortar la sessió de mesura durant una mesura. De manera predeterminada, el sensor no es pot aturar durant una mesura, perquè s'han de completar les mesures del marc. No obstant això, mitjançant l'ús de l'aturada automàtica, les mesures de trama s'avorten quan s'activa una interrupció.
La funció d'aturada automàtica és útil quan es combina amb un llindar de detecció. Quan es detecta un objectiu, la mesura actual s'avorta automàticament. La parada automàtica es pot utilitzar en una màquina d'estat del client per canviar ràpidament a una altra configuració de sensor.
Es pot habilitar una funció d'aturada automàtica mitjançant la funció vl53l8cx_set_detection_threshold_auto_stop().
Després d'avortar una mesura, es recomana aturar el sensor mitjançant la funció vl53l8cx_stop_ranging().
4.14 Indicador de moviment
El sensor VL53L8CX té una funció de firmware incrustada que permet la detecció de moviment en una escena. L'indicador de moviment es calcula entre fotogrames seqüencials. Aquesta opció està disponible mitjançant el connector 'vl53l8cx_plugin_motion_indicator'.
L'indicador de moviment s'inicia mitjançant la funció vl53l8cx_motion_indicator_init(). Si l'usuari vol canviar la resolució del sensor, ha d'actualitzar la resolució de l'indicador de moviment mitjançant la funció dedicada: vl53l8cx_motion_indicator_set_resolution().
L'usuari també pot canviar les distàncies mínimes i màximes per detectar moviment. La diferència entre les distàncies mínimes i màximes no pot ser superior a 1500 mm. Per defecte, les distàncies s'inicien amb valors entre 400 mm i 1500 mm.
Els resultats s'emmagatzemen al camp "indicador de moviment". En aquest camp, la matriu "moviment" dóna un valor que conté la intensitat del moviment per zona. Un valor alt indica una gran variació de moviment entre fotogrames. Un moviment típic dóna un valor entre 100 i 500. Aquesta sensibilitat depèn del temps d'integració, la distància de l'objectiu i la reflectància de l'objectiu.
Una combinació ideal per a aplicacions de baixa potència és l'ús de l'indicador de moviment amb el mode d'abast autònom i els llindars de detecció programats en el moviment. Això permet detectar les variacions de moviment en el FoV amb un consum d'energia mínim.

4.15 Pin de sincronització externa
Es pot utilitzar una font de disparador externa per sincronitzar les adquisicions. Quan la sincronització externa està habilitada, el VL53L8CX espera una interrupció al pin SYNC per iniciar la següent adquisició. Per utilitzar aquesta funció, el pin SYNC (B1) s'ha de connectar tal com es descriu a la fitxa del producte.
No hi ha requisits específics per utilitzar la sincronització externa. Tanmateix, la freqüència d'abast del VL53L8CX hauria de ser superior a la freqüència del senyal extern.
La sincronització externa es pot activar o desactivar mitjançant la funció vl53l8cx_set_external_sync_pin_enable(). El rang es pot iniciar com de costum mitjançant la funció vl53l8cx_start_ranging(). Quan un usuari vulgui aturar el sensor, es recomana canviar el pin SYNC per reactivar el microprogramari VL53L8CX.
A continuació es mostra un flux tòpic per utilitzar el pin de sincronització extern a la secció 4.15.

Figura 14. Flux de sincronització extern

Mòdul de sensor ST VL53L8CX - Figura 13

Resultats variats

5.1 Dades disponibles
Es pot generar una llista extensa de dades d'objectiu i d'entorn durant les activitats d'abast. La taula següent descriu els paràmetres disponibles per a l'usuari.
Taula 3. Sortida disponible mitjançant el sensor VL53L8CX

Element

Nb bytes (RAM) Unitat

Descripció

Ambient per SPAD 256 Kcps/SPAD Mesura de la velocitat ambiental realitzada a la matriu SPAD, sense emissió de fotons actius, per mesurar la velocitat del senyal ambiental a causa del soroll.
Nombre d'objectius detectats  

64

Cap Nombre d'objectius detectats a la zona actual. Aquest valor hauria de ser el primer a comprovar per conèixer la validesa d'una mesura.
Nombre d'SPAD activats 256 Cap Nombre de SPAD habilitats per a la mesura actual. Un objectiu reflectant llunyà o baix activarà més SPAD.
 

Senyal per SPAD

256 x nb objectius programats  

Kcps/SPAD

Quantitat de fotons mesurada durant el VCSEL

pols.

 

Gamma sigma

128 x nb objectius programats  

Mil·límetre

Estimador Sigma per al soroll a la distància objectiu informada.
 

Distància

128 x nb objectius programats Mil·límetre Distància objectiu
Estat objectiu 64 x nb objectius programats Cap Validesa de les mesures. Vegeu la secció 5.5 Interpretació dels resultats per obtenir més informació.
Reflectància 64 x nombre d'objectius programats Per cent Reflectància objectiu estimada en percentatge
Indicador de moviment 140 Cap Estructura que conté els resultats de l'indicador de moviment. El camp "moviment" conté la intensitat del moviment.

Nota:
Per a diversos elements (senyal per spad, sigma, ...) l'accés a les dades és diferent si l'usuari ha programat més d'1 objectiu per zona (vegeu la secció 4.10 Múltiples objectius per zona). Veure exampcodis per a més informació.

5.2 Personalitzar la selecció de sortida
Per defecte, totes les sortides del VL53L8CX estan habilitades. Si cal, l'usuari pot desactivar alguna sortida del sensor.
La desactivació de les mesures no està disponible al controlador; s'ha de realitzar a la 'plataforma.h' file. L'usuari pot declarar les macros següents per desactivar les sortides:
#definir 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 conseqüència, els camps no es declaren a l'estructura de resultats i les dades no es transfereixen a l'amfitrió.
La mida de la memòria RAM i la mida I2C/SPI es redueixen.
Per garantir la coherència de les dades, ST recomana mantenir sempre activats el "nombre d'objectius detectats" i l'"estat de l'objectiu". Permet filtrar les mesures en funció de l'estat de l'objectiu (consulteu la secció 5.5 Interpretació dels resultats).

5.3 Obtenció de resultats d'abast
Durant la sessió d'abast, hi ha dues maneres de saber si hi ha noves dades d'abast disponibles:

  • Mode d'enquesta: utilitza contínuament la funció vl53l8cx_check_data_ready(). Detecta un recompte de flux nou retornat pel sensor.
  • Mode d'interrupció: espera una interrupció generada al pin A1 (INT). La interrupció s'esborra automàticament després de ~100 μs.
    Quan les dades noves estiguin a punt, els resultats es poden llegir mitjançant la funció vl53l8cx_get_ranging_data(). Retorna una estructura actualitzada que conté tota la sortida seleccionada. Com que el dispositiu és asíncron, no hi ha cap interrupció per esborrar per continuar la sessió d'abast.
    Aquesta característica està disponible tant per als modes d'abast continu com autònom.

5.4 Ús del format de microprogramari en brut
Després de transferir dades d'abast mitjançant I2C/SPI, hi ha una conversió entre el format del microprogramari i el format de l'amfitrió. Aquesta operació es realitza normalment per tenir una distància d'abast en mil·límetres com a sortida predeterminada del sensor. Si l'usuari vol utilitzar el format de microprogramari, s'ha de definir la macro següent a la plataforma file:
VL53L8CX#definir VL53L8CX _USE_RAW_FORMAT
5.5 Interpretació dels resultats
Les dades que retorna el VL53L8CX es poden filtrar per tenir en compte l'estat de destinació. L'estat indica la validesa de la mesura. La llista completa d'estats es descriu a la taula següent.

Taula 4. Llista d'estats d'objectius disponibles

Estat objectiu Descripció
0 Les dades d'interval no s'actualitzen
1 Velocitat de senyal massa baixa a la matriu SPAD
2 Fase objectiu
3 Estimador Sigma massa alt
4 La coherència de l'objectiu ha fallat
5 Interval vàlid
6 Embolcall no realitzat (normalment el primer rang)
7 La coherència de la tarifa ha fallat
8 Velocitat de senyal massa baixa per a l'objectiu actual
9 Interval vàlid amb pols gran (pot ser degut a un objectiu combinat)
10 Interval vàlid, però no s'ha detectat cap objectiu a l'interval anterior
11 La coherència de la mesura ha fallat
12 Objectiu desdibuixat per un altre, a causa de l'esmoladora
13 Objectiu detectat però dades inconsistents. Passa sovint per a objectius secundaris.
255 No s'ha detectat cap objectiu (només si el nombre d'objectius detectats està habilitat)

Per tenir dades coherents, l'usuari ha de filtrar l'estat d'objectiu no vàlid. Per donar una puntuació de confiança, un objectiu amb l'estat 5 es considera vàlid al 100%. Es pot considerar un estat de 6 o 9 amb un valor de confiança del 50 %. Tots els altres estats estan per sota del nivell de confiança del 50%.

5.6 Errors del controlador
Quan es produeix un error amb el sensor VL53L8CX, el controlador retorna un error específic. La taula següent enumera els possibles errors.

Taula 5. Llista d'errors disponibles amb el controlador

Estat objectiu Descripció
0 Cap error
127 L'usuari ha programat una configuració incorrecta (resolució desconeguda, freqüència d'abast massa alta, ...)
255 Error important. Normalment un error de temps d'espera, a causa d'un error I2C/SPI.
altres Combinació de múltiples errors descrits anteriorment

Nota:
L'amfitrió pot implementar més codis d'error mitjançant la plataforma files.

Taula 6. Historial de revisions de documents

Data Versió Canvis
13-gen-23 1 Alliberament inicial

AVÍS IMPORTANT - LLEGIU ATENCIÓ
STMicroelectronics NV i les seves filials ("ST") es reserven el dret de fer canvis, correccions, millores, modificacions i millores als productes ST i/o a aquest document en qualsevol moment sense previ avís. Els compradors haurien d'obtenir la informació rellevant més recent sobre els productes ST abans de fer comandes. Els productes ST es venen d'acord amb els termes i condicions de venda de ST vigents en el moment del reconeixement de la comanda.
Els compradors són els únics responsables de l'elecció, selecció i ús dels productes ST i ST no assumeix cap responsabilitat per l'assistència a l'aplicació o el disseny dels productes dels compradors.
ST no concedeix cap llicència, expressa o implícita, a cap dret de propietat intel·lectual.
La revenda de productes ST amb disposicions diferents de la informació que s'estableix aquí anul·larà qualsevol garantia concedida per ST per a aquest producte.
ST i el logotip de ST són marques comercials de ST. Per obtenir informació addicional sobre les marques comercials ST, consulteu www.st.com/trademarks. Tots els altres noms de productes o serveis són propietat dels seus respectius propietaris.
La informació d'aquest document substitueix i substitueix la informació proporcionada anteriorment en qualsevol versió anterior d'aquest document.

© 2023 STMicroelectronics – Tots els drets reservats

Documents/Recursos

Mòdul de sensor ST VL53L8CX [pdfManual d'usuari
UM3109, Mòdul de sensor VL53L8CX, VL53L8CX, Mòdul de sensor, Mòdul

Referències

Deixa un comentari

La teva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats *