המודול של Ultra Wideband (UWB), שהוצג ב-Android 13, מכיל סטאק UWB מעל לממשק HAL, שמבוסס על מפרט FiRa.
למודול UWB יש יתרונות רבים ליצרני מכשירים:
- סטאק UWB מלא ל-Android שזמין למכשירים עם תמיכה ב-UWB
- שיפור האיכות והיכולת של UWB לפעול עם מכשירים אחרים בסביבת Android
- תמיכה מהירה וגמישה יותר בתרחישי שימוש חדשים של FiRa ובעדכוני מפרטים
פרטים
בהמשך מופיעים פרטי המודול של UWB:
- כולל סטאק UWB מלא ב-AOSP ב-Android 13 שמשתמש במפרט UCI שמוגדר על ידי FiRa כממשק HAL.
- מאפשרת לאפליקציות מערכת להקצות פרופילים מותאמים אישית.
- כולל ממשק API למערכת שמאפשר לאפליקציות מערכת להשתמש בפרופילים מותאמים אישית בסשנים שלהן למדידת המרחק.
- כולל תשתית לחשיפת RROs שבעזרתם יצרני המכשירים יכולים להתאים אישית את ההתנהגות של הסטאק.
ארכיטקטורת מחסנית UWB
סטאק UWB מורכב מהמודול הראשי של UWB וההטמעה של 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 Native stack (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.
- סטאק Bluetooth לכל האינטראקציות מחוץ למכשיר.
- רכיב מאובטח לכל האינטראקציות המאובטחות עם השירות.
- מסגרת ליבה לאכיפת הרשאות בזמן ריצה של UWB.