VL53L8CX Sensor Module
User Manual
Panimula
Ang layunin ng user manual na ito ay ipaliwanag kung paano pangasiwaan ang VL53L8X Time-of-Flight (ToF) sensor, gamit ang ultra lite driver (ULD) API. Inilalarawan nito ang mga pangunahing function upang i-program ang device, ang mga calibration, at ang mga resulta ng output.
Batay sa teknolohiya ng FlightSense ng ST, ang VL53L8CX ay nagsasama ng isang mahusay na metasurface lens (DOE) na inilagay sa laser emitter na nagbibigay-daan sa projection ng isang 45° x 45° square FoV papunta sa eksena.
Ang kakayahang multizone nito ay nagbibigay ng matrix ng 8×8 zone (64 zone) at maaaring gumana sa mabilis na bilis (60 Hz) hanggang 400 cm.
Salamat sa autonomous mode na may programmable distance threshold, ang VL53L8CX ay perpekto para sa anumang application na nangangailangan ng low-power na pagtuklas ng user. Ang mga patented na algorithm ng ST at makabagong pagbuo ng module ay nagbibigay-daan sa VL53L8CX na makakita, sa bawat zone, ng maraming bagay sa loob ng FoV na may malalim na pag-unawa. Tinitiyak ng mga algorithm ng ST histogram ang cover glass crosstalk immunity na higit sa 60 cm.
Tulad ng lahat ng Time-of-Flight (ToF) sensor batay sa FlightSense na teknolohiya ng ST, ang VL53L8CX ay nagtatala, sa bawat zone, ng isang ganap na distansya anuman ang target na kulay at reflectance.
Nakalagay sa isang miniature reflowable package na nagsasama ng isang SPAD array, ang VL53L8CX ay nakakamit ang pinakamahusay na performance sa iba't ibang mga kondisyon ng ilaw sa paligid, at para sa isang malawak na hanay ng mga cover glass na materyales.
Ang lahat ng ToF sensor ng ST ay nagsasama ng isang VCSEL na naglalabas ng ganap na hindi nakikitang 940 nm IR na ilaw, na ganap na ligtas para sa mga mata (Class 1 certification).

Mga acronym at pagdadaglat
| Acronym/abbreviation | Kahulugan |
| DOE | diffractive optical element |
| FoV | larangan ng view |
| I2C | inter-integrated circuit (serial bus) |
| Kcps/SPAD | Kilo-bilang bawat segundo bawat spad (unit na ginamit upang mabilang ang bilang ng mga photon sa hanay ng SPAD) |
| RAM | random access memory |
| SCL | serial na linya ng orasan |
| SDA | serial data |
| SPAD | solong photon avalanche diode |
| ToF | Oras ng paglipad |
| ULD | ultra lite na driver |
| VCSEL | vertical cavity surface emitting diode |
| Xtalk | crosstalk |
Functional na paglalarawan
2.1 Tapos na ang sistemaview
Ang VL53L8CX system ay binubuo ng isang hardware module at ang ultra lite driver software (VL53L8CX ULD) na tumatakbo sa isang host (tingnan ang figure sa ibaba). Ang module ng hardware ay naglalaman ng ToF sensor. Ang STMicroelectronics ay naghahatid ng software driver, na tinutukoy sa dokumentong ito bilang "ang driver". Inilalarawan ng dokumentong ito ang mga function ng driver, na naa-access ng host. Kinokontrol ng mga function na ito ang sensor at nakukuha ang ranging data.

2.2 Epektibong oryentasyon
Ang module ay may kasamang lens sa ibabaw ng RX aperture, na nagpa-flip (pahalang at patayo) sa nakunan na larawan ng target. Dahil dito, ang zone na kinilala bilang zone 0, sa kaliwang ibaba ng hanay ng SPAD, ay iluminado ng isang target na matatagpuan sa kanang bahagi sa itaas ng eksena.

2.3 Schematics at I2C/SPI configuration
Ang komunikasyon sa pagitan ng driver at firmware ay pinangangasiwaan ng I2C o SPI. Ang pinakamataas na kakayahan ng I2C ay 1 MHz, at ang pinakamataas na kakayahan ng SPI ay 20 MHz. Ang pagpapatupad ng bawat protocol ng komunikasyon ay nangangailangan ng mga pull up tulad ng inilarawan sa VL53L8CX datasheet.
Ang VL53L8CX device ay may default na I2C address na 0x52. Gayunpaman, posibleng baguhin ang default na address upang maiwasan ang mga salungatan sa iba pang mga device, o para mapadali ang pagdaragdag ng maramihang VL53L8CX module sa system para sa mas malawak na system na FoV. Maaaring baguhin ang I2C address gamit ang vl53l8cx_set_i2c_address() function. Upang magamit ang SPI, ang multisensor ay naka-wire gamit ang isang independiyenteng pagsasaayos ng alipin (ang NCS pin).


