STMicroelectronics VL53L7CX Wektu Flight Multizone Ranging Sensor

STMicroelectronics VL53L7CX Wektu Flight Multizone Ranging Sensor

Pambuka

Tujuan manual pangguna iki kanggo nerangake carane nangani sensor VL53L7CX Time-of-Flight (ToF), nggunakake API driver ultra lite (ULD). Iki nggambarake fungsi utama kanggo program piranti, kalibrasi, lan asil output.

Dirancang khusus kanggo aplikasi sing mbutuhake FoV ultrawide, sensor Time-of-Flight VL53L7CX nawakake FoV diagonal 90°. Adhedhasar teknologi Flight Sense STMicroelectronics, VL53L7CX nggabungake lensa permukaan meta efisien (DOE) sing diselehake ing pemancar laser sing ngidini proyeksi FoV persegi 60° x 60° menyang pemandangan.

Kapabilitas multizona menehi matriks zona 8 × 8 (64 zona) lan bisa mlaku kanthi cepet (60 Hz) nganti 350 cm.

Thanks kanggo mode otonom kanthi ambang jarak sing bisa diprogram digabungake karo FoV ultrawide, VL53L7CX cocog kanggo aplikasi apa wae sing mbutuhake deteksi pangguna sing kurang daya. Algoritma paten ST lan konstruksi modul inovatif ngidini VL53L7CX ndeteksi, ing saben zona, macem-macem obyek ing FoV kanthi pangerten sing jero. Algoritma histogram STMicroelectronics njamin kekebalan crosstalk kaca tutup ngluwihi 60 cm.

Asalé saka VL53L5CX, pinouts lan driver saka loro sensor sing kompatibel, kang njamin migrasi prasaja saka siji sensor liyane.

Kaya kabeh sensor Time-of-Flight (ToF) adhedhasar teknologi Flight Sense ST, VL53L7CX nyathet, ing saben zona, jarak absolut preduli saka warna target lan pantulan.

Dumunung ing paket reflowable miniatur sing nggabungake array SPAD, VL53L7CX entuk kinerja kisaran sing paling apik ing macem-macem kahanan cahya sekitar, lan kanggo macem-macem bahan kaca tutup.

Kabeh sensor ToF ST nggabungake VCSEL sing mancarake cahya IR 940 nm sing ora katon, sing pancen aman kanggo mripat (sertifikasi Kelas 1).

VL53L7CX minangka sensor sing sampurna kanggo aplikasi apa wae sing mbutuhake FoV ultrawide kaya robotika, speaker cerdas, proyektor video, manajemen konten. Kombinasi kemampuan multizona lan 90° FoV bisa nambah kasus panggunaan anyar kayata pangenalan gerakan, SLAM kanggo robotika, lan aktivasi sistem daya rendah kanggo bangunan cerdas.

Gambar 1. Modul sensor VL53L7CX
Pambuka

Akronim lan singkatan

Akronim/singkatan definisi
DOE unsur optik difraksi
FoV lapangan saka view
I²C sirkuit interintegrasi (bus serial)
Kcps/SPAD Kilo-count per detik per spad (unit sing digunakake kanggo ngitung jumlah foton menyang array SPAD)
RAM memori akses acak
SCL baris jam serial
SDA data serial
SPAD dioda longsor foton tunggal
ToF Wektu-saka-Flight
ULD driver ultra lite
VCSEL dioda pemancar permukaan rongga vertikal
VHV dhuwur banget voltage
Xtalk crosstalk

Katrangan fungsional

Sistem liwatview

Sistem VL53L7CX dumadi saka modul hardware lan piranti lunak driver Ultra lite (VL53L7CX ULD) sing mlaku ing host (ndeleng tokoh ing ngisor iki). Modul hardware ngemot sensor ToF. STMicroelectronics ngirim driver piranti lunak, sing diarani ing dokumen iki minangka "pembalap". Dokumen iki nggambarake fungsi driver, sing bisa diakses dening host. Fungsi kasebut ngontrol sensor lan entuk data kisaran.

