ST VL53L3CX সময় ফ্লাইট রেঞ্জিং সেন্সর ব্যবহারকারী ম্যানুয়াল
ST VL53L3CX ফ্লাইট রেঞ্জিং সেন্সরের সময়

ভূমিকা

VL53L3CX হল একটি টাইম-অফ-ফ্লাইট (ToF) রেঞ্জিং সেন্সর মডিউল।
এই ব্যবহারকারী ম্যানুয়ালটির উদ্দেশ্য হল VL53L3CX বেয়ার ড্রাইভার ব্যবহার করে রেঞ্জিং ডেটা পেতে কল করার জন্য ইন্টিগ্রেশন মডেল এবং ফাংশনের সেট বর্ণনা করা।

VL53L3CX সিস্টেম শেষview

VL53L3CX সিস্টেম VL53L3CX মডিউল এবং হোস্টে চলমান একটি ড্রাইভারের সমন্বয়ে গঠিত।
এই নথিটি হোস্টের কাছে অ্যাক্সেসযোগ্য ড্রাইভার ফাংশনগুলি বর্ণনা করে, ডিভাইস নিয়ন্ত্রণ করতে এবং নন-লিনক্স হোস্টগুলির সাথে একীকরণের জন্য রেঞ্জিং ডেটা পেতে।
সিস্টেম শেষview
চিত্র 1. VL53L3CX সিস্টেম

দ্রষ্টব্য:
বর্তমান নথিটি বাস্তবায়িত এবং বৈধ ফাংশন বর্ণনা করে। এই নথিতে বর্ণিত না থাকলে ড্রাইভারগুলিতে উপলব্ধ অন্য কোনো ফাংশন ব্যবহার করা উচিত নয়।
বেয়ার ড্রাইভার হল VL53L3CX ডিভাইস ব্যবহার করার জন্য প্রয়োজনীয় ফাংশনের একটি সেটের বাস্তবায়ন। এটি OS ইন্টিগ্রেশন এবং পরিষেবাগুলিতে ন্যূনতম অনুমান করে। যেমন, অ্যাকশনের সিকোয়েন্সিং, এক্সিকিউশন/থ্রেডিং মডেল, প্ল্যাটফর্ম অ্যাডাপ্টেশন, এবং ডিভাইস স্ট্রাকচার অ্যালোকেশন বেয়ার ড্রাইভার ইমপ্লিমেন্টেশনের অংশ নয় কিন্তু ইন্টিগ্রেটরের জন্য খোলা রাখা হয়েছে।
বেয়ার ড্রাইভার কলের সিকোয়েন্সিং এই নথিতে সংজ্ঞায়িত নিয়মের একটি সেট অনুসরণ করতে হবে।

রেঞ্জিং কার্যকরী বিবরণ

এই বিভাগটি সংক্ষিপ্তভাবে VL53L3CX রেঞ্জিং ডিভাইসের কার্যকরী ক্ষমতা বর্ণনা করে।

রেঞ্জিং সিকোয়েন্স

একটি স্ট্যান্ডার্ড ইন্টারাপ্ট ম্যানেজমেন্ট স্কিমের উপর ভিত্তি করে ডিভাইসটি হ্যান্ডশেক মেকানিজমের সাথে চলছে।
প্রতিটি রেঞ্জিংয়ের পরে, হোস্ট রেঞ্জিং ডেটা অর্জন করে এবং বাধা সাফ করে পরবর্তী রেঞ্জিং সক্ষম করে। এই প্রক্রিয়াটিকে হ্যান্ডশেক প্রক্রিয়া হিসাবে উল্লেখ করা হয়। পরবর্তী রেঞ্জিং তখন ট্রিগার হয় যদি বর্তমানটি সমাপ্ত হয় এবং হোস্ট যদি পূর্ববর্তী মুলতুবি বাধা সাফ করে থাকে।
ইন্টারাপ্ট মেকানিজম কমিউনিকেশন বা অ্যাসিঙ্ক্রোনিজম সমস্যার কারণে কোনো রেঞ্জিং ভ্যালু না হারিয়ে দ্রুত ডেটা ট্রান্সফারের অনুমতি দেয়। হ্যান্ডশেক পর্বের সময়, হোস্ট কিছু ডেটা প্রক্রিয়াকরণ করে। রেঞ্জিং ক্রমটি কার্যকরীভাবে নীচের চিত্রে বর্ণিত হয়েছে।
রেঞ্জিং সিকোয়েন্স

হ্যান্ডশেক ক্রম অভ্যন্তরীণ পরামিতি গণনা এবং পরবর্তী পরিসরের জন্য তাদের প্রয়োগ করার অনুমতি দেয়।
হ্যান্ডশেক অবশ্যই খালি চালকের ব্যবহারকারী দ্বারা সঞ্চালিত করা উচিত। একটি নতুন পরিমাপ পাওয়ার পরে একটি নতুন রেঞ্জিং সক্ষম করতে বিলম্ব হল সামগ্রিক সিস্টেম পরিমাপের হারের চাবিকাঠি।

সময় বিবেচনা

সময় উপস্থাপন করা হয় চিত্র 3 এ। রেঞ্জিং সিকোয়েন্স এবং টাইমিং টার্গেট।
হোস্ট বর্তমান পরিসরের সময়কালের (সময়ের বাজেটের পরিসরে) সর্বশেষ উপলব্ধ রেঞ্জিং পেতে পারে।
যদি হোস্ট দ্বারা বিঘ্ন সাফ করতে বিলম্ব করা হয়, মুলতুবি বাধা সাফ না হওয়া পর্যন্ত পরবর্তী রেঞ্জিং স্থগিত থাকবে।

দ্রষ্টব্য: সময় নির্দেশিত চিত্র 3 এ। রেঞ্জিং সিকোয়েন্স এবং টাইমিং টার্গেট হল সাধারণ সময়। হোস্ট বিভাগ 5.1 টাইমিং বাজেটে বর্ণিত একটি ডেডিকেটেড ড্রাইভার ফাংশন ব্যবহার করে ডিফল্ট টাইমিং বাজেট পরিবর্তন করতে পারে। হোস্ট অ্যাপ্লিকেশনে সিঙ্ক্রোনাইজ করতে বা পরিসরের সঠিকতা বাড়ানোর জন্য সময় বাজেট পরিবর্তন করার সিদ্ধান্ত নিতে পারে।
নিচের চিত্রে, "বুট", "SW স্ট্যান্ডবাই" এবং "Init" 40 ms স্থায়ী হয়। ডিভাইসের সঠিক সূচনা করার জন্য এই সময় প্রয়োজন, এবং এটি প্ল্যাটফর্ম বা ব্যবহৃত সময়ের বাজেট থেকে স্বাধীন। প্রথম পরিসর, "রেঞ্জ 1", বৈধ নয়, মোড়ক চেক করা সম্ভব নয়। এর মানে হল প্রথম বৈধ রেঞ্জিং মান হল “রেঞ্জ2”, 40 ms প্লাস টাইমিং বাজেট সময়কালের দ্বিগুণ পরে উপলব্ধ।
সময় বিবেচনা
চিত্র 3. রেঞ্জিং সিকোয়েন্স এবং টাইমিং টার্গেট

বেয়ার ড্রাইভার মৌলিক ফাংশন বিবরণ

এই বিভাগটি ড্রাইভার ফাংশন কল ফ্লো বর্ণনা করে যা একটি পরিমাপ পরিমাপ করতে অনুসরণ করা উচিত
VL53L3CX ব্যবহার করে।
VL53L3CX ড্রাইভার দুটি শ্রেণীর অ্যাপ্লিকেশনে ব্যবহৃত হয়:

  • ডিভাইস ক্রমাঙ্কনের জন্য ব্যবহৃত ফ্যাক্টরি অ্যাপ্লিকেশন, সাধারণত শেষ পণ্য উত্পাদন পরীক্ষায় (ফ্যাক্টরি প্রবাহ)
  • ফিল্ড অ্যাপ্লিকেশন, যা VL53L3CX ডিভাইস ব্যবহার করে সমস্ত শেষ-ব্যবহারকারী অ্যাপ্লিকেশন সংগ্রহ করে (বিস্তৃত প্রবাহ)

