STMicroelectronics VL53L7CX Oras ng Paglipad Multizone Ranging Sensor

STMicroelectronics VL53L7CX Oras ng Paglipad Multizone Ranging Sensor

Panimula

Ang layunin ng user manual na ito ay ipaliwanag kung paano pangasiwaan ang VL53L7CX Time-of-Flight (ToF) sensor, gamit ang ultra lite driver (ULD) API. Inilalarawan nito ang mga pangunahing pag-andar upang i-program ang aparato, ang mga pagkakalibrate, at ang mga resulta ng output.

Espesyal na idinisenyo para sa mga application na nangangailangan ng ultrawide FoV, ang VL53L7CX Time-of-Flight sensor ay nag-aalok ng 90° diagonal na FoV. Batay sa teknolohiya ng Flight Sense ng STMicroelectronics, ang VL53L7CX ay nagsasama ng isang mahusay na meta surface lens (DOE) na inilagay sa laser emitter na nagbibigay-daan sa projection ng isang 60° x 60° 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 350 cm.

Salamat sa autonomous mode na may programmable distance threshold na pinagsama sa ultrawide FoV, ang VL53L7CX 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 VL53L7CX na makakita, sa bawat zone, ng maraming bagay sa loob ng FoV na may malalim na pag-unawa. Tinitiyak ng STMicroelectronics histogram algorithms ang cover glass crosstalk immunity na lampas sa 60 cm.

Nagmula sa VL53L5CX, ang mga pinout at driver ng parehong mga sensor ay magkatugma, na nagsisiguro ng isang simpleng paglipat mula sa isang sensor patungo sa isa pa.

Tulad ng lahat ng Time-of-Flight (ToF) sensor batay sa teknolohiya ng Flight Sense ng ST, ang VL53L7CX 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 SPAD array, ang VL53L7CX ay nakakamit ang pinakamahusay na performance sa iba't ibang kondisyon ng ilaw sa paligid, at para sa 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).

Ang VL53L7CX ay ang perpektong sensor para sa anumang application na nangangailangan ng ultrawide FoV tulad ng robotics, smart speakers, video projector, content management. Ang kumbinasyon ng multizone na kakayahan at ang 90° FoV ay maaaring mapahusay ang mga bagong kaso ng paggamit tulad ng pagkilala sa kilos, SLAM para sa robotics, at mababang power system activation para sa matalinong gusali.

Larawan 1. VL53L7CX sensor module
Panimula

Mga acronym at pagdadaglat

Acronym/abbreviation Kahulugan
DOE diffractive optical element
FoV larangan ng view
I²C inter-integrated circuit (serial bus)
Kcps/SPAD Kilo-count per second per spad (unit na ginamit para mabilang ang bilang ng mga photon sa SPAD array)
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
VHV napakataas na voltage
Xtalk crosstalk

Functional na paglalarawan

Tapos na ang sistemaview