Gambar 2. VL53L7CX sistem liwatview
Katrangan fungsional
Orientasi efektif
Modul kalebu lensa liwat aperture Rx, sing flips (horizontal lan vertikal) gambar dijupuk saka target. Akibaté, zona sing diidentifikasi minangka zona 0, ing sisih kiwa ngisor array SPAD, dipadhangi karo target sing ana ing sisih tengen ndhuwur pemandangan.

Gambar 3. VL53L7CX orientasi efektif
Katrangan fungsional
Skema lan konfigurasi I²C

Komunikasi antarane driver lan firmware ditangani dening I²C, kanthi kemampuan operasi nganti 1 MHz. Implementasine mbutuhake pull-up ing garis SCL lan SDA. Deleng lembar data VL53L7CX kanggo informasi luwih lengkap. Piranti VL53L7CX nduweni alamat I²C standar 0x52. Nanging, iku bisa kanggo ngganti alamat gawan supaya konflik karo piranti liyane, utawa nggampangake nambah sawetara modul VL53L7CX kanggo sistem kanggo sistem luwih FoV. Alamat I²C bisa diganti nggunakake fungsi vl53l7cx_set_i2c_address().

Gambar 4. Multiple sensor ing I²C bus
Katrangan fungsional

Kanggo ngidini piranti ngganti alamat I²C tanpa mengaruhi wong liya ing bis I²C, penting kanggo mateni komunikasi I²C piranti sing ora diganti. Prosedur kasebut minangka ing ngisor iki:

  1. Daya munggah sistem minangka normal.
  2. Narik mudhun pin LPn piranti sing alamate ora bakal diganti.
  3. Tarik munggah pin LPn piranti sing alamat I²C diganti.
  4. Program alamat I²C menyang piranti nggunakake fungsi set_i2c_address() fungsi.
  5. Narik pin LPn piranti sing ora diprogram maneh.

Kabeh piranti saiki kudu kasedhiya ing bis I²C. Baleni langkah ing ndhuwur kanggo kabeh piranti VL53L7CX ing sistem sing mbutuhake alamat I²C anyar.

Isi paket lan aliran data

arsitektur driver lan isi

Paket VL53L7CX ULD dumadi saka patang folder. Driver dumunung ing folder /

VL53L7CX_ULD_API.
Pembalap dumadi saka wajib lan opsional files. Opsional files iku plugins digunakake kanggo ngluwihi fitur ULD. Saben plugin diwiwiti kanthi tembung "vl53l7cx_plugin" (contone vl53l7cx_plugin_xtalk.h). Yen pangguna ora pengin ngajokaken plugins, bisa dibusak tanpa mengaruhi fitur driver liyane. Tokoh ing ngisor iki nuduhake wajib files lan opsional plugins.

Gambar 5. Arsitektur driver
Isi paket lan aliran data

Pangguna uga kudu ngetrapake loro files dumunung ing folder / Platform. Platform sing diusulake minangka cangkang kosong, lan kudu diisi karo fungsi khusus.

Cathetan: Bentuk plat. h file ngemot makro wajib kanggo nggunakake ULD. Kabeh file isi wajib kanggo nggunakake ULD kanthi bener

Aliran kalibrasi

Crosstalk (Xtalk) ditetepake minangka jumlah sinyal sing ditampa ing array SPAD, sing amarga cahya VCSEL
bayangan nang jendhela protèktif (kaca tutup) ditambahaké ing ndhuwur modul. Modul VL53L7CX dikalibrasi dhewe, lan bisa digunakake tanpa kalibrasi tambahan.

Kalibrasi Crosstalk bisa uga dibutuhake yen modul dilindhungi dening kaca tutup. VL53L7CX kebal
crosstalk ngluwihi 60 cm thanks kanggo algoritma histogram. Nanging, ing jarak cendhak ing ngisor 60 cm, Xtalk bisa luwih gedhe tinimbang sinyal bali sing nyata. Iki menehi maca target palsu utawa nggawe target katon luwih cedhak tinimbang sing sejatine. Kabeh fungsi kalibrasi crosstalk kalebu ing plugin Xtalk (opsional). Pangguna kudu nggunakake file 'vl53l7cx_plugin_xtalk'.

