ST - ლოგოVL53L8CX სენსორის მოდული
მომხმარებლის სახელმძღვანელო

შესავალი

ამ მომხმარებლის სახელმძღვანელოს მიზანია ახსნას, თუ როგორ უნდა დამუშავდეს VL53L8X ფრენის დროის სენსორი (ToF) ულტრა ლაით დრაივერის (ULD) API-ს გამოყენებით. იგი აღწერს მოწყობილობის დაპროგრამების ძირითად ფუნქციებს, კალიბრაციას და გამომავალ შედეგებს.
ST-ის FlightSense ტექნოლოგიაზე დაფუძნებული, VL53L8CX აერთიანებს ეფექტურ მეტაზედაპირულ ლინზას (DOE), რომელიც მოთავსებულია ლაზერულ ემიტერზე, რაც საშუალებას აძლევს 45° x 45° კვადრატული FoV პროექციას სცენაზე.
მისი მრავალზონიანი შესაძლებლობა უზრუნველყოფს 8×8 ზონის მატრიცას (64 ზონა) და შეუძლია იმუშაოს სწრაფ სიჩქარეზე (60 ჰც) 400 სმ-მდე.
ავტონომიური რეჟიმის წყალობით პროგრამირებადი მანძილის ზღურბლით, VL53L8CX შესანიშნავია ნებისმიერი აპლიკაციისთვის, რომელიც მოითხოვს მომხმარებლის დაბალი სიმძლავრის ამოცნობას. ST-ის დაპატენტებული ალგორითმები და მოდულის ინოვაციური კონსტრუქცია საშუალებას აძლევს VL53L8CX-ს აღმოაჩინოს, თითოეულ ზონაში, მრავალი ობიექტი FoV-ში სიღრმისეული გაგებით. ST ჰისტოგრამის ალგორითმები უზრუნველყოფენ საფარის შუშის ჯვარედინი იმუნიტეტს 60 სმ-ზე მეტი.
ST-ის FlightSense ტექნოლოგიაზე დაფუძნებული ყველა დროის ფრენის (ToF) სენსორის მსგავსად, VL53L8CX აღრიცხავს თითოეულ ზონაში აბსოლუტურ მანძილს სამიზნე ფერისა და არეკვლის მიუხედავად.
მოთავსებულია მინიატურულ ხელახლა გაშვებულ პაკეტში, რომელიც აერთიანებს SPAD მასივს, VL53L8CX აღწევს საუკეთესო შესრულებას ატმოსფერული განათების სხვადასხვა პირობებში და საფარის მინის მასალების ფართო სპექტრისთვის.
ST-ის ყველა ToF სენსორი აერთიანებს VCSEL-ს, რომელიც ასხივებს სრულიად უხილავ 940 ნმ IR შუქს, რომელიც სრულიად უსაფრთხოა თვალებისთვის (კლასი 1 სერთიფიკატი).

ST VL53L8CX სენსორის მოდული - სურათი 1

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

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

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

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

ST VL53L8CX სენსორის მოდული - სურათი 2

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

ST VL53L8CX სენსორის მოდული - სურათი 3

2.3 სქემები და I2C/SPI კონფიგურაცია
დრაივერსა და პროგრამულ პროგრამას შორის კომუნიკაციას მართავს I2C ან SPI. I2C-ის მაქსიმალური სიმძლავრეა 1 MHz, ხოლო SPI-ის მაქსიმალური შესაძლებლობები 20 MHz. თითოეული საკომუნიკაციო პროტოკოლის დანერგვა მოითხოვს ამოღებას, როგორც ეს აღწერილია VL53L8CX მონაცემთა ფურცელში.
VL53L8CX მოწყობილობას აქვს ნაგულისხმევი I2C მისამართი 0x52. თუმცა, შესაძლებელია ნაგულისხმევი მისამართის შეცვლა სხვა მოწყობილობებთან კონფლიქტის თავიდან ასაცილებლად ან სისტემაში მრავალი VL53L8CX მოდულის დამატება უფრო დიდი სისტემისთვის FoV-სთვის. I2C მისამართის შეცვლა შესაძლებელია vl53l8cx_set_i2c_address() ფუნქციის გამოყენებით. SPI-ის გამოსაყენებლად, მულტისენსორი დამაგრებულია დამოუკიდებელი სლავის კონფიგურაციის გამოყენებით (NCS pin).

