關(guān)鍵字:GPRS網(wǎng)絡(luò) 嵌入式系統(tǒng)
1系統(tǒng)硬件平臺設(shè)計與實現(xiàn)
1.1 終端硬件平臺總體介紹
本文的終端平臺的無線接入模塊采用西門子最新推出的 MC39i模塊,并以 32位基于ARM920T的微處理 S3C2410X為核心,。按照功能分類,,本文所實現(xiàn)的硬件平臺主要由微處理器單元、存儲器單元,、串口通訊單元,、USB接口單元、電源單元,、GPRS通訊模塊單元以及JTAG接口單元組成,,硬件總框圖如圖 1所示。
1.2 嵌入式微處理器單元
本文硬件平臺的 CPU采用的 Samsung的基于ARM920T內(nèi)核的 S3C2410X微處理器,,該微處理器是 Samsung公司為手持設(shè)備和一般類型應(yīng)用提供一種低價格,、低功耗、高性能小型微控制器的解決方案,。S3C2410X采用了 0.18um工藝的 CMOS標準宏單元和存貯器單元,。它的低功耗、精簡和出色的全靜態(tài)設(shè)計特別適用于對成本和功耗敏感的應(yīng)用,。
S3C2410X的顯著特性是它的 CPU核心,,是一個由 Advanced RISC Machine(ARM)有限公司設(shè)計的 16/32位的高速緩沖體系結(jié)構(gòu)。這一結(jié)構(gòu)具有獨立的 16KB指令 Cache和 16KB數(shù)據(jù) Cache,,每個都是由 8字節(jié)長的行構(gòu)成,。通過提供一系列完整的系列外圍設(shè)備, S3C2410X大大減少了整個系統(tǒng)的成本,,消除了為系統(tǒng)配置額外器件的需要,。
1.3 GPRS模塊 MC39i
MC39i是西門子公司最近推出的新一代雙頻 GSM/GPRS通訊模塊的無鉛產(chǎn)品,它簡潔的封裝是很多應(yīng)用系統(tǒng)中無線高速數(shù)據(jù)傳輸?shù)睦硐虢鉀Q方案,,可以進行數(shù)據(jù),、語音、SMS和FAX各個方面的應(yīng)用,,且功耗低,。它為用戶提供了永遠在線、高速度,、更簡單的移動數(shù)據(jù)通信接入手段,。MC39i具有豐富的 AT指令,功能強大,,操作靈活方便,,是繼 GPRS手機外有一種非常重要的 GPRS移動通信系統(tǒng)的終端設(shè)備。它的出現(xiàn)給 GPRS的發(fā)展注入了新的活力,。
MC39i具有體積小,、重量輕、功耗低等特點,。MC39i的工作電壓為 3.3伏一 4.8伏,,典型電壓為 4.2伏。最大工作電流為 2安,。模塊可以工作在 EGSM900和 GSM1800兩個頻段,。工作于 EGSM900時功耗為 2瓦,工作于 GSM1800時功耗為 1瓦,。利用 AT指令進行控制,,支持文本和 PDU模式的短消息、第三組的二類傳真,。模塊常用的工作模式有省電模式,、IDLE、TALK,、數(shù)據(jù)等模式,。通過獨特的 40腳的連接器(ZIF)實現(xiàn)電源連接、指令,、數(shù)據(jù),、語音信號及控制信號的雙向傳輸。
MC39i模塊主要由 GSM基帶控制器,、射頻模塊,、供電模塊、閃存,、ZIF連接器,、射頻功率放大器、天線接口六部分組成,。
1.4 存儲器單元設(shè)計
本系統(tǒng)的外部存儲器主要由非易失性存儲器 Flash和易失性存儲器 SDRAM構(gòu)成,,其中Flash用來存放需要固化的程序,如操作系統(tǒng)和 BootLoader等,,掉電后不易丟失,,而 SDRAM相當于 PC機的內(nèi)存,用來運行系統(tǒng)和程序,,掉電后易消失,。
本終端的存儲系統(tǒng)包含 8MB Flash存儲器和 32M SDRAM。其中 8M的 Flash用來存放內(nèi)部啟動代碼,、Linux內(nèi)核以及初始化的 ramdisk映像,。剩余的存儲空間可存放用戶程序。本文采用的 Flash為 Intel公司的28F640J3A,,BGA封裝,。這塊芯片有 23根地址線,,16根數(shù)據(jù)線,容量為8MB,,128KB的可擦除塊;擦除塊之間相互獨立,,每一塊的擦除操作可在 1s內(nèi)完成,并可單獨被擦寫 100000次;支持8位及16位兩種數(shù)據(jù)寬度工作模式,。在采用8位數(shù)據(jù)寬度模式時,,有效地址線為AO-A22;采用 16位數(shù)據(jù)寬度模式時,有效地址線為Al-A22,。在此我們采用 16位數(shù)據(jù)寬度模式,。我們把 16位數(shù)據(jù)寬度的 Flash存儲器映射到 S3C2410X的 ROM Bank()。
2 基于GPRS的終端設(shè)計
目前硬件上的實現(xiàn)方案有兩種,,二者各有優(yōu)缺點,,分別敘述如下: 方案1:使用 TCP/IP協(xié)議芯片。 此方案利用了硬件協(xié)議棧,,由單片機調(diào)用指令控制芯片,,其系統(tǒng)結(jié)構(gòu)如圖 2所示。
本方案對處理器性能的要求相對不高,,因為協(xié)議棧的工作交給 TCP/IP協(xié)議芯片去完成,。 處理器通過調(diào)用協(xié)議棧接口函數(shù)可以較方便地連接上網(wǎng),繼而再加上 GPRS通訊模塊就可以實現(xiàn)遠程無線傳輸,。本設(shè)計方案的優(yōu)點是開發(fā)時間短,,硬件上是成熟的芯片,運行比較穩(wěn)定,。但是本方案的缺點是硬件體積會相應(yīng)增大,,成本也較大。 方案2:嵌入式操作系統(tǒng),。
此方案利用了包含完整 TCP/IP協(xié)議棧的嵌入式操作系統(tǒng)來控制整個系統(tǒng)的運行,。由于引入了操作系統(tǒng),因此本方案比較適合于系統(tǒng)資源豐富的高速 16/32位嵌入式系統(tǒng)使用,。其系統(tǒng)結(jié)構(gòu)示意圖如圖 3所示,。
本設(shè)計方案不需要外加TCP/IP協(xié)議轉(zhuǎn)換芯片,所以硬件體積小,,成本少,。但是開發(fā)時間長,需要做大規(guī)模的軟件上的工作(比如操作系統(tǒng)的嵌入,、TCP/IP協(xié)議棧,、PPP協(xié)議的處理等都需要在一個處理器中完成),對開發(fā)者要求很高。另外還要做大量的測試,。 基于以上兩種方案,,GPRS終端相當于Modem,用于連接設(shè)備和Internet網(wǎng)絡(luò),。利用GPRS網(wǎng)絡(luò)與分組數(shù)據(jù)網(wǎng)絡(luò)互聯(lián)互通的特性,,實現(xiàn)了將設(shè)備接入最大的PDN網(wǎng)絡(luò)Internet。設(shè)備與GPRS終端之間采用串行接口通訊,,在GPRS終端連接上網(wǎng)絡(luò)后,設(shè)備即可以通過其來實現(xiàn)與Internet上的主機進行數(shù)據(jù)通訊,,GPRS終端透明收發(fā)數(shù)據(jù),。這種實現(xiàn)方法類似于使用家用PC做代理接入的方式,只是這里采用了無線方式,,網(wǎng)關(guān)改為GPRS終端,。
3 系統(tǒng)軟件設(shè)計
基于GSM/GPRS的無線數(shù)據(jù)傳輸模塊設(shè)計的目的是為無線網(wǎng)絡(luò)通信應(yīng)用提供一個簡單實用的平臺,須在模塊內(nèi)嵌TCP/IP協(xié)議棧,,實現(xiàn)了數(shù)據(jù)在用戶終端和服務(wù)器之間的透明傳輸,,使用戶可以方便地應(yīng)用,實現(xiàn)遠程的無線數(shù)據(jù)傳輸,。無線數(shù)據(jù)傳輸模塊的軟件結(jié)構(gòu)框圖如圖4所示,。
本系統(tǒng)中ETR186底層的硬件驅(qū)動已由英創(chuàng)公司做好并提供了豐富的接口,其中COM2口提供給MC35i通信使用,,并提供相關(guān)例程演示通過COM2如何和無線模塊進行通信,。因此該系統(tǒng)軟件部分主要是需要實現(xiàn)PPP協(xié)議、IP協(xié)議及TCP/UDP協(xié)議,,并為應(yīng)用程序提供一個簡單易用的接口,。在此重點介紹TCP/UDP協(xié)議。
3.1 TCP/IP協(xié)議介紹TCP/IP協(xié)議集是當今使用最廣泛的Internet體系結(jié)構(gòu),,根據(jù)相關(guān)協(xié)議標準,,可把TCP/IP
協(xié)議集劃分為四個相對獨立的層次:網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層,、傳輸層和應(yīng)用層,。
網(wǎng)絡(luò)接口層負責與物理網(wǎng)絡(luò)的連接,支持現(xiàn)有網(wǎng)絡(luò)的各種接入標準,,如.X25分組交換網(wǎng),、DDN、ATM網(wǎng),、以太網(wǎng)(Ethernet),、PPP(Point-to-Point Protocol,點到點協(xié)議),、SLIP等,。在本系統(tǒng)中將使用 PPP協(xié)議,。
網(wǎng)絡(luò)層即 IP層,它主要完成的功能是:從底層來的數(shù)據(jù)包要由它來選擇繼續(xù)傳給其他網(wǎng)絡(luò)結(jié)點或是直接交給傳輸層;對從傳輸層來的數(shù)據(jù)包,,要負責按照數(shù)據(jù)分組的格式填充報頭,,選擇發(fā)送路徑,并交由相應(yīng)的線路發(fā)送出去,。
傳輸層提供端到端應(yīng)用進程之間的通信,,其對高層屏蔽了底層網(wǎng)絡(luò)的實現(xiàn)細節(jié),同時它真正實現(xiàn)了源主機到目的主機的端到端的通信,。傳輸層傳送的數(shù)據(jù)單位是報文,。
在應(yīng)用層用戶通過API(應(yīng)用進程接口)調(diào)用應(yīng)用程序來運用因特網(wǎng)提供的多種服務(wù)。應(yīng)用程序負責收發(fā)數(shù)據(jù),,并選擇傳輸層提供的服務(wù)類型,,按傳輸要求的格式遞交。
3.2 系統(tǒng)初始化
為了能利用 TCP/PI協(xié)議進行數(shù)據(jù)傳輸,,必須對系統(tǒng)的硬件和軟件進行初始化,。圖 5為系統(tǒng)初始化部分的流程圖。
(1)系統(tǒng)軟件在開始時首先需要通過檢查 0x90端口的輸入電平是否為高來判斷 MC35i模塊是否正常上電,。若未能正常上電,,軟件將通過 0x90端口的輸出使 MC35i模塊上電。
(2)MC35i模塊上電后,,軟件將在內(nèi)存中開辟一個緩存區(qū)做為包括PPP,、IP、TCP,、UDP等協(xié)議的數(shù)據(jù)緩存區(qū),,做為該緩存區(qū)內(nèi)數(shù)據(jù)存放方式采用雙向鏈表的方式。
(3)為了 TCP協(xié)議實現(xiàn)中能夠進行超時檢測,,軟件利用 R8822CPU模塊的內(nèi)部定時器安裝一個 20ms的時鐘中斷,。
(4)ETR186通過其串口 COM2和 MC35i模塊連接,軟件通過安裝串口中斷進行和 MC35i模塊的數(shù)據(jù)傳輸,。
(5)完成上述操作后,,系統(tǒng)就可以利用 AT命令登錄 GPRS網(wǎng)絡(luò)。不成功就進行重試,,超過重試次數(shù)后出錯報告,。
(6)最后進行 PPP鏈路的連接。
4 小結(jié):
本文作者創(chuàng)新點是將嵌入式Linux系統(tǒng)技術(shù)與 GPRS無線通信網(wǎng)絡(luò)有機的結(jié)合在一起,。平臺采用無線模塊MC39i,,結(jié)合終端的嵌入式硬件結(jié)構(gòu)和軟件環(huán)境,為終端上實現(xiàn)無線應(yīng)用提供了一個可行的實現(xiàn)途徑。經(jīng)實驗驗證,,該終端平臺能有效的將采集到的數(shù)據(jù)通過GPRS網(wǎng)絡(luò),,傳輸至遠程服務(wù)器中心主機,也能接受服務(wù)器中心主機發(fā)送的命令,,再根據(jù)命令的內(nèi)容進行相應(yīng)的操作,,達到實現(xiàn)無線數(shù)據(jù)傳輸。