STMicroelectronics VL53L5CX ფრენის დროის მრავალზონიანი სენსორი

STMicroelectronics VL53L5CX ფრენის დროის მრავალზონიანი სენსორი

შესავალი

ამ მომხმარებლის სახელმძღვანელოს მიზანია ახსნას, თუ როგორ უნდა დამუშავდეს VL53L5CX ფრენის დროის სენსორი (ToF) ულტრა ლაით დრაივერის (ULD) API-ს გამოყენებით. იგი აღწერს მოწყობილობის დაპროგრამების ძირითად ფუნქციებს, კალიბრაციას და გამომავალ შედეგებს.

VL53L5CX არის თანამედროვე, ToF, მრავალზონიანი დიაპაზონის სენსორი, რომელიც აძლიერებს STMicroelectronics Flight Sense პროდუქტების ოჯახს. მოთავსებულია მინიატურულ რედინებად შეფუთვაში, იგი აერთიანებს SPAD მასივს, ფიზიკურ ინფრაწითელ ფილტრებს და დიფრაქციულ ოპტიკურ ელემენტებს (DOE), რათა მიაღწიოს საუკეთესო ეფექტურობას სხვადასხვა გარემო განათების პირობებში, საფარის მინის მასალების სპექტრით.

მრავალზონიანი მანძილის გაზომვა შესაძლებელია 8×8 ზონამდე ფართო 63° დიაგონალური ველით. view (FoV) რაც შეიძლება იყოს
შემცირდა პროგრამული უზრუნველყოფით. VL53L5CX-ის თითოეული ზონა ზომავს სამიზნის მანძილს 4 მეტრამდე, მაქსიმალური სიხშირით 60 ჰც.

STMicroelectronics-ის დაპატენტებული ჰისტოგრამის ალგორითმების წყალობით, VL53L5CX-ს შეუძლია აღმოაჩინოს სხვადასხვა ობიექტები FoV-ში.
ჰისტოგრამა ასევე უზრუნველყოფს იმუნიტეტს 60 სმ-ზე მეტი შუშის ნაკაწრების დასაფარად.
შესავალი

ცნობები
VL53L5CX მონაცემთა ფურცელი (DS13754).

აბრევიატურა და აბრევიატურა

აკრონიმი/აბრევიატურა განმარტება
DOE დიფრაქციული ოპტიკური ელემენტი
FoV სფეროს view
I²C ინტეგრირებული წრე (სერიული ავტობუსი)
Kcps/SPAD კილო-თვლა წამში სპადზე (ერთეული გამოიყენება SPAD მასივში ფოტონების რაოდენობის გასაზომად)
ოპერატიული მეხსიერება შემთხვევითი წვდომის მეხსიერება
SCL სერიული საათის ხაზი
SDA სერიული მონაცემები
SPAD ერთი ფოტონის ზვავის დიოდი
ToF ფრენის დრო
ULD ულტრა ლაით მძღოლი
VCSEL ვერტიკალური ღრუს ზედაპირის გამოსხივების დიოდი
VHV ძალიან მაღალი მოცულობითtage
Xtalk ჯვარედინი საუბარი

ფუნქციური აღწერა

სისტემა დასრულდაview

VL53L5CX სისტემა შედგება აპარატურის მოდულისა და ულტრა ლაით დრაივერის პროგრამული უზრუნველყოფისგან (VL53L5CX ULD), რომელიც მუშაობს ჰოსტზე (იხ. სურათი ქვემოთ). აპარატურის მოდული შეიცავს ToF სენსორს. STMicroelectronics აწვდის პროგრამული უზრუნველყოფის დრაივერს, რომელიც მოხსენიებულია ამ დოკუმენტში, როგორც "დრაივერი". ეს დოკუმენტი აღწერს დრაივერის ფუნქციებს, რომლებიც ხელმისაწვდომია ჰოსტისთვის. ეს ფუნქციები აკონტროლებენ სენსორს და იღებენ დიაპაზონის მონაცემებს.
სისტემა დასრულდაview

ეფექტური ორიენტაცია

მოდული მოიცავს ლინზს Rx დიაფრაგმაზე, რომელიც აბრუნებს (ჰორიზონტალურად და ვერტიკალურად) სამიზნის გადაღებულ სურათს. შესაბამისად, ზონა იდენტიფიცირებული, როგორც ზონა 0, SPAD მასივის ქვედა მარცხენა მხარეს, განათებულია სამიზნით, რომელიც მდებარეობს სცენის ზედა მარჯვენა მხარეს.
ეფექტური ორიენტაცია

სქემები და I²C კონფიგურაცია

დრაივერსა და პროგრამულ პროგრამას შორის კომუნიკაციას მართავს I²C, 1 MHz-მდე მუშაობის შესაძლებლობით. დანერგვა მოითხოვს SCL და SDA ხაზების ამოღებას. დამატებითი ინფორმაციისთვის იხილეთ VL53L5CX მონაცემთა ცხრილი.
VL53L5CX მოწყობილობას აქვს ნაგულისხმევი I²C მისამართი 0x52. თუმცა, შესაძლებელია ნაგულისხმევი მისამართის შეცვლა სხვა მოწყობილობებთან კონფლიქტის თავიდან ასაცილებლად ან სისტემაში მრავალი VL53L5CX მოდულის დამატება უფრო დიდი სისტემისთვის FoV-სთვის. I²C მისამართი შეიძლება შეიცვალოს vl53l5cx_set_i2c_address() ფუნქციის გამოყენებით.

