《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 业界动态 > 基于Windows CE5.0的双模终端系统设计与实现

基于Windows CE5.0的双模终端系统设计与实现

2008-07-18
作者:邱 赟,何 维,沈建国

??? 摘 要: 對(duì)Windows CE操作系統(tǒng)進(jìn)行了簡(jiǎn)要說(shuō)明,提出了基于TD-SCDMA" title="TD-SCDMA">TD-SCDMA制式的雙模終端" title="雙模終端">雙模終端系統(tǒng)設(shè)計(jì)方案。詳細(xì)介紹了雙模終端通信系統(tǒng)軟件的構(gòu)架及實(shí)現(xiàn)方法。
??? 關(guān)鍵詞: TSP? TD-SCDMA? 雙模終端? Windows CE

?

??? TD-SCDMA是我國(guó)" title="我國(guó)">我國(guó)提出的具有自主知識(shí)產(chǎn)權(quán)的三大3G標(biāo)準(zhǔn)之一,對(duì)我國(guó)通信業(yè)的發(fā)展有著舉足輕重的作用。隨著3G時(shí)代的不斷臨近,TD-SCDMA的商用化受到了越來(lái)越多的關(guān)注。但是,在前幾輪運(yùn)營(yíng)商對(duì)TD-SCDMA規(guī)模網(wǎng)絡(luò)測(cè)試中,終端成熟度問(wèn)題還未得到徹底解決。此外,TD-SCDMA手機(jī)暫時(shí)缺乏國(guó)際手機(jī)巨頭的支持,消費(fèi)者在心理上能否認(rèn)同國(guó)產(chǎn)手機(jī)還是一個(gè)疑問(wèn),終端產(chǎn)業(yè)鏈亟待打通。而且,對(duì)3G特色業(yè)務(wù)支持的不成熟依然困擾著TD-SCDMA終端。
??? 由于我國(guó)2G網(wǎng)絡(luò)用戶眾多,2G網(wǎng)絡(luò)存在CDMA和GSM兩種制式,在3G正式商用時(shí),不可能所有的用戶都一下子轉(zhuǎn)到3G網(wǎng)絡(luò)上來(lái)。因此,開(kāi)發(fā)基于TD-SCDMA、性能優(yōu)良的雙模或多模終端已成為我國(guó)3G產(chǎn)業(yè)發(fā)展的關(guān)鍵。
1 嵌入式操作系統(tǒng)
??? 目前市場(chǎng)中的智能手機(jī)操作系統(tǒng)主要有三種:Nokia主推的Symbian;開(kāi)放內(nèi)核的嵌入式Linux;微軟的Windows CE(Windows Mobile僅是基于Windows CE的一個(gè)應(yīng)用)。
??? Windows CE是微軟公司推出的一個(gè)為多種嵌入式系統(tǒng)和產(chǎn)品而設(shè)計(jì)的緊湊、高效、可升級(jí)的嵌入式操作系統(tǒng),具有搶先式多任務(wù)功能、良好的實(shí)時(shí)性能、強(qiáng)大的通信能力、出色的圖形用戶界面。其模塊化和可伸縮性設(shè)計(jì)使嵌入式系統(tǒng)開(kāi)發(fā)者和應(yīng)用程序" title="應(yīng)用程序">應(yīng)用程序開(kāi)發(fā)者能夠根據(jù)多種不同產(chǎn)品進(jìn)行定制。Windows CE具有一個(gè)很小的內(nèi)核NK,基本上只包含線程調(diào)度、存儲(chǔ)器管理和kernel API。其余大部分功能都在單獨(dú)的模塊中完成。
??? Windows CE提供強(qiáng)大的多媒體支持以及多種輸入法,支持廣泛的音頻視頻格式。Windows CE采用標(biāo)準(zhǔn)的Windows API函數(shù),大大方便了開(kāi)發(fā)人員,發(fā)揮可重定目標(biāo)應(yīng)用代碼庫(kù)的作用,軟件開(kāi)發(fā)商們則可將其現(xiàn)有的資源快速移植到Windows CE平臺(tái)上?;谝陨显?,并考慮到Windows產(chǎn)品的普及性以及用戶對(duì)Windows軟件的依賴性(如:word、excel、IE瀏覽器、媒體播放器、Outlook express等),本文采用Windows CE作為雙模終端的操作系統(tǒng)。
2 終端系統(tǒng)構(gòu)建
2.1 系統(tǒng)層次結(jié)構(gòu)
??? 系統(tǒng)的運(yùn)行平臺(tái)為基于Intel Xscale構(gòu)架的IntelPXA270微處理器,采用64MB的內(nèi)存、32MB的Flash存儲(chǔ)、320×240/3.5寸LCD顯示觸摸屏。通信模塊" title="通信模塊">通信模塊為TD-SCDMA和CDMA2000 1X。在以上基礎(chǔ)上構(gòu)建的系統(tǒng)結(jié)構(gòu)如圖1所示。操作系統(tǒng)通過(guò)硬件驅(qū)動(dòng)與硬件平臺(tái)相連接。應(yīng)用平臺(tái)所有應(yīng)用程序的數(shù)據(jù)都以數(shù)據(jù)庫(kù)文件的形式存放于Flash中,以免出現(xiàn)TD-SCDMA雙模終端掉電數(shù)據(jù)丟失問(wèn)題。通信軟件(短信軟件和撥號(hào)程序)通過(guò)通信服務(wù)程序讀寫(xiě)串口數(shù)據(jù),通信軟件和通信服務(wù)軟件則通過(guò)雙模終端應(yīng)用軟件通信協(xié)議進(jìn)行互聯(lián)。通信串口負(fù)責(zé)向通信模塊寫(xiě)入數(shù)據(jù)或讀出通信模塊返回的指令。通信模塊之間的切換在硬件中實(shí)現(xiàn),通過(guò)鍵盤上的切換鍵進(jìn)行網(wǎng)絡(luò)切換。

