STMicroelectronics VL53L7CX Sensore di distanza multizona di u tempu di volu

STMicroelectronics VL53L7CX Sensore di distanza multizona di u tempu di volu

Introduzione

U scopu di stu manuale d'utilizatore hè di spiegà cumu manighjà u sensoru VL53L7CX 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.

Spécialmente cuncepitu per l'applicazioni chì necessitanu un FoV ultrawide, u sensoru di u tempu di volu VL53L7CX offre un FoV diagonale di 90 °. Basatu nantu à a tecnulugia Flight Sense di STMicroelectronics, u VL53L7CX incorpora una meta lente di superficia efficiente (DOE) posta nantu à l'emettitore laser chì permette a proiezione di un FoV quadratu di 60 ° x 60 ° nantu à a scena.

A so capacità multizona furnisce una matrice di zoni 8 × 8 (zoni 64) è pò travaglià à velocità veloci (60 Hz) finu à 350 cm.

Grazie à u modu autonomu cù u sogliu di distanza programmabile cumminatu cù u FoV ultrawide, u VL53L7CX hè perfettu per ogni applicazione chì richiede a rilevazione di l'utilizatori di bassa putenza. L'algoritmi patentati di ST è a custruzione di moduli innovativi permettenu à u VL53L7CX di detectà, in ogni zona, parechji oggetti in u FoV cun una cunniscenza di prufundità. L'algoritmi di l'istogramma di STMicroelectronics assicuranu l'immunità di diafonia di u vetru di copertura oltre 60 cm.

Derivatu da u VL53L5CX, i pinouts è i cunduttori di i dui sensori sò cumpatibili, chì assicura una migrazione simplice da un sensoru à l'altru.

Cum'è tutti i sensori Time-of-Flight (ToF) basati nantu à a tecnulugia di Flight Sense di ST, u VL53L7CX registra, in ogni zona, una distanza assoluta indipendentemente da u culore di destinazione è a riflettanza.

Alloghjatu in un pacchettu reflowable in miniatura chì integra un array SPAD, u VL53L7CX 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).

U VL53L7CX hè u sensoru perfettu per qualsiasi applicazione chì richiede FoV ultrawide cum'è robotica, parlanti intelligenti, videoproiettori, gestione di cuntenutu. A cumminazione di a capacità multizona è u FoV di 90 ° pò rinfurzà novi casi d'usu cum'è u ricunniscenza di gestu, SLAM per a robotica, è l'attivazione di u sistema di bassa putenza per l'edificazione intelligente.

Figura 1. Modulu di sensor VL53L7CX
Introduzione

Acronimi è abbreviazioni