Upang payagan ang isang device na baguhin ang I2C address nito nang hindi naaapektuhan ang iba sa I2C bus, mahalagang gawin ito
huwag paganahin ang I2C na komunikasyon ng mga device na hindi binabago. Ang pamamaraan ay ang mga sumusunod:
- Paganahin ang system bilang normal.
- Hilahin pababa ang LPn pin ng device na hindi mababago ang address nito.
- Hilahin pataas ang LPn pin ng device na binago ang I2C address.
- I-program ang I2C address sa device gamit ang function na set_i2c_address() function.
- Hilahin pataas ang LPn pin ng device na hindi na-reprogram.
Ang lahat ng mga aparato ay dapat na ngayon ay magagamit sa I2C bus. Ulitin ang mga hakbang sa itaas para sa lahat ng device sa system na nangangailangan ng bagong I2C address.
Nilalaman ng package at daloy ng data
3.1 Arkitektura at nilalaman ng driver
Ang VL53L8CX ULD package ay binubuo ng apat na folder. Ang driver ay matatagpuan sa folder /VL53L8CX_ULD_API.
Ang driver ay binubuo ng mandatory at opsyonal files. Opsyonal files ay plugins ginamit upang palawigin ang mga tampok ng ULD.
Ang bawat plugin ay nagsisimula sa salitang "vl53l8cx_plugin" (hal vl53l8cx_plugin_xtalk.h). Kung hindi gusto ng user ang iminungkahing plugins, maaalis ang mga ito nang hindi naaapektuhan ang iba pang feature ng driver. Ang sumusunod na figure ay kumakatawan sa sapilitan files at ang opsyonal plugins.
Tandaan:
Kailangan ding ipatupad ng user ang dalawa files ay matatagpuan sa /Platform folder. Ang iminungkahing platform ay isang walang laman na shell, at dapat punan ng mga nakalaang function.
Platform.h file naglalaman ng mga mandatoryong macro para magamit ang ULD. Lahat ng file Ang nilalaman ay ipinag-uutos upang magamit nang tama ang ULD.
3.2 Daloy ng pagkakalibrate
Ang Crosstalk (Xtalk) ay tinukoy bilang ang dami ng signal na natanggap sa SPAD array, na dahil sa VCSEL light reflection sa loob ng protective window (cover glass) na idinagdag sa ibabaw ng module. Ang VL53L8CX module ay naka-calibrate sa sarili, at maaaring gamitin nang walang anumang karagdagang pagkakalibrate.
Maaaring kailanganin ang Xtalk calibration kung ang module ay protektado ng isang cover glass. Ang VL53L8CX ay immune sa Xtalk na lampas sa 60 cm salamat sa isang histogram algorithm. Gayunpaman, sa mga maikling distansya na mas mababa sa 60 cm, ang Xtalk ay maaaring mas malaki kaysa sa aktwal na ibinalik na signal. Nagbibigay ito ng maling target na pagbabasa o ginagawang mas malapit ang mga target kaysa sa tunay na mga ito. Lahat ng Xtalk calibration function ay kasama sa isang Xtalk plugin (opsyonal). Kailangang gamitin ng user ang file 'vl53l8cx_plugin_xtalk'.
Maaaring i-calibrate ang Xtalk nang isang beses, at maaaring i-save ang data upang magamit itong muli sa ibang pagkakataon. Ang isang target sa nakapirming distansya, na may kilalang reflectance ay kinakailangan. Ang kinakailangang minimum na distansya ay 600 mm, at ang target ay dapat na sumasakop sa buong FoV. Depende sa setup, maaaring baguhin ng user ang mga setting upang maiangkop ang Xtalk calibration, gaya ng iminungkahi sa sumusunod na talahanayan.
Talahanayan 1. Magagamit na mga setting para sa pagkakalibrate
| Setting | Min | Iminungkahi ni STMicroelectronics |
Max |
| Distansya [mm] | 600 | 600 | 3000 |
| Bilang ng samples | 1 | 4 | 16 |
| Reflectance [%] | 1 | 3 | 99 |
Tandaan:
Ang pagtaas ng bilang ng mga samppinapataas ng les ang katumpakan, ngunit pinapataas din nito ang oras para sa pagkakalibrate. Ang oras na nauugnay sa bilang ng samples ay linear, at ang mga halaga ay sumusunod sa tinatayang timeout:
- 1 sample ≈ 1 segundo
- 4 samples ≈ 2.5 segundo
- 16 samples ≈ 8.5 segundo
Ang pagkakalibrate ay isinasagawa gamit ang function na vl53l8cx_calibrate_xtalk(). Maaaring gamitin ang function na ito anumang oras.
Gayunpaman, dapat munang masimulan ang sensor. Ang sumusunod na figure ay kumakatawan sa daloy ng pagkakalibrate ng xtalk.
Figure 7. Daloy ng pagkakalibrate ng Xtalk

