VL53L8CX سینسر ماڈیول
صارف دستی
تعارف
اس صارف دستی کا مقصد یہ بتانا ہے کہ الٹرا لائٹ ڈرائیور (ULD) API کا استعمال کرتے ہوئے VL53L8X ٹائم آف فلائٹ (ToF) سینسر کو کیسے ہینڈل کیا جائے۔ یہ آلہ کو پروگرام کرنے کے لیے اہم افعال، کیلیبریشنز، اور آؤٹ پٹ کے نتائج کو بیان کرتا ہے۔
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 nm IR روشنی خارج کرتا ہے، جو آنکھوں کے لیے مکمل طور پر محفوظ ہے (کلاس 1 سرٹیفیکیشن)۔

مخففات اور مخففات
| مخفف/ مخفف | تعریف |
| ڈی او ای | اختلافی نظری عنصر |
| ایف او وی | کے میدان view |
| I2C | انٹر انٹیگریٹڈ سرکٹ (سیریل بس) |
| Kcps/SPAD | کلو کاؤنٹ فی سیکنڈ فی اسپاڈ (یونٹ استعمال کیا جاتا ہے SPAD صف میں فوٹون کی تعداد) |
| رام | بے ترتیب رسائی میموری |
| ایس سی ایل | سیریل گھڑی لائن |
| ایس ڈی اے | سیریل ڈیٹا |
| SPAD | سنگل فوٹوون برفانی تودہ ڈایڈڈ |
| ٹو ایف | پرواز کا وقت |
| یو ایل ڈی | الٹرا لائٹ ڈرائیور |
| وی سی ایس ای ایل | عمودی گہا کی سطح خارج کرنے والا ڈایڈڈ |
| Xtalk | crosstalk |
فنکشنل تفصیل
2.1 سسٹم ختمview
VL53L8CX سسٹم ایک ہارڈ ویئر ماڈیول اور الٹرا لائٹ ڈرائیور سافٹ ویئر (VL53L8CX ULD) پر مشتمل ہے جو میزبان پر چل رہا ہے (نیچے تصویر دیکھیں)۔ ہارڈ ویئر ماڈیول ToF سینسر پر مشتمل ہے۔ STMicroelectronics سافٹ ویئر ڈرائیور فراہم کرتا ہے، جسے اس دستاویز میں "ڈرائیور" کہا گیا ہے۔ یہ دستاویز ڈرائیور کے افعال کو بیان کرتی ہے، جو میزبان کے لیے قابل رسائی ہیں۔ یہ فنکشنز سینسر کو کنٹرول کرتے ہیں اور رینج ڈیٹا حاصل کرتے ہیں۔

2.2 موثر واقفیت
ماڈیول میں RX یپرچر پر ایک لینس شامل ہے، جو ہدف کی کیپچر کی گئی تصویر کو (افقی اور عمودی طور پر) پلٹتا ہے۔ اس کے نتیجے میں، زون 0 کے طور پر شناخت شدہ زون، SPAD سرنی کے نیچے بائیں جانب، منظر کے اوپری دائیں جانب واقع ہدف سے روشن ہوتا ہے۔

2.3 اسکیمیٹکس اور I2C/SPI کنفیگریشن
ڈرائیور اور فرم ویئر کے درمیان مواصلات I2C یا SPI کے ذریعہ سنبھالا جاتا ہے۔ I2C کی زیادہ سے زیادہ صلاحیت 1 MHz ہے، اور SPI کی زیادہ سے زیادہ صلاحیت 20 MHz ہے۔ ہر مواصلاتی پروٹوکول کے نفاذ کے لیے پل اپس کی ضرورت ہوتی ہے جیسا کہ VL53L8CX ڈیٹا شیٹ میں بیان کیا گیا ہے۔
VL53L8CX ڈیوائس کا ڈیفالٹ I2C پتہ 0x52 ہے۔ تاہم، دوسرے آلات کے ساتھ تنازعات سے بچنے کے لیے پہلے سے طے شدہ ایڈریس کو تبدیل کرنا، یا زیادہ سے زیادہ سسٹم ایف او وی کے لیے سسٹم میں متعدد VL53L8CX ماڈیولز کو شامل کرنے میں سہولت فراہم کرنا ممکن ہے۔ I2C ایڈریس کو vl53l8cx_set_i2c_address() فنکشن کا استعمال کرتے ہوئے تبدیل کیا جا سکتا ہے۔ SPI کو استعمال کرنے کے لیے، ملٹی سینسر کو ایک آزاد غلام کنفیگریشن (NCS پن) کا استعمال کرتے ہوئے وائر کیا جاتا ہے۔