ST VL53L8CX სენსორის მოდული - სურათი 4ST VL53L8CX სენსორის მოდული - სურათი 5

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

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

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

3.1 დრაივერის არქიტექტურა და შინაარსი
VL53L8CX ULD პაკეტი შედგება ოთხი საქაღალდისგან. დრაივერი მდებარეობს საქაღალდეში /VL53L8CX_ULD_API.
მძღოლი შედგება სავალდებულო და სურვილისამებრ fileს. სურვილისამებრ fileს არის plugins გამოიყენება ULD ფუნქციების გაფართოებისთვის.
თითოეული დანამატი იწყება სიტყვით „vl53l8cx_plugin“ (მაგ. vl53l8cx_plugin_xtalk.h). თუ მომხმარებელს არ სურს შემოთავაზებული plugins, მათი ამოღება შესაძლებელია დრაივერის სხვა ფუნქციებზე ზემოქმედების გარეშე. შემდეგი ფიგურა წარმოადგენს სავალდებულოს files და სურვილისამებრ plugins.ST VL53L8CX სენსორის მოდული - სურათი 6

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

3.2 კალიბრაციის ნაკადი
Crosstalk (Xtalk) განისაზღვრება, როგორც SPAD მასივზე მიღებული სიგნალის რაოდენობა, რომელიც გამოწვეულია VCSEL სინათლის არეკვით მოდულის თავზე დამატებული დამცავი ფანჯრის შიგნით (საფარი მინა). VL53L8CX მოდული თვითდაკალიბრებულია და მისი გამოყენება შესაძლებელია დამატებითი კალიბრაციის გარეშე.
Xtalk-ის კალიბრაცია შეიძლება საჭირო გახდეს, თუ მოდული დაცულია საფარის შუშით. VL53L8CX არის იმუნური Xtalk-ის მიმართ 60 სმ-ზე მეტი ჰისტოგრამის ალგორითმის წყალობით. თუმცა, 60 სმ-ზე დაბალ დისტანციებზე, Xtalk შეიძლება იყოს უფრო დიდი ვიდრე რეალურად დაბრუნებული სიგნალი. ეს იძლევა ცრუ სამიზნის კითხვას ან სამიზნეებს უფრო ახლოს აჩენს, ვიდრე სინამდვილეში არიან. Xtalk კალიბრაციის ყველა ფუნქცია შედის Xtalk დანამატში (სურვილისამებრ). მომხმარებელმა უნდა გამოიყენოს file 'vl53l8cx_plugin_xtalk'.
Xtalk-ის დაკალიბრება შესაძლებელია ერთხელ და მონაცემების შენახვა შესაძლებელია შემდგომში მისი ხელახლა გამოყენების მიზნით. საჭიროა სამიზნე ფიქსირებულ მანძილზე, ცნობილი არეკვლით. მინიმალური საჭირო მანძილი არის 600 მმ და სამიზნე უნდა მოიცავდეს მთელ FoV-ს. დაყენებიდან გამომდინარე, მომხმარებელს შეუძლია შეცვალოს პარამეტრები Xtalk კალიბრაციის ადაპტირებისთვის, როგორც ეს მოცემულია შემდეგ ცხრილში.

ცხრილი 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 წამი
    კალიბრაცია ხორციელდება vl53l8cx_calibrate_xtalk() ფუნქციის გამოყენებით. ამ ფუნქციის გამოყენება შესაძლებელია ნებისმიერ დროს.
    თუმცა, ჯერ სენსორის ინიციალიზაცია უნდა მოხდეს. შემდეგი ფიგურა წარმოადგენს xtalk კალიბრაციის ნაკადს.

სურათი 7. Xtalk კალიბრაციის ნაკადი

ST VL53L8CX სენსორის მოდული - სურათი 7

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

