android modem架构,Telephony解析之整体架构简介
本文代碼基于Android 9.0
Telephony概述
Android系統是主流的手機操作系統,手機在人們生活中的的存在最不可忽視的功能就是通信,Android系統中的的Telephony為此功能的核心模塊,Telephony主要提供了語音,短信,數據鏈接,SIM卡管理,電話簿等功能
Telephony架構由上到下可分為4層:
應用層(Application)
面向用戶的應用層,依賴于應用框架層,通過訪問Telephony應用框架層的業務模塊來呈現給用戶具體的功能,主要包括Phone、Contacts、SMS等應用,Phone比較特殊,系統啟動時就被運行起來了,且Phone啟動時會創建Telephony框架層,并與之運行在同一個進程中
應用框架層(Framework)
Telephony應用框架層主要包括RILJ、Service、業務功能模塊三個部分構成,提供了電話,短信,聯系人等所需的所有功能
代碼路徑是:/frameworks/base/telephony
android.telephony:外部應用可訪問的Phone模塊
com.android.internal.telephony:Phone應用和框架內部使用的Phone模塊
1.RILJ
/frameworks/opt/telephony/src/java/com/android/internal/telephony/RIL.java
RIL.java是Telephony和本地RIL的通信接口,通過Socket(rild)完成電話服務命令的收發
2.Service
Telephony基于IBinder提供了各種功能的Service,以便于業務功能模塊的實現
3.業務功能模塊
Telephony業務功能模塊主要包括語音、短信、ICC 卡、網絡服務以及數據連接等,這些功能模塊是Android系統通話功能的核心和基礎注:整個Framework層的Telephony框架運行在一個叫做Phone(com.android.phone)的進程中。而這個進程是在packages\services\Telephony模塊中被創建的
本地RIL層(RIL)
RIL(Radio Interface Layer)是Telephony框架層與Modem之間的接口層(屬于HAL層),RIL將Modem提供的各種服務進行了抽象,以提供給Framework層統一的接口
RIL架構
1.RIL抽象層
實現RIL層框架,包括RILD守護進程和RIL庫,定義了其與Framework層、Vendor RIL之間的接口
2.RIL實現層
基于不同Modem廠商的RIL功能實現(Vendor RIL),其主要功能是接受 RIL 層的主動 Request,轉發給 Modem,同時接受 Modem 返回的請求 Response 和主動上報事件,上報給 RIL 層
RILD
RILD是一個可執行程序,作為守護進程運行在系統中,進程內配合RIL
Lib和Vendor RIL實現了RIL的所有功能,它通過Socket與應用框架層進行通信,守護進程內部會初始化Vendor
RIL,同時管理所有的電話相關的請求、主動上報、請求 Response 等事件,其主要功能如下:
1.Event 處理框架(通過 Select 機制實現)
2.請求、數據下發 (將 RILJ 通過 Socket 傳過來的數據解成 C 語言數據結構,然后和請求下發給 Vendor RIL 處理)
3.Response、數據上報(將 Vendor RIL 上報的請求 Response 和主動上報事件打包通過 Socket 轉發給 RILJ 層)注:RIL和Modem之間交互,大部分廠商采用AT命令交互,也有其他的交互方式,例如高通使用了ONCRPC、QMI 接口
驅動層(Modem)
RIL 驅動用于實現電話功能,主要硬件是通信模塊(Modem),Modem 通過與通信網絡進行溝通,傳輸語音及數據,完成呼叫、短信等相關電話功能。
目前的智能機在硬件上多采用雙 cpu 的架構,一個是基帶處理器,主要處理數字信號、語音信號的編碼解碼以及通信3協議,基帶處理器、射頻和其它外圍芯片作為一個 Modem 模塊,提供 AT 命令接口。
另一個是應用處理器,運行操作系統和各種應用程序。對于目前大部分的獨立通信模塊而言,無論是 2G 還是 3G 都已經非常成熟,模塊化相當完善,硬件接口非常簡單,也有著相對統一的軟件接口。
一般 Modem 模塊裝上 SIM 卡,直接上電即可工作,自動完成初始的找網、網絡注冊等工作,完成之后即可打電話、發短信等
總結
通過這篇文章介紹,可以了解整個Telephony的分層架構,以此為基礎可劃分Telephony相關的各個主線,進行各個擊破
總結
以上是生活随笔為你收集整理的android modem架构,Telephony解析之整体架构简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大象不会跳舞了吗?营收下滑的IBM在干什
- 下一篇: unity动态美术字体制作