খালি চালক

বেয়ার ড্রাইভার কারখানার প্রবাহ নিম্নলিখিত চিত্রে চিত্রিত করা হয়েছে।
খালি চালক
চিত্র 4. VL53L3CX API রেঞ্জিং ফ্লো (ফ্যাক্টরি)

দ্রষ্টব্য: ক্রমাঙ্কন প্রবাহ দূরত্ব মোড পরিবর্তন করে। যদি আপনি একটি ক্রমাঙ্কনের পরে সেন্সরটি ব্যবহার করতে চান তবে SetDistanceMode() ফাংশনটি কল করা বাধ্যতামূলক।
বেয়ার ড্রাইভার রেঞ্জিং প্রবাহ নিম্নলিখিত চিত্রে চিত্রিত করা হয়েছে।
API রেঞ্জিং ফ্লো

চিত্র 5. VL53L3CX API রেঞ্জিং ফ্লো (ক্ষেত্র)

সিস্টেম আরম্ভ

নিম্নলিখিত বিভাগটি একটি পরিমাপ শুরু করার আগে, সিস্টেম আরম্ভ করার জন্য প্রয়োজনীয় API ফাংশন কলগুলি দেখায়৷

বুট জন্য অপেক্ষা করুন

VL53LX_WaitDeviceBooted() ফাংশন নিশ্চিত করে যে ডিভাইসটি বুট হয়েছে এবং প্রস্তুত। এই ফাংশনটি কল করা বাধ্যতামূলক নয়।

দ্রষ্টব্য: এই ফাংশন হোস্ট এক্সিকিউশন ব্লক করে। এই ফাংশনটি 4 ms এর বেশি অবরুদ্ধ করা উচিত নয়, অনুমান করে:

  • 400 kHz I2C ফ্রিকোয়েন্সি
  • প্রতি লেনদেনে 2 ms লেটেন্সি

তথ্য শুরু

VL53LX_DataInit() ফাংশনটি প্রতিবার "প্রাথমিক বুট" অবস্থা থেকে ডিভাইসটি প্রস্থান করার সময় কল করতে হবে। এটি ডিভাইস ইনিশিয়ালাইজেশন করে। VL53LX_DataInit() ফাংশন কল করার পরে ক্রমাঙ্কন ডেটা VL53LX_SetCalibrationData() ফাংশন ব্যবহার করে লোড করতে হবে।

VL53L3CX এর সাথে রেঞ্জিং

নন-লিনাক্স হোস্টগুলিতে, বেয়ার ড্রাইভার সিকোয়েন্সের ব্যবহারকারী এমনভাবে ড্রাইভারকে কল করে যা অ্যাপ্লিকেশনের প্রয়োজন, প্ল্যাটফর্মের ক্ষমতা এবং বেয়ার ড্রাইভার কল সিকোয়েন্সের নিয়মগুলির জন্য উপযুক্ত।

একটি পরিমাপ শুরু করুন

VL53LX_StartMeasurement() ফাংশন একটি পরিমাপ শুরু করতে কল করতে হবে।

একটি ফলাফলের জন্য অপেক্ষা করুন: পোলিং বা বাধা

একটি পরিমাপ পাওয়া যায় তা জানার 3টি উপায় রয়েছে। হোস্ট করতে পারেন:

  1. একটি পোলিং ফাংশন কল
  2. একটি ড্রাইভার ফাংশন পোল
  3. একটি শারীরিক বাধার জন্য অপেক্ষা করুন

ফলাফলের স্ট্যাটাস পেতে ড্রাইভার পোলিং
VL53LX_WaitMeasurementDataReady() ফাংশনটি একটি পরিমাপ প্রস্তুত না হওয়া পর্যন্ত একটি অভ্যন্তরীণ স্থিতিতে পোলিং করছে৷

দ্রষ্টব্য: এই ফাংশনটি ব্লক করছে, কারণ অভ্যন্তরীণ ভোটগ্রহণ করা হয়৷

ফলাফলের অবস্থা পেতে পোলিং হোস্ট করুন
একটি নতুন পরিমাপ প্রস্তুত হলে হোস্ট VL53LX_GetMeasurementDataReady() ফাংশনে পোল করতে পারে। এই ফাংশন ব্লক করা হয় না.

শারীরিক বাধা ব্যবহার করে

রেঞ্জিং স্ট্যাটাস পাওয়ার একটি বিকল্প এবং পছন্দের উপায় হল ফিজিক্যাল ইন্টারাপ্ট আউটপুট ব্যবহার করা। ডিফল্টরূপে, একটি নতুন পরিমাপ প্রস্তুত হলে GPIO1 কম হয়।
এই পিনটি শুধুমাত্র একটি আউটপুট পিন, এই ডিভাইসে কোন ইনপুট ইন্টারাপ্ট পিন নেই। ড্রাইভার ফাংশন VL53LX_ClearInterruptAndStartMeasurement() কল করে বিঘ্ন সাফ করতে হবে।

পরিমাপ পান

একাধিক অবজেক্ট প্রতি রেঞ্জিং শনাক্ত করা যেতে পারে, এবং পরিমাপের ডেটা প্রতি অবজেক্টের রিপোর্ট করা হয় VL53LX_GetMultiRangingData() যখন একাধিক অবজেক্ট এর ক্ষেত্রে থাকে তখন রেঞ্জিং ডেটা পেতে ব্যবহার করা যেতে পারে view. ডিভাইসটিকে একাধিক রেঞ্জিং ফলাফল পেতে এই ফাংশনটিকে কল করার সময়, VL53LX_MultiRangingData_t নামক একটি কাঠামো ফিরে আসে৷

একটি পরিমাপ বন্ধ করুন

ক্রমাগত মোডে, হোস্ট VL53LX_StopMeasurement() ফাংশন কল করে পরিমাপ বন্ধ করতে পারে। যদি স্টপ অনুরোধ একটি পরিসীমা পরিমাপের সময় ঘটে, তাহলে পরিমাপ অবিলম্বে বাতিল করা হয়।

রেঞ্জিং ডেটা স্ট্রাকচার

VL53LX_MultiRangingData_t নামের স্ট্রাকচারে শনাক্ত করা সমস্ত লক্ষ্যগুলির জন্য প্রযোজ্য নিম্নলিখিত ডেটা রয়েছে:

  • সময় সেন্টamp: বাস্তবায়িত হয় না।
  • স্ট্রিম সংখ্যা: এই 8-বিট পূর্ণসংখ্যা প্রতিটি পরিসরে একটি কাউন্টার বৃদ্ধি করে। মানটি 0 থেকে শুরু হয়, 1 দ্বারা 1 বৃদ্ধি করে 255 পর্যন্ত। যখন এটি 255 এ পৌঁছায়, এটি আবার 128 থেকে 255 পর্যন্ত শুরু হয়।
  • পাওয়া বস্তুর সংখ্যা: 8-বিট পূর্ণসংখ্যার মান যা পাওয়া বস্তুর সংখ্যা দেয়।
  • রেঞ্জ ডেটা [VL53LX_MAX_RANGE_RESULTS]: VL53LX_TargetRangeData_t ধরনের কাঠামোর একটি টেবিল। লক্ষ্যের সর্বাধিক সংখ্যা VL53LX_MAX_RANGE_RESULTS দ্বারা দেওয়া হয়েছে এবং ডিফল্টরূপে 4 এর সমান।
  • এক্স টক মান পরিবর্তন হয়েছে: 8-বিট পূর্ণসংখ্যার মান যা নির্দেশ করে যে ক্রসস্টাল মান পরিবর্তন করা হয়েছে কিনা।
  • কার্যকরী স্প্যাড আরটিএন কাউন্ট: 16-বিট পূর্ণসংখ্যা যা বর্তমান পরিসরের জন্য কার্যকর একক ফোটন অ্যাভাল্যাঞ্চ ডায়োড (SPAD) গণনা প্রদান করে। প্রকৃত মান পেতে এটিকে 256 দ্বারা ভাগ করা উচিত।

লক্ষ্য প্রতি একটি কাঠামো শনাক্ত করা হয়েছে (ডিফল্টভাবে 4টি পর্যন্ত) যাকে VL53LX_TargetRangeData_t বলা হয় যাতে সনাক্ত করা প্রতিটি লক্ষ্যের জন্য নিম্নলিখিত নির্দিষ্ট ফলাফল রয়েছে।

  • রেঞ্জম্যাক্সমিলিমিটার: একটি 16-বিট পূর্ণসংখ্যা, বৃহত্তর সনাক্ত করা দূরত্ব নির্দেশ করে।
  • রেঞ্জমিনমিলিমিটার: একটি 16-বিট পূর্ণসংখ্যা, ছোট শনাক্ত করা দূরত্ব নির্দেশ করে।
  • SignalRateRtnMegaCps: এই মান হল MegaCountPer সেকেন্ডে (MCPS) রিটার্ন সিগন্যাল রেট, এটি একটি 16.16 ফিক্স পয়েন্ট মান। প্রকৃত মান পেতে এটি 65536 দ্বারা ভাগ করা উচিত।
  • অ্যাম্বিয়েন্ট রেটRtnMegaCps: এই মান হল রিটার্ন অ্যাম্বিয়েন্ট রেট (MCPS-এ), এটি একটি 16.16 ফিক্স পয়েন্ট মান, যা কার্যকরভাবে সেন্সর দ্বারা পরিমাপ করা পরিবেষ্টিত আলোর পরিমাণের একটি পরিমাপ। প্রকৃত মান পেতে এটি 65536 দ্বারা ভাগ করা উচিত।
  • সিগমামিলিমিটার: এই 16.16 ফিক্স পয়েন্ট মান হল বর্তমান পরিসরের মানক বিচ্যুতির একটি অনুমান, মিলিমিটারে প্রকাশ করা হয়। প্রকৃত মান পেতে এটি 65536 দ্বারা ভাগ করা উচিত।
  • রেঞ্জমিলিমিটার: একটি 16-বিট পূর্ণসংখ্যা যা মিলিমিটারে পরিসরের দূরত্ব নির্দেশ করে।
  • রেঞ্জ স্ট্যাটাস: এটি একটি 8-বিট পূর্ণসংখ্যা যা বর্তমান পরিমাপের জন্য পরিসীমা স্থিতি নির্দেশ করে। মান = 0 মানে রেঞ্জিং বৈধ। সারণী 1 দেখুন। পরিসরের অবস্থা।
  • বর্ধিত পরিসীমা: এটি একটি 8-বিট পূর্ণসংখ্যা যা নির্দেশ করে যে পরিসরটি মোড়ানো হয়েছে কিনা (শুধুমাত্র দীর্ঘ দূরত্বের জন্য)

লক্ষ্য সনাক্ত না হলে একটি নির্দিষ্ট আচরণ প্রয়োগ করা হয়। যদি লক্ষ্যটি সনাক্ত না করা হয় এবং পরিমাপটি বৈধ হয়, তাহলে নিম্নলিখিত মানগুলি VL53LX_TargetRangeData_t কাঠামোতে রিপোর্ট করা হয়:

  • রেঞ্জম্যাক্সমিলিমিটার: বাধ্যতামূলকভাবে 8191।
  • রেঞ্জমিনমিলিমিটার: বাধ্যতামূলকভাবে 8191।
  • SignalRateRtnMegaCps: 0 করতে বাধ্য করা হয়েছে।
  • AmbientRateRtnMegaCps: পরিবেষ্টিত হার মান সাধারণত গণনা করা হয়।
  • সিগমামিলিমিটার: জোর করে 0।
  • রেঞ্জমিলিমিটার: বাধ্যতামূলকভাবে 8191।
  • রেঞ্জ স্ট্যাটাস: বাধ্যতামূলকভাবে 255।
  • এক্সটেন্ডেড রেঞ্জ: জোর করে 0।

সারণী 1. পরিসীমা অবস্থা

মান রেঞ্জ স্ট্যাটাস স্ট্রিং মন্তব্য করুন
0 VL53LX_RANGESTATUS_RANGE_VALID রেঞ্জিং পরিমাপ বৈধ
 1  VL53LX_RANGESTATUS_SIGMA_FAIL সিগমা অনুমানকারী চেক অভ্যন্তরীণ সংজ্ঞায়িত থ্রেশহোল্ডের উপরে থাকলে উত্থাপিত হয়। সিগমা অনুমানকারী সংকেত সম্পর্কে একটি গুণগত তথ্য দেয়।
2 VL53LX_RANGESTATUS_SIGNAL_FAIL একটি লক্ষ্য শনাক্ত করার জন্য সংকেত খুব কম হলে উত্থাপিত হয়।
4 VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL রেঞ্জের ফলাফল সীমার বাইরে হলে উত্থাপিত হয়
5 VL53LX_RANGESTATUS_HARDWARE_FAIL HW বা VCSEL ব্যর্থতার ক্ষেত্রে উত্থাপিত হয়
6 VL53LX_RANGESTATUS_RANGE_VALID_NO_WR AP_CHECK_FAIL কোন মোড়ক চেক করা হয়নি (এটি প্রথম পরিসর)
7 VL53LX_RANGESTATUS_WRAP_TARGET_FAIL মোড়ানো হয়েছে
8 VL53LX_RANGESTATUS_PROCESSING_FAIL অভ্যন্তরীণ প্রক্রিয়াকরণ ত্রুটি
10 VL53LX_RANGESTATUS_SYNCRONISATION_INT init-এর পরে এক বার উত্থাপিত, রেঞ্জিং মান উপেক্ষা করতে হবে
11 VL53LX_RANGESTATUS_RANGE_VALID_MERGE D_PULSE রেঞ্জিং ঠিক আছে, কিন্তু রিপোর্ট করা দূরত্ব একাধিক লক্ষ্য একত্রিত হওয়ার ফলাফল।
12 VL53LX_RANGESTATUS_TARGET_PRESENT_LA CK_OF_SIGNAL ইঙ্গিত করুন যে একটি লক্ষ্য আছে, কিন্তু রেঞ্জিং রিপোর্ট করার জন্য সংকেত খুবই কম
14 VL53LX_RANGESTATUS_RANGE_INVALID রেঞ্জিং ডেটা নেতিবাচক এবং উপেক্ষা করতে হবে
255 VL53LX_RANGESTATUS_NONE লক্ষ্য শনাক্ত করা হয়নি, সতর্কতা বা ত্রুটি ছাড়াই

প্রথম পরিমাপ একটি মোড়ক চেক অন্তর্ভুক্ত না. এই পরিমাপ পরিমাপ বাতিল করা যেতে পারে.
দ্রষ্টব্য: পরিসীমা স্থিতি 1 প্রায়শই গোলমাল পরিমাপের কারণে হয়। সিগমা অনুমানকারী চিকিত্সা সংকেতগুলির SNR দ্বারা প্রভাবিত হয়।
দ্রষ্টব্য: পরিমাপের রেফারেন্সে কিছু ত্রুটি ঘটলে পরিসীমা স্থিতি 4 উত্থাপিত হয়। এটি নেতিবাচক পরিমাপ বা অত্যন্ত উচ্চ রেঞ্জিং মান হিসাবে outliers হতে পারে।

অতিরিক্ত ড্রাইভার ফাংশন বিবরণ

টাইমিং বাজেট

টাইমিং বাজেট হল একটি পরিসীমা পরিমাপ করার জন্য ব্যবহারকারীর দ্বারা বরাদ্দ করা সময়। VL53LX_SetMeasurementTimingBudgetMicroSeconds() হল টাইমিং বাজেট সেট করার জন্য ব্যবহার করা ফাংশন। ডিফল্ট টাইমিং বাজেটের মান হল 33 ms সর্বনিম্ন 8 ms, সর্বোচ্চ 500 ms.
প্রাক্তন জন্যample, সময় বাজেটকে 66 ms-এ সেট করতে: status = VL53LX_SetMeasurementTimingBudgetMicroSeconds(&VL53L3Dev, 66000);
VL53LX_GetMeasurementTimingBudgetMicroSeconds() ফাংশনটি প্রোগ্রাম করা সময় বাজেট প্রদান করে।