ST VL53L8CX სენსორის მოდული - სურათი 8

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

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

  1. ჩართეთ სენსორი (VDDIO, AVDD, CORE_1V8 და LPn ქინძისთავები დაყენებულია მაღალზე
  2. გამოიძახეთ ფუნქცია vl53l8cx_init(). ფუნქცია აკოპირებს firmware-ს (~84 Kbytes) მოდულში. ეს კეთდება კოდის I2C/SPI ინტერფეისის ჩატვირთვით და ჩატვირთვის რუტინის შესრულებით ინიციალიზაციის დასასრულებლად.

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

  1. დააყენეთ VDDIO, AVDD და CORE_1V8 ქინძისთავები დაბალზე.
  2. დაელოდეთ 10 ms.
  3. დააყენეთ ქინძისთავები 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. მინიმალური და მაქსიმალური დიაპაზონის სიხშირეები

რეზოლუცია მინიმალური დიაპაზონის სიხშირე [Hz] მაქსიმალური დიაპაზონის სიხშირე [Hz]
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 ჩართულია. ინტეგრაციის დროის შეცვლა, თუ Ranging რეჟიმი დაყენებულია უწყვეტზე, არ მოქმედებს. ნაგულისხმევი ინტეგრაციის დრო დაყენებულია 5 ms.
ინტეგრაციის დროის ეფექტი განსხვავებულია 4×4 და 8×8 რეზოლუციებისთვის. რეზოლუცია 4×4 შედგება ერთი ინტეგრაციის დროისგან, ხოლო 8×8 გარჩევადობა შედგება ოთხი ინტეგრაციის დროისგან. შემდეგი ფიგურები წარმოადგენს VCSEL ემისიას ორივე რეზოლუციისთვის.

ST VL53L8CX სენსორის მოდული - სურათი 9

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

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

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

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

სურათი 11. Exampსცენა რამდენიმე სიმკვეთრის მნიშვნელობის გამოყენებით

ST VL53L8CX სენსორის მოდული - სურათი 10

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

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

  • უახლოესი: უახლოესი სამიზნე არის პირველი მოხსენებული
  • უძლიერესი: უძლიერესი სამიზნე არის პირველი მოხსენებული
    სამიზნე ბრძანება შეიძლება შეიცვალოს ფუნქციის გამოყენებით vl53l8cx_set_target_order(). ნაგულისხმევი ბრძანება არის უძლიერესი.
    ყოფილმაample შემდეგ სურათზე წარმოადგენს ორი სამიზნის აღმოჩენას. ერთი 100 მმ-ზე დაბალი არეკვლით და მეორე 700 მმ-ზე მაღალი არეკვლით.

ST VL53L8CX სენსორის მოდული - სურათი 11

4.10 მრავალი სამიზნე ზონაში
VL53L8CX შეუძლია გაზომოს ოთხამდე სამიზნე ზონაში. მომხმარებელს შეუძლია სენსორის მიერ დაბრუნებული სამიზნეების რაოდენობის კონფიგურაცია.
შენიშვნა:
ორ სამიზნეს შორის მინიმალური მანძილი არის 600 მმ.
მძღოლისგან შერჩევა შეუძლებელია; ეს უნდა გაკეთდეს 'platform.h'-ში file. მაკრო
VL53L8CX_NB_ TARGET_PER_ZONE უნდა დაყენდეს მნიშვნელობებზე 1-დან 4-მდე. 4.9 ნაწილში აღწერილი სამიზნე რიგი პირდაპირ გავლენას ახდენს აღმოჩენილი სამიზნის თანმიმდევრობაზე. ნაგულისხმევად, სენსორი გამოსცემს მხოლოდ მაქსიმუმ ერთ სამიზნეს ზონაში.
შენიშვნა:
სამიზნეების გაზრდილი რაოდენობა ზონაში ზრდის RAM-ის საჭირო ზომას.
4.11 Xtalk ზღვარი
Xtalk ზღვარი არის დამატებითი ფუნქცია, რომელიც ხელმისაწვდომია მხოლოდ მოდულის Xtalk გამოყენებით. .c და .f files 'vl53l8cx_plugin_xtalk' უნდა იქნას გამოყენებული.
ზღვარი გამოიყენება გამოვლენის ზღურბლის შესაცვლელად, როდესაც სენსორის თავზე არის საფარის მინა. ბარიერი შეიძლება გაიზარდოს იმისათვის, რომ საფარი შუშა არასოდეს აღმოჩნდეს Xtalk კალიბრაციის მონაცემების დაყენების შემდეგ.
მაგampასევე, მომხმარებელს შეუძლია Xtalk კალიბრაციის გაშვება ერთ მოწყობილობაზე და ხელახლა გამოიყენოს იგივე კალიბრაციის მონაცემები ყველა სხვა მოწყობილობისთვის. Xtalk ზღვარი შეიძლება გამოყენებულ იქნას Xtalk კორექტირების დასარეგულირებლად. ქვემოთ მოყვანილი ფიგურა წარმოადგენს Xtalk ზღვარს.

სურათი 13. Xtalk ზღვარი

ST VL53L8CX სენსორის მოდული - სურათი 12

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

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

4.13 ავტომატური გაჩერების შეწყვეტა
შეწყვეტის ავტომატური გაჩერების ფუნქცია გამოიყენება გაზომვის დროს დიაპაზონის სესიის შესაჩერებლად. ნაგულისხმევად, სენსორის შეჩერება შეუძლებელია გაზომვის დროს, რადგან ჩარჩოს გაზომვები უნდა დასრულდეს. თუმცა, ავტომატური გაჩერების გამოყენებით, ჩარჩოს გაზომვები შეწყვეტილია, როდესაც ხდება შეფერხება.
ავტომატური გაჩერების ფუნქცია სასარგებლოა, როდესაც ის შერწყმულია გამოვლენის ზღურბლთან. როდესაც სამიზნე აღმოჩენილია, მიმდინარე გაზომვა ავტომატურად წყდება. Autostop შეიძლება გამოყენებულ იქნას მომხმარებლის მდგომარეობის მანქანაში, რათა სწრაფად გადავიდეს სხვა სენსორის კონფიგურაციაზე.
შეფერხების ავტომატური გაჩერების ფუნქცია შეიძლება ჩართოთ ფუნქციის გამოყენებით vl53l8cx_set_detection_threshold_auto_stop().
გაზომვის შეწყვეტის შემდეგ, რეკომენდებულია სენსორის გაჩერება ფუნქციის გამოყენებით vl53l8cx_stop_ranging().
4.14 მოძრაობის მაჩვენებელი
VL53L8CX სენსორს აქვს ჩაშენებული Firmware ფუნქცია, რომელიც სცენაზე მოძრაობის გამოვლენის საშუალებას იძლევა. მოძრაობის ინდიკატორი გამოითვლება თანმიმდევრულ კადრებს შორის. ეს ვარიანტი ხელმისაწვდომია მოდულის "vl53l8cx_plugin_motion_indicator" გამოყენებით.
მოძრაობის ინდიკატორის ინიცირება ხდება vl53l8cx_motion_indicator_init() ფუნქციის გამოყენებით. თუ მომხმარებელს სურს სენსორის გარჩევადობის შეცვლა, მან უნდა განაახლოს მოძრაობის ინდიკატორის გარჩევადობა გამოყოფილი ფუნქციის გამოყენებით: vl53l8cx_motion_indicator_set_resolution().
მომხმარებელს ასევე შეუძლია შეცვალოს მინიმალური და მაქსიმალური მანძილი მოძრაობის აღმოსაჩენად. მინიმალურ და მაქსიმალურ დისტანციებს შორის სხვაობა არ შეიძლება იყოს 1500 მმ-ზე მეტი. ნაგულისხმევად, დისტანციები ინიციალიზებულია 400 მმ-დან 1500 მმ-მდე მნიშვნელობებით.
შედეგები ინახება ველში 'motion_indicator'. ამ ველში მასივი 'motion' იძლევა მნიშვნელობას, რომელიც შეიცავს მოძრაობის ინტენსივობას ზონაში. მაღალი მნიშვნელობა მიუთითებს კადრებს შორის მოძრაობის მაღალ ვარიაციებზე. ტიპიური მოძრაობა იძლევა მნიშვნელობას 100-დან 500-მდე. ეს მგრძნობელობა დამოკიდებულია ინტეგრაციის დროზე, სამიზნე მანძილზე და სამიზნის არეკვლაზე.
იდეალური კომბინაცია დაბალი სიმძლავრის აპლიკაციებისთვის არის მოძრაობის ინდიკატორის გამოყენება ავტონომიური დიაპაზონის რეჟიმით და მოძრაობაზე დაპროგრამებული ამოცნობის ზღურბლებით. ეს საშუალებას იძლევა გამოავლინოს მოძრაობის ვარიაციები FoV-ში მინიმალური ენერგიის მოხმარებით.

4.15 გარე სინქრონიზაციის პინი
გარე ტრიგერების წყარო შეიძლება გამოყენებულ იქნას შესყიდვების სინქრონიზაციისთვის. როდესაც გარე სინქრონიზაცია ჩართულია, VL53L8CX ელოდება შეფერხებას SYNC პინზე, რათა დაიწყოს შემდეგი შეძენა. ამ ფუნქციის გამოსაყენებლად, SYNC pin (B1) უნდა იყოს დაკავშირებული, როგორც ეს აღწერილია პროდუქტის მონაცემთა ცხრილში.
არ არსებობს კონკრეტული მოთხოვნები გარე სინქრონიზაციის გამოყენებისთვის. თუმცა, VL53L8CX დიაპაზონის სიხშირე უნდა იყოს უფრო მაღალი ვიდრე გარე სიგნალის სიხშირე.
გარე სინქრონიზაცია შეიძლება ჩართოთ ან გამორთოთ ფუნქციის გამოყენებით vl53l8cx_set_external_sync_pin_enable(). დიაპაზონის დაწყება შესაძლებელია ჩვეულებრივად ფუნქციის გამოყენებით vl53l8cx_start_ranging(). როდესაც მომხმარებელს სურს სენსორის შეჩერება, რეკომენდებულია SYNC პინის გადართვა VL53L8CX firmware-ის პაუზის გასაუქმებლად.
გარე სინქრონიზაციის პინის გამოყენების აქტუალური ნაკადი ნაჩვენებია ქვემოთ განყოფილებაში 4.15.

სურათი 14. გარე სინქრონიზაციის ნაკადი

ST VL53L8CX სენსორის მოდული - სურათი 13

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

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

ელემენტი

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

შენიშვნა:
რამდენიმე ელემენტისთვის (სიგნალი თითო სპადზე, სიგმაზე, ...) მონაცემებზე წვდომა განსხვავებულია, თუ მომხმარებელს აქვს დაპროგრამებული 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
შესაბამისად, ველები არ არის გამოცხადებული შედეგების სტრუქტურაში და მონაცემები არ გადადის ჰოსტში.
RAM-ის ზომა და I2C/SPI ზომა შემცირებულია.
მონაცემთა თანმიმდევრულობის უზრუნველსაყოფად ST რეკომენდაციას უწევს ყოველთვის ჩართული იყოს „გამოვლენილი სამიზნეების რაოდენობა“ და „სამიზნე სტატუსი“. ის საშუალებას გაძლევთ გაფილტროთ გაზომვები სამიზნე სტატუსიდან გამომდინარე (იხილეთ ნაწილი 5.5 შედეგების ინტერპრეტაცია).

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

  • გამოკითხვის რეჟიმი: განუწყვეტლივ იყენებს ფუნქციას vl53l8cx_check_data_ready(). ის ამოიცნობს სენსორის მიერ დაბრუნებულ ნაკადების ახალ რაოდენობას.
  • შეფერხების რეჟიმი: ელოდება A1 (INT) დაყენებულ შეფერხებას. შეფერხება ავტომატურად იშლება ~ 100 μs-ის შემდეგ.
    როდესაც ახალი მონაცემები მზად იქნება, შედეგების წაკითხვა შესაძლებელია ფუნქციის გამოყენებით vl53l8cx_get_ranging_data(). ის აბრუნებს განახლებულ სტრუქტურას, რომელიც შეიცავს ყველა შერჩეულ გამომავალს. იმის გამო, რომ მოწყობილობა ასინქრონულია, არ არის შეფერხება, რათა გააგრძელოს დიაპაზონი.
    ეს ფუნქცია ხელმისაწვდომია როგორც უწყვეტი, ასევე ავტონომიური დიაპაზონის რეჟიმში.

5.4 ნედლი პროგრამული უზრუნველყოფის ფორმატის გამოყენება
I2C/SPI-ის მეშვეობით დიაპაზონის მონაცემების გადაცემის შემდეგ, ხდება კონვერტაცია firmware ფორმატსა და მასპინძლის ფორმატს შორის. ეს ოპერაცია, როგორც წესი, შესრულებულია იმისთვის, რომ ჰქონდეს დიაპაზონი მილიმეტრებში, როგორც სენსორის ნაგულისხმევი გამოსავალი. თუ მომხმარებელს სურს გამოიყენოს firmware ფორმატი, შემდეგი მაკრო უნდა განისაზღვროს პლატფორმაზე file:
VL53L8CX#define 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, სენსორის მოდული, მოდული

ცნობები

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

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