3.3 Ranging flow
Ang sumusunod na figure ay kumakatawan sa ranging flow na ginamit upang makakuha ng mga sukat. Dapat gamitin ang Xtalk calibration at mga opsyonal na function call bago simulan ang ranging session. Hindi magagamit ang get/set function sa panahon ng ranging session, at hindi sinusuportahan ang 'on-the-fly' programming.

Magagamit na mga tampok
Kasama sa VL53L8CX ULD API ang ilang function, na nagbibigay-daan sa user na ibagay ang sensor, depende sa use case. Ang lahat ng mga function na magagamit para sa driver ay inilarawan sa mga sumusunod na seksyon.
4.1 Pagsisimula
Dapat gawin ang initialization bago gamitin ang VL53L8CX sensor. Ang operasyong ito ay nangangailangan ng user na:
- I-on ang sensor (VDDIO, AVDD, CORE_1V8, at LPn pin na nakatakda sa High
- Tawagan ang function na vl53l8cx_init(). Kinokopya ng function ang firmware (~84 Kbytes) sa module. Ginagawa ito sa pamamagitan ng paglo-load ng code sa interface ng I2C/SPI, at pagsasagawa ng boot routine upang makumpleto ang initialization.
4.2 Pamamahala ng pag-reset ng sensor
Upang i-reset ang device, kailangang i-toggle ang mga sumusunod na pin:
- Itakda sa mababa ang mga pin na VDDIO, AVDD, at CORE_1V8 pin.
- Maghintay ng 10 ms.
- Itakda sa mataas ang mga pin na VDDIO, AVDD, at CORE_1V8 pin.
Tandaan:
Ang pag-togg lang ng I2C_RST pin ay nagre-reset sa I2C na komunikasyon.
4.3 Resolusyon
Ang resolusyon ay tumutugma sa bilang ng mga magagamit na zone. Ang VL53L8CX sensor ay may dalawang posibleng resolution: 4×4 (16 zone) at 8×8 (64 zone). Bilang default, ang sensor ay naka-program sa 4x4.
Ang function na vl53l8cx_set_resolution() ay nagpapahintulot sa user na baguhin ang resolution. Dahil nakadepende ang ranging frequency sa resolution, dapat gamitin ang function na ito bago i-update ang ranging frequency. Bukod dito, pinapataas din ng pagbabago ng resolution ang laki ng trapiko sa I2C/SPI bus kapag nabasa ang mga resulta.
4.4 Ranging frequency
Maaaring gamitin ang saklaw ng dalas upang baguhin ang dalas ng pagsukat. Dahil ang maximum na dalas ay naiiba sa pagitan ng 4×4 at 8×8 na mga resolusyon, kailangang gamitin ang function na ito pagkatapos pumili ng resolusyon. Ang minimum at maximum na pinapayagang mga halaga ay nakalista sa sumusunod na talahanayan.
Talahanayan 2. Minimum at maximum na ranging frequency
| Resolusyon | Min ranging frequency [Hz] | Max ranging frequency [Hz] |
| 4×4 | 1 | 60 |
| 8×8 | 1 | 15 |
Maaaring ma-update ang range frequency gamit ang function na vl53l8cx_set_ranging_frequency_hz(). Bilang default, nakatakda ang ranging frequency sa 1 Hz.
4.5 Ranging mode
Binibigyang-daan ng Ranging mode ang user na pumili sa pagitan ng mataas na performance o mababang paggamit ng kuryente.
Mayroong dalawang mga mode na iminungkahi:
- Tuloy-tuloy: Patuloy na kinukuha ng device ang mga frame na may range na frequency na tinukoy ng user. Ang VCSEL ay pinagana sa lahat ng saklaw, kaya ang maximum na distansya sa pagitan at ambient immunity ay mas mahusay. Ang mode na ito ay pinapayuhan para sa mabilis na ranging mga sukat o mataas na pagganap.
- Awtonomiko: Ito ang default na mode. Patuloy na kinukuha ng device ang mga frame na may range na frequency na tinukoy ng user. Ang VCSEL ay pinagana sa panahon na tinukoy ng user, gamit ang function na vl53l8cx_set_integration_time_ms(). Dahil hindi palaging pinapagana ang VCSEL, nababawasan ang pagkonsumo ng kuryente. Ang mga benepisyo ay mas halata sa isang pinababang dalas ng saklaw. Ang mode na ito ay pinapayuhan para sa mga low power na application.
Maaaring baguhin ang ranging mode gamit ang function na vl53l8cx_set_ranging_mode().
4.6 Oras ng pagsasama
Ang oras ng pagsasama ay isang tampok na magagamit lamang gamit ang Autonomous ranging mode (sumangguni sa Seksyon 4.5 Ranging mode).
Pinapayagan nito ang gumagamit na baguhin ang oras habang pinapagana ang VCSEL. Ang pagpapalit ng oras ng pagsasama kung ang Ranging mode ay nakatakda sa tuloy-tuloy ay walang epekto. Ang default na oras ng pagsasama ay nakatakda sa 5 ms.
Ang epekto ng oras ng pagsasama ay iba para sa 4×4 at 8×8 na mga resolusyon. Ang Resolution 4×4 ay binubuo ng isang integration time, at 8×8 resolution ay binubuo ng apat na integration times. Ang mga sumusunod na numero ay kumakatawan sa paglabas ng VCSEL para sa parehong mga resolusyon.

Ang kabuuan ng lahat ng oras ng pagsasama + 1 ms overhead ay dapat na mas mababa kaysa sa panahon ng pagsukat. Kung hindi, awtomatikong tataas ang ranging period.
4.7 Power mode
Maaaring gamitin ang mga power mode upang bawasan ang pagkonsumo ng kuryente kapag hindi ginagamit ang device. Ang VL53L8CX ay maaaring gumana sa isa sa mga sumusunod na power mode:
- Wake-up: Nakatakda ang device sa HP idle (high power), naghihintay ng mga tagubilin.
- Sleep: Nakatakda ang device sa LP idle (mababa ang power), ang low power state. Hindi magagamit ang device hanggang sa nakatakda sa wake-up mode. Pinapanatili ng mode na ito ang firmware at ang configuration.
Maaaring baguhin ang power mode gamit ang function na vl53l8cx_set_power_mode(). Ang default na mode ay wake-up.
Tandaan:
Kung gusto ng user na baguhin ang power mode, hindi dapat nasa ranging state ang device.
4.8 Patalasin
Ang signal na ibinalik mula sa isang target ay hindi isang malinis na pulso na may matalim na mga gilid. Ang mga gilid ay lumalayo at maaaring makaapekto sa mga distansya na iniulat sa mga katabing zone. Ang sharpener ay ginagamit upang alisin ang ilan o lahat ng signal na dulot ng veiling glare.
Ang exampAng ipinapakita sa sumusunod na figure ay kumakatawan sa isang malapit na target sa 100 mm na nakasentro sa FoV, at isa pang target, na nasa likod pa sa 500 mm. Depende sa value ng sharpener, ang malapit na target ay maaaring lumabas sa mas maraming zone kaysa sa tunay.
Larawan 11. Example ng eksena gamit ang ilang value ng sharpener

Maaaring baguhin ang sharpener gamit ang function na vl53l8cx_set_sharpener_percent(). Ang mga pinapayagang halaga ay nasa pagitan ng 0 % at 99 %. Ang default na halaga ay 5 %.
4.9 Target na pagkakasunud-sunod
Maaaring sukatin ng VL53L8CX ang ilang mga target sa bawat zone. Salamat sa pagproseso ng histogram, napipili ng host ang pagkakasunud-sunod ng mga iniulat na target. Mayroong dalawang mga pagpipilian:
- Pinakamalapit: Ang pinakamalapit na target ay ang unang iniulat
- Pinakamalakas: Ang pinakamalakas na target ay ang unang naiulat
Maaaring baguhin ang target na order gamit ang function na vl53l8cx_set_target_order(). Ang default na order ay Pinakamalakas.
Ang example sa sumusunod na figure ay kumakatawan sa pagtuklas ng dalawang target. Isa sa 100 mm na may mababang reflectance, at isa sa 700 mm na may mataas na reflectance.

4.10 Maramihang mga target bawat zone
Ang VL53L8CX ay maaaring sumukat ng hanggang apat na target bawat zone. Maaaring i-configure ng user ang bilang ng mga target na ibinalik ng sensor.
Tandaan:
Ang pinakamababang distansya sa pagitan ng dalawang target na matutukoy ay 600 mm.
Ang pagpili ay hindi posible mula sa driver; dapat itong gawin sa 'platform.h' file. Ang macro
Ang VL53L8CX_NB_ TARGET_PER_ZONE ay kailangang itakda sa isang halaga sa pagitan ng 1 at 4. Ang target na order na inilarawan sa Seksyon 4.9 Ang target na order ay direktang nakakaapekto sa pagkakasunud-sunod ng nakitang target. Bilang default, ang sensor ay naglalabas lamang ng maximum na isang target bawat zone.
Tandaan:
Ang tumaas na bilang ng mga target sa bawat zone ay nagpapataas ng kinakailangang laki ng RAM.
4.11 Xtalk margin
Ang Xtalk margin ay isang karagdagang tampok na magagamit lamang gamit ang plugin na Xtalk. Ang .c at .f fileKailangang gamitin ang 'vl53l8cx_plugin_xtalk'.
Ginagamit ang margin upang baguhin ang threshold ng pagtuklas kapag may nakatakip na salamin sa tuktok ng sensor. Maaaring dagdagan ang threshold upang matiyak na hindi kailanman makikita ang takip na salamin, pagkatapos itakda ang data ng pagkakalibrate ng Xtalk.
Para kay exampSa gayon, ang user ay maaaring magpatakbo ng Xtalk calibration sa isang solong device, at muling gamitin ang parehong data ng pagkakalibrate para sa lahat ng iba pang device. Ang Xtalk margin ay maaaring gamitin upang ibagay ang Xtalk correction. Ang figure sa ibaba ay kumakatawan sa Xtalk margin.
Larawan 13. Xtalk margin

4.12 Mga limitasyon sa pagtuklas
Bilang karagdagan sa mga regular na kakayahang sumasaklaw, ang sensor ay maaaring i-program upang makita ang isang bagay sa ilalim ng ilang paunang natukoy na pamantayan. Available ang feature na ito gamit ang plugin na "detection thresholds", na isang opsyon na hindi kasama bilang default sa API. Ang files na tinatawag na 'vl53l8cx_plugin_detection_thresholds' ay kailangang gamitin.
Magagamit ang feature para mag-trigger ng interrupt sa pin A1 (INT) kapag natugunan ang mga kundisyon na tinukoy ng user. May tatlong posibleng configuration:
- Resolution 4×4: gamit ang 1 threshold bawat zone (kabuuan ng 16 na threshold)
- Resolution 4×4: gamit ang 2 threshold bawat zone (kabuuan ng 32 threshold)
- Resolution 8×8: gamit ang 1 threshold bawat zone (kabuuan ng 64 na threshold)
Anuman ang configuration na ginamit, ang pamamaraan para sa paggawa ng mga threshold at ang laki ng RAM ay pareho. Para sa bawat kumbinasyon ng threshold, maraming field ang kailangang punan: - Zone id: id ng napiling zone (sumangguni sa Seksyon 2.2 Epektibong oryentasyon)
- Pagsukat: pagsukat upang mahuli (distansya, signal, bilang ng mga SPAD, ...)
- Uri: mga bintana ng mga sukat (sa mga bintana, sa labas ng mga bintana, sa ibaba ng mababang threshold, …)
- Mababang threshold: mababang threshold ng user para sa trigger. Hindi kailangang itakda ng user ang format, awtomatiko itong hinahawakan ng API.
- Mataas na threshold: mataas na threshold user para sa trigger. Hindi kailangang itakda ng user ang format, awtomatiko itong hinahawakan ng API.
- Mathematic na operasyon: ginagamit lang para sa 4×4 – 2 threshold na kumbinasyon sa bawat zone. Ang user ay maaaring magtakda ng kumbinasyon gamit ang ilang mga threshold sa isang zone.
4.13 Abalahin ang autostop
Ang tampok na interrupt na autostop ay ginagamit upang i-abort ang ranging session sa panahon ng pagsukat. Bilang default, hindi mapipigil ang sensor sa panahon ng pagsukat, dahil kailangang kumpletuhin ang mga sukat ng frame. Gayunpaman, sa pamamagitan ng paggamit ng autostop, ang mga sukat ng frame ay naa-abort kapag na-trigger ang isang interrupt.
Ang tampok na autostop ay kapaki-pakinabang kapag ito ay pinagsama sa isang limitasyon ng pagtuklas. Kapag may nakitang target, awtomatikong maa-abort ang kasalukuyang pagsukat. Maaaring gamitin ang Autostop sa isang makina ng estado ng customer upang mabilis na lumipat sa isa pang configuration ng sensor.
Maaaring paganahin ang tampok na interrupt autostop sa pamamagitan ng paggamit ng function na vl53l8cx_set_detection_threshold_auto_stop().
Pagkatapos ma-abort ang isang pagsukat, inirerekumenda na ihinto ang sensor sa pamamagitan ng paggamit ng function na vl53l8cx_stop_ranging().
4.14 Tagapagpahiwatig ng paggalaw
Ang VL53L8CX sensor ay may naka-embed na feature ng Firmware na nagbibigay-daan sa pagtuklas ng paggalaw sa isang eksena. Ang tagapagpahiwatig ng paggalaw ay kinakalkula sa pagitan ng mga sunud-sunod na frame. Available ang opsyong ito gamit ang plugin na 'vl53l8cx_plugin_motion_indicator'.
Ang motion indicator ay sinisimulan gamit ang vl53l8cx_motion_indicator_init() function. Kung gusto ng user na baguhin ang resolution ng sensor, dapat niyang i-update ang motion indicator resolution gamit ang nakalaang function: vl53l8cx_motion_indicator_set_resolution().
Maaari ring baguhin ng user ang minimum at maximum na mga distansya para sa pag-detect ng paggalaw. Ang pagkakaiba sa pagitan ng minimum at maximum na mga distansya ay hindi maaaring higit sa 1500 mm. Bilang default, ang mga distansya ay sinisimulan na may mga halaga sa pagitan ng 400 mm at 1500 mm.
Ang mga resulta ay naka-imbak sa field na 'motion_indicator'. Sa field na ito, ang array 'motion' ay nagbibigay ng value na naglalaman ng motion intensity sa bawat zone. Ang isang mataas na halaga ay nagpapahiwatig ng mataas na motion variation sa pagitan ng mga frame. Ang isang karaniwang paggalaw ay nagbibigay ng halaga sa pagitan ng 100 at 500. Ang sensitivity na ito ay nakasalalay sa oras ng pagsasama, target na distansya, at target na reflectance.
Ang isang mainam na kumbinasyon para sa mga low power na application ay ang paggamit ng motion indicator na may Autonomous ranging mode, at mga detection threshold na naka-program sa motion. Nagbibigay-daan ito sa pagtuklas ng mga pagkakaiba-iba ng paggalaw sa FoV na may pinakamababang paggamit ng kuryente.
4.15 Panlabas na synchronization pin
Maaaring gumamit ng external na trigger source para i-synchronize ang mga acquisition. Kapag pinagana ang panlabas na pag-synchronize, naghihintay ang VL53L8CX ng interrupt sa SYNC pin upang simulan ang susunod na pagkuha. Para magamit ang feature na ito, kailangang ikonekta ang SYNC pin (B1) gaya ng inilalarawan sa datasheet ng produkto.
Walang mga partikular na kinakailangan para sa paggamit ng panlabas na pag-synchronize. Gayunpaman, ang VL53L8CX ranging frequency ay dapat na mas mataas kaysa sa external signal frequency.
Ang panlabas na pag-synchronize ay maaaring paganahin o hindi paganahin sa pamamagitan ng paggamit ng function na vl53l8cx_set_external_sync_pin_enable(). Maaaring simulan ang pag-ranging gaya ng dati sa pamamagitan ng paggamit ng function na vl53l8cx_start_ranging(). Kapag gustong ihinto ng user ang sensor, inirerekomendang i-toggle ang SYNC pin para i-unpause ang firmware ng VL53L8CX.
Ang isang napapanahong daloy para sa paggamit ng panlabas na synchronization pin ay ipinapakita sa ibaba sa Seksyon 4.15 .
Larawan 14. Panlabas na daloy ng pag-synchronize

Ranging resulta
5.1 Magagamit na data
Ang isang malawak na listahan ng target at data ng kapaligiran ay maaaring ma-output sa panahon ng mga aktibidad. Inilalarawan ng sumusunod na talahanayan ang mga parameter na magagamit ng user.
Talahanayan 3. Magagamit na output gamit ang VL53L8CX sensor
|
Elemento |
Nb byte (RAM) | Yunit |
Paglalarawan |
| Ambient bawat SPAD | 256 | Kcps/SPAD | Isinasagawa ang pagsukat ng ambient rate sa hanay ng SPAD, na walang aktibong paglabas ng photon, upang sukatin ang rate ng signal sa paligid dahil sa ingay. |
| Bilang ng mga target na nakita |
64 |
wala | Bilang ng mga nakitang target sa kasalukuyang zone. Ang value na ito ang dapat na unang susuriin upang malaman ang validity ng pagsukat. |
| Bilang ng mga SPAD na pinagana | 256 | wala | Bilang ng mga SPAD na pinagana para sa kasalukuyang pagsukat. Ang malayo o mababang reflective target ay mag-a-activate ng mas maraming SPAD. |
|
Signal bawat SPAD |
256 x nb na mga target na naka-program |
Kcps/SPAD |
Dami ng mga photon na sinusukat sa panahon ng VCSEL
pulso |
|
Saklaw na sigma |
128 x nb na mga target na naka-program |
millimeter |
Sigma estimator para sa ingay sa iniulat na target na distansya. |
|
Distansya |
128 x nb na mga target na naka-program | millimeter | Target na distansya |
| Katayuan ng target | 64 x nb na mga target na naka-program | wala | Ang bisa ng mga sukat. Tingnan ang Seksyon 5.5 Interpretasyon ng mga resulta para sa karagdagang impormasyon. |
| Pagninilay | 64 x na mga target na numero ang naka-program | Porsiyento | Tinantyang target na reflectance sa porsyento |
| Tagapagpahiwatig ng paggalaw | 140 | wala | Istraktura na naglalaman ng mga resulta ng tagapagpahiwatig ng paggalaw. Ang field na 'motion' ay naglalaman ng motion intensity. |
Tandaan:
Para sa ilang elemento (signal per spad, sigma, ...) ang pag-access sa data ay iba kung ang user ay nag-program ng higit sa 1 target bawat zone (tingnan ang Seksyon 4.10 Maramihang target bawat zone). Tingnan ang example code para sa karagdagang impormasyon.
5.2 I-customize ang pagpili ng output
Bilang default, lahat ng VL53L8CX output ay pinagana. Kung kinakailangan, maaaring hindi paganahin ng user ang ilang output ng sensor.
Ang hindi pagpapagana ng mga sukat ay hindi magagamit sa driver; dapat itong isagawa sa 'platform.h' file. Maaaring ideklara ng user ang mga sumusunod na macro upang huwag paganahin ang mga output:
#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
Dahil dito, ang mga patlang ay hindi idineklara sa istruktura ng mga resulta, at ang data ay hindi inililipat sa host.
Ang laki ng RAM at laki ng I2C/SPI ay nabawasan.
Upang matiyak ang pagkakapare-pareho ng data, inirerekomenda ng ST na palaging panatilihing naka-enable ang 'bilang ng target na nakita' at 'target status'. Ito ay nagbibigay-daan sa pagsala ng mga sukat depende sa target na katayuan (sumangguni sa Seksyon 5.5 Resulta interpretasyon).
5.3 Pagkuha ng mga resultang sumasaklaw
Sa panahon ng ranging session, may dalawang paraan para malaman kung available ang bagong ranging data:
- Polling mode: Patuloy na gumagamit ng function na vl53l8cx_check_data_ready(). Nakikita nito ang isang bagong bilang ng stream na ibinalik ng sensor.
- Interrupt mode: Naghihintay ng interrupt na nakataas sa pin A1 (INT). Awtomatikong na-clear ang interrupt pagkatapos ng ~100 μs.
Kapag handa na ang bagong data, mababasa ang mga resulta gamit ang function na vl53l8cx_get_ranging_data(). Nagbabalik ito ng na-update na istraktura na naglalaman ng lahat ng napiling output. Dahil asynchronous ang device, walang interrupt na i-clear para ipagpatuloy ang ranging session.
Available ang feature na ito para sa parehong tuluy-tuloy at autonomous ranging mode.
5.4 Paggamit ng raw firmware na format
Pagkatapos maglipat ng ranging data sa pamamagitan ng I2C/SPI, mayroong conversion sa pagitan ng format ng firmware at ng host format. Ang operasyong ito ay karaniwang ginagawa upang magkaroon ng ranging distance sa millimeters bilang default na output ng sensor. Kung gusto ng user na gamitin ang firmware na format, ang sumusunod na macro ay dapat tukuyin sa platform file:
VL53L8CX#define VL53L8CX _USE_RAW_FORMAT
5.5 Interpretasyon ng mga resulta
Ang data na ibinalik ng VL53L8CX ay maaaring i-filter upang isaalang-alang ang target na katayuan. Ang katayuan ay nagpapahiwatig ng bisa ng pagsukat. Ang buong listahan ng katayuan ay inilarawan sa sumusunod na talahanayan.
Talahanayan 4. Listahan ng magagamit na katayuan ng target
| Katayuan ng target | Paglalarawan |
| 0 | Hindi ina-update ang sumasaklaw na data |
| 1 | Masyadong mababa ang signal rate sa SPAD array |
| 2 | Target na yugto |
| 3 | Masyadong mataas ang sigma estimator |
| 4 | Nabigo ang pagkakapare-pareho ng target |
| 5 | Wasto ang saklaw |
| 6 | Hindi ginanap ang pag-ikot (Kadalasan ang unang hanay) |
| 7 | Nabigo ang pagkakapare-pareho ng rate |
| 8 | Masyadong mababa ang signal rate para sa kasalukuyang target |
| 9 | May bisa ang saklaw na may malaking pulso (maaaring dahil sa isang pinagsamang target) |
| 10 | Wasto ang saklaw, ngunit walang target na nakita sa nakaraang hanay |
| 11 | Nabigo ang pagkakapare-pareho ng pagsukat |
| 12 | Na-blur ang target ng isa pa, dahil sa sharpener |
| 13 | Natukoy ang target ngunit hindi pare-parehong data. Madalas na nangyayari para sa mga pangalawang target. |
| 255 | Walang nakitang target (kung naka-enable lang ang bilang ng natukoy na target) |
Upang magkaroon ng pare-parehong data, kailangang i-filter ng user ang di-wastong katayuan ng target. Upang magbigay ng rating ng kumpiyansa, ang isang target na may status 5 ay itinuturing na 100 % wasto. Maaaring isaalang-alang ang status na 6 o 9 na may halaga ng kumpiyansa na 50 %. Ang lahat ng iba pang mga status ay mas mababa sa 50% na antas ng kumpiyansa.
5.6 Mga error sa driver
Kapag may naganap na error gamit ang VL53L8CX sensor, nagbabalik ang driver ng isang partikular na error. Inililista ng sumusunod na talahanayan ang mga posibleng pagkakamali.
Talahanayan 5. Listahan ng mga error na magagamit gamit ang driver
| Katayuan ng target | Paglalarawan |
| 0 | Walang error |
| 127 | Nag-program ang user ng maling setting (hindi alam na resolution, masyadong mataas ang range frequency, …) |
| 255 | Malaking pagkakamali. Karaniwang error sa timeout, dahil sa error sa I2C/SPI. |
| iba pa | Kumbinasyon ng maraming error na inilarawan sa itaas |
Tandaan:
Higit pang mga error code ang maaaring ipatupad ng host gamit ang platform files.
Talahanayan 6. Kasaysayan ng rebisyon ng dokumento
| Petsa | Bersyon | Mga pagbabago |
| 13-Ene-23 | 1 | Paunang paglabas |
MAHALAGANG PAUNAWA – MAGBASA NG MABUTI
Inilalaan ng STMicroelectronics NV at ng mga subsidiary nito (“ST”) ang karapatang gumawa ng mga pagbabago, pagwawasto, pagpapahusay, pagbabago, at pagpapahusay sa mga produkto ng ST at/o sa dokumentong ito anumang oras nang walang abiso. Dapat makuha ng mga mamimili ang pinakabagong may-katuturang impormasyon sa mga produkto ng ST bago maglagay ng mga order. Ang mga produkto ng ST ay ibinebenta alinsunod sa mga tuntunin at kundisyon ng pagbebenta ng ST sa oras ng pag-acknowledge ng order.
Ang mga mamimili ay tanging responsable para sa pagpili, pagpili, at paggamit ng mga produkto ng ST at walang pananagutan ang ST para sa tulong sa aplikasyon o disenyo ng mga produkto ng mga mamimili.
Walang lisensya, hayag o ipinahiwatig, sa anumang karapatan sa intelektwal na ari-arian ang ipinagkaloob ng ST dito.
Ang muling pagbebenta ng mga produktong ST na may mga probisyon na iba sa impormasyong nakasaad dito ay magpapawalang-bisa sa anumang warranty na ibinigay ng ST para sa naturang produkto.
Ang ST at ang ST logo ay mga trademark ng ST. Para sa karagdagang impormasyon tungkol sa mga trademark ng ST, sumangguni sa www.st.com/trademarks. Ang lahat ng iba pang pangalan ng produkto o serbisyo ay pag-aari ng kani-kanilang mga may-ari.
Ang impormasyon sa dokumentong ito ay pinapalitan at pinapalitan ang impormasyong dating ibinigay sa anumang mga naunang bersyon ng dokumentong ito.
© 2023 STMicroelectronics – Nakalaan ang lahat ng karapatan
Mga Dokumento / Mga Mapagkukunan
![]() |
ST VL53L8CX Sensor Module [pdf] User Manual UM3109, VL53L8CX Sensor Module, VL53L8CX, Sensor Module, Module |




