摘 要: 介紹了一種GPRS無線靜態(tài)圖像傳輸系統(tǒng)的軟件和硬件實(shí)現(xiàn)方案,重點(diǎn)討論了終端移動(dòng)臺(tái)" title="移動(dòng)臺(tái)">移動(dòng)臺(tái)以及通過Internet傳輸圖像數(shù)據(jù)的通信軟件設(shè)計(jì)。此外,還介紹了進(jìn)行無線網(wǎng)絡(luò)數(shù)據(jù)傳輸時(shí),GPRS客戶端" title="客戶端">客戶端使用的兩種流控制" title="流控制">流控制方法。
關(guān)鍵詞: GPRS 無線網(wǎng)絡(luò)通信 TCP/IP協(xié)議 圖像傳輸
GPRS是GSM系統(tǒng)中提供分組業(yè)務(wù)的一種方式,對于2G向3G的過渡,GPRS是使用最廣的能解決移動(dòng)通信與IP結(jié)合的技術(shù)方案。因其具有實(shí)時(shí)在線、按量計(jì)費(fèi)、快捷登錄、高速傳輸、覆蓋面廣等優(yōu)點(diǎn),電力抄表、金融證券、智能交通等部門都開始逐步利用GPRS進(jìn)行遠(yuǎn)程監(jiān)控和數(shù)據(jù)傳輸。而在各類數(shù)據(jù)業(yè)務(wù)中,尤以圖像傳輸?shù)膽?yīng)用最具代表性。當(dāng)前,快速發(fā)展的GPRS亦面臨不少問題:各種開展GPRS業(yè)務(wù)的應(yīng)用軟件還有待開發(fā);大量多功能的GPRS終端設(shè)備也需生產(chǎn)等。
本文基于當(dāng)前GPRS的發(fā)展?fàn)顩r,研究如何利用GPRS技術(shù)進(jìn)行靜態(tài)圖像傳輸以及如何通過驅(qū)動(dòng)GPRS模塊經(jīng)過GPRS無線網(wǎng)連接Internet,實(shí)現(xiàn)移動(dòng)臺(tái)與公網(wǎng)監(jiān)控中心間的可靠數(shù)據(jù)無線通信。其優(yōu)點(diǎn)在于:(1)無線上網(wǎng),適用于可移動(dòng)目標(biāo);(2)覆蓋面廣,適用于偏遠(yuǎn)及分散目標(biāo);(3)傳輸可靠,傳輸速率遠(yuǎn)高于GSM系統(tǒng)。
1 GPRS無線通信系統(tǒng)總體結(jié)構(gòu)
GPRS無線通信系統(tǒng)結(jié)構(gòu)圖如圖1所示。該系統(tǒng)主要由三大部分組成:移動(dòng)臺(tái)(MS)(控制機(jī)+GPRS開發(fā)板)、GPRS通信網(wǎng)(包括基站控制器BSC、服務(wù)支持節(jié)點(diǎn)、骨干網(wǎng)以及業(yè)務(wù)支持節(jié)點(diǎn)等)和監(jiān)控中心部分[1]。
移動(dòng)臺(tái)通過GPRS模塊連接到改造后的GSM基站(包括BSC、BTS和PCU),然后連接到GPRS服務(wù)支持節(jié)點(diǎn)SGSN,通過SGSN與GPRS網(wǎng)關(guān)支持節(jié)點(diǎn)GGSN通信,GGSN對分組數(shù)據(jù)進(jìn)行相應(yīng)處理,發(fā)送到Internet上,實(shí)現(xiàn)移動(dòng)臺(tái)與監(jiān)控中心的通信。
監(jiān)控中心主要由網(wǎng)絡(luò)服務(wù)器及顯示器組成。移動(dòng)臺(tái)的數(shù)據(jù)信息通過GPRS網(wǎng)傳至GPRS網(wǎng)關(guān)。網(wǎng)關(guān)通過Internet以IP協(xié)議將這些信息發(fā)至監(jiān)控中心的網(wǎng)絡(luò)服務(wù)器。監(jiān)控中心的控制信息亦通過此通信鏈路下達(dá)移動(dòng)臺(tái):來自Internet標(biāo)識(shí)有移動(dòng)臺(tái)地址的IP包,由GGSN接收,再轉(zhuǎn)發(fā)SGSN,繼而傳送到移動(dòng)臺(tái)。
2 圖像傳輸系統(tǒng)的硬件設(shè)計(jì)
系統(tǒng)的發(fā)送端硬件部分主要是移動(dòng)臺(tái)MS部分,包括移動(dòng)終端" title="移動(dòng)終端">移動(dòng)終端(MT)和終端設(shè)備(TE)。TE即控制機(jī),設(shè)計(jì)采用PC機(jī)對MT實(shí)行通信控制。MT主要基于GPRS/GSM模塊,需連接外圍電路構(gòu)成完整的移動(dòng)終端。移動(dòng)終端通過接收控制機(jī)發(fā)送的AT指令實(shí)現(xiàn)各種無線通信功能。
2.1 GPRS無線模塊的功能及接口
GPRS模塊是整個(gè)移動(dòng)終端的核心,采用WAVECOM公司的WISMO QUIK Q2406B模塊。Q2406B為GPRS10級(jí)產(chǎn)品,與外部電路的接口由一個(gè)60引腳的通用連接器提供。Q2406B屬WISMO 2D系列,在機(jī)件特質(zhì)、倒模、軟件及硬件接口方面與WISMO 2C完全兼容,包含以前型號(hào)模塊的所有功能。由于嵌入了可選TCP/IP協(xié)議棧,直接通過AT指令就能接入Internet,省去了常用的TCP/ IP處理模塊及編程時(shí)調(diào)用各種API函數(shù)的繁瑣。Q2406B模塊的功能接口描述[2]如圖2所示。
(1)電源接口:給模塊射頻部分供電一般為3.6V,基帶部分供電不得低于3.1V??刹捎梅喜y系數(shù)要求的電源作為輸入,同時(shí)為兩部分供電。
(2)SIM卡接口:提供了符合GSM11.12規(guī)范的3V SIM卡接口。若要連接5V SIM卡(GSM11.11規(guī)范),可外接3~5V電平轉(zhuǎn)換器(如LTC1555)實(shí)現(xiàn)。
(3)話音輸入輸出接口:包括兩路話筒輸入輸出接口。
(4)RF天線電路接口:有直接和非直接兩種天線連接方式。
(5)I/O接口:包括GPIO接口、UART接口、鍵盤及SPI接口。
2.2 電路功能接口實(shí)現(xiàn)
Q2406B模塊與外圍電路連接[3],移動(dòng)終端硬件設(shè)計(jì)框圖如圖3所示。
(1)供電:外部供電要穩(wěn)定,若小于3.3V則GPRS模塊無法登錄網(wǎng)絡(luò);若大于4.5V,則會(huì)燒壞模塊。
(2)UART串口" title="串口">串口:移動(dòng)終端通過UART與控制機(jī)串口通信,接收AT指令和傳輸數(shù)據(jù)。Q2406B模塊是TTL器件,串口不能直接與PC機(jī)的EIA-RS-232C連接器相連,采用MAX3237驅(qū)動(dòng)串口。
與Q2406B進(jìn)行串口通信至少需要四種信號(hào): TXD、RXD、RTS和CTS。后兩種信號(hào)用于硬件流控制,防止傳輸時(shí)數(shù)據(jù)丟失。詳見通信軟件設(shè)計(jì)部分。
(3)SIM卡接口:3V SIM卡檢測信號(hào)輸出,但Q2406B模塊提供了SIM卡檢測輸入引腳SIMPRES,且SIMPRES信號(hào)由低變高表示SIM卡插入,為使模塊能檢測到SIM卡,設(shè)計(jì)直接將SIMPRES管腳連高電平。
(4)音頻處理:兩路音頻接口中一路自帶偏置,一路需外接偏置。音頻接口內(nèi)部連接了運(yùn)放,差分模式比單端模式更利于防止噪聲,所以兩路都采用差分連接,通過電容電感組成的濾波網(wǎng)絡(luò)可連接電話手柄進(jìn)行通話。
(5)RF天線匹配采用非直接連接法。使用阻抗為50Ω的同軸電纜,與GPRS模塊射頻部分的傳輸阻抗匹配。電纜另一端連接阻抗亦為50Ω的天線,大大減小了回波反射,設(shè)備移動(dòng)靈活。
(6)設(shè)計(jì)還包括一些輔助電路:軟件下載電路、LED指示燈電路、開關(guān)及復(fù)位電路,可使硬件平臺(tái)更有效、安全地工作。
2.3 系統(tǒng)電磁兼容性設(shè)計(jì)
電磁干擾是無線終端設(shè)計(jì)中需重點(diǎn)考慮的環(huán)節(jié)。GPRS模塊的工作頻率在900/1 800MHz,發(fā)射功率峰值達(dá)2W,處理不當(dāng),會(huì)對外圍電路產(chǎn)生干擾??朔黝惛蓴_,確保穩(wěn)定工作是布板首要考慮的問題。本設(shè)計(jì)從以下幾方面采取措施[4]:
(1)盡量采用貼片封裝的器件,避免采用DIP類型的器件,減小電流發(fā)射(感應(yīng))環(huán)路面積,同時(shí)節(jié)約了板圖面積。
(2)采用四層PCB板,保證信號(hào)和電源的完整性,避免傳輸過程中的損耗,把供電和地彈噪聲降到最小。良好的接地還能起到更好的靜電保護(hù)和散熱作用,設(shè)計(jì)對所有信號(hào)(模擬/數(shù)字/射頻)使用同一地線。
(3)對重點(diǎn)信號(hào)布線著重考慮。為保護(hù)SIM卡及串口輸出等敏感部分免受射頻及尖峰脈沖干擾,采用高速防靜電管ESDA6V1L、DAL6V1L加以保護(hù);音頻信號(hào)線采用地線隔離、屏蔽,以減小外界的干擾。
(4)合理布置器件的位置,減小走線長度, SIM卡接口線長度應(yīng)小于10cm。
(5)供電線路旁增加去耦電容,保證供電穩(wěn)定。
2.4 系統(tǒng)熱防護(hù)設(shè)計(jì)
Q2406B的工作溫度為-20~+55℃,RF發(fā)射功率較大,應(yīng)進(jìn)行散熱設(shè)計(jì),防止長時(shí)間工作產(chǎn)生的熱量燒壞模塊。
(1)把Q2406B模塊隔離罩上的接地管腳同時(shí)焊到PCB板兩面,加速模塊散熱。
(2)選擇與GPRS模塊射頻匹配的天線,減少天線回波反射產(chǎn)生的熱量。
(3)元件布局也要注意散熱:大功率的GPRS模塊靠邊放置,便于散熱;發(fā)射天線附件不放元件,特別是電容,以免電解液受熱過早老化。
3 圖像傳輸系統(tǒng)的軟件設(shè)計(jì)
3.1 設(shè)計(jì)目的
軟件設(shè)計(jì)目的:通過向GPRS模塊發(fā)送AT指令,控制移動(dòng)終端的通信過程,使移動(dòng)臺(tái)能借助GPRS提供的網(wǎng)關(guān)和路由接入Internet,并通過TCP/IP網(wǎng)絡(luò)協(xié)議完成與Internet上監(jiān)控中心傳輸圖像數(shù)據(jù)的任務(wù)。
基于以上要求,設(shè)計(jì)了通信軟件,即GPRS客戶端軟件和服務(wù)器端軟件。
3.2 GPRS無線模塊通信指令
WISMO 2D模塊的軟件部分對外提供了控制系統(tǒng)操作的AT指令集[5],通過接收來自UART的AT指令,解釋并執(zhí)行相應(yīng)操作,實(shí)現(xiàn)無線Modem相應(yīng)功能。
由于編寫的程序過長,只列出進(jìn)行TCP傳輸用到的主要AT指令[6]:
AT + CGREG=1;//設(shè)置GPRS注冊狀態(tài)
AT + CGATT=1;//GPRS網(wǎng)絡(luò)附著
AT # APNSERV=″CMNET″;//設(shè)置GPRS接入點(diǎn)
AT # APNUN=″″;//身份驗(yàn)證用戶名設(shè)為空
AT # APNPW=″″;//身份驗(yàn)證密碼設(shè)為空
AT# ConnectionStart;//連接GPRS網(wǎng)登錄Internet,成功返回動(dòng)態(tài)分配的IP地址
AT# TCPSERV=″202.112.135.203″;//設(shè)置服務(wù)器IP地址,即監(jiān)控中心的IP地址
AT# TCPPORT=″6000″;//設(shè)置服務(wù)器與客戶端通信的Socket 端口;
AT # otcp;//打開與遠(yuǎn)程服務(wù)器的TCP 連接
TCP連接成功后,GPRS模塊進(jìn)入數(shù)據(jù)傳送狀態(tài),這時(shí)就可通過串口向GPRS模塊發(fā)送圖像數(shù)據(jù),模塊通過Socket發(fā)送到監(jiān)控中心,監(jiān)控中心也能向模塊發(fā)送回應(yīng)數(shù)據(jù)。數(shù)據(jù)傳完后控制機(jī)向GPRS 模塊發(fā)送終止字符
3.3 GPRS客戶端軟件
運(yùn)行于控制機(jī)上的客戶端軟件具有以下功能:
(1)串口通信,包括AT指令通信和數(shù)據(jù)文件通信。
(2)顯示傳輸過程計(jì)時(shí),用于測試系統(tǒng)的傳輸速率。
(3)中止GPRS模塊TCP協(xié)議棧通信。系統(tǒng)傳輸出錯(cuò)時(shí)中止協(xié)議棧工作。
Q2406B內(nèi)嵌TCP協(xié)議棧的緩存區(qū)有限,若串口寫入速率遠(yuǎn)高于GPRS傳輸速率,協(xié)議棧將會(huì)丟失數(shù)據(jù)。為保證數(shù)據(jù)傳輸?shù)目煽啃?,必須進(jìn)行流控制。設(shè)計(jì)中采用了兩種流控制方法:數(shù)據(jù)分包法和硬件握手法。
采用數(shù)據(jù)分包法的GPRS客戶端傳輸圖像文件流程圖如圖4所示。該方法將圖像文件先打成若干個(gè)小數(shù)據(jù)包,逐個(gè)寫入串口,由GPRS模塊發(fā)送。監(jiān)控中心的服務(wù)器端接收完一個(gè)數(shù)據(jù)包后返回應(yīng)答幀,GPRS模塊再發(fā)下一個(gè)數(shù)據(jù)包。若超時(shí)還未返回應(yīng)答幀,則重發(fā)上一個(gè)數(shù)據(jù)包。此法犧牲了一定時(shí)間,但很好地保證了圖像傳輸?shù)目煽啃浴?BR> 硬件握手法采用9線串口中的硬件握手信號(hào):RTS/CTS做流控制。系統(tǒng)工作時(shí),控制機(jī)使用RTS啟動(dòng)GPRS模塊的數(shù)據(jù)流,GPRS模塊用CTS啟動(dòng)和暫停來自控制機(jī)的數(shù)據(jù)流。當(dāng)緩存區(qū)內(nèi)數(shù)據(jù)量達(dá)到高位時(shí),模塊將CTS線置低電平,控制機(jī)程序檢測到CTS為低后,就停止發(fā)送數(shù)據(jù),直到協(xié)議棧緩存區(qū)的數(shù)據(jù)量低于低位而將CTS置高電平。
此法也可保證寫入數(shù)據(jù)不丟失,而且傳輸圖像文件的耗時(shí)低于前種方法。但它不能用于簡化的三線串口協(xié)議,也不能如前種方法那樣檢測到GPRS數(shù)據(jù)傳輸過程中的丟包現(xiàn)象,通過重發(fā)來保證傳輸過程的可靠性。
3.4 GPRS服務(wù)器端軟件
GPRS圖像傳輸系統(tǒng)采用多個(gè)移動(dòng)終端都與監(jiān)控中心服務(wù)器連接的方法。服務(wù)器采用普通Internet上的主機(jī)方式,作為TCP服務(wù)器端,具有靜態(tài)公網(wǎng)IP,開放了偵聽端口,可從外部訪問,其上運(yùn)行TCP端口監(jiān)聽程序,接收來自移動(dòng)臺(tái)的TCP數(shù)據(jù)包,并向移動(dòng)臺(tái)發(fā)送回應(yīng)數(shù)據(jù)。采用數(shù)據(jù)分包法的GPRS服務(wù)器端接收圖像文件流程如圖5所示。該服務(wù)器端軟件具有以下功能:(1)監(jiān)聽TCP端口;(2)接收數(shù)據(jù)包,發(fā)送接收應(yīng)答幀;(3)顯示接收數(shù)據(jù)和大小,保存圖像文件。
?
本系統(tǒng)的發(fā)送端設(shè)計(jì)了兩種流控制方法,一種從硬件上實(shí)現(xiàn),另一種從軟件上實(shí)現(xiàn)。前者在網(wǎng)絡(luò)狀況穩(wěn)定的情況下,傳輸速度較快。后者可有效保證整個(gè)GPRS傳輸過程的穩(wěn)定可靠,并能直接用于簡化的三線串口協(xié)議,當(dāng)控制機(jī)采用嵌入式微處理器時(shí),能方便地與微處理器串口相連,無需串口轉(zhuǎn)換芯片。
使用中國移動(dòng)提供的普通GPRS業(yè)務(wù)進(jìn)行測試,本系統(tǒng)的傳輸速率可達(dá)10kbps,大量測試中未出現(xiàn)丟失數(shù)據(jù)的情況,整套系統(tǒng)工作穩(wěn)定可靠。同時(shí)也可勝任傳輸任何形式的文件數(shù)據(jù),應(yīng)用于需要遠(yuǎn)程傳送數(shù)據(jù)的系統(tǒng)中。
參考文獻(xiàn)
1 余先淘,張濤,莫易敏.基于GPRS技術(shù)的無線遠(yuǎn)程抄表的實(shí)現(xiàn)[J].機(jī)電一體化,2005;11(2):52~55
2 肖會(huì)兵,呂鐵軍,張躍.掌上電腦集成無線通信功能的設(shè)計(jì)及實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2002;28(9):57~59
3 Wavecom.WISMO Quik Q2400 series Q2406 and Q2426 product specification.2002
4 Wavecom.WISMO design guidelines.2003
5 Wavecom.AT commands interface guide.2002
6 Wavecom.AT commands interface guide for IP connectivity.2004