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

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

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

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

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

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

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
Motion Notification 0x8

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

ขั้นตอนของช่องทางการสื่อสาร

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

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

อุปกรณ์ที่ตอบจะระบุความสามารถของเทคโนโลยีการวัดระยะที่ขอในข้อความ Ranging Capability Request เท่านั้น

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ขนาด: 2 ไบต์

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

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

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

เพย์โหลด

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

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

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

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

คำอธิบาย: ส่งโดยอุปกรณ์ที่เริ่มการสนทนาเพื่อเริ่มการแลกเปลี่ยนข้อความ

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

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8*2 ฟิลด์บิตของเทคโนโลยีการวัดระยะที่ขอ
  • 0x01 - UWB
  • 0x02 - การตรวจหาช่อง BLE
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - การตรวจหาฮาร์ดแวร์ใกล้เคียง (PD) ของ Wi-Fi
  • 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
  • 0x10 - Wi-Fi PD
  • 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 ฟิลด์บิตของรหัสการกำหนดค่าที่รองรับ บิตฟิลด์ของรหัสการกำหนดค่า 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 uint8 ฟิลด์บิตของบทบาทอุปกรณ์ 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 ขนาด ขนาดของไบต์ความสามารถ RTT ของ Wi-Fi NAN (รวมถึงฟิลด์รหัสเทคโนโลยีและขนาด) ในหน่วยไบต์
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 ในลำดับบิ๊กเอนเดียน

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

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รหัสเทคโนโลยีการวัดระยะ 0x4 - Wi-Fi PD
1 uint8 ขนาด ขนาดของไบต์ความสามารถของ Wi-Fi PD (รวมฟิลด์รหัสเทคโนโลยีและขนาด) ในหน่วยไบต์
2 uint8 ฟีเจอร์ที่รองรับ บิตแมป
  • b0 - รองรับ 11mc
  • b1 - รองรับ 11az
3 uint8 โหมด PASN บิตแมป
  • b0 - โหมด PASN ที่ไม่มีการตรวจสอบสิทธิ์
  • b1 - โหมด PASN ที่ตรวจสอบสิทธิ์แล้ว
4 uint8*6 ที่อยู่อุปกรณ์ ที่อยู่อุปกรณ์ที่ใช้สำหรับ Wi-Fi PD ในลำดับ Big-Endian
10 uint8*2 ช่วงเวลาการวัดระยะต่ำสุด 802.11mc ช่วงเวลาการวัดระยะต่ำสุดที่รองรับในรูปแบบ Big-Endian สำหรับ 11mc
12 uint8*2 ช่วงเวลาการวัดระยะต่ำสุด 802.11az ช่วงเวลาการวัดระยะขั้นต่ำที่รองรับในรูปแบบ Big-Endian สำหรับ 11az
14 uint8 ประเภทส่วนนำสูงสุด
  • 0 - PREAMBLE_LEGACY
  • 1 - PREAMBLE_HT
  • 2 - PREAMBLE_VHT
  • 3 - PREAMBLE_HE
  • 4 - PREAMBLE_EHT

ซึ่งถือว่ารองรับคำนำทุกประเภทที่ต่ำกว่า
15 uint8 ความกว้างของช่องสูงสุด
  • 0 - CHANNEL_WIDTH_20MHZ
  • 1 - CHANNEL_WIDTH_40MHZ
  • 2 - CHANNEL_WIDTH_80MHZ
  • 3 - CHANNEL_WIDTH_160MHZ
  • 4 - CHANNEL_WIDTH_80MHZ_PLUS_MHZ
  • 5 - CHANNEL_WIDTH_320MHZ

ซึ่งถือว่ารองรับแบนด์วิดท์ช่องสัญญาณที่ต่ำกว่าทั้งหมด
16 uint8*2 ความถี่ของช่องที่รองรับ
  • b0 - ช่อง 1
  • ข1 - ช่อง 11
  • ข2 - ช่อง 36
  • b3 - ช่อง 40
  • b4 - ช่อง 44
  • b5 - ช่อง 48
  • b6 - ช่อง 153
  • b7 - ช่อง 157
  • b8 - ช่อง 161
  • b9 - ช่อง 165
  • b10-b15 - RFU

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

ขนาด (ไม่รวมขนาดส่วนหัว): แตกต่างกัน (ส่วนที่ใช้ร่วมกัน 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
  • 0x10 - Wi-Fi PD
  • RFU
2 uint8*2 บิตฟิลด์ RFU ต้องตั้งค่าเป็นค่าเดียวกับฟิลด์บิตฟิลด์ชุดการกำหนดค่าเทคโนโลยีการวัดระยะ
4 อาร์เรย์ไบต์ ไบต์การกำหนดค่าเทคโนโลยีการวัดระยะ บล็อกของโครงสร้างที่ซ้ำกันซึ่งกำหนดต่อเทคโนโลยี
แตกต่างกันไป uint8 การรองรับการเคลื่อนไหว Motion Notification ที่ร้องขอ
  • 0x0 - ระบุว่าอุปกรณ์ที่เริ่มไม่จำเป็นต้องใช้ข้อมูลการเคลื่อนไหว
  • 0x1 - ระบุว่าอุปกรณ์เริ่มต้นต้องใช้ข้อมูลการเคลื่อนไหวจากอุปกรณ์เพียร์

เพย์โหลดของข้อความ 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 ดัชนีอารัมภบทที่เลือก ดัชนี Preamble ที่เลือกสำหรับเซสชันการวัดระยะ 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 ในลำดับบิ๊กเอนเดียน

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

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 รหัสเทคโนโลยีการวัดระยะ 0x4 - Wi-Fi PD
1 uint8 ขนาด ขนาดของการกำหนดค่า Wi-Fi PD (รวมช่องรหัสเทคโนโลยีและขนาด) ในหน่วยไบต์
2 uint8 ฟีเจอร์
  • 0x01 - 11mc
  • 0x02 - 11az
3 uint8*6 ที่อยู่ MAC ที่อยู่ MAC ของผู้เริ่ม
9 uint8*2 ช่วงเวลาการวัดระยะ ช่วงเวลาการวัดระยะในหน่วยมิลลิวินาที
11 uint8 อารัมภบทที่เลือก
  • 0 - PREAMBLE_LEGACY
  • 1 - PREAMBLE_HT
  • 2 - PREAMBLE_VHT
  • 3 - PREAMBLE_HE
  • 4 - PREAMBLE_EHT
12 uint8 ความกว้างของช่องที่เลือก
  • 0 - CHANNEL_WIDTH_20MHZ
  • 1 - CHANNEL_WIDTH_40MHZ
  • 2 - CHANNEL_WIDTH_80MHZ
  • 3 - CHANNEL_WIDTH_160MHZ
  • 4 - CHANNEL_WIDTH_80MHZ_PLUS_MHZ
  • 5 - CHANNEL_WIDTH_320MHZ
13 uint8 ช่องที่เลือก
  • 0 - ช่อง 1
  • 1 - ช่อง 11
  • 2 - ช่อง 36
  • 3 - ช่อง 40
  • 4 - ช่อง 44
  • 5 - ช่อง 48
  • 6 - ช่อง 153
  • 7 - ช่อง 157
  • 8 - ช่อง 161
  • 9 - ช่อง 165
14 uint8 เลือกโหมด PASN แล้ว
  • 0x01 - โหมด PASN ที่ไม่ได้ตรวจสอบสิทธิ์
  • 0x02 - โหมด PASN ที่ตรวจสอบสิทธิ์แล้ว
หมายเหตุ: ฟิลด์นี้คือจุดสิ้นสุดของแพ็กเก็ตสำหรับ โหมด PASN ที่ไม่ได้ตรวจสอบสิทธิ์
15 อาร์เรย์ไบต์ คีย์ข้อมูลประจำตัวของอุปกรณ์ อาร์เรย์คงที่ 16 ไบต์
หมายเหตุ: ฟิลด์นี้ใช้ได้เฉพาะโหมด PASN ที่ได้รับการตรวจสอบสิทธิ์เท่านั้น และต้องไม่ตั้งค่าสำหรับโหมด PASN ที่ไม่ได้รับการตรวจสอบสิทธิ์
31 uint8 ความยาวของรหัสผ่าน ความยาวของรหัสผ่าน
หมายเหตุ: ช่องนี้ใช้ได้เฉพาะโหมด PASN ที่ได้รับการตรวจสอบสิทธิ์เท่านั้น และต้องไม่ตั้งค่าสำหรับโหมด PASN ที่ไม่ได้รับการตรวจสอบสิทธิ์
แปรเปลี่ยน อาร์เรย์ไบต์ รหัสผ่าน รหัสผ่านเป็นอาร์เรย์ไบต์
หมายเหตุ: ช่องนี้ใช้ได้เฉพาะโหมด PASN ที่ได้รับการตรวจสอบสิทธิ์เท่านั้น และต้องไม่ตั้งค่าสำหรับโหมด PASN ที่ไม่ได้รับการตรวจสอบสิทธิ์

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

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

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

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

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

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

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

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

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

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

เพย์โหลดของข้อความแจ้งเตือนการเคลื่อนไหว

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

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

Octet ประเภทข้อมูล คำอธิบาย ค่า
0 uint8 การเคลื่อนไหว
  • 0x0 - ไม่พบ
  • 0x1 - การเคลื่อนไหวเล็กน้อย
  • 0x2 - การเคลื่อนไหวปานกลาง
  • 0x3 - การเคลื่อนไหวขนาดใหญ่
  • RFU
ต้องกำหนดค่าเกณฑ์การเคลื่อนไหวเพื่อตรวจหาการเปลี่ยนแปลงการวางแนว ±X° ตามแกน 2 แกนของอุปกรณ์เสริม
  • ตรวจไม่พบ: < 5°
  • เคลื่อนไหวเล็กน้อย: 5° - 7°
  • การเคลื่อนไหวปานกลาง: 7° - 10°
  • การเคลื่อนไหวขนาดใหญ่: > 10°

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

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

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

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

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

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

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

การกระจาย

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