การวัดระยะ: เวอร์ชัน 2 ของข้อกำหนดนอกแบนด์

Android 16 เปิดตัวโมดูลการวัดระยะ โปรโตคอลและข้อกำหนดของเพย์โหลดนี้จะกำหนดลำดับข้อความและเพย์โหลดของการสื่อสารนอกแบนด์ (OOB) ที่ใช้ในการแลกเปลี่ยนการกำหนดค่าการวัดระยะทาง รวมถึงใช้เพื่อเริ่มและหยุดการวัดระยะทางระหว่างอุปกรณ์เริ่มต้นและอุปกรณ์ตอบกลับที่ทำการวัดระยะทาง Android 16 QPR3 เปิดตัวข้อกำหนดเวอร์ชัน 2

เป้าหมายหลักของหน้านี้คือการช่วยให้ผู้ให้บริการอุปกรณ์ที่ไม่ใช่ Android สามารถ ใช้ข้อกำหนดนี้เพื่อให้อุปกรณ์ของตนใช้งานร่วมกันได้สำหรับการวัดระยะ กับอุปกรณ์ Android

การติดตั้งใช้งานข้อกำหนดนี้ใน Packet Description Language (PDL) ของ Google พร้อมใช้งานใน GitHub จากการ ติดตั้งใช้งานนี้ คอมไพเลอร์ PDL สามารถสร้างโค้ดการซีเรียลไลซ์และการดีซีเรียลไลซ์ สำหรับข้อความที่กำหนดไว้ในข้อกำหนดนี้ โดยรองรับภาษาเป้าหมายที่หลากหลาย รวมถึง C++, Rust และ Java

มีอะไรใหม่ในเวอร์ชัน 2

ข้อกำหนด OOB เวอร์ชัน 2 มีการเปลี่ยนแปลงต่อไปนี้

  • การเปลี่ยนเทคโนโลยี: ช่วยให้สลับระหว่างเทคโนโลยีการวัดระยะแบบไดนามิกได้ในระหว่างเซสชันที่ใช้งานอยู่โดยไม่ขัดขวางสตรีมข้อมูล
  • การตอบกลับความสามารถในการวัดระยะ
    • มีช่อง Supported technology transitioning ใหม่เพื่อระบุการรองรับการเปลี่ยนเทคโนโลยีแบบ Make-Before-Break
    • รวมถึงฟิลด์ Device type ใหม่ที่ผู้เริ่มอาจใช้เพื่อเพิ่มประสิทธิภาพการใช้พลังงานระหว่างอุปกรณ์

Endianness

ฟิลด์ตัวเลขแบบหลายไบต์ทั้งหมดในข้อความจะอยู่ในลำดับ Little-Endian เว้นแต่จะระบุไว้เป็นอย่างอื่น

ข้อความและลำดับข้อความ

ส่วนนี้อธิบายข้อความและลำดับการแลกเปลี่ยนข้อความ

ตารางต่อไปนี้แสดงข้อความทั้งหมดที่มีในการแลกเปลี่ยน OOB

ข้อความ รหัสข้อความ
Ranging Capability Request 0x0
Ranging Capability Response 0x1
Ranging Configuration 0x2
Ranging Configuration Response (ไม่บังคับ) 0x3
Stop Ranging 0x6
Stop Ranging Response (ไม่บังคับ) 0x7

ดังที่แสดงในรูปที่ 1 และ 2 การทริกเกอร์การแลกเปลี่ยนข้อความจะขึ้นอยู่กับ ช่องทางการสื่อสาร

สำหรับช่องทางการสื่อสารที่อิงตามการเชื่อมต่อ เช่น BLE GATT การแลกเปลี่ยนข้อความ จะเริ่มต้นด้วยอุปกรณ์ที่เริ่มการสื่อสารส่ง Ranging Capability Request ไปยังอุปกรณ์ที่ตอบกลับ อุปกรณ์ที่ตอบจะตอบกลับโดยการส่ง Ranging Capability Response ดังที่แสดงในรูปที่ 1

โฟลว์ของช่องทางการสื่อสารที่อิงตามการเชื่อมต่อ

รูปที่ 1 การแลกเปลี่ยนข้อความ OOB โดยใช้ช่องทางการสื่อสารที่อิงตามการเชื่อมต่อ

สำหรับช่องทางการสื่อสารที่อิงตามโฆษณา อุปกรณ์ของผู้ตอบจะเริ่มต้นด้วยการ โฆษณา Ranging Capability ในกรณีนี้ ระบบจะไม่ส่ง Ranging Capability Request จากอุปกรณ์ที่เริ่มต้น แต่หลังจากตรวจพบการกระจายข้อมูล เมื่ออุปกรณ์ที่เริ่มต้น (เครื่องสแกนเริ่มต้น) พร้อมแล้ว อุปกรณ์จะตอบกลับด้วยการกระจายข้อมูล Ranging Configuration เป็นข้อความแรก ดังที่แสดงในรูปที่ 2

ขั้นตอนของช่องทางการสื่อสารที่อิงตามโฆษณา

รูปที่ 2 การแลกเปลี่ยนข้อความ OOB โดยใช้การสื่อสารที่อิงตามโฆษณา

การแลกเปลี่ยนข้อความที่เหลือจะเหมือนกันในทั้ง 2 กรณี อุปกรณ์ตอบกลับ จะเริ่มวัดระยะทันทีหลังจากได้รับข้อความ Ranging Configuration อุปกรณ์ตอบกลับจะหยุดการวัดระยะหลังจากได้รับหรือตรวจพบข้อความ Stop Ranging

