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