轉載(http://jingyan.baidu.com/article/219f4bf7d1f284de442d3823.html)
DTU通信的本質
GPRS DTU最基本的用法是:在DTU中放入一張開通GPRS功能的SIM卡,DTU上電后先注冊到GPRS網絡,然后通過GPRS網絡和數據處理中心建立連接。這條連接涉及了無線網絡運營商,因特網寬 帶供應商,用戶公司的網絡情況,以及用戶的電腦配置等環節,因此要建立這條連接需要把各部分都配置好。
在本質上,DTU和數據處理中心建立的是SOCKET連接。DTU是SOCKET客戶端,數據處理中心是SOCKET的服務端。SOCKET連接有TCP協議和UDP協議之分,DTU和中心要使用相同的協議,這個一般都有配置軟件進行配置。
給DTU配置好中心的IP地址和端口號后,則把DTU通過串口和用戶的設備相連。DTU和水文、電力、氣象、環保等用戶設備通過串口連起來放置在現場。
DTU上電后首先注冊到移動的網絡,然后發送建立SOCKET的請求包給移動,移動把這個請求發送到因特網。中心的服務端軟件接收到請求后建立連接,並發送應答信息。
DTU發送的請求信息是因特網上的數據包,有一些原因會阻止中心收到連接請求包,這樣也就不能建立連接。最常見的有中心的電腦上有殺毒軟件、防火牆等把這些數據包給屏蔽了。另一是中心電腦是通過路由器上網的,在路由器上要設置數據轉發。SOCKET連接建立后就可以雙向通信了。
工作過程
GPRS DTU上電后,首先讀出內部FLASH中保存的工作參數(包括GPRS撥號參數,串口波特率,數據中心IP地址等等,事先已經配置好)。
GPRS DTU登陸GSM網絡,然后進行GPRS PPP撥號。撥號成功后,GPRS DTU將獲得一個由移動隨機分配的內部IP地址(一般是10.X.X.X)。也就是說,GPRS DTU處於移動內網中,而且其內網IP地址通常是不固定的,隨着每次撥號而變化。 我們可以理解為GPRS DTU這時是一個移動內部局域網內的設備,通過移動網關來實現與外部Internet公網的通信。這與局域網內的電腦通過網關訪問外部網絡的方式相似。
GPRS DTU主動發起與數據中心的通信連接,並保持通信連接一直存在。 由於GPRS DTU處於移動內網,而且IP地址不固定。因此,只能由GPRS DTU主動連接數據中心,而不能由數據中心主動連接GPRS DTU。這就要求數據中心具備固定的公網IP地址或固定的域名。數據中心的公網IP地址或固定的域名作為參數存儲在GPRS DTU內,以便GPRS DTU一旦上電撥號成功,就可以主動連接到數據中心。
具體地講,GPRS DTU通過數據中心的IP地址(如果是采用中心域名的話,先通過中心域名解析出中心IP地址)以及端口號等參數,向數據中心發起TCP或UDP通信請求。在得到中心的響應后,GPRS DTU即認為與中心握手成功,然后就保持這個通信連接一直存在,如果通信連接中斷,GPRS DTU將立即重新與中心握手。
由於TCP/UDP通信連接已經建立,就可以進行數據雙向通信了。
對於DTU來說,只要建立了與數據中心的雙向通信,完成用戶串口數據與GPRS網絡數據包的轉換就相對簡單了。一旦接收到用戶的串口數據,DTU就立即把串口數據封裝在一個TCP/UDP包里,發送給數據中心。反之,當DTU收到數據中心發來的TCP/UDP包時,從中取出數據內容,立即通過串口發送給用戶設備。
通過有線的數據采集中心,同時與很多個GPRS DTU進行雙向通信。這是目前GPRS DTU應用系統中最為常用的方式。
核心功能
(1)內部集成TCP/IP協議棧
GPRS DTU內部封裝了PPP撥號協議以及TCP/IP協議棧並且具有嵌入式操作系統,從硬件上,它可看作是嵌入式PC與無線GPRS MODEM的結合;它具備GPRS撥號上網以及TCP/IP數據通信的功能。
(2)提供串口數據雙向轉換功能
GPRS DTU提供了串行通信接口,包括RS232,RS485,RS422等都屬於常用的串行通信方式,而且GPRS DTU在設計上大都將串口數據設計成“透明轉換”的方式,也就是說GPRS DTU可以將串口上的原始數據轉換成TCP/IP數據包進行傳送,而不需要改變原有的數據通信內容。因此,GPRS DTU可以和各種使用串口通信的用戶設備進行連接,而且不需要對用戶設備作改動。
(3)支持自動心跳,保持永久在線
GPRS通信網絡的優點之一就是支持GPRS終端設備永久在線,因此典型的GPRS DTU在設計上都支持永久在線功能,這就要求DTU包含了上電自動撥號、采用心跳包保持永久在線(當長時間沒有數據通信時,移動網關將斷開DTU與中心的連接,心跳包就是DTU與數據中心在連接被斷開之前發送一個小數據包,以保持連接不被斷開)、支持斷線自動重連、自動重撥號等特點。
(4)支持參數配置,永久保存
GPRS DTU作為一種通信設備,其應用場合十分廣泛。在不同的應用中,數據中心的IP地址及端口號,串口的波特率等都是不同的。因此,GPRS DTU都應支持參數配置,並且將配置好的參數保存內部的永久存儲器件內(一般為FLASH或EEPROM等)。一旦上電,就自動按照設置好的參數進行工作。
GPRS DTU使用場合一般可以從以下幾個實際應用角度來講:
(1) 現場只能使用無線通信環境
當數據采集現場的設備需要在移動中工作,或者采集現場處於野外等情況下,無法提供有線通信的環境。這個時候,采用GPRS無線網絡就可能是一個好的選擇,因為GPRS網絡的覆蓋率在國內已經很高,全國大部分地區均有GPRS信號覆蓋。
(2) 現場終端的傳輸距離分散
由於GPRS網絡是覆蓋全國的公共網絡,因此采用GPRS來傳輸數據的一大優勢就是現場采集點可以分步在全國范圍,數據中心與現場采集點之間的距離不受限制。無線公網通信(包括GPRS/CDMA網絡,3G網絡等)這個非常顯著的優點是專用無線通信網絡(比如數傳電台,WiMax,WLAN等)無法達到的。
(3) 適當的數據實時性要求
國內GPRS網絡,其傳輸數據的延時為秒級范圍。在絕大部分時間下,GPRS數據通信的平均整體延時為2秒左右。也就是說,從GPRS DTU端發送的數據包將大致在2秒鍾后到達數據中心。反之,從數據中的數據包也大致在2秒鍾后到達GPRS DTU。
總的來說,GPRS這種實時性,可以滿足大多數行業應用的要求。 但是,對於一些特定的應用系統,如果不能承受2秒左右的平均延時,那么GPRS通信方式就可能是不適合的。(另外,CDMA網絡的傳輸延時也是1秒-2秒左右)。
從另一個角度來講,如果我們要設計的系統希望通過GPRS網絡來傳輸數據,那么就要在設計通信協議時候考慮這種延時的情況。
(4) 適當的數據通信速率
GPRS DTU與數據中心的數據通信速率一般在10kbps-60kbps之間。從也就是說,GPRS DTU可以持續不斷地以10bps-60kbps的速度向中心發送數據,反之亦然。(補充說明:國內CDMA網絡的數據通信平均速率可以達到40kbps-90kbps左右)從系統應用可靠性角度來講,我們認為當應用系統本身的數據平均通信量在30kbps以內的時候,使用GPRS網絡來進行數據傳輸是比較適合的。
也可以從另外一方面,例如果通過GPRS網絡來進行遠程傳輸數據,那么就需要把數據平均通信量控制在30kbps之內。(注意:這里的平均持續通信速率和瞬間通信速率是有區別的,與設備串口波特率也不是同一個概念)
以上的幾點可以用於判斷應用系統是否適合采用GPRS網絡進行數據傳輸,如果這幾個方面都比較符合的話,那么采用GPRS DTU進行數據傳輸是非常合適的。