দূরত্ব মোড

ব্যবহারকারীর অনুরোধ করা দূরত্বের উপর নির্ভর করে অভ্যন্তরীণ সেটিংস অপ্টিমাইজ করার জন্য একটি ফাংশন যোগ করা হয়েছে। দূরত্ব মোড পরিবর্তনের সুবিধা নিম্নলিখিত সারণীতে বিস্তারিতভাবে বর্ণনা করা হয়েছে।

সারণী 2. দূরত্ব মোড

সম্ভাব্য দূরত্ব মোড উপকার/মন্তব্য
সংক্ষিপ্ত উন্নত পরিবেষ্টিত অনাক্রম্যতা
মাঝারি (ডিফল্ট) সর্বোচ্চ দূরত্ব
লম্বা কম শক্তি খরচ

যে ফাংশনটি ব্যবহার করা হবে তাকে VL53LX_SetDistanceMode() বলা হয়।
ড্রাইভার হোস্টকে সর্বোত্তম দূরত্ব মোড নির্বাচন করতে সাহায্য করতে পারে। পরিবেষ্টিত অবস্থার উপর নির্ভর করে সর্বোত্তম পছন্দ নির্দেশ করতে প্রতিটি রেঞ্জে একটি নির্দিষ্ট মান প্রদান করা হয়।
সম্ভাব্য মান হল:

  • VL53LX_DISTANCE_SHORT
  • VL53LX_DISTANCE_MEDIUM
  • VL53LX_DISTANCE_LONG

টিউনিং পরামিতি

টিউনিং পরামিতিগুলি সেন্সর এবং হোস্ট ব্যবহারের ক্ষেত্রের মধ্যে সেরা ফিট খুঁজে পেতে অনুমতি দেয়। প্রতিটি ব্যবহারের ক্ষেত্রে, টিউনিং পরামিতিগুলির একটি সেট সংজ্ঞায়িত করা যেতে পারে এবং ড্রাইভারে লোড করা যেতে পারে।
বেশিরভাগ টিউনিং প্যারামিটার হল টিউনেবল থ্রেশহোল্ড, যা সিগন্যাল ট্রিটমেন্ট অ্যালগরিদমে ব্যবহৃত হয়। এই পরামিতিগুলি পরিবর্তন করা অ্যালগরিদমকে নির্দিষ্ট গ্রাহক ব্যবহারের ক্ষেত্রে প্রযুক্তিগত বাণিজ্য বন্ধ করতে দেয়।

একটি টিউনিং পরামিতি সেট করুন

টিউনিং পরামিতি লোড করার জন্য একটি অতিরিক্ত ফাংশন বিদ্যমান। নির্দিষ্ট ব্যবহারের ক্ষেত্রে, ST একটি কী এবং একটি মান নিয়ে গঠিত কিছু নির্দিষ্ট পরামিতি সুপারিশ করতে পারে।
টিউনিং প্যারামিটারের তালিকা এবং তাদের ডিফল্ট মান vl53lx_tuning_parm_defaults.h এ দেওয়া আছে file. হয় এটিতে একটি টিউনিং প্যারামিটার মান পরিবর্তন করুন file এবং কোডটি পুনরায় কম্পাইল করুন, অথবা এই টিউনিং প্যারামিটার লোড করতে VL53LX_SetTuningParameter() ফাংশনটি ব্যবহার করুন।
একটি টিউনিং পরামিতি পরিবর্তন করা ডিভাইসের কর্মক্ষমতা পরিবর্তন করতে পারে। ST সর্বোত্তম ফলাফলের জন্য ডিফল্ট মান ব্যবহার করার পরামর্শ দেয়।

নির্ভুলতা উন্নত করুন

ডিভাইসের নির্ভুলতা উন্নত করার জন্য, VL53LX_TUNINGPARM_PHASECAL_PATCH_POWER নামক টিউনিং প্যারামিটার ব্যবহার করুন৷ ডিফল্টরূপে এই টিউনিং পরামিতি প্রয়োগ করা হয় না (মান 0 সেট করা হয়)।
ST static_init-এর পরে ক্রমাঙ্কন এবং রেঞ্জিং প্রবাহের মান 2-এ সেট করার পরামর্শ দেয়। এই ক্ষেত্রে, রেফারেন্স সিগন্যাল পরিমাপ করার সময় বৃদ্ধি করা হয় এবং আরও সঠিকতার অনুমতি দেয়। এই পরামিতিটি 2 তে সেট করলে প্রথম পরিমাপটি 240 ms দ্বারা বৃদ্ধি পায়।

লেটেন্সি এবং সর্বোচ্চ রেঞ্জিং দূরত্ব উন্নত করুন

যখন লক্ষ্যটি সরানো হয়, দৃশ্যের উপর নির্ভর করে VL53L3CX-এর প্রতিক্রিয়া করার জন্য বিভিন্ন পরিসরের প্রয়োজন হতে পারে। লেটেন্সি উন্নত করার একটি উপায় হল VL53LX_TUNINGPARM_RESET_MERGE_THRESHOLD প্যারামিটার টিউন করা৷ ডিফল্ট মান হল 15000৷ এটিকে লেটেন্সি উন্নত করতে কমানো যেতে পারে, তবে সর্বাধিক রেঞ্জিং দূরত্ব প্রভাবিত হবে৷
ব্যবহারকারী মান বাড়ালে, সর্বোচ্চ পরিসরের দূরত্ব উন্নত করা যেতে পারে, তবে লেটেন্সি প্রভাবিত হয়।

কভার গ্লাস স্মাজ সনাক্তকরণ

কভার গ্লাসে স্মুজ দ্বারা ক্রসস্টক প্রভাবিত হতে পারে। VL53L3CX একটি ফাংশন এমবেড করে যা ফ্লাইতে স্মাজ সনাক্ত করতে এবং একটি নতুন ক্রসস্টাল সংশোধন মান প্রয়োগ করতে সক্ষম। ব্যবহারকারী VL53LX_SmudgeCorrectionEnable() কল করে এই ফাংশনটি সক্ষম/অক্ষম করতে পারেন।

নিম্নলিখিত তিনটি বিকল্প এই ফাংশন দিয়ে সেট করা যেতে পারে:

  • VL53LX_SMUDGE_CORRECTION_NONE সংশোধন নিষ্ক্রিয় করতে
  • ক্রমাগত সংশোধন সক্ষম করতে VL53LX_SMUDGE_CORRECTION_CONTINUOUS
  • VL53LX_SMUDGE_CORRECTION_SINGLE একটি স্টার্ট কমান্ড পাওয়ার পরে একটি একক সংশোধন সক্ষম করতে।

প্রতিটি রেঞ্জে স্মাজ সনাক্তকরণ চলছে। যদি কিছু শর্ত পূরণ করা হয় (80 সেন্টিমিটারের নিচে কোনো বস্তু, থ্রেশহোল্ডের নিচে পরিবেষ্টিত আলোর স্তর এবং 1kcps-এর উপরে ক্রসস্টাল মান না থাকে), একটি নতুন ক্রসস্টাল মান গণনা করা হয়।
স্মাজ সংশোধন সেট করা থাকলে, ক্রসস্টাল মান সংশোধন করা হয় এবং ফ্ল্যাগ HasXtalkValueChanged সেট করা হয়। এই পতাকাটি পরবর্তী পরিসরে স্বয়ংক্রিয়ভাবে সাফ হয়ে যায়।

দ্রষ্টব্য: দাগ সংশোধন সীমাবদ্ধ:

  • স্বল্প দূরত্ব মোড ব্যবহার করে 1.2 মি
  • মাঝারি দূরত্ব মোড ব্যবহার করে 1.7 মি
  • দীর্ঘ দূরত্ব মোড ব্যবহার করে 3.8 মি.

I2C ঠিকানা

VL2L53CX এর ডিফল্ট I3C ঠিকানা হল 0x52। কিছু অ্যাপ্লিকেশনের জন্য আলাদা I2C ডিভাইসের ঠিকানা সেট করতে হবে। এই ক্ষেত্রে, প্রাক্তন জন্যample, যখন বেশ কিছু VL53L3CX অংশ একই I2C বাস শেয়ার করে।

