摘要: 通用無線分組業務( GPRS) 是一種基于全球移動通信系統( GSM) 的無線分組交換技術, 提供端到端的、廣域的無線IP 連接, 具有永遠在線等特點。介紹了基于GPRS 網絡的數據終端單元( DTU) 。該單元是由以ARM 芯片S3C44B0X 和GPRS 模塊G20 為核心的硬件和軟件組成。在概括工業GPRS 監控系統構成的基礎上, 介紹了GPRS DTU 硬件設計, GPRS DTU 軟件是由μC / OSⅡ操作系統、TCP / IP 協議、點對點協議組成。該單元使用戶通過GPRS 網絡實現用戶設備和用戶數據中心之間的數據傳輸。
通用無線分組業務GPRS( General Packet RadioService ) 是第2 代移動通信技術全球移動通信系統( GSM) 邁向第3 代( 3G) 的過渡技術, 是由英國BTCellnet 公司早在1993 年提出的, 是GSM Phase2 +( 1997 年) 規范實現的內容之一, 是一種基于GSM 的移動分組數據業務, 面向用戶提供移動分組的IP 或者X.25 連接。GPRS 在現有的GSM 網絡基礎上疊加了一個新的網絡, 同時在網絡上增加硬件設備和軟件升級, 形成了一個新的網絡邏輯實體, 提供端到端的、廣域的無線IP 連接, 為構建低成本的無線廣域工業監控網絡提供了可能。GPRS 數據終端單元( GPRS DTU) 無需后臺計算機的支持, 充分利用GPRS 網絡的“永遠在線, 接入速度快, 采用數據流量計費方式”的特點, 具有無可比擬的性價比優勢, 特別適用于電力系統自動化、工業監控、環境監測、交通管理等行業的遠程傳輸數據應用。
用戶設備通過RS -232 和GPRS DTU 相連, 將數據傳入DTU。進入DTU后的數據被GPRS 模塊封裝成適合于網絡通信的數據包后, 被發送至GPRS 網絡, 再通過GPRS 網絡進入Internet 上傳輸, 最后被指定IP 地址的用戶數據中心讀取。工業GPRS 監控系統的構成如圖1 所示。

在本系統中, GPRS DTU 采用的硬件芯片主要有ARM 芯片S3C 44 B0X 和MOTOROLA 的GPRS 通信.模塊G 2 0 。S3C 44 B0X 是由SAM SUNG 公司推出的16 / 32 位RISC 處理器( 66 MHz) , 它包括了Thumb 代碼壓縮器, 1 個片上的ICE 斷電調試支持和1 個32位的硬件乘法器。
本應用中ARM 芯片實現與GPRS模塊的數據通信( 可采用UART 通信方式或USB 通信方式) , 控制數據信號采集設備的工作, 進行指示燈控制等。G20 是全新的嵌入式GSM 模塊, 采用最先進的技術以滿足數據及語音通信市場。G20 的主要特性有: TCP / IP 協議棧、GSM 頻段EGSM900 / 1 800 MHz,GSM850 / 1 900 MHz, GPRS 時隙class 8, MO / MT SMS、傳真、通過串口的STK 功能、RS - 232 / USB 接口、寬溫度工作范圍等。G20 的硬件結構包括主控制器,與GPRS 網通信的接收模塊和發送模塊, 存儲器件,電源管理和音頻管理模塊, 接口模塊等。G20 通過70 個引腳的接口模塊實現與外部電路的數據交換。其中, 主要包括: UART 通信接口、USB 通信接口、SPI 總線接口實現與SIM 卡的數據交換和音頻信號輸入/ 輸出接口等。GPRS DTU 的結構圖如圖2 所示。

GPRS DTU 的軟件是由操作系統、TCP / IP 協議、點對點協議( PPP ) 等組成。
操作系統采用μC / OSⅡ, 它是一個公開源代碼的占先式多任務的微內核RTOS, 其特點是: 公開源代碼, 代碼結構清晰、明了, 注釋詳盡, 組織有條理,可移植性好, 可裁減, 可固化, 內核屬于搶占式, 最多可以管理60 個任務。