Crosstalk bisa dikalibrasi sapisan, lan data bisa disimpen supaya bisa digunakake maneh mengko. Target ing kadohan tetep, karo reflectance dikenal dibutuhake. Jarak minimal sing dibutuhake yaiku 600 mm, lan target kudu nutupi kabeh FoV. Gumantung ing persiyapan, pangguna bisa ngowahi setelan kanggo ngganti kalibrasi crosstalk, kaya sing diusulake ing tabel ing ngisor iki.

Tabel 1. Setelan sing kasedhiya kanggo kalibrasi

Setelan Min Dianjurake dening STMicroelectronics Maks
Jarak [mm] 600 600 3000
Jumlah samples 1 4 16
Refleksi [%] 1 3 99

Cathetan: Tambah nomer samples nambah akurasi, nanging uga nambah wektu kanggo kalibrasi. Wektu relatif kanggo nomer samples punika linear, lan nilai ngetutake wektu entek kira-kira:

  • 1 sample ≈ 1 detik
  • 4 sampkurang ≈ 2.5 detik
  • 16 sampkurang ≈ 8.5 detik

Kalibrasi dileksanakake nggunakake fungsi vl53l7cx_calibrate_xtalk (). Fungsi iki bisa digunakake kapan wae. Nanging, sensor kudu diwiwiti dhisik. Gambar ing ngisor iki nuduhake aliran kalibrasi crosstalk.

Gambar 6. Aliran kalibrasi Crosstalk
Isi paket lan aliran data

Aliran kisaran

Gambar ing ngisor iki nuduhake aliran kisaran sing digunakake kanggo pangukuran. Kalibrasi Xtalk lan panggilan fungsi opsional kudu digunakake sadurunge miwiti sesi mulai. Fungsi get/set ora bisa digunakake sajrone sesi mulai, lan program 'on-the-fly' ora didhukung.

Gambar 7. Aliran kiro-kiro nggunakake VL53L7CX
Isi paket lan aliran data

fitur kasedhiya

API VL53L7CX ULD kalebu sawetara fungsi, sing ngidini pangguna nyetel sensor, gumantung saka kasus panggunaan. Kabeh fungsi sing kasedhiya kanggo driver diterangake ing bagean ing ngisor iki.

Initialization

Initialization kudu rampung sadurunge nggunakake sensor VL53L7CX. Operasi iki mbutuhake pangguna:

  1. Daya ing sensor (VDDIO, AVDD, LPn pin disetel kanggo Dhuwur, lan pin I2C_RST disetel kanggo 0)
  2. Telpon fungsi vl53l7cx_init(). Fungsi nyalin firmware (~ 84 Kbyte) menyang modul. Iki ditindakake kanthi ngemot kode liwat antarmuka I²C, lan nindakake rutinitas boot kanggo ngrampungake inisialisasi.

Manajemen reset sensor

Kanggo ngreset piranti, pin ing ngisor iki kudu diuripake:

  1. Setel pin VDDIO, AVDD, lan LPn dadi kurang.
  2. Ngenteni 10 ms.
  3. Setel pin VDDIO, AVDD, lan LPn menyang dhuwur.

Cathetan: Ngalih mung pin I2C_RST ngreset komunikasi I²C.

Resolusi

Résolusi cocog karo jumlah zona sing kasedhiya. Sensor VL53L7CX duwe rong resolusi: 4 × 4 (16 zona) lan 8 × 8 (64 zona). Kanthi gawan sensor diprogram ing 4 × 4. Fungsi vl53l7cx_set_resolution () ngidini pangguna kanggo ngganti resolusi. Amarga frekuensi kisaran gumantung ing resolusi, fungsi iki kudu digunakake sadurunge nganyari frekuensi kiro-kiro. Kajaba iku, ngganti resolusi uga nambah ukuran lalu lintas ing bis I²C nalika asil diwaca.

Frekuensi kisaran

Frekuensi kisaran bisa digunakake kanggo ngganti frekuensi pangukuran. Minangka frekuensi maksimum beda
antarane 4 × 4 lan 8 × 8 résolusi, fungsi iki kudu digunakake sawise milih resolusi. Nilai minimal lan maksimum sing diidinake kapacak ing tabel ing ngisor iki.

Tabel 2. Frekuensi kiro-kiro minimal lan maksimal

