Senzorový modul VL53L8CX
Uživatelská příručka
Zavedení
Účelem této uživatelské příručky je vysvětlit, jak zacházet se senzorem VL53L8X Time-of-Flight (ToF) pomocí rozhraní API ultra lite driveru (ULD). Popisuje hlavní funkce pro programování zařízení, kalibrace a výstupní výsledky.
Model VL53L8CX, založený na technologii FlightSense společnosti ST, obsahuje účinnou čočku s metasurface (DOE) umístěnou na laserovém emitoru, která umožňuje projekci čtvercového FoV o velikosti 45° x 45° na scénu.
Jeho vícezónová schopnost poskytuje matici 8×8 zón (64 zón) a může pracovat vysokou rychlostí (60 Hz) až do 400 cm.
Díky autonomnímu režimu s programovatelným prahem vzdálenosti je VL53L8CX perfektní pro jakoukoli aplikaci vyžadující detekci uživatele s nízkou spotřebou. Patentované algoritmy ST a inovativní konstrukce modulů umožňují VL53L8CX detekovat v každé zóně více objektů v rámci FoV s hloubkovým porozuměním. Algoritmy histogramu ST zajišťují odolnost proti přeslechům krycího skla nad 60 cm.
Stejně jako všechny senzory Time-of-Flight (ToF) založené na technologii FlightSense ST zaznamenává VL53L8CX v každé zóně absolutní vzdálenost bez ohledu na barvu a odrazivost cíle.
VL53L8CX, umístěný v miniaturním přetavitelném obalu, který integruje pole SPAD, dosahuje nejlepšího rozsahu výkonu v různých okolních světelných podmínkách a pro širokou škálu materiálů krycího skla.
Všechny ToF senzory ST integrují VCSEL, který vyzařuje plně neviditelné 940 nm IR světlo, které je zcela bezpečné pro oči (certifikace třídy 1).
Zkratky a zkratky
Zkratka/zkratka | Definice |
SRNA | difrakční optický prvek |
FoV | pole view |
I2C | meziintegrovaný obvod (sériová sběrnice) |
Kcps/SPAD | Kilo-počet za sekundu na spad (jednotka použitá ke kvantifikaci počet fotonů do pole SPAD) |
BERAN | paměť s náhodným přístupem |
SCL | sériová hodinová linka |
SDA | sériová data |
SPAD | jednofotonová lavinová dioda |
ToF | Čas letu |
ULD | ultra lite ovladač |
VCSEL | svislá dutina povrch emitující dioda |
Xtalk | přeslechy |
Funkční popis
2.1 Konec systémuview
Systém VL53L8CX se skládá z hardwarového modulu a softwaru ultra lite ovladače (VL53L8CX ULD) běžícího na hostiteli (viz obrázek níže). Hardwarový modul obsahuje snímač ToF. STMicroelectronics dodává softwarový ovladač, který je v tomto dokumentu označován jako „ovladač“. Tento dokument popisuje funkce ovladače, které jsou přístupné hostiteli. Tyto funkce řídí senzor a získávají údaje o dosahu.
2.2 Efektivní orientace
Součástí modulu je čočka přes clonu RX, která překlápí (horizontálně i vertikálně) pořízený snímek cíle. V důsledku toho je zóna označená jako zóna 0 v levé dolní části pole SPAD osvětlena terčem umístěným v pravé horní části scény.
2.3 Schémata a konfigurace I2C/SPI
Komunikaci mezi ovladačem a firmwarem zajišťuje I2C nebo SPI. Maximální kapacita I2C je 1 MHz a maximální kapacita SPI je 20 MHz. Implementace každého komunikačního protokolu vyžaduje pull up, jak je popsáno v datovém listu VL53L8CX.
Zařízení VL53L8CX má výchozí I2C adresu 0x52. Je však možné změnit výchozí adresu, aby se předešlo konfliktům s jinými zařízeními, nebo aby se usnadnilo přidání více modulů VL53L8CX do systému pro větší systémové FoV. Adresu I2C lze změnit pomocí funkce vl53l8cx_set_i2c_address(). Pro použití SPI je multisenzor zapojen pomocí nezávislé podřízené konfigurace (pin NCS).
Aby bylo možné zařízení změnit jeho I2C adresu, aniž by to ovlivnilo ostatní na I2C sběrnici, je to důležité
zakázat komunikaci I2C zařízení, která se nemění. Postup je následující:
- Zapněte systém jako obvykle.
- Stáhněte kolík LPn zařízení, jehož adresa nebude změněna.
- Vytáhněte kolík LPn zařízení, které má změněnou adresu I2C.
- Naprogramujte I2C adresu do zařízení pomocí funkce set_i2c_address() funkce.
- Vytáhněte kolík LPn zařízení, které není přeprogramováno.
Všechna zařízení by nyní měla být dostupná na sběrnici I2C. Opakujte výše uvedené kroky pro všechna zařízení v systému, která vyžadují novou I2C adresu.
Obsah balíčku a datový tok
3.1 Architektura a obsah ovladače
Balíček VL53L8CX ULD se skládá ze čtyř složek. Ovladač se nachází ve složce /VL53L8CX_ULD_API.
Ovladač se skládá z povinného a nepovinného files. Volitelný files jsou plugins slouží k rozšíření funkcí ULD.
Každý plugin začíná slovem „vl53l8cx_plugin“ (např. vl53l8cx_plugin_xtalk.h). Pokud uživatel nechce navrhované plugins, lze je odstranit, aniž by to ovlivnilo ostatní funkce ovladače. Následující obrázek představuje povinné files a volitelné plugins.
Poznámka:
Uživatel také potřebuje implementovat dva filese nachází ve složce /Platform. Navrhovaná platforma je prázdná skořápka a musí být naplněna vyhrazenými funkcemi.
Platforma.h file obsahuje povinná makra pro použití ULD. Všechny file obsah je povinný pro správné použití ULD.
3.2 Kalibrační tok
Přeslechy (Xtalk) jsou definovány jako množství signálu přijatého na poli SPAD, které je způsobeno odrazem světla VCSEL uvnitř ochranného okna (krycího skla) přidaného na vrch modulu. Modul VL53L8CX je samokalibrovaný a lze jej použít bez jakékoli další kalibrace.
Pokud je modul chráněn krycím sklem, může být vyžadována kalibrace Xtalk. VL53L8CX je imunní vůči Xtalku nad 60 cm díky algoritmu histogramu. Na krátké vzdálenosti pod 60 cm však může být Xtalk větší než skutečný vrácený signál. To poskytuje falešné hodnoty cíle nebo způsobuje, že se cíle jeví blíže, než ve skutečnosti jsou. Všechny funkce kalibrace Xtalk jsou součástí pluginu Xtalk (volitelné). Uživatel musí použít file 'vl53l8cx_plugin_xtalk'.
Xtalk lze jednou zkalibrovat a data lze uložit, aby je bylo možné později znovu použít. Je vyžadován cíl v pevné vzdálenosti se známou odrazivostí. Minimální požadovaná vzdálenost je 600 mm a terč musí pokrývat celé FoV. V závislosti na nastavení může uživatel upravit nastavení za účelem přizpůsobení kalibrace Xtalk, jak je navrženo v následující tabulce.
Tabulka 1. Dostupná nastavení pro kalibraci
Nastavení | Min | Navrhl STMicroelectronics |
Max |
Vzdálenost [mm] | 600 | 600 | 3000 |
Počet samples | 1 | 4 | 16 |
Odrazivost [%] | 1 | 3 | 99 |
Poznámka:
Zvýšení počtu samples zvyšuje přesnost, ale také prodlužuje dobu kalibrace. Čas vztažený k počtu samples je lineární a hodnoty sledují přibližný časový limit:
- 1 sample ≈ 1 sekunda
- 4 sampméně ≈ 2.5 sekundy
- 16 sampméně ≈ 8.5 sekundy
Kalibrace se provádí pomocí funkce vl53l8cx_calibrate_xtalk(). Tuto funkci lze použít kdykoli.
Nejprve je však nutné inicializovat snímač. Následující obrázek představuje kalibrační průtok xtalk.
Obrázek 7. Kalibrační tok Xtalk
3.3 Měření toku
Následující obrázek představuje rozsahový tok použitý k získání měření. Před zahájením relace rozsahu je nutné použít kalibraci Xtalk a volání volitelných funkcí. Funkce get/set nelze použít během relace měření vzdálenosti a „on-the-fly“ programování není podporováno.
Dostupné funkce
VL53L8CX ULD API obsahuje několik funkcí, které uživateli umožňují vyladit senzor v závislosti na případu použití. Všechny funkce dostupné pro ovladač jsou popsány v následujících částech.
4.1 Inicializace
Inicializace musí být provedena před použitím snímače VL53L8CX. Tato operace vyžaduje, aby uživatel:
- Zapněte snímač (piny VDDIO, AVDD, CORE_1V8 a LPn nastavené na High
- Zavolejte funkci vl53l8cx_init(). Funkce zkopíruje firmware (~84 kB) do modulu. To se provádí načtením kódu přes rozhraní I2C/SPI a provedením spouštěcí rutiny k dokončení inicializace.
4.2 Správa resetu senzoru
Chcete-li zařízení resetovat, je třeba přepnout následující piny:
- Nastavte piny VDDIO, AVDD a CORE_1V8 na nízkou hodnotu.
- Počkejte 10 ms.
- Nastavte piny VDDIO, AVDD a CORE_1V8 na vysokou hodnotu.
Poznámka:
Přepnutím pouze pinu I2C_RST se resetuje komunikace I2C.
4.3 Rozlišení
Rozlišení odpovídá počtu dostupných zón. Senzor VL53L8CX má dvě možná rozlišení: 4×4 (16 zón) a 8×8 (64 zón). Standardně je snímač naprogramován na 4×4.
Funkce vl53l8cx_set_resolution() umožňuje uživateli změnit rozlišení. Protože rozsahová frekvence závisí na rozlišení, musí být tato funkce použita před aktualizací rozsahu. Kromě toho změna rozlišení také zvyšuje velikost provozu na sběrnici I2C/SPI při čtení výsledků.
4.4 Frekvence měření
Frekvenci měření lze použít ke změně frekvence měření. Protože se maximální frekvence liší mezi rozlišením 4×4 a 8×8, je třeba tuto funkci použít po výběru rozlišení. Minimální a maximální povolené hodnoty jsou uvedeny v následující tabulce.
Tabulka 2. Minimální a maximální rozsah frekvencí
Rezoluce | Minimální frekvence [Hz] | Maximální frekvence [Hz] |
4×4 | 1 | 60 |
8×8 | 1 | 15 |
Frekvenci rozsahu lze aktualizovat pomocí funkce vl53l8cx_set_ranging_frequency_hz(). Výchozí frekvence je nastavena na 1 Hz.
4.5 Režim měření
Režim rozsahu umožňuje uživateli vybrat si mezi rozsahem s vysokým výkonem nebo nízkou spotřebou energie.
Jsou navrženy dva režimy:
- Nepřetržitý: Zařízení nepřetržitě zachycuje snímky s rozsahem frekvence definované uživatelem. VCSEL je povolen během všech rozsahů, takže maximální dosahová vzdálenost a odolnost vůči okolnímu prostředí jsou lepší. Tento režim se doporučuje pro měření s rychlým rozsahem nebo pro vysoké výkony.
- Autonomní: Toto je výchozí režim. Zařízení nepřetržitě zachycuje snímky s frekvencí rozsahu definovanou uživatelem. VCSEL je povolen během období definovaného uživatelem pomocí funkce vl53l8cx_set_integration_time_ms(). Protože VCSEL není vždy povolen, spotřeba energie je snížena. Výhody jsou patrnější se sníženou frekvencí dosahování. Tento režim se doporučuje pro aplikace s nízkou spotřebou energie.
Režim rozsahu lze změnit pomocí funkce vl53l8cx_set_ranging_mode().
4.6 Doba integrace
Integrační čas je funkce dostupná pouze v režimu autonomního určování vzdálenosti (viz část 4.5 Režim určování vzdálenosti).
Umožňuje uživateli změnit čas, když je povoleno VCSEL. Změna integračního času, pokud je režim měření nastaven na nepřetržitý, nemá žádný účinek. Výchozí doba integrace je nastavena na 5 ms.
Vliv integračního času je odlišný pro rozlišení 4×4 a 8×8. Rozlišení 4×4 se skládá z jednoho integračního času a rozlišení 8×8 se skládá ze čtyř integračních časů. Následující obrázky představují emisi VCSEL pro obě rozlišení.
Součet všech integračních časů + 1 ms režie musí být nižší než doba měření. Jinak se doba dosahu automaticky prodlouží.
4.7 Režimy napájení
Režimy napájení lze použít ke snížení spotřeby energie, když se zařízení nepoužívá. VL53L8CX může pracovat v jednom z následujících režimů napájení:
- Probuzení: Zařízení je nastaveno v režimu nečinnosti HP (vysoký výkon) a čeká na pokyny.
- Spánek: Zařízení je nastaveno do režimu LP idle (nízká spotřeba), tedy stavu nízké spotřeby. Zařízení nelze používat, dokud není nastaveno v režimu probuzení. Tento režim zachovává firmware a konfiguraci.
Režim napájení lze změnit pomocí funkce vl53l8cx_set_power_mode(). Výchozí režim je probuzení.
Poznámka:
Pokud chce uživatel změnit režim napájení, zařízení nesmí být v dosahu.
4.8 ořezávátko
Signál vrácený z cíle není čistý puls s ostrými hranami. Okraje se svažují a mohou ovlivnit vzdálenosti uváděné v sousedních zónách. Ostřička se používá k odstranění některých nebo všech signálů způsobených závojovým oslněním.
Bývalýample zobrazený na následujícím obrázku představuje blízký cíl ve vzdálenosti 100 mm se středem ve FoV a další cíl dále za 500 mm. V závislosti na hodnotě ostřiče se blízký cíl může objevit ve více zónách, než je skutečný.
Obrázek 11. Example scény pomocí několika hodnot ostření
Ostřičku lze změnit pomocí funkce vl53l8cx_set_sharpener_percent(). Povolené hodnoty jsou mezi 0 % a 99 %. Výchozí hodnota je 5 %.
4.9 Cílová objednávka
VL53L8CX může měřit několik cílů na zónu. Díky zpracování histogramu je hostitel schopen zvolit pořadí hlášených cílů. Jsou dvě možnosti:
- Nejbližší: Nejbližší cíl je první hlášený
- Nejsilnější: Nejsilnější cíl je první hlášený
Cílové pořadí lze změnit pomocí funkce vl53l8cx_set_target_order(). Výchozí pořadí je nejsilnější.
Bývalýample na následujícím obrázku představuje detekci dvou cílů. Jeden na 100 mm s nízkou odrazivostí a jeden na 700 mm s vysokou odrazivostí.
4.10 Více cílů na zónu
VL53L8CX může měřit až čtyři cíle na zónu. Uživatel může nakonfigurovat počet cílů vrácených senzorem.
Poznámka:
Minimální vzdálenost mezi dvěma detekovanými cíli je 600 mm.
Výběr není možný z řidiče; musí to být provedeno na 'platform.h' file. Makro
VL53L8CX_NB_ TARGET_PER_ZONE je třeba nastavit na hodnotu mezi 1 a 4. Cílové pořadí popsané v části 4.9 Cílové pořadí přímo ovlivňuje pořadí detekovaného cíle. Ve výchozím nastavení senzor vysílá pouze maximálně jeden cíl na zónu.
Poznámka:
Zvýšený počet cílů na zónu zvyšuje požadovanou velikost RAM.
4.11 Marže Xtalk
Okraj Xtalk je další funkce dostupná pouze pomocí pluginu Xtalk. .c a .f files Je třeba použít 'vl53l8cx_plugin_xtalk'.
Okraj se používá ke změně prahu detekce, když je na horní straně senzoru krycí sklo. Práh lze zvýšit, aby bylo zajištěno, že po nastavení kalibračních dat Xtalk nebude nikdy detekováno krycí sklo.
NapřampUživatel může spustit kalibraci Xtalk na jediném zařízení a znovu použít stejná kalibrační data pro všechna ostatní zařízení. Okraj Xtalk lze použít k vyladění korekce Xtalk. Obrázek níže představuje marži Xtalk.
Obrázek 13. Okraj Xtalk
4.12 Detekční prahy
Kromě běžných schopností měření vzdálenosti lze senzor naprogramovat tak, aby detekoval objekt podle určitých předem definovaných kritérií. Tato funkce je k dispozici pomocí pluginu „detekční prahy“, což je možnost, která není standardně zahrnuta v API. The fileJe třeba použít s názvem 'vl53l8cx_plugin_detection_thresholds'.
Funkci lze použít ke spuštění přerušení na pinu A1 (INT), když jsou splněny podmínky definované uživatelem. Existují tři možné konfigurace:
- Rozlišení 4×4: použití 1 prahu na zónu (celkem 16 prahů)
- Rozlišení 4×4: použití 2 prahů na zónu (celkem 32 prahů)
- Rozlišení 8×8: použití 1 prahu na zónu (celkem 64 prahů)
Bez ohledu na použitou konfiguraci je postup vytváření prahů a velikost paměti RAM stejný. Pro každou kombinaci prahů je třeba vyplnit několik polí: - ID zóny: ID vybrané zóny (viz část 2.2 Efektivní orientace)
- Měření: měření k zachycení (vzdálenost, signál, počet SPADů, …)
- Typ: okna měření (v oknech, mimo okna, pod nízkým prahem, …)
- Nízký práh: uživatel s nízkým prahem pro spouštění. Uživatel nemusí nastavovat formát, to je automaticky řešeno API.
- Vysoký práh: uživatel s vysokým prahem pro spouštění. Uživatel nemusí nastavovat formát, to je automaticky řešeno API.
- Matematický provoz: používá se pouze pro 4×4 – 2 prahové kombinace na zónu. Uživatel může nastavit kombinaci pomocí několika prahů v jedné zóně.
4.13 Přerušení automatického zastavení
Funkce autostop přerušení se používá k přerušení relace měření během měření. Ve výchozím nastavení nelze senzor během měření zastavit, protože je třeba dokončit měření snímků. Při použití automatického zastavení se však měření snímků při spuštění přerušení přeruší.
Funkce autostop je užitečná, když je kombinována s detekčním prahem. Když je detekován cíl, aktuální měření se automaticky přeruší. Autostop lze použít v zákaznickém stroji k rychlému přepnutí na jinou konfiguraci snímače.
Funkci automatického zastavení přerušení lze povolit pomocí funkce vl53l8cx_set_detection_threshold_auto_stop().
Po přerušení měření se doporučuje zastavit senzor pomocí funkce vl53l8cx_stop_range().
4.14 Indikátor pohybu
Senzor VL53L8CX má vestavěnou funkci Firmware umožňující detekci pohybu ve scéně. Indikátor pohybu se vypočítává mezi sekvenčními snímky. Tato možnost je dostupná pomocí pluginu 'vl53l8cx_plugin_motion_indicator'.
Indikátor pohybu se inicializuje pomocí funkce vl53l8cx_motion_indicator_init(). Pokud chce uživatel změnit rozlišení snímače, musí aktualizovat rozlišení indikátoru pohybu pomocí vyhrazené funkce: vl53l8cx_motion_indicator_set_resolution().
Uživatel může také změnit minimální a maximální vzdálenost pro detekci pohybu. Rozdíl mezi minimální a maximální vzdáleností nesmí být větší než 1500 mm. Ve výchozím nastavení jsou vzdálenosti inicializovány hodnotami mezi 400 mm a 1500 mm.
Výsledky jsou uloženy v poli 'motion_indicator'. V tomto poli pole 'pohyb' udává hodnotu obsahující intenzitu pohybu na zónu. Vysoká hodnota označuje velké kolísání pohybu mezi snímky. Typický pohyb dává hodnotu mezi 100 a 500. Tato citlivost závisí na integračním čase, vzdálenosti cíle a odrazivosti cíle.
Ideální kombinací pro aplikace s nízkou spotřebou energie je použití indikátoru pohybu s režimem autonomního rozsahu a detekční prahy naprogramované na pohyb. To umožňuje detekci změn pohybu ve FoV s minimální spotřebou energie.
4.15 Externí synchronizační kolík
K synchronizaci akvizic lze použít externí zdroj spouštění. Když je povolena externí synchronizace, VL53L8CX čeká na přerušení na kolíku SYNC, aby mohl začít další sběr. Chcete-li použít tuto funkci, je třeba připojit kolík SYNC (B1) podle popisu v datovém listu produktu.
Pro použití externí synchronizace nejsou žádné specifické požadavky. Frekvence rozsahu VL53L8CX by však měla být vyšší než frekvence externího signálu.
Externí synchronizaci lze povolit nebo zakázat pomocí funkce vl53l8cx_set_external_sync_pin_enable(). Rozsah lze spustit jako obvykle pomocí funkce vl53l8cx_start_ranging(). Když chce uživatel zastavit senzor, doporučuje se přepnout kolík SYNC, aby se zrušilo pozastavení firmwaru VL53L8CX.
Aktuální postup pro použití externího synchronizačního kolíku je uveden níže v části 4.15.
Obrázek 14. Externí synchronizační tok
Výsledky měření
5.1 Dostupné údaje
Během určování vzdáleností může být výstupem rozsáhlý seznam dat o cíli a prostředí. Následující tabulka popisuje parametry dostupné uživateli.
Tabulka 3. Dostupný výstup pomocí senzoru VL53L8CX
Živel |
Nb bajtů (RAM) | Jednotka |
Popis |
Ambient na SPAD | 256 | Kcps/SPAD | Měření okolní frekvence prováděné na poli SPAD, bez aktivní emise fotonů, k měření rychlosti okolního signálu v důsledku šumu. |
Počet detekovaných cílů |
64 |
Žádný | Počet detekovaných cílů v aktuální zóně. Tato hodnota by měla být první, kterou je třeba zkontrolovat, aby se zjistila platnost měření. |
Počet povolených SPADů | 256 | Žádný | Počet SPADů povolených pro aktuální měření. Vzdálený nebo málo odrazivý cíl aktivuje více SPADů. |
Signál na SPAD |
Naprogramováno 256 x nb cílů |
Kcps/SPAD |
Množství fotonů měřené během VCSEL
puls. |
Rozsah sigma |
Naprogramováno 128 x nb cílů |
Milimetr |
Sigma odhad hluku v hlášené vzdálenosti cíle. |
Vzdálenost |
Naprogramováno 128 x nb cílů | Milimetr | Cílová vzdálenost |
Cílový stav | Naprogramováno 64 x nb cílů | Žádný | Platnost měření. Další informace naleznete v části 5.5 Interpretace výsledků. |
Odrazivost | 64 x počet naprogramovaných cílů | procent | Odhadovaná odrazivost cíle v procentech |
Indikátor pohybu | 140 | Žádný | Struktura obsahující výsledky indikátoru pohybu. Pole 'pohyb' obsahuje intenzitu pohybu. |
Poznámka:
Pro několik prvků (signál na pad, sigma, …) se přístup k datům liší, pokud uživatel naprogramoval více než 1 cíl na zónu (viz část 4.10 Více cílů na zónu). Viz napřample kódy pro více informací.
5.2 Přizpůsobte výběr výstupu
Ve výchozím nastavení jsou všechny výstupy VL53L8CX povoleny. V případě potřeby může uživatel zakázat výstup některých senzorů.
Zakázání měření není v ovladači k dispozici; musí být provedeno na platformě 'platform.h' file. Uživatel může deklarovat následující makra pro deaktivaci výstupů:
#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
V důsledku toho nejsou pole deklarována ve struktuře výsledků a data nejsou přenášena na hostitele.
Velikost RAM a velikost I2C/SPI jsou zmenšeny.
Aby byla zajištěna konzistence dat, ST doporučuje vždy ponechat zapnuté 'počet detekovaných cílů' a 'stav cíle'. Umožňuje filtrování měření v závislosti na stavu cíle (viz část 5.5 Interpretace výsledků).
5.3 Získání výsledků určování vzdálenosti
Během relace měření existují dva způsoby, jak zjistit, zda jsou k dispozici nová data měření:
- Režim dotazování: Neustále používá funkci vl53l8cx_check_data_ready(). Detekuje nový počet proudů vrácený senzorem.
- Režim přerušení: Čeká na přerušení vyvolané na pinu A1 (INT). Přerušení se automaticky vymaže po ~100 μs.
Když jsou připravena nová data, lze výsledky číst pomocí funkce vl53l8cx_get_ranging_data(). Vrací aktualizovanou strukturu obsahující veškerý vybraný výstup. Vzhledem k tomu, že zařízení je asynchronní, neexistuje žádné přerušení, které by bylo nutné vymazat, aby bylo možné pokračovat v relaci rozsahu.
Tato funkce je k dispozici pro režimy kontinuálního i autonomního rozsahu.
5.4 Použití nezpracovaného formátu firmwaru
Po přenosu dat rozsahu přes I2C/SPI dojde ke konverzi mezi formátem firmwaru a formátem hostitele. Tato operace se obvykle provádí tak, aby byla jako výchozí výstup senzoru nastavena vzdálenost v milimetrech. Pokud chce uživatel používat formát firmwaru, musí být v platformě definováno následující makro file:
VL53L8CX#define VL53L8CX _USE_RAW_FORMAT
5.5 Interpretace výsledků
Data vrácená VL53L8CX lze filtrovat, aby bylo možné vzít v úvahu stav cíle. Stav indikuje platnost měření. Úplný seznam stavů je popsán v následující tabulce.
Tabulka 4. Seznam dostupných stavů cíle
Cílový stav | Popis |
0 | Údaje o rozsahu nejsou aktualizovány |
1 | Příliš nízká rychlost signálu na poli SPAD |
2 | Cílová fáze |
3 | Odhad Sigma je příliš vysoký |
4 | Cílová konzistence se nezdařila |
5 | Rozsah platný |
6 | Obtékání se neprovádí (obvykle první rozsah) |
7 | Konzistence sazeb se nezdařila |
8 | Rychlost signálu je pro aktuální cíl příliš nízká |
9 | Rozsah platný s velkým pulzem (může být způsoben sloučeným cílem) |
10 | Rozsah je platný, ale v předchozím dosahu nebyl zjištěn žádný cíl |
11 | Konzistence měření se nezdařila |
12 | Cíl rozmazaný jiným, kvůli ostřičce |
13 | Cíl detekovaný, ale nekonzistentní data. Často se stává u sekundárních cílů. |
255 | Nebyl zjištěn žádný cíl (pouze pokud je povolen počet zjištěných cílů) |
Aby měl uživatel konzistentní data, musí filtrovat neplatný cílový stav. Pro hodnocení spolehlivosti je cíl se statusem 5 považován za 100 % platný. Stav 6 nebo 9 lze uvažovat s hodnotou spolehlivosti 50 %. Všechny ostatní stavy jsou pod 50% úrovní spolehlivosti.
5.6 Chyby ovladače
Pokud dojde k chybě pomocí snímače VL53L8CX, ovladač vrátí konkrétní chybu. V následující tabulce jsou uvedeny možné chyby.
Tabulka 5. Seznam chyb dostupných pomocí ovladače
Cílový stav | Popis |
0 | Žádná chyba |
127 | Uživatel naprogramoval nesprávné nastavení (neznámé rozlišení, příliš vysoká frekvence měření, …) |
255 | Zásadní chyba. Obvykle chyba vypršení časového limitu kvůli chybě I2C/SPI. |
ostatní | Kombinace více chyb popsaných výše |
Poznámka:
Pomocí platformy může hostitel implementovat více chybových kódů files.
Tabulka 6. Historie revizí dokumentu
Datum | Verze | Změny |
13. ledna 23 | 1 | Počáteční vydání |
DŮLEŽITÉ UPOZORNĚNÍ – ČTĚTE POZORNĚ
STMicroelectronics NV a její dceřiné společnosti (“ST”) si vyhrazují právo provádět změny, opravy, vylepšení, úpravy a vylepšení produktů ST a/nebo tohoto dokumentu kdykoli bez upozornění. Kupující by měli před zadáním objednávky získat nejnovější relevantní informace o produktech ST. Produkty ST jsou prodávány v souladu s prodejními podmínkami ST platnými v době potvrzení objednávky.
Kupující jsou výhradně odpovědní za výběr, výběr a použití produktů ST a ST nepřebírá žádnou odpovědnost za pomoc s aplikací nebo design produktů kupujících.
Společnost ST zde neuděluje žádnou výslovnou ani předpokládanou licenci k právu duševního vlastnictví.
Další prodej produktů ST s ustanoveními odlišnými od informací uvedených v tomto dokumentu ruší jakoukoli záruku poskytnutou společností ST na takový produkt.
ST a logo ST jsou ochranné známky společnosti ST. Další informace o ochranných známkách ST viz www.st.com/trademarks. Všechny ostatní názvy produktů nebo služeb jsou majetkem jejich příslušných vlastníků.
Informace v tomto dokumentu nahrazují a nahrazují informace dříve uvedené v předchozích verzích tohoto dokumentu.
© 2023 STMicroelectronics – Všechna práva vyhrazena
Dokumenty / zdroje
![]() |
Senzorový modul ST VL53L8CX [pdfUživatelská příručka UM3109, Senzorový modul VL53L8CX, VL53L8CX, Senzorový modul, Modul |