TCP / IP 通信協議分別由傳輸控制通信協議( TCP ) 及因特網通信協議( IP ) 2 部分組成。TCP /IP 模型如圖3 所示。工業控制傳輸領域層采用TCP協議, 不用UDP 協議, 因實時監控系統中傳輸量不大, 而可靠性要求較高。TCP 協議為面向對象的通信協議, 其主要目的是提供數據的傳輸并確保其傳輸無誤, 具有錯誤偵測、數據復原及數據重新傳送等功能。TCP 在傳輸數據之前, 會先在主機間( 例如服務器端和客戶端)建立通信鏈接, 通過此通信鏈接, 數據可在計算機間相互傳輸。
此設計中采用的是LwIP ( Light weight IP) , 它是瑞士計算機科學院Adam Dunkels 等開發的一套用于嵌入式系統的開放源代碼的TCP / IP 協議棧。LwIP 具有以下特性: 支持多網絡接口下的IP 轉發,支持ICMP 協議, 包括實驗性擴展的UDP, 阻塞控制、往返時間( RTT) 估算、快速恢復、快速轉發的TCP , 提供專門的內部回調功能用于提高應用程序性能, 可選擇的BerkeleyAPI 接口等。LwIP 可以是單線程運行, 即只有1 個tcpip 線程, 負責處理所有的tcp 連接, 各種網絡程序都通過tcpip 線程與網絡交互。但LwIP 也可以多線程運行,以提高效率和降低編程的復雜度。可以通過下面的函數創建新線程:
void sys_thread_new ( void ( *thread ) ( void*arg) ,
void*arg) ;
在μC / OSⅡ中, 沒有線程( Thread ) 的概念, 只有任務( Task ) 。它已經提供了創建新任務的系統API調用OSTaskCreate , 因此只要把OSTaskCreate 封裝一下, 就可以實現sys_thread_new。LwIP 中的Thread 沒有μC / OSⅡ中優先級的概念, 實現時需要由用戶事先為LwIP 創建的線程分配好優先級。
創建1 個和TCP / IP 相關的新進程的部分代碼
如下:
# define LwIP_STK_SIZE 10*1024
# define LwIP_TASK_MAX 5
# define LwIP_START_PRIO 5
OS_STK LwIP_TASK_STK[ LwIP_TASK_MAX]
[ LwIP_STK_SIZE ] ;
u8_t curr_prio_offset ;sys_thread_t ;sys_systhread_new ( void ( *function ) ( void*arg ) ,void*arg, int prio)
PPP 為基于點對點連接的多協議自尋址數據包的傳輸提供了一種標準方法。PPP 最初設計是為2個對等結構之間的IP 流量和傳輸提供一種封裝協議。在TCP / IP 協議集中, 它是一種關于同步調制連接的數據鏈路層協議( 開發式系統互聯參考模型OSI模式中的第2 層) 。PPP 主要創建電話線路及綜合服務數字網( ISDN) 撥號接入網絡服務提供商( ISP)的連接, 具有多種身份驗證方法、數據壓縮和加密及通知IP 地址等功能。需要傳輸的數據按照TCP 格式封裝成TCP 數據包, 加上IP 報頭和報尾封裝成IP 數據包, 再按照PPP 的幀格式封裝成PPP 幀, 最后才能用于傳輸。DTU 要想和Internet 建立連接, 首先要附著在GPRS 網上, 然后發起分組數據協議( PDP ) 上下文激活過程, 這樣才能與GPRS 支持節點( GGSN) 建立一條邏輯通路, 從而和Internet 建立連接。
系統上電后, 首先硬件初始化, 再對操作系統初始化, 然后進行系統文件配置, 創建任務, 并對網絡( TCP / IP , PPP ) 初始化, 啟動多任務調度。通過PPP發送LCP packets 進行設定和測試數據鏈路, 跟G20模塊鏈接; 然后進行密碼認證協議( PAP ) 認證; 通過后, PPP 發送NCP packets 選擇和設定1 個網絡層運行IP 協議, 一旦設定好協議, GPRS DTU 就可以接入到Internet 。DTU 向用戶數據中心的IP 地址發起連接并請求注冊, 就可開始和用戶數據中心交互控制指令和數據。
研究和設計GPRS DTU 的目的是將其應用于武漢理工大學的含油污水遠程監控系統, 目前實驗階段的測試效果證明了此方案的可行性。基于GPRS 的遠程監控系統相對于傳統的基于有線連接或GSM 短消息的遠程監控系統具有很多優勢, 如: 連接時間短、實時性強、永遠在線、收費合理、價格便宜等, 相信GPRS DTU 也會有很好的市場前景。
本文來自:百度文庫資料。如有版權請聯系:010-82899827-805,24小時內即撤。