STMicroelectronics VL53L7CX Թռիչքի ժամանակի բազմագոտի հեռավորության սենսոր

Ներածություն
Օգտագործողի այս ձեռնարկի նպատակն է բացատրել, թե ինչպես վարվել VL53L7CX Թռիչքի ժամանակի (ToF) սենսորի հետ՝ օգտագործելով ultra lite driver (ULD) API: Այն նկարագրում է սարքի ծրագրավորման հիմնական գործառույթները, չափաբերումները և ելքային արդյունքները:
Հատուկ նախագծված ծրագրերի համար, որոնք պահանջում են գերլայն FoV, VL53L7CX Թռիչքի ժամանակի սենսորն առաջարկում է 90° անկյունագծով FoV: Հիմնվելով STMicroelectronics-ի Flight Sense տեխնոլոգիայի վրա՝ VL53L7CX-ը ներառում է արդյունավետ մետա մակերեսային ոսպնյակ (DOE), որը տեղադրված է լազերային թողարկիչի վրա, որը հնարավորություն է տալիս 60° x 60° քառակուսի FoV-ի պրոյեկցիան տեսարանի վրա:
Նրա բազմազոնային հնարավորությունը ապահովում է 8×8 գոտիների մատրիցա (64 գոտի) և կարող է աշխատել մինչև 60 սմ արագությամբ (350 Հց):
Շնորհիվ ինքնավար ռեժիմի՝ ծրագրավորվող հեռավորության շեմով, որը համակցված է գերլայն FoV-ին, VL53L7CX-ը կատարյալ է ցանկացած հավելվածի համար, որը պահանջում է ցածր էներգիայի օգտագործողի հայտնաբերում: ST-ի արտոնագրված ալգորիթմները և նորարարական մոդուլի կառուցումը թույլ են տալիս VL53L7CX-ին հայտնաբերել յուրաքանչյուր գոտում FoV-ում բազմաթիվ օբյեկտներ՝ խորը հասկանալով: STMicroelectronics հիստոգրամի ալգորիթմներն ապահովում են ծածկույթի ապակու խաչմերուկի անձեռնմխելիությունը 60 սմ-ից ավելի:
VL53L5CX-ից ստացված՝ երկու սենսորների ցուցիչները և դրայվերները համատեղելի են, ինչը ապահովում է պարզ տեղափոխում մի սենսորից մյուսը:
Ինչպես բոլոր «Թռիչքի ժամանակ» (ToF) սենսորները, որոնք հիմնված են ST-ի Flight Sense տեխնոլոգիայի վրա, VL53L7CX-ը յուրաքանչյուր գոտում գրանցում է բացարձակ հեռավորություն՝ անկախ թիրախի գույնից և անդրադարձումից:
Տեղադրված մանրանկարչությամբ վերահոսող փաթեթում, որն ինտեգրում է SPAD զանգվածը, VL53L7CX-ը ապահովում է լավագույն կատարողականությունը շրջակա միջավայրի լուսավորության տարբեր պայմաններում և ծածկույթի ապակե նյութերի լայն տեսականիով:
ST-ի բոլոր ToF սենսորները միավորում են VCSEL-ը, որն արձակում է լիովին անտեսանելի 940 նմ IR լույս, որը լիովին անվտանգ է աչքերի համար (դաս 1 հավաստագրում):
VL53L7CX-ը կատարյալ սենսոր է ցանկացած հավելվածի համար, որը պահանջում է ծայրահեղ լայն FoV, ինչպիսիք են ռոբոտաշինությունը, խելացի բարձրախոսները, վիդեո պրոյեկտորները, բովանդակության կառավարումը: Բազմազոնային հնարավորությունների և 90° FoV-ի համադրությունը կարող է բարելավել նոր օգտագործման դեպքերը, ինչպիսիք են ժեստերի ճանաչումը, SLAM ռոբոտաշինության համար և ցածր էներգիայի համակարգի ակտիվացումը խելացի շենքերի համար:
Նկար 1. VL53L7CX սենսորային մոդուլ

Հապավումներ և հապավումներ
| Հապավում/հապավում | Սահմանում |
| DOE | դիֆրակցիոն օպտիկական տարր |
| FoV | դաշտը view |
| I²C | միջինտեգրված միացում (սերիական ավտոբուս) |
| Kcps/SPAD | Կիլոգրամների քանակ/վայրկյան մեկ սադում (միավոր, որն օգտագործվում է SPAD զանգվածում ֆոտոնների քանակը քանակականացնելու համար) |
| RAM | պատահական մուտքի հիշողություն |
| SCL | սերիական ժամացույցի գիծ |
| SDA | սերիական տվյալներ |
| SPAD | մեկ ֆոտոն ավալանշ դիոդ |
| ToF | Թռիչքի ժամանակ |
| ULD | ultra lite վարորդ |
| VCSEL | ուղղահայաց խոռոչի մակերեսի արտանետվող դիոդ |
| VHV | շատ բարձր ծավալtage |
| Xtalk | զրպարտություն |
Ֆունկցիոնալ նկարագրություն
Համակարգն ավարտված էview
VL53L7CX համակարգը կազմված է ապարատային մոդուլից և հոսթի վրա աշխատող ultra lite վարորդական ծրագրից (VL53L7CX ULD) (տես ստորև նկարը): Սարքավորումների մոդուլը պարունակում է ToF սենսոր: STMicroelectronics-ը տրամադրում է ծրագրաշարի դրայվերը, որն այս փաստաթղթում նշված է որպես «վարորդ»: Այս փաստաթուղթը նկարագրում է վարորդի գործառույթները, որոնք հասանելի են հյուրընկալողին: Այս գործառույթները վերահսկում են սենսորը և ստանում տիրույթի տվյալները:
Նկար 2. VL53L7CX համակարգը ավարտված էview