სქემები და I²C კონფიგურაცია

იმისათვის, რომ მოწყობილობას შეეცვალოს მისი I²C მისამართი სხვებზე ზემოქმედების გარეშე I²C ავტობუსში, მნიშვნელოვანია გამორთოთ I²C კომუნიკაცია მოწყობილობების შეუცვლელად. პროცედურა შემდეგია:

  1. ჩართეთ სისტემა ჩვეულებრივად.
  2. ჩამოწიეთ მოწყობილობის LPn პინი, რომლის მისამართი არ შეიცვლება.
  3. აწიეთ მოწყობილობის LPn პინი, რომელსაც აქვს I²C მისამართი შეცვლილი.
  4. დაპროგრამეთ I²C მისამართი მოწყობილობაზე ფუნქციის set_i2c_address() ფუნქციის გამოყენებით.
  5. აწიეთ მოწყობილობის LPn პინი, რომელიც არ არის დაპროგრამებული.

ყველა მოწყობილობა ახლა ხელმისაწვდომი უნდა იყოს I²C ავტობუსში. გაიმეორეთ ზემოაღნიშნული ნაბიჯები სისტემის ყველა VL53L5CX მოწყობილობებისთვის, რომლებიც საჭიროებენ ახალ I²C მისამართს.

პაკეტის შინაარსი და მონაცემთა ნაკადი

დრაივერის არქიტექტურა და შინაარსი

VL53L5CX ULD პაკეტი შედგება ოთხი საქაღალდისგან. დრაივერი მდებარეობს საქაღალდეში / VL53L5CX_ULD_API.
მძღოლი შედგება სავალდებულო და სურვილისამებრ fileს. სურვილისამებრ fileს არის plugins გამოიყენება ULD ფუნქციების გაფართოებისთვის.
თითოეული დანამატი იწყება სიტყვით „vl53l5cx_plugin“ (მაგ. vl53l5cx_plugin_xtalk.h). თუ მომხმარებელს არ სურს შემოთავაზებული plugins, მათი ამოღება შესაძლებელია დრაივერის სხვა ფუნქციებზე ზემოქმედების გარეშე. შემდეგი ფიგურა წარმოადგენს სავალდებულოს files და სურვილისამებრ plugins.
დრაივერის არქიტექტურა და შინაარსი

მომხმარებელმა ასევე უნდა განახორციელოს ორი files მდებარეობს /Platform საქაღალდეში. შემოთავაზებული პლატფორმა არის ცარიელი გარსი და უნდა იყოს სავსე გამოყოფილი ფუნქციებით.

შენიშვნა: პლატფორმა.თ file შეიცავს სავალდებულო მაკროებს ULD-ის გამოსაყენებლად. Ყველა file შინაარსი სავალდებულოა ULD-ის სწორად გამოყენებისთვის.

კალიბრაციის ნაკადი

Crosstalk (Xtalk) განისაზღვრება, როგორც SPAD მასივზე მიღებული სიგნალის რაოდენობა, რომელიც გამოწვეულია VCSEL სინათლის არეკვით მოდულის თავზე დამატებული დამცავი ფანჯრის შიგნით (საფარი მინა). VL53L5CX მოდული არის თვითკალიბრირებული და მისი გამოყენება შესაძლებელია ყოველგვარი დამატებითი კალიბრაციის გარეშე.

შეიძლება საჭირო გახდეს Crosstalk-ის კალიბრაცია, თუ მოდული დაცულია საფარის შუშით. VL53L5CX ჰისტოგრამის ალგორითმის წყალობით 60 სმ-ს მიღმა ჯვარედინი საუბრისადმი იმუნურია. თუმცა, 60 სმ-ზე დაბალ დისტანციებზე, Xtalk შეიძლება იყოს უფრო დიდი ვიდრე რეალურად დაბრუნებული სიგნალი. ეს იძლევა ცრუ სამიზნის კითხვას ან სამიზნეებს უფრო ახლოს აჩენს, ვიდრე სინამდვილეში არიან. ყველა crosstalk კალიბრაციის ფუნქცია შედის Xtalk დანამატში (სურვილისამებრ). მომხმარებელმა უნდა გამოიყენოს file 'vl53l5cx_plugin_xtalk'.

შეჯვარების დაკალიბრება შესაძლებელია ერთხელ და მონაცემების შენახვა შესაძლებელია შემდგომში მისი ხელახლა გამოყენების მიზნით. საჭიროა სამიზნე ფიქსირებულ მანძილზე, ცნობილი არეკვლით. მინიმალური საჭირო მანძილი არის 600 მმ და სამიზნე უნდა მოიცავდეს მთელ FoV-ს. დაყენებიდან გამომდინარე, მომხმარებელს შეუძლია შეცვალოს პარამეტრები ჯვარედინი დაკალიბრების ადაპტირებისთვის, როგორც ეს მოცემულია შემდეგ ცხრილში.

