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