GPRS數(shù)據(jù)傳送服務(wù)的無線通信控制器設(shè)計
摘要:GPRS數(shù)據(jù)傳送服務(wù)作為GSM網(wǎng)絡(luò)的一種新業(yè)務(wù),已得到越來越多的系統(tǒng)運營商和系統(tǒng)開發(fā)商的重視。以GSM網(wǎng)絡(luò)作為數(shù)據(jù)無線傳輸網(wǎng)絡(luò),可以開發(fā)出多種前景極其樂觀的各類應(yīng)用。本文提出一個基于GPRS數(shù)據(jù)傳送服務(wù)的通信控制器的設(shè)計,并詳細(xì)闡述該控制器的實現(xiàn)原理。
關(guān)鍵詞:通用分組無線業(yè)務(wù) TCP/IP協(xié)議 協(xié)議棧
引言
能用分組無線業(yè)務(wù)GPRS(General Packet Radio Service)是在現(xiàn)有的GSM系統(tǒng)上發(fā)展出來的一種新的承載業(yè)務(wù),目的是為GSM用戶提供分組形式的數(shù)據(jù)業(yè)務(wù)?;谶@種業(yè)務(wù)的各種應(yīng)用也蓬勃發(fā)展起來。以GSM網(wǎng)絡(luò)作為數(shù)據(jù)無線傳輸網(wǎng)絡(luò),可以開發(fā)出多種前景極其樂觀的各類應(yīng)用,如無線數(shù)據(jù)的雙向傳送、無線遠(yuǎn)程檢測和控制等。典型的應(yīng)用有:工業(yè)控制、環(huán)境保護、道路交通、商務(wù)金融、移動辦公、零售服務(wù)等等。
GPRS允許用戶在端到端分組轉(zhuǎn)移模式下發(fā)送和接收數(shù)據(jù),需不需要利用電路交換模式的網(wǎng)絡(luò)資源;從而提供了一種高效、低成本的無線分組數(shù)據(jù)業(yè)務(wù),特別適用于間斷的、突發(fā)性的和頻繁的、少量的數(shù)據(jù)傳輸,也適用于偶爾的大數(shù)據(jù)量傳輸。
本文設(shè)計的GPRS無線通信控制器(以下簡稱控制器),內(nèi)嵌了TCP/IP協(xié)議棧,采用工業(yè)級的GPRS模塊;適用于主機沒有TCP/IP協(xié)議棧,但使用串口通信的情況,例如單片機數(shù)據(jù)采集傳輸系統(tǒng)。
1 GPRS網(wǎng)絡(luò)數(shù)據(jù)的收發(fā)
終端設(shè)備通過串行方式接到控制器上并與GSM基站通道,但與電路交換或數(shù)據(jù)呼叫不同。GPRS數(shù)據(jù)分組是從基站發(fā)送到SGSN節(jié)點,而不是通過移動交換中心MSC連接到語音網(wǎng)絡(luò)上。SGSN與網(wǎng)關(guān)支持節(jié)點GGSM進行通信。GGSN對分組數(shù)據(jù)進行相應(yīng)的處理,再發(fā)送到目的網(wǎng)絡(luò),如Internet或X.25網(wǎng)絡(luò),見圖1。來自Internet、標(biāo)識有移動臺地址的IP包,由GGSN接收,再轉(zhuǎn)發(fā)到SGSN,繼而傳送到移動臺上。
控制器工作時,用戶上位系統(tǒng)向控制器發(fā)送工作指令和數(shù)據(jù),數(shù)據(jù)由IP模塊進行了TCP/IP協(xié)議轉(zhuǎn)換,打成IP數(shù)據(jù)包,再由MC35模塊以GPRS數(shù)據(jù)包的形式發(fā)送到SGSN。
由于GPRS網(wǎng)絡(luò)工作方式是以IP地址導(dǎo)址為基礎(chǔ)的,所以目標(biāo)服務(wù)器端并非接入控制器與終端設(shè)備進行連接,只需要簡單接入Internet,并具備公網(wǎng)分配的IP地址即可。同時,因為GPRS終端產(chǎn)品本身由網(wǎng)絡(luò)提供商動態(tài)地分配IP地址,在未進入連接待機狀態(tài)時,其本身是不具備IP地址的(在連接中,模塊的IP地址為移動骨干網(wǎng)內(nèi)局域網(wǎng)IP,無法被公網(wǎng)服務(wù)器解析,動態(tài)分配的制度使獲取比IP地址無意義)。因此在服務(wù)器與終端尚未建立連接前,目標(biāo)服務(wù)器難以(可將短信轉(zhuǎn)換為命令內(nèi)容)對終端設(shè)備及控制器進行控制。必須先將控制器進行相應(yīng)初始化,并由設(shè)備終端主動向服務(wù)器發(fā)送數(shù)據(jù),進行連接。
2 控制器內(nèi)部的硬件實現(xiàn)
控制器內(nèi)部由四部分構(gòu)成:嵌入TCP/IP的單片機系統(tǒng)、MC35模塊、電源部分和外部接口部分。
在設(shè)計時,考慮到雙串口性能和高速的全靜態(tài)CMOS設(shè)計,嵌入式單片機系統(tǒng)選用臺灣Winbond的W77E58芯片作為MCU模塊的處理器芯片。它是高速的、與MCS-51指令兼容的、沒有多余指令周期的微控制器,在相同時鐘頻率下,運行同樣的指令要比傳統(tǒng)的8051快1.5~3.0倍。它完全是靜態(tài)CMOS設(shè)計,工作電壓為4.5V~5.5V,有32KB的片內(nèi)程序ROM,內(nèi)部有1KB SRAM,最高時鐘頻率可達40MHz;有雙指針、雙串口,13個中斷源,3個16位定時器。單片機W77E58通過串口1直接與MC35模塊相連接,完成對MC35模塊的初始化和基于GPRS業(yè)務(wù)的數(shù)據(jù)收發(fā)功能;同時串口2擴展MAX232標(biāo)準(zhǔn)串口與其它嵌入式系統(tǒng)或PC機進行數(shù)據(jù)交換。圖2是系統(tǒng)的硬件框圖。
MC35模塊是西門子公司生產(chǎn)的GSM雙頻GSM900/GSM1800無線模塊。它支持2種操作模式:一種是電路交換數(shù)據(jù)模式CSD,支持語音、數(shù)據(jù)、SMS和FAX業(yè)務(wù);一種是分組交換模式GPRS,采用多時隙,支持CS1-CS4編碼。兩者最大的區(qū)別是,GPRS傳輸數(shù)據(jù)時不需要再撥號。2種模式的選擇通過AT指令來實現(xiàn)。MC35模塊提供40線的ZIF接口方式。
電源部分為單片機系統(tǒng)和GPRS模塊提供合適的電源。外部接口部分包括一個8腳數(shù)據(jù)接口、SMA(射頻同軸連接器)天線接口、SIM(Subscriber Identity Module,用戶識別)卡座接口。表1是各引腳的詳細(xì)說明。
表1 外部接口引腳說明
功能 | 名稱 | 引腳號 | I/O | 信號電平 | 注 釋 |
強制復(fù)位 | RST | 1 | I/O | 當(dāng)模塊處于空閑或數(shù)據(jù)傳輸狀態(tài)時,該引腳下拉至0.45V以下(需至少0.1mA的下拉能力),持續(xù)3.5s可使系統(tǒng)復(fù)位。該引腳同時還作為系統(tǒng)看門狗信號輸出,可據(jù)此監(jiān)視系統(tǒng)工作狀態(tài)fout,min=0.16Hz fout,max=1.53Hz | 正常情況下,該引腳處于看門狗信號輸出狀態(tài)并且輸出電流很微弱(0.01mA),因此必須使其處于高阻狀態(tài);不得有外部上下拉電路 |
RS232 | RXD | 2 | I | 該組引腳系標(biāo)準(zhǔn)RS232電平信號,可直接與PC機連接 | 如果連接PC機上Internet網(wǎng),則需要使用CTS和RTS,其它通信方式示不需要這兩個引腳 |
TxD | 3 | O | |||
CTS | 4 | O | |||
RTS | 5 | I | |||
SGGND | 8 | 0 | SGGND是RS232信號地,在模塊內(nèi)部與GND相連 | ||
RS485 | A | 6 | I/O | 該組引腳系標(biāo)準(zhǔn)RS485電平信號,模塊內(nèi)部已加120匹配電阻 | 模塊內(nèi)部光電隔離電路 |
B | 7 |
為使控制器運行穩(wěn)定可靠,對其看門狗電路進行了精心設(shè)計。
3 控制器的軟件接口
在本設(shè)計中,需要利用TCP/IP協(xié)議來完成GPRS業(yè)務(wù)數(shù)據(jù)的打包和解包。由于W77E58資源有限,怎樣在有限的資源上完成必需的功能,就是嵌入式TCP/IP協(xié)議實現(xiàn)的關(guān)系所在,也就是合理地簡化協(xié)議。
TCP/IP協(xié)議是一個為廣域網(wǎng)(WAN)設(shè)計的標(biāo)準(zhǔn)協(xié)議套件,可以用一個分成四個層次的模型來描述:數(shù)據(jù)鏈路層、互聯(lián)網(wǎng)層、傳輸層和應(yīng)用層。其分層模型及協(xié)議如表2所列。
表2 TCP/IP協(xié)議結(jié)構(gòu)
應(yīng)用層 | HTTP、Telnet、FIT、SMTP、SNMP |
傳輸層 | TCP、UDP |
互聯(lián)網(wǎng)層 | IP、ARP、RARP、ICMP、IGMP |
數(shù)據(jù)鏈路層 | Ethernet、X.25、SLIP、PPP |
應(yīng)用層(application)負(fù)責(zé)處理特定的應(yīng)用程序細(xì)節(jié),在本系統(tǒng)中只實現(xiàn)HTTP協(xié)議。
傳輸層(transport)主要為2臺主機上的應(yīng)用程序提供端到端的通信。TCP協(xié)議是為2臺主機提供高可靠性的數(shù)據(jù)通信,這里采用TCP傳輸控制協(xié)議。
互聯(lián)網(wǎng)層(Internet)的功能是尋址、定址、數(shù)據(jù)打包和安排路徑。Internet所有的數(shù)據(jù)都以IP數(shù)據(jù)報格式傳輸,其最大特別是提供不可靠的和無連接的數(shù)據(jù)包傳送服務(wù)。在GPRS業(yè)務(wù)中,每一次鏈接都會具體分配一個IP地址,因此用ARP/RARP協(xié)議完成IP地址與物理地址的映射(即地址解析),用ICMP協(xié)議判斷網(wǎng)絡(luò)是否連通。
數(shù)據(jù)鏈路層(link)的任務(wù)是把要發(fā)出的幀送到線路中去,把要接收的幀從線路中取出來。GPRS業(yè)務(wù)是采用IP Over PPP實現(xiàn)數(shù)據(jù)終端的接入。這部分功能由單片機控制MC35模塊,采用PPP協(xié)議實現(xiàn)。
數(shù)據(jù)打包處理程序處理數(shù)據(jù)時,每一層都把自己的信息添加到一個數(shù)據(jù)頭中,而這個數(shù)據(jù)頭又被下一層的協(xié)議包裝到數(shù)據(jù)體之中。數(shù)據(jù)解包處理程序接收到GPRS數(shù)據(jù)時,把相應(yīng)的數(shù)據(jù)頭剝離,并把數(shù)據(jù)包的其余部分當(dāng)作數(shù)據(jù)體對待。
在應(yīng)用要求高的場合,通常需要支持完事的TCP/IP協(xié)議族,而在嵌入式系統(tǒng)中也是可以做到的;但是,考慮到成本和具體的應(yīng)用場合,沒有必要包括所有的TCP/IP協(xié)議族??梢钥吹?,采用TCP/IP協(xié)議需要對它進行合理的裁剪,以滿足小ROM系統(tǒng)的情況。
系統(tǒng)在利用MC35模塊的GPRS業(yè)務(wù)瀏覽HTTP等功能之前,必須先激活GPRS網(wǎng)的PDP連接。單片機通過正確的AT指令和GPRS命令集對MC35模塊進行初始化和數(shù)據(jù)的接收發(fā)送,其工作流程如圖3所示。
單片機上電復(fù)位后,首先對MAX232進行初始化,完成與外接模塊協(xié)商處理,如波特率、是否有奇偶校驗等。接著,通過串口1對MC35模塊進行初始化,檢查諸如SIM卡情況、GPRS網(wǎng)絡(luò)覆蓋情況、信號情況等。接下來,進行中斷掃描,監(jiān)控是否有數(shù)據(jù)到來。有關(guān)數(shù)據(jù)時,如果是外部數(shù)據(jù),就啟動數(shù)據(jù)打包處理過程;如果是GPRS數(shù)據(jù),就啟動數(shù)據(jù)解包處理過程。如果沒有數(shù)據(jù),系統(tǒng)則進入節(jié)電模式。在數(shù)據(jù)打包處理過程中,如果檢測到系統(tǒng)的信號不好,網(wǎng)絡(luò)連接不暢通,或者不是GPRS網(wǎng)絡(luò)覆蓋區(qū),將進行數(shù)據(jù)發(fā)送緩存處理,同時將數(shù)據(jù)放進發(fā)送隊列等待發(fā)送。
結(jié)語
本文采用嵌入式TCP/IP協(xié)議,在高速的8位微控制器上實現(xiàn)了對MC35模塊的控制,并實現(xiàn)了GPRS業(yè)務(wù)的數(shù)據(jù)傳輸功能;具有外圍器件少、電路簡單、系統(tǒng)成本低等優(yōu)點。本文設(shè)計的GPRS無線通信控制器,自2002年1月份起,在廣東省東莞市的環(huán)保污水綜合處理系統(tǒng)中使用至今,運行效果良好,實踐證明,產(chǎn)品工作穩(wěn)定、可靠。
tcp/ip相關(guān)文章:tcp/ip是什么
評論