ST - loguModulu Sensor VL53L8CX
Manuale d'usu

Introduzione

U scopu di stu manuale d'utilizatore hè di spiegà cumu manighjà u sensoru VL53L8X Time-of-Flight (ToF), utilizendu l'API Ultra Lite Driver (ULD). Descrive e funzioni principali per programà u dispusitivu, i calibrazioni, è i risultati di output.
Basatu nantu à a tecnulugia FlightSense di ST, u VL53L8CX incorpora una lente metasuperficiale efficiente (DOE) posta nantu à l'emettitore laser chì permette a proiezione di un FoV quadratu di 45 ° x 45 ° nantu à a scena.
A so capacità multizona furnisce una matrice di zoni 8 × 8 (zoni 64) è pò travaglià à velocità veloci (60 Hz) finu à 400 cm.
Grazie à u modu autonomu cù u sogliu di distanza programmabile, u VL53L8CX hè perfettu per qualsiasi applicazione chì richiede a rilevazione di l'utilizatori di bassa putenza. L'algoritmi patentati di ST è a custruzione di moduli innovativi permettenu à u VL53L8CX di detectà, in ogni zona, parechji oggetti in u FoV cun una cunniscenza di prufundità. L'algoritmi di l'istogramma ST assicuranu l'immunità di a diafonia di u vetru di copertura oltre 60 cm.
Cum'è tutti i sensori Time-of-Flight (ToF) basati nantu à a tecnulugia FlightSense di ST, u VL53L8CX registra, in ogni zona, una distanza assoluta indipendentemente da u culore di destinazione è a riflettanza.
Allughjatu in un pacchettu reflowable in miniatura chì integra un array SPAD, u VL53L8CX ottene u megliu rendimentu in diverse cundizioni di illuminazione ambientale, è per una larga gamma di materiali di vetru di copertura.
Tutti i sensori ToF di ST integranu un VCSEL chì emette una luce IR 940 nm completamente invisibile, chì hè totalmente sicura per l'ochji (certificazione di Classe 1).

Modulu Sensor ST VL53L8CX - Figura 1

Acronimi è abbreviazioni