ในโฟลว์ที่อิงตามการเชื่อมต่อ อุปกรณ์ตอบกลับจะแสดงความสามารถ เฉพาะของเทคโนโลยีการวัดระยะที่ขอในRanging Capability Request ข้อความ ในขณะที่ในโฟลว์การโฆษณา อุปกรณ์ตอบกลับต้องแสดงความสามารถทั้งหมด เนื่องจากไม่มีข้อความคำขอความสามารถก่อนหน้า

อุปกรณ์ที่เริ่มการสื่อสารจะถือว่าได้รับคำตอบเพียงรายการเดียวสำหรับข้อความคำขอ ที่ส่ง อุปกรณ์ที่ตอบกลับต้องไม่ทำการสมมติฐานดังกล่าวเพื่อให้ ตอบกลับคำขอใดก็ได้ตามลำดับ ซึ่งจะยืนยันว่าอุปกรณ์ของผู้ตอบ สามารถตอบกลับข้อความ Ranging Capability Request หลายข้อความติดต่อกัน หรือข้อความอื่นๆ ที่ไม่เป็นไปตามลำดับจากอุปกรณ์ของผู้เริ่มได้

การเปลี่ยนเทคโนโลยี

ข้อกำหนด OOB เวอร์ชัน 2 เพิ่มการรองรับการเปลี่ยนเทคโนโลยีอย่างชัดเจน ซึ่งจะช่วยให้อุปกรณ์เปลี่ยนไปใช้เทคโนโลยีการวัดระยะที่แตกต่างกันแบบไดนามิกระหว่างเซสชันได้ โดยผู้เริ่มการแชร์สามารถทำสิ่งต่อไปนี้เพื่ออำนวยความสะดวกในเรื่องนี้

  • ส่งข้อความ Ranging Configuration หลายข้อความเพื่อเริ่มเทคโนโลยีใหม่ๆ
  • ส่งข้อความ Stop Ranging หลายข้อความเพื่อหยุดเทคโนโลยีที่ใช้งานอยู่

ลำดับของข้อความเหล่านี้จะแตกต่างกันไปตามรูปแบบการเปลี่ยนผ่าน ที่ผู้ตอบรองรับ

  • หยุดก่อนเริ่ม: ผู้เริ่มจะเปลี่ยนไปใช้เทคโนโลยีใหม่ได้ก็ต่อเมื่อหยุดเทคโนโลยีแรกด้วยข้อความ Stop Ranging ก่อนที่จะเริ่มเทคโนโลยีที่สองด้วยข้อความ Ranging Configuration
  • Make-before-break: ผู้เริ่มสามารถเริ่มใช้เทคโนโลยีใหม่โดยใช้ข้อความ Ranging Configuration ก่อนที่จะหยุดใช้เทคโนโลยีที่มีอยู่ด้วยข้อความ Stop Ranging

ผู้ตอบต้องรองรับรูปแบบการเปลี่ยนผ่านอย่างใดอย่างหนึ่งต่อไปนี้ตามค่าของฟิลด์ supported technology transitioning ใน Capability Response

รหัสเทคโนโลยีการวัดระยะ

รหัสของเทคโนโลยีการวัดระยะจะแสดงอยู่ในตารางต่อไปนี้

เทคโนโลยีการวัดระยะ รหัส
UWB 0x0
CS 0x1
RTT ของ Wi-Fi NAN 0x2
RSSI 0x3
RFU 0x4 - 0xFF

รหัสเหล่านี้ใช้ในตารางต่อไปนี้ซึ่งต้องระบุรหัสเทคโนโลยีการวัดระยะ สำหรับฟิลด์ที่มีบิตฟิลด์เทคโนโลยีการวัดระยะ ระบบจะตั้งค่าบิต ที่สอดคล้องกับดัชนีของรหัสเทคโนโลยีเมื่อรวมเทคโนโลยีนั้น ไว้ในบิตฟิลด์

เช่น RSSI มีค่ารหัส 3 แต่หากรวม RSSI ไว้ในฟิลด์บิตเทคโนโลยีการวัดระยะ บิตที่มีตำแหน่งของรหัส (3) จะต้องเปิด (บิตแรกอยู่ที่ตำแหน่ง 0) ซึ่งจะทำให้ค่าฟิลด์บิตที่ได้เป็น 0x8 หากรวมทั้ง UWB และ RSSI ไว้ ค่าของบิตฟิลด์ จะเป็น 0x0A (เปิดทั้งบิต 0 และ 3)

รูปแบบข้อความ

ข้อความแต่ละรายการประกอบด้วยส่วนหัวและเพย์โหลด

รูปแบบข้อความ

รูปที่ 3 รูปแบบข้อความ

ขนาด: 2 ไบต์

คำอธิบาย: ส่วนหัวเป็นส่วนแรกของข้อความที่ใช้ร่วมกันในข้อความทั้งหมด ส่วนหัวมีเวอร์ชันและรหัสของข้อความ ประเภท ฟิลด์เวอร์ชันจะระบุเวอร์ชันของข้อกำหนดนี้ที่เนื้อหาของข้อความเป็นไปตาม ข้อกำหนดนี้เวอร์ชันปัจจุบันคือ 2 ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้การกำหนดเวอร์ชันระหว่างอุปกรณ์ในเวอร์ชันต่างๆ ได้ที่การกำหนดเวอร์ชัน ส่วนหัว ยังคงเข้ากันได้แบบย้อนหลังในเวอร์ชันต่างๆ ซึ่งหมายความว่ากรณีการใช้งาน จะแยกวิเคราะห์ส่วนหัวเพื่อระบุเวอร์ชันและรหัสของข้อความได้เสมอ

ส่วนหัวจะสรุปไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 เวอร์ชัน
  • 0x1 - V1
  • 0x2 - เวอร์ชันปัจจุบัน
1 unit8 รหัสข้อความ
  • 0x0 - Ranging Capability Request ข้อความ
  • 0x1 - Ranging Capability Response ข้อความ
  • 0x2 - Ranging Configuration ข้อความ
  • 0x3 - Ranging Configuration Response ข้อความ (ไม่บังคับ)
  • 0x6 - Stop Ranging ข้อความ
  • 0x7 - Stop Ranging Response ข้อความ (ไม่บังคับ)
  • 0x4-0x5, 0x8 - 0xFF RFU

เพย์โหลด

ขนาด: แตกต่างกันออกไป (ขึ้นอยู่กับประเภทของข้อความ)

คำอธิบาย: เพย์โหลดเป็นส่วนสุดท้ายของข้อความหลังจากส่วนหัว เพย์โหลดจะขึ้นอยู่กับประเภทของข้อความ รูปแบบของเพย์โหลดสำหรับข้อความแต่ละประเภท จะกำหนดไว้ในส่วนต่อไปนี้

เพย์โหลดข้อความคำขอความสามารถในการวัดระยะ

ขนาด (ไม่รวมขนาดส่วนหัว): 2 ไบต์

คำอธิบาย: ส่งโดยอุปกรณ์ที่เริ่มการสนทนาเพื่อเริ่มการแลกเปลี่ยนข้อความ ข้อความนี้ไม่บังคับเมื่อช่องทางการสื่อสารอิงตามการโฆษณา ในกรณีนี้ อุปกรณ์ของผู้ตอบจะต้องโฆษณาRanging Capabilityข้อความเป็นขั้นตอนแรก อุปกรณ์ที่เริ่มการค้นหา (เครื่องสแกนเริ่มต้น) จะอ่านโฆษณาและตอบกลับโดยตรงด้วยข้อความ Ranging Capability ซึ่งไม่จำเป็นต้องใช้ข้อความนี้

เพย์โหลดของข้อความ Ranging Capability Request สรุปไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8*2 ฟิลด์บิตของเทคโนโลยีการกำหนดช่วงที่ขอ
  • 0x01 - UWB
  • 0x02 - การตรวจหาช่อง BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • RFU

เพย์โหลดของข้อความการตอบกลับความสามารถในการวัดระยะ

ขนาด (ไม่รวมขนาดส่วนหัว): แตกต่างกัน (ส่วนที่ใช้ร่วมกัน 2 ไบต์บวกขนาด ของไบต์เทคโนโลยีการวัดระยะที่รวมแต่ละรายการ)

คำอธิบาย: ส่งโดยผู้ตอบกลับเพื่อตอบกลับข้อความ Ranging Capability Request เพย์โหลดของข้อความนี้ประกอบด้วยส่วนที่ใช้ร่วมกันและส่วนที่เฉพาะเจาะจงกับเทคโนโลยีการวัดระยะ (BLE CS, Wi-Fi NAN RTT, BLE RSSI) ดังที่แสดงในตารางต่อไปนี้ คุณต้องเพิ่มส่วนเฉพาะของเทคโนโลยีการวัดระยะแต่ละรายการก็ต่อเมื่ออุปกรณ์ตอบรับรองรับเทคโนโลยีการวัดระยะนั้นและมีการขอในข้อความ Ranging Capability Request ในกรณีของช่องทางการสื่อสารเพื่อการโฆษณา ต้องรวมเทคโนโลยีการวัดระยะที่รองรับทั้งหมด

Ranging Capability Response เพย์โหลดของข้อความที่พบบ่อยสรุปไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8*2 ฟิลด์บิตของเทคโนโลยีการวัดระยะที่รองรับ ระบุชุด ความสามารถของเทคโนโลยีการวัดระยะที่ตามมาในส่วนที่เหลือของเพย์โหลด
  • 0x01 - UWB
  • 0x02 - การตรวจหาช่อง BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • RFU
2 อาร์เรย์ไบต์ ไบต์ความสามารถด้านเทคโนโลยีการวัดระยะ บล็อกของโครงสร้างที่ซ้ำกันซึ่งกำหนดไว้ต่อเทคโนโลยี
แตกต่างกันไป uint8 ระบุการรองรับการเปลี่ยนผ่านเทคโนโลยี
  • 0x00 - รองรับการหยุดก่อนเริ่ม
  • 0x01 - รองรับการสลับแบบ Make-before-break ผู้ตอบสามารถวัดระยะด้วยเทคโนโลยีหลายอย่างพร้อมกันได้
แตกต่างกันไป uint16 ระบุประเภทอุปกรณ์ของผู้ตอบ
  • 0x00 - ไม่ทราบ
  • 0x01 - โทรศัพท์
  • 0x02 - แท็บเล็ต
  • 0x03 - แท็ก
  • 0x04 - อุปกรณ์ที่สวมใส่ได้
  • 0x05 - อุปกรณ์สำหรับการฟัง
  • RFU

สรุปเพย์โหลดของข้อความ UWB Ranging Capability Response ไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รหัสเทคโนโลยีการวัดระยะ 0x0 - UWB
1 uint8 ขนาด ขนาดของไบต์ความสามารถของ UWB (รวมฟิลด์รหัสเทคโนโลยีและขนาด) ในหน่วยไบต์
2 uint8*2 ที่อยู่ UWB ที่อยู่ UWB ของอุปกรณ์ 2 ไบต์
4 uint8*4 บิตฟิลด์ของช่องที่รองรับ บิตฟิลด์ของช่องที่รองรับ บิตที่ตั้งค่าเป็น 0 หมายความว่าไม่รองรับ ส่วน 1 หมายความว่ารองรับ บิตที่ 0 สอดคล้องกับช่อง 0
LSB == channel 0
MSB == channel 31
8 uint8*4 ฟิลด์บิตดัชนีส่วนนำที่รองรับ บิตฟิลด์ของดัชนีคำนำที่รองรับ บิตที่ตั้งค่าเป็น 0 หมายความว่าไม่รองรับ ส่วน 1 หมายความว่ารองรับ บิตที่ 0 สอดคล้องกับดัชนีคำนำที่ 1
LSB == preamble index 1
MSB == preamble index 32
12 uint8*4 ฟิลด์บิตของรหัสการกำหนดค่าที่รองรับ บิตฟิลด์ของ config ID ของ UWB ที่รองรับ บิตที่ตั้งค่าเป็น 0 หมายความว่าไม่รองรับ ส่วน 1 หมายความว่ารองรับ
LSB == config Id 0
>MSB == config Id 31
16 uint8*2 ช่วงเวลาการวัดระยะขั้นต่ำที่รองรับ ระบุช่วงการวัดระยะที่เร็วที่สุดที่รองรับเป็นมิลลิวินาที ค่าที่ใช้ได้ (มิลลิวินาที):
  • 96
  • 120
  • 240
  • 600
18 uint8 ระยะเวลาขั้นต่ำของช่วงเวลาที่รองรับ ระบุระยะเวลาของสล็อตที่รองรับที่สั้นที่สุดเป็นมิลลิวินาที เช่น หากอุปกรณ์แสดงผล 1 มิลลิวินาที ระบบจะถือว่าอุปกรณ์รองรับระยะเวลาของช่อง 2 มิลลิวินาทีขึ้นไปด้วย ค่าที่ใช้ได้ (มิลลิวินาที):
  • 1
  • 2
19 บิตฟิลด์บทบาทของอุปกรณ์ UWB ที่รองรับ บิตฟิลด์ของบทบาท UWB ที่รองรับ เช่น หากทั้ง 2 รายการรองรับ ค่าฟิลด์สุดท้ายจะเป็น 0x3
  • 0x1 - รองรับบทบาทผู้เริ่มต้น
  • 0x2 - รองรับบทบาทผู้ตอบ

สรุปเพย์โหลดของข้อความ BLE CS Ranging Capability Response ไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รหัสเทคโนโลยีการวัดระยะ 0x1 - BLE CS
1 uint8 ขนาด ขนาดของไบต์ความสามารถของ BLE CS (รวมถึงฟิลด์รหัสเทคโนโลยีและขนาด) ในหน่วยไบต์
2 uint8 บิตฟิลด์ประเภทความปลอดภัยที่รองรับ บิตฟิลด์ของประเภทความปลอดภัยที่รองรับสำหรับ BLE CS
  • 0x01 - CS_SECURITY_LEVEL_UNKNOWN
  • 0x02 - CS_SECURITY_LEVEL_ONE
  • 0x04 - CS_SECURITY_LEVEL_TWO
  • 0x08 - CS_SECURITY_LEVEL_THREE
  • 0x10 - CS_SECURITY_LEVEL_FOUR
3 uint8*6 ที่อยู่อุปกรณ์ ที่อยู่อุปกรณ์ที่ใช้สำหรับ BLE CS ในลำดับ Big-Endian

สรุปเพย์โหลดข้อความ Wi-Fi NAN RTT Ranging Capability Response ไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รหัสเทคโนโลยีการวัดระยะ 0x2 - RTT ของ Wi-Fi NAN
1 uint8 ขนาด ขนาดของไบต์ความสามารถของ BLE RSSI (รวมถึงฟิลด์รหัสเทคโนโลยีและขนาด) ในหน่วยไบต์
2 uint8 ฟิลด์บิตของฟีเจอร์ที่รองรับ บิตฟิลด์ของฟีเจอร์ที่รองรับ
  • 0x01 - ใช้ได้กับ 11mc
  • 0x02 - รองรับ 11az
3 uint8 รองรับการวัดระยะเป็นระยะ
  • 0x0 - ไม่รองรับการวัดระยะเป็นระยะ
  • 0x1 - รองรับช่วงเวลา
4 uint8 แบนด์วิดท์ที่รองรับ ข้อมูลนี้ช่วยให้ได้ความแม่นยำในการวัดระยะที่ทำได้โดยใช้ Wi-Fi NAN และช่วยให้แอปพิจารณาได้ว่าจะใช้ UWB, BLE CS, BLE RSSI หรือ Wi-Fi NAN ในการวัดระยะ
  • 0x00 - 20 MHz
  • 0x01 - 40 MHz
  • 0x02 - 80 MHz
  • 0x03 - 160 MHz
  • 0x04 - 80+80 MHz
  • 0x05 - 320 MHz
  • RFU
5 uint8 จำนวนเชนการรับที่รองรับ ข้อมูลนี้ช่วยให้ได้ความแม่นยำในการวัดระยะที่ทำได้โดยใช้ Wi-Fi NAN และช่วยให้แอปพิจารณาได้ว่าจะใช้ UWB, BLE CS, BLE RSSI หรือ Wi-Fi NAN ในการวัดระยะ
  • 0x00 - ไม่ได้กำหนด
  • 0x01 - 1 RX chain
  • 0x02 - 2 RX chains
  • 0x03 - 3 RX chains
  • 0x04 - 4 RX chains

เพย์โหลดของข้อความ BLE RSSI Ranging Capability Response สรุปไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รหัสเทคโนโลยีการวัดระยะ 0x3 - BLE RSSI
1 uint8 ขนาด ขนาดของไบต์ความสามารถของ BLE RSSI (รวมถึงฟิลด์รหัสเทคโนโลยีและขนาด) ในหน่วยไบต์
2 uint8*6 ที่อยู่อุปกรณ์ ที่อยู่อุปกรณ์ที่ใช้สำหรับ BLE RSSI ในลำดับบิ๊กเอนเดียน

เพย์โหลดข้อความการกำหนดค่าการวัดระยะ

ขนาด (ไม่รวมขนาดส่วนหัว): แตกต่างกัน (ส่วนที่ใช้ร่วมกัน 4 ไบต์บวกขนาด ของไบต์เทคโนโลยีการวัดระยะแต่ละรายการที่รวมไว้)

คำอธิบาย: ผู้เริ่มจะส่งข้อความนี้ ซึ่งมี การกำหนดค่าที่เทคโนโลยีการวัดระยะแต่ละอย่างสามารถใช้เพื่อเริ่มการวัดระยะได้ อุปกรณ์ตอบกลับต้องพยายามเริ่มการวัดระยะด้วยเทคโนโลยีการวัดระยะที่ระบุแต่ละรายการ เมื่อได้รับข้อความนี้ เพย์โหลดของข้อความนี้ประกอบด้วย ส่วนที่ใช้ร่วมกัน และส่วนที่เฉพาะเจาะจงกับเทคโนโลยีการวัดระยะ (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI) ดังที่แสดงในตารางต่อไปนี้

Ranging Configuration เพย์โหลดของข้อความที่พบบ่อยสรุปไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8*2 ฟิลด์บิตชุดการกำหนดค่าเทคโนโลยีการวัดระยะ ฟิลด์บิตของเทคโนโลยีการวัดระยะที่ข้อความนี้มีข้อมูลการกำหนดค่าและต้องตั้งค่าพารามิเตอร์การกำหนดค่า
  • 0x01 - UWB
  • 0x02 - การตรวจหาช่อง BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • RFU
2 uint8*2 บิตฟิลด์ RFU ต้องตั้งค่าเป็นค่าเดียวกับฟิลด์บิตฟิลด์ชุดการกำหนดค่าเทคโนโลยีการวัดระยะ
4 อาร์เรย์ไบต์ ไบต์การกำหนดค่าเทคโนโลยีการวัดระยะ บล็อกของโครงสร้างที่ซ้ำกันซึ่งกำหนดต่อเทคโนโลยี

เพย์โหลดของข้อความ UWB Ranging Configuration สรุปไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รหัสเทคโนโลยีการวัดระยะ 0x0 - UWB
1 uint8 ขนาด ขนาดของการกำหนดค่า UWB (รวมถึงฟิลด์รหัสเทคโนโลยีและขนาด) ในหน่วยไบต์
2 uint8*2 ที่อยู่ UWB ที่อยู่ UWB ของอุปกรณ์ 2 ไบต์
4 uint8*4 รหัสเซสชัน รหัสเซสชันที่สร้างขึ้น รหัสเซสชันคือตัวระบุที่ไม่ซ้ำกันสำหรับเซสชันการวัดระยะระหว่างโทรศัพท์กับอุปกรณ์ต่อพ่วง
8 uint8 รหัสการกำหนดค่าที่เลือก หมายเลข config ID ที่เลือกเป็นจำนวนเต็ม รหัสการกำหนดค่าจะระบุพารามิเตอร์เวลาและประเภทการรักษาความปลอดภัยที่ต้องใช้สำหรับเซสชันการวัดระยะ UWB
9 uint8 ช่องที่เลือก ช่องที่เลือกสำหรับเซสชันการวัดระยะ UWB
10 uint8 ดัชนีอารัมภบทที่เลือก ดัชนีบทนำที่เลือกสำหรับเซสชันการวัดระยะ UWB
11 uint8*2 ช่วงการวัดที่เลือก อัตราช่วงการวัดระยะที่เลือกเป็นมิลลิวินาที ค่าที่ใช้ได้ (มิลลิวินาที):
  • 96
  • 120
  • 240
  • 600
13 uint8 ระยะเวลาของช่วงเวลาที่เลือก ระยะเวลาของช่องที่เลือกเป็นมิลลิวินาที ค่าที่ใช้ได้ (มิลลิวินาที):
  • 1
  • 2
14 uint8 ความยาวของคีย์เซสชัน ความยาวของคีย์เซสชันในหน่วยไบต์
15 อาร์เรย์ไบต์ คีย์เซสชัน คีย์เซสชัน หากใช้ S-STS ไบต์ 2 ตัวแรกจะเป็นรหัสผู้ให้บริการ และไบต์ 6 ตัวถัดไปจะเป็น STS IV แบบคงที่ หากใช้ P-STS นี่จะเป็นคีย์เซสชันขนาด 16 ไบต์หรือ 32 ไบต์ ประเภทความปลอดภัยที่ใช้จะกำหนดโดยรหัสการกำหนดค่า
แปรเปลี่ยน uint8*2 รหัสประเทศ รหัสประเทศ ISO 3166-1 alpha-2 ซึ่งแสดงด้วยอักขระ ASCII 2 ตัว
แปรเปลี่ยน uint8 บทบาทของอุปกรณ์ที่เลือก
  • 0x01 - ผู้เริ่ม
  • 0x02 - ผู้ตอบ
แปรเปลี่ยน uint8 โหมดอุปกรณ์ที่เลือก
  • 0x01 - คอนโทรลเลอร์
  • 0x02 - Controlee

สรุปเพย์โหลดของข้อความ BLE CS Ranging Configuration ไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รหัสเทคโนโลยีการวัดระยะ 0x1 - BLE CS
1 uint8 ขนาด ขนาดของการกำหนดค่า BLE CS (รวมถึงฟิลด์รหัสเทคโนโลยีและขนาด) ในหน่วยไบต์
2 uint8 ประเภทการรักษาความปลอดภัยที่เลือก ประเภทความปลอดภัยที่เลือก ค่าที่อนุญาต:
  • 0x0 - CS_SECURITY_LEVEL_UNKNOWN
  • 0x1 - CS_SECURITY_LEVEL_ONE
  • 0x2 - CS_SECURITY_LEVEL_TWO
  • 0x3 - CS_SECURITY_LEVEL_THREE
  • 0x4 - CS_SECURITY_LEVEL_FOUR
3 uint8*6 ที่อยู่อุปกรณ์ ที่อยู่อุปกรณ์ที่ใช้สำหรับ BLE CS ในลำดับ Big-Endian

สรุปเพย์โหลดข้อความ RTT ของ Wi-Fi NAN Ranging Configuration ไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รหัสเทคโนโลยีการวัดระยะ 0x2 - RTT ของ Wi-Fi NAN
1 uint8 ขนาด ขนาดของการกำหนดค่า RTT ของ Wi-Fi NAN (รวมถึงช่องรหัสเทคโนโลยีและขนาด) ในหน่วยไบต์
2 uint8 ความยาวของชื่อบริการ ความยาวของช่องชื่อบริการในหน่วยไบต์ ดูส่วนที่ 1.3.3 ตารางที่ 1 ของข้อกำหนด Wi-Fi Aware v4.0 คำจำกัดความ
3 อาร์เรย์ไบต์ ชื่อบริการ ชื่อบริการ ดูส่วนที่ 1.3.3 ตารางที่ 1 ของข้อกำหนด Wi-Fi Aware v4.0 คำจำกัดความ
แปรเปลี่ยน uint8 บทบาทของอุปกรณ์
  • 0x0 - ผู้ตอบ (ผู้เผยแพร่บริการ NAN)
  • 0x1 - ผู้เริ่ม (ผู้ติดตามบริการ NAN)
แปรเปลี่ยน uint8 ใช้การวัดระยะเป็นระยะ
  • 0x0 - ปิดใช้การวัดระยะเป็นระยะ
  • 0x1 - เปิดใช้การวัดระยะเป็นระยะ

เพย์โหลดของข้อความ BLE RSSI Ranging Configuration สรุปไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รหัสเทคโนโลยีการวัดระยะ 0x3 - BLE RSSI
1 uint8 ขนาด ขนาดของการกำหนดค่า BLE RSSI (รวมถึงฟิลด์รหัสเทคโนโลยีและขนาด) ในหน่วยไบต์
2 uint8*6 ที่อยู่อุปกรณ์ ที่อยู่อุปกรณ์ที่ใช้สำหรับ BLE RSSI ในลำดับบิ๊กเอนเดียน

เพย์โหลดข้อความตอบกลับการกำหนดค่าการวัดระยะ

ขนาด (ไม่รวมขนาดส่วนหัว): 2 ไบต์

คำอธิบาย: ผู้ตอบจะส่งข้อความนี้เพื่อตอบกลับข้อความ Ranging Configuration ข้อความนี้ไม่บังคับ แต่จำเป็นต้องระบุเฉพาะในกรณีที่ช่องทางการสื่อสารที่ใช้ต้องมีการตอบกลับอย่างชัดเจนสำหรับแต่ละคำขอ

เพย์โหลดของข้อความ Ranging Configuration Response สรุปไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8*2 ตั้งค่าฟิลด์บิตเทคโนโลยีการกำหนดช่วงเรียบร้อยแล้ว ฟิลด์บิตของเทคโนโลยีการวัดระยะที่ตั้งค่าสำเร็จ บิตฟิลด์จะตั้งค่าบิตเทคโนโลยีการวัดระยะเป็น 1 หากมีการขอเทคโนโลยีและตั้งค่าสำเร็จ และเป็น 0 ในกรณีอื่นๆ
  • 0x01 - UWB
  • 0x02 - การตรวจหาช่อง BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • RFU

หยุดเพย์โหลดข้อความการวัดระยะ

ขนาด (ไม่รวมขนาดส่วนหัว): 2 ไบต์

คำอธิบาย: อุปกรณ์ที่เริ่มการค้นหาจะส่งข้อความนี้เมื่อถึงเวลา หยุดการวัดระยะด้วยเทคโนโลยีการวัดระยะที่ระบุ

Stop Ranging เพย์โหลดของข้อความสรุปไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8*2 เทคโนโลยีการวัดระยะเพื่อหยุดฟิลด์บิต บิตฟิลด์ของเทคโนโลยีการวัดระยะที่ต้องหยุดการวัดระยะ บิตที่ตั้งค่าเป็น 1 แสดงว่าเทคโนโลยีการวัดระยะต้องหยุดการวัดระยะ และ 0 แสดงว่าเทคโนโลยีการวัดระยะไม่ได้วัดระยะตั้งแต่แรก หรือต้องวัดระยะต่อไปหากวัดระยะอยู่แล้ว สำหรับเทคโนโลยีการวัดระยะบางอย่าง (เช่น CS) การดำเนินการนี้จะไม่มีผลเนื่องจากจะเริ่มและหยุดการวัดระยะที่ฝั่งผู้เริ่มเท่านั้น
  • 0x01 - UWB
  • 0x02 - การตรวจหาช่อง BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • RFU

เพย์โหลดข้อความการตอบกลับการวัดระยะทาง

ขนาด (ไม่รวมขนาดส่วนหัว): 2 ไบต์

คำอธิบาย: ผู้ตอบจะส่งข้อความนี้เพื่อตอบกลับข้อความ Stop Ranging ข้อความนี้เป็นตัวเลือกที่ไม่บังคับ โดยจำเป็นต้องระบุเฉพาะเมื่อ ช่องทางการสื่อสารที่ใช้กำหนดให้ต้องมีการตอบกลับอย่างชัดเจนสำหรับคำขอแต่ละรายการ

เพย์โหลดของข้อความ Stop Ranging Response สรุปไว้ในตารางต่อไปนี้

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8*2 หยุดฟิลด์บิตเทคโนโลยีการวัดระยะเรียบร้อยแล้ว บิตฟิลด์ของเทคโนโลยีการวัดระยะที่หยุดการวัดระยะได้สำเร็จ บิตฟิลด์จะตั้งค่าบิตเทคโนโลยีการวัดระยะเป็น 1 หากมีการขอให้หยุดเทคโนโลยีและหยุดได้สำเร็จ และเป็น 0 ในกรณีอื่นๆ
  • 0x01 - UWB
  • 0x02 - การตรวจหาช่อง BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • RFU

การกำหนดเวอร์ชัน

เวอร์ชันของข้อกำหนดจะอยู่ในส่วนหัวของแต่ละข้อความ ส่วนนี้จะกำหนดวิธีการสื่อสารเมื่ออุปกรณ์เครื่องใดเครื่องหนึ่ง (ไม่ว่าจะเป็นอุปกรณ์ที่เริ่มการสื่อสารหรืออุปกรณ์ที่ตอบสนอง) ใช้เวอร์ชันเก่ากว่าอุปกรณ์อีกเครื่อง

กรณีที่ 1: ช่องทางการสื่อสารที่อิงตามการเชื่อมต่อ

ส่วนนี้อธิบายกรณีที่ใช้ช่องทางการสื่อสารที่อิงตามการเชื่อมต่อ ซึ่ง Ranging Capability Request คือข้อความแรกที่อุปกรณ์เริ่มต้นส่ง

กรณีที่ 1.ก: ผู้เริ่มรองรับข้อกำหนดเวอร์ชันใหม่กว่า ส่วนผู้ตอบรองรับข้อกำหนดเวอร์ชันเก่ากว่า

อุปกรณ์ที่เริ่มการเชื่อมต่อจะส่งข้อความ Ranging Capability Request พร้อม เวอร์ชันใหม่กว่า อุปกรณ์ของผู้ตอบรองรับเฉพาะเวอร์ชันเก่า จึงตอบกลับด้วยเวอร์ชันนั้น จากนั้นระบบจะใช้เวอร์ชันเก่าของผู้ตอบสำหรับการแลกเปลี่ยนข้อความที่เหลือ ซึ่งหมายความว่าRanging Capability Request ข้อความต้องเข้ากันได้แบบย้อนหลัง

กรณีที่ 1.b: ผู้เริ่มรองรับข้อกำหนดเวอร์ชันเก่า ส่วนผู้ตอบรองรับข้อกำหนดเวอร์ชันใหม่

อุปกรณ์ตอบกลับจะเห็นว่าอุปกรณ์เริ่มต้นไม่สามารถใช้ เวอร์ชันใหม่กว่าได้ จึงส่งข้อความโดยใช้เฉพาะเวอร์ชันเก่ากว่าที่อุปกรณ์เริ่มต้น ร้องขอในตอนแรก

กรณีที่ 2: ช่องทางการสื่อสารที่อิงตามโฆษณา

ส่วนนี้อธิบายกรณีที่ใช้ช่องทางการสื่อสารที่อิงตามโฆษณา ซึ่งอุปกรณ์ของผู้ตอบจะโฆษณาRanging Capability Request โดยตรงโดยไม่ต้องมีคำขอเริ่มต้น

กรณีที่ 2.ก: ผู้เริ่มรองรับข้อกำหนดเวอร์ชันใหม่กว่า ส่วนผู้ตอบรองรับข้อกำหนดเวอร์ชันเก่ากว่า

ระบบจะใช้เวอร์ชันเก่าที่ระบุไว้ในRanging Capability Responseโฆษณา สำหรับการสื่อสารที่เหลือ

กรณีที่ 2.b: ผู้เริ่มรองรับข้อกำหนดเวอร์ชันเก่า ส่วนผู้ตอบรองรับข้อกำหนดเวอร์ชันใหม่

Ranging Capability Responseโฆษณาเวอร์ชันใหม่กว่าต้อง เข้ากันได้แบบย้อนหลัง เพื่อให้อุปกรณ์ที่เริ่มอ่านข้อความได้แม้ว่า จะใช้เวอร์ชันใหม่กว่าก็ตาม จากนั้นอุปกรณ์ที่เริ่มการสนทนาจะส่งRanging Configurationโดยใช้เวอร์ชันเก่าที่รองรับ นี่คือเวอร์ชัน ที่ใช้สำหรับการสื่อสารที่เหลือ

เพื่อให้มั่นใจว่า Ranging Capability Response เข้ากันได้แบบย้อนหลัง ฟิลด์ใหม่ ที่เพิ่มลงในข้อกำหนดเวอร์ชันถัดไปในเพย์โหลดข้อความ Ranging Capability Response ต้องต่อท้ายเพย์โหลด และจะแก้ไขฟิลด์ที่มีอยู่ไม่ได้ เมื่อแยกวิเคราะห์การกำหนดค่า หากขนาดที่ระบุใหญ่กว่าที่คาดไว้ อุปกรณ์ที่เข้าใจเฉพาะข้อกำหนดเวอร์ชันเก่ากว่าจะต้องไม่สนใจฟิลด์เพิ่มเติม

การกระจาย

ข้อกำหนดนี้ไม่ขึ้นอยู่กับช่องทางการสื่อสาร จึงไม่ได้กำหนดวิธี แยกเพย์โหลดของข้อความในกรณีที่ข้อความเดียวมีขนาดใหญ่เกินกว่า จะใส่ในแพ็กเก็ตการโอนของช่องทางการสื่อสารที่ใช้ โมดูลการวัดระยะ คาดว่าจะได้รับข้อความแต่ละรายการในรูปแบบเต็ม ความรับผิดชอบในการ แยกส่วนจะขึ้นอยู่กับผู้ใช้ช่องทางการสื่อสาร OOB

รายละเอียดเทคโนโลยีการวัดระยะ

ส่วนนี้มีรายละเอียดเฉพาะเกี่ยวกับเทคโนโลยีการวัดระยะ

รายละเอียดเกี่ยวกับแถบความถี่กว้างยิ่งยวด (UWB)

ส่วนนี้จะอธิบายรายละเอียดเฉพาะของแถบความถี่กว้างยิ่งยวด

รหัสการกำหนดค่า

ข้อมูลการกำหนดค่า OOB ที่แลกเปลี่ยนสำหรับ UWB ไม่มีชุดพารามิเตอร์ที่กำหนดค่าได้ทั้งหมด ซึ่ง UWB ต้องใช้เพื่อเริ่มเซสชันการวัดระยะ UWB เนื่องจากพารามิเตอร์บางรายการจะได้รับการเลือกโดยปริยายตามรหัสการกำหนดค่าที่เลือก

รหัสการกำหนดค่าแต่ละรายการคือชุดพารามิเตอร์การกำหนดค่า UWB ที่กำหนดไว้ล่วงหน้าซึ่งมีเอกสารประกอบใน UwbRangingParams อุปกรณ์ตอบกลับจะส่งรายการรหัสการกำหนดค่าทั้งหมดที่รองรับเป็นส่วนหนึ่งของ ข้อความตอบกลับความสามารถ และอุปกรณ์เริ่มต้นจะเลือกรหัสการกำหนดค่าที่รองรับ รายการใดรายการหนึ่งที่จะใช้ ซึ่งจะช่วยให้มีการแลกเปลี่ยนชุดพารามิเตอร์การกำหนดค่าที่เล็กลงในระหว่าง OOB นอกจากนี้ยังจำกัดจำนวนชุดค่าผสมที่เป็นไปได้ของ พารามิเตอร์ที่ใช้ในการวัดระยะด้วย UWB ซึ่งทำให้ทดสอบได้เฉพาะ ชุดค่าผสมของพารามิเตอร์ที่อนุญาตเท่านั้น

การขอความสามารถหลังแต่ละเซสชัน UWB

หลังจากหยุดเซสชัน UWB ที่มีอยู่และก่อนที่จะเริ่มเซสชัน UWB ใหม่ อุปกรณ์เริ่มต้นต้องขอความสามารถของอุปกรณ์ตอบกลับและ ตั้งค่าพารามิเตอร์การกำหนดค่าอีกครั้ง เนื่องจากที่อยู่ UWB อาจหมุนเวียนทันทีที่เซสชันการวัดระยะปัจจุบันสิ้นสุดลง

รายละเอียดการตรวจหาช่อง BLE (CS)

ส่วนนี้จะอธิบายรายละเอียดเฉพาะของการตรวจหาช่อง

การจับคู่อุปกรณ์ที่จำเป็น

ต้องมีการเชื่อมต่อที่มีอยู่ระหว่างอุปกรณ์เริ่มต้นและอุปกรณ์ตอบกลับเพื่อให้ การวัดระยะโดยใช้การตรวจหาช่องสัญญาณทำงานได้ ข้อกำหนดนี้ไม่ได้ระบุวิธี สร้างการเชื่อมต่อระหว่างอุปกรณ์ ผู้ใช้ Ranging API ต้องสร้างการเชื่อมต่อนี้ระหว่างอุปกรณ์

การดำเนินการที่ฝั่งผู้ตอบต้องทำสำหรับ CS

ใน UWB อุปกรณ์ทั้ง 2 เครื่องต้องเรียกใช้ API สำหรับการเริ่มและหยุดการวัดระยะ UWB อย่างชัดเจน ในทางตรงกันข้าม สำหรับ CS นั้น อุปกรณ์ที่เริ่มต้นเท่านั้นที่ต้อง เริ่มการวัดระยะ CS โดยการเรียกใช้สแต็กบลูทูธ (BT) ส่วนการเริ่มต้นที่เหลือในฝั่งผู้ตอบจะเกิดขึ้นในแบนด์ผ่าน BT ซึ่งหมายความว่าเมื่อได้รับข้อความ Ranging Configuration หรือข้อความ Stop Ranging สำหรับ CS ฝั่งผู้ตอบก็ไม่ต้องทำอะไรหากเปิดใช้ BT อุปกรณ์ตอบกลับอาจใช้ข้อความเหล่านั้นเป็นทริกเกอร์เพื่ออัปเดต UI หรือกะพริบไฟ LED ของอุปกรณ์ เป็นต้น