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

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

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

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

?

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

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

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

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

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

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