Senzorski modul VL53L8CX
Uporabniški priročnik
Uvod
Namen tega uporabniškega priročnika je razložiti, kako ravnati s senzorjem časa leta (ToF) VL53L8X z uporabo API-ja ultra lite gonilnika (ULD). Opisuje glavne funkcije za programiranje naprave, kalibracije in izhodne rezultate.
VL53L8CX, ki temelji na tehnologiji FlightSense podjetja ST, vključuje učinkovito metapovršinsko lečo (DOE), nameščeno na laserski oddajnik, ki omogoča projekcijo kvadratnega vidnega polja 45° x 45° na sceno.
Njegova večconska zmogljivost zagotavlja matriko 8×8 con (64 con) in lahko deluje pri visokih hitrostih (60 Hz) do 400 cm.
Zahvaljujoč avtonomnemu načinu s programabilnim pragom razdalje je VL53L8CX popoln za vsako aplikacijo, ki zahteva zaznavanje uporabnikov z nizko porabo energije. Patentirani algoritmi ST in inovativna konstrukcija modula omogočajo VL53L8CX, da v vsakem območju zazna več objektov znotraj vidnega polja z globinskim razumevanjem. Algoritmi histograma ST zagotavljajo odpornost na preslušavanje pokrovnega stekla nad 60 cm.
Kot vsi senzorji časa leta (ToF), ki temeljijo na tehnologiji FlightSense podjetja ST, tudi VL53L8CX v vsakem območju beleži absolutno razdaljo ne glede na ciljno barvo in odbojnost.
V miniaturnem ohišju z možnostjo prelivanja, ki vključuje niz SPAD, VL53L8CX dosega najboljše zmogljivosti v različnih svetlobnih pogojih okolja in za širok nabor materialov pokrovnega stekla.
Vsi senzorji ST ToF vključujejo VCSEL, ki oddaja popolnoma nevidno 940 nm IR svetlobo, ki je popolnoma varna za oči (certifikat razreda 1).

Kratice in okrajšave
| Akronim/okrajšava | Opredelitev |
| DOE | difrakcijski optični element |
| FoV | področje view |
| I2C | interintegrirano vezje (serijsko vodilo) |
| Kcps/SPAD | Število kilogramov na sekundo na spad (enota, ki se uporablja za kvantificiranje število fotonov v nizu SPAD) |
| RAM | pomnilnik z naključnim dostopom |
| SCL | linija serijske ure |
| SDA | serijski podatki |
| SPAD | enofotonska lavinska dioda |
| ToF | Čas letenja |
| ULD | ultra lahek gonilnik |
| VCSEL | površinsko oddajajočo diodo z navpično votlino |
| Xtalk | preslušavanje |
Funkcionalni opis
2.1 Sistem končanview
Sistem VL53L8CX je sestavljen iz modula strojne opreme in programske opreme ultra lite gonilnika (VL53L8CX ULD), ki deluje na gostitelju (glejte spodnjo sliko). Modul strojne opreme vsebuje senzor ToF. STMicroelectronics zagotavlja programski gonilnik, ki je v tem dokumentu imenovan »gonilnik«. Ta dokument opisuje funkcije gonilnika, ki so dostopne gostitelju. Te funkcije nadzorujejo senzor in pridobivajo podatke o razponu.

2.2 Učinkovita orientacija
Modul vključuje lečo nad zaslonko RX, ki obrne (vodoravno in navpično) zajeto sliko tarče. Posledično je območje, označeno kot območje 0, v spodnjem levem kotu niza SPAD, osvetljeno s tarčo, ki se nahaja na zgornji desni strani scene.

2.3 Sheme in konfiguracija I2C/SPI
Komunikacijo med gonilnikom in vdelano programsko opremo upravlja I2C ali SPI. Največja zmogljivost I2C je 1 MHz, največja zmogljivost SPI pa 20 MHz. Implementacija vsakega komunikacijskega protokola zahteva dvige, kot je opisano v podatkovnem listu VL53L8CX.
Naprava VL53L8CX ima privzeti naslov I2C 0x52. Vendar pa je možno spremeniti privzeti naslov, da se izognete konfliktom z drugimi napravami ali olajšate dodajanje več modulov VL53L8CX v sistem za večjo sistemsko vidnost. Naslov I2C je mogoče spremeniti s funkcijo vl53l8cx_set_i2c_address(). Za uporabo SPI je multisenzor povezan z neodvisno podrejeno konfiguracijo (pin NCS).


