《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM9的嵌入式電力監(jiān)控系統(tǒng)的設計與實現
基于ARM9的嵌入式電力監(jiān)控系統(tǒng)的設計與實現
趙麗敏1, 岳 寧2
1. 德州學院 計算機系,山東 德州 253023;2. 華北計算機系統(tǒng)工程研究所, 北京 1000083
摘要: 介紹了一種嵌入式系統(tǒng),該系統(tǒng)以ARM9硬件平臺和Linux操作系統(tǒng)為核心結合GPRS技術對現場進行監(jiān)控。給出了其具體實現方法,很好地解決了電力監(jiān)控中遇到的實際問題。
中圖分類號: TP89
文獻標識碼: 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)或遠動系統(tǒng),是在對供電系統(tǒng)設備的遠程狀態(tài)監(jiān)視、數據采集和遠程控制的需求基礎上發(fā)展起來的。用于實現對沿線各變電所內主要電氣設備的遙控、遙信、遙測、遙調和遙視等功能。它對提高電網運行的可靠性、安全性與經濟效益,減輕調度員的負擔,實現電力調度自動化與現代化,提高調度的效率和水平等方面有著不可替代的作用。電力系統(tǒng)的特點是站點比較分散,而站點的正常運行又十分重要,一旦站點出現任何異常情況,監(jiān)控系統(tǒng)需要把實時數據(溫度、風力、震動、電壓等)傳送到調度員手中,以便及時采取應對措施。傳統(tǒng)的人工監(jiān)控現場不僅浪費大量的人力物力,而且效率十分低下[1]。ARM微處理器是一種高性能、低功耗的32位微處理器,廣泛應用于嵌入式系統(tǒng)。ARM9代表了ARM公司主流的處理器,在數字消費品、成像設備、工業(yè)控制、存儲設備和網絡設備等方面應用廣泛。本文設計了一種新型的嵌入式系統(tǒng),該系統(tǒng)以Linux操作系統(tǒng)和ARM9硬件平臺為核心實現了現場的實時監(jiān)控,并通過GPRS模塊及時地把數據傳送到監(jiān)控中心,監(jiān)控中心對數據進行儲存處理。同時,監(jiān)控中心一旦接收到新的數據,馬上以短消息形式發(fā)送到手機(MT)上,而手機也可以向監(jiān)控中心發(fā)送查詢請求,監(jiān)控中心通過認證其權限大小向其發(fā)送數據。
1 系統(tǒng)組成及原理
1.1 數據采集端

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

  一般情況下,由本地監(jiān)測系統(tǒng)采用SM業(yè)務發(fā)送變電所的工況數據。當變電所出現故障時,變電所本地監(jiān)測系統(tǒng)主動呼叫遠程監(jiān)測計算機并建立數據連接,發(fā)送報警信息;根據實際生產中的需要,生產管理人員可以決定何時建立GSM數據電路連接,進行實時監(jiān)測。
  本系統(tǒng)的發(fā)送端如圖2所示。其中,控制單元的芯片選用S3C2410嵌入式處理器,該處理器是Samsung公司基于ARM公司的ARM920T處理器核、采用0.18 μm制造工藝的32位微控制器。該處理器基本特性:獨立的16 KB指令Cache和16 KB數據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主機、1個USB設備、SD主機、MMC接口及2路SPI。S3C2410處理器最高可運行在203 MHz頻率下。

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

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

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

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

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

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