Resolusi Frekuensi kisaran min [Hz] Frekuensi kisaran maksimum [Hz]
4×4 1 60
8×8 1 15

Frekuensi kiro-kiro bisa dianyari nggunakake fungsi vl53l7cx_set_ranging_frequency_hz (). Kanthi gawan, frekuensi kiro-kiro disetel dadi 1 Hz.

Mode Ranging

Mode kiro-kiro ngidini pangguna milih antarane kinerja dhuwur utawa konsumsi daya sing sithik. Ana rong mode sing diusulake:

  • Terus-terusan: Piranti terus-terusan njupuk pigura kanthi frekuensi kisaran sing ditemtokake dening pangguna. VCSEL diaktifake sajrone kabeh, saengga jarak jarak maksimal lan kekebalan lingkungan luwih apik. Mode iki disaranake kanggo pangukuran kanthi cepet utawa kinerja dhuwur.
  • Otonom: Iki minangka mode standar. Piranti kasebut terus-terusan nyekel pigura kanthi frekuensi kiro-kiro
    ditetepake dening pangguna. VCSEL diaktifake sajrone wektu sing ditemtokake dening pangguna, nggunakake fungsi vl53l7cx_set_integration_time_ms (). Amarga VCSEL ora tansah aktif, konsumsi daya wis suda. Keuntungan luwih jelas kanthi frekuensi kisaran sing suda. Mode iki disaranake kanggo aplikasi daya kurang.

Mode ranging bisa diganti nggunakake fungsi vl53l7cx_set_ranging_mode ().

Wektu integrasi

Wektu integrasi minangka fitur sing mung kasedhiya nggunakake mode ranging otonom (waca Bagean 4.5: Ranging
modus). Iki ngidini pangguna ngganti wektu nalika VCSEL diaktifake. Ngganti wektu integrasi yen kiro-kiro
mode disetel kanggo terus ora efek. Wektu integrasi standar disetel dadi 5 ms. Efek wektu integrasi beda kanggo resolusi 4 × 4 lan 8 × 8. Resolusi 4 × 4 dumadi saka siji wektu integrasi, lan 8 × 8 resolusi dumadi saka kaping integrasi papat. Angka ing ngisor iki makili emisi VCSEL kanggo loro resolusi kasebut.

Gambar 8. wektu Integrasi kanggo 4 × 4 otonom
fitur kasedhiya

Gambar 9. wektu Integrasi kanggo 8 × 8 otonom
fitur kasedhiya

Jumlah kabeh wektu integrasi + 1 ms overhead kudu luwih murah tinimbang periode pangukuran. Yen ora, periode kiro-kiro otomatis ditambahake kanggo pas karo nilai wektu integrasi.

Mode daya

Mode daya bisa digunakake kanggo nyuda konsumsi daya nalika piranti ora digunakake. VL53L7CX bisa digunakake ing salah sawijining mode daya ing ngisor iki:

  • Tangi: Piranti disetel ing HP nganggur (daya dhuwur), ngenteni instruksi.
  • Turu: Piranti disetel ing LP nganggur (daya sedheng), kahanan daya sedheng. Piranti ora bisa digunakake nganti disetel ing mode tangi. Mode iki nahan perangkat kukuh lan konfigurasi.

Mode daya bisa diganti nggunakake fungsi vl53l7cx_set_power_mode (). Mode standar yaiku tangi.
Cathetan: Yen pangguna pengin ngganti mode daya, piranti kudu ora ana ing kahanan kiro-kiro.

Ngasah luwih cetha

Sinyal bali saka target ora pulsa resik karo sudhut cetha. Pinggirané miring lan bisa mengaruhi jarak sing dilapurake ing zona jejer. Pengasah digunakake kanggo mbusak sawetara utawa kabeh sinyal sing disebabake glare veiling.

mantanample ditampilake ing tokoh ing ngisor iki nggantosi target cedhak ing 100 mm pusaté ing FoV, lan target liyane, luwih konco ing 500 mm. Gumantung saka nilai sharpener, target sing cedhak bisa katon ing zona luwih akeh tinimbang sing nyata.

Gambar 10. Example saka pemandangan nggunakake sawetara nilai sharpener
fitur kasedhiya
fitur kasedhiya
fitur kasedhiya