Ang VL53L7CX system ay binubuo ng isang hardware module at ang ultra lite driver software (VL53L7CX 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.

Larawan 2. Tapos na ang VL53L7CX systemview
Functional na paglalarawan
Epektibong oryentasyon
Ang module ay may kasamang lens sa ibabaw ng Rx aperture, na nag-flip (pahalang at patayo) ang nakunan na imahe 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.

Larawan 3. VL53L7CX epektibong oryentasyon
Functional na paglalarawan
Schematics at configuration ng I²C

Ang komunikasyon sa pagitan ng driver at firmware ay pinangangasiwaan ng I²C, na may kakayahang magpatakbo ng hanggang 1 MHz. Ang pagpapatupad ay nangangailangan ng mga pull-up sa mga linya ng SCL at SDA. Sumangguni sa VL53L7CX datasheet para sa higit pang impormasyon. Ang VL53L7CX device ay may default na I²C address na 0x52. Gayunpaman, posibleng baguhin ang default na address upang maiwasan ang mga salungatan sa iba pang mga device, o mapadali ang pagdaragdag ng maramihang VL53L7CX modules sa system para sa mas malawak na system na FoV. Maaaring baguhin ang I²C address gamit ang vl53l7cx_set_i2c_address() function.

Larawan 4. Maramihang sensor sa I²C bus
Functional na paglalarawan

Upang payagan ang isang device na baguhin ang I²C address nito nang hindi naaapektuhan ang iba sa I²C bus, mahalagang i-disable ang I²C na komunikasyon ng mga device na hindi binabago. Ang pamamaraan ay ang sumusunod:

  1. Paganahin ang system bilang normal.
  2. Hilahin pababa ang LPn pin ng device na hindi mababago ang address nito.
  3. Hilahin pataas ang LPn pin ng device na binago ang I²C address.
  4. I-program ang I²C address sa device gamit ang function na set_i2c_address() function.
  5. Hilahin pataas ang LPn pin ng device na hindi na-reprogram.

Dapat na available na ang lahat ng device sa I²C bus. Ulitin ang mga hakbang sa itaas para sa lahat ng VL53L7CX device sa system na nangangailangan ng bagong I²C address.

Nilalaman ng package at daloy ng data

Arkitektura at nilalaman ng driver

Ang VL53L7CX ULD package ay binubuo ng apat na folder. Ang driver ay matatagpuan sa folder /

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

Larawan 5. Arkitektura ng driver
Nilalaman ng package at daloy ng data

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.

Tandaan: 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

Daloy ng pagkakalibrate

Ang Crosstalk (Xtalk) ay tinukoy bilang ang dami ng signal na natanggap sa SPAD array, na dahil sa VCSEL light
pagmuni-muni sa loob ng proteksiyon na bintana (takip na salamin) na idinagdag sa ibabaw ng module. Ang VL53L7CX module ay naka-calibrate sa sarili, at maaaring gamitin nang walang anumang karagdagang pagkakalibrate.

Maaaring kailanganin ang crosstalk calibration kung ang module ay protektado ng isang cover glass. Ang VL53L7CX ay immune sa
crosstalk 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 crosstalk calibration function ay kasama sa isang Xtalk plugin (opsyonal). Kailangang gamitin ng user ang file 'vl53l7cx_plugin_xtalk'.

Maaaring i-calibrate ang crosstalk nang isang beses, at maaaring i-save ang data upang magamit itong muli sa ibang pagkakataon. Ang isang target sa isang nakapirming distansya, na may isang 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 para iakma ang crosstalk calibration, gaya ng iminungkahi sa sumusunod na talahanayan.

Talahanayan 1. Magagamit na mga setting para sa pagkakalibrate

Setting Min Iminungkahi ng 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 vl53l7cx_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 crosstalk.

Larawan 6. Daloy ng pagkakalibrate ng crosstalk
Nilalaman ng package at daloy ng data

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.

Larawan 7. Ranging flow gamit ang VL53L7CX
Nilalaman ng package at daloy ng data

Magagamit na mga tampok

Kasama sa VL53L7CX 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.

Pagsisimula

Dapat gawin ang initialization bago gamitin ang VL53L7CX sensor. Ang operasyong ito ay nangangailangan ng user na:

  1. I-on ang sensor (VDDIO, AVDD, LPn pins nakatakda sa High, at pin I2C_RST nakatakda sa 0)
  2. Tawagan ang function na vl53l7cx_init(). Kinokopya ng function ang firmware (~84 Kbytes) sa module. Ginagawa ito sa pamamagitan ng paglo-load ng code sa interface ng I²C, at pagsasagawa ng boot routine upang makumpleto ang initialization.

Pamamahala ng pag-reset ng sensor

Upang i-reset ang device, kailangang i-toggle ang mga sumusunod na pin:

  1. Itakda sa mababa ang mga pin na VDDIO, AVDD, at LPn pin.
  2. Maghintay ng 10 ms.
  3. Itakda sa mataas ang mga pin na VDDIO, AVDD, at LPn pin.

Tandaan: Ang pag-togg lang ng I2C_RST pin ay nagre-reset sa I²C na komunikasyon.

Resolusyon

Ang resolusyon ay tumutugma sa bilang ng mga magagamit na zone. Ang VL53L7CX 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 vl53l7cx_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 I²C bus kapag nabasa ang mga resulta.

Ranging frequency

Maaaring gamitin ang saklaw ng dalas upang baguhin ang dalas ng pagsukat. Dahil iba ang maximum frequency
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 vl53l7cx_set_ranging_frequency_hz(). Bilang default, nakatakda ang ranging frequency sa 1 Hz.

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.
  • Autonomous: Ito ang default na mode. Patuloy na kinukuha ng device ang mga frame na may ranging frequency
    tinukoy ng gumagamit. Ang VCSEL ay pinagana sa panahon na tinukoy ng user, gamit ang function na vl53l7cx_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 vl53l7cx_set_ranging_mode().

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. Pagbabago ng oras ng pagsasama kung ang ranging
ang 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.

Larawan 8. Oras ng pagsasama para sa 4×4 autonomous
Magagamit na mga tampok

Larawan 9. Oras ng pagsasama para sa 8×8 autonomous
Magagamit na mga tampok

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 upang magkasya sa halaga ng oras ng pagsasama.

Mga power mode

Maaaring gamitin ang mga power mode upang bawasan ang pagkonsumo ng kuryente kapag hindi ginagamit ang device. Ang VL53L7CX 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 vl53l7cx_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.

Sharpener

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 isang 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 10. Example ng eksena gamit ang ilang value ng sharpener
Magagamit na mga tampok
Magagamit na mga tampok
Magagamit na mga tampok

Maaaring baguhin ang Sharpener gamit ang function na vl53l7cx_set_sharpener_percent(). Ang mga pinapayagang halaga ay nasa pagitan ng 0% at 99%. Ang default na halaga ay 5%.

Target na order

Maaaring sukatin ng VL53L7CX ang ilang mga target sa bawat zone. Salamat sa pagproseso ng histogram, nagagawa ng host
piliin 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 vl53l7cx_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.

Larawan 11. Example ng histogram na may dalawang target
Magagamit na mga tampok

Maramihang mga target sa bawat zone

Ang VL53L7CX 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; ito ay dapat gawin sa 'platform. h' file. Ang macro VL53L7CX_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.

margin ng Xtalk

Ang Xtalk margin ay isang karagdagang tampok na magagamit lamang gamit ang plugin na Xtalk. Ang .c at .f fileKailangang gamitin ang 'vl53l7cx_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 crosstalk. Para kay exampSa gayon, maaaring magpatakbo ang user ng crosstalk 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 crosstalk correction. Ang figure sa ibaba ay kumakatawan sa Xtalk margin.

Larawan 12. margin ng Xtalk
Magagamit na mga tampok

Mga hangganan ng 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 'vl53l7cx_plugin_detection_thresholds' ay kailangang gamitin. Maaaring gamitin ang feature para mag-trigger ng interrupt sa pin A3 (INT) kapag natugunan ang mga kundisyon na tinukoy ng user. May tatlong posibleng configuration:

  • Resolution 4×4: gamit ang isang threshold bawat zone (kabuuan ng 16 na threshold)
  • Resolution 4×4: gamit ang dalawang threshold sa bawat zone (kabuuang 32 threshold)
  • Resolution 8×8: gamit ang isang 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 pinangangasiwaan 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.

Tagapagpahiwatig ng paggalaw

Ang VL53L7CX sensor ay may naka-embed na feature ng firmware na nagbibigay-daan sa pag-detect ng paggalaw sa isang eksena. Ang galaw
Ang indicator ay kinakalkula sa pagitan ng mga sequential na frame. Available ang opsyong ito gamit ang plugin na 'vl53l7cx_plugin_motion_indicator'.

Ang motion indicator ay sinisimulan gamit ang vl53l7cx_motion_indicator_init() function. Upang baguhin ang sensor
resolution, i-update ang motion indicator resolution gamit ang nakalaang function: vl53l7cx_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
intensity ng paggalaw 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.

Pana-panahong kabayaran sa temperatura

Ang pagganap ng ranging ay apektado ng mga pagkakaiba-iba ng temperatura. Ang VL53L7CX sensor ay naglalagay ng temperatura
kabayaran na na-calibrate nang isang beses kapag nagsimula ang streaming. Gayunpaman, kung nagbabago ang temperatura, ang
ang kabayaran ay maaaring hindi nakahanay sa bagong temperatura. Upang maiwasan ang isyung ito, maaaring magpatakbo ang customer ng pana-panahong kabayaran sa temperatura sa pamamagitan ng paggamit ng auto VHV. Ang pana-panahong pag-calibrate ng temperatura ay tumatagal ng ilang millisecond upang tumakbo. Maaaring tukuyin ng user ang panahon. Para magamit ang feature na ito, kailangan ng customer na:

  • Tawagan ang function na vl53l7cx_set_VHV_repeat_count().
  • Pagkatapos, ibigay ang bilang ng mga frame sa pagitan ng bawat bagong pagkakalibrate bilang argumento.

Kung ang argument ay 0, ang kabayaran ay hindi pinagana.

Ranging resulta

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 VL53L7CX 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 na target ay nag-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 pulse.
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 mo Seksyon 5.5: Mga Resulta interpretasyon 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 isang target sa bawat zone (tingnan ang Seksyon 4.10: Maramihang target bawat zone). Tingnan ang example code para sa karagdagang impormasyon.

I-customize ang pagpili ng output

Bilang default, lahat ng VL53L7CX output ay pinagana. Kung kinakailangan, maaaring hindi paganahin ng user ang ilang mga 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 VL53L7CX_DISABLE_AMBIENT_PER_SPAD
#define VL53L7CX_DISABLE_NB_SPADS_ENABLED
#define VL53L7CX_DISABLE_NB_TARGET_DETECTED
#define VL53L7CX_DISABLE_SIGNAL_PER_SPAD
#define VL53L7CX_DISABLE_RANGE_SIGMA_MM
#define VL53L7CX_DISABLE_DISTANCE_MM
#define VL53L7CX_DISABLE_TARGET_STATUS
#define VL53L7CX_DISABLE_REFLECTANCE_PERCENT
#define VL53L7CX_DISABLE_MOTION_INDICATOR

Dahil dito, ang mga patlang ay hindi ipinahayag sa istraktura ng mga resulta, at ang data ay hindi inililipat sa host. Nababawasan ang laki ng RAM at laki ng I²C. Upang matiyak ang pagkakapare-pareho ng data, palaging inirerekomenda ng ST na panatilihing naka-enable ang 'bilang ng mga target na nakita' at 'katayuan ng target'. Sinasala nito ang mga sukat depende sa katayuan ng target (sumangguni sa Seksyon 5.5: Interpretasyon ng mga resulta).

Pagkuha ng ranging mga resulta

Sa panahon ng ranging session, may dalawang paraan para malaman kung available ang bagong ranging data:

  • Polling mode: Patuloy na gumagamit ng function na vl53l7cx_check_data_ready(). Nakikita nito ang isang bagong bilang ng stream na ibinalik ng sensor.
  • Interrupt mode: Naghihintay ng interrupt na nakataas sa pin A3 (GPIO1). Awtomatikong na-clear ang interrupt pagkatapos ng ~100 μs.

Kapag handa na ang bagong data, mababasa ang mga resulta gamit ang function na vl53l7cx_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.

Gamit ang raw firmware format

Pagkatapos ilipat ang sumasaklaw na data sa pamamagitan ng I²C, mayroong isang conversion sa pagitan ng format ng firmware at ng format ng host. 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: VL53L7CX

#define VL53L7CX_USE_RAW_FORMAT

Interpretasyon ng mga resulta 

Ang data na ibinalik ng VL53L7CX 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 gumanap ang pag-ikot (karaniwang 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 mga target na nakita)

Upang magkaroon ng pare-parehong data, kailangang i-filter ng user ang di-wastong katayuan ng target. Upang magbigay ng rating ng kumpiyansa, ang target na may status 5 ay itinuturing na 100% wasto. Ang isang katayuan na 6 o 9 ay maaaring isaalang-alang na may halaga ng kumpiyansa na 50%. Ang lahat ng iba pang mga status ay mas mababa sa 50% na antas ng kumpiyansa.

Mga error sa driver

Kapag may naganap na error gamit ang VL53L7CX 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 resolusyon, masyadong mataas ang dalas ng saklaw, …)
255 Malaking pagkakamali. Kadalasan ay isang error sa pag-timeout, dahil sa isang error sa I²C.
iba pa Kumbinasyon ng maraming error na inilarawan sa itaas