მაგიდა 1. კალიბრაციის ხელმისაწვდომი პარამეტრები

დაყენება მინ შემოთავაზებული STMicroelectronics-ის მიერ მაქს
მანძილი [მმ] 600 600 3000
რაოდენობა სamples 1 4 16
არეკვლა [%] 1 3 99

შენიშვნა: ს-ების რაოდენობის გაზრდაamples ზრდის სიზუსტეს, მაგრამ ასევე ზრდის კალიბრაციის დროს. ს-ების რაოდენობასთან შედარებით დროamples არის წრფივი და მნიშვნელობები მიჰყვება მიახლოებით ვადას:

  • 1 წample ≈ 1 წამი
  • 4 წamples ≈ 2.5 წამი
  • 16 წamples ≈ 8.5 წამი

კალიბრაცია ხორციელდება vl53l5cx_calibrate_xtalk() ფუნქციის გამოყენებით. ამ ფუნქციის გამოყენება შესაძლებელია ნებისმიერ დროს. თუმცა, ჯერ სენსორის ინიციალიზაცია უნდა მოხდეს. შემდეგი ფიგურა წარმოადგენს ჯვარედინი კალიბრაციის ნაკადს.
კალიბრაციის ნაკადი

დიაპაზონი ნაკადი

შემდეგი ფიგურა წარმოადგენს დიაპაზონის ნაკადს, რომელიც გამოიყენება გაზომვების მისაღებად. Xtalk-ის კალიბრაცია და არჩევითი ფუნქციის ზარები უნდა იქნას გამოყენებული დიაპაზონის სესიის დაწყებამდე. მიიღეთ/დააყენეთ ფუნქციები არ შეიძლება გამოყენებულ იქნას დიაპაზონის სესიის დროს და "ფრენაზე" პროგრამირება არ არის მხარდაჭერილი.
დიაპაზონი ნაკადი

ხელმისაწვდომი ფუნქციები

VL53L5CX ULD API მოიცავს რამდენიმე ფუნქციას, რომელიც საშუალებას აძლევს მომხმარებელს დააკონფიგურიროს სენსორი, გამოყენების შემთხვევიდან გამომდინარე. დრაივერისთვის ხელმისაწვდომი ყველა ფუნქცია აღწერილია შემდეგ განყოფილებებში.

ინიციალიზაცია
ინიციალიზაცია უნდა გაკეთდეს VL53L5CX სენსორის გამოყენებამდე. ეს ოპერაცია მომხმარებლისგან მოითხოვს:

  1. ჩართეთ სენსორი (VDDIO, AVDD, LPn ქინძისთავები დაყენებულია High-ზე და PIN I2C_RST დაყენებულია 0-ზე)
  2. გამოიძახეთ ფუნქცია vl53l5cx_init(). ფუნქცია აკოპირებს firmware-ს (~84 Kbytes) მოდულში. ეს კეთდება კოდის I²C ინტერფეისის ჩატვირთვით და ჩატვირთვის რუტინის შესრულებით ინიციალიზაციის დასასრულებლად.

სენსორის გადატვირთვის მართვა

მოწყობილობის გადატვირთვისთვის საჭიროა შემდეგი ქინძისთავების გადართვა:

  1. დააყენეთ VDDIO, AVDD და LPn ქინძისთავები დაბალზე.
  2. დაელოდეთ 10 ms.
  3. დააყენეთ ქინძისთავები VDDIO, AVDD და LPn ქინძისთავები მაღალზე.

შენიშვნა: მხოლოდ I2C_RST პინის გადართვა აღადგენს I²C კომუნიკაციას.

რეზოლუცია

გარჩევადობა შეესაბამება ხელმისაწვდომი ზონების რაოდენობას. VL53L5CX სენსორს აქვს ორი შესაძლო გარჩევადობა: 4×4 (16 ზონა) და 8×8 (64 ზონა). ნაგულისხმევად სენსორი დაპროგრამებულია 4×4.
ფუნქცია vl53l5cx_set_resolution() საშუალებას აძლევს მომხმარებელს შეცვალოს გარჩევადობა. ვინაიდან დიაპაზონის სიხშირე დამოკიდებულია გარჩევადობაზე, ეს ფუნქცია უნდა იქნას გამოყენებული დიაპაზონის სიხშირის განახლებამდე. გარდა ამისა, გარჩევადობის შეცვლა ასევე ზრდის ტრაფიკის ზომას I²C ავტობუსზე, როდესაც შედეგები იკითხება.

დიაპაზონის სიხშირე

დიაპაზონის სიხშირე შეიძლება გამოყენებულ იქნას გაზომვის სიხშირის შესაცვლელად. ვინაიდან მაქსიმალური სიხშირე განსხვავდება 4×4 და 8×8 რეზოლუციებს შორის, ეს ფუნქცია უნდა იქნას გამოყენებული გარჩევადობის არჩევის შემდეგ. მინიმალური და მაქსიმალური დასაშვები მნიშვნელობები მოცემულია შემდეგ ცხრილში.

მაგიდა 2. მინიმალური და მაქსიმალური დიაპაზონის სიხშირეები