Acronimu/abbreviazione Definizione
DOE Elementu otticu diffrattivu
FoV campu di view
I2C circuitu inter-integratu (bus seriale)
Kcps/SPAD Kilo-count per seconda per spad (unità utilizata per quantificà u
numeru di fotoni in l'array SPAD)
RAM memoria d'accessu aleatoriu
SCL linea di clock seriale
SDA dati seriali
SPAD un diodu di valanga di fotoni unicu
ToF Tempu di volu
ULD driver ultra lite
VCSEL diode emettitore di superficie di cavità verticale
Xtalk diafonia

Descrizzione funziunale

2.1 Sistema finituview
U sistema VL53L8CX hè cumpostu da un modulu hardware è u software di driver ultra lite (VL53L8CX ULD) chì funziona nantu à un host (vede a figura sottu). U modulu hardware cuntene u sensor ToF. STMicroelectronics furnisce u driver di u software, chì hè chjamatu in stu documentu "u driver". Stu documentu descrive e funzioni di u driver, chì sò accessibili à l'ospite. Queste funzioni cuntrolanu u sensoru è uttene e dati chì varienu.

Modulu Sensor ST VL53L8CX - Figura 2

2.2 Orientazione efficace
U modulu include una lente sopra l'apertura RX, chì flips (orizzontalmente è verticalmente) l'imaghjini catturati di u mira. In cunseguenza, a zona identificata cum'è a zona 0, in u fondu fondu à manca di l'array SPAD, hè illuminata da un mira situatu à a parte superiore destra di a scena.

Modulu Sensor ST VL53L8CX - Figura 3

2.3 Schematics è cunfigurazione I2C/SPI
A cumunicazione trà u driver è u firmware hè gestita da l'I2C o SPI. A capacità massima di l'I2C hè 1 MHz, è a capacità massima di l'SPI hè 20 MHz. L'implementazione di ogni protokollu di cumunicazione richiede pull ups cum'è descrittu in a datasheet VL53L8CX.
U dispusitivu VL53L8CX hà un indirizzu I2C predeterminatu di 0x52. Tuttavia, hè pussibule cambià l'indirizzu predeterminatu per evità cunflitti cù altri dispositi, o per facilità l'aghjunzione di più moduli VL53L8CX à u sistema per un sistema FoV più grande. L'indirizzu I2C pò esse cambiatu cù a funzione vl53l8cx_set_i2c_address(). Per utilizà l'SPI, u multisensore hè cablatu cù una cunfigurazione slave indipendente (u pin NCS).

Modulu Sensor ST VL53L8CX - Figura 4Modulu Sensor ST VL53L8CX - Figura 5

Per permette à un dispositivu di avè u so indirizzu I2C cambiatu senza affettà l'altri in u bus I2C, hè impurtante
disattivà a cumunicazione I2C di i dispositi chì ùn sò micca cambiati. A prucedura hè a siguenti:

  1. Accende u sistema cum'è normale.
  2. Pull down the LPn pin of the device chì ùn hà micca cambiatu u so indirizzu.
  3. Tira u pin LPn di u dispusitivu chì hà cambiatu l'indirizzu I2C.
  4. Prugrammà l'indirizzu I2C à u dispusitivu utilizendu a funzione set_i2c_address() funzione.
  5. Tira u pin LPn di u dispusitivu chì ùn hè micca riprogrammatu.
    Tutti i dispusitivi devenu avà esse dispunibule nantu à u bus I2C. Repetite i passi sopra per tutti i dispositi in u sistema chì necessitanu un novu indirizzu I2C.

U cuntenutu di u pacchettu è u flussu di dati

3.1 Architettura di cunduttore è cuntenutu
U pacchettu VL53L8CX ULD hè cumpostu di quattru cartulare. U driver hè situatu in u cartulare /VL53L8CX_ULD_API.
U cunduttore hè cumpostu da ubligatoriu è facultativu files. Opcional files sò plugins utilizatu per allargà e funzioni ULD.
Ogni plugin cumencia cù a parolla "vl53l8cx_plugin" (per esempiu vl53l8cx_plugin_xtalk.h). Se l'utilizatore ùn vole micca a pruposta plugins, ponu esse sguassati senza impactà l'altri funziunalità di u driver. A figura seguente rapprisenta u obligatoriu files è l'opzionale plugins.Modulu Sensor ST VL53L8CX - Figura 6

Nota:
L'utilizatore hà ancu bisognu di implementà dui files situatu in u cartulare /Platform. A piattaforma pruposta hè una cunchiglia viota, è deve esse piena di funzioni dedicate.
Piattaforma.h file cuntene macros obligatorii per utilizà l'ULD. Tutti i file u cuntenutu hè ubligatoriu per aduprà currettamente u ULD.

3.2 Flussu di calibrazione
Crosstalk (Xtalk) hè definitu cum'è a quantità di signale ricevuta nantu à l'array SPAD, chì hè dovutu à a riflessione di luce VCSEL in a finestra protettiva (vetru di coperta) aghjuntu nantu à u modulu. U modulu VL53L8CX hè autocalibratu, è pò esse usatu senza alcuna calibrazione supplementaria.
A calibrazione Xtalk pò esse dumandata se u modulu hè prutettu da un vetru di copertura. U VL53L8CX hè immune à Xtalk oltre 60 cm grazia à un algoritmu di istogramma. In ogni casu, à brevi distanzi sottu à 60 cm, Xtalk pò esse più grande di u signale riturnatu propiu. Questu dà una lettura falsa di mira o face chì i miri appariscenu più vicini di ciò chì sò veramente. Tutte e funzioni di calibrazione Xtalk sò incluse in un plugin Xtalk (opcional). L'utilizatore hà bisognu à aduprà file 'vl53l8cx_plugin_xtalk'.
L'Xtalk pò esse calibratu una volta, è i dati ponu esse salvati per pudè esse riutilizzati dopu. Hè necessariu un mira à distanza fissa, cù una riflettanza cunnisciuta. A distanza minima necessaria hè 600 mm, è u mira deve copre tuttu u FoV. Sicondu a cunfigurazione, l'utilizatore pò mudificà i paràmetri per adattà a calibrazione Xtalk, cum'è prupostu in a tabella seguente.

Table 1. Paràmetri dispunibili per a calibrazione

Paràmetru Min Pruposta da
STMicroelectronics
Max
Distanza [mm] 600 600 3000
Numaru di samples 1 4 16
Riflettanza [%] 1 3 99

Nota:
Aumentà u numeru di samples aumenta a precisione, ma aumenta ancu u tempu di calibrazione. U tempu relative à u numeru di samples hè lineare, è i valori seguitanu u timeout apprussimativu:

  • 1 sample ≈ 1 seconde
  • 4 samples ≈ 2.5 seconde
  • 16 samples ≈ 8.5 seconde
    A calibrazione hè fatta cù a funzione vl53l8cx_calibrate_xtalk(). Sta funzione pò esse usata in ogni mumentu.
    Tuttavia, u sensoru deve esse inizializatu prima. A figura seguente rapprisenta u flussu di calibrazione xtalk.

Figura 7. Flussu di calibrazione Xtalk

Modulu Sensor ST VL53L8CX - Figura 7

3.3 Flussu chì varieghja
A figura seguente rapprisenta u flussu chì varieghja utilizatu per ottene misure. A calibrazione Xtalk è e chjama di funzione opzionale devenu esse usate prima di inizià a sessione di gamma. E funzioni get / set ùn ponu micca esse aduprate durante una sessione di intervallu, è a prugrammazione "on-the-fly" ùn hè micca supportata.

Modulu Sensor ST VL53L8CX - Figura 8

Funzioni dispunibili

L'API VL53L8CX ULD include parechje funzioni, chì permettenu à l'utilizatore per sintonizà u sensoru, secondu u casu d'usu. Tutte e funzioni dispunibuli per u driver sò scritte in e seguenti sezzioni.
4.1 Inizializazione
L'inizializazione deve esse fatta prima di utilizà u sensor VL53L8CX. Questa operazione richiede à l'utilizatore:

  1. Accende u sensoru (VDDIO, AVDD, CORE_1V8 è pins LPn impostati à High
  2. Chjamate a funzione vl53l8cx_init(). A funzione copia u firmware (~ 84 Kbytes) à u modulu. Questu hè fattu per carricà u codice nantu à l'interfaccia I2C / SPI, è eseguisce una rutina di boot per compie l'inizializazione.

4.2 Gestione di reset di sensori
Per resettate u dispositivu, i pins seguenti anu da esse toggled:

  1. Pone i pin VDDIO, AVDD è CORE_1V8 pins à bassu.
  2. Aspetta 10 ms.
  3. Pone i pin VDDIO, AVDD è CORE_1V8 pins à altu.

Nota:
Toggling solu pin I2C_RST resetta a cumunicazione I2C.
4.3 Risoluzione
A risoluzione currisponde à u numeru di zoni dispunibili. U sensoru VL53L8CX hà duie risoluzioni pussibuli: 4 × 4 (zoni 16) è 8 × 8 (zoni 64). Per automaticamente, u sensoru hè programatu in 4 × 4.
A funzione vl53l8cx_set_resolution() permette à l'utilizatori di cambià a risoluzione. Siccomu a frequenza di variazione dipende da a risoluzione, sta funzione deve esse aduprata prima di aghjurnà a frequenza di distanza. Inoltre, cambià a risoluzione aumenta ancu a dimensione di u trafficu nantu à l'autobus I2C / SPI quandu i risultati sò leghje.
4.4 Frequenza chì varieghja
A frequenza di variazione pò esse usata per cambià a frequenza di misurazione. Siccomu a frequenza massima hè sfarente trà 4 × 4 è 8 × 8 risoluzioni, sta funzione deve esse usata dopu a scelta di una risoluzione. I valori minimi è massimi permessi sò listati in a tavula seguente.

Tabella 2. Frequenze minime è massime

Risoluzione Frequenza minima [Hz] Frequenza massima di gamma [Hz]
4 × 4 1 60
8 × 8 1 15

A frequenza di variazione pò esse aghjurnata utilizendu a funzione vl53l8cx_set_ranging_frequency_hz(). Per automaticamente, a freccia di distanza hè stabilita à 1 Hz.

4.5 Modu di distanza
U modu di variazione permette à l'utilizatore di sceglie trà un altu rendimentu o un cunsumu d'energia bassu.
Ci sò dui modi pruposti:

  • Cuntinuu: U dispusitivu piglia continuamente frames cù una frequenza chì varieghja definita da l'utilizatore. U VCSEL hè attivatu durante tutte e varieghja, cusì a distanza massima è l'immunità ambientale sò megliu. Questa modalità hè cunsigliata per misurazioni veloci o prestazioni elevate.
  • Autonomu: Questu hè u modu predeterminatu. U dispusitivu piglia continuamente frames cù una frequenza chì varieghja definita da l'utilizatore. U VCSEL hè attivatu durante un periodu definitu da l'utilizatore, utilizendu a funzione vl53l8cx_set_integration_time_ms(). Siccomu u VCSEL ùn hè micca sempre attivatu, u cunsumu di energia hè ridutta. I beneficii sò più evidenti cù una freccia ridutta. Stu modu hè cunsigliatu per applicazioni di bassa putenza.
    U modu di variazione pò esse cambiatu cù a funzione vl53l8cx_set_ranging_mode ().

4.6 Tempu di integrazione
U tempu d'integrazione hè una funzione solu dispunibule cù u Modu di intervallu autonomu (consultate a Sezione 4.5 Modalità di intervallu).
Permette à l'utilizatori di cambià l'ora mentre VCSEL hè attivatu. U cambiamentu di u tempu d'integrazione se u modalità Ranging hè cuntinuu ùn hà micca effettu. U tempu di integrazione predeterminatu hè stabilitu à 5 ms.
L'effettu di u tempu d'integrazione hè diversu per risoluzioni 4 × 4 è 8 × 8. A risoluzione 4 × 4 hè cumpostu di un tempu d'integrazione, è a risoluzione 8 × 8 hè cumpostu di quattru volte d'integrazione. I seguenti figuri rapprisentanu l'emissione VCSEL per e duie risoluzioni.

Modulu Sensor ST VL53L8CX - Figura 9

A summa di tutti i tempi di integrazione + 1 ms overhead deve esse più bassu di u periodu di misurazione. Altrimenti, u periodu di intervallu hè automaticamente aumentatu.

4.7 Modi di putenza
I modi di putenza ponu esse aduprati per riduce u cunsumu di energia quandu u dispusitivu ùn hè micca usatu. U VL53L8CX pò operà in unu di i seguenti modi di putenza:

  • Wake-up: U dispusitivu hè stallatu in HP idle (alta putenza), aspittendu istruzzioni.
  • Sleep: U dispusitivu hè stallatu in LP idle (bassa putenza), u statu di bassa putenza. U dispusitivu ùn pò esse usatu finu à u modu di sveglia. Stu modu conserva u firmware è a cunfigurazione.
    U modu di putenza pò esse cambiatu cù a funzione vl53l8cx_set_power_mode (). U modu predeterminatu hè u svegliu.
    Nota:
    Se l'utilizatore vole cambià u modu di putenza, u dispusitivu ùn deve esse in un statu chì varieghja.

4.8 Affilatrice
U signale tornatu da un mira ùn hè micca un pulsu pulitu cù bordi sharp. I bordi sò inclinati è ponu influenzà e distanze riportate in e zone adiacenti. U sharpener hè utilizatu per caccià una parte o tuttu u segnu causatu da u velu glare.
L'exampu mostratu in a figura seguente rapprisenta un mira vicinu à 100 mm centratu in u FoV, è un altru mira, più daretu à 500 mm. Sicondu u valore di u sharpener, u mira vicinu pò apparisce in più zoni cà u veru.

Figura 11. Example di scena utilizendu parechji valori di sharpener

Modulu Sensor ST VL53L8CX - Figura 10

Sharpener pò esse cambiatu cù a funzione vl53l8cx_set_sharpener_percent (). I valori permessi sò trà 0 % è 99 %. U valore predeterminatu hè 5%.

4.9 Ordine di destinazione
U VL53L8CX pò misurà parechji miri per zona. Grazie à u processu di l'histogramma, l'ospite hè capaci di sceglie l'ordine di i miri rappurtati. Ci sò dui opzioni:

  • U più vicinu: U scopu più vicinu hè u primu rapportatu
  • U più forte: U scopu più forte hè u primu rapportatu
    L'ordine di destinazione pò esse cambiatu cù a funzione vl53l8cx_set_target_order (). L'ordine predeterminatu hè u più forte.
    L'example in a figura seguente rapprisenta a rilevazione di dui miri. Unu à 100 mm cù una riflettanza bassa, è unu à 700 mm cù una riflettanza alta.

Modulu Sensor ST VL53L8CX - Figura 11

4.10 Obiettivi multipli per zona
U VL53L8CX pò misurà finu à quattru miri per zona. L'utilizatore pò cunfigurà u numeru di miri restituiti da u sensoru.
Nota:
A distanza minima trà dui miri da esse rilevati hè 600 mm.
A selezzione ùn hè micca pussibule da u driver; deve esse fattu in a 'platform.h' file. A macro
VL53L8CX_NB_ TARGET_PER_ZONE deve esse stabilitu à un valore trà 1 è 4. L'ordine di destinazione descrittu in a Sezione 4.9 Ordine di destinazione impacta direttamente l'ordine di destinazione rilevata. Per automaticamente, u sensoru solu pruduce un massimu di una mira per zona.
Nota:
Un numeru aumentatu di miri per zona aumenta a dimensione RAM necessaria.
4.11 Xtalk margin
U margine Xtalk hè una funzione supplementaria solu dispunibule cù u plugin Xtalk. U .c è .f files 'vl53l8cx_plugin_xtalk' deve esse usatu.
U marghjenu hè utilizatu per cambià u sogliu di deteczione quandu un vetru di tappa hè presente nantu à a cima di u sensor. U sogliu pò esse aumentatu per assicurà chì u vetru di coperta ùn hè mai rilevatu, dopu avè stabilitu i dati di calibrazione Xtalk.
Per esample, l 'utilizatore pò eseguisce una calibration Xtalk nant'à un solu dispusitivu, è re-utilizà u listessu dati calibration per tutti l 'àutri dispusitivi. U margine Xtalk pò esse usatu per sintonizà a correzione Xtalk. A figura sottu rapprisenta u margine Xtalk.

Figura 13. Xtalk margin

Modulu Sensor ST VL53L8CX - Figura 12

4.12 Soglie di rilevazione
In più di e capacità di variazione regulare, u sensoru pò esse programatu per detectà un ughjettu sottu certi criterii predefiniti. Questa funzione hè dispunibule cù u plugin "soglie di rilevazione", chì hè una opzione micca inclusa per difettu in l'API. U files chjamati 'vl53l8cx_plugin_detection_thresholds' deve esse usatu.
A funzione pò esse usata per attivà una interruzzione à u pin A1 (INT) quandu e cundizioni definite da l'utilizatore sò scontri. Ci sò trè cunfigurazioni pussibuli:

  • Risoluzione 4 × 4: utilizendu 1 soglia per zona (totale di 16 soglie)
  • Risoluzione 4 × 4: utilizendu 2 soglie per zona (totale di 32 soglie)
  • Risoluzione 8 × 8: utilizendu 1 soglia per zona (totale di 64 soglie)
    Qualunque sia a cunfigurazione utilizata, a prucedura per a creazione di soglie è a dimensione di RAM sò listessi. Per ogni cumminazione di soglia, ci vole à riempie parechji campi:
  • Zone id: id di a zona selezziunata (consultate a Sezione 2.2 Orientazione effettiva)
  • Misurazione: misurazione per catturà (distanza, signale, numeru di SPAD, ...)
  • Tipu: finestri di misure (in finestri, fora di i finestri, sottu u sogliu bassu, ...)
  • Low threshold: utente di soglia bassa per u trigger. L'utilizatore ùn hà micca bisognu di stabilisce u furmatu, hè automaticamente trattatu da l'API.
  • Soglia alta: utente di soglia alta per u trigger. L'utilizatore ùn hà micca bisognu di stabilisce u furmatu, hè automaticamente trattatu da l'API.
  • Funzionamentu matematicu: solu usatu per 4 × 4 - 2 cumminazzioni di soglia per zona. L'utilizatore pò stabilisce una cumminazione utilizendu parechje soglie in una zona.

4.13 Interrompe l'autostop
A funzione di interruzzione autostop hè aduprata per abortà a sessione di distanza durante una misurazione. Per automaticamente, u sensoru ùn pò micca esse firmatu durante una misurazione, perchè e misure di u quadru deve esse cumpletu. Tuttavia, utilizendu l'autostop, e misurazioni di u quadru sò annullate quandu una interruzzione hè attivata.
A funzione autostop hè utile quandu hè cumminata cù un sogliu di rilevazione. Quandu un mira hè rilevatu, a misurazione attuale hè automaticamente annullata. Autostop pò esse usatu in una macchina di u statu di u cliente per cambià rapidamente à un altru cunfigurazione di sensor.
Una funzione di interruzzione autostop pò esse attivata usendu a funzione vl53l8cx_set_detection_threshold_auto_stop().
Dopu chì una misurazione hè abortita, hè cunsigliatu di piantà u sensoru utilizendu a funzione vl53l8cx_stop_ranging().
4.14 Indicatore di muvimentu
U sensoru VL53L8CX hà una funzione di Firmware integrata chì permette a rilevazione di muvimentu in una scena. L'indicatore di muvimentu hè calculatu trà frames sequenziali. Questa opzione hè dispunibule cù u plugin 'vl53l8cx_plugin_motion_indicator'.
L'indicatore di muvimentu hè inizializatu cù a funzione vl53l8cx_motion_indicator_init(). Se l'utilizatore vole cambià a risoluzione di u sensoru, deve aghjurnà a risoluzione di l'indicatore di muvimentu utilizendu a funzione dedicata: vl53l8cx_motion_indicator_set_resolution().
L'utilizatore pò ancu cambià a distanza minima è massima per a rilevazione di u muvimentu. A diffarenza trà a distanza minima è massima ùn pò esse più grande di 1500 mm. Per automaticamente, e distanze sò inizializzate cù valori trà 400 mm è 1500 mm.
I risultati sò guardati in u campu 'motion_indicator'. In questu campu, l'array "motion" dà un valore chì cuntene l'intensità di muvimentu per zona. Un valore altu indica una alta variazione di muvimentu trà i frames. Un muvimentu tipicu dà un valore trà 100 è 500. Sta sensibilità dipende da u tempu d'integrazione, a distanza di destinazione è a riflessione di destinazione.
Una cumminazione ideale per l'applicazioni di bassa putenza hè l'usu di l'indicatore di muvimentu cù u modu di intervallu autonomu, è i soglia di rilevazione programati nantu à u muvimentu. Questu permette a rilevazione di variazioni di u muvimentu in u FoV cù u minimu cunsumu di energia.

4.15 Pin di sincronizazione esterna
Una fonte di attivazione esterna pò esse usata per sincronizà acquisti. Quandu a sincronizazione esterna hè attivata, u VL53L8CX aspetta una interruzzione in u pin SYNC per inizià a prossima acquisizione. Per utilizà sta funzione, u pin SYNC (B1) deve esse cunnessu cum'è descrittu in a scheda di dati di u produttu.
Ùn ci sò micca esigenze specifiche per aduprà a sincronizazione esterna. Tuttavia, a freccia di u VL53L8CX deve esse più altu ch'è a frequenza di u signale esternu.
A sincronizazione esterna pò esse attivata o disattivata usendu a funzione vl53l8cx_set_external_sync_pin_enable (). Ranging pò esse cuminciatu cum'è solitu usendu a funzione vl53l8cx_start_ranging (). Quandu un utilizatore vole piantà u sensoru, hè cunsigliatu di cambià u pin SYNC per annullà u firmware VL53L8CX.
Un flussu tematicu per aduprà u pin di sincronizazione esterna hè mostratu sottu in a Sezione 4.15.

Figura 14. Flussu di sincronizazione esterna

Modulu Sensor ST VL53L8CX - Figura 13

Risultati varii

5.1 Dati dispunibuli
Una larga lista di dati di destinazione è di l'ambiente pò esse uscita durante l'attività di varià. A tavula seguente descrive i paràmetri dispunibuli per l'utilizatori.
Tabella 3. Uscita dispunibule cù u sensor VL53L8CX

Elementu

Nb byte (RAM) Unità

Descrizzione

Ambient per SPAD 256 Kcps/SPAD A misurazione di a freccia ambientale realizata nantu à l'array SPAD, senza emissioni di fotoni attivu, per misurà a freccia di u signale ambientale per via di u rumore.
Numeru di mira rilevati  

64

Nimu Numero di mira rilevati in a zona attuale. Stu valore deve esse u primu à verificà per sapè una validità di misurazione.
Numero di SPAD attivati 256 Nimu Numero di SPAD attivati ​​per a misurazione attuale. Un mira riflettente luntanu o bassu attivà più SPAD.
 

Signal per SPAD

256 x nb targets programmati  

Kcps/SPAD

A quantità di fotoni misurata durante u VCSEL

pulsu.

 

Gamma sigma

128 x nb targets programmati  

Millimetru

Estimatore Sigma per u rumore in a distanza di destinazione rapportata.
 

Distanza

128 x nb targets programmati Millimetru Distanza di destinazione
Statu di destinazione 64 x nb targets programmati Nimu Validità di misure. Vede a Sezione 5.5 Interpretazione di i risultati per più infurmazione.
Riflettanza 64 x numeri di mira prugramati Per centu Riflessione di destinazione stimata in percentuale
Indicatore di muvimentu 140 Nimu Struttura chì cuntene i risultati di l'indicatore di muvimentu. U campu "movimentu" cuntene l'intensità di u muvimentu.

Nota:
Per parechji elementi (signale per spad, sigma, ...) l'accessu à e dati hè diversu se l'utente hà programatu più di 1 target per zona (vede Sezione 4.10 Multiple target per zona). Vede exampi codici per più infurmazione.

5.2 Personalizà a selezzione di output
Per automaticamente, tutti i output VL53L8CX sò attivati. Se necessariu, l'utilizatore pò disattivà qualchì output di sensor.
A disattivazione di e misure ùn hè micca dispunibule nantu à u driver; deve esse realizatu in a 'platform.h' file. L'utilizatore pò dichjarà e seguenti macros per disattivà i risultati:
#define VL53L8CX _DISABLE_AMBIENT_PER_SPAD
#define VL53L8CX _DISABLE_NB_SPADS_ENABLED
#define VL53L8CX _DISABLE_NB_TARGET_DETECTED
#define VL53L8CX _DISABLE_SIGNAL_PER_SPAD
#define VL53L8CX _DISABLE_RANGE_SIGMA_MM
#define VL53L8CX _DISABLE_DISTANCE_MM
#define VL53L8CX _DISABLE_TARGET_STATUS
#define VL53L8CX _DISABLE_REFLECTANCE_PERCENT
#define VL53L8CX _DISABLE_MOTION_INDICATOR
In cunseguenza, i campi ùn sò micca esse dichjarati in a struttura di risultati, è i dati ùn sò micca trasferiti à l'ospite.
A dimensione RAM è a dimensione I2C / SPI sò ridotte.
Per assicurà a coerenza di e dati, ST ricumanda di mantene sempre "numeru di destinazione rilevata" è "statu di destinazione" attivati. Permette di filtrà e misurazioni secondu u statutu di destinazione (consultate a Sezione 5.5 Interpretazione di i risultati).

5.3 Ottene risultati di variità
Durante a sessione di intervallu, ci sò duie manere di sapè s'ellu hè dispunibule novi dati di intervallu:

  • Modu di polling: Aduprate continuamente a funzione vl53l8cx_check_data_ready (). Detecta un novu conte di flussu tornatu da u sensoru.
  • Modu d'interruzzione: aspetta un'interruzzione risuscitata nantu à u pin A1 (INT). L'interruzzione hè automaticamente cancellata dopu ~ 100 μs.
    Quandu i novi dati sò pronti, i risultati ponu esse leghje cù a funzione vl53l8cx_get_ranging_data (). Ritorna una struttura aghjurnata chì cuntene tutti i risultati selezziunati. Siccomu u dispusitivu hè asincronu, ùn ci hè micca interruzzione per sguassà per cuntinuà a sessione chì varieghja.
    Questa funzione hè dispunibule per i modi di cuntinuu è autonomi.

5.4 Utilizà u furmatu di firmware crudu
Dopu à u trasferimentu di dati chì varieghja à traversu I2C / SPI, ci hè una cunversione trà u furmatu di firmware è u furmatu òspite. Questa operazione hè tipicamente realizata per avè una distanza chì varieghja in millimetri cum'è output predeterminatu di u sensor. Se l'utilizatore vole usà u furmatu di u firmware, a seguente macro deve esse definita in a piattaforma file:
VL53L8CX#define VL53L8CX _USE_RAW_FORMAT
5.5 Interpretazione di i risultati
I dati restituiti da u VL53L8CX ponu esse filtrati per piglià in contu u statu di destinazione. U statutu indica a validità di a misurazione. A lista completa di u statutu hè descritta in a tavula seguente.

Table 4. Lista di u statu di destinazione dispunibule

Statu di destinazione Descrizzione
0 I dati di u ranking ùn sò micca aghjurnati
1 A freccia di signale hè troppu bassu nantu à l'array SPAD
2 Fase di destinazione
3 Estimatore Sigma troppu altu
4 A coerenza di u target hà fiascatu
5 Gamma valida
6 Wrap around micca realizatu (Tipicamenti a prima gamma)
7 A coerenza di a tarifa hà fiascatu
8 A freccia di signale hè troppu bassu per u target attuale
9 Gamma valida cù un grande impulsu (pò esse dovutu à un target unitu)
10 Intervallu validu, ma nisun target rilevatu à a gamma precedente
11 A cunsistenza di a misurazione hà fiascatu
12 Target sfocata da un altru, per via di l'affilatrice
13 Target rilevatu ma dati inconsistenti. Succede spessu per i miri secundari.
255 Nisuna mira rilevata (solu se u numeru di mira rilevati hè attivatu)

Per avè dati coerenti, l'utilizatore hà bisognu di filtrà u statutu di destinazione invalidu. Per dà una valutazione di cunfidenza, un target cù u statutu 5 hè cunsideratu cum'è 100% validu. Un statutu di 6 o 9 pò esse cunsideratu cun un valore di fiducia di 50%. Tutti l'altri stati sò sottu à u nivellu di fiducia di 50%.

5.6 Errori di u driver
Quandu si verifica un errore cù u sensor VL53L8CX, u driver torna un errore specificu. A tavula seguente lista i pussibuli errori.

Table 5. Lista di l'errori dispunibili cù u driver

Statu di destinazione Descrizzione
0 Nisun errore
127 L'utente hà programatu un paràmetru incorrectu (risoluzione scunnisciuta, frequenza chì varieghja troppu alta, ...)
255 Errore maiò. Di solitu un errore di timeout, per un errore I2C / SPI.
altru Cumminazione di parechji errori descritti sopra

Nota:
Più codici d'errore ponu esse implementati da l'ospite utilizendu a piattaforma files.

Table 6. Storia di rivisione di documenti

Data Versione Cambiamenti
13-ghjennaghju-23 1 Liberazione iniziale

AVVISU IMPORTANTE - LEGGIU ATTENTAMENTE
STMicroelectronics NV è e so filiali ("ST") si riservanu u dirittu di fà cambiamenti, correzioni, miglioramenti, mudificazioni è migliure à i prudutti ST è / o à stu documentu in ogni mumentu senza avvisu. I cumpratori anu da ottene l'ultime informazioni pertinenti nantu à i prudutti ST prima di fà ordini. I prudutti ST sò venduti in cunfurmità cù i termini è e cundizioni di vendita di ST in vigore à u mumentu di a ricunniscenza di l'ordine.
I cumpratori sò solu rispunsevuli di a scelta, a selezzione è l'usu di i prudutti ST è ST ùn assume micca responsabilità per l'assistenza di l'applicazione o u disignu di i prudutti di l'acquirente.
Nisuna licenza, espressa o implicita, à qualsiasi dirittu di pruprietà intellettuale hè cuncessa da ST quì.
A rivendita di i prudutti ST cù disposizioni diverse da l'infurmazioni stabilite quì annullerà ogni garanzia accordata da ST per tali pruduttu.
ST è u logo ST sò marchi di ST. Per infurmazioni supplementari nantu à i marchi ST, riferite à www.st.com/trademarks. Tutti l'altri prudutti o nomi di serviziu sò a pruprietà di i so rispettivi pruprietarii.
L'infurmazioni in stu documentu rimpiazzanu è rimpiazzanu l'infurmazioni furnite prima in qualsiasi versione precedente di stu documentu.

© 2023 STMicroelectronics - Tutti i diritti riservati

Documenti / Risorse

Modulu Sensor ST VL53L8CX [pdfManuale d'usu
UM3109, VL53L8CX Sensor Module, VL53L8CX, Sensor Module, Module

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *