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