Android核心分析(16)—–Android電話系統-概述篇

來源:互聯網
上載者:User
Android電話系統之概述篇

    首先拋開Android的一切概念來研究一下電話系統的最基本的描述。我們的手機首先用來打電話的,隨後是需要一個電話本,隨後是PIM,隨後是網路應用,隨後是雲端運算,隨後是想我們的手機無所不能,替代PC。但是作為一個電話的準系統如下:

0)撥叫電話,電話中,掛斷電話,傳送簡訊,網路連接,PIM管理

1)由於電話電訊廠商為我們提供了插撥,電話會議等補充業務,所以我們的手機需要管理多路通話,如何管理?

2)來電時,我們要播出來電鈴聲,接通時我們需要切換語音通道,這個又跟多媒體系統打上了交道,例如有耳機插上了,有藍芽耳機連上了,系統該做如何的管理和切換?

3)上網的網路通路建立(例如GSM GPRS),如何PPP串連並串連到LinuxSocket通道上的?系統如何管理資料連線?

4)AP跟Modem通訊時通過AT指令的,如何將AT指令變成一個個具體的操作函數,如何管理Modem發給我們的回應,AT命令通道,資料通道如何管理?

5)sim卡的電話本如何管理?

上面的關於手機的基本問題,Android電話系統設計者必須要解答的問題。該設計如何的管理架構,提出什麼概念來表達?所以要分析Android的電話部分,還是需要理解電話實現的背景知識,通訊協議,大體架構。

    我們回到電話系統基本構成上,先從整體上去把握一下電話模組的大體架構,先從空中俯瞰。我給出的圖是一般的智能手機的架構圖,該架構基本能夠概括所有手機電話模組的構成,當然也包括Android的電話系統構成。

    智能機架構一般是應用處理器+Modem。應用處理器與Modem的串連使用串口或者USB。在一個硬體串口通路上實現為了要同時實現資料轉送並同時實現控制Modem,就需要實現多工協議(GSM TS07.10),在底層我們在多工基礎上虛擬了兩個串口,一個用於CMD通道,一個用於DATA通道。電話的所有控制通路都是在這連個通道上。

   RIL,Radio Interface Layer。本層為一個協議轉換層,手機架構需要適應多類型的Modem接入到系統中,而對於不同的Modem有不同的特性,AT指令的格式或者回應有所不同,但是這種特性在設計應用時不可能完全考慮和相容。所以設計者在設計電話系統時,建立了一個虛擬電話系統,為該虛擬電話系統規定了標準的功能,上層的電話管理都是建立在這些標準的功能基礎之上。而RIL則是將虛擬電話系統的標準功能轉換成實際的所使用的Modem的AT指令。

Android設計者將電話系統設計成了三部分。

    Andoird的Phone Service其實是PhoneApp。GSMPhone(CDMAPhone)是Phone Service核心的對象,他包含了如下的相關對象。

       我們的分析任務就是要把這些對象的相互關係,及其對象間資料傳遞關係弄清楚。首先我們給出以下的Android電話系統的架構,以便對Android電話系統有個概要的認識,然後從資料流的角度,以及對象的參考關聯性來分析系統。下面是android電話系統整體架構圖。

分享到:   

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.