《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于GPRS/GSM和ARM的數(shù)據(jù)完整性傳輸終端設計與實現(xiàn)
基于GPRS/GSM和ARM的數(shù)據(jù)完整性傳輸終端設計與實現(xiàn)
2014年微型機與應用第17期
邵俊杰,曾獻輝
東華大學 信息科學與技術學院,上海 201620
摘要: 為提高數(shù)據(jù)傳輸過程中完整性,提出了一種結合嵌入式技術和GPRS/GSM無線通信技術的數(shù)據(jù)傳輸方案。設計了基于GPRS和GSM短信服務混合通信的嵌入式數(shù)據(jù)采集傳輸終端,用于在惡劣的環(huán)境下對數(shù)據(jù)的實時采集,并通過GPRS/GSM網絡上傳至監(jiān)控中心。在高峰時期或傳輸網絡出現(xiàn)異常時,嵌入式終端將采取GSM的SMS方式進行數(shù)據(jù)傳輸。
Abstract:
Key words :

  摘 要: 為提高數(shù)據(jù)傳輸過程中完整性,提出了一種結合嵌入式技術和GPRS/GSM無線通信技術的數(shù)據(jù)傳輸方案。設計了基于GPRS和GSM短信服務混合通信的嵌入式數(shù)據(jù)采集傳輸終端,用于在惡劣的環(huán)境下對數(shù)據(jù)的實時采集,并通過GPRS/GSM網絡上傳至監(jiān)控中心。在高峰時期或傳輸網絡出現(xiàn)異常時,嵌入式終端將采取GSM的SMS方式進行數(shù)據(jù)傳輸。

  關鍵詞遠程測控終端;GPRS/GSM;嵌入式技術,數(shù)據(jù)完整性

  隨著工業(yè)的發(fā)展,很多設備在惡劣環(huán)境中工作,需要定時采集數(shù)據(jù),例如電力系統(tǒng)中自動抄表,自來水廠對水質監(jiān)測,農業(yè)中對土壤的監(jiān)測等。環(huán)境惡劣或路途遙遠等會導致用人工現(xiàn)場采集數(shù)據(jù)有很大的困難。遠程測控終端[1](RTU)在工業(yè)數(shù)據(jù)采集中應用非常廣泛。為此,設計一款基于GPRS/GSM混合通信的RTU,將GPRS與GSM的SMS方式進行優(yōu)勢互補, 來滿足用戶對遠程數(shù)據(jù)采集所面臨的數(shù)據(jù)傳輸?shù)耐暾院蛯崟r性需求。本文研究了一種運用ARM處理器和Linux操作系統(tǒng)嵌入式數(shù)據(jù)采集裝置,添加GPRS/GSM數(shù)據(jù)傳輸模塊來傳輸數(shù)據(jù)。將無線通信技術和嵌入式系統(tǒng)結合,外加 Internet通信,將數(shù)據(jù)傳輸?shù)奖O(jiān)控中心,監(jiān)控中心將采集到的數(shù)據(jù)進行實時分析、存儲,并在監(jiān)測指標出現(xiàn)異常時報警,做到遠端無人值守。

1 系統(tǒng)設計

  1.1 GPRS/GSM技術

  GPRS作為現(xiàn)有GSM網絡向第三代移動通信演變的過渡技術(2.5G),其具有下列特點。

 ?。?) GPRS作為無線通信技術,已經非常普遍,基本在全國范圍內都能進行GPRS通信,而且它的速度和建設成本以及方便性都非常適合。

 ?。?)傳輸速率高,GPRS數(shù)據(jù)傳輸?shù)乃俣入m然不是非常高,但一般能夠滿足正常的數(shù)據(jù)傳輸要求,一般都有30 kb/s,已經完全能夠滿足本設計需求。

 ?。?)按流量計費,如手機,用了多少流量算多少錢,而且當流量需求量過大時,還可以與移動公司合作,進行包月流量5元30 MB,這樣對于數(shù)據(jù)傳輸量比較大的用戶也能夠滿足他們的需求。

  1.2 系統(tǒng)結構設計

  本文采用GPRS/GSM為數(shù)據(jù)傳輸平臺,系統(tǒng)主要分為監(jiān)控中心、RTU和數(shù)傳模塊三大模塊,如圖1所示[1]。

001.jpg

  (1)遠程測控終端RTU。為環(huán)境惡劣中的數(shù)據(jù)采集裝置,RTU將采集的數(shù)據(jù)通過自己內部定義的協(xié)議打包,通過GPRS/GSM和Internet傳輸?shù)奖O(jiān)控中心。在RTU不止一個的情況下,需給每個RTU設置不同的ID號。

 ?。?)監(jiān)控中心。監(jiān)控中心直接與Internet相連,通常與RTU采用一對一或一對多的應用模式。監(jiān)控中心獲取到從RTU傳來的數(shù)據(jù)后,進行協(xié)議解析,還原用戶數(shù)據(jù),如果傳來的數(shù)據(jù)不在預設的正常區(qū)間內,將產生報警信號,同時監(jiān)控中心對RTU 進行控制。

 ?。?)數(shù)據(jù)傳輸模塊。數(shù)據(jù)傳輸模塊由于要進行數(shù)據(jù)傳輸,需內嵌TCP/IP 協(xié)議,而且要實現(xiàn)與Internet的連接。核心板與GPRS 模塊通過串口進行數(shù)據(jù)交互,使用AT 指令實現(xiàn)對GPRS 模塊的控制[1]。

  1.3 RTU硬件設計


002.jpg

  RTU的硬件結構圖如圖2所示[2],以三星S3C2440為嵌入式處理器核心,外擴SDRAM/Nand Flash模塊用于數(shù)據(jù)存儲,GPRS/GSM模塊用于數(shù)據(jù)傳輸,JTAG為調試接口,RS-232為串口通信接口。

 ?。?)S3C2440處理器。是三星公司開發(fā)的基于ARM920T內核32位RISC微處理器,適用于低成本、低功耗、高性能的設備。

  (2)Nand Flash:Nand Flash芯片為Samsung廠商生產的,數(shù)據(jù)存儲容量為64 MB,采用塊頁式存儲管理。

 ?。?)SDRAM。S3C2440的SDRAM內存應該焊接在Bank6~Bank7上,最大支持內存256 MB。

 ?。?)JTAG調試接口。該接口是在研發(fā)過程中對芯片內部進行的一些調試、編程等操作。

 ?。?)RS-232串行接口。數(shù)據(jù)采集裝置通過串口將采集的數(shù)據(jù)傳輸給核心板,核心板通過串口將數(shù)據(jù)發(fā)送到GPRS/GSM模塊。

  (6)GPRS/GSM模塊。采用內嵌TCP/IP 協(xié)議的數(shù)據(jù)傳輸GPRS/GSM模塊,用于實現(xiàn)終端登錄無線網絡。

  1.4 RTU軟件設計

  對于RTU的軟件設計,從功能上來分,可以分為3個的部分。(1)Linux系統(tǒng)的核心程序的移植,即操作系統(tǒng)移植,它負責系統(tǒng)的工作控制、存儲管理、功能設置、通信等;(2)設備驅動程序,負責操作系統(tǒng)與硬件設備之間的交互;(3)應用程序,它負責對數(shù)據(jù)的操作,如數(shù)據(jù)的采集、現(xiàn)場處理、存儲、打包以及傳輸。

  1.4.1 Linux操作系統(tǒng)的移植[3]

  Linux系統(tǒng)的移植分為Bootloader移植、內核移植和文件系統(tǒng)移植。

 ?。?)Bootloader移植[4]:Bootloader是操作系統(tǒng)運行前執(zhí)行的一段程序。本文系統(tǒng)選用U-Boot 作為硬件板的Bootloader。

  (2)內核移植:核心板采用Linux2.6.8 內核。從官網上下載Linux2.6.8.tar.bz2壓縮包解壓,對其中部分文件進行修改。設置PATH環(huán)境變量,Nand Flash分區(qū),內核通過U-boot燒寫到Nand Flash中。

 ?。?)文件系統(tǒng)移植:本系統(tǒng)采用的是CRAMFS文件系統(tǒng),需要添加自己的相應程序,編譯生成鏡像文件后,將文件燒寫進 Flash中。

  1.4.2 設備驅動

  在Linux操作系統(tǒng)下,用戶看到的只是應用程序,而要實現(xiàn)應用程序和底層硬件的通信,就需要操作系統(tǒng)和驅動程序的幫助。這里主要是處理和編寫網絡設備的驅動。在完成驅動程序開發(fā)后,通過open ( ) 、close ( )、read ( )和write ( ) 等操作來實現(xiàn)對硬件的操作。

  1.4.3 應用程序設計


003.jpg

  應用程序為用戶層程序,通過應用層可以對遠程現(xiàn)場數(shù)據(jù)進行操作,包括數(shù)據(jù)的采集、處理、存儲和發(fā)送等,如圖3所示。在給遠程RTU上電后,需通過應用程序對系統(tǒng)進行一系列的初始化并與網絡建立通信,設置采樣周期,周期采集數(shù)據(jù)。當檢測采集的數(shù)據(jù)達到1 KB時,首先進行GPRS傳輸數(shù)據(jù)。正常情況下,當數(shù)據(jù)傳輸結束時,結束傳輸,進入下一個周期[5]。而當GPRS傳輸數(shù)據(jù)失敗時,系統(tǒng)則自動切換到SMS短消息傳輸數(shù)據(jù),數(shù)據(jù)傳輸結束后,進入下一個傳輸周期。

2 數(shù)據(jù)完整性傳輸

  2.1 采用多線程機制

  RTU的應用程序需要實現(xiàn)的功能主要有:通過撥號來建立GPRS連接,并與服務器連通;在遠處惡劣環(huán)境下對數(shù)據(jù)進行采集,對數(shù)據(jù)分析處理,將處理好的數(shù)據(jù)傳輸給監(jiān)控中心,且在監(jiān)控中心發(fā)出控制命令時作出相應的操作。為了提高程序運行效率,考慮使用多線程編程[6]。給數(shù)據(jù)采集和數(shù)據(jù)處理分別新建一個線程,由于這兩線程對象是同一數(shù)據(jù),需要注意采集和處理線程之間的同步問題。當采集線程數(shù)據(jù)到1 KB時,數(shù)據(jù)處理線程開始工作,本文利用信號量實現(xiàn)。由于GPRS撥號需要一定的時間,如果不新建一個線程,必然會導致主線程阻塞,本文為GPRS撥號連接也新建一個線程,如圖4所示。

004.jpg

  2.2 傳輸協(xié)議的設計[1]

  為了能夠使得數(shù)據(jù)通信的完整性和實時性有更大的提高,需要對傳輸協(xié)議有個很好的制訂。如發(fā)送的數(shù)據(jù)包過大,不能夠使得數(shù)據(jù)在一個通道中傳輸,需要對數(shù)據(jù)進行分割,在不同的通道中進行傳輸,這必然導致傳輸延遲,同時也增加了數(shù)據(jù)完整性傳輸?shù)娘L險,因此,RTU數(shù)據(jù)傳輸協(xié)議的數(shù)據(jù)格式一定要做得非常精簡,才能更好地實現(xiàn)數(shù)據(jù)的傳輸。數(shù)據(jù)傳輸格式如表1所示。

006.jpg

  ID:為RTU的ID號,使得監(jiān)控中心分辨?zhèn)鱽淼臄?shù)據(jù)的地址。

  Data:為經過模數(shù)轉換器轉換得到的數(shù)據(jù)。

  IO:為當前I/O的輸入輸出狀態(tài)。

  校驗位:保證數(shù)據(jù)傳輸過程中的有效性。

  RTU 將按照以上協(xié)議數(shù)據(jù)包格式對采集的數(shù)據(jù)進行打包。利用GPRS傳輸模塊和網絡發(fā)送數(shù)據(jù)包至監(jiān)控中心。監(jiān)控中心按照協(xié)議解析數(shù)據(jù)包,根據(jù)用戶的要求進行顯示。同時監(jiān)控中心還會對數(shù)據(jù)進行分析,發(fā)現(xiàn)數(shù)據(jù)異常,將進行報警,同時監(jiān)控中心根據(jù)用戶需求可以對RTU進行相應的下行控制。

  2.3 GPRS/GSM數(shù)據(jù)傳輸功能試驗

  在實驗室條件下,通過手機給RTU發(fā)送短信的方式來測試RTU數(shù)據(jù)傳輸功能,當把GPRS傳輸模塊的緩沖區(qū)設置得比較小時,而短信的內容又比較多時,將導致RTU上傳數(shù)據(jù)出現(xiàn)錯誤,不能夠完整地傳輸數(shù)據(jù)。通過多次試驗,發(fā)現(xiàn)增加GPRS模塊接收緩沖區(qū)的長度,就可以解決由于短信量過大而導致數(shù)據(jù)溢出、數(shù)據(jù)傳輸不完整的問題。

  另外,通過撥打RTU的SIM 卡號碼,使得語音信道占用數(shù)據(jù)信道,這樣來模擬GPRS網絡擁堵的情況。在語音信道一直占用數(shù)據(jù)信道的情況下,RTU嘗試3次建立GPRS 網絡均不成功,從而轉向GSM的SMS方式來傳輸數(shù)據(jù)。這里就驗證了在GPRS傳輸出現(xiàn)異常的情況下,GSM的SMS可以傳輸數(shù)據(jù),從而使得數(shù)據(jù)在傳輸過程中不容易丟包,且傳輸?shù)膶崟r性得到提高。通過對RTU進行672次測試,GPRS和GSM的SMS傳輸次數(shù)、丟包率及誤碼率,測試結果如表2所示。

007.jpg

  試驗結果表明,采用GPRS/GSM方式能夠實現(xiàn)對數(shù)據(jù)的完整性傳輸。 當GPRS傳輸遇到異常情況時,系統(tǒng)會自動切換到GSM的SMS方式進行傳輸,實驗結果表明,采用混合通信的方式,基本上可以達到丟包率為0。

3 監(jiān)控中心軟件設計

  監(jiān)控中心管理軟件主要完成用戶現(xiàn)場的監(jiān)視性操作及上位機通信功能及數(shù)據(jù)實時收發(fā)、存儲、顯示和統(tǒng)計分析等,如圖5所示。

005.jpg

  系統(tǒng)管理:主要工作是對要實施監(jiān)控的對象,監(jiān)控頻率,和監(jiān)控的時間進行配置。

  通信管理:負責上位機和下位機之間的通信,主要是接收下位機發(fā)送來的數(shù)據(jù),和發(fā)送命令到下位機去執(zhí)行。

  數(shù)據(jù)管理:由于采集的數(shù)據(jù)是一包一包的,需進行解析后存儲。

  統(tǒng)計分析:對數(shù)據(jù)進行分析,檢查數(shù)據(jù)是否有異常狀況。

  實驗結果表明,在網絡擁堵的情況下,采用GPRS/GSM 混合通信可以保證數(shù)據(jù)傳輸?shù)耐暾耘c實時性。采用多線程編程可以提高系統(tǒng)工作的效率;設計一個良好的協(xié)議,可以使得數(shù)據(jù)在傳輸過程中完整性和實時性得到更好的保障;把GPRS和GSM的SMS技術相結合傳輸數(shù)據(jù),使得傳輸?shù)膩G包率基本為0。因此,該系統(tǒng)可以滿足用戶對于現(xiàn)場數(shù)據(jù)采集上傳的完整性、實時性需求。

參考文獻

  [1] 陳琦,丁天懷,李成,等. 基于GPRS/GSM的低功耗無線遠程測控終端設計[J].清華大學學報:自然科學版,2009,49(2):223-225.

  [2] 韓曉冰,韓冰,孫弋. 基于嵌入式系統(tǒng)的GPRS數(shù)據(jù)終端設計與實現(xiàn)[J].儀器儀表學報,2006,27(21):675-677.

  [3] 呂盛林,林子杰,陳立定. 基于ARM9的無線環(huán)境監(jiān)控系統(tǒng)的實現(xiàn)[J].信息技術,2009(12):17-22.

  [4] 韋東山.嵌入式Linux應用開發(fā)完全手冊[M].北京:人民郵電出版社,2012.

  [5] 陳天華,唐海濤. 基于ARM 和GPRS的遠程土壤墑情監(jiān)測預報系統(tǒng)[J].農業(yè)工程學報,2012,28(3):162-166.

  [6] 伊嘉鵬. 無線遠程數(shù)據(jù)采集系統(tǒng)軟件設計與實現(xiàn)[D].大連:大連理工大學,2013.


此內容為AET網站原創(chuàng),未經授權禁止轉載。