內置TCP/IP協(xié)議的GPRS模塊的應用
關(guān)鍵詞 GPRS SIM100 AT指令
引 言
隨著(zhù)GPRS技術(shù)在無(wú)線(xiàn)通信領(lǐng)域中的發(fā)展,GPRSmodem作為GPRS在Internet上的PC機終端己獲得了越來(lái)越廣泛的應用。相應地,在單片機系統中運用GPRSmodem實(shí)現Internet接入也開(kāi)始為人們所重視。GPRS具有永遠在線(xiàn)、快速登錄、按流量計費等優(yōu)勢。如果無(wú)線(xiàn)傳輸的僅僅是低速數據,則用成本較高的PC機來(lái)控制成本過(guò)高。目前,大部分使用的都是沒(méi)有內置TCP/IP協(xié)議的GPRS模塊(如西門(mén)子公司的MC35),這就需要在系統中另外加入TCP/IP協(xié)議。一般的做法是自己編寫(xiě),或者使用操作系統再加入協(xié)議。
本文使用的SIMl00是Simcom公司推出的內嵌TCP/IP協(xié)議的GPRS模塊。相對于沒(méi)有內置TCP/IP協(xié)議的模塊,SIMl00使用起來(lái)更方便,并且可以縮短開(kāi)發(fā)周期。
1 SIMl00模塊的接口
SIMl00模塊為用戶(hù)提供了功能完備的系統接口,在較短的研發(fā)周期內,就可以集成自己的應用系統。用戶(hù)的工作主要集中在控制系統和人機界面方面。SIMl00模塊與應用系統的連接接口主要提供外部電源、RS-232串口、SIM接口和音頻接口。
1.1 電源接口
SIMl00模塊使用鋰電池、鎳氫電池或者其他外部直流電潭供電,電源電壓為3.3~4.6 V,電源應該具有至少2 A的峰值電流輸出能力。EXT電壓用于保證模塊與外部數字接口的電平匹配,VAVA則用于給音頻電路提供電源。其電源參考電路如圖1所示。
1.2 串行接口
SIMl00提供標準的RS-232串行接口,用戶(hù)可以通過(guò)串行口使用AT命令完成對模塊的操作。
在應用設計中,當MCU需要通過(guò)串口與模塊進(jìn)行通信時(shí),可以只用3個(gè)引腳:TXD、RXD和GND;但當需要通過(guò)模塊上網(wǎng)時(shí),應該盡量使用全部的串口信號引腳,包括DTR、RTS、DCD、CTS、TXD、RXD、RI和GND。其中,RI變化表示有來(lái)電呼入,可以連到MCU的中斷引腳或者其他輸入引腳供MCU查詢(xún)其狀態(tài)。當模塊與PC通信時(shí)需要電平轉換,與PC機類(lèi)標準串行口的參考接口電路如圖2所示。
1.3 SIM卡接口
模塊支持外部SIM卡,可以直接與3.0V SIM卡或者1.8V SIM仁連接,并自動(dòng)監測和適應SIM卡類(lèi)型。SIM卡引腳功能如表l所列。
SIM卡連接的參考電路如圖3所示。
另外,SIMl00還提供許多其他接口,用戶(hù)可以根據系統的配置來(lái)增加功能,如輸入/輸出接口、網(wǎng)絡(luò )指示燈、SPILCD接口、蜂鳴器、音頻通道和鍵盤(pán)等。
2 AT指令控制SIMl00接入GPRS
2.1 AT指令簡(jiǎn)介
AT指令集一般指專(zhuān)門(mén)用來(lái)控制調制解調器的指令集。該指令集最初由美國Hayes公司推出,專(zhuān)門(mén)用于數據傳輸通信領(lǐng)域,目前己成為全球通用的標準,任何與Hayes兼容的調制解調器都可使用這些指令。
AT指令是以AT開(kāi)頭、CR>LF>結尾的特定字符串,AT后面緊跟的字母和數字表明AT指令的具體功能。AT指令具有以下特點(diǎn):
①幾乎所有的AT指令(除了“A/”及“+++”兩個(gè)指令外)都以一個(gè)特定的命令前綴開(kāi)始,以一個(gè)命令結束標志符結束。命令前綴一般由AT兩個(gè)字符組成,命令結束符通常為CR>LF>。
②每一條AT指令執行完后,調制解調器都會(huì )返回一個(gè)結果,以對接收到的命令作出應答。
指令集分成標準AT指令集(Standard V.25ter ATCommands)、AT增強指令集(AT Commands for En-hanced Functions)和傳真指令集(AT Commands forFAX)等。根據具體的產(chǎn)品,不同的廠(chǎng)商還會(huì )設計特殊的指令集供設置使用,例如奉系統中使用的無(wú)線(xiàn)GSM模塊,根據ETSI-GSM07.07和ETSI-GSM07.05協(xié)議,給調制解調器增加了一些擴充指令。
2.2 建立GPRS連接
在本系統中,需要利用TCP/UDP協(xié)議來(lái)完成GPRS業(yè)務(wù)數據的裝幀和拆幀。SIMl00 GSM/GPRS模塊內置TCP/UDP協(xié)議,微處理器向該模塊直接發(fā)送AT指令可建立TCP/IP連接實(shí)現數據傳輸。下面是模塊的一些初始設置。
①置通信波特率??梢允褂谩癆T+IPR=115200”命令,把波特率設為115 200 bps或者其他速率。SIMCOM模塊默認為ll5200 bps。
②置接入網(wǎng)關(guān)。通過(guò)“AT+CGDCONT=1”、“IP”、“CMNET”命令,設置GPRS接入網(wǎng)關(guān)為移動(dòng)夢(mèng)網(wǎng)。
③設置移動(dòng)終端的類(lèi)別。通過(guò)AT+CGCLASS=“B”設置移動(dòng)終端的類(lèi)別為B類(lèi),即同時(shí)監控多種業(yè)務(wù),但只能運行一種業(yè)務(wù)。也就是說(shuō),在同一時(shí)間只能使用GPRS上網(wǎng),或者使用GSM的語(yǔ)音通信。
④測試GPRS服務(wù)是否開(kāi)通。使用“AT+CGACT=1,1”命令激活GPRS功能。如果返回OK,則表示GPRS連接成功;如果返回ERROR,則意味著(zhù)GPRS失敗,應檢查一下SIM卡的GPRS業(yè)務(wù)是否已開(kāi)通,GPRS模塊天線(xiàn)是否安裝正確等問(wèn)題。
2.3 TCP/UDP連接舉例
(1)通過(guò)TCP的連接
發(fā)送數據程序流程如圖4所示。
3 SIMlD0的典型應用
SIMl00模塊可以應用于很多的遠程監控系統中,下面的例子是其在遠程家居電器控制中的應用。
此系統的控制思路是客戶(hù)機通過(guò)SIMl00接收來(lái)自Internet的控制數據,通過(guò)串口傳送給AT89C5[3-4];單片機分析數據來(lái)源,如果合法(包括來(lái)源合法和數據結構合法),則驅動(dòng)執行機構來(lái)控制家中電器或反饋電器的狀態(tài)信息。其系統結構框圖如圖5所示。
接收執行程序流程如圖6所示。
發(fā)送數據程序流程可以參考圖4。整個(gè)系統由于采用了SIMl00模塊,大大減小了系統資源的開(kāi)銷(xiāo),因此可以根據應用的實(shí)際要求來(lái)構建系統,而不必為實(shí)現TCP/IP協(xié)議選用性能和價(jià)格都更高的微處理器甚至是存儲器。軟件部分的工作重心主要放在控制部分,以縮短研發(fā)周期。
4 總 結
市場(chǎng)上有根多GPRS模塊可供選擇,有的適用于工業(yè)及車(chē)載高可靠場(chǎng)合,當然價(jià)格也更高;但在一般的工業(yè)及車(chē)載應用中,如果用戶(hù)對成本較敏感,則可以選用Simcom公司的SIMl00。其在功能、性能和價(jià)格三方面做了很好的折中。尤其是內置了TCP/IP協(xié)議,使得軟件部分的工作量減??;對于不需要操作系統的簡(jiǎn)單應用十分適合,可以有效地降低成本,縮短研發(fā)周期。
tcp/ip相關(guān)文章:tcp/ip是什么
蜂鳴器相關(guān)文章:蜂鳴器原理
評論