摘要:本文主要介紹如何設計一個基于GPRS網絡通信的DTU。終端系統采用的是Atmel公司 32位的處理器AT91SAM7S64,軟件系統設計是在“IAR Embedded Workbench for ARM”環境下開發的,使用華為公司的EM310作為收發數據的無線模塊。
關鍵詞:DTU GPRS AT91SAM7S64 EM310
引言
在電子技術和網絡技術高速發展的今天,監控系統在人們的生活中發揮越來越重要的作用,而監控系統的傳輸主要分有線和無線2種。有線傳輸固然穩定可靠,然而對于作業點分散、環境惡劣、遠程監控為特點的工業現場,特別是存在突發、小數據量傳輸的場合,以有線來做通信媒介顯然已不太合適,這迅速推動了無線通信技術在工業控制領域的發展。
GPRS的出現為構建低成本的無線工業監控網絡提供了可能。GPRS是通用分組無線服務技術(General Packet Radio Service)的簡稱,它是GSM移動電話用戶可用的一種移動數據業務。具有資費低(按流量計費)、覆蓋區域大、實時在線、呼叫建立時間短等優勢。基于這些特點,開發GPRS DTU具有非常重要的意義。
GPRS DTU功能
GPRS DTU全稱GPRS數據傳輸單元,GPRS DTU是專門用于將串口數據通過GPRS 網絡進行傳送的GPRS無線設備,說的簡單點就是實現遠程數據間的透傳。
DTU要實現的基本功能包括:
1)支持短信下發參數配置;
2)GPRS無線數據雙向傳輸;
3)內置TCP/IP協議棧;
4)支持自動心跳,保持永久在線;
5)提供RS232/485/422接口;
6)具有自動重聯機制,數據通道自恢復能力;
7)支持智能重連模式,大幅降低無效流量;
8)支持中心為固定IP或動態域名;
9)支持遠程短信/電話喚醒;
10)支持APN虛擬專網業務;
11)復合式看門狗技術,智能重啟;
12)EMC抗干擾設計,適合電磁惡劣 環境應用;
13)適應低溫和高溫工作環境;
GPRS DTU工作過程
DTU上電后,首先初始化SIM卡,登陸GSM網絡,檢測內部FLASH中保存的工作參數(包括GPRS撥號參數,串口波特率,中心IP地址,端口號等等),如果沒有,等待短信下發參數配置。待參數配置下發完成后,進行PPP撥號。撥號成功后,GPRS DTU將獲得一個由移動隨機分配的內部IP地址。也就是說,GPRS DTU處于移動內網中,而且其內網IP地址通常是不固定的,隨著每次撥號而變化。我們可以理解為GPRS DTU這時是一個移動內部局域網內的設備,通過移動網關來實現與外部Internet公網的通信。這與局域網內的電腦通過網關訪問外部網絡的方式相似。
撥號成功后,DTU主動發起與數據中心的通信連接,并保持通信連接一直存在。 由于DTU處于移動內網,而且IP地址不固定。因此,只能由DTU主動連接數據中心,而不能由數據中心主動連接DTU。這就要求數據中心具備固定的公網IP地址或固定的域名。數據中心的公網IP地址或固定的域名作為參數存儲在DTU內,以便DTU一旦上電撥號成功,就可以主動連接到數據中心。在得到中心的響應后, DTU即認為與中心握手成功,然后就保持這個通信連接一直存在,如果通信連接中斷, DTU將立即重新與中心握手。具體的講,這個過程,就是DTU與數據中心建立TCP/UDP連接的過程。
當TCP/UDP通信連接已經建立,就可以進行數據雙向通信了。對于DTU來說,這時需要完成用戶串口數據與GPRS網絡數據包的轉換。當接收到用戶的串口數據,DTU就立即把串口數據封裝在一個TCP/UDP包里,發送給數據中心。反之,當DTU收到數據中心發來的TCP/UDP包時,從中取出數據內容,立即通過串口發送給其他用戶設備,從而實現透傳。
硬件電路的實現
1、單片機模塊
AT91SAM7S64是Atmel 32位ARM RISC 處理器小引腳數Flash微處理器家族的一員。它擁有64K 字節的高速Flash 和16K 字節的SRAM,豐富的外設資源,包括1個調試單元(DBGU),11 個外設數據控制器(PDC) 通道,2個通用的同步/異步收發器(USART),32個可編程的復用I/O ,1個USB 2.0設備端口,串行外設SPI接口,先進的中斷控制器(AIC)等。因為其具有較高的性價比,因此選擇該芯片作為GPRS DTU的CPU。
2、GPRS 模塊
EM310是華為推出的GSM/GPRS 雙頻模塊,主要為語音傳輸、短消息和數據業務提供無線接口。
實現方法如下:
(1)串口1的Tx、Rx分別和EM310模塊的Tx、Rx相連接,EM310模塊的開關機腳,復位腳,分別接到單片機的空閑I/O口上,通過控制單片機I/O口控制無線模塊開機、復位。EM310模塊的LPG(網絡狀態指示燈)通過放大電路接LED指示燈。
(2) AT91SAM7S64供電采用3.3V ,EM310模塊的供電采用4.2V(電流供電能力在1A以上)電壓,分別接到相對應的引腳上,電源和模塊之間的走線要短,必要時要加電容。
(3) 單片機的串口0通過外部芯片(如max3485,max3232等),擴展成標準的串口,可以根據制定好的協議,用于和透傳設備的通信。
(4) EM310模塊的SIM-VCC、SIM-GND、SIM-IO、SIM-CLK、SIM-RST分別接到SIM卡座相對應的引腳上,注意走線距離,最好有地線隔離。
軟件設計
GPRS模塊通過串口發送AT命令與單片機進行數據傳送。在系統中, GPRS的數據通過模塊轉換成單片機系統的串口數據。因此對遠程數據間的傳送就對應成了單片機串口數據的采集。串口采用中斷調用。串行口中斷服務程序完成數據發送和接收等功能,可接收上位機發送給本系統的各種命令,也可將本地數據傳送給上位機。
結束語
GPRS DTU遠程監控系統利用現有的GPRS網絡資源,為現有數據采集系統提供一種便捷的無線數據傳輸方式,可廣泛應用于電力監控、石油、安防報警、交通等行業,因而其有光明的前景。
參考文獻:
[1]冀常鵬. 《AVR單片機GSM/GPRS應用技術》.國防工業出版社, 第1版 (2011年)
[2]華為EM310技術文檔