I2C بس پر دوسروں کو متاثر کیے بغیر کسی ڈیوائس کو اپنا I2C پتہ تبدیل کرنے کی اجازت دینے کے لیے، یہ ضروری ہے۔
تبدیل نہ ہونے والے آلات کے I2C مواصلات کو غیر فعال کریں۔ طریقہ کار درج ذیل ہے:
- سسٹم کو معمول کے مطابق پاور اپ کریں۔
- ڈیوائس کے ایل پی این پن کو نیچے کھینچیں جس کا پتہ تبدیل نہیں ہوگا۔
- اس آلے کے LPn پن کو کھینچیں جس کا I2C ایڈریس تبدیل ہوا ہے۔
- فنکشن set_i2c_address() فنکشن کا استعمال کرتے ہوئے آلہ پر I2C ایڈریس پروگرام کریں۔
- آلہ کے LPn پن کو کھینچیں جو دوبارہ پروگرام نہیں کیا جا رہا ہے۔
تمام آلات اب I2C بس پر دستیاب ہونے چاہئیں۔ سسٹم میں موجود ان تمام آلات کے لیے مندرجہ بالا اقدامات کو دہرائیں جن کے لیے نئے I2C ایڈریس کی ضرورت ہے۔
پیکیج کا مواد اور ڈیٹا کا بہاؤ
3.1 ڈرائیور فن تعمیر اور مواد
VL53L8CX ULD پیکیج چار فولڈرز پر مشتمل ہے۔ ڈرائیور فولڈر /VL53L8CX_ULD_API میں واقع ہے۔
ڈرائیور لازمی اور اختیاری پر مشتمل ہے۔ files اختیاری files ہیں plugins ULD خصوصیات کو بڑھانے کے لیے استعمال کیا جاتا ہے۔
ہر پلگ ان لفظ "vl53l8cx_plugin" (جیسے vl53l8cx_plugin_xtalk.h) سے شروع ہوتا ہے۔ اگر صارف مجوزہ نہیں چاہتا ہے۔ plugins، انہیں ڈرائیور کی دیگر خصوصیات کو متاثر کیے بغیر ہٹایا جا سکتا ہے۔ مندرجہ ذیل اعداد و شمار لازمی کی نمائندگی کرتا ہے files اور اختیاری plugins.
نوٹ:
صارف کو بھی دو کو لاگو کرنے کی ضرورت ہے۔ files / پلیٹ فارم فولڈر میں واقع ہے۔ مجوزہ پلیٹ فارم ایک خالی خول ہے، اور اسے سرشار افعال سے بھرنا چاہیے۔
پلیٹ فارم ایچ file ULD استعمال کرنے کے لیے لازمی میکرو پر مشتمل ہے۔ تمام file ULD کو صحیح طریقے سے استعمال کرنے کے لیے مواد لازمی ہے۔
3.2 انشانکن بہاؤ
Crosstalk (Xtalk) کی تعریف SPAD سرنی پر موصول ہونے والے سگنل کی مقدار کے طور پر کی گئی ہے، جو ماڈیول کے اوپری حصے میں شامل حفاظتی کھڑکی (کور گلاس) کے اندر VCSEL روشنی کی عکاسی کی وجہ سے ہے۔ VL53L8CX ماڈیول خود کیلیبریٹڈ ہے، اور بغیر کسی اضافی انشانکن کے استعمال کیا جا سکتا ہے۔
Xtalk کیلیبریشن کی ضرورت ہو سکتی ہے اگر ماڈیول کور گلاس سے محفوظ ہو۔ ہسٹوگرام الگورتھم کی بدولت VL53L8CX 60 سینٹی میٹر سے زیادہ Xtalk سے محفوظ ہے۔ تاہم، 60 سینٹی میٹر سے کم فاصلے پر، Xtalk اصل واپسی سگنل سے بڑا ہو سکتا ہے۔ اس سے ٹارگٹ کو غلط پڑھنا پڑتا ہے یا اہداف کو حقیقت سے قریب تر ظاہر کرتا ہے۔ تمام Xtalk کیلیبریشن فنکشنز Xtalk پلگ ان (اختیاری) میں شامل ہیں۔ صارف کو استعمال کرنے کی ضرورت ہے۔ file 'vl53l8cx_plugin_xtalk'۔
Xtalk کو ایک بار کیلیبریٹ کیا جا سکتا ہے، اور ڈیٹا کو محفوظ کیا جا سکتا ہے تاکہ اسے بعد میں دوبارہ استعمال کیا جا سکے۔ مقررہ فاصلے پر ایک ہدف، معلوم عکاسی کے ساتھ درکار ہے۔ مطلوبہ کم از کم فاصلہ 600 ملی میٹر ہے، اور ہدف کو پورے ایف او وی کا احاطہ کرنا چاہیے۔ سیٹ اپ پر منحصر ہے، صارف Xtalk کیلیبریشن کو اپنانے کے لیے ترتیبات میں ترمیم کر سکتا ہے، جیسا کہ مندرجہ ذیل جدول میں تجویز کیا گیا ہے۔
ٹیبل 1۔ انشانکن کے لیے دستیاب ترتیبات
| ترتیب | کم از کم | کی طرف سے تجویز کردہ ایس ٹی مائیکرو الیکٹرانکس |
زیادہ سے زیادہ |
| فاصلہ [ملی میٹر] | 600 | 600 | 3000 |
| s کی تعدادamples | 1 | 4 | 16 |
| عکاسی [%] | 1 | 3 | 99 |
نوٹ:
s کی تعداد میں اضافہamples درستگی کو بڑھاتا ہے، لیکن یہ انشانکن کا وقت بھی بڑھاتا ہے۔ s کی تعداد کے نسبت وقتamples لکیری ہے، اور قدریں تقریباً ٹائم آؤٹ کی پیروی کرتی ہیں:
- 1 سیکنڈample ≈ 1 سیکنڈ
- 4 سیکنڈamples ≈ 2.5 سیکنڈ
- 16 سیکنڈamples ≈ 8.5 سیکنڈ
انشانکن فنکشن vl53l8cx_calibrate_xtalk() کا استعمال کرتے ہوئے انجام دیا جاتا ہے۔ یہ فنکشن کسی بھی وقت استعمال کیا جا سکتا ہے۔
تاہم، سینسر کو پہلے شروع کرنا ضروری ہے۔ مندرجہ ذیل اعداد و شمار xtalk کیلیبریشن کے بہاؤ کی نمائندگی کرتا ہے۔
شکل 7۔ Xtalk انشانکن بہاؤ