গ্রাহককে নিম্নলিখিত পদ্ধতি প্রয়োগ করতে হবে:

  • VL53L3CX মাউন্ট করা বোর্ড সাবধানে ডিজাইন করতে হবে। প্রতিটি VL1L53CX এর জন্য Xshut এবং GPIO3 (ইন্টারপ্ট) পিনগুলিকে পৃথকভাবে নিয়ন্ত্রণ করতে হবে
  • হোস্টকে HW স্ট্যান্ডবাই রাখতে হবে, Xshut পিন কম সেট করে, সমস্ত VL53L3CX।
  • হোস্ট VL1L53CX এর 3 এর Xshut পিন উত্থাপন করে
  • হোস্ট VL53LX_SetDeviceAddress() ফাংশনটিকে কল করে
  • সমস্ত VL53L3CX ঠিকানা সঠিকভাবে সেট করা থেকে হোস্ট পরবর্তী তিনটি পয়েন্ট পুনরাবৃত্তি করে।

প্রাক্তন জন্যample, ফাংশনটি কল করে: status = VL53LX_SetDeviceAddress(&VL53L3Dev, WantedAddress) WantedAddress এর মানটি নতুন I2C ঠিকানা হিসাবে সেট করা হয়েছে।

গ্রাহক কারখানা ক্রমাঙ্কন ফাংশন

ডিভাইসের সম্পূর্ণ কার্যক্ষমতার সুবিধার জন্য, VL53L3CX ড্রাইভার গ্রাহক উৎপাদন লাইনে একবার চালানোর জন্য ক্রমাঙ্কন ফাংশন অন্তর্ভুক্ত করে।
ডিভাইস পারফরম্যান্সকে প্রভাবিত করতে পারে এমন পার্ট-টু-পার্ট প্যারামিটারগুলিকে ক্ষতিপূরণ দেওয়ার জন্য ক্রমাঙ্কন পদ্ধতিগুলি চালাতে হবে। হোস্টে সংরক্ষিত ক্রমাঙ্কন ডেটা একটি ডেডিকেটেড ড্রাইভার ফাংশন ব্যবহার করে প্রতিটি স্টার্টআপে VL53L3CX এ লোড করতে হবে। তিনটি ক্রমাঙ্কন প্রয়োজন: refSPAD, crosstalk এবং অফসেট।

ক্রমাঙ্কন ফাংশনগুলিকে নিম্নরূপ বলা হয়:

  1. refSPAD
  2. ক্রসস্টক
  3. অফসেট

তিনটি ক্রমাঙ্কন ফাংশন ক্রমিক মোডে বা পৃথকভাবে করা যেতে পারে। পৃথকভাবে চালানো হলে, ক্রমাঙ্কন চালানোর আগে পূর্ববর্তী ধাপের ডেটা লোড করতে হবে।

RefSPAD ক্রমাঙ্কন

ST-তে চূড়ান্ত মডিউল পরীক্ষার সময় একক ফোটন অ্যাভাল্যাঞ্চ ডায়োডের (SPAD) সংখ্যা ক্রমাঙ্কিত হয়। এই পার্ট-টু-পার্ট মান NVM-এ সংরক্ষিত থাকে এবং বুট করার সময় ডিভাইসে স্বয়ংক্রিয়ভাবে লোড হয়।
এই ক্রমাঙ্কনটি ডিভাইসটিকে গতিশীল করার জন্য SPAD-এর সংখ্যা সামঞ্জস্য করার অনুমতি দেয়।
যাইহোক, মডিউলের উপরে একটি কভার গ্লাস যোগ করা এই ক্রমাঙ্কনকে প্রভাবিত করতে পারে। ST সুপারিশ করে যে গ্রাহক চূড়ান্ত পণ্য প্রয়োগে আবার এই ক্রমাঙ্কনটি সম্পাদন করে। FMT-এ চলমান একই অ্যালগরিদম প্রয়োগ করা হয় যখন এই ফাংশনটি বলা হয়: অ্যালগরিদম তিনটি অবস্থানের মাধ্যমে অনুসন্ধান করে: 1 (1x ক্ষয়প্রাপ্ত SPADs), 2 (5 x attenuated SPADs) এবং 3 (10 x attenuated SPADs)। সিগন্যাল স্যাচুরেশন এড়াতে SPAD-এর সংখ্যা বেছে নেওয়া হয়।

RefSPAD ক্রমাঙ্কন ফাংশন

SPAD ক্রমাঙ্কনের জন্য নিম্নলিখিত ফাংশন উপলব্ধ: VL53LX_PerformRefSpadManagement(VL53LX_DEV Dev)

দ্রষ্টব্য: ক্রমাঙ্কন পদ্ধতিতে এই ফাংশনটি প্রথমে কল করতে হবে।

ফাংশন নিম্নলিখিত তিনটি সতর্কতা বার্তা আউটপুট করতে পারে:

  • VL53LX_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPA S 5 টির কম ভাল SPAD উপলব্ধ, আউটপুট বৈধ নয়
  • VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH সার্চ রেফারেন্স রেট শেষে > 40.0 Mcps অফসেট স্থিতিশীলতা অবনমিত হতে পারে।
  • VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW সার্চের শেষে রেফারেন্স রেট < 10.0 Mcps। অফসেট স্থিতিশীলতা অবনমিত হতে পারে।

RefSPAD ক্রমাঙ্কন পদ্ধতি

এই ক্রমাঙ্কনের জন্য কোনও বিশেষ শর্ত অনুসরণ করতে হবে না, ব্যতীত ডিভাইসের উপরে কোনও লক্ষ্য স্থাপন করা উচিত নয়।
এই ক্রমাঙ্কন সম্পাদন করার সময় মাত্র কয়েক মিলিসেকেন্ড।
VL53LX_DataInit() ফাংশন কল করার পরে এই ফাংশনটিকে কল করতে হবে।

refSPAD ক্রমাঙ্কন ফলাফল পাওয়া যাচ্ছে

VL53LX_GetCalibrationData() ফাংশন সমস্ত ক্রমাঙ্কন ডেটা প্রদান করে। ফিরে আসা কাঠামো VL53LX_CalibrationData_t-এ VL53LX_customer_nvm_managed_t নামে আরেকটি কাঠামো রয়েছে, যাতে আটটি refSPAD ক্রমাঙ্কন পরামিতি রয়েছে:

  • ref_spad_man__num_requested_ref_spads: এই মানটি 5 থেকে 44 এর মধ্যে। এটি নির্বাচিত SPAD এর সংখ্যা দেয়
  • ref_spad_man__ref_location: এই মান 1, 2 বা 3 হতে পারে। এটি রেফারেন্স এলাকায় SPAD-এর অবস্থান দেয়।
  • ছয়টি অতিরিক্ত পরামিতি নির্বাচিত অবস্থানের জন্য সঠিক স্প্যাড মানচিত্র দেয়:
    • global_config__spad_enables_ref_0
    • global_config__spad_enables_ref_1
    • global_config__spad_enables_ref_2
    • global_config__spad_enables_ref_3
    • global_config__spad_enables_ref_4
    • global_config__spad_enables_ref_5

refSPAD ক্রমাঙ্কন ডেটা সেট করা হচ্ছে

প্রতিটি স্টার্টআপে, একটি প্রাথমিক বুটের পরে, VL53LX_DataInit() ফাংশন কল করার পরে, VL53LX_SetCalibrationData() ব্যবহার করে গ্রাহক ফিল্ড অ্যাপ্লিকেশন refSPAD ক্রমাঙ্কন ডেটা লোড করতে পারে।
VL53LX_GetCalibrationData() কল করে সমগ্র ক্রমাঙ্কন কাঠামো পেতে সুপারিশ করা হয়। RefSPAD ক্রমাঙ্কন ফলাফল পাওয়া বিভাগ 6.1.3 এ বর্ণিত আটটি প্যারামিটার পরিবর্তন করুন এবং VL53LX_SetCalibrationData() কল করুন।

ক্রসস্টাল ক্রমাঙ্কন

Crosstalk (XTalk) কে রিটার্ন অ্যারেতে প্রাপ্ত সিগন্যালের পরিমাণ হিসাবে সংজ্ঞায়িত করা হয় যা নান্দনিক কারণে মডিউলের উপরে যুক্ত প্রতিরক্ষামূলক উইন্ডো (কভার গ্লাস) এর ভিতরে VCSEL আলোর প্রতিফলনের কারণে হয়।
কভার গ্লাস মানের উপর নির্ভর করে, এই পরজীবী সংকেত ডিভাইসের কার্যকারিতা প্রভাবিত করতে পারে। VL53L3CX এর একটি অন্তর্নির্মিত সংশোধন রয়েছে যা এই সমস্যার ক্ষতিপূরণ দেয়।
মডিউলের উপরে যোগ করা একটি কভার গ্লাসের প্রভাবের ক্ষতিপূরণের জন্য প্রয়োজনীয় সংশোধনের পরিমাণ অনুমান করতে Crosstalk ক্রমাঙ্কন ব্যবহার করা হয়।
Crosstalk ক্রমাঙ্কনের আউটপুটে অনেকগুলি পরামিতি রয়েছে যা ক্রসস্ট্যাক মডেলকে সংজ্ঞায়িত করে, যেমনটি বিভাগ 6.2.3-এ বর্ণনা করা হয়েছে ক্রসস্টালক ক্রমাঙ্কনের ফলাফল পাওয়া।

Crosstalk ক্রমাঙ্কন ফাংশন

ক্রসস্টাল ক্রমাঙ্কনের জন্য নিম্নলিখিত উত্সর্গীকৃত ফাংশন উপলব্ধ: VL53LX_PerformXTalkCalibration(&VL53L3Dev);

দ্রষ্টব্য: রেফস্প্যাড ক্রমাঙ্কন সম্পন্ন হওয়ার পরে এবং অফসেট ক্রমাঙ্কনের আগে এই ফাংশনটিকে ক্রমাঙ্কন পদ্ধতিতে দ্বিতীয় অবস্থানে কল করতে হবে।

ক্রসস্টাল ক্রমাঙ্কন পদ্ধতি

ক্রসস্ট্যাক ক্রমাঙ্কন সম্পাদন করতে, ডিভাইস থেকে 600 মিমি দূরত্বে একটি লক্ষ্য স্থাপন করতে হবে। ক্রসস্ট্যাক ক্রমাঙ্কন একটি অন্ধকার পরিবেশে পরিচালনা করা উচিত যেখানে কোন IR অবদান নেই। VL53LX_DataInit() এবং VL53LX_PerformRefSpadManagement() ফাংশন কল করার পরে, ডেডিকেটেড ক্রমাঙ্কন ফাংশনটি কল করতে হবে, ব্যবহার করে: VL53LX_PerformXTalkCalibration(&VL53L3Dev). যখন এই ফাংশনগুলিকে কল করা হয়, তখন ক্রসস্ট্যাক ক্রমাঙ্কন করা হয় এবং ক্রসস্ট্যাক সংশোধন ডিফল্টরূপে প্রয়োগ করা হয়।

ক্রসস্টক ক্রমাঙ্কনের ফলাফল পাওয়া যাচ্ছে

ক্রমাঙ্কনের ফলাফলগুলি অন্যদের মধ্যে, একটি হিস্টোগ্রাম এবং "প্লেন অফসেট" নামক একটি প্যারামিটার নিয়ে গঠিত। সমতল অফসেট প্রয়োগকৃত সংশোধনের পরিমাণ উপস্থাপন করে এবং হিস্টোগ্রাম হল প্রতিটি বিনের সংশোধনের পুনরায় বিভাজন। VL53LX_GetCalibrationData() ফাংশন সমস্ত ক্রমাঙ্কন ডেটা প্রদান করে। ফিরে আসা কাঠামো VL53LX_CalibrationData_t-এ অন্যান্য কাঠামো রয়েছে। প্লেন অফসেটটি VL53LX_customer_nvm_managed_t-এ রয়েছে: algo_crosstalk_compensation_plane_offset_kcps হল একটি নির্দিষ্ট পয়েন্ট 7.9 কোডেড মান। প্রকৃত সংখ্যা পেতে এটিকে 512 দ্বারা ভাগ করতে হবে।
অন্য দুটি প্রাসঙ্গিক কাঠামো ফেরত দেওয়া হয়েছে: VL53LX_xtalk_histogram_data_t এবং algo__xtalk_cpo_HistoMerge_kcps। এগুলো সংরক্ষণ করা বাধ্যতামূলক।

Crosstalk ক্রমাঙ্কন ডেটা সেট করা হচ্ছে

একবার VL53LX_DataInit() ফাংশন কল করা হলে, গ্রাহক ক্রসস্টালক ক্রমাঙ্কন ডেটা ব্যবহার করে লোড করতে পারেন: VL53LX_SetCalibrationData()
VL53LX_GetCalibrationData() কল করা, পূর্ববর্তী বিভাগে বর্ণিত প্যারামিটারগুলি সংশোধন করা, xtalk_histogram গঠন অন্তর্ভুক্ত করা এবং VL53LX_SetCalibrationData() কল করা ভাল।

ক্রসস্টক ক্ষতিপূরণ সক্ষম/অক্ষম করুন

VL53LX_SetXTalkCompensationEnable() ফাংশন ক্রসস্টাল ক্ষতিপূরণ সক্ষম বা নিষ্ক্রিয় করে।

দ্রষ্টব্য: Crosstalk ক্ষতিপূরণ ডিফল্টরূপে অক্ষম করা হয়। Crosstalk ক্ষতিপূরণ সক্ষম করতে কল করুন V53LX_SetXTalkCompensationEnable&VL53L3Dev, 1);
Crosstalk ক্ষতিপূরণ নিষ্ক্রিয় করতে কল করুন VL53LX_SetXTalkCompensationEnable&VL53L3Dev, 0);
দ্রষ্টব্য: এই ফাংশন কোনো ক্রমাঙ্কন বা ক্রসস্ট্যাক ডেটা লোডিং সঞ্চালন করে না, এটি শুধুমাত্র ক্ষতিপূরণ সক্ষম করে।
দ্রষ্টব্য: ক্রমাঙ্কন, বা ক্রমাঙ্কন ডেটা ফাংশনের লোডিং, এই সক্রিয়/অক্ষম ফাংশন থেকে আলাদাভাবে কল করতে হবে (উপরের বিভাগগুলি দেখুন)।

অফসেট ক্রমাঙ্কন

গ্রাহক বোর্ডে ডিভাইসটি সোল্ডার করা বা একটি কভার গ্লাস যোগ করা দূরত্বের মধ্যে একটি অফসেট প্রবর্তন করতে পারে। এই অংশ থেকে অংশ অফসেট অফসেট ক্রমাঙ্কন সময় পরিমাপ করতে হবে. অফসেট ক্রমাঙ্কন অফসেট ক্রমাঙ্কনের তুলনায় একই ক্রমাঙ্কন শর্তগুলি ব্যবহার করে dmax মানকে ক্রমাঙ্কন করার অনুমতি দেয়।

অফসেট ক্রমাঙ্কন ফাংশন

অফসেট ক্রমাঙ্কনের জন্য নিম্নলিখিত দুটি ফাংশন উপলব্ধ:

  • VL53LX_PerformOffsetSimpleCalibration(Dev, CalDistanceMilliMeter)
  • VL53LX_PerformOffsetPerVCSECalibration(Dev, CalDistanceMilliMeter)

ফাংশনের যুক্তি হল লক্ষ্য দূরত্ব মিলিমিটারে। ক্রসস্টক সংশোধনের পরে অফসেট ক্রমাঙ্কন করতে হবে।
VL53LX_PerformOffsetPerVCSECalibration হল সবচেয়ে নির্ভুল ফাংশন, কিন্তু ক্রমাঙ্কন করতে বেশি সময় লাগে (সময় 3 দিয়ে গুণ করা হয়)।

অফসেট ক্রমাঙ্কন পদ্ধতি
গ্রাহকরা যে কোনও দূরত্বে স্থাপন করা যে কোনও চার্ট প্রতিফলন নির্বাচন করতে পারেন (ক্রসস্ট্যাক ক্রমাঙ্কনের মতো একই সেটআপ ব্যবহার করে)। চেক করার একমাত্র পয়েন্ট হল সিগন্যাল রেট 2 থেকে 80 MCps এর মধ্যে নির্বাচিত সেটআপের সাথে পরিমাপ করা হয়েছে তা নিশ্চিত করা।

সারণি 3. অফসেট ক্রমাঙ্কন সেটআপ

চার্ট দূরত্ব পরিবেষ্টিত অবস্থা সংকেত হার
যে কোন যে কোন অন্ধকার (কোন IR অবদান নেই) 2MCps < সিগন্যাল রেট <80Mcps

দুটি সতর্কতা বার্তা এই ফাংশন দ্বারা ফেরত দেওয়া হয়:

  • VL53LX_WARNING_OFFSET_CAL_INSUFFICIENT_MM1_SP DS সংকেত খুব কম, অফসেট ক্রমাঙ্কনের যথার্থতা অবনমিত হতে পারে।
  • VL53LX_WARNING_OFFSET_CAL_PRE_RANGE_RATE_TOO_H GH সংকেত খুব বেশি। অফসেট ক্রমাঙ্কনের যথার্থতা অবনমিত হতে পারে।

অফসেট ক্রমাঙ্কন ফলাফল পাওয়া

VL53LX_GetCalibrationData() ফাংশন সমস্ত ক্রমাঙ্কন ডেটা প্রদান করে। ফিরে আসা কাঠামো VL53LX_CalibrationData_t-এ VL53LX_customer_nvm_managed_t নামে আরেকটি কাঠামো রয়েছে যাতে তিনটি অফসেট ক্রমাঙ্কন ফলাফল রয়েছে:

  • algo__part_to_part_range_offset_mm
  • mm_config__inner_offset_mm
  • mm_config__outer_offset_mm

ডিভাইসে প্রয়োগ করা সামগ্রিক অফসেট হল দুটি শেষ মানের গড়। যদি একটি perVCSECalibration নির্বাচন করা হয়, ফাংশনের আউটপুটে নিম্নলিখিত ডেটা অন্তর্ভুক্ত থাকে:

  • short_a_offset_mm
  • ছোট_বি_অফসেট_মিমি
  • মাঝারি_এ_অফসেট_মিমি
  • মাঝারি_বি_অফসেট_মিমি
  • long_a_offset_mm
  • long_bb_offset_mm

নির্বাচিত দূরত্ব মোড (VCSEL সময়কাল) এর উপর নির্ভর করে, এই অফসেটগুলির মধ্যে একটি স্বয়ংক্রিয়ভাবে প্রয়োগ করা হয়।

অফসেট সংশোধন মোড নির্বাচন করা হচ্ছে

VL53LX_SetOffsetCorrectionMode ফাংশন ব্যবহার করে অফসেট সংশোধন মোড দুটি বিকল্পের সাথে সেট করা যেতে পারে।

দ্রষ্টব্য: VL53LX_OFFSETCORRECTIONMODE_PERVCSEL ডিফল্টরূপে ব্যবহার করা উচিত। এটি VCSEL সময়ের প্রতি অফসেট নির্ভুলতা বৃদ্ধি করতে দেয়।

সারণী 4. অফসেট সংশোধন বিকল্প

অফসেট ক্রমাঙ্কন ফাংশন বলা হয় কারেকশন মোড অপশন ব্যবহার করতে হবে
সিম্পলঅফসেট ক্যালিব্রেশন সম্পাদন করুন VL53LX_OFFSETCORRECTIONMODE_STANDARD
PerformPerVCSELOoffset ক্যালিব্রেশন VL53LX_OFFSETCORRECTIONMODE_PERVCSEL

দ্রষ্টব্য: যদি শুধুমাত্র একটি অফসেট ক্রমাঙ্কন প্রকার উপলব্ধ থাকে, তাহলে অফসেট সংশোধন মোডটিকে সংশ্লিষ্ট বিকল্পে সেট করা বাধ্যতামূলক৷ এটি স্বয়ংক্রিয়ভাবে করা হয় না।

অফসেট ক্রমাঙ্কন ডেটা সেট করা হচ্ছে
VL53LX_DataInit() ফাংশন কল করার পরে, VL53LX_SetCalibrationData() ব্যবহার করে গ্রাহক অফসেট ক্যালিব্রেশন ডেটা লোড করতে পারেন।
VL53LX_GetCalibrationData() কল করা, পূর্ববর্তী বিভাগে বর্ণিত প্যারামিটারগুলি সংশোধন করা এবং VL53LX_SetCalibrationData() কল করা ভাল

গ্রাহক মেরামতের দোকান ক্রমাঙ্কন

যদি ক্রমাঙ্কন মান হারিয়ে যায়, মেরামতের দোকানে উপাদান পরিবর্তনের কারণে, গ্রাহক একটি উত্সর্গীকৃত পদ্ধতি প্রয়োগ করতে পারেন, যেখানে কোনও নির্দিষ্ট সেটআপ (লক্ষ্য) প্রয়োজন হয় না।

ক্রমাঙ্কন তিনটি ধাপ নিয়ে গঠিত:

  1. RefSpad
  2. ক্রসস্টল্ক
  3. অফসেট ক্রমাঙ্কন

RefSpad এবং Xtalk অনুচ্ছেদ 6.1 RefSPAD ক্রমাঙ্কন এবং অধ্যায় 6.2 ক্রসস্টাল্ক ক্রমাঙ্কনে বর্ণিত একই।
অফসেট ক্রমাঙ্কন সম্পাদন করার জন্য একটি ডেডিকেটেড ফাংশন উপলব্ধ: VL53LX_PerformOffsetZeroDistanceCalibration।
কভার গ্লাস স্পর্শ করে ডিভাইসের সামনে একটি লক্ষ্য নির্ধারণ করতে হবে। লক্ষ্য কাগজের একটি সাধারণ শীট হতে পারে (কাগজের প্রতিফলনের জন্য কোন বিশেষ প্রয়োজন ছাড়াই)।
উপরের ফাংশনটি কল করতে হবে এবং ফলাফলগুলি পূর্ববর্তী বিভাগগুলিতে বর্ণিত প্রক্রিয়ার মতোই পুনরুদ্ধার করা যেতে পারে।

বেয়ার ড্রাইভার ত্রুটি এবং সতর্কতা

কোনো ড্রাইভার ফাংশন কল করা হলে একটি ড্রাইভার ত্রুটি রিপোর্ট করা হয়। ড্রাইভার ত্রুটির জন্য সম্ভাব্য মান নিম্নলিখিত টেবিলে বর্ণনা করা হয়েছে. কিছু প্যারামিটার অপ্টিমাইজ করা হয়নি তা ব্যবহারকারীকে জানানোর জন্য সতর্কতা রয়েছে। সতর্কবার্তা হোস্টের জন্য ব্লক করা হয় না।

সারণী 5. বেয়ার ড্রাইভার ত্রুটি এবং সতর্কতা বিবরণ