Sharpener bisa diganti nggunakake fungsi vl53l7cx_set_sharpener_percent (). Nilai sing diidinake yaiku antarane 0% lan 99%. Nilai standar yaiku 5%.

Urutan target

VL53L7CX bisa ngukur sawetara target saben zona. Thanks kanggo pangolahan histogram, host bisa
milih urutan target sing dilapurake. Ana rong pilihan:

  • Paling cedhak: Target sing paling cedhak yaiku sing dilaporake pisanan
  • Paling kuat: Target sing paling kuat yaiku sing dilaporake pisanan

Urutan target bisa diganti nggunakake fungsi vl53l7cx_set_target_order (). Urutan standar paling kuat. mantanample ing tokoh ing ngisor iki nuduhake deteksi rong target. Siji ing 100 mm kanthi reflektansi kurang, lan siji ing 700 mm kanthi reflektansi dhuwur.

Gambar 11. Example saka histogram karo rong target
fitur kasedhiya

Multiple target saben zona

VL53L7CX bisa ngukur nganti patang target saben zona. Pangguna bisa ngatur jumlah target sing dibalekake dening sensor.

Cathetan: Jarak minimal antarane rong target sing bisa dideteksi yaiku 600 mm. Pilihan ora bisa ditindakake saka driver; iku kudu rampung ing 'platform. h' file. Makro VL53L7CX_NB_ TARGET_PER_ZONE kudu disetel menyang nilai antarane 1 lan 4. Urutan target sing diterangake ing Bagean 4.9: Urutan target langsung mengaruhi urutan target sing dideteksi. Kanthi gawan, sensor mung ngasilake maksimal siji target saben zona.

Cathetan: Tambah jumlah target saben zona nambah ukuran RAM sing dibutuhake.

margin Xtalk

Margin Xtalk minangka fitur tambahan mung kasedhiya nggunakake plugin Xtalk. .c lan .f files 'vl53l7cx_plugin_xtalk' kudu digunakake.

Margin digunakake kanggo ngganti ambang deteksi nalika kaca tutup ana ing sisih ndhuwur sensor. Ambang bisa ditambah kanggo mesthekake yen kaca tutup ora tau dideteksi, sawise nyetel data kalibrasi crosstalk. Kanggo exampNanging, pangguna bisa mbukak kalibrasi crosstalk ing siji piranti, lan nggunakake maneh data kalibrasi sing padha kanggo kabeh piranti liyane. Margin Xtalk bisa digunakake kanggo nyetel koreksi crosstalk. Tokoh ing ngisor iki nuduhake wates Xtalk.

Gambar 12. margin Xtalk
fitur kasedhiya

Ambang deteksi

Saliyane kapabilitas jarak reguler, sensor bisa diprogram kanggo ndeteksi obyek miturut kriteria sing wis ditemtokake. Fitur iki kasedhiya nggunakake plugin "ambang deteksi", yaiku pilihan sing ora kalebu standar ing API. Ing files disebut 'vl53l7cx_plugin_detection_thresholds' kudu digunakake. Fitur kasebut bisa digunakake kanggo micu interupsi menyang pin A3 (INT) nalika kahanan sing ditetepake pangguna wis ketemu. Ana telung konfigurasi sing bisa ditindakake:

  • Resolusi 4×4: nggunakake siji ambang saben zona (total 16 ambang)
  • Resolusi 4×4: nggunakake rong ambang saben zona (total 32 ambang)
  • Resolusi 8×8: nggunakake siji ambang saben zona (total 64 ambang)

Apa wae konfigurasi sing digunakake, prosedur kanggo nggawe batesan lan ukuran RAM padha. Kanggo saben kombinasi ambang, sawetara kolom kudu diisi:

  • Zona id: id saka zona sing dipilih (deleng Bagean 2.2: Orientasi efektif)
  • Pangukuran: pangukuran kanggo nyekel (jarak, sinyal, jumlah SPAD, ...)
  • Jinis: jendhela pangukuran (ing jendhela, metu saka jendhela, ngisor ambang ngisor, ...)
  • Ambang kurang: pangguna ambang kurang kanggo pemicu. Pangguna ora perlu nyetel format, kanthi otomatis ditangani dening API.
  • Ambang dhuwur: pangguna ambang dhuwur kanggo pemicu. Pangguna ora perlu nyetel format; iku otomatis ditangani dening API.
  • Operasi matematika: mung digunakake kanggo 4 × 4 - 2 kombinasi ambang saben zona. Pangguna bisa nyetel kombinasi nggunakake sawetara ambang ing siji zona.

Indikator gerak

Sensor VL53L7CX nduweni fitur perangkat kukuh sing dipasang sing ngidini deteksi gerakan ing sawijining adegan. Gerakan kasebut
Indikator diitung antarane pigura urutan. Opsi iki kasedhiya nggunakake plugin 'vl53l7cx_plugin_motion_indicator'.

Indikator gerakan wis initialized nggunakake vl53l7cx_motion_indicator_init () fungsi. Kanggo ngganti sensor
resolusi, nganyari resolusi indikator gerakan nggunakake fungsi darmabakti: vl53l7cx_motion_indicator_set_resolution ().

Pangguna uga bisa ngganti jarak minimal lan maksimal kanggo ndeteksi gerakan. Bentenipun antarane jarak minimal lan maksimum ora bisa luwih saka 1500 mm. Kanthi gawan, jarak diwiwiti kanthi nilai antara 400 mm lan 1500 mm.

Asil disimpen ing kolom 'motion_ indicator'. Ing lapangan iki, array 'gerakan' menehi nilai sing ngemot
intensitas gerakan saben zona. Nilai dhuwur nuduhake variasi gerakan dhuwur antarane pigura. Gerakan khas menehi nilai antarane 100 lan 500. Sensitivitas iki gumantung ing wektu integrasi, jarak target, lan reflektansi target.

Kombinasi sing cocog kanggo aplikasi daya kurang yaiku nggunakake indikator gerakan kanthi mode jarak otonom, lan ambang deteksi sing diprogram ing gerakan kasebut. Iki ngidini deteksi variasi gerakan ing FoV kanthi konsumsi daya minimal.

Kompensasi suhu periodik

Kinerja kiro-kiro dipengaruhi dening variasi suhu. Sensor VL53L7CX ngemot suhu
ganti rugi sing dikalibrasi sapisan nalika streaming diwiwiti. Nanging, yen suhu ngalami évolusi, ing
ganti rugi bisa uga ora selaras karo suhu anyar. Kanggo ngindhari masalah iki, pelanggan bisa nindakake kompensasi suhu periodik kanthi nggunakake VHV otomatis. Kalibrasi suhu periodik njupuk sawetara milliseconds kanggo mbukak. Pangguna bisa nemtokake wektu. Kanggo nggunakake fitur iki, pelanggan kudu:

  • Telpon fungsi vl53l7cx_set_VHV_repeat_count ().
  • Banjur, wenehi nomer pigura ing antarane saben kalibrasi anyar minangka argumen.

Yen argumen 0, ganti rugi dipateni.

Hasil kisaran

data kasedhiya
Dhaptar ekstensif data target lan lingkungan bisa uga metu sajrone sawetara kegiatan. Tabel ing ngisor iki nggambarake paramèter sing kasedhiya kanggo pangguna.

Tabel 3. Kasedhiya output nggunakake sensor VL53L7CX

unsur Nb bita (RAM) Unit Katrangan
Ambient saben SPAD 256 Kcps/SPAD Pangukuran tingkat sekitar ditindakake ing array SPAD, tanpa emisi foton aktif, kanggo ngukur tingkat sinyal sekitar amarga gangguan.
Jumlah target sing dideteksi 64 ora ana Jumlah target sing dideteksi ing zona saiki. Nilai iki kudu dadi sing pertama dipriksa kanggo ngerti validitas pangukuran.
Jumlah SPAD sing diaktifake 256 ora ana Jumlah SPAD sing diaktifake kanggo pangukuran saiki. Target reflektif sing adoh utawa kurang ngaktifake luwih akeh SPAD.
Sinyal saben SPAD 256 x nb target diprogram Kcps/SPAD Jumlah foton sing diukur sajrone pulsa VCSEL.
Range sigma 128 x nb target diprogram milimeter Estimator Sigma kanggo gangguan ing jarak target sing dilaporake.
kadohan 128 x nb target diprogram milimeter Jarak target
Status target 64 x nb target diprogram ora ana Validitas pangukuran. Delengen Bagean 5.5: Asil interpretasi kanggo informasi luwih lengkap.
Refleksi 64 x target nomer diprogram persen Perkiraan reflektansi target ing persen
Indikator gerak 140 ora ana Struktur sing ngemot asil indikator gerak. 'Gerak' lapangan ngandhut intensitas gerak.

Cathetan: Kanggo sawetara unsur (sinyal saben spad, sigma, ...) akses menyang data beda yen pangguna wis diprogram luwih saka siji target saben zona (pirsani Bagean 4.10: Multiple target saben zona). Ndeleng mantanampkode le kanggo informasi luwih lengkap.

Ngatur pilihan output

Kanthi gawan, kabeh output VL53L7CX diaktifake. Yen perlu, pangguna bisa mateni sawetara output sensor. Mateni pangukuran ora kasedhiya ing driver; iku kudu dileksanakake ing 'platform. h' file. Pangguna bisa ngumumake makro ing ngisor iki kanggo mateni output:

#netepake VL53L7CX_DISABLE_AMBIENT_PER_SPAD
#netepake VL53L7CX_DISABLE_NB_SPADS_ENABLED
#netepake VL53L7CX_DISABLE_NB_TARGET_DETECTED
#netepake VL53L7CX_DISABLE_SIGNAL_PER_SPAD
#netepake VL53L7CX_DISABLE_RANGE_SIGMA_MM
#netepake VL53L7CX_DISABLE_DISTANCE_MM
#netepake VL53L7CX_DISABLE_TARGET_STATUS
#netepake VL53L7CX_DISABLE_REFLECTANCE_PERCENT
#netepake VL53L7CX_DISABLE_MOTION_INDICATOR

Akibate, kolom ora diumumake ing struktur asil, lan data ora ditransfer menyang host. Ukuran RAM lan ukuran I²C dikurangi. Kanggo njamin konsistensi data, ST tansah nyaranake supaya 'jumlah target sing dideteksi' lan 'status target' diaktifake. Iki nyaring pangukuran gumantung saka status target (waca Bagean 5.5: Interpretasi asil).

Njupuk asil kiro-kiro

Sajrone sesi ranging, ana rong cara kanggo ngerti yen data ranging anyar kasedhiya:

  • Mode polling: Terus nggunakake fungsi vl53l7cx_check_data_ready(). Iku ndeteksi count stream anyar bali dening sensor.
  • Mode interupsi: Ngenteni interupsi sing diangkat ing pin A3 (GPIO1). Interupsi kasebut kanthi otomatis dibusak sawise ~ 100 μs.

Nalika data anyar siap, asil bisa maca nggunakake fungsi vl53l7cx_get_ranging_data (). Iki ngasilake struktur sing dianyari sing ngemot kabeh output sing dipilih. Amarga piranti ora sinkron, ora ana interupsi kanggo mbusak kanggo nerusake sesi kiro-kiro. Fitur iki kasedhiya kanggo mode terus lan otonom.

Nggunakake format firmware mentah

Sawise nransfer data kisaran liwat I²C, ana konversi antarane format firmware lan format host. Operasi iki biasane dileksanakake kanggo duwe jarak kiro-kiro ing millimeters minangka output standar saka sensor. Yen pangguna pengin nggunakake format perangkat kukuh, makro ing ngisor iki kudu ditetepake ing platform kasebut file: VL53L7CX

#define VL53L7CX_USE_RAW_FORMAT

Interpretasi asil 

Data bali dening VL53L7CX bisa saring kanggo njupuk menyang akun status target. Status nuduhake validitas pangukuran. Dhaptar status lengkap diterangake ing tabel ing ngisor iki.

Tabel 4. Dhaptar status target sing kasedhiya

Status target Katrangan
0 Data kisaran ora dianyari
1 Tingkat sinyal kurang banget ing array SPAD
2 Fase target
3 Sigma estimator dhuwur banget
4 Konsistensi target gagal
5 Range valid
6 Bungkus ora ditindakake (biasane kisaran pertama)
7 Konsistensi tarif gagal
8 Tingkat sinyal sithik banget kanggo target saiki
9 Rentang valid kanthi pulsa gedhe (bisa uga amarga target gabungan)
10 Range valid, nanging ora ana target sing dideteksi ing kisaran sadurunge
11 Konsistensi pangukuran gagal
12 Target burem dening siji liyane, amarga sharpener
13 Target dideteksi nanging data ora konsisten. Asring kedadeyan kanggo target sekunder.
255 Ora ana target sing dideteksi (mung yen jumlah target sing dideteksi diaktifake)

Kanggo nduwe data sing konsisten, pangguna kudu nyaring status target sing ora bener. Kanggo menehi rating kapercayan, target kanthi status 5 dianggep bener 100%. Status 6 utawa 9 bisa dianggep kanthi nilai kapercayan 50%. Kabeh status liyane ana ing sangisore tingkat kapercayan 50%.

Kesalahan driver

Nalika ana kesalahan nggunakake sensor VL53L7CX, driver ngasilake kesalahan tartamtu. Tabel ing ngisor iki nampilake kesalahan sing bisa ditindakake.

Tabel 5. Dhaptar kesalahan sing kasedhiya nggunakake driver

Status target Katrangan
0 Ora ana kesalahan
127 Pangguna diprogram setelan sing salah
(resolusi ora dingerteni, frekuensi kisaran dhuwur banget, ...)
255 Kesalahan utama. Biasane kesalahan wektu entek, amarga kesalahan I²C.
liyane Kombinasi saka macem-macem kesalahan sing diterangake ing ndhuwur

Cathetan: Tuan rumah bisa ngetrapake kode kesalahan liyane kanthi nggunakake platform kasebut files.

Riwayat revisi

Tabel 6. Riwayat revisi dokumen

Tanggal Versi Owah-owahan
02-Agustus-2022 1 Rilis wiwitan
02-Sep-2022 2 Dianyari Pambuka bagean
Cathetan ditambahake babagan jarak minimal antarane target menyang Bagean 4.10: Multiple target saben zona
21-Feb-2024 3 Ditambahake VHV (voltage) kanggo Bagean 1: Akronim lan singkatan. Ditambahake Bagean 4.14: Kompensasi suhu périodik

Dhukungan Pelanggan

WARTA PENTING - Wacan kanthi ati-ati
STMicroelectronics NV lan anak perusahaan ("ST") nduweni hak kanggo nggawe owahan, koreksi, dandan, modifikasi, lan dandan kanggo produk ST lan / utawa dokumen iki sawayah-wayah tanpa kabar. Para panuku kudu entuk informasi paling anyar babagan produk ST sadurunge nggawe pesenan. Produk ST didol miturut syarat lan kahanan adol ST nalika diakoni pesenan.

Para panuku mung tanggung jawab kanggo milih, milih, lan nggunakake produk ST lan ST ora duwe tanggung jawab kanggo pitulung aplikasi utawa desain produk para panuku.

Ora ana lisensi, nyata utawa diwenehake, kanggo hak properti intelektual sing diwenehake dening ST ing kene.

Adol maneh produk ST kanthi pranata sing beda karo informasi sing kasebut ing kene bakal ngilangi garansi sing diwenehake dening ST kanggo produk kasebut.

ST lan logo ST iku merek dagang saka ST. Kanggo informasi tambahan babagan merek dagang ST, waca www.st.com/trademarks. Kabeh jeneng produk utawa layanan liyane minangka properti sing nduweni.

Informasi ing dokumen iki ngganti lan ngganti informasi sing diwenehake sadurunge ing versi sadurunge dokumen iki.
© 2024 STMicroelectronics – Kabeh hak dilindhungi undhang-undhang

Logo

Dokumen / Sumber Daya

STMicroelectronics VL53L7CX Wektu Flight Multizone Ranging Sensor [pdf] Pandhuan pangguna
VL53L7CX Wektu Penerbangan Multizone Ranging Sensor, VL53L7CX, Wektu Penerbangan Multizone Ranging Sensor, Flight Multizone Ranging Sensor, Multizone Ranging Sensor, Ranging Sensor

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *