โมดูลแถบความถี่กว้างยิ่งยวด (UWB) ซึ่งเปิดตัวใน Android 13 มีสแต็ก UWB เหนืออินเทอร์เฟซ HAL ซึ่งอิงตามข้อกำหนดของ FiRa
โมดูล UWB มีประโยชน์ดังต่อไปนี้สำหรับผู้ผลิตอุปกรณ์
- สแต็ก UWB ดั้งเดิมของ Android ที่สมบูรณ์พร้อมใช้งานสำหรับอุปกรณ์ที่รองรับ UWB
- ปรับปรุงคุณภาพและความสามารถในการทำงานร่วมกันของ UWB ในระบบนิเวศของ Android
- การสนับสนุนที่รวดเร็วและยืดหยุ่นมากขึ้นสำหรับกรณีการใช้งาน FiRa ใหม่และการอัปเดตข้อกำหนด
รายละเอียด
รายละเอียดของโมดูล UWB มีดังนี้
- มีสแต็ก UWB ที่สมบูรณ์ใน AOSP ใน Android 13 ซึ่งใช้ข้อกำหนด UCI ที่กำหนดโดย FiRa เป็นอินเทอร์เฟซ HAL
- อนุญาตให้แอปของระบบจัดสรรโปรไฟล์ที่กำหนดเอง
- มีพื้นผิว API ของระบบเพื่อให้แอปของระบบใช้โปรไฟล์ที่กำหนดเองในเซสชันการวัดระยะได้
- รวมถึงโครงสร้างพื้นฐานในการเปิดเผย RRO ที่ผู้ผลิตอุปกรณ์ใช้เพื่อปรับแต่งลักษณะการทำงานของสแต็กได้
สถาปัตยกรรมของสแต็ก UWB
สแต็ก UWB ประกอบด้วยโมดูล UWB mainline และการติดตั้งใช้งาน HAL ที่ผู้ให้บริการชิป UWB จัดหาให้
รูปที่ 1 สถาปัตยกรรมของสแต็ก UWB
ขอบเขตของโมดูล
โค้ดโมดูลอยู่ในตำแหน่งต่อไปนี้
UWB Mainline Apex:
com.android.uwb
แพลตฟอร์ม UWB API (Java)
- ตำแหน่งของโค้ด:
packages/modules/Uwb/framework
- กระบวนการ:
<bootclasspath>
- ตำแหน่งของโค้ด:
UwbService (Java)
- ตำแหน่งของโค้ด:
packages/modules/Uwb/service
- กระบวนการ:
system_server
- ตำแหน่งของโค้ด:
สแต็ก UWB ดั้งเดิม (C++/Rust)
- ตำแหน่งของโค้ด:
external/uwb
- กระบวนการ:
system_server
- ตำแหน่งของโค้ด:
อินเทอร์เฟซและการใช้งาน HAL (C++)
- ตำแหน่งของโค้ดอินเทอร์เฟซ:
hardware/interfaces/uwb
- ตำแหน่งโค้ดการติดตั้งใช้งาน:
vendor/<vendor-name>/uwb
- กระบวนการ:
<vendor defined>
- ตำแหน่งของโค้ดอินเทอร์เฟซ:
รูปแบบแพ็กเกจ
โมดูล UWB (com.google.android.uwb
) ใช้รูปแบบ APEX
การขึ้นต่อกัน
โมดูลเมนไลน์ UWB ขึ้นอยู่กับสิ่งต่อไปนี้
- การติดตั้งใช้งาน HAL จากผู้ให้บริการชิป UWB
- ชุดโปรโตคอลบลูทูธสำหรับการโต้ตอบ OOB ทั้งหมด
- องค์ประกอบที่ปลอดภัยสำหรับการโต้ตอบบริการที่ปลอดภัยทั้งหมด
- เฟรมเวิร์กหลักสำหรับการบังคับใช้สิทธิ์รันไทม์ของ UWB