Արդյունավետ կողմնորոշում
Մոդուլը ներառում է ոսպնյակ Rx բացվածքի վրա, որը շրջում է (հորիզոնական և ուղղահայաց) թիրախի նկարահանված պատկերը: Հետևաբար, SPAD զանգվածի ներքևի ձախ մասում ճանաչված 0 գոտին լուսավորված է տեսարանի վերևի աջ կողմում գտնվող թիրախով:
Նկար 3. VL53L7CX արդյունավետ կողմնորոշում

Սխեմաներ և I²C կոնֆիգուրացիա
Վարորդի և որոնվածի միջև հաղորդակցությունը կառավարվում է I²C-ի միջոցով՝ մինչև 1 ՄՀց հաճախականությամբ աշխատելու հնարավորությամբ: Իրականացումը պահանջում է SCL և SDA գծերի ձգումներ: Լրացուցիչ տեղեկությունների համար տես VL53L7CX տվյալների թերթիկը: VL53L7CX սարքն ունի 0x52 լռելյայն I²C հասցե: Այնուամենայնիվ, հնարավոր է փոխել լռելյայն հասցեն՝ այլ սարքերի հետ կոնֆլիկտներից խուսափելու համար կամ հեշտացնել մի քանի VL53L7CX մոդուլների ավելացումը համակարգին՝ ավելի մեծ համակարգի FoV-ի համար: I²C հասցեն կարող է փոխվել vl53l7cx_set_i2c_address() ֆունկցիայի միջոցով:
Նկար 4. Բազմաթիվ սենսորներ I²C ավտոբուսում

Որպեսզի սարքին թույլ տա փոխել իր I²C հասցեն՝ առանց I²C ավտոբուսի մյուսների վրա ազդելու, կարևոր է անջատել I²C հաղորդակցությունը սարքերի չփոխելու համար: Ընթացակարգը հետևյալն է.
- Միացրեք համակարգը սովորական ռեժիմով:
- Ներքև քաշեք սարքի LPn փին, որի հասցեն չի փոխվի:
- Վերև քաշեք սարքի LPn փին, որի վրա փոխվել է I²C հասցեն:
- Ծրագրավորեք I²C հասցեն սարքին՝ օգտագործելով set_i2c_address() ֆունկցիան:
- Վեր ծրագրավորվող սարքի LPn փին վեր քաշեք:
Բոլոր սարքերն այժմ պետք է հասանելի լինեն I²C ավտոբուսում: Կրկնեք վերը նշված քայլերը համակարգի բոլոր VL53L7CX սարքերի համար, որոնք պահանջում են նոր I²C հասցե:
Փաթեթի բովանդակությունը և տվյալների հոսքը
Վարորդի ճարտարապետություն և բովանդակություն
VL53L7CX ULD փաթեթը բաղկացած է չորս թղթապանակից: Վարորդը գտնվում է թղթապանակում /
VL53L7CX_ULD_API:
Վարորդը կազմված է պարտադիր և ընտրովի fileս. Ընտրովի fileս են plugins օգտագործվում է ULD հատկանիշները ընդլայնելու համար: Յուրաքանչյուր հավելված սկսվում է «vl53l7cx_plugin» բառով (օրինակ՝ vl53l7cx_plugin_xtalk.h): Եթե օգտագործողը չի ցանկանում առաջարկվածը plugins, դրանք կարող են հեռացվել՝ առանց ազդելու վարորդի մյուս հատկանիշների վրա: Հետևյալ նկարը ներկայացնում է պարտադիրը files և կամընտիր plugins.
Նկար 5. Վարորդի ճարտարապետություն

Օգտագործողը նույնպես պետք է իրականացնի երկու files գտնվում է /Platform թղթապանակում: Առաջարկվող հարթակը դատարկ պատյան է և պետք է լցված լինի հատուկ գործառույթներով:
Նշում. Պլաստիկ ձև: հ file պարունակում է պարտադիր մակրո ULD-ն օգտագործելու համար: Ամբողջ file բովանդակությունը պարտադիր է ULD-ի ճիշտ օգտագործման համար
Կալիբրացիոն հոսք
Crosstalk (Xtalk) սահմանվում է որպես SPAD զանգվածի վրա ստացված ազդանշանի քանակ, որը պայմանավորված է VCSEL լույսով
արտացոլում մոդուլի վերևում ավելացված պաշտպանիչ պատուհանի ներսում (կափարիչի ապակի): VL53L7CX մոդուլը ինքնուրույն չափորոշված է և կարող է օգտագործվել առանց որևէ լրացուցիչ տրամաչափման:
Crosstalk calibration-ը կարող է պահանջվել, եթե մոդուլը պաշտպանված է կափարիչի ապակիով: VL53L7CX-ը անձեռնմխելի է
60 սմ-ից ավելի խոսակցություն՝ հիստոգրամային ալգորիթմի շնորհիվ: Այնուամենայնիվ, 60 սմ-ից ցածր կարճ հեռավորությունների վրա Xtalk-ը կարող է ավելի մեծ լինել, քան իրական վերադարձված ազդանշանը: Սա տալիս է սխալ թիրախային ընթերցում կամ ստիպում է թիրախներին ավելի մոտ թվալ, քան իրականում կան: Crosstalk calibration-ի բոլոր գործառույթները ներառված են Xtalk հավելվածում (ըստ ցանկության): Օգտագործողը պետք է օգտագործի file 'vl53l7cx_plugin_xtalk':
Խառը խոսակցությունը կարող է տրամաչափվել մեկ անգամ, և տվյալները կարող են պահպանվել, որպեսզի հետագայում դրանք նորից օգտագործվեն: Պահանջվում է թիրախ ֆիքսված հեռավորության վրա, հայտնի անդրադարձմամբ: Պահանջվող նվազագույն հեռավորությունը 600 մմ է, և թիրախը պետք է ծածկի ամբողջ FoV-ը: Կախված կարգավորումից, օգտվողը կարող է փոփոխել կարգավորումները՝ հարմարեցնելու համար խաչաձև ալիքի չափաբերումը, ինչպես առաջարկվում է հետևյալ աղյուսակում:
Աղյուսակ 1. Կալիբրացիայի համար մատչելի կարգավորումներ
| Կարգավորում | Min | Առաջարկվել է STMicroelectronics-ի կողմից | Մաքս |
| Հեռավորությունը [մմ] | 600 | 600 | 3000 |
| Ս–ների թիվըamples | 1 | 4 | 16 |
| Արտացոլում [%] | 1 | 3 | 99 |
Նշում. Ս–ների քանակի ավելացումamples-ը մեծացնում է ճշգրտությունը, բայց նաև մեծացնում է չափաբերման ժամանակը: Ժամանակը հարաբերական s թվի հետamples-ը գծային է, և արժեքները հետևում են մոտավոր ժամկետի.
- 1 վample ≈ 1 վայրկյան
- 4 վamples ≈ 2.5 վայրկյան
- 16 վamples ≈ 8.5 վայրկյան
Կալիբրացումը կատարվում է vl53l7cx_calibrate_xtalk() ֆունկցիայի միջոցով: Այս գործառույթը կարող է օգտագործվել ցանկացած պահի: Այնուամենայնիվ, նախ սենսորը պետք է սկզբնավորվի: Հետևյալ նկարը ներկայացնում է խաչաձև տրամաչափման հոսքը:
Նկար 6. Crosstalk calibration հոսքը

Տատանվող հոսք
Հետևյալ նկարը ներկայացնում է միջակայքային հոսքը, որն օգտագործվում է չափումներ ստանալու համար: Xtalk-ի չափաբերումը և կամընտիր գործառույթի զանգերը պետք է օգտագործվեն նախքան միջակայքի սեսիան սկսելը: Ստանալ/սահմանել գործառույթները չեն կարող օգտագործվել տիրույթի նստաշրջանի ընթացքում, և «թռիչքի վրա» ծրագրավորումը չի ապահովվում:
Նկար 7. Հոսքի միջակայք՝ օգտագործելով VL53L7CX

Հասանելի հատկանիշներ
VL53L7CX ULD API-ն ներառում է մի քանի գործառույթ, որոնք թույլ են տալիս օգտագործողին կարգավորել սենսորը՝ կախված օգտագործման դեպքից: Վարորդի համար հասանելի բոլոր գործառույթները նկարագրված են հետևյալ բաժիններում:
Նախնականացում
Նախնականացումը պետք է կատարվի VL53L7CX սենսորն օգտագործելուց առաջ: Այս գործողությունը օգտվողից պահանջում է.
- Միացրեք սենսորը (VDDIO, AVDD, LPn պինդները դրված են High-ի, իսկ I2C_RST-ը դրված է 0-ի)
- Կանչեք vl53l7cx_init() ֆունկցիան: Ֆունկցիան պատճենում է որոնվածը (~84 Կբայթ) մոդուլում: Դա արվում է կոդը բեռնելով I²C ինտերֆեյսի վրա և կատարելով բեռնման ռեժիմ՝ սկզբնավորումն ավարտելու համար:
Սենսորների վերակայման կառավարում
Սարքը զրոյացնելու համար անհրաժեշտ է միացնել հետևյալ քորոցները.
- Սահմանեք VDDIO, AVDD և LPn կապումները ցածր մակարդակի վրա:
- Սպասեք 10 ms.
- Սահմանեք VDDIO, AVDD և LPn կապումները բարձր մակարդակի վրա:
Նշում. Միայն I2C_RST փին անջատելը զրոյացնում է I²C հաղորդակցությունը:
Բանաձեւ
Բանաձևը համապատասխանում է առկա գոտիների քանակին: VL53L7CX սենսորն ունի երկու հնարավոր լուծում՝ 4×4 (16 գոտի) և 8×8 (64 գոտի): Լռելյայնորեն սենսորը ծրագրավորված է 4×4: vl53l7cx_set_resolution() ֆունկցիան թույլ է տալիս օգտվողին փոխել բանաձեւը: Քանի որ տիրույթի հաճախականությունը կախված է լուծաչափից, այս ֆունկցիան պետք է օգտագործվի նախքան տիրույթի հաճախականությունը թարմացնելը: Ավելին, բանաձևի փոփոխությունը նաև մեծացնում է I²C ավտոբուսի երթևեկության չափը, երբ արդյունքներն ընթերցվում են:
Տատանվող հաճախականությունը
Տատանվող հաճախականությունը կարող է օգտագործվել չափման հաճախականությունը փոխելու համար: Քանի որ առավելագույն հաճախականությունը տարբեր է
4×4 և 8×8 լուծումների միջև, այս գործառույթը պետք է օգտագործվի բանաձևը ընտրելուց հետո: Թույլատրելի նվազագույն և առավելագույն արժեքները ներկայացված են հետևյալ աղյուսակում:
Աղյուսակ 2. Նվազագույն և առավելագույն միջակայքային հաճախականություններ
| Բանաձեւ | Նվազագույն միջակայքային հաճախականությունը [Հց] | Առավելագույն միջակայքային հաճախականությունը [Hz] |
| 4×4 | 1 | 60 |
| 8×8 | 1 | 15 |
Տատանվող հաճախականությունը կարելի է թարմացնել՝ օգտագործելով vl53l7cx_set_ranging_frequency_hz() ֆունկցիան: Լռելյայնորեն, միջակայքի հաճախականությունը սահմանված է 1 Հց:
Տարածման ռեժիմ
Ranging ռեժիմը թույլ է տալիս օգտվողին ընտրել բարձր կատարողականության կամ ցածր էներգիայի սպառման միջև: Առաջարկվում է երկու եղանակ.
- Շարունակական. սարքը շարունակաբար գրավում է շրջանակները օգտատիրոջ կողմից սահմանված տատանվող հաճախականությամբ: VCSEL-ը միացված է ամբողջ տիրույթում, ուստի առավելագույն հեռավորությունը և շրջակա միջավայրի անձեռնմխելիությունը ավելի լավն են: Այս ռեժիմը խորհուրդ է տրվում արագ տիրույթի չափումների կամ բարձր կատարողականության համար:
- Ինքնավար: Սա լռելյայն ռեժիմն է: Սարքը շարունակաբար բռնում է շրջանակներ՝ տատանվող հաճախականությամբ
սահմանվում է օգտագործողի կողմից: VCSEL-ը միացված է օգտագործողի կողմից սահմանված ժամանակահատվածում՝ օգտագործելով vl53l7cx_set_integration_time_ms() ֆունկցիան: Քանի որ VCSEL-ը միշտ չէ, որ միացված է, էներգիայի սպառումը նվազում է: Օգուտներն ավելի ակնհայտ են միջակայքի նվազեցված հաճախականության դեպքում: Այս ռեժիմը խորհուրդ է տրվում ցածր էներգիայի ծրագրերի համար:
Տարածման ռեժիմը կարող է փոխվել՝ օգտագործելով vl53l7cx_set_ranging_mode() ֆունկցիան:
Ինտեգրման ժամանակը
Ինտեգրման ժամանակը հատկանիշ է, որը հասանելի է միայն ինքնավար տիրույթի ռեժիմի միջոցով (տես բաժին 4.5.
ռեժիմ): Այն թույլ է տալիս օգտվողին փոխել ժամանակը, մինչ VCSEL-ը միացված է: Ինտեգրման ժամանակի փոփոխություն, եթե միջակայքը
ռեժիմը դրված է շարունակականի վրա ազդեցություն չունի: Լռելյայն ինտեգրման ժամանակը սահմանվել է 5 ms: Ինտեգրման ժամանակի ազդեցությունը տարբեր է 4×4 և 8×8 լուծումների համար: 4×4 բանաձեւը կազմված է մեկ ինտեգրման ժամանակից, իսկ 8×8 բանաձեւը կազմված է չորս ինտեգրման ժամանակից: Հետևյալ թվերը ներկայացնում են VCSEL արտանետումը երկու լուծաչափերի համար:
Նկար 8. Ինտեգրման ժամանակը 4×4 ինքնավարության համար

Նկար 9. Ինտեգրման ժամանակը 8×8 ինքնավարության համար

Բոլոր ինտեգրման ժամանակների գումարը + 1 ms վերադիր պետք է լինի ավելի ցածր, քան չափման ժամանակահատվածը: Հակառակ դեպքում, միջակայքը ավտոմատ կերպով ավելանում է ինտեգրման ժամանակի արժեքին համապատասխանելու համար:
Էլեկտրաէներգիայի ռեժիմներ
Սնուցման ռեժիմները կարող են օգտագործվել էներգիայի սպառումը նվազեցնելու համար, երբ սարքը չի օգտագործվում: VL53L7CX-ը կարող է աշխատել հետևյալ հոսանքի ռեժիմներից մեկում.
- Արթնացում. սարքը տեղադրված է HP-ի անգործուն ռեժիմում (բարձր հզորություն)՝ սպասելով հրահանգների:
- Քուն. սարքը դրված է LP պարապ վիճակում (ցածր էներգիա), ցածր էներգիայի վիճակում: Սարքը չի կարող օգտագործվել մինչև արթնացման ռեժիմում միացված լինի: Այս ռեժիմը պահպանում է որոնվածը և կոնֆիգուրացիան:
Էլեկտրաէներգիայի ռեժիմը կարելի է փոխել՝ օգտագործելով vl53l7cx_set_power_mode() ֆունկցիան: Կանխադրված ռեժիմը արթնացումն է:
Նշում. Եթե օգտատերը ցանկանում է փոխել հոսանքի ռեժիմը, սարքը չպետք է լինի տատանվող վիճակում:
Սողուններ
Թիրախից վերադարձված ազդանշանը մաքուր զարկերակ չէ սուր եզրերով: Ծայրերը թեքվում են և կարող են ազդել հարակից գոտիներում նշված հեռավորությունների վրա: Սրիչը օգտագործվում է շղարշի փայլից առաջացած որոշ կամ ամբողջ ազդանշանը հեռացնելու համար:
ՆախկինampՍտորև բերված նկարում ցուցադրվածը ներկայացնում է մոտ թիրախ 100 մմ-ի վրա՝ կենտրոնացված FoV-ում, և մեկ այլ թիրախ՝ ավելի ետևում՝ 500 մմ: Կախված սրիչի արժեքից, մոտ թիրախը կարող է հայտնվել ավելի շատ գոտիներում, քան իրականը:
Նկար 10. Exampտեսարան՝ օգտագործելով մի քանի սրիչ արժեքներ



Սրիչը կարելի է փոխել՝ օգտագործելով vl53l7cx_set_sharpener_percent() ֆունկցիան: Թույլատրված արժեքները 0% -ից 99% են: Նախնական արժեքը 5% է:
Նպատակային պատվեր
VL53L7CX-ը կարող է չափել մի քանի թիրախ յուրաքանչյուր գոտում: Հիստոգրամի մշակման շնորհիվ հյուրընկալողը կարողանում է
ընտրեք հաղորդված թիրախների հերթականությունը: Երկու տարբերակ կա.
- Ամենամոտ: Ամենամոտ թիրախը առաջինն է
- Ամենաուժեղ. ամենաուժեղ թիրախը առաջինն է
Թիրախային կարգը կարող է փոխվել՝ օգտագործելով vl53l7cx_set_target_order() ֆունկցիան: Կանխադրված կարգը ամենաուժեղն է: Նախկինample-ն հետևյալ նկարում ներկայացնում է երկու թիրախի հայտնաբերումը: Մեկը 100 մմ ցածր արտացոլմամբ, իսկ մեկը 700 մմ բարձր արտացոլմամբ:
Նկար 11. ExampՀիստոգրամի լ՝ երկու թիրախով

Բազմաթիվ թիրախներ յուրաքանչյուր գոտում
VL53L7CX-ը կարող է չափել մինչև չորս թիրախ յուրաքանչյուր գոտում: Օգտագործողը կարող է կարգավորել սենսորի կողմից վերադարձված թիրախների քանակը:
Նշում. Հայտնաբերվելիք երկու թիրախների միջև նվազագույն հեռավորությունը 600 մմ է: Վարորդից ընտրությունը հնարավոր չէ. դա պետք է արվի «պլատֆորմի» տեսքով: ժ file. Մակրո VL53L7CX_NB_ TARGET_PER_ZONE-ը պետք է սահմանվի 1-ից 4-ի միջև: Թիրախային կարգը նկարագրված է Բաժին 4.9-ում. Նպատակային կարգն ուղղակիորեն ազդում է հայտնաբերված թիրախի հերթականության վրա: Լռելյայնորեն, սենսորը թողարկում է առավելագույնը մեկ թիրախ յուրաքանչյուր գոտու համար:
Նշում. Մեկ գոտում թիրախների քանակի ավելացումը մեծացնում է RAM-ի պահանջվող չափը:
Xtalk լուսանցք
Xtalk լուսանցքը լրացուցիչ հատկություն է, որը հասանելի է միայն Xtalk հավելվածի միջոցով: .c և .f files 'vl53l7cx_plugin_xtalk' պետք է օգտագործվի:
Լուսանցքն օգտագործվում է հայտնաբերման շեմը փոխելու համար, երբ սենսորի վերին մասում առկա է կափարիչի ապակի: Շեմը կարող է ավելացվել՝ ապահովելու համար, որ կափարիչի ապակին երբեք չի հայտնաբերվի՝ խաչաձև տրամաչափման տվյալները սահմանելուց հետո: ՆախampԲացի այդ, օգտագործողը կարող է մեկ սարքի վրա գործարկել խաչաձև տրամաչափում և վերօգտագործել նույն տրամաչափման տվյալները բոլոր մյուս սարքերի համար: Xtalk լուսանցքը կարող է օգտագործվել խաչաձև շտկումը կարգավորելու համար: Ստորև բերված նկարը ներկայացնում է Xtalk մարժան:
Նկար 12. Xtalk լուսանցք

Հայտնաբերման շեմեր
Ի լրումն սովորական տիրույթի հնարավորությունների, սենսորը կարող է ծրագրավորվել որոշակի նախապես սահմանված չափանիշներով օբյեկտ հայտնաբերելու համար: Այս հատկությունը հասանելի է «հայտնաբերման շեմեր» հավելվածի միջոցով, որը API-ում լռելյայն ներառված տարբերակ չէ: Այն fileԱնհրաժեշտ է օգտագործել «vl53l7cx_plugin_detection_thresholds» անվանումը: Հատկանիշը կարող է օգտագործվել A3 (INT) ամրացման համար ընդհատում գործարկելու համար, երբ օգտագործողի կողմից սահմանված պայմանները բավարարվեն: Կան երեք հնարավոր կոնֆիգուրացիաներ.
- Բանաձև 4×4. յուրաքանչյուր գոտու մեկ շեմի օգտագործում (ընդհանուր 16 շեմ)
- Բանաձև 4×4. յուրաքանչյուր գոտու համար երկու շեմի օգտագործում (ընդհանուր 32 շեմ)
- Բանաձև 8×8. յուրաքանչյուր գոտու մեկ շեմի օգտագործում (ընդհանուր 64 շեմ)
Անկախ օգտագործվող կոնֆիգուրացիան, շեմերի ստեղծման կարգը և RAM-ի չափը նույնն են: Յուրաքանչյուր շեմային համակցության համար անհրաժեշտ է լրացնել մի քանի դաշտ.
- Zone id՝ ընտրված գոտու id (տես Բաժին 2.2. Արդյունավետ կողմնորոշում)
- Չափում. չափում բռնելու համար (հեռավորություն, ազդանշան, SPAD-ների քանակը,…)
- Տեսակը՝ չափումների պատուհաններ (պատուհաններում, պատուհաններից դուրս, ցածր շեմից ցածր,…)
- Ցածր շեմ. գործարկողի ցածր շեմ օգտագործող: Օգտատիրոջը ձևաչափը սահմանելու կարիք չկա, այն ավտոմատ կերպով մշակվում է API-ի կողմից:
- Բարձր շեմ. գործարկիչի բարձր շեմ օգտագործող: Օգտագործողը կարիք չունի ձևաչափի սահմանելու. այն ավտոմատ կերպով կառավարվում է API-ի կողմից:
- Մաթեմատիկական գործողություն. օգտագործվում է միայն 4×4 – 2 շեմային համակցությունների համար յուրաքանչյուր գոտում: Օգտագործողը կարող է համադրություն սահմանել՝ օգտագործելով մի քանի շեմ մեկ գոտում:
Շարժման ցուցիչ
VL53L7CX սենսորն ունի ներկառուցված որոնվածային հատկություն, որը թույլ է տալիս հայտնաբերել շարժումը տեսարանում: Շարժումը
ցուցիչը հաշվարկվում է հաջորդական շրջանակների միջև: Այս տարբերակը հասանելի է «vl53l7cx_plugin_motion_indicator» հավելվածի միջոցով:
Շարժման ցուցիչը սկզբնավորվում է vl53l7cx_motion_indicator_init() ֆունկցիայի միջոցով: Սենսորը փոխելու համար
բանաձեւը, թարմացրեք շարժման ցուցիչի լուծաչափը՝ օգտագործելով հատուկ գործառույթը՝ vl53l7cx_motion_indicator_set_resolution():
Օգտագործողը կարող է նաև փոխել շարժման հայտնաբերման նվազագույն և առավելագույն հեռավորությունները: Նվազագույն և առավելագույն հեռավորությունների միջև տարբերությունը չի կարող լինել 1500 մմ-ից ավելի: Լռելյայնորեն, հեռավորությունները սկզբնավորվում են 400 մմ-ից 1500 մմ արժեքներով:
Արդյունքները պահվում են «շարժման_ ցուցիչ» դաշտում: Այս դաշտում «շարժում» զանգվածը տալիս է արժեք, որը պարունակում է
շարժման ինտենսիվությունը մեկ գոտում: Բարձր արժեքը ցույց է տալիս շրջանակների միջև շարժման բարձր տատանումները: Տիպիկ շարժումը տալիս է 100-ից 500 արժեք: Այս զգայունությունը կախված է ինտեգրման ժամանակից, թիրախի հեռավորությունից և թիրախի անդրադարձումից:
Ցածր էներգիայի հավելվածների համար իդեալական համադրություն է շարժման ցուցիչի օգտագործումն ինքնավար տիրույթի ռեժիմով և շարժման վրա ծրագրավորված հայտնաբերման շեմերով: Սա թույլ է տալիս հայտնաբերել շարժման տատանումները FoV-ում նվազագույն էներգիայի սպառմամբ:
Պարբերական ջերմաստիճանի փոխհատուցում
Տատանվող կատարողականի վրա ազդում են ջերմաստիճանի տատանումները: VL53L7CX սենսորը տեղադրում է ջերմաստիճան
փոխհատուցում, որը ճշգրտվում է մեկ անգամ, երբ հեռարձակումը սկսվում է: Այնուամենայնիվ, եթե ջերմաստիճանը զարգանում է, ապա
փոխհատուցումը կարող է չհամապատասխանել նոր ջերմաստիճանին: Այս խնդրից խուսափելու համար հաճախորդը կարող է ջերմաստիճանի պարբերական փոխհատուցում կատարել՝ օգտագործելով ավտոմատ VHV: Ջերմաստիճանի պարբերական ստուգաչափումը մի քանի միլիվայրկյան է պահանջում: Օգտագործողը կարող է սահմանել ժամկետը: Այս հնարավորությունն օգտագործելու համար հաճախորդը պետք է.
- Կանչեք vl53l7cx_set_VHV_repeat_count() ֆունկցիան:
- Այնուհետև որպես արգումենտ տվեք յուրաքանչյուր նոր չափաբերման միջև եղած շրջանակների թիվը:
Եթե արգումենտը 0 է, ապա փոխհատուցումն անջատված է:
Արդյունքների շարք
Հասանելի տվյալներ
Թիրախային և շրջակա միջավայրի տվյալների ընդարձակ ցանկը կարող է ստացվել միջակայքային գործունեության ընթացքում: Հետևյալ աղյուսակը նկարագրում է օգտագործողի համար հասանելի պարամետրերը:
Աղյուսակ 3. Հասանելի ելք՝ օգտագործելով VL53L7CX սենսորը
| Տարր | Nb բայթ (RAM) | Միավոր | Նկարագրություն |
| Շրջակա միջավայր՝ ըստ SPAD-ի | 256 | Kcps/SPAD | Շրջակա միջավայրի արագության չափումը կատարվում է SPAD զանգվածի վրա, առանց ակտիվ ֆոտոնների արտանետումների, աղմուկի պատճառով շրջակա ազդանշանի արագությունը չափելու համար: |
| Հայտնաբերված թիրախների քանակը | 64 | Ոչ մեկը | Ընթացիկ գոտում հայտնաբերված թիրախների քանակը: Այս արժեքը պետք է լինի առաջինը, որը ստուգում է չափման վավերականությունը իմանալու համար: |
| Միացված SPAD-ների քանակը | 256 | Ոչ մեկը | Ընթացիկ չափման համար միացված SPAD-ների քանակը: Հեռավոր կամ ցածր արտացոլող թիրախը ակտիվացնում է ավելի շատ SPAD-ներ: |
| Ազդանշան մեկ SPAD-ի համար | Ծրագրավորված են 256 x nb թիրախներ | Kcps/SPAD | VCSEL իմպուլսի ժամանակ չափված ֆոտոնների քանակը: |
| Շրջանակի սիգմա | Ծրագրավորված են 128 x nb թիրախներ | Միլիմետր | Նշված թիրախային հեռավորության վրա աղմուկի Sigma գնահատիչ: |
| Հեռավորությունը | Ծրագրավորված են 128 x nb թիրախներ | Միլիմետր | Թիրախային հեռավորությունը |
| Թիրախային կարգավիճակը | Ծրագրավորված են 64 x nb թիրախներ | Ոչ մեկը | Չափումների վավերականությունը: Տեսնել Բաժին 5.5. Արդյունքներ մեկնաբանություն լրացուցիչ տեղեկությունների համար: |
| Արտացոլում | Ծրագրավորված են 64 x թվային թիրախներ | տոկոս | Գնահատված թիրախային արտացոլումը տոկոսներով |
| Շարժման ցուցիչ | 140 | Ոչ մեկը | Շարժման ցուցիչի արդյունքներ պարունակող կառուցվածք: «Շարժում» դաշտը պարունակում է շարժման ինտենսիվությունը: |
Նշում. Մի քանի տարրերի համար (ազդանշան մեկ spad, սիգմա, …) տվյալների հասանելիությունը տարբեր է, եթե օգտվողը ծրագրավորել է մեկից ավելի թիրախ յուրաքանչյուր գոտու համար (տես Բաժին 4.10. Բազմաթիվ թիրախներ մեկ գոտում): Տես նախկինampԼրացուցիչ տեղեկությունների համար կոդերը:
Անհատականացրեք ելքային ընտրությունը
Լռելյայնորեն, բոլոր VL53L7CX ելքերը միացված են: Անհրաժեշտության դեպքում օգտագործողը կարող է անջատել որոշ սենսորային ելքեր: Չափումների անջատումը վարորդի վրա հասանելի չէ. այն պետք է կատարվի «պլատֆորմի» տեսքով: ժ file. Արդյունքներն անջատելու համար օգտագործողը կարող է հայտարարել հետևյալ մակրոները.
#սահմանել VL53L7CX_DISABLE_AMBIENT_PER_SPAD
#սահմանել VL53L7CX_DISABLE_NB_SPADS_ENABLED
#սահմանել VL53L7CX_DISABLE_NB_TARGET_DETECTED
#սահմանել VL53L7CX_DISABLE_SIGNAL_PER_SPAD
#սահմանել VL53L7CX_DISABLE_RANGE_SIGMA_MM
#սահմանել VL53L7CX_DISABLE_DISTANCE_MM
#սահմանել VL53L7CX_DISABLE_TARGET_STATUS
#սահմանել VL53L7CX_DISABLE_REFLECTANCE_PERCENT
#սահմանել VL53L7CX_DISABLE_MOTION_INDICATOR
Հետևաբար, դաշտերը չեն հայտարարվում արդյունքների կառուցվածքում, և տվյալները չեն փոխանցվում հոսթին։ RAM-ի չափը և I²C չափը կրճատվել են: Տվյալների հետևողականությունն ապահովելու համար ST-ը միշտ խորհուրդ է տալիս միացված պահել «հայտնաբերված թիրախների թիվը» և «թիրախային կարգավիճակը»: Սա զտում է չափումները՝ կախված թիրախային կարգավիճակից (տես Բաժին 5.5. Արդյունքների մեկնաբանումը):
Ստանալով տարբեր արդյունքներ
Տարածման նստաշրջանի ընթացքում երկու եղանակ կա իմանալու, թե արդյոք առկա են նոր տիրույթի տվյալներ.
- Հարցման ռեժիմ. Անընդհատ օգտագործում է vl53l7cx_check_data_ready() ֆունկցիան: Այն հայտնաբերում է սենսորի կողմից վերադարձված նոր հոսքերի քանակը:
- Ընդհատման ռեժիմ. Սպասում է A3 փին (GPIO1) բարձրացված ընդհատմանը: Ընդհատումը ավտոմատ կերպով ջնջվում է ~100 մկվ-ից հետո:
Երբ նոր տվյալները պատրաստ են, արդյունքները կարելի է կարդալ՝ օգտագործելով vl53l7cx_get_ranging_data() ֆունկցիան: Այն վերադարձնում է թարմացված կառուցվածք, որը պարունակում է ընտրված բոլոր արդյունքները: Քանի որ սարքը ասինխրոն է, ընդհատում չկա, որպեսզի մաքրվի միջակայքի նիստը շարունակելու համար: Այս հատկությունը հասանելի է ինչպես շարունակական, այնպես էլ ինքնավար տիրույթի ռեժիմների համար:
Օգտագործելով չմշակված որոնվածի ձևաչափը
I²C-ի միջոցով միջակայքային տվյալները փոխանցելուց հետո տեղի է ունենում փոխակերպում որոնվածի ձևաչափի և հյուրընկալող ձևաչափի միջև: Այս գործողությունը, որպես կանոն, կատարվում է միլիմետրերով հեռավորություն ունենալու համար՝ որպես սենսորի լռելյայն ելք: Եթե օգտատերը ցանկանում է օգտագործել որոնվածի ֆորմատը, ապա հարթակում պետք է սահմանվի հետևյալ մակրո file: VL53L7CX
#define VL53L7CX_USE_RAW_FORMAT
Արդյունքների մեկնաբանություն
VL53L7CX-ի կողմից վերադարձված տվյալները կարող են զտվել՝ հաշվի առնելու թիրախային կարգավիճակը: Կարգավիճակը ցույց է տալիս չափման վավերականությունը: Ամբողջական կարգավիճակի ցանկը նկարագրված է հետևյալ աղյուսակում:
Աղյուսակ 4. Հասանելի թիրախային կարգավիճակի ցանկ
| Թիրախային կարգավիճակը | Նկարագրություն |
| 0 | Շրջանակային տվյալները չեն թարմացվում |
| 1 | Ազդանշանի արագությունը չափազանց ցածր է SPAD զանգվածում |
| 2 | Թիրախային փուլ |
| 3 | Սիգմա գնահատիչը չափազանց բարձր է |
| 4 | Թիրախի հետևողականությունը ձախողվեց |
| 5 | Շրջանակը վավեր է |
| 6 | Փաթաթումը չի կատարվում (սովորաբար առաջին միջակայքը) |
| 7 | Գնահատման հետևողականությունը ձախողվեց |
| 8 | Ազդանշանի արագությունը չափազանց ցածր է ընթացիկ թիրախի համար |
| 9 | Շրջանակը վավեր է մեծ զարկերակով (կարող է պայմանավորված լինել միավորված թիրախով) |
| 10 | Շրջանակը վավեր է, բայց նախորդ տիրույթում թիրախ չի հայտնաբերվել |
| 11 | Չափման հետևողականությունը ձախողվեց |
| 12 | Թիրախը լղոզված է մեկ ուրիշի կողմից՝ սրիչի պատճառով |
| 13 | Թիրախը հայտնաբերվեց, բայց անհամապատասխան տվյալներ: Հաճախ տեղի է ունենում երկրորդական թիրախների համար: |
| 255 | Թիրախ չի հայտնաբերվել (միայն եթե հայտնաբերված թիրախների թիվը միացված է) |
Համապատասխան տվյալներ ունենալու համար օգտատերը պետք է զտի անվավեր թիրախային կարգավիճակը: Վստահության վարկանիշ տալու համար 5 կարգավիճակ ունեցող թիրախը համարվում է 100% վավեր: 6 կամ 9 կարգավիճակը կարելի է համարել 50% վստահության արժեքով: Մնացած բոլոր կարգավիճակները 50% վստահության մակարդակից ցածր են:
Վարորդի սխալներ
Երբ սխալ է տեղի ունենում VL53L7CX սենսորի օգտագործմամբ, վարորդը վերադարձնում է հատուկ սխալ: Հետևյալ աղյուսակը թվարկում է հնարավոր սխալները:
Աղյուսակ 5. Վարորդի օգտագործմամբ հասանելի սխալների ցանկ
| Թիրախային կարգավիճակը | Նկարագրություն |
| 0 | Սխալ չկա |
| 127 | Օգտագործողը սխալ կարգավորում է ծրագրավորել (անհայտ լուծաչափ, տիրույթի հաճախականությունը չափազանց բարձր է,…) |
| 255 | Խոշոր սխալ. Սովորաբար ժամանակի դադարի սխալ՝ I²C սխալի պատճառով: |
| այլ | Վերը նկարագրված բազմաթիվ սխալների համակցություն |
Նշում. Հյուրընկալողը կարող է ավելի շատ սխալի կոդեր կիրառել՝ օգտագործելով հարթակը files.
Վերանայման պատմություն
Աղյուսակ 6. Փաստաթղթերի վերանայման պատմություն
| Ամսաթիվ | Տարբերակ | Փոփոխություններ |
| 02-օգոստոս-2022 | 1 | Նախնական թողարկում |
| 02-սեպտ.-2022 | 2 | Թարմացվել է Բաժնի ներածություն Նշում է ավելացվել թիրախների միջև նվազագույն հեռավորության մասին Բաժին 4.10. Բազմակի թիրախներ յուրաքանչյուր գոտում |
| 21-Փետրվար-2024 | 3 | Ավելացվեց VHV (շատ բարձր ծավալtagե) դեպի Բաժին 1. Հապավումներ և հապավումներ. Ավելացված է Բաժին 4.14. Ջերմաստիճանի պարբերական փոխհատուցում |
Հաճախորդների աջակցություն
ԿԱՐԵՎՈՐ ԾԱՆՈՒՑՈՒՄ – ԿԱՐԴԱՑԵՔ ՈՒՇԱԴՐՈՒԹՅՈՒՆ
STMicroelectronics NV-ն և նրա դուստր ձեռնարկությունները («ST») իրավունք են վերապահում ցանկացած պահի առանց նախազգուշացման փոփոխություններ, ուղղումներ, բարելավումներ, փոփոխություններ և բարելավումներ կատարել ST արտադրանքներում և/կամ այս փաստաթղթում: Գնորդները պետք է ստանան ST ապրանքների վերաբերյալ վերջին համապատասխան տեղեկատվությունը, նախքան պատվերներ տեղադրելը: ST ապրանքները վաճառվում են ST-ի վաճառքի պայմանների և պայմանների համաձայն, որոնք գործում են պատվերի հաստատման պահին:
Գնորդները բացառապես պատասխանատու են ST ապրանքների ընտրության, ընտրության և օգտագործման համար, և ST-ն պատասխանատվություն չի կրում դիմումների աջակցության կամ գնորդների արտադրանքի ձևավորման համար:
Սույնով ST-ի կողմից որևէ մտավոր սեփականության իրավունքի բացահայտ կամ ենթադրյալ լիցենզիա չի տրվում:
ST արտադրանքի վերավաճառք՝ սույն հոդվածում նշված տեղեկատվությունից տարբերվող դրույթներով, անվավեր է դարձնում ST-ի կողմից նման արտադրանքի համար տրված ցանկացած երաշխիք:
ST-ը և ST լոգոն ST-ի ապրանքային նշաններն են: ST ապրանքանիշերի մասին լրացուցիչ տեղեկությունների համար տե՛ս www.st.com/trademarks. Բոլոր այլ ապրանքների կամ ծառայությունների անվանումները իրենց համապատասխան սեփականատերերի սեփականությունն են:
Այս փաստաթղթի տեղեկատվությունը փոխարինում և փոխարինում է այս փաստաթղթի ցանկացած նախկին տարբերակներում նախկինում տրված տեղեկատվությանը:
© 2024 STMicroelectronics – Բոլոր իրավունքները պաշտպանված են

Փաստաթղթեր / ռեսուրսներ
![]() |
STMicroelectronics VL53L7CX Թռիչքի ժամանակի բազմագոտի հեռավորության սենսոր [pdf] Օգտագործողի ուղեցույց VL53L7CX Թռիչքի ժամանակի բազմագոտի հեռավորության ցուցիչ, VL53L7CX, թռիչքի ժամանակի բազմագոտի հեռավորության ցուցիչ, թռիչքի բազմագոտի տվիչ, բազմագոտի հեռավորության սենսոր, հեռավորության ցուցիչ |