ত্রুটি মান API ত্রুটি স্ট্রিং ঘটনা
0 VL53LX_ERROR_NONE কোন ত্রুটি নেই
-1 VL53LX_ERROR_CALIBRATION_WARNING অবৈধ ক্রমাঙ্কন ডেটা
-4 VL53LX_ERROR_INVALID_PARAMS একটি ফাংশনে অবৈধ প্যারামিটার সেট করা আছে
-5 VL53LX_ERROR_NOT_SUPPORTED অনুরোধ করা প্যারামিটার প্রোগ্রাম করা কনফিগারেশনে সমর্থিত নয়
-6 VL53LX_ERROR_RANGE_ERROR ইন্টারাপ্ট স্ট্যাটাস ভুল
-7 VL53LX_ERROR_TIME_OUT সময়সীমার কারণে রেঞ্জিং বাতিল করা হয়েছে
-8 VL53LX_ERROR_MODE_NOT_SUPPORTED অনুরোধ করা মোড সমর্থিত নয়
-10 VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL সরবরাহ করা বাফার I2C সমর্থনের চেয়ে বড়
-13 VL53LX_ERROR_CONTROL_INTERFACE IO ফাংশন থেকে ত্রুটি রিপোর্ট করা হয়েছে
-14 VL53LX_ERROR_INVALID_COMMAND৷ কমান্ড অবৈধ
-16 VL53LX_ERROR_REF_SPAD_INIT রেফারেন্স SPAD ক্রমাঙ্কনের সময় একটি ত্রুটি ঘটেছে৷
-17 VL53LX_ERROR_GPH_SYNC_CHECK_FAIL ডিভাইসের সাথে সিঙ্কের বাইরে ড্রাইভার। একটি স্টপ/স্টার্ট বা একটি রিবুট প্রয়োজন হতে পারে
-18 VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL
-19 VL53LX_ERROR_GPH_ID_CHECK_FAIL
-20 VL53LX_ERROR_ZONE_STREAM_COUNT_CHEC K_FAIL
-21 VL53LX_ERROR_ZONE_GPH_ID_CHECK_FAIL
-22 VL53LX_ERROR_XTALK_EXTRACTION_FAIL কোন সফল এসamples সম্পূর্ণ অ্যারে ব্যবহার করার সময় sampক্রসস্টক লে. এই ক্ষেত্রে নতুন crosstalk মান তৈরি করার জন্য পর্যাপ্ত তথ্য নেই। ফাংশনটি প্রস্থান করবে এবং বর্তমান ক্রসস্টাল পরামিতিগুলি অপরিবর্তিত রেখে দেবে
-23 VL53LX_ERROR_XTALK_EXTRACTION_SIGMA_L IMIT_FAIL Crosstalk s-এর গড় সিগমা অনুমানample হল > অনুমোদিত সর্বোচ্চ সীমার চেয়ে। এই ক্ষেত্রে crosstalk গুলিample পরিমাপের জন্য খুব কোলাহলপূর্ণ. ফাংশনটি প্রস্থান করবে এবং বর্তমান ক্রসস্টাল পরামিতিগুলি অপরিবর্তিত রেখে দেবে
-24 VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FA IL অফসেট ক্রমাঙ্কনের সময় একটি ত্রুটি ঘটেছে৷ চেক সেটআপ ST সুপারিশের সাথে সঙ্গতিপূর্ণ।
-25 VL53LX_ERROR_OFFSET_CAL_NO_SPADS_ENA BLED_FAIL
-28 VL53LX_WARNING_REF_SPAD_CHAR_NOT_EN OUGH_SPADS সতর্কতা: সঠিক refSpadManagement ক্রমাঙ্কন পেতে পাওয়া স্প্যাডের সংখ্যা খুবই কম। নিশ্চিত করুন যে সেটআপটি ST সুপারিশের সাথে সঙ্গতিপূর্ণ।
-29 VL53LX_WARNING_REF_SPAD_CHAR_RATE_TO O_HIGH সতর্কতা: সঠিক refSpadManagement ক্রমাঙ্কন পেতে সংকেত হার খুব কম পাওয়া গেছে। নিশ্চিত করুন যে সেটআপটি ST সুপারিশের সাথে সঙ্গতিপূর্ণ।
 -30 VL53LX_WARNING_REF_SPAD_CHAR_RATE_TO O_LOW সতর্কতা: সঠিক অফসেট ক্রমাঙ্কন পেতে স্প্যাডের সংখ্যা খুব কম পাওয়া গেছে। নিশ্চিত করুন যে সেটআপটি ST সুপারিশের সাথে সঙ্গতিপূর্ণ।
-31 VL53LX_WARNING_OFFSET_CAL_MISSING_SA MPLES অফসেট ক্রমাঙ্কন সময় সতর্কতা ঘটেছে. নিশ্চিত করুন যে সেটআপটি ST সুপারিশের সাথে সঙ্গতিপূর্ণ।
-32 VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH
-33 VL53LX_WARNING_OFFSET_CAL_RATE_TOO_HI GH
-34 VL53LX_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW
-38 VL53LX_WARNING_XTALK_MISSING_SAMPLES ক্রসস্টক ক্রমাঙ্কনের সময় সতর্কতা সংঘটিত হয়েছে। নিশ্চিত করুন যে সেটআপটি ST সুপারিশের সাথে সঙ্গতিপূর্ণ।
-41 VL53LX_ERROR_NOT_IMPLEMENTED বলা ফাংশন বাস্তবায়িত হয় না

পুনর্বিবেচনার ইতিহাস

তারিখ সংস্করণ পরিবর্তন
28-সেপ্টেম্বর-2020 1 প্রাথমিক মুক্তি
02-ডিসেম্বর-2021 2 ধারা 6.2.3 এ ফিরে আসা কাঠামো আপডেট করা হয়েছে ক্রসস্টালক ক্রমাঙ্কন ফলাফল পাওয়া
 03-জুন-2022 3 বিভাগ 3.1 বেয়ার ড্রাইভার: ক্রমাঙ্কন সংক্রান্ত একটি নোট যোগ করা হয়েছে অনুচ্ছেদ 5.4 কভার গ্লাস স্মাজ সনাক্তকরণ: স্মাজ সংশোধন সংক্রান্ত একটি নোট যোগ করা হয়েছে

গুরুত্বপূর্ণ নোটিশ - সাবধানে পড়ুন

STMicroelectronics NV এবং এর অধীনস্থ সংস্থাগুলি ("ST") ST পণ্য এবং/অথবা এই নথিতে কোনো নোটিশ ছাড়াই পরিবর্তন, সংশোধন, পরিবর্ধন, পরিবর্তন এবং উন্নতি করার অধিকার সংরক্ষণ করে৷ অর্ডার দেওয়ার আগে ক্রেতাদের ST পণ্যের সাম্প্রতিক প্রাসঙ্গিক তথ্য প্রাপ্ত করা উচিত। ST পণ্যগুলি অর্ডার প্রাপ্তির সময় ST-এর শর্তাবলী অনুসারে বিক্রি করা হয়।

ক্রেতারা ST পণ্যের পছন্দ, নির্বাচন এবং ব্যবহারের জন্য সম্পূর্ণরূপে দায়ী এবং ST আবেদন সহায়তা বা ক্রেতাদের পণ্যের নকশার জন্য কোনো দায়বদ্ধতা গ্রহণ করে না।

এখানে ST দ্বারা কোনও বৌদ্ধিক সম্পত্তির অধিকারের কোনও লাইসেন্স, প্রকাশ বা উহ্য নেই।

এখানে উল্লিখিত তথ্য থেকে ভিন্ন বিধান সহ ST পণ্যের পুনঃবিক্রয় এই জাতীয় পণ্যের জন্য ST দ্বারা প্রদত্ত যে কোনও ওয়ারেন্টি বাতিল করবে। ST এবং ST লোগো হল ST-এর ট্রেডমার্ক৷ ST ট্রেডমার্ক সম্পর্কে অতিরিক্ত তথ্যের জন্য, পড়ুন www.st.com/trademarks. অন্যান্য সমস্ত পণ্য বা পরিষেবার নাম তাদের নিজ নিজ মালিকদের সম্পত্তি.
এই নথির তথ্য এই নথির পূর্ববর্তী সংস্করণে পূর্বে সরবরাহ করা তথ্যের স্থলাভিষিক্ত এবং প্রতিস্থাপন করে। © 2022 STMicroelectronics – সর্বস্বত্ব সংরক্ষিত

 

দলিল/সম্পদ

ST VL53L3CX ফ্লাইট রেঞ্জিং সেন্সরের সময় [পিডিএফ] ব্যবহারকারী ম্যানুয়াল
VL53L3CX ফ্লাইট রেঞ্জিং সেন্সর সময়, VL53L3CX, ফ্লাইট রেঞ্জিং সেন্সর, ফ্লাইট রেঞ্জিং সেন্সর, রেঞ্জিং সেন্সর

তথ্যসূত্র

একটি মন্তব্য করুন

আপনার ইমেল ঠিকানা প্রকাশ করা হবে না. প্রয়োজনীয় ক্ষেত্রগুলি চিহ্নিত করা হয়েছে *