סקירה כללית

סטאק הרדיו לשידור מורכב מהרכיבים שמוצגים באיור 1.

ארכיטקטורה של רדיו לשידור
איור 1. ארכיטקטורה של שידור רדיו.

אפליקציית עזר לרדיו

למידע נוסף על הטמעת בקרה באמצעות רדיו, ראו הטמעת בקרה באמצעות רדיו.

אפליקציית רדיו לדוגמה ב-Java (packages/apps/Car/Radio) משמשת להטמעה לדוגמה. כששירות האפליקציה מתחיל, הוא מבקש מ-Radio Manager לפתוח מכשיר רדיו. לאחר מכן, האפליקציה יכולה לשלוח בקשות למכונה לכוונון רדיו, כמו כוונון לתחנת רדיו או תדר ספציפיים, או דילוג לתחנת הרדיו הזמינה הבאה. האפליקציה מקבלת עדכונים ממנהל הרדיו וממכשיר ה-Radio Tuner ב-Radio, כמו פרטי התוכנית הנוכחית, רשימות של תוכניות רדיו, הגדרות ופרמטרים שהוגדרו על ידי הספק. אפליקציית הרדיו של הבדיקה תומכת רק ברדיו AM ו-FM. יצרני ציוד מקורי יכולים לשנות או להחליף את אפליקציית הרדיו לפי הצורך.

מנהל הרדיו

כשהאפליקציה מבקשת מ-Radio Manager לפתוח מקלט, ‏Radio Manager‏ (frameworks/base/core/java/android/hardware/radio/RadioManager.java) מבקש מ-Broadcast Radio Service‏ (BRS) לפתוח סשן מקלט, ואז עוטף את הסשן ב-Radio Tuner‏ (frameworks/base/core/java/android/hardware/radio/RadioTuner.java) שמוחזר לאפליקציה. ‏Radio Tuner מגדיר ממשקי API (כמו tune,‏ step ו-cancel) שאפשר להפעיל מאפליקציות רדיו ולשלוח בקשות ל-BRS. שיטות קריאה חוזרת (RadioTuner.Callback) שמוגדרות ב-Radio Tuner שולחות מה-BRS לאפליקציות עדכונים לגבי HAL של רדיו השידור, כמו פרטי התוכנית הנוכחית, רשימות של תוכניות ופרמטרים שהוגדרו על ידי הספק.

שירות רדיו לשידור

שירות הרדיו של השידור (frameworks/base/services/core/java/com/android/server/broadcastradio) הוא שירות הלקוח של HAL של הרדיו של השידור. ה-BRS מתאם בין כמה מנהלי רדיו לבין HAL של רדיו לשידור. ב-BRS יש תמיכה ב-HALs של רדיו לשידור ב-שפת הגדרה לבניית ממשק HAL‏ (HIDL) וב-שפת הגדרה לבניית ממשק Android‏ (AIDL). ה-BRS מקושר ל-HAL של AIDL כשקיים שירות HAL של AIDL. אחרת, השירות מקושר ל-HAL של HIDL. ה-BRS יוצר מודול רדיו לכל מכונה זמינה של HAL (כמו AM,‏ FM ו-DAB).

כל מנהל רדיו יכול לבקש מ-BRS ליצור סשן של מכוון בתדרים במודול הרדיו המתאים, בהתאם לסוג הרדיו. כל סשן של מקלט יכול להפעיל שיטות כמו tune,‏ step ו-cancel (שמוגדרות בממשקי HAL) כדי לבצע פעולות במכונה המתאימה של HAL לרדיו השידור. כשסשן של ממיר אחד מקבל קריאה חוזרת מהמכונה של HAL לגבי עדכון HAL, כמו פרטי התוכנית הנוכחית, רשימת התוכניות, דגלי ההגדרה ופרמטרים של הספק, קריאות חוזרות לגבי העדכון נשלחות לכל ממירי הרדיו שמקושרים לאותו מודול רדיו.

שידור רדיו HAL

למידע נוסף על הממשקים HIDL ו-AIDL של רדיו השידור ועל ההבדלים ביניהם, ראו ממשק HAL של רדיו השידור.