《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ARM9的嵌入式電力監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)
基于ARM9的嵌入式電力監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)
趙麗敏1, 岳 寧2
1. 德州學(xué)院 計算機(jī)系,山東 德州 253023;2. 華北計算機(jī)系統(tǒng)工程研究所, 北京 1000083
摘要: 介紹了一種嵌入式系統(tǒng),該系統(tǒng)以ARM9硬件平臺和Linux操作系統(tǒng)為核心結(jié)合GPRS技術(shù)對現(xiàn)場進(jìn)行監(jiān)控。給出了其具體實現(xiàn)方法,很好地解決了電力監(jiān)控中遇到的實際問題。
關(guān)鍵詞: ARM SCADA GPRS ARM9 電力監(jiān)控
中圖分類號: TP89
文獻(xiàn)標(biāo)識碼: B
Design and realization of SCADA based on embedded ARM9
ZHAO Li Min1, YUE Ning2
1. Computer Department, Dezhou University, Dezhou 253023, China;2. National Computer System Engineering Research Instituted of China, Beijing 100083, China
Abstract: This article introduces a kind of embedded system, which takes the ARM9 hardware platform and the Linux operating system as the core and combined with the GPRS technology to carry on the monitoring to the scene. It also introduces concrete method to realize, and is a good solution to meet the actual problem.
Key words : embedded; SCADA; GPRS

    電力監(jiān)控系統(tǒng)又稱電力SCADA(Supervisory Control And Data Acquisition)系統(tǒng)或遠(yuǎn)動系統(tǒng),是在對供電系統(tǒng)設(shè)備的遠(yuǎn)程狀態(tài)監(jiān)視、數(shù)據(jù)采集和遠(yuǎn)程控制的需求基礎(chǔ)上發(fā)展起來的。用于實現(xiàn)對沿線各變電所內(nèi)主要電氣設(shè)備的遙控、遙信、遙測、遙調(diào)和遙視等功能。它對提高電網(wǎng)運行的可靠性、安全性與經(jīng)濟(jì)效益,減輕調(diào)度員的負(fù)擔(dān),實現(xiàn)電力調(diào)度自動化與現(xiàn)代化,提高調(diào)度的效率和水平等方面有著不可替代的作用。電力系統(tǒng)的特點是站點比較分散,而站點的正常運行又十分重要,一旦站點出現(xiàn)任何異常情況,監(jiān)控系統(tǒng)需要把實時數(shù)據(jù)(溫度、風(fēng)力、震動、電壓等)傳送到調(diào)度員手中,以便及時采取應(yīng)對措施。傳統(tǒng)的人工監(jiān)控現(xiàn)場不僅浪費大量的人力物力,而且效率十分低下[1]。ARM微處理器是一種高性能、低功耗的32位微處理器,廣泛應(yīng)用于嵌入式系統(tǒng)。ARM9代表了ARM公司主流的處理器,在數(shù)字消費品、成像設(shè)備、工業(yè)控制、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備等方面應(yīng)用廣泛。本文設(shè)計了一種新型的嵌入式系統(tǒng),該系統(tǒng)以Linux操作系統(tǒng)和ARM9硬件平臺為核心實現(xiàn)了現(xiàn)場的實時監(jiān)控,并通過GPRS模塊及時地把數(shù)據(jù)傳送到監(jiān)控中心,監(jiān)控中心對數(shù)據(jù)進(jìn)行儲存處理。同時,監(jiān)控中心一旦接收到新的數(shù)據(jù),馬上以短消息形式發(fā)送到手機(jī)(MT)上,而手機(jī)也可以向監(jiān)控中心發(fā)送查詢請求,監(jiān)控中心通過認(rèn)證其權(quán)限大小向其發(fā)送數(shù)據(jù)。
1 系統(tǒng)組成及原理
1.1 數(shù)據(jù)采集端

      如圖1所示,整個系統(tǒng)由現(xiàn)場監(jiān)控終端、GSM網(wǎng)絡(luò)、數(shù)據(jù)交換中心,監(jiān)控中心、移動接收終端五部分組成。

  一般情況下,由本地監(jiān)測系統(tǒng)采用SM業(yè)務(wù)發(fā)送變電所的工況數(shù)據(jù)。當(dāng)變電所出現(xiàn)故障時,變電所本地監(jiān)測系統(tǒng)主動呼叫遠(yuǎn)程監(jiān)測計算機(jī)并建立數(shù)據(jù)連接,發(fā)送報警信息;根據(jù)實際生產(chǎn)中的需要,生產(chǎn)管理人員可以決定何時建立GSM數(shù)據(jù)電路連接,進(jìn)行實時監(jiān)測。
  本系統(tǒng)的發(fā)送端如圖2所示。其中,控制單元的芯片選用S3C2410嵌入式處理器,該處理器是Samsung公司基于ARM公司的ARM920T處理器核、采用0.18 μm制造工藝的32位微控制器。該處理器基本特性:獨立的16 KB指令Cache和16 KB數(shù)據(jù)Cache、MMU、支持TFT的LCD控制器、NAND閃存控制器、3路UART、4路DMA、4路帶PWM的Timer、I/O口、RTC、8路10位ADC、Touch Screen接口、I2C-BUS 接口、I2S-BUS接口、2個USB主機(jī)、1個USB設(shè)備、SD主機(jī)、MMC接口及2路SPI。S3C2410處理器最高可運行在203 MHz頻率下。

  GPRS模塊采用SIMCOM公司出品的工業(yè)級模塊SIM300C,該模塊支持GPRS與內(nèi)嵌TCP協(xié)議。它是一個完整的手機(jī)模塊,屬于移動設(shè)備端,負(fù)責(zé)與GSM、GPRS 網(wǎng)絡(luò)進(jìn)行信令交換。通過串口可以實現(xiàn)對它的控制并進(jìn)行數(shù)據(jù)傳輸,包括短信息和GPRS等。該模塊需要一張開通GPRS 業(yè)務(wù)的SIM卡與其配套使用。
1.2 服務(wù)器端
    鑒于電力系統(tǒng)的特殊性,其監(jiān)控中心不允許直接接入Internet,所以需要一個數(shù)據(jù)交換中心來進(jìn)行數(shù)據(jù)處理轉(zhuǎn)發(fā)。信息采集點的控制器定時或根據(jù)監(jiān)控中心的指令把數(shù)據(jù)由GSM/GPRS模塊經(jīng)過GSM網(wǎng)絡(luò)傳送到監(jiān)控中心,監(jiān)控中心對數(shù)據(jù)進(jìn)行儲存處理。
1.3 數(shù)據(jù)發(fā)布端
    監(jiān)控中心一旦接收到新的數(shù)據(jù),馬上通過短消息形式發(fā)送到值班人員手機(jī)(MT)上。而值班人員也可通過手機(jī)向監(jiān)控中心發(fā)出查詢請求,監(jiān)控中心通過認(rèn)證其權(quán)限大小向其發(fā)送數(shù)據(jù)。如圖3所示。

2 操作系統(tǒng)定制
  設(shè)計中嵌入式操作系統(tǒng)選用Linux。Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),它充分利用了X86 CPU的任務(wù)切換機(jī)制,實現(xiàn)了真正多任務(wù)、多用戶環(huán)境,允許多個用戶同時執(zhí)行不同的程序,并且可以給緊急任務(wù)以較高的優(yōu)先級,特別適用于嵌入式系統(tǒng)。應(yīng)用程序開發(fā)工具則采用ADS1.2(ARM Developer Suite)[2]。
2.1構(gòu)建交叉編譯環(huán)境
  由于嵌入式硬件上無法安裝所需要的編譯器,所以只能借助于PC機(jī),而PC機(jī)和嵌入式硬件基于兩種不同的處理器類型,因此需要在PC機(jī)上生成能夠在ARM上運行的軟件,這就要求構(gòu)建交叉編譯環(huán)境。本設(shè)計選用開源Crosstool來構(gòu)建交叉編譯工具鏈[2]。
2.2 移植Bootloader
    Bootloader類似于PC機(jī)上的Bios,是系統(tǒng)啟動時運行的第一個程序,主要作用就是在操作系統(tǒng)內(nèi)核運行之前,初始化硬件設(shè)備,屏蔽中斷,設(shè)置啟動參數(shù)等,為操作系統(tǒng)創(chuàng)造一個良好的環(huán)境,然后加載操作系統(tǒng)。本設(shè)計同樣使用開源項目U-boot。
2.3 內(nèi)核移植
    盡管最新的Linux內(nèi)核已經(jīng)增加了對S3C2410 CPU的支持,但是仍然需要根據(jù)實際需要對內(nèi)核做一些修改,并且重新配置、編譯生成新的內(nèi)核映像。
2.4 定制根文件系統(tǒng)
    根文件系統(tǒng)是指Linux系統(tǒng)啟動時所使用的第一個文件系統(tǒng),在啟動內(nèi)核時需要掛載根文件系統(tǒng)來支持外部設(shè)備,以及裝載和運行內(nèi)核模塊與應(yīng)用程序。通常,定制根文件系統(tǒng)需要以下步驟:創(chuàng)建空的目錄樹、移植BusyBox、選擇必要的動態(tài)共享庫、初始化腳本等。
3 軟件設(shè)計
3.1 信息采集點與監(jiān)控中心的通信

    GPRS模塊的控制通過AT指令完成,而模塊與監(jiān)控中心的通信則由WinSock完成。當(dāng)信息采集點傳送數(shù)據(jù)時,GPRS模塊會根據(jù)預(yù)先設(shè)定在其內(nèi)部的IP地址來主動訪問監(jiān)控中心服務(wù)器,通過防火墻和監(jiān)控中心建立TCP/IP鏈路[3]。同時,監(jiān)控中心維護(hù)接入的每個信息采集點的IP地址和序號,并且根據(jù)需要定時向某個信息采集點發(fā)出數(shù)據(jù)請求,信息采集點接收到請求后作出響應(yīng),完成通信過程[4]。具體協(xié)議棧如表1所示。

3.2 監(jiān)控中心軟件結(jié)構(gòu)
    監(jiān)控中心軟件結(jié)構(gòu)共分為3層:操作系統(tǒng)和系統(tǒng)軟件層、系統(tǒng)軟件支持層和基礎(chǔ)應(yīng)用層。
    (1) 操作系統(tǒng)和系統(tǒng)軟件層
  操作系統(tǒng)為使用者屏蔽了底層硬件的具體細(xì)節(jié),程序員可以利用底層硬件提供的函數(shù)開發(fā)包來為上層軟件服務(wù)。
    (2) 系統(tǒng)支持軟件層
    系統(tǒng)支持軟件層包括數(shù)據(jù)庫系統(tǒng)、電力系統(tǒng)模型、數(shù)據(jù)采集和傳輸?shù)?其主要功能是實現(xiàn)數(shù)據(jù)存儲和轉(zhuǎn)發(fā),并為上層軟件服務(wù)。
    (3) 基礎(chǔ)應(yīng)用層
    基礎(chǔ)應(yīng)用層的主要功能是將采集到的數(shù)據(jù)進(jìn)行處理、對調(diào)度人員進(jìn)行管理并通過GUI界面顯示出來[5]。
  監(jiān)控中心如圖4所示。

3.3 管理中心與調(diào)度員的通信
    在數(shù)據(jù)發(fā)布端,無線模塊通過RS232與上位機(jī)進(jìn)行通信,采用串口異步通信,波特率為9 600 Kb/s。串口程序使用的是MOXA公司的Pcomm串口通信庫,Pcomm提供了簡單方便的串口操作函數(shù),常用的函數(shù)有:
  int  WINAPI sio_ioctl(int port, int baud, int mode);
                      //設(shè)置串口參數(shù),包括波特率、數(shù)據(jù)位、停止位等
  int  WINAPI sio_read(int port, char *buf, int len);
                      //從輸入緩沖區(qū)讀指定個數(shù)的字符
  int  WINAPI sio_write(int port, char *buf, int len);
                      //寫指定個數(shù)的字符到輸出緩沖區(qū)
  int  WINAPI sio_cnt_irq(int port, VOID (CALLBACK *func)(int port), int count);
                     //中斷函數(shù),當(dāng)接收到指定個數(shù)字符時響應(yīng)事件
    本系統(tǒng)基于S3C2410平臺和Linux操作系統(tǒng),通過SIM300C經(jīng)GPRS網(wǎng)絡(luò)與遠(yuǎn)程監(jiān)控中心進(jìn)行信息交互,傳輸距離遠(yuǎn)、可靠性高、實時性強(qiáng),并且價格低廉,具有很高的實用價值。
參考文獻(xiàn)
[1]   汪明虎,歐文盛. ARM嵌入式Linux應(yīng)用開發(fā)入門(第1版)[M].北京:中國電力出版社,2008.
[2]   全茜,鄭雪峰.基于GPRS的電力線路監(jiān)控系統(tǒng)[J].計算機(jī)工程與設(shè)計, 2005,26(11):3053-3055.
[3]   文志成.GPRS網(wǎng)絡(luò)技術(shù)[M].北京:電子工業(yè)出版社,2005.
[4]   ANDREW  S T. 計算機(jī)網(wǎng)絡(luò)(第4版)[M].北京:清華大學(xué)出版社, 2004.
[5]   BLANCHETTE J, SUMMERFIELD M著. C++ GUI Qt4 編程(第2版).閆鋒欣,譯.北京:電子工業(yè)出版社.2008.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。