Če želite napravi omogočiti spremembo naslova I2C, ne da bi to vplivalo na druge na vodilu I2C, je pomembno, da
onemogočite komunikacijo I2C naprav, ki se ne spreminjajo. Postopek je naslednji:
- Vklopite sistem kot običajno.
- Povlecite navzdol pin LPn naprave, ki ji naslov ne bo spremenjen.
- Izvlecite pin LPn naprave, ki ima spremenjen naslov I2C.
- Programirajte naslov I2C za napravo s funkcijo funkcije set_i2c_address().
- Povlecite navzgor pin LPn naprave, ki je ne reprogramirate.
Vse naprave bi morale biti zdaj na voljo na vodilu I2C. Ponovite zgornje korake za vse naprave v sistemu, ki zahtevajo nov naslov I2C.
Vsebina paketa in pretok podatkov
3.1 Arhitektura in vsebina gonilnika
Paket VL53L8CX ULD je sestavljen iz štirih map. Gonilnik se nahaja v mapi /VL53L8CX_ULD_API.
Voznik je sestavljen iz obveznih in neobveznih files. Neobvezno files so plugins uporablja se za razširitev funkcij ULD.
Vsak vtičnik se začne z besedo »vl53l8cx_plugin« (npr. vl53l8cx_plugin_xtalk.h). Če uporabnik ne želi predlaganega plugins, jih je mogoče odstraniti, ne da bi to vplivalo na druge funkcije gonilnika. Naslednja slika predstavlja obvezno files in neobvezno plugins.
Opomba:
Uporabnik mora implementirati tudi dva filese nahaja v mapi /Platforma. Predlagana platforma je prazna lupina in jo je treba napolniti z namenskimi funkcijami.
Platforma.h file vsebuje obvezne makre za uporabo ULD. Vse file vsebina je obvezna za pravilno uporabo ULD.
3.2 Kalibracijski tok
Navzkrižni presluh (Xtalk) je definiran kot količina signala, prejetega na nizu SPAD, ki je posledica odboja svetlobe VCSEL znotraj zaščitnega okna (pokrivnega stekla), dodanega na vrhu modula. Modul VL53L8CX je samokalibriran in se lahko uporablja brez dodatne kalibracije.
Če je modul zaščiten s prekrivnim steklom, bo morda potrebna kalibracija Xtalk. VL53L8CX je zaradi histogramskega algoritma odporen na Xtalk nad 60 cm. Vendar pa je na kratkih razdaljah pod 60 cm lahko Xtalk večji od dejanskega vrnjenega signala. To povzroči lažno branje tarče ali povzroči, da so tarče videti bližje, kot so v resnici. Vse funkcije umerjanja Xtalk so vključene v vtičnik Xtalk (izbirno). Uporabnik mora uporabiti file 'vl53l8cx_plugin_xtalk'.
Xtalk je mogoče umeriti enkrat, podatke pa je mogoče shraniti, tako da jih je mogoče pozneje ponovno uporabiti. Zahtevana je tarča na fiksni razdalji z znano odbojnostjo. Najmanjša zahtevana razdalja je 600 mm, tarča pa mora pokrivati celotno vidno polje. Odvisno od nastavitve lahko uporabnik spremeni nastavitve, da prilagodi kalibracijo Xtalk, kot je predlagano v naslednji tabeli.
Tabela 1. Razpoložljive nastavitve za umerjanje
| Nastavitev | Min | Predlagatelj STMicroelectronics |
Maks |
| Razdalja [mm] | 600 | 600 | 3000 |
| Število samples | 1 | 4 | 16 |
| Odboj [%] | 1 | 3 | 99 |
Opomba:
Povečanje števila samples poveča natančnost, vendar tudi podaljša čas za kalibracijo. Čas glede na število sampje linearna in vrednosti sledijo približni časovni omejitvi:
- 1 sample ≈ 1 sekunda
- 4 sampmanj ≈ 2.5 sekunde
- 16 sampmanj ≈ 8.5 sekunde
Umerjanje se izvede s funkcijo vl53l8cx_calibrate_xtalk(). To funkcijo lahko uporabite kadar koli.
Vendar je treba senzor najprej inicializirati. Naslednja slika predstavlja potek kalibracije xtalk.
Slika 7. Potek kalibracije Xtalk

