基于linux的雙模智能手機(jī)實(shí)現(xiàn)方案
雙模智能手機(jī)是能利用CS域和IMS域進(jìn)行通訊的移動(dòng)終端設(shè)備。在分析采用的三種技術(shù)后,再?gòu)南到y(tǒng)架構(gòu)、硬件平臺(tái)、軟件平臺(tái),再到DMS進(jìn)行設(shè)計(jì),從而完成整個(gè)系統(tǒng)的設(shè)計(jì),并結(jié)合實(shí)際使用的實(shí)物器件進(jìn)行具體實(shí)現(xiàn)。
隨著智能手機(jī)功能性和實(shí)用性的增強(qiáng),使用者越來(lái)越多,尤其適合"移動(dòng)"商務(wù)人士使用。目前智能手機(jī)市場(chǎng)的競(jìng)爭(zhēng)也很激烈,一方面諾基亞、摩托羅拉、三星等傳統(tǒng)巨頭想牢牢把握市場(chǎng)份額,另一方微軟、蘋(píng)果、谷歌等國(guó)際新巨頭也開(kāi)始進(jìn)入手機(jī)市場(chǎng)。未來(lái)的智能手機(jī)不僅在處理器速率上會(huì)有明顯提高,操作系統(tǒng)也會(huì)越來(lái)越開(kāi)放和智能化,為軟件運(yùn)行和內(nèi)容服務(wù)提供了更好的平臺(tái)。隨著3G通信時(shí)代的到來(lái)和IMS技術(shù)的逐漸成熟,通信效率和帶寬將得到很大改善,手機(jī)多模接入必將成為一種趨勢(shì),基于3G手機(jī)的應(yīng)用服務(wù)也會(huì)越來(lái)越豐富,更多增值業(yè)務(wù)可以就此展開(kāi),如商品、天氣、新聞、股票、交通、應(yīng)用程序下載等,因此廠(chǎng)商不再只關(guān)注智能手機(jī),而是更加關(guān)心通信軟件和內(nèi)容服務(wù),因此通信軟件和移動(dòng)互聯(lián)網(wǎng)領(lǐng)域具有強(qiáng)大的市場(chǎng)潛力,諸如手機(jī)電視、手機(jī)搜索、手機(jī)網(wǎng)絡(luò)游戲等領(lǐng)域?qū)⒕哂袕V闊的市場(chǎng)前景。
一、IMS、VCC 和WIFI技術(shù)
1、IMS(IP 多媒體子系統(tǒng))
IMS(IP Multimedia Subsystem,IP多媒體子系統(tǒng))是第三代移動(dòng)通信核心網(wǎng)絡(luò)的重要組成部分。是基于IP技術(shù),融合Internet、移動(dòng)網(wǎng)絡(luò)、數(shù)據(jù)、語(yǔ)音、視頻的網(wǎng)絡(luò)體系[1].IMS的目標(biāo)是融合Internet和移動(dòng)通信網(wǎng)絡(luò)。現(xiàn)在IMS已被定義為支持所有IP 接入網(wǎng)的多媒體業(yè)務(wù)核心網(wǎng),可以支持任何一種移動(dòng)的或固定的、有線(xiàn)的或無(wú)線(xiàn)的IP- CAN(IP Connectivity Access Networks),包括W- CDMA,CDMA2000,TD- SCDMA,Ethernet,xDSL以及WirelessLAN等接入方式,從而實(shí)現(xiàn)其接入的無(wú)關(guān)性。
IMS核心網(wǎng)主要采用SIP(Session Initiation Protocol)協(xié)議進(jìn)行會(huì)話(huà)控制。通過(guò)IMS,3G (3rd Generation Mobile CommunicationsSystem)網(wǎng)絡(luò)可以為用戶(hù)提供PoC(Push to talk over Cellular,一鍵通)、多媒體會(huì)議、即時(shí)消息、Presence 等多種業(yè)務(wù)。從網(wǎng)絡(luò)架構(gòu)上來(lái)看,IMS是疊加在原有電路域和分組域網(wǎng)絡(luò)之上的網(wǎng)絡(luò),通過(guò)分組域?qū)崿F(xiàn)信令和用戶(hù)數(shù)據(jù)的承載,并可以實(shí)現(xiàn)和原有電路域的互通。
2、VCC(語(yǔ)音呼叫連續(xù)性)
無(wú)線(xiàn)局域網(wǎng)(WLAN)技術(shù)在近年來(lái)得到很大的發(fā)展,已經(jīng)廣泛用于辦公區(qū)、家庭、通信熱點(diǎn)地區(qū)等場(chǎng)合,用戶(hù)完全可以通過(guò)WLAN接入IMS核心網(wǎng),從而使用基于IMS的VoIP(Voiceover IP)電話(huà)服務(wù)。同時(shí)應(yīng)該注意到以下兩點(diǎn):第一,CS域提供的話(huà)音業(yè)務(wù)是基本的收入來(lái)源,不可能立即停用,會(huì)與IMS網(wǎng)絡(luò)共存較長(zhǎng)的時(shí)間。第二,IMS雖然采用基于SIP的業(yè)務(wù)實(shí)現(xiàn)方式支持VoIP業(yè)務(wù),但其語(yǔ)音質(zhì)量難以得到保證。語(yǔ)音呼叫連續(xù)性(Voice Call Continuity,VCC)即是3GPP 針對(duì)IMS 域與CS 域間語(yǔ)音呼叫連續(xù)性的解決方案?;赩CC業(yè)務(wù),通過(guò)引入支持GSM/CDMA/UMTS和WLAN接入方式的雙模或多模移動(dòng)終端設(shè)備,用戶(hù)可以在有WLAN覆蓋的地區(qū),通過(guò)WLAN方式接入IMS進(jìn)行語(yǔ)音通話(huà),當(dāng)用戶(hù)移出WLAN服務(wù)區(qū)后,又會(huì)漫游到移動(dòng)蜂窩網(wǎng)絡(luò)上繼續(xù)進(jìn)行語(yǔ)音通話(huà),并且可以在兩者之間進(jìn)行無(wú)縫切換。
3、WIFI(無(wú)線(xiàn)保真技術(shù))
,是IEEE 802.11 網(wǎng)絡(luò)規(guī)范的一種,最高帶寬可達(dá)11 Mbps,根據(jù)實(shí)際情況,帶寬可自動(dòng)調(diào)整三種不同的帶寬,分別為5.5Mbps、2Mbps 和1Mbps.帶寬的自動(dòng)調(diào)整性有效地保障了網(wǎng)絡(luò)的穩(wěn)定性和可靠性。具有"速度快、可靠性高"等特性。在開(kāi)放性區(qū)域,通訊距離可達(dá)305 米,在封閉性區(qū)域,通訊距離為76 米到122 米,方便與現(xiàn)有的有線(xiàn)以太網(wǎng)絡(luò)整合,且組網(wǎng)的成本更低。
WLAN(無(wú)線(xiàn)局域網(wǎng))是由AP(Access Point)和無(wú)線(xiàn)網(wǎng)卡組成的無(wú)線(xiàn)網(wǎng)絡(luò)。AP稱(chēng)為網(wǎng)絡(luò)橋接器或接入點(diǎn),它是傳統(tǒng)的有線(xiàn)局域網(wǎng)絡(luò)與無(wú)線(xiàn)局域網(wǎng)絡(luò)之間的橋梁或紐帶,因此任何一臺(tái)裝有無(wú)線(xiàn)網(wǎng)卡的終端都可通過(guò)AP去分享有線(xiàn)局域網(wǎng)絡(luò)或廣域網(wǎng)絡(luò)的資源,它的工作原理相當(dāng)于一個(gè)內(nèi)置無(wú)線(xiàn)發(fā)射器的HUB或者是路由,而無(wú)線(xiàn)網(wǎng)卡則是負(fù)責(zé)接收由AP 所發(fā)射信號(hào)的終端設(shè)備。
二、軟硬件架構(gòu)體系設(shè)計(jì)
為創(chuàng)建本智能手機(jī)的軟硬件系統(tǒng)平臺(tái),需要基于IMS和VCC實(shí)現(xiàn)原理和具體功能需求來(lái)設(shè)計(jì)系統(tǒng)架構(gòu),下圖是基于Linux和IMS的系統(tǒng)架構(gòu)圖。
基于IMS 的系統(tǒng)架構(gòu)圖
在上圖中,最上層是根據(jù)實(shí)際需求開(kāi)發(fā)的一些應(yīng)用程序,采用分層實(shí)現(xiàn)的機(jī)制,為每種業(yè)務(wù)設(shè)計(jì)實(shí)現(xiàn)了一個(gè)相應(yīng)的業(yè)務(wù)引擎,這些業(yè)務(wù)引擎都是基于底層的一些網(wǎng)絡(luò)協(xié)議棧(如SIP)和設(shè)備驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)的具體業(yè)務(wù)模塊。上圖列舉了三種業(yè)務(wù)引擎,可以根據(jù)具體需求進(jìn)行調(diào)整。移動(dòng)通信中的音頻、視頻等多媒體數(shù)據(jù)通過(guò)使用基于GStreamer(一個(gè)開(kāi)源的多媒體框架庫(kù))的媒體播放工具來(lái)實(shí)現(xiàn)編解碼工作。圖中的IMS Core模塊由一些公共的核心IMS API組成,以供具體業(yè)務(wù)引擎實(shí)現(xiàn)時(shí)進(jìn)行調(diào)用。IMS SDK中的Driver 層是在硬件設(shè)備驅(qū)動(dòng)層的基礎(chǔ)上又進(jìn)行了一次抽象,以達(dá)到與所用操作系統(tǒng)和具體硬件設(shè)備無(wú)關(guān)的目的。[!--empirenews.page--]
1、硬件平臺(tái)設(shè)計(jì)
為設(shè)計(jì)與實(shí)現(xiàn)好整個(gè)智能手機(jī),首先需要從用戶(hù)的角度來(lái)考慮功能需求狀況,同時(shí)注意其開(kāi)發(fā)成本。一般而言,智能手機(jī)的硬件平臺(tái)須從兩部分考慮,即處理器和外設(shè)。
智能手機(jī)比普通手機(jī)有更高的性能,是因?yàn)樗捎玫暮诵奶幚砥鞯牟煌?。普通手機(jī)所選用的處理器的運(yùn)行頻率不過(guò)幾十MHz、最多也只一百多MHz,這種處理器處理基本語(yǔ)音功能還可以,但在處理圖像視頻等多媒體數(shù)據(jù)時(shí)性能就遠(yuǎn)不夠??捎糜谑謾C(jī)處理器有:三星的ARM系列、TI 的OMAP 系列、INTEL 的XSCAL系列等。
隨著智能手機(jī)的發(fā)展,需要有更高性能的嵌入式微處理器。
本智能手機(jī)選用了Intel 公司的基于XScale 架構(gòu)的PXA270 高性能嵌入式處理器,其最高主頻可達(dá)624MHz,支持無(wú)線(xiàn)多媒體指令集擴(kuò)展(Wireless MMX),允許PXA270 以較低的時(shí)鐘頻率實(shí)現(xiàn)增強(qiáng)的多媒體性能。該處理器提供了非常豐富的外設(shè)接口,如LCD、音頻、USB、I2C、SD/MMC、CF、藍(lán)牙、WiFi、數(shù)碼相機(jī)、鍵盤(pán)等接口[7].PXA270 處理器中采用了Wireless MMX和SpeedStep 兩項(xiàng)Intel專(zhuān)利技術(shù),進(jìn)一步將高性能計(jì)算和動(dòng)態(tài)電源管理技術(shù)相結(jié)合,使得該處理器與其他同類(lèi)芯片相比,在多媒體處理能力和功耗方面有著非常大的優(yōu)勢(shì)。
在選用傳統(tǒng)通信模塊也有多種選擇,本智能手機(jī)系統(tǒng)選用了Philips 的Sysol- 3 通信模塊,該模塊包含了基帶芯片、RF 射頻芯片組、Combo Flash 芯片以及GSM/GPRS終端所需的全部軟件功能。Sysol- 3 有著完善的功能和穩(wěn)定的性能,此外還具有非常小的外形尺寸和非常輕的重量,能夠滿(mǎn)足智能手機(jī)、數(shù)碼通信設(shè)備等無(wú)線(xiàn)終端設(shè)備的薄、輕、小巧的需求。
現(xiàn)在流行的無(wú)線(xiàn)網(wǎng)卡接口主要有兩種,一種是基于標(biāo)準(zhǔn)PCMCIA接口,另一種是基于USB接口。因?yàn)镮ntel Xscale PXA270處理器內(nèi)部集成了雙通道16 位PCMCIA PC Card/CF 控制器,支持8 位/16 位I/O模式和Memory模式的訪(fǎng)問(wèn)。所以我們采用PCMCIA接口來(lái)擴(kuò)展88W8686 無(wú)線(xiàn)網(wǎng)卡。
2、軟件平臺(tái)設(shè)計(jì)
在設(shè)計(jì)好智能手機(jī)的硬件開(kāi)發(fā)平臺(tái)后,下面需要根據(jù)硬件平臺(tái)設(shè)計(jì)軟件開(kāi)發(fā)平臺(tái)。系統(tǒng)的Bootloader 通過(guò)編譯移植u- boot來(lái)實(shí)現(xiàn),它對(duì)PXA270處理器有較好的支持。然后移植相應(yīng)硬件設(shè)備的驅(qū)動(dòng)程序,配置和裁減Linux內(nèi)核,完成對(duì)Linux的交叉編譯[8].至于根文件系統(tǒng),采用Busybox工具進(jìn)行編譯生成,并使用mkfs.jffs2 工具創(chuàng)建JFFS2 類(lèi)型的文件系統(tǒng)映象。最后逐一將u- boot、Linux內(nèi)核及文件系統(tǒng)映象燒寫(xiě)到Flash 中進(jìn)行測(cè)試運(yùn)行。
3、DMS SKD層的設(shè)計(jì)
關(guān)于DMS(Dual Mode Services)SDK層,終端研發(fā)人員既可以自己設(shè)計(jì)實(shí)現(xiàn),也可以通過(guò)購(gòu)買(mǎi)使用第三方提供的SDK解決方案,諸如PicoMobile和Ecrio等公司就提供此類(lèi)方案。SDK的設(shè)計(jì)既需要滿(mǎn)足本系統(tǒng)的功能要求,同時(shí)也要滿(mǎn)足模塊化、簡(jiǎn)約化的要求,從而方便日后進(jìn)行新功能的擴(kuò)展與集成。SDK層的工作主要是基于SIP協(xié)議、IMS通信的信令流程、GSM通話(huà)信令來(lái)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。與通話(huà)有關(guān)的API的實(shí)現(xiàn)過(guò)程主要是基于SIP 協(xié)議通過(guò)發(fā)送或接收相應(yīng)的SIP 信令來(lái)實(shí)現(xiàn)與服務(wù)器的交互,與硬件有關(guān)的API主要是通過(guò)調(diào)用相關(guān)驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)。以上主要實(shí)現(xiàn)了與電話(huà)業(yè)務(wù)相關(guān)的功能,根據(jù)業(yè)務(wù)的需要,還可以在此基礎(chǔ)上對(duì)SDK進(jìn)行擴(kuò)展。
4、DMS 后臺(tái)服務(wù)設(shè)計(jì)
DMS Daemon Service,即DMS 后臺(tái)服務(wù)程序,是與DMSSDK層(主要是VCC Engine)交互的主體部分,它的實(shí)現(xiàn)工作主要是基于Qtopia 把DMS SDK層提供的API 封裝成可供上層應(yīng)用調(diào)用的公共接口。
其中DMSDaemon 是整體后臺(tái)服務(wù)類(lèi);DMSTelephonyService負(fù)責(zé)實(shí)現(xiàn)電話(huà)相關(guān)的功能接口;IMSControlService用于響應(yīng)上層控制程序的IMS服務(wù)請(qǐng)求;一切與底層DMS SDK子系統(tǒng)有關(guān)的調(diào)用由DMSLayer來(lái)完成。
三、WIFI驅(qū)動(dòng)程序設(shè)計(jì)
同有線(xiàn)網(wǎng)絡(luò)一樣,接入無(wú)線(xiàn)局域網(wǎng)需要網(wǎng)卡設(shè)備,目前WLAN網(wǎng)卡常用的接口有PCI、USB、PCMCIA和CF 卡接口,嵌入式系統(tǒng)常用的WLAN 網(wǎng)卡接口一般有PCMCIA、USB 和CF卡接口,其中PCMCIA和CF卡接口邏輯類(lèi)似,在本系統(tǒng)的硬件設(shè)計(jì)中,采用PCMCIA接口擴(kuò)展成WLAN接口,接入WiFi 無(wú)線(xiàn)網(wǎng)卡。因此如果想要使用無(wú)線(xiàn)網(wǎng)卡,需要實(shí)現(xiàn)Linux下PCMCIA接口的驅(qū)動(dòng)程序和具體無(wú)線(xiàn)網(wǎng)卡設(shè)備的驅(qū)動(dòng)程序。Linux內(nèi)核對(duì)常用的無(wú)線(xiàn)局域網(wǎng)卡的支持都很好,通過(guò)內(nèi)核配置時(shí)選擇Networkdevice supportàWireless LAN,實(shí)現(xiàn)對(duì)無(wú)線(xiàn)網(wǎng)絡(luò)的支持,因此無(wú)線(xiàn)網(wǎng)卡的驅(qū)動(dòng)程序移植比較簡(jiǎn)單。