《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于ARM和GPRS的無線傳輸與接收
基于ARM和GPRS的無線傳輸與接收
國外電子元器件
朱建光 余紅英
摘要: 基于ARM和GPRS的無線傳輸與接收,介紹了一種基于GPRS的遠程無線數(shù)據(jù)采集系統(tǒng)的總體結(jié)構(gòu),,構(gòu)建了以嵌入式ARM處理器S3C2410為核心,結(jié)合GPRS無線傳輸模塊MC35i開發(fā)的無線數(shù)據(jù)傳輸系統(tǒng)的設計方案,。
關(guān)鍵詞: ARM GPRS S3C2410
Abstract:
Key words :

引言
    近年來,無線通信技術(shù)得到廣泛的應用,,GPRS (General Packet Radio System)通用無線分組網(wǎng)絡就是一種比較流行的無線通信網(wǎng)絡。
GPRS網(wǎng)絡具有覆蓋范圍廣、數(shù)據(jù)傳輸速度快,、通信質(zhì)量高、永遠在線和可按流量計費等優(yōu)點,。
    本傳輸方案采用的是西門子GPRS無線通信模塊MC35i,,該模塊支持標準的AT指令集,但并沒有嵌入TCP/IP協(xié)議,,不過系統(tǒng)采用的linux操作系統(tǒng)里面帶有完整的TCP/IP協(xié)議棧以及PPP協(xié)議,,它不但減少了軟件系統(tǒng)的復雜度,也增加了系統(tǒng)的穩(wěn)定性,。這樣,,本方案就可用于不同的場合,只要設計相應的上層軟件處理系統(tǒng)即可,。

1 系統(tǒng)總體設計
    該系統(tǒng)主要由GPRS通訊模塊和控制模塊兩部分組成,,并采用嵌入式系統(tǒng)來設計GPRS終端。該嵌入式系統(tǒng)由硬件和應用軟件組成,,其架構(gòu)可分為微處理器,、內(nèi)存、輸入輸出,、操作系統(tǒng)和應用軟件等五部分,。系統(tǒng)的硬件由微處理器、GPRS模塊,、SIM卡座,、外部接口和擴展數(shù)據(jù)存儲器等部分組成。微處理器可控制GPRS模塊的信息接收和發(fā)送,,以通過標準RS232串口和外部控制器進行數(shù)據(jù)通訊,,其系統(tǒng)原理結(jié)構(gòu)如圖1所示。



2 系統(tǒng)硬件設計
   
本系統(tǒng)硬件主要是以ARM為開發(fā)平臺,,以西門子公司的MC39i模塊作為GPRS發(fā)送模塊,,從而使系統(tǒng)快速完成發(fā)送工作。
2.1 嵌入式微處理器單元
    本硬件平臺的CPU采用Samsung的基于ARM920T內(nèi)核的S3C2410微處理器,,S3C2410是采用0.18μm工藝制造的32位微控制器,,該處理器擁有獨立的16 KB指令Cache及16 KB數(shù)據(jù)Cache和MMU,并可支持TFT的LCD控制器,、NAND閃存控制器,、3路UART、4路DMA,、4路帶PWM的定時器,、I/O 口,、RTC、8路10位ADC,、Touch Screen接口,、IIC-BUS接口、IIS-BUS接口,、2個USB主機,、1個USB設備、SD主機和MMC接口和2路SPI,。S3C2410處理器最高可運行在203MHz頻率下,。另外,通過提供一系列完整的系列外圍設備,,S3C2410X可大大減少整個系統(tǒng)的成本,,消除了為系統(tǒng)配置額外器件的需要。
2.2 GPRS模塊MC35i
    MC35i是西門子公司最近推出的新一代雙頻GSM/GPRS通訊模塊的無鉛產(chǎn)品,,它簡潔的封裝是很多應用系統(tǒng)中無線高速數(shù)據(jù)傳輸?shù)睦硐虢鉀Q方案,,可進行數(shù)據(jù)、語音,、SMS和FAX各個方面的應用,,且功耗低。它為用戶提供了永遠在線,、高速度,、更簡單的移動數(shù)據(jù)通信接入手段。  MC35i具有豐富的AT指令,,而且功能強大,,操作靈活方便,是繼GPRS手機的又一種非常重要的GPRS移動通信系統(tǒng)的終端設備,。它的出現(xiàn)給GPRS的發(fā)展注入了新的活力,。
    MC35i具有體積小、重量輕,、功耗低等特點,。MC35i的工作電壓為3.3~4.8 V,典型電壓為4.2V,,最大工作電流為2 A,。模塊可工作在EGSM900和GSMl800兩個頻段。工作于EGSM900時的功耗為2 W,,工作于GSMl800時的功耗為1 W,可利用AT指令進行控制,,并支持文本和PDU模式的短消息,、第i組的二類傳真,。MC35i模塊常用的工作模式有省電模式、IDLE,、TALK,、數(shù)據(jù)等模式。通過獨特的40腳連接器(ZIF)可實現(xiàn)電源連接,、指令,、數(shù)據(jù)、語音信號及控制信號的雙向傳輸,。MC35i模塊主要由GSM基帶控制器,、射頻模塊、供電模塊,、閃存,、ZIF連接器、射頻功率放大器,、天線接口等部分組成,。

3 系統(tǒng)軟件設計
   
根據(jù)系統(tǒng)需求,在操作系統(tǒng)Linux啟動前,,首先應該對微處理器和GPRS模塊在內(nèi)的系統(tǒng)內(nèi)外部硬件進行初始化,,在硬件初始化就緒后,可按系統(tǒng)要求劃分并創(chuàng)建系統(tǒng)任務,,最后啟動Linux進行各任務的調(diào)度,。應用程序共分為初始化任務、配置任務,、數(shù)據(jù)發(fā)送任務,、數(shù)據(jù)處理任務和用戶串口中斷服務等五個任務。本文主要完成系統(tǒng)的初始化以及撥號連入Internet等工作,。
3.1 系統(tǒng)初始化
    為了能利用TCP/PI協(xié)議進行數(shù)據(jù)傳輸,。設計時必須對系統(tǒng)的硬件和軟件進行初始化。圖2所示為系統(tǒng)初始化部分的軟件流程圖,。


    本系統(tǒng)軟件在開始時,,首先需要通過檢查0x90端口的輸入電平是否為高來判斷MC35i模塊是否正常上電。若未能正常上電,,那么,,軟件將通過0x90端口的輸出使MC35i模塊上電。
    當MC35i模塊上電后,,軟件將在內(nèi)存中開辟一個緩存區(qū)做為包括PPP,、IP、TCP、UDP等協(xié)議的數(shù)據(jù)緩存區(qū),。該緩存區(qū)內(nèi)數(shù)據(jù)的存放方式采用雙向鏈表的方式,。
    為了TCP協(xié)議實現(xiàn)中能夠進行超時檢測,在軟件中應利用R8822CPU模塊的內(nèi)部定時器安裝一個20ms的時鐘中斷,。
    ETR186可通過其串口COM2和MC35i模塊相連接,,用軟件可通過安裝串口中斷來和MC35i模塊進行數(shù)據(jù)傳輸。
    在完成上述操作后,,系統(tǒng)即可以利用AT命令登錄GPRS網(wǎng)絡,。若不成功,即進行重試,,超過重試次數(shù)后,,即發(fā)送出錯報告。最后就是進行PPP鏈路的連接,,同時發(fā)送數(shù)據(jù),。
3.2 撥號原理
    所謂初始化模塊,主要就是設定APN:CMNET,,
    at+cgdcont=1,,ip,cmnet,
    然后利用chat程序撥號*99***1,,#
    待撥號連接成功后,,再由pppd建立通信鏈路即可。其腳本改動如下:在ppp-on里改了電話號碼為*99***1#,,將賬號與密碼清除,,再修改DIALER_SCRIPT的路徑,同時把下面的設備改成/dev/ttyS0,,速率改為115200,,再將crtscts參數(shù)去掉。同時在ppp-on-dialer里把帳號密碼去掉,。其改動后的腳本如下:


    改動完成后,,執(zhí)行腳本PPP-on/ppp-on,即可撥號上網(wǎng),。
3.3 無線數(shù)據(jù)傳輸
    當GPRS撥號成功接入Internet后,,就可以進行無線數(shù)據(jù)傳輸了,這可通過Linux下的網(wǎng)絡編程實現(xiàn),?;赥CP/IP協(xié)議的網(wǎng)絡編程主要有兩種方式可以選擇:TCP方式和UDP方式。采用UDP方式進行通信時,,要求通信雙方都知道對方的IP地址和端口號,。但是目前GPRS網(wǎng)絡并不提供固定的IP服務,,通信鏈路中的GPRS終端的IP地址是由網(wǎng)關(guān)支持節(jié)點(GSN)動態(tài)分配的。因此,,GPRS終端在進行每次數(shù)據(jù)發(fā)送后,。它的IP地址和端口都可能發(fā)生變化。本方案中的網(wǎng)絡數(shù)據(jù)通信采用TCP方式,。即采用流套接字進行網(wǎng)絡編程。
3.4 上位機軟件設計
    中心服務器端軟件應提供一個可視化的監(jiān)控界面,,以便直觀,、方便、快捷地了解遠程數(shù)據(jù)采集終端的狀態(tài),,及時發(fā)現(xiàn)并處理異常和故障情況,,實現(xiàn)與GPRS終端的通信。上位機部分采用的是Windows的平臺,,編譯器采用VC6.0,。為了方便網(wǎng)絡編程,90年代初,,由Microsoft聯(lián)合了其他幾家公司共同制定了一套WINDOWS下的網(wǎng)絡編程接口,,即Windows Sockets規(guī)范,這實際上不是一種網(wǎng)絡協(xié)議,,而是一套開放的,、可支持多種協(xié)議的、Windows下的網(wǎng)絡編程接口,,現(xiàn)在的Winsock已經(jīng)基本上實現(xiàn)了與協(xié)議無關(guān),,可以使用Winsock來調(diào)用多種協(xié)議的功能,但較常使用的是TCP/IP協(xié)議,。Socket在計算機中實際提供了一個通信端口,,可以通過這個端口與任何一個具有Socket接口的計算機進行通信。應用程序在網(wǎng)絡上傳輸時,,接收的信息都可通過這個Socket接口來實現(xiàn),。
    在VC中進行WINSOCK的API編程開發(fā)時,需要在項目中使用下面三個文件,,否則就會出現(xiàn)編譯錯誤:
    (1)WINSOCK.H:這是WINSOCKAPI的頭文件,,需要包含在項目之中;
    (2) WSOCK32.LIB:WINSOCKAPI連接庫文件,。在使用中,,一定要把它作為項目的非缺省的連接庫包含到項目文件中去;
    (3) WINSOCK.DLL:WINSOCK的動態(tài)連接庫,,位于WINDOWS的安裝目錄下,。

4 結(jié)束語
   
該系統(tǒng)將無線通信技術(shù)與嵌入式技術(shù)有機的融合在一起,,可使用戶終端以低廉、快速,、可靠的方式連入GPRS網(wǎng)絡和互聯(lián)網(wǎng),,并可使用戶終端的數(shù)據(jù)信息簡潔、實時的進行傳送,,從而為用戶終端安全穩(wěn)定的運行提供了可靠的保證,。實驗結(jié)果證明,該系統(tǒng)在上位機上能很好地接收數(shù)據(jù),,尤其在中低業(yè)務和低速率的數(shù)據(jù)傳輸中,,能體現(xiàn)良好的性價比,同時可滿足實時性的要求,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。