3.3 Določanje toka
Naslednja slika predstavlja pretok razdalje, ki se uporablja za meritve. Pred začetkom seje določanja razdalje je treba uporabiti kalibracijo Xtalk in izbirne funkcijske klice. Funkcij pridobivanja/nastavljanja ni mogoče uporabiti med sejo določanja obsega in programiranje 'on-the-fly' ni podprto.

Funkcije, ki so na voljo
VL53L8CX ULD API vključuje več funkcij, ki uporabniku omogočajo nastavitev senzorja glede na primer uporabe. Vse funkcije, ki so na voljo vozniku, so opisane v naslednjih razdelkih.
4.1 Inicializacija
Pred uporabo senzorja VL53L8CX je treba izvesti inicializacijo. Ta operacija od uporabnika zahteva:
- Vklopite senzor (zatiči VDDIO, AVDD, CORE_1V8 in LPn nastavljeni na High
- Pokličite funkcijo vl53l8cx_init(). Funkcija kopira vdelano programsko opremo (~84 Kbajtov) v modul. To storite tako, da naložite kodo prek vmesnika I2C/SPI in izvedete zagonsko rutino za dokončanje inicializacije.
4.2 Upravljanje ponastavitve senzorja
Za ponastavitev naprave je treba preklopiti naslednje zatiče:
- Nastavite nožice VDDIO, AVDD in CORE_1V8 na nizko.
- Počakajte 10 ms.
- Nastavite nožice VDDIO, AVDD in CORE_1V8 na visoko.
Opomba:
Preklop samo I2C_RST pina ponastavi komunikacijo I2C.
4.3 Ločljivost
Ločljivost ustreza številu razpoložljivih območij. Senzor VL53L8CX ima dve možni ločljivosti: 4×4 (16 con) in 8×8 (64 con). Privzeto je senzor programiran v 4×4.
Funkcija vl53l8cx_set_resolution() omogoča uporabniku spreminjanje ločljivosti. Ker je frekvenca določanja obsega odvisna od ločljivosti, je treba to funkcijo uporabiti pred posodobitvijo frekvence določanja obsega. Poleg tega spreminjanje ločljivosti poveča tudi velikost prometa na vodilu I2C/SPI, ko se preberejo rezultati.
4.4 Frekvenca določanja razdalje
Frekvenco merjenja lahko uporabite za spreminjanje frekvence merjenja. Ker se največja frekvenca med ločljivostmi 4×4 in 8×8 razlikuje, je treba to funkcijo uporabiti po izbiri ločljivosti. Najmanjše in največje dovoljene vrednosti so navedene v naslednji tabeli.
Tabela 2. Najmanjša in največja frekvenca razdalje
| Resolucija | Najmanjša frekvenca razdalje [Hz] | Največja frekvenca razdalje [Hz] |
| 4×4 | 1 | 60 |
| 8×8 | 1 | 15 |
Frekvenco dometa je mogoče posodobiti s funkcijo vl53l8cx_set_ranging_frequency_hz(). Privzeto je frekvenca določanja obsega nastavljena na 1 Hz.
4.5 Način določanja razdalje
Način določanja obsega omogoča uporabniku izbiro med doseganjem visoke zmogljivosti ali nizko porabo energije.
Predlagana sta dva načina:
- Neprekinjeno: Naprava neprekinjeno zajema okvirje s frekvenco razdalje, ki jo določi uporabnik. VCSEL je omogočen med vsem določanjem razdalje, zato sta največja razdalja dosega in odpornost okolja boljši. Ta način je priporočljiv za hitre meritve ali visoke zmogljivosti.
- Avtonomno: To je privzeti način. Naprava nenehno zajema okvirje s frekvenco razpona, ki jo določi uporabnik. VCSEL je omogočen v obdobju, ki ga določi uporabnik s funkcijo vl53l8cx_set_integration_time_ms(). Ker VCSEL ni vedno omogočen, se poraba energije zmanjša. Prednosti so bolj očitne z zmanjšano frekvenco dosega. Ta način je priporočljiv za aplikacije z nizko porabo energije.
Način določanja obsega lahko spremenite s funkcijo vl53l8cx_set_ranging_mode().
4.6 Čas integracije
Čas integracije je funkcija, ki je na voljo samo v načinu avtonomnega določanja obsega (glejte razdelek 4.5 Način določanja obsega).
Uporabniku omogoča spreminjanje časa, medtem ko je VCSEL omogočen. Spreminjanje časa integracije, če je način določanja obsega nastavljen na neprekinjeno, nima učinka. Privzeti čas integracije je nastavljen na 5 ms.
Učinek časa integracije je drugačen za ločljivosti 4×4 in 8×8. Ločljivost 4 × 4 je sestavljena iz enega integracijskega časa, ločljivost 8 × 8 pa je sestavljena iz štirih integracijskih časov. Naslednje številke predstavljajo emisijo VCSEL za obe ločljivosti.

Vsota vseh integracijskih časov + 1 ms obremenitev mora biti nižja od obdobja merjenja. V nasprotnem primeru se obdobje razpona samodejno poveča.
4.7 Načini napajanja
Načine napajanja lahko uporabite za zmanjšanje porabe energije, ko naprave ne uporabljate. VL53L8CX lahko deluje v enem od naslednjih načinov napajanja:
- Prebujanje: Naprava je nastavljena na mirovanje HP (velika moč) in čaka na navodila.
- Spanje: Naprava je nastavljena na mirovanje LP (nizka poraba), stanje nizke porabe. Naprave ni mogoče uporabljati, dokler ni nastavljena v način bujenja. Ta način ohrani vdelano programsko opremo in konfiguracijo.
Način napajanja lahko spremenite s funkcijo vl53l8cx_set_power_mode(). Privzeti način je bujenje.
Opomba:
Če želi uporabnik spremeniti način napajanja, naprava ne sme biti v stanju dosega.
4.8 šilček
Signal, ki ga vrne cilj, ni čist impulz z ostrimi robovi. Robovi so nagnjeni in lahko vplivajo na razdalje, ki so sporočene v sosednjih območjih. Ostrilec se uporablja za odstranitev dela ali celotnega signala, ki ga povzroči bleščanje.
Bivšiample, prikazan na naslednji sliki, predstavlja bližnjo tarčo na 100 mm s središčem v vidnem polju in drugo tarčo, bolj zadaj na 500 mm. Odvisno od vrednosti ostrenja se lahko bližnja tarča pojavi na več območjih kot dejanska.
Slika 11. Example scene z uporabo več vrednosti ostrenja

Ostrilo lahko spremenite s funkcijo vl53l8cx_set_sharpener_percent(). Dovoljene vrednosti so med 0 % in 99 %. Privzeta vrednost je 5 %.
4.9 Ciljni vrstni red
VL53L8CX lahko meri več ciljev na območje. Zahvaljujoč obdelavi histograma lahko gostitelj izbere vrstni red prijavljenih ciljev. Obstajata dve možnosti:
- Najbližje: Najbližja tarča je prva prijavljena
- Najmočnejši: najmočnejši cilj je prvi prijavljeni
Ciljni vrstni red je mogoče spremeniti s funkcijo vl53l8cx_set_target_order(). Privzeti vrstni red je Najmočnejši.
Bivšiample na naslednji sliki predstavlja zaznavanje dveh tarč. Ena na 100 mm z nizko refleksijo in ena na 700 mm z visoko refleksijo.

4.10 Več tarč na cono
VL53L8CX lahko meri do štiri tarče na območje. Uporabnik lahko konfigurira število tarč, ki jih vrne senzor.
Opomba:
Najmanjša razdalja med dvema ciljema, ki ju je treba zaznati, je 600 mm.
Izbira ni možna pri vozniku; to je treba narediti v 'platform.h' file. Makro
VL53L8CX_NB_ TARGET_PER_ZONE je treba nastaviti na vrednost med 1 in 4. Ciljni vrstni red, opisan v razdelku 4.9 Ciljni vrstni red, neposredno vpliva na vrstni red zaznanega cilja. Privzeto senzor odda največ en cilj na območje.
Opomba:
Povečano število ciljev na območje poveča zahtevano velikost RAM-a.
4.11 Marža Xtalk
Rob Xtalk je dodatna funkcija, ki je na voljo samo z uporabo vtičnika Xtalk. .c in .f fileUporabiti je treba 'vl53l8cx_plugin_xtalk'.
Rob se uporablja za spreminjanje praga zaznavanja, ko je na vrhu senzorja prisotno pokrivno steklo. Po nastavitvi kalibracijskih podatkov Xtalk lahko prag povečate, da zagotovite, da pokrovno steklo ni nikoli zaznano.
Na primerample, lahko uporabnik zažene kalibracijo Xtalk na eni sami napravi in ponovno uporabi iste kalibracijske podatke za vse druge naprave. Rob Xtalk lahko uporabite za prilagoditev popravka Xtalk. Spodnja slika predstavlja rob Xtalk.
Slika 13. Rob Xtalk

4.12 Mejne vrednosti zaznavanja
Poleg običajnih zmožnosti določanja razdalje je senzor mogoče programirati tako, da zazna predmet pod določenimi vnaprej določenimi kriteriji. Ta funkcija je na voljo z uporabo vtičnika »pragi zaznavanja«, ki je možnost, ki ni privzeto vključena v API. The fileUporabiti je treba 'vl53l8cx_plugin_detection_thresholds'.
Funkcijo je mogoče uporabiti za sprožitev prekinitve na pinu A1 (INT), ko so izpolnjeni pogoji, ki jih določi uporabnik. Obstajajo tri možne konfiguracije:
- Ločljivost 4 × 4: uporaba 1 praga na območje (skupno 16 pragov)
- Ločljivost 4 × 4: uporaba 2 pragov na območje (skupno 32 pragov)
- Ločljivost 8 × 8: uporaba 1 praga na območje (skupno 64 pragov)
Ne glede na uporabljeno konfiguracijo sta postopek za ustvarjanje pragov in velikost RAM-a enaka. Za vsako kombinacijo pragov je treba izpolniti več polj: - Zone id: ID izbranega območja (glejte razdelek 2.2 Učinkovita orientacija)
- Meritev: meritev za ulov (razdalja, signal, število SPAD-jev, …)
- Vrsta: okna meritev (v oknih, izven oken, pod nizkim pragom, …)
- Nizek prag: uporabnik nizkega praga za sprožilec. Uporabniku ni treba nastaviti formata, samodejno ga obravnava API.
- High threshold: uporabnik z visokim pragom za sprožilec. Uporabniku ni treba nastaviti formata, samodejno ga obravnava API.
- Matematična operacija: uporablja se samo za 4×4 – 2 kombinaciji pragov na območje. Uporabnik lahko nastavi kombinacijo z uporabo več pragov v enem območju.
4.13 Prekinitev samodejne zaustavitve
Funkcija samodejne zaustavitve prekinitve se uporablja za prekinitev seje določanja obsega med meritvijo. Privzeto senzorja ni mogoče ustaviti med meritvijo, ker je treba dokončati meritve okvirja. Z uporabo samodejne zaustavitve pa se meritve okvirja prekinejo, ko se sproži prekinitev.
Funkcija samodejne ustavitve je uporabna, če je kombinirana s pragom zaznavanja. Ko je cilj zaznan, se trenutna meritev samodejno prekine. Autostop je mogoče uporabiti v stroju stanja stranke za hiter preklop na drugo konfiguracijo senzorja.
Funkcijo samodejne zaustavitve prekinitve lahko omogočite s funkcijo vl53l8cx_set_detection_threshold_auto_stop().
Po prekinitvi meritve je priporočljivo zaustaviti senzor s funkcijo vl53l8cx_stop_ranging().
4.14 Indikator gibanja
Senzor VL53L8CX ima vgrajeno funkcijo vdelane programske opreme, ki omogoča zaznavanje gibanja v prizoru. Indikator gibanja se izračuna med zaporednimi sličicami. Ta možnost je na voljo z uporabo vtičnika 'vl53l8cx_plugin_motion_indicator'.
Indikator gibanja se inicializira s funkcijo vl53l8cx_motion_indicator_init(). Če želi uporabnik spremeniti ločljivost senzorja, mora posodobiti ločljivost indikatorja gibanja z namensko funkcijo: vl53l8cx_motion_indicator_set_resolution().
Uporabnik lahko spremeni tudi najmanjšo in največjo razdaljo za zaznavanje gibanja. Razlika med najmanjšo in največjo razdaljo ne sme biti večja od 1500 mm. Privzeto so razdalje inicializirane z vrednostmi med 400 mm in 1500 mm.
Rezultati so shranjeni v polju 'motion_indicator'. V tem polju matrika 'motion' daje vrednost, ki vsebuje intenzivnost gibanja na območje. Visoka vrednost pomeni veliko variacijo gibanja med sličicami. Običajno gibanje daje vrednost med 100 in 500. Ta občutljivost je odvisna od časa integracije, ciljne razdalje in ciljne refleksije.
Idealna kombinacija za aplikacije z nizko porabo energije je uporaba indikatorja gibanja z načinom avtonomnega določanja obsega in pragov zaznavanja, programiranih glede na gibanje. To omogoča zaznavanje variacij gibanja v FoV z minimalno porabo energije.
4.15 Zunanji sinhronizacijski zatič
Zunanji prožilni vir se lahko uporablja za sinhronizacijo pridobitev. Ko je zunanja sinhronizacija omogočena, VL53L8CX čaka na prekinitev na zatiču SYNC, da začne naslednji zajem. Za uporabo te funkcije mora biti priključek SYNC (B1) priključen, kot je opisano v podatkovnem listu izdelka.
Za uporabo zunanje sinhronizacije ni posebnih zahtev. Vendar pa mora biti frekvenca določanja območja VL53L8CX višja od frekvence zunanjega signala.
Zunanjo sinhronizacijo lahko omogočite ali onemogočite s funkcijo vl53l8cx_set_external_sync_pin_enable(). Razvrščanje lahko zaženete kot običajno z uporabo funkcije vl53l8cx_start_ranging(). Ko uporabnik želi ustaviti senzor, je priporočljivo, da preklopi zatič SYNC, da prekine začasno zaustavitev vdelane programske opreme VL53L8CX.
Lokalni tok za uporabo zunanjega sinhronizacijskega zatiča je prikazan spodaj v razdelku 4.15.
Slika 14. Zunanji sinhronizacijski tok

Razvrščanje rezultatov
5.1 Razpoložljivi podatki
Med dejavnostmi določanja razdalje se lahko izpiše obsežen seznam ciljev in podatkov o okolju. Naslednja tabela opisuje parametre, ki so na voljo uporabniku.
Tabela 3. Razpoložljiv izhod s senzorjem VL53L8CX
|
Element |
Nb bajtov (RAM) | Enota |
Opis |
| Ambient na SPAD | 256 | Kcps/SPAD | Merjenje ambientalne hitrosti, izvedeno na nizu SPAD, brez aktivne emisije fotonov, za merjenje ambientalne hitrosti signala zaradi šuma. |
| Število odkritih ciljev |
64 |
Noben | Število odkritih ciljev v trenutnem območju. To vrednost bi morali najprej preveriti, da bi ugotovili veljavnost meritve. |
| Število omogočenih SPAD | 256 | Noben | Število SPAD-ov, omogočenih za trenutno meritev. Daleč ali nizko odsevna tarča bo aktivirala več SPAD. |
|
Signal na SPAD |
256 x nb programiranih ciljev |
Kcps/SPAD |
Količina fotonov, izmerjena med VCSEL
pulz. |
|
Razpon sigma |
128 x nb programiranih ciljev |
Milimeter |
Ocenjevalnik sigma za hrup v prijavljeni ciljni razdalji. |
|
Razdalja |
128 x nb programiranih ciljev | Milimeter | Ciljna razdalja |
| Ciljno stanje | 64 x nb programiranih ciljev | Noben | Veljavnost meritev. Za več informacij glejte razdelek 5.5 Razlaga rezultatov. |
| Odbojnost | 64 x število programiranih tarč | Odstotek | Ocenjena ciljna refleksija v odstotkih |
| Indikator gibanja | 140 | Noben | Struktura, ki vsebuje rezultate indikatorja gibanja. Polje 'gibanje' vsebuje intenzivnost gibanja. |
Opomba:
Za več elementov (signal na spad, sigma, …) je dostop do podatkov drugačen, če je uporabnik programiral več kot 1 cilj na cono (glejte razdelek 4.10 Več ciljev na cono). Glej prample kode za več informacij.
5.2 Prilagodite izbiro izhoda
Privzeto so omogočeni vsi izhodi VL53L8CX. Po potrebi lahko uporabnik onemogoči nekatere izhode senzorjev.
Onemogočanje meritev ni na voljo v gonilniku; izvesti ga je treba v 'platform.h' file. Uporabnik lahko deklarira naslednje makre, da onemogoči izhode:
#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 _IZKLOP_INDIKATORJA GIBANJA
Posledično se polja ne navedejo v strukturi rezultatov in podatki se ne prenesejo v gostitelja.
Velikost RAM-a in velikost I2C/SPI sta zmanjšani.
Da bi zagotovili doslednost podatkov, ST priporoča, da sta vedno omogočena »število zaznanih ciljev« in »status cilja«. Omogoča filtriranje meritev glede na ciljni status (glejte razdelek 5.5 Razlaga rezultatov).
5.3 Pridobivanje rezultatov določanja obsega
Med sejo določanja obsega lahko na dva načina ugotovite, ali so na voljo novi podatki o določanju obsega:
- Način pozivanja: neprekinjeno uporablja funkcijo vl53l8cx_check_data_ready(). Zazna novo število tokov, ki ga vrne senzor.
- Prekinitveni način: čaka na prekinitev, sproženo na nožici A1 (INT). Prekinitev se samodejno počisti po ~100 μs.
Ko so novi podatki pripravljeni, je mogoče rezultate prebrati s funkcijo vl53l8cx_get_ranging_data(). Vrne posodobljeno strukturo, ki vsebuje vse izbrane izhodne podatke. Ker je naprava asinhrona, ni prekinitve, ki bi jo bilo treba izbrisati za nadaljevanje seje določanja obsega.
Ta funkcija je na voljo za neprekinjen in avtonomni način določanja obsega.
5.4 Uporaba neobdelane oblike vdelane programske opreme
Po prenosu podatkov o razponu prek I2C/SPI pride do pretvorbe med formatom vdelane programske opreme in formatom gostitelja. Ta operacija se običajno izvede, da je razdalja v milimetrih kot privzeti izhod senzorja. Če želi uporabnik uporabiti format vdelane programske opreme, mora biti v platformi definiran naslednji makro file:
VL53L8CX#define VL53L8CX _USE_RAW_FORMAT
5.5 Interpretacija rezultatov
Podatke, ki jih vrne VL53L8CX, je mogoče filtrirati, da se upošteva ciljni status. Status označuje veljavnost meritve. Celoten seznam statusov je opisan v naslednji tabeli.
Tabela 4. Seznam razpoložljivih ciljnih statusov
| Ciljno stanje | Opis |
| 0 | Podatki o razponu se ne posodabljajo |
| 1 | Stopnja signala je prenizka na nizu SPAD |
| 2 | Ciljna faza |
| 3 | Ocenjevalnik sigma je previsok |
| 4 | Ciljna skladnost ni uspela |
| 5 | Razpon veljaven |
| 6 | Zavijanje ni izvedeno (običajno prvi obseg) |
| 7 | Doslednost stopnje ni uspela |
| 8 | Stopnja signala je prenizka za trenutni cilj |
| 9 | Domet velja z velikim utripom (morda zaradi združenega cilja) |
| 10 | Domet je veljaven, vendar na prejšnjem dosegu ni bila zaznana nobena tarča |
| 11 | Doslednost meritev ni uspela |
| 12 | Zaradi ostrila je tarča zamegljena z drugo |
| 13 | Tarča zaznana, vendar nedosledni podatki. Pogosto se zgodi pri sekundarnih ciljih. |
| 255 | Ni zaznane tarče (samo če je omogočeno število zaznanih tarč) |
Za dosledne podatke mora uporabnik filtrirati neveljavno ciljno stanje. Za oceno zaupanja se cilj s statusom 5 obravnava kot 100 % veljaven. Stanje 6 ali 9 se lahko obravnava z vrednostjo zaupanja 50 %. Vsa ostala stanja so pod 50 % stopnjo zaupanja.
5.6 Napake gonilnika
Ko pride do napake pri uporabi senzorja VL53L8CX, gonilnik vrne določeno napako. Naslednja tabela navaja možne napake.
Tabela 5. Seznam napak, ki so na voljo z gonilnikom
| Ciljno stanje | Opis |
| 0 | Brez napake |
| 127 | Uporabnik je programiral napačno nastavitev (neznana ločljivost, previsoka frekvenca razpona, …) |
| 255 | Večja napaka. Običajno napaka časovne omejitve zaradi napake I2C/SPI. |
| drugo | Zgoraj opisana kombinacija več napak |
Opomba:
Več kod napak lahko implementira gostitelj s platformo files.
Tabela 6. Zgodovina revizij dokumenta
| Datum | Različica | Spremembe |
| 13. januarja 23 | 1 | Začetna izdaja |
POMEMBNO OBVESTILO – POZORNO PREBERITE
STMicroelectronics NV in njegove hčerinske družbe (»ST«) si pridržujejo pravico do sprememb, popravkov, izboljšav, modifikacij in izboljšav izdelkov ST in/ali tega dokumenta kadar koli brez predhodnega obvestila. Kupci morajo pred oddajo naročil pridobiti najnovejše ustrezne informacije o izdelkih ST. Izdelki ST se prodajajo v skladu s prodajnimi pogoji ST, ki veljajo v času potrditve naročila.
Kupci so izključno odgovorni za izbiro, izbiro in uporabo izdelkov ST in ST ne prevzema nobene odgovornosti za pomoč pri uporabi ali oblikovanje izdelkov kupcev.
ST v tem dokumentu ne podeljuje nobene licence, izrecne ali implicitne, za katero koli pravico do intelektualne lastnine.
Nadaljnja prodaja izdelkov ST z določbami, ki se razlikujejo od informacij, navedenih v tem dokumentu, razveljavi vsako garancijo, ki jo ST odobri za tak izdelek.
ST in logotip ST sta blagovni znamki ST. Za dodatne informacije o blagovnih znamkah ST glejte www.st.com/trademarks. Vsa druga imena izdelkov ali storitev so last njihovih lastnikov.
Informacije v tem dokumentu prevladajo in nadomeščajo informacije, ki so bile predhodno navedene v kateri koli prejšnji različici tega dokumenta.
© 2023 STMicroelectronics – Vse pravice pridržane
Dokumenti / Viri
![]() |
Senzorski modul ST VL53L8CX [pdfUporabniški priročnik UM3109, VL53L8CX senzorski modul, VL53L8CX, senzorski modul, modul |




