(華中科技大學(xué)電子與信息工程系 湖北武漢 430074)
摘 要:介紹了嵌入式操作系統(tǒng)μCLinux和GPRS網(wǎng)絡(luò)各自的特點(diǎn)和他們各自具有的優(yōu)勢(shì),詳細(xì)討論并實(shí)現(xiàn)了把GPRS模塊集成進(jìn)基于嵌入式μCLinux的手持式終端的方法,并分析了該無(wú)線手持式終端的應(yīng)用前景。
關(guān)鍵詞:嵌入式;μCLinux;GPRS;MC35
1 引 言
近年來(lái),隨著各類(lèi)手持設(shè)備以及信息家電的廣泛應(yīng)用,嵌入式應(yīng)用的發(fā)展進(jìn)入了一個(gè)全新的時(shí)期。在嵌入式操作系統(tǒng)的領(lǐng)域中,嵌入式Linux以其性能穩(wěn)定、價(jià)格低廉、功能強(qiáng)大又易于移植而正在被廣泛采用,成為新興的力量,向各種主流嵌入式操作系統(tǒng)如VxWorks,pSOS,Windows CE等顯示了強(qiáng)有力的攻勢(shì),μCLinux正是在這種氛圍下產(chǎn)生的。由于其開(kāi)放、可靠、完善等優(yōu)良的特性,μCLinux在嵌入式終端領(lǐng)域越來(lái)越受到重視。另一方面,在移動(dòng)通信領(lǐng)域,GSM網(wǎng)絡(luò)已經(jīng)不能滿足人們對(duì)數(shù)據(jù)、多媒體方面的需求,但3G(第三代移動(dòng)通信系統(tǒng))商用系統(tǒng)遲遲未能推出。而GPRS(GeneralPacket Radio Service,通用分組無(wú)線業(yè)務(wù))具有“高速”和“永遠(yuǎn)在線”等優(yōu)點(diǎn),是GSM網(wǎng)絡(luò)向第三代移動(dòng)通信平滑過(guò)渡的橋梁,目前已經(jīng)處于商用階段。解決嵌入式手持終端的移動(dòng)性問(wèn)題,GPRS成為一種新的選擇。
2 GPRS在基于μCLinux的手持終端上的實(shí)現(xiàn)
2.1 硬件設(shè)計(jì)與連接
一個(gè)功能較完善的手持終端所需要的硬件包括CPU,F(xiàn)LASH,DRAM,LCD液晶顯示觸摸屏、串口
等外圍設(shè)備。
(1)CPU采用Motorola公司MC68EZ328系列CPU芯片,其片內(nèi)地址總線為32 b,片外地址總線為24 b,主頻為33 MHz。他是Motorola龍珠系列MC68328芯片中的新成員,EZ系列芯片集成了便攜式系統(tǒng)處理器核MC68EZ328。在繼承了原龍珠系列處理器顯示控制功能的基礎(chǔ)上,MC68EZ328具備更為靈活的LCD控制,在更小的封裝內(nèi)置入了一個(gè)外圍設(shè)備的流式列表。這一款處理器主要致力于滿足需要更少的外圍設(shè)備和更靈活的LCD控制器的便攜式用戶產(chǎn)品的需求。
(2)閃速存儲(chǔ)器和EPROM類(lèi)似,可用電擦除,其使用方便而且壽命也很長(zhǎng)(幾萬(wàn)到幾十萬(wàn)次不等)。我們選用2 M容量的AML29LV160芯片。
(3)動(dòng)態(tài)RAM的優(yōu)點(diǎn)是集成度高,讀取時(shí)間短。我們采用8 M容量的MD51V65160芯片。
(4)串行通信芯片MAX202將3.3 V的通訊信號(hào)變換成232電平通訊信號(hào)。
(5)電阻式觸摸屏。目前手持終端的主要輸入方式還是用筆或手指,觸摸屏提供了用戶與手持終端進(jìn)行輸入的接口。常用的觸摸屏主要有3種,分別是電阻式、電容式和電感式。目前市面上的觸摸屏主要是電阻式和電容式觸摸屏,電容式觸摸屏盡管透明度較好,但易受到干擾,屏幕易磨損,因此用得較多的觸摸屏仍是電阻式。
(6)GPRS模塊采用Siemens公司的MC35。這是Siemens第一款支持GPRS的GSM/GPRS模塊。他體積小巧,易于集成到手持式終端中。并且由于他是一款GSM/GPRS模塊,不但可以提供GPRS功能,也可以為終端提供語(yǔ)音通話功能,利于以后功能擴(kuò)展。
系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示。
2.2 MC35模塊驅(qū)動(dòng)及軟件設(shè)計(jì)
MC35模塊要正常工作,首先要啟動(dòng)模塊并對(duì)串口進(jìn)行配置,然后通過(guò)串口發(fā)AT命令聯(lián)結(jié)GPRS無(wú)線網(wǎng)絡(luò)。具體工作流程如下:
(1)啟動(dòng)模塊
系統(tǒng)上電后,模塊的引腳IGT上必須有一個(gè)下拉脈沖且最少需要延時(shí)100 ms,模塊才能正常啟動(dòng)。啟動(dòng)后,引腳VDD電壓從0升到2.9 V。可以依據(jù)引腳VDD的電壓判斷MC35模塊是否已經(jīng)正常啟動(dòng)。電路中由MC68EZ328的引腳EMUIRO提供IGT上的啟動(dòng)脈沖,引腳PE7檢測(cè)VDD上的電壓變化。
(2)模塊啟動(dòng)成功后,需要對(duì)串口進(jìn)行設(shè)置
系統(tǒng)必須通過(guò)串口發(fā)送AT命令,才能控制MC35模塊的工作狀態(tài)。串口設(shè)置包括打開(kāi)串口、設(shè)置波特率、幀格式和流量控制等。
串口具體設(shè)置參數(shù)如下:
其中波特率設(shè)為115 200 b/s,數(shù)據(jù)位8 b,無(wú)流量控制。
(3)串口配置完成后,就可以對(duì)模塊發(fā)AT命令
MC35模塊雖然兼容標(biāo)準(zhǔn)的AT指令,但是對(duì)他進(jìn)行了一些擴(kuò)充。特別指出MC35模塊的撥號(hào)指令是“ATD*99***1!薄芴(hào)基本過(guò)程示例如下:
其中sendandrecvcmd為模塊接口收發(fā)函數(shù)。
(4)運(yùn)行PPP撥號(hào)程序,通過(guò)GPRS網(wǎng)絡(luò)與Internet進(jìn)行連接
PPP(Point to Point Protocol)是專(zhuān)門(mén)為解決Modem撥號(hào)上網(wǎng)的問(wèn)題而設(shè)計(jì)的。PPP在連接過(guò)程中所處的主要狀態(tài)有死亡、建立、認(rèn)證、網(wǎng)絡(luò)和終止。當(dāng)鏈路是死亡時(shí)沒(méi)有物理層連接,成功建立物理連接后鏈路變成建立。這時(shí)LCP選項(xiàng)商議開(kāi)始,如果成功進(jìn)入認(rèn)證。如果在LCP階段要求了認(rèn)證,現(xiàn)在就可以檢查PEER的標(biāo)志,然后進(jìn)入網(wǎng)絡(luò)階段,采用相應(yīng)的NCP協(xié)議配置網(wǎng)絡(luò)層。當(dāng)完成數(shù)據(jù)傳輸后,鏈路進(jìn)入終止階段,并返回死亡。其簡(jiǎn)要的流程如圖2所示。
Linux上的PPP程序稍做修改,就可以移植到μCLinux中去。值得注意的是:
、佴藽Linux是在系統(tǒng)初始化時(shí)初始化網(wǎng)絡(luò)設(shè)備的,且同時(shí)初始化路由,根據(jù)是否有網(wǎng)卡,存在是否有默認(rèn)路由的問(wèn)題。由于本來(lái)手持終端就集成有網(wǎng)卡,所以存在默認(rèn)的路由。因此要保證通過(guò)GPRS聯(lián)結(jié)網(wǎng)絡(luò),必須刪除默認(rèn)路由。
、谠趽芴(hào)程序中,由于采用與PC不同串口的原因,所以只能以緩沖區(qū)的形式發(fā)送,而不能單字符發(fā)送。
、矍度胧絃inux的用戶本身就是Root用戶,并且嵌入式Linux運(yùn)行的平臺(tái)本身沒(méi)有與PC類(lèi)似的網(wǎng)絡(luò)信息,如主機(jī)名等。
④運(yùn)行用戶網(wǎng)絡(luò)應(yīng)用程序。面向一般應(yīng)用的手持式終端所需的常用的網(wǎng)絡(luò)應(yīng)用程序包括收發(fā)郵件、瀏覽網(wǎng)頁(yè)等。而面向特定應(yīng)用如行業(yè)應(yīng)用,就需要開(kāi)發(fā)專(zhuān)用的網(wǎng)絡(luò)應(yīng)用程序。
3 結(jié) 語(yǔ)
嵌入式μCLinux系統(tǒng)內(nèi)核源自于Linux內(nèi)核,并保留了對(duì)TCP/IP以及其他的網(wǎng)絡(luò)協(xié)議的支持。在嵌入式μCLinux系統(tǒng)上編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序與在Linux上編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序沒(méi)什么大區(qū)別,通常只需要作很小的修改就可以移植到嵌入式μCLinux系統(tǒng)上了。至此,GPRS模塊完整地集成到嵌入式手持終端中去了。
參考文獻(xiàn)
[1]龐勇.手機(jī)無(wú)線上網(wǎng)技術(shù)及應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2001.
。2]MC35-Hardware - Interface - Description - V0010.
摘自 現(xiàn)代電子技術(shù)