რეზოლუცია მინიმალური დიაპაზონის სიხშირე [Hz] მაქსიმალური დიაპაზონის სიხშირე [Hz]
4×4 1 60
8×8 1 15

დიაპაზონის სიხშირე შეიძლება განახლდეს ფუნქციის გამოყენებით vl53l5cx_set_ranging_frequency_hz(). ნაგულისხმევად, დიაპაზონის სიხშირე დაყენებულია 1 ჰც-ზე.

დიაპაზონის რეჟიმი

დიაპაზონის რეჟიმი საშუალებას აძლევს მომხმარებელს აირჩიოს მაღალი ხარისხის ან დაბალი ენერგიის მოხმარება შორის. შემოთავაზებულია ორი რეჟიმი:

  • უწყვეტი: მოწყობილობა მუდმივად იჭერს ჩარჩოებს მომხმარებლის მიერ განსაზღვრული დიაპაზონის სიხშირით. VCSEL ჩართულია ყველა დიაპაზონის დროს, ამიტომ მაქსიმალური დისტანცია და ატმოსფერული იმუნიტეტი უკეთესია. ეს რეჟიმი რეკომენდირებულია სწრაფი დიაპაზონის გაზომვებისთვის ან მაღალი შესრულებისთვის.
  • ავტონომიური: ეს არის ნაგულისხმევი რეჟიმი. მოწყობილობა მუდმივად იჭერს ჩარჩოებს მომხმარებლის მიერ განსაზღვრული დიაპაზონის სიხშირით. VCSEL ჩართულია მომხმარებლის მიერ განსაზღვრულ პერიოდში vl53l5cx_set_integration_time_ms() ფუნქციის გამოყენებით. ვინაიდან VCSEL ყოველთვის არ არის ჩართული, ენერგიის მოხმარება მცირდება. სარგებელი უფრო აშკარაა დიაპაზონის შემცირებული სიხშირით. ეს რეჟიმი რეკომენდირებულია დაბალი სიმძლავრის აპლიკაციებისთვის.

დიაპაზონის რეჟიმი შეიძლება შეიცვალოს ფუნქციის გამოყენებით vl53l5cx_set_ranging_mode().

ინტეგრაციის დრო

ინტეგრაციის დრო არის ფუნქცია, რომელიც ხელმისაწვდომია მხოლოდ ავტონომიური დიაპაზონის რეჟიმის გამოყენებით (იხილეთ განყოფილება 4.5: დიაპაზონის რეჟიმი). ის საშუალებას აძლევს მომხმარებელს შეცვალოს დრო, სანამ VCSEL ჩართულია. ინტეგრაციის დროის შეცვლა, თუ დიაპაზონის რეჟიმი დაყენებულია უწყვეტზე, არ მოქმედებს. ნაგულისხმევი ინტეგრაციის დრო დაყენებულია 5 ms.
ინტეგრაციის დროის ეფექტი განსხვავებულია 4×4 და 8×8 რეზოლუციებისთვის. რეზოლუცია 4×4 შედგება ერთი ინტეგრაციის დროისგან, ხოლო 8×8 გარჩევადობა შედგება ოთხი ინტეგრაციის დროისგან. შემდეგი ფიგურები წარმოადგენს VCSEL ემისიას ორივე რეზოლუციისთვის.
ინტეგრაციის დრო

ყველა ინტეგრაციის დროის ჯამი + 1 ms ზედნადები უნდა იყოს უფრო დაბალი ვიდრე გაზომვის პერიოდი. წინააღმდეგ შემთხვევაში, დიაპაზონის პერიოდი ავტომატურად იზრდება.

დენის რეჟიმები

დენის რეჟიმები შეიძლება გამოყენებულ იქნას ენერგიის მოხმარების შესამცირებლად, როდესაც მოწყობილობა არ არის გამოყენებული. VL53L5CX-ს შეუძლია იმუშაოს ერთ-ერთ შემდეგ დენის რეჟიმში:

  • გაღვიძება: მოწყობილობა დაყენებულია HP უმოქმედო რეჟიმში (მაღალი სიმძლავრე), ელოდება ინსტრუქციებს.
  • ძილი: მოწყობილობა დაყენებულია LP უმოქმედო მდგომარეობაში (დაბალი სიმძლავრე), დაბალი სიმძლავრის მდგომარეობაში. მოწყობილობის გამოყენება შეუძლებელია გაღვიძების რეჟიმში დაყენებამდე.

ეს რეჟიმი ინარჩუნებს პროგრამულ უზრუნველყოფას და კონფიგურაციას.
კვების რეჟიმის შეცვლა შესაძლებელია ფუნქციის გამოყენებით vl53l5cx_set_power_mode(). ნაგულისხმევი რეჟიმი არის გაღვიძება.

შენიშვნა: თუ მომხმარებელს სურს კვების რეჟიმის შეცვლა, მოწყობილობა არ უნდა იყოს დისტანციურ მდგომარეობაში.

სათლელი

სამიზნიდან დაბრუნებული სიგნალი არ არის სუფთა პულსი მკვეთრი კიდეებით. კიდეები შორდება და შეიძლება გავლენა იქონიოს მიმდებარე ზონებში მოხსენებულ დისტანციებზე. სათლელი გამოიყენება ფარდის ელვარებით გამოწვეული სიგნალის ნაწილის ან მთლიანად მოსაშორებლად.