????????????????????????
2.2 TD-SCDMA協(xié)議棧
??? 開(kāi)發(fā)基于TD-SCDMA移動(dòng)終端,還需要開(kāi)發(fā)TD-SCDMA協(xié)議棧。由于雙模終端具有PDA功能,TD-SCDMA的協(xié)議棧直接在基帶芯片的處理器上完成,主處理器完成一般應(yīng)用程序與多媒體功能的處理。
??? 該TD-SCDMA的協(xié)議棧采用分層結(jié)構(gòu),且易于擴(kuò)展,其結(jié)構(gòu)示意圖如圖2所示。

????????????????????????
??? 物理層的主要功能是傳輸信道的編解碼, 物理信道的擴(kuò)頻、調(diào)制、解調(diào)與解擴(kuò), 同步、閉環(huán)功率控制等。MAC子層向高層提供數(shù)據(jù)傳輸、無(wú)線資源和MAC參數(shù)的重分配、測(cè)量的執(zhí)行及報(bào)告等服務(wù)。RLC子層向高層提供RLC連接建立、釋放、透明模式數(shù)據(jù)傳輸、非確認(rèn)模式數(shù)據(jù)傳輸、確認(rèn)模式數(shù)據(jù)傳輸。PDCP的主要功能是對(duì)冗余的網(wǎng)絡(luò)層PDU控制信息在發(fā)送端進(jìn)行壓縮及接收端進(jìn)行解壓縮,同時(shí)也對(duì)TCP/IP頭進(jìn)行壓縮和解壓縮。BMC用于在無(wú)線接口上傳遞由小區(qū)廣播中心產(chǎn)生的消息。RRC層通過(guò)業(yè)務(wù)接入點(diǎn)向上層提供業(yè)務(wù)。RRC和所有低層協(xié)議之間都存在控制接口。RRC層使用這些控制接口對(duì)低層協(xié)議實(shí)體的參數(shù)進(jìn)行配置。
2.3 操作系統(tǒng)定制
??? 定制操作系統(tǒng)采用Platform Builder工具。Windows CE出色的圖形用戶界面以及強(qiáng)大的可擴(kuò)展性對(duì)3G特色業(yè)務(wù)發(fā)展十分有利。故在定制操作系統(tǒng)時(shí)應(yīng)充分考慮適應(yīng)3G業(yè)務(wù)發(fā)展,盡可能加入一些多媒體組件。定制系統(tǒng)時(shí)不應(yīng)加入全部組件,這會(huì)使系統(tǒng)變得臃腫,降低系統(tǒng)的運(yùn)行效率,應(yīng)盡可能做到系統(tǒng)功能完善而運(yùn)行穩(wěn)定。
????該雙模終端應(yīng)用軟件使用的數(shù)據(jù)庫(kù)為EDB(Embedded Database),必須在定制系統(tǒng)時(shí)加入相關(guān)組件。EDB是Windows CE自帶的數(shù)據(jù)庫(kù),使用EDB可以非常方便地存儲(chǔ)和檢索數(shù)據(jù),極大地提高軟件工作效率。相對(duì)于一般的數(shù)據(jù)庫(kù)(如Microsoft SQL Server 2000 Windows CE Edition),EDB占用更少的系統(tǒng)資源,使用靈活方便。同時(shí),考慮到對(duì)多媒體的支持,還加入了如音頻、視頻編解碼等多媒體應(yīng)用組件。
3 通信系統(tǒng)軟件設(shè)計(jì)
3.1 概要設(shè)計(jì)
????為了使雙模終端具備基本的PDA操作功能,并通過(guò)通信模塊實(shí)現(xiàn)話音和數(shù)據(jù)業(yè)務(wù),需設(shè)計(jì)智能手機(jī)必須具有的基本應(yīng)用程序,即撥號(hào)程序、短消息程序、通信錄。撥號(hào)程序、短消息程序?qū)崿F(xiàn)常用的撥打、接聽(tīng)、收發(fā)短信等功能;通信錄實(shí)現(xiàn)用戶號(hào)碼的存儲(chǔ)、查詢等功能。
3.2 軟件構(gòu)架
??? 根據(jù)Windows通信體系的結(jié)構(gòu),給出一種雙模終端的通用軟件架構(gòu),其結(jié)構(gòu)如圖3所示。其中關(guān)鍵是在操作系統(tǒng)層創(chuàng)建了支持任何第三方應(yīng)用程序的第三方TSP(Telephony Service Provider)。在TSP中需要封裝一些接口函數(shù),主要包括:phone接口、line接口、SMS接口、SIM接口、IPC接口等。根據(jù)硬件設(shè)計(jì)的具體情況,TSP中封裝了與TD-SCDMA通信模塊和CDMA2000 1X通信模塊相對(duì)應(yīng)的AT指令。若硬件設(shè)計(jì)中未采用通信模塊而直接使用芯片設(shè)計(jì),TSP包中則應(yīng)封裝相應(yīng)的通信協(xié)議。

???????????????????????
??? 采用TSP是為了兼容第三方的通信軟件,TSP還可以根據(jù)需要和近期可能出現(xiàn)的應(yīng)用程序進(jìn)行定制,以提高該軟件架構(gòu)的可擴(kuò)展性和靈活性,使雙模終端具有更好的可擴(kuò)展性和兼容性。這樣軟件開(kāi)發(fā)人員就可以使用微軟提供的標(biāo)準(zhǔn)API函數(shù)(如TAPI函數(shù))開(kāi)發(fā)應(yīng)用程序,而不必?fù)?dān)心軟件的兼容性問(wèn)題。
3.3 系統(tǒng)軟件設(shè)計(jì)
??? 使用eMbedded Visual C++4.0編寫(xiě)程序,編寫(xiě)代碼時(shí)應(yīng)注意:Windows CE只支持Unicode編碼。
3.3.1 撥號(hào)程序
?? 撥號(hào)程序主要使用API函數(shù)中的TAPI實(shí)現(xiàn)。利用TAPI能使兩個(gè)或多個(gè)設(shè)備進(jìn)行電話連接,通過(guò)電話服務(wù)供應(yīng)者能實(shí)現(xiàn)應(yīng)用程序更復(fù)雜的應(yīng)用。語(yǔ)音通信應(yīng)用程序?qū)崿F(xiàn)過(guò)程如下:
??? (1)初始化TAPI(調(diào)用lineInitialize)。
??? (2)協(xié)商TAPI的可用版本(調(diào)用lineNegotiateAPIVersion):TAPI有多個(gè)可用版本,如果需要判斷在設(shè)備上對(duì)TAPI集的支持程度,則有必要檢查TAPI的版本號(hào)。
??? (3)獲取線路通信能力(調(diào)用lineGetDevCaps):初始化后,為了使用線路設(shè)備,還必須打開(kāi)線路設(shè)備,但是在對(duì)于TAPI來(lái)說(shuō),手機(jī)設(shè)備上還存在許多線路設(shè)備,如電話線路、串口線路、USB線路和MDODEN線路等,通過(guò)lineGetDevCaps函數(shù)選擇特定的線路。
??? (4)打開(kāi)線路設(shè)備(調(diào)用lineOpen)。
??? (5)翻譯目的電話號(hào)碼(調(diào)用lineTranslateAddress):當(dāng)應(yīng)用程序使用到電話號(hào)碼時(shí),TAPI需要的電話號(hào)碼格式跟經(jīng)常輸入的號(hào)碼格式不同,必須把號(hào)碼轉(zhuǎn)換成TAPI能識(shí)別的格式,lineTranslateAddress函數(shù)能夠?qū)崿F(xiàn)轉(zhuǎn)換號(hào)碼地址。
??? (6)呼叫目的號(hào)碼(調(diào)用lineMakeCall):應(yīng)用程序使用lineMakeCall函數(shù)呼叫對(duì)方,TAPI會(huì)發(fā)送Line_CallsTate來(lái)通知呼叫的過(guò)程。
3.3.2 其他程序
??? 短信程序的實(shí)現(xiàn)和撥號(hào)程序類似,區(qū)別是其調(diào)用的API函數(shù)不同,此處不再詳述。通信錄程序使用MFC編寫(xiě),采用名片式存儲(chǔ),最多可存儲(chǔ)500條記錄。
????各程序之間的通信及數(shù)據(jù)傳遞采用UDP sockets實(shí)現(xiàn),三個(gè)程序的端口號(hào)分配分別是6785,6786,6787。但是,如果要在非撥號(hào)軟件中發(fā)起呼叫,首先要調(diào)用tapiRequestMakeCall函數(shù),將所要撥叫的號(hào)碼送達(dá)撥號(hào)程序。如果是在非短信程序中發(fā)送短信,可以直接調(diào)用SMS接口,或者通過(guò)IPC將短信內(nèi)容和目的號(hào)碼等信息傳遞給短信程序,由短信程序發(fā)送短信。
??? 程序中涉及到大量的數(shù)據(jù),如短信內(nèi)容、通話記錄、通訊錄中每條記錄的詳細(xì)信息等。數(shù)據(jù)庫(kù)使用EDB,同時(shí)Window CE提供了一系列的API用來(lái)操縱EDB,如:加載數(shù)據(jù)庫(kù)卷使用CemountDBVol,打開(kāi)數(shù)據(jù)庫(kù)使用CeOpenDatabaseInSession,查找記錄使用CeSeekDatabaseEx,寫(xiě)入記錄使用CeWriteRecordProps等。由于一個(gè)數(shù)據(jù)庫(kù)可能被多個(gè)數(shù)據(jù)庫(kù)訪問(wèn),因此三個(gè)程序各建一個(gè)數(shù)據(jù)庫(kù)卷,各程序通過(guò)卷名來(lái)加載數(shù)據(jù)庫(kù)卷及訪問(wèn)其中的數(shù)據(jù)庫(kù),程序結(jié)束時(shí)釋放數(shù)據(jù)庫(kù)卷。整個(gè)通信系統(tǒng)的業(yè)務(wù)處理流程如圖4所示。

?????????????????????????
??? TD-SCDMA雙模終端的研發(fā)對(duì)我國(guó)移動(dòng)通信,特別是TD-SCDMA的發(fā)展有極大的推動(dòng)作用。利用Windows CE實(shí)時(shí)系統(tǒng)豐富的用戶界面和處理芯片的強(qiáng)大處理能力,TD-SCDMA雙模終端可以為用戶提供豐富的多媒體服務(wù)。上述系統(tǒng)設(shè)計(jì)方案已經(jīng)通過(guò)了測(cè)試驗(yàn)證,采用基于Windows CE的雙模終端系統(tǒng)構(gòu)架,開(kāi)發(fā)周期短,開(kāi)發(fā)難度相對(duì)較小,具有良好的兼容性和可擴(kuò)展性。在
(開(kāi)發(fā)TD-SCDMA/GSM等雙模或多模終端時(shí)也可采用以上系統(tǒng)構(gòu)架,只需對(duì)協(xié)議棧、硬件接入以及TSP包進(jìn)行相應(yīng)擴(kuò)展。
參考文獻(xiàn)
[1] 李小文,李貴勇,陳賢亮,等.TD-SCDMA第三代移動(dòng)通信系統(tǒng)信令及實(shí)現(xiàn)[M].北京:人民郵電出版社,2003.
[2] 何宗鍵.Window CE嵌入式系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,2006.
[3] 傅曦,陳黎.Windows CE嵌入式開(kāi)發(fā)入門——基于Xscale構(gòu)架[M].北京:人民郵電出版社,2006.
[4] 張冬泉,譚南林.Windows CE實(shí)用開(kāi)發(fā)技術(shù)[M].北京:電子工業(yè)出版社,2006.
[5] PETZOLD C.Window CE程序設(shè)計(jì)[M].北京:北京大學(xué)出版社,1999.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容