Acronimu/abbreviazione Definizione
DOE Elementu otticu diffrattivu
FoV campu di view
I²C circuitu inter-integratu (bus seriale)
Kcps/SPAD Kilo-count per seconda per spad (unità aduprata 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
VHV assai altu voltage
Xtalk diafonia

Descrizzione funziunale

Sistema finituview

U sistema VL53L7CX hè cumpostu da un modulu di hardware è u software di driver ultra lite (VL53L7CX ULD) in esecuzione in 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.

Figura 2. Sistema VL53L7CX finituview
Descrizzione funziunale
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.

Figura 3. VL53L7CX orientazione efficace
Descrizzione funziunale
Schematici è cunfigurazione I²C

A cumunicazione trà u driver è u firmware hè gestita da I²C, cù una capacità di operare finu à 1 MHz. L'implementazione richiede pull-ups nantu à e linee SCL è SDA. Vede a datasheet VL53L7CX per più infurmazione. U dispusitivu VL53L7CX hà un indirizzu I²C predeterminatu di 0x52. In ogni casu, hè pussibule cambià l'indirizzu predeterminatu per evità cunflitti cù altri dispositi, o facilità l'aghjunzione di più moduli VL53L7CX à u sistema per un sistema FoV più grande. L'indirizzu I²C pò esse cambiatu cù a funzione vl53l7cx_set_i2c_address().

Figura 4. Sensori multipli in bus I²C
Descrizzione funziunale

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

  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 I²C.
  4. Prugrammà l'indirizzu I²C à u dispusitivu utilizendu a funzione set_i2c_address() funzione.
  5. Tira u pin LPn di u dispusitivu chì ùn hè micca riprogrammatu.

Tutti i dispositi devenu avà esse dispunibili nantu à u bus I²C. Repetite i passi sopra per tutti i dispositi VL53L7CX in u sistema chì necessitanu un novu indirizzu I²C.

U cuntenutu di u pacchettu è u flussu di dati

Architettura di driver è cuntenutu

U pacchettu VL53L7CX ULD hè cumpostu di quattru cartulare. U driver hè situatu in u cartulare /

VL53L7CX_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 "vl53l7cx_plugin" (per esempiu vl53l7cx_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.

Figura 5. Architettura di driver
U cuntenutu di u pacchettu è u flussu di dati

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.

Nota: forma piatta. h file cuntene macros obligatorii per utilizà l'ULD. Tutti i file u cuntenutu hè ubligatoriu per aduprà currettamente u ULD

Flussu di calibrazione

Crosstalk (Xtalk) hè definitu cum'è a quantità di signale ricevuta nantu à l'array SPAD, chì hè dovutu à a luce VCSEL.
riflessione à l'internu di a finestra protettiva (vetru di coperta) aghjuntu nantu à u modulu. U modulu VL53L7CX hè autocalibratu, è pò esse usatu senza alcuna calibrazione supplementaria.

A calibrazione Crosstalk pò esse dumandata se u modulu hè prutettu da un vetru di copertura. U VL53L7CX hè immune à
crosstalk oltre 60 cm grazia à un algoritmu histogram. 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 di crosstalk sò incluse in un plugin Xtalk (opcional). L'utilizatore hà bisognu à aduprà file 'vl53l7cx_plugin_xtalk'.

U crosstalk pò esse calibratu una volta, è i dati ponu esse salvati in modu chì ponu esse reutilizati più tardi. Un mira à una distanza fissa, cù una riflettanza cunnisciuta hè necessariu. 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 di crosstalk, cum'è prupostu in a tabella seguente.

Tabella 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 vl53l7cx_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 crosstalk.

Figura 6. Flussu di calibrazione Crosstalk
U cuntenutu di u pacchettu è u flussu di dati

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.

Figura 7. U flussu chì varieghja cù VL53L7CX
U cuntenutu di u pacchettu è u flussu di dati

Funzioni dispunibili

L'API VL53L7CX 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ò descritte in e seguenti sezzioni.

Inizializazione

L'inizializazione deve esse fatta prima di utilizà u sensor VL53L7CX. Questa operazione richiede à l'utilizatore:

  1. Accende u sensoru (VDDIO, AVDD, LPn pins set to High, è pin I2C_RST set to 0)
  2. Chjamate a funzione vl53l7cx_init(). A funzione copia u firmware (~ 84 Kbytes) à u modulu. Questu hè fattu per carricà u codice nantu à l'interfaccia I²C, è eseguisce una rutina di boot per compie l'inizializazione.

Gestione di reset di sensori

Per resettate u dispositivu, i pins seguenti anu da esse toggled:

  1. Pone i pin VDDIO, AVDD è LPn pins à bassu.
  2. Aspetta 10 ms.
  3. Pone i pin VDDIO, AVDD è LPn in alta.

Nota: Toggling solu pin I2C_RST resetta a cumunicazione I²C.

Risoluzione

A risoluzione currisponde à u numeru di zoni dispunibili. U sensoru VL53L7CX hà duie risoluzioni pussibuli: 4 × 4 (zoni 16) è 8 × 8 (zoni 64). Per automaticamente, u sensoru hè programatu in 4 × 4. A funzione vl53l7cx_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 I²C quandu i risultati sò letti.

Frequenza chì varieghja

A frequenza di variazione pò esse usata per cambià a frequenza di misurazione. Cum'è a frequenza massima hè diversu
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 vl53l7cx_set_ranging_frequency_hz(). Per automaticamente, a freccia di distanza hè stabilita à 1 Hz.

Modu di varià

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.
  • Autònuma: Questu hè u modu predeterminatu. U dispusitivu piglia continuamente frames cù una frequenza chì varieghja
    definitu da l'utilizatori. U VCSEL hè attivatu durante un periodu definitu da l'utilizatore, utilizendu a funzione vl53l7cx_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 vl53l7cx_set_ranging_mode ().

Tempu di integrazione

U tempu d'integrazione hè una funzione solu dispunibule cù u modu di intervallu autonomu (consultate Sezione 4.5: Range
modu). Permette à l'utilizatori di cambià l'ora mentre VCSEL hè attivatu. Cambiendu u tempu d'integrazione se u intervallu
u modu 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.

Figura 8. Tempu d'integrazione per 4 × 4 autonomi
Funzioni dispunibili

Figura 9. Tempu d'integrazione per 8 × 8 autonomi
Funzioni dispunibili

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 per adattà u valore di u tempu di integrazione.

Modi di putenza

I modi di putenza ponu esse aduprati per riduce u cunsumu di energia quandu u dispusitivu ùn hè micca usatu. U VL53L7CX 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 vl53l7cx_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.

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 un 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 10. Example di scena utilizendu parechji valori di sharpener
Funzioni dispunibili
Funzioni dispunibili
Funzioni dispunibili

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

Ordine di destinazione

U VL53L7CX pò misurà parechji miri per zona. Grazie à l'elaborazione di l'istogramma, l'ospite hè capaci di fà
sceglite 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 vl53l7cx_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.

Figura 11. Example di histogramma cù dui miri
Funzioni dispunibili

Obiettivi multipli per zona

U VL53L7CX 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; si deve esse fattu in a 'piattaforma. h' file. A macro VL53L7CX_NB_ TARGET_PER_ZONE deve esse stabilitu à un valore trà 1 è 4. L'ordine di destinazione descrittu in a Sezione 4.9: L'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.

margine Xtalk

U margine Xtalk hè una funzione supplementaria solu dispunibule cù u plugin Xtalk. U .c è .f files 'vl53l7cx_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 di crosstalk. Per esample, l 'utilizatore pò eseguisce una calibration crosstalk nant'à una sola dispusitivu, è riutilizà u listessu dati calibration per tutti l 'àutri dispusitivi. U margine Xtalk pò esse usatu per sintonizà a correzione di crosstalk. A figura sottu rapprisenta u margine Xtalk.

Figura 12. margine Xtalk
Funzioni dispunibili

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 'vl53l7cx_plugin_detection_thresholds' deve esse usatu. A funzione pò esse usata per attivà una interruzzione à u pin A3 (INT) quandu e cundizioni definite da l'utilizatore sò scontri. Ci sò trè cunfigurazioni pussibuli:

  • Risoluzione 4 × 4: utilizendu una soglia per zona (un totale di 16 soglie)
  • Risoluzione 4 × 4: utilizendu dui soglie per zona (un totale di 32 soglie)
  • Risoluzione 8 × 8: utilizendu una soglia per zona (un 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:

  • Zona id: id di a zona selezziunata (consultate 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è trattatu automaticamente 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.

Indicatore di muvimentu

U sensoru VL53L7CX hà una funzione di firmware integrata chì permette a rilevazione di muvimentu in una scena. U muvimentu
L'indicatore hè calculatu trà frames sequenziali. Questa opzione hè dispunibule cù u plugin 'vl53l7cx_plugin_motion_indicator'.

L'indicatore di muvimentu hè inizializatu cù a funzione vl53l7cx_motion_indicator_init(). Per cambià u sensoru
risoluzione, aghjurnà a risoluzione di l'indicatore di muvimentu utilizendu a funzione dedicata: vl53l7cx_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 'indicatore di motion_'. In questu campu, l'array 'motion' dà un valore chì cuntene u
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 soglie di rilevazione programati nantu à u muvimentu. Questu permette a rilevazione di variazioni di u muvimentu in u FoV cù u minimu cunsumu di energia.

Compensazione periodica di a temperatura

A prestazione di variazione hè affettata da variazioni di temperatura. U sensor VL53L7CX incorpora una temperatura
compensazione chì hè calibrata una volta quandu u streaming principia. Tuttavia, se a temperatura evoluzione, u
a compensazione ùn pò micca esse allinata cù a nova temperatura. Per evitari stu prublema, u cliente pò eseguisce una compensazione di temperatura periodica utilizendu un auto VHV. A calibrazione periodica di a temperatura pigghia uni pochi di millisecondi per eseguisce. L'utilizatore pò definisce u periodu. Per utilizà sta funzione, u cliente hà bisognu di:

  • Chjamate a funzione vl53l7cx_set_VHV_repeat_count().
  • Allora, dà u numeru di frames trà ogni nova calibrazione cum'è l'argumentu.

Se l'argumentu hè 0, a compensazione hè disattivata.

Risultati varii

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 VL53L7CX

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 attiva più SPAD.
Signal per SPAD 256 x nb targets programmati Kcps/SPAD A quantità di fotoni misurata durante l'impulsu VCSEL.
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 Sezzione 5.5: Risultati interpretazione 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'utilizatore hà programatu più d'un target per zona (vede Sezione 4.10: Target multiple per zona). Vede exampi codici per più infurmazione.

Personalizà a selezzione di output

Per automaticamente, tutti i output VL53L7CX sò attivati. Se necessariu, l'utilizatore pò disattivà alcune uscite di sensori. A disattivazione di e misure ùn hè micca dispunibule nantu à u driver; si deve esse realizatu in a "piattaforma". h' file. L'utilizatore pò dichjarà e seguenti macros per disattivà i risultati:

#definisce VL53L7CX_DISABLE_AMBIENT_PER_SPAD
#definisce VL53L7CX_DISABLE_NB_SPADS_ENABLED
#definisce VL53L7CX_DISABLE_NB_TARGET_DETECTED
#definisce VL53L7CX_DISABLE_SIGNAL_PER_SPAD
#definisce VL53L7CX_DISABLE_RANGE_SIGMA_MM
#definisce VL53L7CX_DISABLE_DISTANCE_MM
#define VL53L7CX_DISABLE_TARGET_STATUS
#definisce VL53L7CX_DISABLE_REFLECTANCE_PERCENT
#definisce VL53L7CX_DISABLE_MOTION_INDICATOR

In cunseguenza, i campi ùn sò micca dichjarati in a struttura di risultati, è i dati ùn sò micca trasferiti à l'ospiti. A dimensione RAM è a dimensione I²C sò ridotte. Per assicurà a coherenza di e dati, ST ricumanda sempre di mantene attivate u "numeru di miri rilevati" è u "statu di destinazione". Questu filtra e misurazioni secondu u statu di destinazione (consultate a Sezione 5.5: Interpretazione di i risultati).

Ottene risultati à 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 vl53l7cx_check_data_ready (). Detecta un novu conte di flussu tornatu da u sensoru.
  • Modu d'interruzzione: aspetta una interruzzione risuscitata nantu à u pin A3 (GPIO1). L'interruzzione hè automaticamente cancellata dopu ~ 100 μs.

Quandu i novi dati sò pronti, i risultati ponu esse leghje cù a funzione vl53l7cx_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.

Utilizà u furmatu di firmware crudu

Dopu à trasfiriri i dati chì varieghja à traversu l 'I²C, 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: VL53L7CX

#define VL53L7CX_USE_RAW_FORMAT

Interpretazione di i risultati 

I dati restituiti da u VL53L7CX 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.

Tabella 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 (tipicamente 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 qualificazione di cunfidenza, un mira cù u statutu 5 hè cunsideratu cum'è 100% validu. Un statutu di 6 o 9 pò esse cunsideratu cun un valore di cunfidenza di 50%. Tutti l'altri stati sò sottu à u nivellu di cunfidenza di 50%.

Errori di driver

Quandu si verifica un errore cù u sensor VL53L7CX, u cunduttore torna un errore specificu. A tavula seguente lista i pussibuli errori.

Tabella 5. Lista di errori dispunibili cù u driver

Statu di destinazione Descrizzione
0 Nisun errore
127 L'utilizatore hà programatu un paràmetru incorrectu
(risoluzione scunnisciuta, frequenza di gamma troppu alta, ...)
255 Errore maiò. Di solitu un errore di timeout, per un errore I²C.
altru Cumminazione di parechji errori descritti sopra

Nota: L'ospite pò implementà più codici d'errore utilizendu a piattaforma files.

Storia di rivisione

Tabella 6. Storia di rivisione di documenti

Data Versione Cambiamenti
02-aostu-2022 1 Liberazione iniziale
02-sep-2022 2 Aghjurnatu Sezione Introduzione
Nota aghjunta nantu à a distanza minima trà i miri à Sezione 4.10: Multiple obiettivi per zona
21-Feb-2024 3 Aggiuntu VHV (voltage) à Sezione 1: Acronimi è abbreviazioni. Aggiuntu Sezione 4.14: Compensazione di temperatura periodica

Assistenza Clienti

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.
© 2024 STMicroelectronics - Tutti i diritti riservati

Logo

Documenti / Risorse

STMicroelectronics VL53L7CX Sensore di distanza multizona di u tempu di volu [pdfGuida di l'utente
VL53L7CX Sensore di distanza multizona di u tempu di volu, VL53L7CX, Sensore di distanza multizona di u tempu di volu, Sensore di distanza multizona di volu, Sensore di distanza multizona, Sensore di distanza

Referenze

Lascia un cumentu

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