帶以太網接口的GSM無線數據傳輸系統(tǒng)設計與實現
摘要:對當前遠程監(jiān)控系統(tǒng)的應用現狀進行了較為全面的介紹,并對現有傳輸系統(tǒng)的特點進行了分析和研究。在此基礎上,提出了適用于遠程監(jiān)控系統(tǒng)的基于GSM的無線數據傳輸系統(tǒng)總體架構以及總體設計方案。文章中詳細介紹了帶有以太網接口的基于GSM的無線數據傳輸系統(tǒng)的硬件電路與軟件的設計與實現方法。該系統(tǒng)可適用于各種遠程監(jiān)測監(jiān)控系統(tǒng),對提高遠程監(jiān)控的數據傳輸效率及降低監(jiān)控系統(tǒng)的運營成本具有十分重要的意義。
關鍵詞:遠程監(jiān)控系統(tǒng);無線數據傳輸;總體方案設計;以太網
隨著計算機控制系統(tǒng)應用的迅速發(fā)展,我們隨處可見各種控制系統(tǒng)在現代化的生產和生活中的廣泛應用,它們都是根據現代化控制理論開發(fā)的先進控制軟件。要保障這些控制系統(tǒng)能夠長時間不間斷地穩(wěn)定運行,就必須對系統(tǒng)工作狀態(tài)進行實時監(jiān)視和控制。而對于遠距離作業(yè)的控制系統(tǒng)來說,也要求必須實現從被控制對象那里獲取所需要的監(jiān)控信息,并在對所獲得的信息進行有效地數據分析和處理之后對被控制系統(tǒng)發(fā)出控制命令。因此,遠距離數據傳輸系統(tǒng)是當前各種遠程監(jiān)控控制系統(tǒng)中倍受重視的主要組成部分之一。
1 綜合監(jiān)控系統(tǒng)總體架構
目前的遠程監(jiān)控系統(tǒng)雖然經濟實用,但是有線數據傳輸方式很大程度上限制了其使用的場合,很難能滿足現在的需求。結合基于工業(yè)以太網和GSM無線網絡的監(jiān)控系統(tǒng)的優(yōu)點,本文提出了一種新的綜合監(jiān)控系統(tǒng)的組成方案,系統(tǒng)結構示意圖如圖1所示。
隨著Internet網絡逐步覆蓋全國和GSM網絡日益成為國內覆蓋范圍最廣、應用最普遍的無線通信網絡,本系統(tǒng)方案在此基礎上,充分將這兩個公用網絡結合,既可以利用GSM網絡向分布在控制現場的各個子結點發(fā)送控制命令,同時接收來自各子結點所采集到的數據;又可以利用以太網接口實現與控制中心的計算機或顯示屏的通信。這樣在達到對異地設備監(jiān)視和控制的同時可以將采集到的數據傳送到控制中心的多臺計算機或設備,從而實現對控制系統(tǒng)和管理系統(tǒng)的聯(lián)接,有效的解決了信息采集、信息分析、信息處理、信息存儲、信息輸出的集成化系統(tǒng)的互聯(lián)問題。
按照綜合監(jiān)控系統(tǒng)結構示意圖,遠程監(jiān)控系統(tǒng)大都由控制中心、監(jiān)測中心結點和遠程監(jiān)測終端3部分組成。
1.1 GSM無線通信控制終端
GSM無線通信終端通用的體系結構如圖2所示,它的位置在系統(tǒng)被測對象的控制現場。它的作用是對測試現場進行數據采集,再由控制中心分析處理后根據SMS協(xié)議來編碼,最后通過GSM網絡發(fā)送到無線通信的中心結點;從結構圖可以看出無線通信終端的組成部分,并由其數據傳遞流程看出控制終端還負責接收無線通信中心結點的指令,由檢測到再控制形成一個閉環(huán)回路。
1.2 GSM無線通信中心結點
GSM無線通信中心結點的通用體系結構如圖3所示。它是整個測控系統(tǒng)的關鍵,它的位置在通信終端和控制中心之間,它是數據和命令傳輸的中轉站,其主要作用是接收來自于通信終端的現場數據,經分析后保存在E2PROM中,同時接收控制中心各主控制計算機的采集數據的命令;并從以太網接口接收主控計算機的指令,傳遞給通信終端,對相應的監(jiān)測設備進行控制。
1.3 控制中心
控制中心的主要體系結構如圖4所示。它在系統(tǒng)的最上面。主控制計算機、顯示設備通過以太網交換機連接在一起組成局域網,對通信中心結點所采集到的數據實現共享。它的作用是負責接收現場采集到的數據,并保存到數據庫中,經過對數據的分析做出相應的決策,并由通信中心結點向通信終端發(fā)送控制指令,同時可以通過大屏幕顯示器輸出,實時顯示被測對象的運行情況。
2 基于GSM的無線數據傳輸系統(tǒng)的方案設計
整個無線數據傳輸系統(tǒng)的核心是微處理器、GSM模塊、以太網模塊,輔以相應的輸入輸出模塊即可完成,模塊清楚、任務調度簡單、數據處理量小、對實時性要求不高,所以本系統(tǒng)選擇了微控制器+控制系統(tǒng)軟件的架構來完成。
2.1 系統(tǒng)硬件結構設計
系統(tǒng)的硬件詳細結構圖如圖5所示。以下將逐一分析各部分的的特點以及選型。
1)處理器
由于普通的8bit微處理器,速度較低,內存少,只能勉強運行一些不復雜的網絡協(xié)議,因此從總體上說不適宜作為系統(tǒng)的微處理器。而ARM7處理器是32 bit處理器,運行頻率為40 MHz,內存8MB,因此能夠充分保證相關網絡協(xié)議的運行以及μC/OSII等嵌入式操作系統(tǒng)的移植,也為以后軟件的升級和維護帶來極大的方便。同時考慮到系統(tǒng)需要大量的存儲器接口和豐富的IO端口(UART/LCD/ISP)資源,在本系統(tǒng)中將選用以ARM7 CPU為控制器,并具有豐富接口的開發(fā)板為實驗系統(tǒng)。
2)GSM無線模塊
嵌入式系統(tǒng)的GSM通信接口一般采用目前在市場上提供的可供二次開發(fā)的標準的GSM模塊。這些通信模塊都具備GSM無線通信的全部功能,并提供標準的UART串行接口,支持GSM 07.05所定義的AT命令集的指令。因此,MCU能非常方便地通過UART接口與GSM模塊連接,并直接使用AT命令就可以方便簡潔地實現短信息的收發(fā)、查尋和管理。
3)以太網通信模塊
由于本系統(tǒng)需要以太網接口,但在傳輸過程中的數據量不大,對數據傳輸的速度要求也不高,所以我們選用通用的10Mbps帶寬的以太網模塊即可。
4)輸入/輸出模塊
本系統(tǒng)主要利用LCD和TSP相結合,為用戶和設備的交互工作提供了良好的顯示和輸入接口。設備參數如下:分辨率:320x240,色彩:256色,畫面尺寸:5.7 inch。
2.2 系統(tǒng)軟件總體設計
整個系統(tǒng)的軟件設計是系統(tǒng)設計的重點,包括GSM無線通信中心結點的程序設計和GSM無線通信終端的程序設計。GSM無線通信中心結點的控制系統(tǒng)軟件可以使用實時操作系統(tǒng)(RTOS)來實現,也可以由用戶自己直接編寫控制程序來完成對各任務的調度。本系統(tǒng)的軟件結構示意圖如圖6所示,主要包括系統(tǒng)的初始化、主程序、數據顯示程序、觸摸屏的輸入、定時信號采集程序、GSM的通信程序、TCP/IP協(xié)議棧程序幾部分。各模塊的功能相對獨立,各模塊間的任務調度與處理全部由系統(tǒng)主程序完成即可。
由于在現有的實時操作系統(tǒng)中,移植好TCP/IP協(xié)議的RTOS基本都需要收費,考慮到系統(tǒng)的成本,實時性需求、協(xié)議棧、軟件對穩(wěn)定性、可靠性、抗千擾等性能的要求,本系統(tǒng)決定不使用實時操作系統(tǒng),采用C語言從系統(tǒng)底層開始直接編寫控制程序就可以很好的達到要求。
2.3 開發(fā)系統(tǒng)的選擇
基于系統(tǒng)的硬件結構設計方案,本系統(tǒng)選用了EmbestARM開發(fā)系統(tǒng),它主要包括Embest IDE集成開發(fā)環(huán)境,Embest JTAG仿真器,Flash編程器,Embest EduKit-Ⅲ開發(fā)板等。開發(fā)系統(tǒng)的模型圖如圖7所示,它為用戶提供了嵌入式系統(tǒng)所需要的整套工具,用戶可以利用該平臺很方便的設計出自己的目標系統(tǒng)。
3 基于GSM的無線數據傳輸系統(tǒng)的軟件設計
3.1 系統(tǒng)主程序
系統(tǒng)的主程序主要負責系統(tǒng)各模塊的控制和任務的調度。主程序流程圖如圖8所示。
3.2 定時模塊
本系統(tǒng)的定時模塊主要根據用戶設置的定時時間定時,當定時時間到系統(tǒng)自動向遠程監(jiān)測結點發(fā)送采集數據的命令。本系統(tǒng)采用S3CA4 B0X處理器內部集成的RTC模塊的秒中斷實現定時功能。程序的設計思想是定義一整形變量(16位)用來記錄秒中斷的次數,這樣最大定時時間可達到18小時,本系統(tǒng)定時時間為每1小時采集1次數據,所以該方法能夠滿足系統(tǒng)的定時需求。當定時時間到達后,系統(tǒng)向各遠程監(jiān)測終端發(fā)送數據采集命令,并等待數據的到來。
3.3 數據存取模塊
系統(tǒng)的數據存取模塊主要完成對E2PROM存儲器的讀取和寫入操作。它負責把從遠程終端結點采集來的數據經分析后按照規(guī)定的格式存入E2PROM中。與此同時,當其它系統(tǒng)需要時,會從E2PROM存儲器中讀出這些數據,并把它傳送給請求的系統(tǒng)或設備。本系統(tǒng)采用的E2PROM存儲器為AT24C64,它是基于IIC總線的外圍器件。IIC總線是Philips推出的一種雙向二線制總線。它只包括一條數據線(SDA)和一條串行時鐘線(SCL),大大節(jié)省了微處理器的IO口線。
3.4 串口部分軟件設計
本系統(tǒng)的GSM無線模塊是通過串行接口與EduKit-Ⅲ開發(fā)板相連,該模塊的軟件設計的工作主要是遵循GSM無線模塊提供的串行通信協(xié)議實現短信息的接收和發(fā)送。GSM無線模塊相關的串行通信協(xié)議標準如下:1位起始位,8位數據位,1位停止位,無校驗位,9 600 bps波特率。
因為系統(tǒng)已經有串口操作的基本函數,本文重點考慮利用中斷方式實現串口的數據接收與發(fā)送所涉及的相關問題,它主要包括串口中斷的初始化和串口數據的接收及處理工作。串口中斷的初始化工作主要包括設置S344B0X微處理器的中斷模式、使能串口中斷、清除串口中斷標志位和設置串口中斷的中斷服務程序。其代碼在這里就不在詳述。串行數據接收部分的程序流程圖如9所示。
程序的設計思想是:當串口接收到來自GSM模塊的數據時,程序首先保護現場,然后判斷FIFO是否為空,若還有數據則存入數據接收緩沖區(qū),并調用數據處理程序即是判斷是不收到"OK OAH ODW”,如果是則將數據有效標志置為1,否則置為0,同時修改指針,否則說明數據已經接收完畢,需要進行錯誤處理并恢復現場后返回。
3.5 液晶顯示(LCD)模塊軟件設計
液晶屏(LCD:Liquid Crystal Display)主要用于顯示文本及圖形信息。本系統(tǒng)主要包括ASCII字符、語言文字字符、圖形圖像的顯示。由于ASCII碼字符和漢字字符所使用的點陣是不同的,所以系統(tǒng)采用了不同的字庫文件,但通過LCD屏幕向用戶顯示提示信息時,難免會同時出現漢字和ASCII字符,比如:“當前溫度:23”。在這種情況下,為了方便程序的處理,需要編寫中英文同時顯示的程序。程序流程圖如圖10所示。程序的設計思想是:首先獲得字符所需要顯示的區(qū)域(左上角坐標,右下角坐標),然后讀取需要顯示的字符串,如果當前字符為ASCII碼字符,則調led_disp_ascii8x16()函數顯示,同時指針移1個字符,x坐標加8;否則,連續(xù)讀取2個字符,調用led_disp_hz16()函數顯示,同時指針移動2個字符,x坐標加16。最后判斷是否需要換行。如此反復循環(huán),直到所有字符顯示結束為止。
3.6 觸摸屏模塊的軟件設計
本系統(tǒng)采用對角線定位方法確定的觸摸屏原點。觸摸屏的控制程序軟件包括觸摸屏中斷的初始化、觸摸屏定位、用戶動作響應等,以下將分別詳細介紹。
1)觸摸屏中斷的初始化觸摸屏中斷的初始化工作主要包括設置S344B0X微處理器的中斷模式、使能觸摸屏所對應的外部中斷、清除外部中斷標志位和設置觸摸屏中斷的中斷服務程序。
2)摸屏定位觸摸屏定位部分的功能是獲得用戶輸入的坐標。它主要包括A/D轉換、坐標計算、坐標存儲等。程序流程圖如圖11所示。
4 結束語
文中針對當前遠程控制系統(tǒng)存在的問題進行分析和研究,給出了帶以太網接口的基于GSM的無線數據傳輸系統(tǒng)的總體設計方案,對該系統(tǒng)涉及的軟硬件技術進行了詳細介紹,在此基礎上完成了系統(tǒng)設計和系統(tǒng)實現。該系統(tǒng)具有技術先進、系統(tǒng)互聯(lián)、遠程監(jiān)控、性價比高、升級容易、擴展性強等有點,對提高遠程監(jiān)控的數據傳輸效率及降低監(jiān)控系統(tǒng)的運營成本具有重要的意義,值得進一步研究與推廣。