ყოფილმაampქვემოთ მოცემულ ფიგურაში ნაჩვენებია ახლო სამიზნე 100 მმ-ზე, რომელიც ორიენტირებულია FoV-ზე და სხვა სამიზნე, უფრო უკან, 500 მმ-ზე. სიმკვეთრის მნიშვნელობიდან გამომდინარე, ახლო სამიზნე შეიძლება გამოჩნდეს რეალურზე მეტ ზონაში.
სათლელი

სიმკვეთრის შეცვლა შესაძლებელია ფუნქციის გამოყენებით vl53l5cx_set_sharpener_percent(). დასაშვები მნიშვნელობებია 0%-დან 99%-მდე. ნაგულისხმევი მნიშვნელობა არის 5%.

მიზნობრივი შეკვეთა

VL53L5CX-ს შეუძლია გაზომოს რამდენიმე სამიზნე ზონაში. ჰისტოგრამის დამუშავების წყალობით, მასპინძელს შეუძლია აირჩიოს მოხსენებული სამიზნეების თანმიმდევრობა. არსებობს ორი ვარიანტი:

  • უახლოესი: უახლოესი სამიზნე არის პირველი მოხსენებული
  • უძლიერესი: უძლიერესი სამიზნე არის პირველი მოხსენებული

სამიზნე თანმიმდევრობა შეიძლება შეიცვალოს ფუნქციის გამოყენებით vl53l5cx_set_target_order(). ნაგულისხმევი ბრძანება არის უძლიერესი.

ყოფილმაample შემდეგ სურათზე წარმოადგენს ორი სამიზნის აღმოჩენას. ერთი 100 მმ-ზე დაბალი არეკვლით და მეორე 700 მმ-ზე მაღალი არეკვლით.

მიზნობრივი შეკვეთა

რამდენიმე სამიზნე ზონაში

VL53L5CX შეუძლია გაზომოს ოთხამდე სამიზნე ზონაში. მომხმარებელს შეუძლია სენსორის მიერ დაბრუნებული სამიზნეების რაოდენობის კონფიგურაცია.

შენიშვნა: ორ სამიზნეს შორის მინიმალური მანძილი არის 600 მმ.

მძღოლისგან შერჩევა შეუძლებელია; ეს უნდა გაკეთდეს "Platform.h"-ში file. მაკრო VL53L5CX_NB_ TARGET_PER_ZONE უნდა დაყენდეს მნიშვნელობებზე 1-დან 4-მდე. 4.9-ში აღწერილი სამიზნე რიგი: სამიზნე ბრძანება პირდაპირ გავლენას ახდენს აღმოჩენილი სამიზნეების თანმიმდევრობაზე. ნაგულისხმევად, სენსორი გამოსცემს მხოლოდ მაქსიმუმ ერთ სამიზნეს ზონაში.

შენიშვნა: სამიზნეების გაზრდილი რაოდენობა ზონაში ზრდის RAM-ის საჭირო ზომას

Xtalk ზღვარი

Xtalk ზღვარი არის დამატებითი ფუნქცია, რომელიც ხელმისაწვდომია მხოლოდ მოდულის Xtalk გამოყენებით. .c და .f files 'vl53l5cx_plugin_xtalk' უნდა იქნას გამოყენებული.

ზღვარი გამოიყენება გამოვლენის ზღურბლის შესაცვლელად, როდესაც სენსორის თავზე არის საფარის მინა. ბარიერი შეიძლება გაიზარდოს, რათა თავიდან იქნას აცილებული საფარის შუშა, ჯვარედინი კალიბრაციის მონაცემების დაყენების შემდეგ. მაგampასე რომ, მომხმარებელს შეუძლია აწარმოოს ჯვარედინი კალიბრაცია ერთ მოწყობილობაზე და ხელახლა გამოიყენოს იგივე კალიბრაციის მონაცემები ყველა სხვა მოწყობილობისთვის. Xtalk ზღვარი შეიძლება გამოყენებულ იქნას ჯვარედინი შესწორების დასარეგულირებლად. ქვემოთ მოყვანილი ფიგურა წარმოადგენს Xtalk ზღვარს.
Xtalk ზღვარი

გამოვლენის ზღურბლები