3.3 رینجنگ بہاؤ
مندرجہ ذیل اعداد و شمار رینج کے بہاؤ کی نمائندگی کرتا ہے جو پیمائش حاصل کرنے کے لیے استعمال کیا جاتا ہے۔ رینج سیشن شروع کرنے سے پہلے Xtalk کیلیبریشن اور اختیاری فنکشن کالز کا استعمال کرنا ضروری ہے۔ گیٹ/سیٹ فنکشنز کو ایک رینج سیشن کے دوران استعمال نہیں کیا جا سکتا، اور 'اون دی فلائی' پروگرامنگ تعاون یافتہ نہیں ہے۔

دستیاب خصوصیات
VL53L8CX ULD API میں کئی فنکشنز شامل ہیں، جو صارف کو استعمال کے معاملے کے لحاظ سے سینسر کو ٹیون کرنے کی اجازت دیتے ہیں۔ ڈرائیور کے لیے دستیاب تمام افعال درج ذیل حصوں میں بیان کیے گئے ہیں۔
4.1 آغاز
VL53L8CX سینسر استعمال کرنے سے پہلے شروع کرنا ضروری ہے۔ اس آپریشن کے لیے صارف کی ضرورت ہے:
- سینسر پر پاور (VDDIO، AVDD، CORE_1V8، اور LPn پن ہائی پر سیٹ ہیں
- فنکشن vl53l8cx_init() کو کال کریں۔ فنکشن فرم ویئر (~ 84 Kbytes) کو ماڈیول میں کاپی کرتا ہے۔ یہ کوڈ کو I2C/SPI انٹرفیس پر لوڈ کرکے، اور ابتداء کو مکمل کرنے کے لیے بوٹ روٹین انجام دے کر کیا جاتا ہے۔
4.2 سینسر ری سیٹ مینجمنٹ
ڈیوائس کو ری سیٹ کرنے کے لیے، درج ذیل پنوں کو ٹوگل کرنے کی ضرورت ہے:
- پن VDDIO، AVDD، اور CORE_1V8 پنوں کو کم پر سیٹ کریں۔
- 10 ms انتظار کریں۔
- پن 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_range_frequency_hz() کا استعمال کرتے ہوئے اپ ڈیٹ کیا جا سکتا ہے۔ پہلے سے طے شدہ طور پر، رینج فریکوئنسی 1 ہرٹز پر سیٹ ہوتی ہے۔
4.5 رینجنگ موڈ
رینجنگ موڈ صارف کو اعلی کارکردگی یا کم بجلی کی کھپت میں رینج کے درمیان انتخاب کرنے کی اجازت دیتا ہے۔
دو طریقے تجویز کیے گئے ہیں:
- مسلسل: آلہ صارف کی طرف سے متعین رینج فریکوئنسی کے ساتھ مسلسل فریموں کو پکڑتا ہے۔ VCSEL تمام رینج کے دوران فعال ہے، اس لیے زیادہ سے زیادہ رینج فاصلہ اور محیطی استثنیٰ بہتر ہے۔ اس موڈ کو تیز رفتار پیمائش یا اعلی کارکردگی کے لیے مشورہ دیا جاتا ہے۔
- خود مختار: یہ ڈیفالٹ موڈ ہے۔ ڈیوائس صارف کی طرف سے متعین حد تک فریکوئنسی کے ساتھ مسلسل فریموں کو پکڑتی ہے۔ VCSEL فنکشن vl53l8cx_set_integration_time_ms() کا استعمال کرتے ہوئے صارف کی طرف سے بیان کردہ مدت کے دوران فعال ہوتا ہے۔ چونکہ VCSEL ہمیشہ فعال نہیں ہوتا ہے، اس لیے بجلی کی کھپت کم ہو جاتی ہے۔ کم رینج فریکوئنسی کے ساتھ فوائد زیادہ واضح ہیں۔ یہ موڈ کم پاور ایپلی کیشنز کے لئے مشورہ دیا جاتا ہے.
رینج موڈ کو فنکشن vl53l8cx_set_range_mode() کا استعمال کرتے ہوئے تبدیل کیا جا سکتا ہے۔
4.6 انضمام کا وقت
انٹیگریشن ٹائم ایک خصوصیت ہے جو صرف خود مختار رینج موڈ کا استعمال کرتے ہوئے دستیاب ہے (سیکشن 4.5 رینج موڈ کو دیکھیں)۔
یہ صارف کو VCSEL کے فعال ہونے کے دوران وقت تبدیل کرنے کی اجازت دیتا ہے۔ انضمام کے وقت کو تبدیل کرنے سے اگر رینجنگ موڈ مسلسل پر سیٹ ہو تو کوئی اثر نہیں ہوتا ہے۔ پہلے سے طے شدہ انضمام کا وقت 5 ms پر سیٹ ہے۔
انضمام کے وقت کا اثر 4×4 اور 8×8 ریزولوشنز کے لیے مختلف ہے۔ ریزولوشن 4×4 ایک انضمام وقت پر مشتمل ہے، اور 8×8 ریزولوشن چار انضمام کے اوقات پر مشتمل ہے۔ مندرجہ ذیل اعداد و شمار دونوں قراردادوں کے لیے VCSEL اخراج کی نمائندگی کرتے ہیں۔

تمام انضمام کے اوقات کا مجموعہ + 1 ms اوور ہیڈ پیمائش کی مدت سے کم ہونا چاہیے۔ بصورت دیگر رینج کی مدت خود بخود بڑھ جاتی ہے۔
4.7 پاور موڈز
جب آلہ استعمال نہ ہو تو پاور موڈز کو بجلی کی کھپت کو کم کرنے کے لیے استعمال کیا جا سکتا ہے۔ VL53L8CX درج ذیل پاور موڈ میں سے ایک میں کام کر سکتا ہے:
- جاگنا: آلہ HP بیکار (ہائی پاور) میں سیٹ ہے، ہدایات کا انتظار کر رہا ہے۔
- سلیپ: ڈیوائس ایل پی آئیڈل (کم پاور)، کم پاور والی حالت میں سیٹ ہے۔ جب تک ویک اپ موڈ میں سیٹ نہ ہو آلہ استعمال نہیں کیا جا سکتا۔ یہ موڈ فرم ویئر اور کنفیگریشن کو برقرار رکھتا ہے۔
فنکشن vl53l8cx_set_power_mode() کا استعمال کرتے ہوئے پاور موڈ کو تبدیل کیا جا سکتا ہے۔ ڈیفالٹ موڈ ویک اپ ہے۔
نوٹ:
اگر صارف پاور موڈ کو تبدیل کرنا چاہتا ہے، تو آلے کو رینج والی حالت میں نہیں ہونا چاہیے۔
4.8 تیز کرنے والا
ہدف سے واپس آنے والا سگنل تیز دھاروں والی صاف نبض نہیں ہے۔ کنارے ڈھلوان ہو جاتے ہیں اور ملحقہ علاقوں میں بتائے گئے فاصلوں کو متاثر کر سکتے ہیں۔ شارپنر کا استعمال پردے کی چکاچوند کی وجہ سے ہونے والے کچھ یا تمام سگنل کو دور کرنے کے لیے کیا جاتا ہے۔
سابقampمندرجہ ذیل اعداد و شمار میں دکھایا گیا 100 ملی میٹر پر قریبی ہدف کی نمائندگی کرتا ہے جو ایف او وی میں مرکز ہے، اور دوسرا ہدف، 500 ملی میٹر پر مزید پیچھے ہے۔ شارپنر ویلیو پر منحصر ہے، قریبی ہدف اصلی سے زیادہ زون میں ظاہر ہو سکتا ہے۔
تصویر 11۔ Exampکئی شارپنر اقدار کا استعمال کرتے ہوئے منظر کا لی

فنکشن vl53l8cx_set_sharpener_percent() کا استعمال کرتے ہوئے شارپنر کو تبدیل کیا جا سکتا ہے۔ اجازت شدہ اقدار % 0 اور 99 % کے درمیان ہیں۔ ڈیفالٹ ویلیو %5 ہے۔
4.9 ٹارگٹ آرڈر
VL53L8CX فی زون کئی اہداف کی پیمائش کر سکتا ہے۔ ہسٹوگرام پروسیسنگ کی بدولت، میزبان رپورٹ کردہ اہداف کی ترتیب کو منتخب کرنے کے قابل ہے۔ دو اختیارات ہیں:
- قریب ترین: قریب ترین ہدف سب سے پہلے اطلاع دی گئی ہے۔
- سب سے مضبوط: سب سے مضبوط ہدف سب سے پہلے اطلاع دی گئی ہے۔
ٹارگٹ آرڈر فنکشن vl53l8cx_set_target_order() کا استعمال کرتے ہوئے تبدیل کیا جا سکتا ہے۔ پہلے سے طے شدہ آرڈر مضبوط ترین ہے۔
سابقampمندرجہ ذیل اعداد و شمار میں le دو اہداف کا پتہ لگانے کی نمائندگی کرتا ہے۔ ایک کم عکاسی کے ساتھ 100 ملی میٹر پر، اور ایک اعلی عکاسی کے ساتھ 700 ملی میٹر پر۔

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 مارجن

4.12 پتہ لگانے کی حد
ریگولر رینج کی صلاحیتوں کے علاوہ، سینسر کو کچھ پہلے سے طے شدہ معیار کے تحت کسی چیز کا پتہ لگانے کے لیے پروگرام کیا جا سکتا ہے۔ یہ خصوصیت پلگ ان "ڈیٹیکشن تھریشولڈز" کا استعمال کرتے ہوئے دستیاب ہے، جو API میں بطور ڈیفالٹ شامل نہیں ہے۔ دی file'vl53l8cx_plugin_detection_thresholds' کہلانے کی ضرورت ہے۔
صارف کی طرف سے بیان کردہ شرائط پوری ہونے پر اس خصوصیت کو پن A1 (INT) میں مداخلت کو متحرک کرنے کے لیے استعمال کیا جا سکتا ہے۔ تین ممکنہ ترتیبیں ہیں:
- ریزولیوشن 4×4: فی زون 1 تھریشولڈ استعمال کرنا (کل 16 تھریشولڈز)
- ریزولوشن 4×4: فی زون 2 تھریشولڈز کا استعمال کرتے ہوئے (کل 32 تھریشولڈز)
- ریزولیوشن 8×8: فی زون 1 تھریشولڈ استعمال کرنا (کل 64 تھریشولڈز)
جو بھی ترتیب استعمال کی گئی ہو، حدیں بنانے کا طریقہ کار اور RAM کا سائز ایک جیسا ہے۔ ہر حد کے مجموعہ کے لیے، کئی فیلڈز کو پُر کرنے کی ضرورت ہے: - زون کی شناخت: منتخب زون کی شناخت (سیکشن 2.2 کا حوالہ دیں مؤثر واقفیت)
- پیمائش: پکڑنے کے لیے پیمائش (فاصلہ، سگنل، SPADs کی تعداد، …)
- قسم: پیمائش کی کھڑکیاں (کھڑکیوں میں، کھڑکیوں سے باہر، کم حد سے نیچے، …)
- کم حد: ٹرگر کے لیے کم تھریشولڈ صارف۔ صارف کو فارمیٹ سیٹ کرنے کی ضرورت نہیں ہے، یہ خود بخود API کے ذریعے سنبھالا جاتا ہے۔
- ہائی تھریشولڈ: ٹرگر کے لیے ہائی تھریشولڈ صارف۔ صارف کو فارمیٹ سیٹ کرنے کی ضرورت نہیں ہے، یہ خود بخود API کے ذریعے سنبھالا جاتا ہے۔
- ریاضی کی کارروائی: صرف 4×4 - 2 حد کے مجموعے فی زون کے لیے استعمال کیا جاتا ہے۔ صارف ایک زون میں کئی حدوں کا استعمال کرتے ہوئے ایک مجموعہ ترتیب دے سکتا ہے۔
4.13 آٹو سٹاپ میں مداخلت کریں۔
انٹرپٹ آٹو سٹاپ فیچر پیمائش کے دوران رینج سیشن کو ختم کرنے کے لیے استعمال کیا جاتا ہے۔ پہلے سے طے شدہ طور پر، سینسر کو پیمائش کے دوران نہیں روکا جا سکتا، کیونکہ فریم کی پیمائش کو مکمل کرنے کی ضرورت ہے۔ تاہم، آٹو سٹاپ کا استعمال کرتے ہوئے، جب کوئی رکاوٹ شروع ہو جاتی ہے تو فریم کی پیمائش کو روک دیا جاتا ہے۔
آٹو اسٹاپ فیچر اس وقت کارآمد ہوتا ہے جب اسے پتہ لگانے کی حد کے ساتھ ملایا جاتا ہے۔ جب کسی ہدف کا پتہ چل جاتا ہے، موجودہ پیمائش خود بخود ختم ہو جاتی ہے۔ آٹو سٹاپ کو کسٹمر سٹیٹ مشین میں کسی اور سینسر کنفیگریشن میں تیزی سے سوئچ کرنے کے لیے استعمال کیا جا سکتا ہے۔
فنکشن vl53l8cx_set_detection_threshold_auto_stop() کا استعمال کرکے ایک مداخلت آٹو سٹاپ خصوصیت کو فعال کیا جا سکتا ہے۔
پیمائش ختم کرنے کے بعد، فنکشن vl53l8cx_stop_range() استعمال کرکے سینسر کو روکنے کی سفارش کی جاتی ہے۔
4.14 موشن انڈیکیٹر
VL53L8CX سینسر میں ایک ایمبیڈڈ فرم ویئر فیچر ہے جو کسی منظر میں حرکت کا پتہ لگانے کی اجازت دیتا ہے۔ حرکت کے اشارے کو ترتیب وار فریموں کے درمیان شمار کیا جاتا ہے۔ یہ آپشن 'vl53l8cx_plugin_motion_indicator' پلگ ان کا استعمال کرتے ہوئے دستیاب ہے۔
موشن انڈیکیٹر کو vl53l8cx_motion_indicator_init() فنکشن کا استعمال کرتے ہوئے شروع کیا جاتا ہے۔ اگر صارف سینسر ریزولوشن کو تبدیل کرنا چاہتا ہے، تو اسے سرشار فنکشن: vl53l8cx_motion_indicator_set_resolution() کا استعمال کرتے ہوئے موشن انڈیکیٹر ریزولوشن کو اپ ڈیٹ کرنا چاہیے۔
صارف حرکت کا پتہ لگانے کے لیے کم سے کم اور زیادہ سے زیادہ فاصلوں کو بھی تبدیل کر سکتا ہے۔ کم از کم اور زیادہ سے زیادہ فاصلوں کے درمیان فرق 1500 ملی میٹر سے زیادہ نہیں ہو سکتا۔ پہلے سے طے شدہ طور پر، فاصلے 400 ملی میٹر اور 1500 ملی میٹر کے درمیان کی قدروں کے ساتھ شروع کیے جاتے ہیں۔
نتائج فیلڈ 'موشن_انڈیکیٹر' میں محفوظ ہیں۔ اس فیلڈ میں، سرنی 'حرکت' ایک قدر دیتی ہے جس میں فی زون حرکت کی شدت ہوتی ہے۔ ایک اعلی قدر فریموں کے درمیان اعلی حرکت کی تبدیلی کی نشاندہی کرتی ہے۔ ایک عام حرکت 100 اور 500 کے درمیان ایک قدر دیتی ہے۔ یہ حساسیت انضمام کے وقت، ہدف کی دوری، اور ہدف کی عکاسی پر منحصر ہے۔
کم پاور ایپلی کیشنز کے لیے ایک مثالی امتزاج خود مختار رینج موڈ کے ساتھ موشن انڈیکیٹر کا استعمال ہے، اور موشن پر پروگرام کیے گئے پتہ لگانے کی حدیں ہیں۔ یہ کم سے کم بجلی کی کھپت کے ساتھ ایف او وی میں حرکت کے تغیرات کا پتہ لگانے کی اجازت دیتا ہے۔
4.15 بیرونی مطابقت پذیری پن
حصول کو مطابقت پذیر بنانے کے لیے ایک بیرونی محرک ذریعہ استعمال کیا جا سکتا ہے۔ جب بیرونی مطابقت پذیری فعال ہو جاتی ہے، VL53L8CX اگلا حصول شروع کرنے کے لیے SYNC پن پر رکاوٹ کا انتظار کرتا ہے۔ اس خصوصیت کو استعمال کرنے کے لیے، SYNC پن (B1) کو مربوط کرنے کی ضرورت ہے جیسا کہ پروڈکٹ ڈیٹا شیٹ میں بیان کیا گیا ہے۔
بیرونی مطابقت پذیری کو استعمال کرنے کے لیے کوئی خاص تقاضے نہیں ہیں۔ تاہم، VL53L8CX رینج فریکوئنسی بیرونی سگنل فریکوئنسی سے زیادہ ہونی چاہیے۔
بیرونی مطابقت پذیری کو فنکشن vl53l8cx_set_external_sync_pin_enable() استعمال کرکے فعال یا غیر فعال کیا جاسکتا ہے۔ فنکشن vl53l8cx_start_range() کا استعمال کرکے رینج کو معمول کے مطابق شروع کیا جاسکتا ہے۔ جب کوئی صارف سینسر کو روکنا چاہتا ہے، تو VL53L8CX فرم ویئر کو غیر موقوف کرنے کے لیے SYNC پن کو ٹوگل کرنے کی سفارش کی جاتی ہے۔
بیرونی مطابقت پذیری پن کو استعمال کرنے کے لیے ایک حالات کا بہاؤ ذیل میں سیکشن 4.15 میں دکھایا گیا ہے۔
تصویر 14. بیرونی ہم وقت سازی کا بہاؤ

رینج کے نتائج
5.1 دستیاب ڈیٹا
ہدف اور ماحولیات کے ڈیٹا کی ایک وسیع فہرست مختلف سرگرمیوں کے دوران آؤٹ پٹ ہو سکتی ہے۔ مندرجہ ذیل جدول صارف کے لیے دستیاب پیرامیٹرز کی وضاحت کرتا ہے۔
ٹیبل 3۔ VL53L8CX سینسر کا استعمال کرتے ہوئے دستیاب آؤٹ پٹ
|
عنصر |
Nb بائٹس (RAM) | یونٹ |
تفصیل |
| ایمبیئنٹ فی SPAD | 256 | Kcps/SPAD | شور کی وجہ سے محیطی سگنل کی شرح کی پیمائش کرنے کے لیے، SPAD سرنی پر کی گئی محیطی شرح کی پیمائش، بغیر کسی فعال فوٹوون کے اخراج کے۔ |
| اہداف کی تعداد کا پتہ چلا |
64 |
کوئی نہیں۔ | موجودہ زون میں پائے جانے والے اہداف کی تعداد۔ پیمائش کی درستگی کو جاننے کے لیے یہ قیمت جانچنے والا پہلا ہونا چاہیے۔ |
| SPADs کی تعداد فعال ہے۔ | 256 | کوئی نہیں۔ | موجودہ پیمائش کے لیے فعال کردہ SPADs کی تعداد۔ دور یا کم عکاس ہدف زیادہ SPADs کو چالو کرے گا۔ |
|
سگنل فی SPAD |
256 x nb اہداف کا پروگرام کیا گیا۔ |
Kcps/SPAD |
VCSEL کے دوران ماپے گئے فوٹونز کی مقدار
نبض |
|
رینج سگما |
128 x nb اہداف کا پروگرام کیا گیا۔ |
ملی میٹر |
اطلاع کردہ ہدف کے فاصلے میں شور کے لیے سگما کا تخمینہ لگانے والا۔ |
|
فاصلہ |
128 x nb اہداف کا پروگرام کیا گیا۔ | ملی میٹر | ہدف کا فاصلہ |
| ہدف کی حیثیت | 64 x nb اہداف کا پروگرام کیا گیا۔ | کوئی نہیں۔ | پیمائش کی درستگی۔ مزید معلومات کے لیے سیکشن 5.5 نتائج کی تشریح دیکھیں۔ |
| عکاسی | 64 ایکس نمبر کے اہداف کا پروگرام کیا گیا۔ | فیصد | فیصد میں تخمینی ہدف کی عکاسی |
| حرکت کا اشارہ | 140 | کوئی نہیں۔ | موشن انڈیکیٹر کے نتائج پر مشتمل ڈھانچہ۔ فیلڈ 'حرکت' حرکت کی شدت پر مشتمل ہے۔ |
نوٹ:
متعدد عناصر کے لیے (سگنل فی اسپاڈ، سگما، …) ڈیٹا تک رسائی مختلف ہے اگر صارف نے فی زون 1 سے زیادہ ہدف پروگرام کیا ہے (سیکشن 4.10 ایک سے زیادہ اہداف فی زون دیکھیں)۔ سابق دیکھیںampمزید معلومات کے لیے کوڈز۔
5.2 آؤٹ پٹ سلیکشن کو حسب ضرورت بنائیں
پہلے سے طے شدہ طور پر، تمام VL53L8CX آؤٹ پٹس فعال ہیں۔ اگر ضرورت ہو تو، صارف کچھ سینسر آؤٹ پٹ کو غیر فعال کر سکتا ہے۔
پیمائش کو غیر فعال کرنا ڈرائیور پر دستیاب نہیں ہے۔ اسے 'platform.h' میں انجام دیا جانا چاہیے file. صارف آؤٹ پٹ کو غیر فعال کرنے کے لیے درج ذیل میکرو کا اعلان کر سکتا ہے۔
#Define VL53L8CX _DISABLE_AMBIENT_PER_SPAD
#Define VL53L8CX _DISABLE_NB_SPADS_ENABLED
#Define VL53L8CX _DISABLE_NB_TARGET_DETECTED
#VL53L8CX _DISABLE_SIGNAL_PER_SPAD کی وضاحت کریں
#VL53L8CX _DISABLE_RANGE_SIGMA_MM کی وضاحت کریں
VL53L8CX _DISABLE_DISTANCE_MM کی وضاحت کریں۔
#VL53L8CX _DISABLE_TARGET_STATUS کی وضاحت کریں۔
VL53L8CX _DISABLE_REFLECTANCE_PERCENT کی وضاحت کریں
#VL53L8CX _DISABLE_MOTION_INDICATOR کی وضاحت کریں۔
نتیجے کے طور پر، نتائج کے ڈھانچے میں فیلڈز کا اعلان نہیں کیا جاتا ہے، اور ڈیٹا میزبان کو منتقل نہیں کیا جاتا ہے۔
RAM کا سائز اور I2C/SPI سائز کم ہو گیا ہے۔
ڈیٹا کی مستقل مزاجی کو یقینی بنانے کے لیے، ST ہمیشہ 'ہدف کی تعداد کا پتہ لگانے' اور 'ٹارگٹ اسٹیٹس' کو فعال رکھنے کی تجویز کرتا ہے۔ یہ ہدف کی حیثیت کے لحاظ سے پیمائش کو فلٹر کرنے کی اجازت دیتا ہے (سیکشن 5.5 نتائج کی تشریح دیکھیں)۔
5.3 رینج کے نتائج حاصل کرنا
رینجنگ سیشن کے دوران، یہ جاننے کے دو طریقے ہیں کہ آیا نیا رینج ڈیٹا دستیاب ہے:
- پولنگ موڈ: مسلسل فنکشن vl53l8cx_check_data_ready() استعمال کرتا ہے۔ یہ سینسر کے ذریعہ واپس کی گئی ایک نئی ندی کی گنتی کا پتہ لگاتا ہے۔
- مداخلت موڈ: پن A1 (INT) پر اٹھنے والے مداخلت کا انتظار کرتا ہے۔ ~100 μs کے بعد مداخلت خود بخود صاف ہو جاتی ہے۔
جب نیا ڈیٹا تیار ہوتا ہے، تو نتائج کو فنکشن vl53l8cx_get_range_data() کا استعمال کرتے ہوئے پڑھا جا سکتا ہے۔ یہ تمام منتخب کردہ آؤٹ پٹ پر مشتمل ایک تازہ کاری شدہ ڈھانچہ لوٹاتا ہے۔ چونکہ آلہ غیر مطابقت پذیر ہے، رینجنگ سیشن کو جاری رکھنے کے لیے صاف کرنے کے لیے کوئی رکاوٹ نہیں ہے۔
یہ خصوصیت مسلسل اور خود مختار رینج موڈ دونوں کے لیے دستیاب ہے۔
5.4 خام فرم ویئر فارمیٹ کا استعمال
رینج ڈیٹا کو I2C/SPI کے ذریعے منتقل کرنے کے بعد، فرم ویئر فارمیٹ اور ہوسٹ فارمیٹ کے درمیان تبدیلی ہوتی ہے۔ یہ آپریشن عام طور پر سینسر کے ڈیفالٹ آؤٹ پٹ کے طور پر ملی میٹر میں فاصلہ طے کرنے کے لیے کیا جاتا ہے۔ اگر صارف فرم ویئر فارمیٹ استعمال کرنا چاہتا ہے، تو پلیٹ فارم میں درج ذیل میکرو کی وضاحت ہونی چاہیے۔ 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 سینسر ماڈیول [پی ڈی ایف] یوزر مینوئل UM3109, VL53L8CX سینسر ماڈیول, VL53L8CX, سینسر ماڈیول, ماڈیول |




