STMicroelectronics VL53L5CX Multizone Time of Flight Range Sensor

STMicroelectronics VL53L5CX Multizone Time of Flight Range Sensor

Introduzione

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

U VL53L5CX hè un statu di l'arti, ToF, sensore multizona chì rinforza a famiglia di prudutti STMicroelectronics Flight Sense. Allughjatu in un pacchettu reflowable in miniatura, integra una matrice SPAD, filtri infrarossi fisici è elementi ottici diffrattivi (DOE) per ottene u megliu rendimentu di varieghja in diverse cundizioni di illuminazione ambientale cù una gamma di materiali di vetru di copertura.

E misurazioni di distanza multizona sò pussibuli finu à 8 × 8 zoni cù un largu campu diagonale di 63 ° view (FoV) chì pò esse
ridutta da u software. Ogni zona di u VL53L5CX misura a distanza di u mira finu à 4 metri, à una frequenza massima di 60 Hz.

Grazie à l'algoritmi di istogramma patentati da STMicroelectronics, u VL53L5CX hè capaci di detectà diversi oggetti in u FoV.
L'istogramma furnisce ancu immunità per copre a diafonia di vetru oltre 60 cm.
Introduzione

Referenze
Scheda dati VL53L5CX (DS13754).

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 VL53L5CX hè cumpostu da un modulu di hardware è u software di driver ultra lite (VL53L5CX 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.
Sistema finituview

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.
Orientazione efficace

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 scheda di dati VL53L5CX per più infurmazione.
U dispusitivu VL53L5CX 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 VL53L5CX à u sistema per un sistema FoV più grande. L'indirizzu I²C pò esse cambiatu cù a funzione vl53l5cx_set_i2c_address().

Schematici è cunfigurazione I²C

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 VL53L5CX 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 VL53L5CX ULD hè cumpostu di quattru cartulare. U driver hè situatu in u cartulare / VL53L5CX_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 "vl53l5cx_plugin" (per esempiu vl53l5cx_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.
Architettura di driver è cuntenutu

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: Piattaforma.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è duvuta à a riflessione di luce VCSEL in a finestra protettiva (vetru di coperta) aghjuntu nantu à u modulu. U modulu VL53L5CX 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 VL53L5CX hè immune à crosstalk 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 di crosstalk sò incluse in un plugin Xtalk (opcional). L'utilizatore hà bisognu à aduprà file 'vl53l5cx_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.

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 vl53l5cx_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.
Flussu di calibrazione

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.
Flussu chì varieghja

Funzioni dispunibili

L'API VL53L5CX 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 VL53L5CX. 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 vl53l5cx_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 VL53L5CX hà duie risoluzioni pussibuli: 4 × 4 (zoni 16) è 8 × 8 (zoni 64). Per automaticamente, u sensoru hè programatu in 4 × 4.
A funzione vl53l5cx_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. 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.

Table 2. Minimu è massimu frequenze chì varieghja

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 vl53l5cx_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 definita da l'utilizatore. U VCSEL hè attivatu durante un periodu definitu da l'utilizatore, utilizendu a funzione vl53l5cx_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 vl53l5cx_set_ranging_mode ().

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 modu di variazione 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.
Tempu di integrazione

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.

Modi di putenza

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

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

Ordine di destinazione

U VL53L5CX 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 vl53l5cx_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.

Ordine di destinazione

Obiettivi multipli per zona

U VL53L5CX 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 VL53L5CX_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 'vl53l5cx_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.
margine Xtalk

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 'vl53l5cx_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 VL53L5CX 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 'vl53l5cx_plugin_motion_indicator'.

L'indicatore di muvimentu hè inizializatu cù a funzione vl53l5cx_motion_indicator_init(). Per cambià a risoluzione di u sensoru, aghjurnà a risoluzione di l'indicatore di muvimentu utilizendu a funzione dedicata: vl53l5cx_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 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 sensoru VL53L5CX incorpora una compensazione di temperatura chì hè calibrata una volta quandu u streaming principia. In ogni casu, se a temperatura evoluzione, a compensazione pò esse micca 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 vl53l5cx_set_VHV_repeat_count ().
• Allora, dà u numeru di frames trà ogni nova calibration comu 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.

Table 3. Uscita disponibile cù sensor VL53L5CX

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 VL53L5CX sò attivati. Se necessariu, l'utilizatore pò disattivà alcune uscite di sensori.
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 VL53L5CX_DISABLE_AMBIENT_PER_SPAD
#define VL53L5CX_DISABLE_NB_SPADS_ENABLED
#define VL53L5CX_DISABLE_NB_TARGET_DETECTED
#define VL53L5CX_DISABLE_SIGNAL_PER_SPAD
#define VL53L5CX_DISABLE_RANGE_SIGMA_MM
#define VL53L5CX_DISABLE_DISTANCE_MM
#define VL53L5CX_DISABLE_TARGET_STATUS
#define VL53L5CX_DISABLE_REFLECTANCE_PERCENT
#define VL53L5CX_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 vl53l5cx_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 vl53l5cx_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: VL53L5CX
#define VL53L5CX_USE_RAW_FORMAT

Interpretazione di i risultati

I dati restituiti da u VL53L5CX 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 dispunibuli

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 VL53L5CX, u cunduttore torna un errore specificu. A tavula seguente lista i pussibuli errori.

Table 5. Lista di errori disponibile 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 

Table 6. Storia di rivisione di documenti

Data Versione Cambiamenti
21-ghjugnu-2021 1 Liberazione iniziale
30-aostu-2021 2 Aggiuntu Sezione 5.4: Utilizà u furmatu di firmware crudu

Aggiuntu novu statu di destinazione 13 in Table 4. Lista di u statu di destinazione dispunibule

05-sep-2022 3 Nota aghjunta nantu à a distanza minima minima trà i miri à Sezione 4.10: Obiettivi multipli per zona
10-aostu-2023 4 Modificatu Figura 11. Esample di histogramma cù dui miri
21-Feb-2024 5 Aggiuntu VHV (voltage) à Sezione 1: Acronimi è abbreviazioni.
Aggiuntu Sezione 4.14: Compensazione di temperatura periodica

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 VL53L5CX Multizone Time of Flight Range Sensor [pdfManuale d'usu
VL53L5CX Sensore di distanza multizona di u tempu di u volu, VL53L5CX, Sensore di distanza multizona di u tempu di u volu, Sensore di distanza di u tempu di u volu, Sensore di distanza di volu, Sensore di distanza, Sensore

Referenze

Lascia un cumentu

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