Tandaan: Ang host ay maaaring magpatupad ng higit pang mga error code sa pamamagitan ng paggamit ng platform files.

Kasaysayan ng rebisyon

Talahanayan 6. Kasaysayan ng rebisyon ng dokumento

Petsa Bersyon Mga pagbabago
02-Ago-2022 1 Paunang paglabas
02-Sep-2022 2 Na-update Panimula sa Seksyon
Nagdagdag ng tala tungkol sa pinakamababang distansya sa pagitan ng mga target sa Seksyon 4.10: Maramihan mga target sa bawat zone
21-Peb-2024 3 Nagdagdag ng VHV (napakataas na voltage) sa Seksyon 1: Mga acronym at pagdadaglat. Idinagdag Seksyon 4.14: Pana-panahong kabayaran sa temperatura

Suporta sa Customer

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.
© 2024 STMicroelectronics – Nakalaan ang lahat ng karapatan

Logo

Mga Dokumento / Mga Mapagkukunan

STMicroelectronics VL53L7CX Oras ng Paglipad Multizone Ranging Sensor [pdf] Gabay sa Gumagamit
VL53L7CX Oras ng Flight Multizone Ranging Sensor, VL53L7CX, Oras ng Flight Multizone Ranging Sensor, Flight Multizone Ranging Sensor, Multizone Ranging Sensor, Ranging Sensor

Mga sanggunian

Mag-iwan ng komento

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan *