Модуль датчыка VL53L8CX
Кіраўніцтва карыстальніка
Уводзіны
Мэта гэтага кіраўніцтва карыстальніка - растлумачыць, як працаваць з датчыкам VL53L8X Time-of-Flight (ToF) з выкарыстаннем API ультрапалегчанага драйвера (ULD). У ім апісваюцца асноўныя функцыі праграмавання прылады, каліброўкі і вынікі вываду.
Заснаваны на тэхналогіі FlightSense ад ST, VL53L8CX уключае эфектыўную метапаверхневую лінзу (DOE), размешчаную на лазерным выпраменьвальніку, якая дазваляе праецыраваць на сцэну квадратнае поле гледжання 45° x 45°.
Яго шматзональная магчымасць забяспечвае матрыцу з 8×8 зон (64 зоны) і можа працаваць на высокіх хуткасцях (60 Гц) да 400 см.
Дзякуючы аўтаномнаму рэжыму з праграмуемым парогам адлегласці, VL53L8CX ідэальна падыходзіць для любых прыкладанняў, якія патрабуюць выяўлення карыстальніка з нізкім энергаспажываннем. Запатэнтаваныя алгарытмы ST і інавацыйная канструкцыя модуля дазваляюць VL53L8CX выяўляць у кожнай зоне некалькі аб'ектаў у поле зроку з разуменнем глыбіні. Алгарытмы гістаграмы ST забяспечваюць устойлівасць да крыжаваных перашкод вечкавага шкла больш за 60 см.
Як і ўсе датчыкі Time-of-Flight (ToF), заснаваныя на тэхналогіі FlightSense ад ST, VL53L8CX запісвае ў кожнай зоне абсалютную адлегласць, незалежна ад колеру мэты і каэфіцыента адлюстравання.
VL53L8CX, які змяшчаецца ў мініяцюрным корпусе з магчымасцю пераплаўлення, які аб'ядноўвае масіў SPAD, забяспечвае найлепшую прадукцыйнасць у дыяпазоне ў розных умовах навакольнага асвятлення і для шырокага спектру матэрыялаў вечкавага шкла.
Усе датчыкі ToF ад ST аб'ядноўваюць VCSEL, які выпраменьвае цалкам нябачнае ІЧ-святло 940 нм, якое цалкам бяспечна для вачэй (сертыфікацыя класа 1).

Абрэвіятуры і абрэвіятуры
| Акронім/абрэвіятура | Азначэнне |
| DOE | дыфракцыйны аптычны элемент |
| FoV | поле в view |
| I2C | міжінтэгральная схема (паслядоўная шына) |
| Kcps/SPAD | Колькасць кілаграмаў у секунду на пад (адзінка, якая выкарыстоўваецца для колькаснага вымярэння колькасць фатонаў у масіве SPAD) |
| АЗП | аператыўная памяць |
| SCL | серыйная лінія гадзін |
| ПДР | серыйныя дадзеныя |
| СПАД | аднафатонны лавінны дыёд |
| ToF | Час палёту |
| УЛД | Ultra lite драйвер |
| VCSEL | павярхоўны дыёд з вертыкальнай паражніной |
| Xtalk | крыжаваныя перашкоды |
Функцыянальнае апісанне
2.1 Сістэма скончанаview
Сістэма VL53L8CX складаецца з апаратнага модуля і ультрапалегчанага праграмнага забеспячэння драйвера (VL53L8CX ULD), які працуе на хасце (гл. малюнак ніжэй). Апаратны модуль змяшчае датчык ToF. STMicroelectronics пастаўляе праграмны драйвер, які ў гэтым дакуменце называецца «драйвер». У гэтым дакуменце апісваюцца функцыі драйвера, якія даступны хосту. Гэтыя функцыі кіруюць датчыкам і атрымліваюць даныя дыяпазону.

2.2 Эфектыўнае арыентаванне
Модуль уключае ў сябе аб'ектыў над дыяфрагмай RX, які пераварочвае (гарызантальна і вертыкальна) зробленае выява мэты. Такім чынам, зона, вызначаная як зона 0, у левым ніжнім куце масіва SPAD, асвятляецца мішэнню, размешчанай у правым верхнім баку сцэны.

2.3 Схемы і канфігурацыя I2C/SPI
Сувязь паміж драйверам і прашыўкай апрацоўваецца I2C або SPI. Максімальная прапускная здольнасць I2C складае 1 МГц, а максімальная прапускная здольнасць SPI - 20 МГц. Рэалізацыя кожнага пратакола сувязі патрабуе падцягвання, як апісана ў табліцы даных VL53L8CX.
Прылада VL53L8CX мае адрас I2C па змаўчанні 0x52. Тым не менш, можна змяніць адрас па змаўчанні, каб пазбегнуць канфліктаў з іншымі прыладамі, або каб палегчыць даданне некалькіх модуляў VL53L8CX у сістэму для большага сістэмнага агляду. Адрас I2C можна змяніць з дапамогай функцыі vl53l8cx_set_i2c_address(). Каб выкарыстоўваць SPI, мультыдатчык падключаецца з дапамогай незалежнай падпарадкаванай канфігурацыі (вывад NCS).


Каб дазволіць прыладзе змяніць свой адрас I2C, не закранаючы іншых на шыне I2C, важна
адключыць сувязь I2C прылад, якія не змяняюцца. Працэдура наступная:
- Уключыце сістэму як звычайна.
- Пацягніце ўніз штыфт LPn прылады, адрас якой не будзе зменены.
- Выцягніце штыфт LPn прылады, у якой зменены адрас I2C.
- Запраграмуйце адрас I2C для прылады з дапамогай функцыі set_i2c_address().
- Выцягніце штыфт LPn прылады, якое не перапраграмуецца.
Цяпер усе прылады павінны быць даступныя на шыне I2C. Паўтарыце апісаныя вышэй дзеянні для ўсіх прылад у сістэме, якім патрабуецца новы адрас I2C.
Змест пакета і паток даных
3.1 Архітэктура і змест драйвера
Пакет VL53L8CX ULD складаецца з чатырох тэчак. Драйвер знаходзіцца ў тэчцы /VL53L8CX_ULD_API.
Драйвер складаецца з абавязковых і дадатковых fileс. Дадаткова fileз'яўляюцца plugins выкарыстоўваецца для пашырэння функцый ULD.
Кожны плагін пачынаецца са слова «vl53l8cx_plugin» (напрыклад, vl53l8cx_plugin_xtalk.h). Калі карыстальнік не хоча прапанаванага plugins, іх можна выдаліць без уплыву на іншыя функцыі драйвера. Наступны малюнак уяўляе сабой абавязковы files і неабавязковы plugins.
Заўвага:
Карыстальнік таксама павінен рэалізаваць два files знаходзіцца ў тэчцы /Platform. Прапанаваная платформа з'яўляецца пустой абалонкай і павінна быць напоўнена спецыяльнымі функцыямі.
Платформа.h file змяшчае абавязковыя макрасы для выкарыстання ULD. Усе file змест з'яўляецца абавязковым для правільнага выкарыстання ULD.
3.2 Паток каліброўкі
Перакрыжаваныя перашкоды (Xtalk) вызначаюцца як колькасць сігналу, атрыманага на масіве SPAD, які ўзнікае з-за адлюстравання святла VCSEL унутры ахоўнага акна (вечкавага шкла), дададзенага ў верхняй частцы модуля. Модуль VL53L8CX самакалібраваны і можа выкарыстоўвацца без дадатковай каліброўкі.
Каліброўка Xtalk можа спатрэбіцца, калі модуль абаронены вечкам. VL53L8CX неўспрымальны да Xtalk на адлегласці больш за 60 см дзякуючы алгарытму гістаграмы. Аднак на кароткіх адлегласцях ніжэй за 60 см Xtalk можа быць большым, чым рэальны зваротны сігнал. Гэта дае памылковае счытванне мэты або прымушае мэты выглядаць бліжэй, чым яны ёсць на самой справе. Усе функцыі каліброўкі Xtalk уключаны ў плагін Xtalk (дадаткова). Карыстальнік павінен выкарыстоўваць file 'vl53l8cx_plugin_xtalk'.
Xtalk можна адкалібраваць адзін раз, і дадзеныя можна захаваць, каб потым выкарыстоўваць іх паўторна. Патрабуецца мэта на фіксаванай адлегласці з вядомым каэфіцыентам адлюстравання. Мінімальная неабходная дыстанцыя складае 600 мм, і мішэнь павінна пакрываць увесь агляд. У залежнасці ад налад, карыстальнік можа змяніць налады, каб адаптаваць каліброўку Xtalk, як прапануецца ў наступнай табліцы.
Табліца 1. Даступныя налады для каліброўкі
| Абстаноўка | Мін | Прапанавана в STMicroelectronics |
Макс |
| Адлегласць [мм] | 600 | 600 | 3000 |
| Колькасць сampлес | 1 | 4 | 16 |
| Каэфіцыент адлюстравання [%] | 1 | 3 | 99 |
Заўвага:
Павелічэнне колькасці сamples павялічвае дакладнасць, але таксама павялічвае час на каліброўку. Час адносна колькасці сamples з'яўляецца лінейным, і значэнні ідуць за прыблізным тайм-аўтам:
- 1 сample ≈ 1 секунда
- 4 сampменш ≈ 2.5 секунды
- 16 сampменш ≈ 8.5 секунды
Каліброўка выконваецца з дапамогай функцыі vl53l8cx_calibrate_xtalk(). Гэта функцыя можа быць выкарыстана ў любы час.
Аднак спачатку трэба ініцыялізаваць датчык. На наступным малюнку паказаны працэс каліброўкі xtalk.
Малюнак 7. Паток каліброўкі Xtalk

3.3 Дыяпазоны патоку
На наступным малюнку паказаны паток дыяпазону, які выкарыстоўваецца для атрымання вымярэнняў. Каліброўка Xtalk і дадатковыя выклікі функцый павінны быць выкарыстаны перад пачаткам сеансу вызначэння дыяпазону. Функцыі атрымання/усталявання не могуць быць выкарыстаны падчас сеанса вызначэння дыяпазону, а праграмаванне "на ляту" не падтрымліваецца.

Даступныя функцыі
VL53L8CX ULD API уключае некалькі функцый, якія дазваляюць карыстачу наладжваць датчык у залежнасці ад варыянту выкарыстання. Усе функцыі, даступныя для драйвера, апісаны ў наступных раздзелах.
4.1 Ініцыялізацыя
Перад выкарыстаннем датчыка VL53L8CX неабходна правесці ініцыялізацыю. Гэтая аперацыя патрабуе ад карыстальніка:
- Уключыце сілкаванне датчыка (кантакты VDDIO, AVDD, CORE_1V8 і LPn усталяваны ў High
- Выклічце функцыю vl53l8cx_init(). Функцыя капіюе прашыўку (~84 Кбайт) у модуль. Гэта робіцца шляхам загрузкі кода праз інтэрфейс I2C/SPI і выканання працэдуры загрузкі для завяршэння ініцыялізацыі.
4.2 Кіраванне скідам датчыка
Каб скінуць налады прылады, неабходна пераключыць наступныя кантакты:
- Усталюйце кантакты VDDIO, AVDD і CORE_1V8 на нізкі ўзровень.
- Пачакайце 10 мс.
- Усталюйце кантакты VDDIO, AVDD і CORE_1V8 у высокі ўзровень.
Заўвага:
Пераключэнне толькі штыфта I2C_RST скідае сувязь I2C.
4.3 Рэзалюцыя
Разрозненне адпавядае колькасці даступных зон. Датчык VL53L8CX мае два магчымых дазволу: 4×4 (16 зон) і 8×8 (64 зоны). Па змаўчанні датчык запраграмаваны ў фармаце 4×4.
Функцыя vl53l8cx_set_resolution() дазваляе карыстальніку змяняць дазвол. Паколькі частата вызначэння дыяпазону залежыць ад раздзялення, гэту функцыю неабходна выкарыстоўваць перад абнаўленнем частаты вызначэння дыяпазону. Больш за тое, змяненне раздзялення таксама павялічвае памер трафіку на шыне I2C/SPI пры чытанні вынікаў.
4.4 Частата вызначэння далёкасці
Частата дыяпазону можа выкарыстоўвацца для змены частаты вымярэння. Паколькі максімальная частата адрозніваецца паміж дазволамі 4×4 і 8×8, гэтую функцыю трэба выкарыстоўваць пасля выбару дазволу. Мінімальнае і максімальнае дазволеныя значэнні пералічаны ў наступнай табліцы.
Табліца 2. Мінімальныя і максімальныя частоты дыяпазону
| дазвол | Мінімальная частата дыяпазону [Гц] | Максімальная частата дыяпазону [Гц] |
| 4×4 | 1 | 60 |
| 8×8 | 1 | 15 |
Частату дыяпазону можна абнавіць з дапамогай функцыі vl53l8cx_set_ranging_frequency_hz(). Па змаўчанні частата дыяпазону ўстаноўлена на 1 Гц.
4.5 Рэжым вызначэння дальнасці
Рэжым дыяпазону дазваляе карыстальніку выбіраць паміж дыяпазонам з высокай прадукцыйнасцю або нізкім энергаспажываннем.
Ёсць два прапанаваных рэжыму:
- Бесперапынна: прылада пастаянна захоплівае кадры з частатой дыяпазону, вызначанай карыстальнікам. VCSEL уключаны на працягу ўсяго дыяпазону, так што максімальная адлегласць і імунітэт навакольнага асяроддзя лепш. Гэты рэжым рэкамендуецца для хуткіх вымярэнняў далёкасці або высокай прадукцыйнасці.
- аўтаномны: Гэта рэжым па змаўчанні. Прылада бесперапынна захоплівае кадры з частатой дыяпазону, вызначанай карыстальнікам. VCSEL уключаны на працягу перыяду, вызначанага карыстальнікам з дапамогай функцыі vl53l8cx_set_integration_time_ms(). Паколькі VCSEL не заўсёды ўключаны, энергаспажыванне зніжаецца. Перавагі больш відавочныя з паменшанай частатой дыяпазону. Гэты рэжым рэкамендуецца для прыкладанняў з нізкім энергаспажываннем.
Рэжым дыяпазону можна змяніць з дапамогай функцыі vl53l8cx_set_ranging_mode().
4.6 Час інтэграцыі
Час інтэграцыі - гэта функцыя, даступная толькі ў рэжыме аўтаномнага вызначэння дальнасці (гл. Раздзел 4.5 Рэжым вызначэння дальнасці).
Гэта дазваляе карыстальніку змяняць час, калі VCSEL уключаны. Змяненне часу інтэграцыі, калі рэжым дыяпазону ўстаноўлены на бесперапынны, не мае ніякага эфекту. Час інтэграцыі па змаўчанні ўсталяваны на 5 мс.
Эфект часу інтэграцыі адрозніваецца для дазволаў 4×4 і 8×8. Раздзяленне 4 × 4 складаецца з аднаго часу інтэгравання, а дазвол 8 × 8 складаецца з чатырох часоў інтэгравання. Наступныя лічбы ўяўляюць выпраменьванне VCSEL для абодвух дазволаў.

Сума ўсіх часоў інтэгравання + 1 мс накладных выдаткаў павінна быць меншай за перыяд вымярэння. У адваротным выпадку перыяд дыяпазону аўтаматычна павялічваецца.
4.7 Рэжымы харчавання
Рэжымы магутнасці можна выкарыстоўваць для зніжэння спажывання энергіі, калі прылада не выкарыстоўваецца. VL53L8CX можа працаваць у адным з наступных рэжымаў харчавання:
- Прачынанне: прылада знаходзіцца ў рэжыме чакання HP (высокая магутнасць), чаканне інструкцый.
- Сон: прылада знаходзіцца ў рэжыме прастою LP (нізкая магутнасць), у стане нізкай магутнасці. Прыладай нельга карыстацца, пакуль не пераведзена ў рэжым абуджэння. Гэты рэжым захоўвае прашыўку і канфігурацыю.
Рэжым харчавання можна змяніць з дапамогай функцыі vl53l8cx_set_power_mode(). Рэжым па змаўчанні - абуджэнне.
Заўвага:
Калі карыстальнік хоча змяніць рэжым сілкавання, прылада не павінна знаходзіцца ў стане дыяпазону.
4.8 Тачылка
Сігнал, які вяртаецца ад мэты, не з'яўляецца чыстым імпульсам з вострымі бакамі. Краю нахіляюцца і могуць паўплываць на адлегласці, якія паведамляюцца ў сумежных зонах. Станок для завострывання выкарыстоўваецца для выдалення часткі або ўсяго сігналу, выкліканага вуалюючым блікам.
Былыample, паказанае на наступным малюнку, уяўляе сабой блізкую мішэнь на адлегласці 100 мм з цэнтрам у поле зроку і іншую мішэнь, якая знаходзіцца далей ззаду на адлегласці 500 мм. У залежнасці ад значэння тачылкі блізкая мэта можа з'явіцца ў большай колькасці зон, чым рэальная.
Малюнак 11. Exampсцэны з выкарыстаннем некалькіх значэнняў рэзкасці

Тачылку можна змяніць з дапамогай функцыі vl53l8cx_set_sharpener_percent(). Дапушчальныя значэнні ад 0 % да 99 %. Значэнне па змаўчанні - 5%.
4.9 Мэтавы парадак
VL53L8CX можа вымяраць некалькі мэтаў у зоне. Дзякуючы апрацоўцы гістаграмы, хост можа выбраць парадак паведамленых мэтаў. Ёсць два варыянты:
- Бліжэйшая: Бліжэйшая мэта - гэта першая, пра якую паведамляецца
- Самая моцная: самая моцная мішэнь - першая, пра якую паведамляецца
Мэтавы парадак можна змяніць з дапамогай функцыі vl53l8cx_set_target_order(). Парадак па змаўчанні - наймацнейшы.
Былыample на наступным малюнку ўяўляе сабой выяўленне двух мэтаў. Адзін на 100 мм з нізкім каэфіцыентам адлюстравання, а другі на 700 мм з высокім каэфіцыентам адлюстравання.

4.10 Некалькі мішэняў на зону
VL53L8CX можа вымяраць да чатырох мішэняў на зону. Карыстальнік можа наладзіць колькасць мэтаў, якія вяртаюцца датчыкам.
Заўвага:
Мінімальная адлегласць паміж двума выяўленымі мэтамі складае 600 мм.
Выбар немагчымы з драйвера; гэта павінна быць зроблена ў «platform.h» file. Макрас
Для VL53L8CX_NB_ TARGET_PER_ZONE неабходна ўсталяваць значэнне ад 1 да 4. Парадак мэтаў, апісаны ў раздзеле 4.9 Парадак мэтаў, непасрэдна ўплывае на парадак выяўленай мэты. Па змаўчанні датчык выдае максімум адну мэту на зону.
Заўвага:
Павелічэнне колькасці мэтаў на зону павялічвае неабходны памер аператыўнай памяці.
4.11 Маржа Xtalk
Маржа Xtalk - гэта дадатковая функцыя, даступная толькі пры выкарыстанні плагіна Xtalk. .c і .f fileНеабходна выкарыстоўваць 'vl53l8cx_plugin_xtalk'.
Запас выкарыстоўваецца для змены парога выяўлення, калі на верхняй частцы датчыка знаходзіцца вечка. Парог можа быць павялічаны, каб гарантаваць, што покрыўнае шкло ніколі не будзе выяўлена, пасля ўстаноўкі дадзеных каліброўкі Xtalk.
Напрыкладample, карыстальнік можа запусціць каліброўку Xtalk на адной прыладзе і паўторна выкарыстоўваць тыя ж дадзеныя каліброўкі для ўсіх іншых прылад. Поле Xtalk можна выкарыстоўваць для налады карэкцыі Xtalk. На малюнку ніжэй паказана маржа Xtalk.
Малюнак 13. Поле Xtalk

4.12 Парогі выяўлення
У дадатак да звычайных магчымасцей вызначэння дальнасці, датчык можна запраграмаваць на выяўленне аб'екта па пэўных загадзя зададзеным крытэрам. Гэта функцыя даступная з дапамогай убудовы «Парогі выяўлення», якая з'яўляецца опцыяй, якая па змаўчанні не ўключана ў API. The fileтрэба выкарыстоўваць так званыя 'vl53l8cx_plugin_detection_thresholds'.
Функцыя можа выкарыстоўвацца для запуску перапынення на кантакт A1 (INT), калі выконваюцца ўмовы, вызначаныя карыстальнікам. Ёсць тры магчымыя канфігурацыі:
- Раздзяленне 4×4: выкарыстанне 1 парога на зону (усяго 16 парогаў)
- Раздзяленне 4×4: выкарыстанне 2 парогаў на зону (усяго 32 парогі)
- Раздзяленне 8×8: выкарыстанне 1 парога на зону (усяго 64 парогаў)
Незалежна ад выкарыстоўванай канфігурацыі, працэдура стварэння парогавых значэнняў і памер аператыўнай памяці аднолькавыя. Для кожнай парогавай камбінацыі неабходна запоўніць некалькі палёў: - Zone id: ідэнтыфікатар абранай зоны (гл. Раздзел 2.2 Эфектыўная арыентацыя)
- Вымярэнне: вымярэнне для лоўлі (адлегласць, сігнал, колькасць SPAD, ...)
- Тып: вокны вымярэнняў (у вокнах, па-за вокнамі, ніжэй нізкага парога, ...)
- Нізкі парог: карыстальнік з нізкім парогам для запуску. Карыстальніку не трэба ўсталёўваць фармат, ён аўтаматычна апрацоўваецца API.
- Высокі парог: карыстальнік з высокім парогам для трыгера. Карыстальніку не трэба ўсталёўваць фармат, ён аўтаматычна апрацоўваецца API.
- Матэматычная аперацыя: выкарыстоўваецца толькі для 4×4 – 2 парогавыя камбінацыі на зону. Карыстальнік можа ўсталяваць камбінацыю з дапамогай некалькіх парогаў у адной зоне.
4.13 Аўтаспыненне перапынення
Функцыя аўтаматычнага спынення перапынення выкарыстоўваецца для перапынення сеанса вымярэння дыяпазону падчас вымярэння. Па змаўчанні датчык не можа быць спынены падчас вымярэння, таму што вымярэнні кадра павінны быць завершаны. Аднак пры выкарыстанні аўтаматычнай прыпынку вымярэнні кадра спыняюцца пры спрацоўванні перапынення.
Функцыя аўтаматычнай прыпынку карысная, калі яна спалучаецца з парогам выяўлення. Калі мэта выяўлена, бягучае вымярэнне аўтаматычна спыняецца. Аўтаспын можа быць выкарыстаны ў станковым аўтаматы кліента для хуткага пераключэння на іншую канфігурацыю датчыка.
Функцыю аўтаматычнага спынення перапынення можна ўключыць з дапамогай функцыі vl53l8cx_set_detection_threshold_auto_stop().
Пасля спынення вымярэння рэкамендуецца спыніць датчык з дапамогай функцыі vl53l8cx_stop_ranging().
4.14 Індыкатар руху
Датчык VL53L8CX мае ўбудаваную функцыю прашыўкі, якая дазваляе выяўляць рух у сцэне. Індыкатар руху вылічваецца паміж паслядоўнымі кадрамі. Гэтая опцыя даступная з дапамогай плагіна "vl53l8cx_plugin_motion_indicator".
Індыкатар руху ініцыялізуецца з дапамогай функцыі vl53l8cx_motion_indicator_init(). Калі карыстальнік хоча змяніць дазвол датчыка, ён павінен абнавіць дазвол індыкатара руху з дапамогай спецыяльнай функцыі: vl53l8cx_motion_indicator_set_resolution().
Карыстальнік таксама можа змяняць мінімальную і максімальную адлегласці для выяўлення руху. Розніца паміж мінімальнай і максімальнай адлегласцямі не можа перавышаць 1500 мм. Па змаўчанні адлегласці ініцыялізуюцца значэннямі ад 400 мм да 1500 мм.
Вынікі захоўваюцца ў полі «motion_indicator». У гэтым полі масіў 'motion' дае значэнне, якое змяшчае інтэнсіўнасць руху на зону. Высокае значэнне паказвае на вялікую варыяцыю руху паміж кадрамі. Тыповы рух дае значэнне ад 100 да 500. Гэтая адчувальнасць залежыць ад часу інтэгравання, адлегласці да мэты і каэфіцыента адлюстравання ад мэты.
Ідэальнае спалучэнне для прыкладанняў з нізкім энергаспажываннем - гэта выкарыстанне індыкатара руху з аўтаномным рэжымам вызначэння дыяпазону і парогаў выяўлення, запраграмаваных на рух. Гэта дазваляе выяўляць змены руху ў поле зроку з мінімальным спажываннем энергіі.
4.15 Штыфт знешняй сінхранізацыі
Знешнюю крыніцу запуску можна выкарыстоўваць для сінхранізацыі збору дадзеных. Калі знешняя сінхранізацыя ўключана, VL53L8CX чакае перапынення на штыфце SYNC, каб пачаць наступны збор дадзеных. Каб выкарыстоўваць гэту функцыю, кантакт SYNC (B1) павінен быць падлучаны, як апісана ў тэхнічнай табліцы прадукту.
Спецыяльных патрабаванняў да выкарыстання знешняй сінхранізацыі няма. Аднак частата дыяпазону VL53L8CX павінна быць вышэй, чым частата знешняга сігналу.
Знешнюю сінхранізацыю можна ўключыць або адключыць з дапамогай функцыі vl53l8cx_set_external_sync_pin_enable(). Вызначэнне дыяпазону можа быць запушчана як звычайна з дапамогай функцыі vl53l8cx_start_ranging(). Калі карыстальнік хоча спыніць датчык, рэкамендуецца пераключыць штыфт SYNC, каб аднавіць паўзу прашыўкі VL53L8CX.
Тэматычны парадак выкарыстання вонкавага кантакту сінхранізацыі паказаны ніжэй у раздзеле 4.15.
Малюнак 14. Паток знешняй сінхранізацыі

Ранжыраванне вынікаў
5.1 Даступныя дадзеныя
Шырокі спіс даных аб мэтах і навакольным асяроддзі можа быць выведзены падчас дзеянняў па дальнамернасці. У наступнай табліцы апісаны параметры, даступныя для карыстальніка.
Табліца 3. Даступны выхад з выкарыстаннем датчыка VL53L8CX
|
элемент |
Колькасць байтаў (RAM) | Адзінка |
Апісанне |
| Эмбіент на SPAD | 256 | Kcps/SPAD | Вымярэнне хуткасці навакольнага сігналу, выкананае на масіве SPAD, без актыўнага выпраменьвання фатонаў, для вымярэння хуткасці навакольнага сігналу з-за шуму. |
| Колькасць выяўленых мэтаў |
64 |
Няма | Колькасць выяўленых мэтаў у бягучай зоне. Гэта значэнне павінна быць першым для праверкі, каб ведаць сапраўднасць вымярэння. |
| Колькасць уключаных SPAD | 256 | Няма | Колькасць SPAD, уключаных для бягучага вымярэння. Далёкая ці нізкая святлоадбівальная мэта актывуе больш SPAD. |
|
Сігнал на SPAD |
Запраграмавана 256 мішэняў x nb |
Kcps/SPAD |
Колькасць фатонаў, вымераная падчас VCSEL
пульс. |
|
Дыяпазон сігма |
Запраграмавана 128 мішэняў x nb |
Міліметр |
Сігма-ацэнка шуму на справаздачнай адлегласці да мэты. |
|
Дыстанцыя |
Запраграмавана 128 мішэняў x nb | Міліметр | Далёкасць мэты |
| Стан мэты | Запраграмавана 64 мішэняў x nb | Няма | Сапраўднасць вымярэнняў. Для атрымання дадатковай інфармацыі глядзіце раздзел 5.5 Інтэрпрэтацыя вынікаў. |
| Адлюстраванне | Запраграмавана 64 колькасці мішэняў | Працэнт | Разліковае адлюстраванне мэты ў працэнтах |
| Індыкатар руху | 140 | Няма | Структура, якая змяшчае вынікі індыкатара руху. Поле "рух" змяшчае інтэнсіўнасць руху. |
Заўвага:
Для некалькіх элементаў (сігнал на спад, сігма, ...) доступ да даных адрозніваецца, калі карыстальнік запраграмаваў больш за 1 мэта на зону (гл. Раздзел 4.10 Некалькі мэтаў на зону). Глядзіце прample коды для атрымання дадатковай інфармацыі.
5.2 Наладзьце выбар выхаду
Па змаўчанні ўсе выхады VL53L8CX уключаны. Пры неабходнасці карыстальнік можа адключыць выхад некаторых датчыкаў.
Адключэнне вымярэнняў недаступна ў драйверы; гэта павінна быць выканана ў 'platform.h' file. Карыстальнік можа аб'явіць наступныя макрасы, каб адключыць выхады:
#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
Такім чынам, палі не аб'яўляюцца ў структуры вынікаў, і даныя не перадаюцца на хост.
Паменшаны памер аператыўнай памяці і I2C/SPI.
Для забеспячэння ўзгодненасці дадзеных ST рэкамендуе заўсёды трымаць уключанымі «колькасць выяўленых мэтаў» і «статус мэты». Гэта дазваляе фільтраваць вымярэнні ў залежнасці ад стану мэты (гл. Раздзел 5.5 Інтэрпрэтацыя вынікаў).
5.3 Атрыманне вынікаў ранжыравання
Падчас сеансу ранжыравання ёсць два спосабы даведацца, ці даступныя новыя даныя ранжыравання:
- Рэжым апытання: бесперапынна выкарыстоўвае функцыю vl53l8cx_check_data_ready(). Ён выяўляе новы падлік патоку, вернуты датчыкам.
- Рэжым перапынення: чакае перапынення, узнятага на выснове A1 (INT). Перапыненне аўтаматычна ачышчаецца праз ~100 мкс.
Калі новыя даныя будуць гатовыя, вынікі можна прачытаць з дапамогай функцыі vl53l8cx_get_ranging_data(). Ён вяртае абноўленую структуру, якая змяшчае ўсе выбраныя вынікі. Паколькі прылада з'яўляецца асінхроннай, няма перапынкаў, якія трэба ачысціць, каб працягнуць сеанс вызначэння дыяпазону.
Гэтая функцыя даступная як для бесперапыннага, так і для аўтаномнага рэжымаў вызначэння дальнасці.
5.4 Выкарыстанне неапрацаванага фармату прашыўкі
Пасля перадачы даных даных праз I2C/SPI адбываецца пераўтварэнне паміж фарматам прашыўкі і фарматам хаста. Гэтая аперацыя звычайна выконваецца, каб атрымаць адлегласць дыяпазону ў міліметрах у якасці вываду датчыка па змаўчанні. Калі карыстальнік хоча выкарыстоўваць фармат прашыўкі, у платформе павінен быць вызначаны наступны макрас file:
VL53L8CX#вызначэнне VL53L8CX _USE_RAW_FORMAT
5.5 Інтэрпрэтацыя вынікаў
Дадзеныя, якія вяртае VL53L8CX, можна адфільтраваць, каб улічыць стан мэты. Статус паказвае сапраўднасць вымярэння. Поўны спіс статусаў апісаны ў наступнай табліцы.
Табліца 4. Спіс даступных мэтавых статусаў
| Стан мэты | Апісанне |
| 0 | Дадзеныя аб дыяпазоне не абнаўляюцца |
| 1 | Занадта нізкая хуткасць сігналу на масіве SPAD |
| 2 | Мэтавая фаза |
| 3 | Сігма-ацэнка занадта высокая |
| 4 | Мэтавая ўзгодненасць не атрымалася |
| 5 | Дыяпазон сапраўдны |
| 6 | Накручванне не выканана (звычайна першы дыяпазон) |
| 7 | Збой узгодненасці хуткасці |
| 8 | Хуткасць сігналу занадта нізкая для бягучай мэты |
| 9 | Дапушчальны дыяпазон пры вялікім пульсе (магчыма, з-за аб'яднанай мэты) |
| 10 | Далёкасць сапраўдная, але на папярэдняй дыстанцыі мэта не выяўлена |
| 11 | Памылка ўзгодненасці вымярэнняў |
| 12 | Мэта размыта іншай з-за завострывання |
| 13 | Мэта выяўлена, але дадзеныя супярэчлівыя. Часта здараецца з другараднымі мэтамі. |
| 255 | Мэта не выяўлена (толькі калі ўключана колькасць выяўленых мэтаў) |
Каб мець узгодненыя даныя, карыстальнік павінен адфільтраваць несапраўдны мэтавы статус. Каб даць рэйтынг упэўненасці, мэта са статусам 5 лічыцца 100% сапраўднай. Статус 6 або 9 можна разглядаць са значэннем даверу 50%. Усе астатнія статусы знаходзяцца ніжэй за 50% даверу.
Памылкі драйвера 5.6
Калі ўзнікае памылка пры выкарыстанні датчыка VL53L8CX, драйвер вяртае пэўную памылку. У наступнай табліцы пералічаны магчымыя памылкі.
Табліца 5. Спіс памылак, даступных пры выкарыстанні драйвера
| Стан мэты | Апісанне |
| 0 | Няма памылкі |
| 127 | Карыстальнік запраграмаваў няправільныя налады (невядомае разрозненне, занадта высокая частата дыяпазону, ...) |
| 255 | Асноўная памылка. Звычайна памылка тайм-аўту з-за памылкі I2C/SPI. |
| іншае | Камбінацыя некалькіх памылак, апісаная вышэй |
Заўвага:
Дадатковыя коды памылак могуць быць рэалізаваны хостам з дапамогай платформы files.
Табліца 6. Гісторыя рэдагавання дакумента
| Дата | Версія | Змены |
| 13-23 студзеня | 1 | Першапачатковы выпуск |
ВАЖНАЯ ЗАЎВАГА – УВАЖЛІВА ЧЫТАЙЦЕ
STMicroelectronics NV і яе даччыныя кампаніі («ST») пакідаюць за сабой права ўносіць змены, выпраўленні, удасканаленні, мадыфікацыі і паляпшэнні ў прадукты ST і/або ў гэты дакумент у любы час без папярэдняга паведамлення. Пакупнікі павінны атрымаць самую актуальную інфармацыю аб прадуктах ST, перш чым рабіць заказы. Прадукцыя ST прадаецца ў адпаведнасці з умовамі продажу ST, якія дзейнічаюць на момант пацвярджэння замовы.
Пакупнікі нясуць поўную адказнасць за выбар, выбар і выкарыстанне прадуктаў ST, і ST не нясе адказнасці за дапамогу ў прымяненні або дызайн прадуктаў пакупнікоў.
ST тут не прадастаўляе ніякіх ліцэнзій, відавочных або пэўных, на права інтэлектуальнай уласнасці.
Перапродаж прадуктаў ST з умовамі, адрознымі ад інфармацыі, выкладзенай у гэтым дакуменце, прыводзіць да анулявання любой гарантыі, прадастаўленай ST на такі прадукт.
ST і лагатып ST з'яўляюцца гандлёвымі маркамі ST. Для атрымання дадатковай інфармацыі аб гандлёвых марках ST звярніцеся да www.st.com/trademarks. Усе іншыя назвы прадуктаў і паслуг з'яўляюцца ўласнасцю іх адпаведных уладальнікаў.
Інфармацыя ў гэтым дакуменце замяняе інфармацыю, якая была прадстаўлена ў папярэдніх версіях гэтага дакумента.
© 2023 STMicroelectronics – Усе правы абаронены
Дакументы / Рэсурсы
![]() |
Модуль датчыка ST VL53L8CX [pdfКіраўніцтва карыстальніка UM3109, модуль датчыка VL53L8CX, VL53L8CX, модуль датчыка, модуль |