რეგულარული დიაპაზონის შესაძლებლობების გარდა, სენსორი შეიძლება დაპროგრამდეს ობიექტის აღმოსაჩენად გარკვეული წინასწარ განსაზღვრული კრიტერიუმებით. ეს ფუნქცია ხელმისაწვდომია მოდულის „გამოვლენის ზღურბლების“ გამოყენებით, რაც არის ვარიანტი, რომელიც ნაგულისხმევად არ შედის API-ში. The fileუნდა იქნას გამოყენებული s სახელწოდებით 'vl53l5cx_plugin_detection_thresholds'.
ფუნქცია შეიძლება გამოყენებულ იქნას A3 (INT) დამაგრების შეფერხების გასააქტიურებლად, როდესაც მომხმარებლის მიერ განსაზღვრული პირობები დაკმაყოფილებულია. არსებობს სამი შესაძლო კონფიგურაცია:

  • გარჩევადობა 4×4: თითო ზონაში ერთი ბარიერის გამოყენება (სულ 16 ბარიერი)
  • გარჩევადობა 4×4: ორი ზღურბლის გამოყენება ზონაში (სულ 32 ბარიერი)
  • გარჩევადობა 8×8: თითო ზონაში ერთი ბარიერის გამოყენება (სულ 64 ბარიერი)
    როგორიც არ უნდა იყოს გამოყენებული კონფიგურაცია, ზღურბლების შექმნის პროცედურა და ოპერატიული მეხსიერების ზომა იგივეა. თითოეული ზღურბლის კომბინაციისთვის საჭიროა რამდენიმე ველის შევსება:
  • ზონის id: არჩეული ზონის id (იხილეთ ნაწილი 2.2: ეფექტური ორიენტაცია)
  • გაზომვა: გაზომვა დასაჭერად (დისტანცია, სიგნალი, SPAD-ების რაოდენობა, ...)
  • ტიპი: საზომი ფანჯრები (ფანჯრებში, ფანჯრებიდან, დაბალი ზღურბლის ქვემოთ, ...)
  • დაბალი ბარიერი: ტრიგერის დაბალი ზღურბლის მომხმარებელი. მომხმარებელს არ სჭირდება ფორმატის დაყენება, მას ავტომატურად ამუშავებს API.
  • მაღალი ბარიერი: ტრიგერის მაღალი ბარიერი მომხმარებელი. მომხმარებელს არ სჭირდება ფორმატის დაყენება; მას ავტომატურად მართავს API.
  • მათემატიკური მოქმედება: გამოიყენება მხოლოდ 4×4 – 2 ბარიერის კომბინაციისთვის ზონაში. მომხმარებელს შეუძლია დააყენოს კომბინაცია რამდენიმე ზღურბლის გამოყენებით ერთ ზონაში.

მოძრაობის მაჩვენებელი

VL53L5CX სენსორს აქვს ჩაშენებული პროგრამული უზრუნველყოფის ფუნქცია, რომელიც საშუალებას აძლევს მოძრაობის გამოვლენას სცენაზე. მოძრაობის ინდიკატორი გამოითვლება თანმიმდევრულ კადრებს შორის. ეს ვარიანტი ხელმისაწვდომია plugin'vl53l5cx_plugin_motion_indicator'-ის გამოყენებით.

მოძრაობის ინდიკატორის ინიციალიზაცია ხდება vl53l5cx_motion_indicator_init() ფუნქციის გამოყენებით. სენსორის გარჩევადობის შესაცვლელად განაახლეთ მოძრაობის ინდიკატორის გარჩევადობა გამოყოფილი ფუნქციის გამოყენებით: vl53l5cx_motion_indicator_set_resolution().

მომხმარებელს ასევე შეუძლია შეცვალოს მინიმალური და მაქსიმალური მანძილი მოძრაობის აღმოსაჩენად. მინიმალურ და მაქსიმალურ დისტანციებს შორის სხვაობა არ შეიძლება იყოს 1500 მმ-ზე მეტი. ნაგულისხმევად, დისტანციები ინიციალიზებულია 400 მმ-დან 1500 მმ-მდე მნიშვნელობებით.

შედეგები ინახება ველში 'motion_indicator'. ამ ველში მასივი 'motion' იძლევა მნიშვნელობას, რომელიც შეიცავს მოძრაობის ინტენსივობას ზონაში. მაღალი მნიშვნელობა მიუთითებს კადრებს შორის მოძრაობის მაღალ ვარიაციებზე. ტიპიური მოძრაობა იძლევა მნიშვნელობას 100-დან 500-მდე. ეს მგრძნობელობა დამოკიდებულია ინტეგრაციის დროზე, სამიზნე მანძილზე და სამიზნის არეკვლაზე.

იდეალური კომბინაცია დაბალი სიმძლავრის აპლიკაციებისთვის არის მოძრაობის ინდიკატორის გამოყენება ავტონომიური დიაპაზონის რეჟიმით და მოძრაობაზე დაპროგრამებული ამოცნობის ზღურბლებით. ეს საშუალებას იძლევა გამოავლინოს მოძრაობის ვარიაციები FoV-ში მინიმალური ენერგიის მოხმარებით.

პერიოდული ტემპერატურის კომპენსაცია

დიაპაზონის შესრულებაზე გავლენას ახდენს ტემპერატურის ცვალებადობა. VL53L5CX სენსორში ჩაშენებულია ტემპერატურის კომპენსაცია, რომელიც კალიბრირებულია ერთხელ ნაკადის დაწყებისას. თუმცა, თუ ტემპერატურა განვითარდება, კომპენსაცია შეიძლება არ შეესაბამებოდეს ახალ ტემპერატურას. ამ პრობლემის თავიდან ასაცილებლად, მომხმარებელს შეუძლია განახორციელოს ტემპერატურის პერიოდული კომპენსაცია ავტო VHV-ის გამოყენებით. პერიოდული ტემპერატურის კალიბრაციას რამდენიმე მილიწამი სჭირდება. მომხმარებელს შეუძლია განსაზღვროს პერიოდი.

ამ ფუნქციის გამოსაყენებლად მომხმარებელს სჭირდება:

• გამოიძახეთ ფუნქცია vl53l5cx_set_VHV_repeat_count().
• შემდეგ, არგუმენტად მიეცით კადრების რაოდენობა ყოველ ახალ კალიბრაციას შორის.

თუ არგუმენტი არის 0, კომპენსაცია გამორთულია.

შედეგების დიაპაზონი

ხელმისაწვდომი მონაცემები

სამიზნე და გარემოს მონაცემების ვრცელი სია შეიძლება გამოვიდეს არეალის აქტივობების დროს. შემდეგი ცხრილი აღწერს მომხმარებლისთვის ხელმისაწვდომ პარამეტრებს.

მაგიდა 3. ხელმისაწვდომი გამოსავალი VL53L5CX სენსორის გამოყენებით

ელემენტი Nb ბაიტი (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 x რიცხვითი სამიზნე პროცენტი სავარაუდო სამიზნე ასახვა პროცენტებში
მოძრაობის მაჩვენებელი 140 არცერთი სტრუქტურა, რომელიც შეიცავს მოძრაობის ინდიკატორის შედეგებს. ველი „მოძრაობა“ შეიცავს მოძრაობის ინტენსივობას.

შენიშვნა: რამდენიმე ელემენტისთვის (სიგნალი თითო სპადზე, სიგმაზე,…) მონაცემებზე წვდომა განსხვავებულია, თუ მომხმარებელს აქვს დაპროგრამებული ერთზე მეტი სამიზნე ზონაში (იხ. განყოფილება 4.10: მრავალი სამიზნე ზონაში). იხample კოდები დამატებითი ინფორმაციისთვის.

გამომავალი არჩევანის მორგება

ნაგულისხმევად, ყველა VL53L5CX გამომავალი ჩართულია. საჭიროების შემთხვევაში, მომხმარებელს შეუძლია გამორთოს ზოგიერთი სენსორის გამოსავალი.
გაზომვების გამორთვა არ არის ხელმისაწვდომი დრაივერზე; ის უნდა შესრულდეს "Platform.h"-ში file. მომხმარებელს შეუძლია გამოაცხადოს შემდეგი მაკროები, რათა გამორთოს შედეგები:
#define VL53L5CX_DISABLE_AMBIENT_PER_SPAD
#define VL53L5CX_DISABLE_NB_SPADS_ENABLED
#define VL53L5CX_DISABLE_NB_TARGET_DETECTED
#define VL53L5CX_DISABLE_SIGNAL_PER_SPAD
#define VL53L5CX_DISABLE_RANGE_SIGMA_MM
#define VL53L5CX_DISABLE_DISTANCE_MM
#define VL53L5CX_DISABLE_TARGET_STATUS
#define VL53L5CX_DISABLE_REFLECTANCE_PERCENT
#define VL53L5CX_DISABLE_MOTION_INDICATOR

შესაბამისად, ველები არ არის დეკლარირებული შედეგების სტრუქტურაში და მონაცემები არ გადადის ჰოსტში. RAM-ის ზომა და I²C ზომა შემცირებულია.
მონაცემთა თანმიმდევრულობის უზრუნველსაყოფად ST ყოველთვის გირჩევთ ჩართოთ „გამოვლენილი სამიზნეების რაოდენობა“ და „სამიზნე სტატუსი“. ეს ფილტრავს გაზომვებს სამიზნე სტატუსის მიხედვით (იხილეთ ნაწილი 5.5: შედეგების ინტერპრეტაცია).

მრავალფეროვანი შედეგების მიღება

დიაპაზონის სესიის დროს, არსებობს ორი გზა იმის გასაგებად, არის თუ არა ახალი დიაპაზონის მონაცემები ხელმისაწვდომი:

  • გამოკითხვის რეჟიმი: განუწყვეტლივ იყენებს ფუნქციას vl53l5cx_check_data_ready(). ის ამოიცნობს სენსორის მიერ დაბრუნებულ ნაკადების ახალ რაოდენობას.
  • შეფერხების რეჟიმი: ელოდება A3-ზე (GPIO1) გაჩენილ შეწყვეტას. შეფერხება ავტომატურად იშლება ~ 100 μs-ის შემდეგ.

როდესაც ახალი მონაცემები მზად იქნება, შედეგების წაკითხვა შესაძლებელია ფუნქციის გამოყენებით vl53l5cx_get_ranging_data(). ის აბრუნებს განახლებულ სტრუქტურას, რომელიც შეიცავს ყველა შერჩეულ გამომავალს. იმის გამო, რომ მოწყობილობა ასინქრონულია, არ არის შეფერხება, რათა გააგრძელოს დიაპაზონი.
ეს ფუნქცია ხელმისაწვდომია როგორც უწყვეტი, ასევე ავტონომიური დიაპაზონის რეჟიმში.

ნედლეული firmware ფორმატის გამოყენება

I²C-ის მეშვეობით დიაპაზონის მონაცემების გადაცემის შემდეგ, ხდება კონვერტაცია firmware ფორმატსა და მასპინძლის ფორმატს შორის. ეს ოპერაცია, როგორც წესი, შესრულებულია იმისთვის, რომ ჰქონდეს დიაპაზონი მილიმეტრებში, როგორც სენსორის ნაგულისხმევი გამოსავალი. თუ მომხმარებელს სურს გამოიყენოს firmware ფორმატი, შემდეგი მაკრო უნდა განისაზღვროს პლატფორმაზე file: VL53L5CX
#define VL53L5CX_USE_RAW_FORMAT

შედეგების ინტერპრეტაცია

VL53L5CX-ის მიერ დაბრუნებული მონაცემები შეიძლება გაფილტრული იყოს სამიზნე სტატუსის გასათვალისწინებლად. სტატუსი მიუთითებს გაზომვის ვალიდობაზე. სრული სტატუსის სია აღწერილია შემდეგ ცხრილში.

მაგიდა 4. ხელმისაწვდომი სამიზნე სტატუსის სია

სამიზნე სტატუსი აღწერა
0 დიაპაზონის მონაცემები არ განახლდება
1 სიგნალის სიხშირე ძალიან დაბალია SPAD მასივზე
2 სამიზნე ფაზა
3 სიგმას შემფასებელი ძალიან მაღალია
4 სამიზნე თანმიმდევრულობა ვერ მოხერხდა
5 დიაპაზონი მოქმედებს
6 შეფუთვა არ არის შესრულებული (როგორც წესი, პირველი დიაპაზონი)
7 შეფასების თანმიმდევრულობა ვერ მოხერხდა
8 სიგნალის სიხშირე ძალიან დაბალია მიმდინარე მიზნისთვის
9 დიაპაზონი მოქმედებს დიდი პულსით (შეიძლება იყოს გაერთიანებული სამიზნის გამო)
10 დიაპაზონი მოქმედებს, მაგრამ წინა დიაპაზონში სამიზნე არ არის აღმოჩენილი
11 გაზომვის თანმიმდევრულობა ვერ მოხერხდა
12 სამიზნე დაბინდულია სხვა სამიზნით, სიმკვეთრის გამო
13 სამიზნე აღმოჩენილია, მაგრამ არათანმიმდევრული მონაცემები. ხშირად ხდება მეორადი მიზნებისთვის.
255 სამიზნე არ არის აღმოჩენილი (მხოლოდ იმ შემთხვევაში, თუ აღმოჩენილი სამიზნეების რაოდენობა ჩართულია)

თანმიმდევრული მონაცემების მისაღებად, მომხმარებელმა უნდა გაფილტროს არასწორი სამიზნე სტატუსი. ნდობის რეიტინგის მისაცემად, მე-5 სტატუსის მქონე სამიზნე ითვლება 100%-იან ძალაში. სტატუსი 6 ან 9 შეიძლება ჩაითვალოს ნდობის ღირებულებით 50%. ყველა სხვა სტატუსი 50%-იანი ნდობის დონეზე დაბალია.

მძღოლის შეცდომები

როდესაც შეცდომა ხდება VL53L5CX სენსორის გამოყენებით, დრაივერი აბრუნებს კონკრეტულ შეცდომას. შემდეგ ცხრილში მოცემულია შესაძლო შეცდომები.

მაგიდა 5. დრაივერის გამოყენებით ხელმისაწვდომი შეცდომების სია

სამიზნე სტატუსი აღწერა
0 არანაირი შეცდომა
 

127

მომხმარებელმა დააპროგრამა არასწორი პარამეტრი

(უცნობი გარჩევადობა, დიაპაზონის სიხშირე ძალიან მაღალი, ...)

255 მთავარი შეცდომა. ჩვეულებრივ, დროის ამოწურვის შეცდომა, I²C შეცდომის გამო.
სხვა ზემოთ აღწერილი მრავალი შეცდომის კომბინაცია

შენიშვნა: მასპინძელს შეუძლია შეცდომის მეტი კოდის დანერგვა პლატფორმის გამოყენებით files.

გადასინჯვის ისტორია 

მაგიდა 6. დოკუმენტის გადასინჯვის ისტორია

თარიღი ვერსია ცვლილებები
21-ივნ-2021 1 თავდაპირველი გამოშვება
30-აგვ-2021 2 დამატებულია განყოფილება 5.4: ნედლი პროგრამული უზრუნველყოფის ფორმატის გამოყენება

დამატებულია ახალი სამიზნე სტატუსი 13 ინჩი ცხრილი 4. ხელმისაწვდომი სამიზნე სტატუსის სია

05-სექ-2022 3 დამატებულია შენიშვნა სამიზნეებს შორის მინიმალური მინიმალური მანძილის შესახებ განყოფილება 4.10: მრავალი სამიზნე ზონაში
10-აგვ-2023 4 შეცვლილია სურათი 11. გამampჰისტოგრამა ორი სამიზნით
21-თებ-2024 5 დამატებულია 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 VL53L5CX ფრენის დროის მრავალზონიანი სენსორი [pdf] მომხმარებლის სახელმძღვანელო
VL53L5CX ფრენის დაშორების დროის მრავალზონიანი სენსორი, VL53L5CX, ფრენის დაშორების დროის მრავალზონიანი სენსორი, ფრენის დაშორების სენსორი, ფრენის დაშორების სენსორი, ფრენის დაშორების სენსორი, სენსორი

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *