《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 業(yè)界動態(tài) > 采用GPRS的無線數(shù)據(jù)終端的設計

采用GPRS的無線數(shù)據(jù)終端的設計

2009-07-13
作者:胡紹忠,,程 健

??? 摘 要:介紹了基于GPRS的無線數(shù)據(jù)終端的總體結構,,闡述了采用S3C2410作為微控制器的硬件平臺設計方案,移植了Linux操作系統(tǒng),,最后對應用程序的設計進行了介紹,。運行結果表明,,數(shù)據(jù)終端工作穩(wěn)定,,數(shù)據(jù)傳輸安全可靠,,有實際參考價值,。
??? 關鍵詞:GPRS,;S3C2410;Linux

?

??? 無線通信技術的飛速發(fā)展,,促進了無線通信技術在工業(yè)監(jiān)視,、控制、檢測中的應用。無線通信包括短距離無線通信和無線移動通信,。其中短距離無線通信的通信距離一般在幾十米,,而無線移動通信則沒有距離限制,只要在移動網(wǎng)絡的覆蓋范圍之內都可以,。目前的移動網(wǎng)絡主要有GPRS/GSM和CDMA 2種,,雖然CDMA網(wǎng)絡采用的是碼分多址技術,在理論上比GPRS更為先進,,但考慮到信號覆蓋范圍和成本等因素,,在許多實際工業(yè)應用中,仍然選擇了GPRS網(wǎng)絡[1],。數(shù)據(jù)終端是一種通過GPRS接入Internet的設備,,它為客戶提供穩(wěn)定、高速,、永遠在線,、成本低廉的數(shù)據(jù)傳輸通道,因此廣泛應用于各種遠程數(shù)據(jù)傳輸與監(jiān)控系統(tǒng),。
??? 控制領域中,,傳統(tǒng)無線數(shù)據(jù)終端一般采用單片機與GPRS模塊的系統(tǒng)結構,受硬件運算能力的限制,,其整體功能較弱,,尤其是在網(wǎng)絡協(xié)議的開發(fā)與支持上都有相當?shù)碾y度。而近年來,,以ARM為代表的嵌入式32位微處理器技術得到了飛速發(fā)展,,無論是在功耗還是在硬件成本上,許多高性能的ARM芯片已經(jīng)與單片機相差無幾,,因此在許多工業(yè)應用中,使用ARM芯片取代傳統(tǒng)的8/16位單片機已經(jīng)是一個非常經(jīng)濟,、理想的選擇,。本文以ARM和GPRS模塊的系統(tǒng)架構取代傳統(tǒng)的無線數(shù)據(jù)終端設計方案。
1 系統(tǒng)硬件設計
??? 采用三星公司的S3C2410為控制器,,和西門子的GPRS模塊MC39I組成的系統(tǒng)架構取代傳統(tǒng)的無線數(shù)據(jù)終端設計方案,,不僅可以利用ARM芯片豐富的片內、片外資源簡化系統(tǒng)硬件結構,,而且可以通過移植Linux等嵌入式操作系統(tǒng)來利用其豐富的協(xié)議接口[2],,減小實際應用的開發(fā)難度,便于向高端系統(tǒng)應用升級,。系統(tǒng)結構如圖1所示,。

?


??? 系統(tǒng)通過GPRS模塊連接到GSM/GPRS網(wǎng)絡,實現(xiàn)數(shù)據(jù)的無線傳輸;且通過UART接口和S3C2410連接,,實現(xiàn)與S3C2410的通信并接受S3C2410的控制,,圖中的其他功能模塊實現(xiàn)系統(tǒng)所需的基本功能。
??? 本文設計的無線數(shù)據(jù)終端選用S3C2410處理器作為系統(tǒng)的核心處理單元,,外接GPRS模塊,,作為整個系統(tǒng)的硬件平臺。S3C2410是三星公司的一款基于ARM920T核的32位微處理器,。主頻最高可達266 MHz,,在本系統(tǒng)中工作于200 MHz。
??? GPRS模塊采用西門子的MC39I模塊,,它支持900/1 800 MHz的雙頻,,通過一個40針對接口與外接連接,包括電源接口,、SIM卡接口,、音頻接口、串口接口和其他的一些控制接口[3],。
1.1 電源部分
??? MC39I在突發(fā)傳輸過程中電流高達2 A,,當天線不匹配時電流可能更大,并且要保證在大電流的情況下,,電壓VBATT+不能低于3.3 V,,當?shù)陀?.3 V時MC39I自動關閉。
??? 基于上述考慮,,采用了開關電源芯片,。當負載電流在0~3V之間時,可以確保輸出電壓不超過150 mV,。電源部分原理圖如圖2所示,。

?


1.2 S3C2410和MC39I的通信接口設計
??? S3C2410和MC39I通過標準的RS-232串行接口進行通信,用戶可以使用AT指令通過串口對MC39I進行操作,。S3C2410和MC39I的通信連接如圖3所示,。

?


??? 當S3C2410與MC39I模塊通信時,可以只使用TXD,、RXD引腳,。但是若要通過模塊上網(wǎng),則應該盡量使用全部的串口信號線引腳,,包括TXD,、RXD、RTS,、CTS,、DTR,、DSR、DCD,、RING,。另外,可以將MC39I的RI信號線與S3C2410的中斷引腳相連,,表示來電呼入[4],。
1.3 SIM卡接口設計
??? 在40針的接口中有6個接口是SIM卡接口:CCVCC為SIM卡提供電源;CCRST為SIM卡復位引腳,;CCLK為SIM卡時鐘信號線,;CCGDN為地線;CCIN,,利用此信號線,,MC39I可以檢測SIM的一些狀態(tài),比如SIM卡是否在SIM卡座之中,;CCIO為I/O串行數(shù)據(jù)線,。這6個接口可以直接與SIM卡座相連,另外,,在CCVCC和CCGND處都使用一個100 pF的電容,,并且盡量靠近引腳,在布線時采用低阻抗走線,。MC39I與SIM卡的接口如圖4所示,。

?


1.4 其他信號線
??? IGT觸發(fā)引腳在下降沿時觸發(fā)MC39I,低電平需保持100 ms以上,。利用S3C2410的GPIO口產(chǎn)生大于100 ms的低電平,。引腳當?shù)碗娖綍r間大于3.2 s時將關閉MC39I。同樣可以利用S3C2410的GPIO口產(chǎn)生大于3.2 s的低電平,。SYNC引腳用來控制一個LED燈,,LED燈的狀態(tài)反映系統(tǒng)當前的狀態(tài)。
2? 系統(tǒng)軟件設計
??? 系統(tǒng)的軟件設計包括2部分:操作系統(tǒng)的移植和應用程序的設計,。
2.1 Linux的移植
??? Linux內核采用模塊化設計,,具有良好的可移植性和可定制性,因此成為一種主流的嵌入式操作系統(tǒng),。Linux 2.6.10以后,Samsung S3C2410已經(jīng)成為Linux的一個標準支持平臺,,不需要任何patch就可以在S3C2410的目標板上運行得很好,。所以在系統(tǒng)中移植了Linux2.6.11版本。主要包括3項工作:(1)修改makefile文件,,將ARCH設置為arm,,CROSS_COMPILE設置為arm-Linux-,;(2)進行Flash分區(qū)的設置;(3)進行Linux內核的配置,,去掉一些系統(tǒng)不再需要的模塊,,使內核映像減小到最小,使系統(tǒng)更加穩(wěn)定,。另外,,無線數(shù)據(jù)終端中采用了U-boot-1.1.4作為bootloader。最后,,為了能夠保存一些重要的數(shù)據(jù),,增加了YAFFS2文件系統(tǒng),專門針對nandflash做了優(yōu)化,,可以充分利用nandflash的特點,。
2.2 應用程序設計
??? 系統(tǒng)應用程序是通過ARM模塊對MC39I模塊的控制實現(xiàn)快速的短信收發(fā),ARM模塊通過串口并使用AT指令來對MC39I模塊進行控制[5],。例如,,通過串口向MC39I寫入AT+CMGS=“5955176621”,然后再寫入要發(fā)送的內容,,緊接著是,,就可以將要發(fā)送的內容發(fā)送到手機號為15955176621的手機。整個無線數(shù)據(jù)終端的應用程序主要由3個函數(shù)組成,,包括主函數(shù)main.c,,發(fā)送短信的函數(shù)SendSMS.c和接收短信的函數(shù)ReceiveSMS.c。
??? 主函數(shù)main.c主要完成GPRS模塊的初始化(包括設置短信中心號碼,、采用AT+CMEE=1來設置MC39I返回詳細的錯誤信息,、采用AT+CNMI=2,2,,0,,0,1來選擇新消息的提示方式,、采用AT+CMGF=1來設置消息為TEXT格式等),、串口的初始化(包括打開串口、設置串口的波特率,、奇偶校驗等),,然后等待輸入命令(是發(fā)送短信還是接收短信,比如接收到的命令是發(fā)送短信時將發(fā)送文件中的內容發(fā)送出去,,接收到的命令是接收短信時再根據(jù)接收到的短信內容進行相應的操作),。主函數(shù)的流程如圖5所示。

?


??? SendSMS.c主要用于發(fā)送文件內容,。先打開串口,;然后保存已經(jīng)打開串口的各種屬性值,,設置ARM和MC39I模塊通信時采用的各種串口屬性值;以只讀方式打開需要發(fā)送的文件,,將文件內容讀取到緩沖區(qū),;然后通過AT+CMGF=1設置消息為文本格式,通過AT+CMGS將文件內容發(fā)送到指定的手機中,,在使用AT指令的過程中,,要注意分析返回信息來判斷發(fā)送是否成功。短信發(fā)送流程如圖6所示,。

?


??? ReceiveSMS.c主要完成短信的接收并且將接收到的內容寫入文件中,。與發(fā)送短信相同,先打開串口,;然后保存已經(jīng)打開串口的各種屬性值,,設置ARM和MC39I模塊通信時采用的各種串口屬性值;采用AT+CNMI=2,,1,,0,0,,0將接收到的短信存儲到SIM卡中,;再采用AT+CMGR從SIM卡中讀取短信內容到緩沖區(qū);最后以讀寫方式打開文件并將短信內容寫入文件,。短信接收到流程如圖7所示,。

?


??? 通過實驗,無線數(shù)據(jù)終端與平時所用的手機能夠進行很好的短信通信,。作為實驗通過手機對無線數(shù)據(jù)終端上的LED燈進行控制,,為遠程的無線控制打下了基礎。同時,,基于GPRS/GSM網(wǎng)絡的無線數(shù)據(jù)終端采用ARM和Linux作為平臺,,使應用程序的設計和升級會比較容易一些。例如MC39I沒有帶TCP/IP協(xié)議,,所以在以后的升級中可以使用Linux中的TCP/IP協(xié)議,,從而很方便地實現(xiàn)GPRS的無線上網(wǎng)。
參考文獻
[1]?BATES R J.通用分組無線業(yè)務(GPRS)技術與應用 [M].朱洪波,,譯.北京:人民郵電出版社,,2004.
[2]?劉淼.嵌入式系統(tǒng)接口設計與Linux 驅動程序開發(fā)[M].北京:北京航空航天大學出版,2006.
[3]?MC39I Hardware Interface Description[Z] .Siemens mobile,,2003.
[4]?管耀武,,楊宗德.ARM嵌入式無線通信系統(tǒng)開發(fā)[M].北京:電子工業(yè)出版社,2006.
[5]?MC39I AT Command Set[Z] .Siemens mobile,2003.

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