基于ARM9的嵌入式電力監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2.3 內(nèi)核移植
盡管最新的Linux內(nèi)核已經(jīng)增加了對(duì)S3C2410 CPU的支持,但是仍然需要根據(jù)實(shí)際需要對(duì)內(nèi)核做一些修改,并且重新配置、編譯生成新的內(nèi)核映像。
2.4 定制根文件系統(tǒng)
根文件系統(tǒng)是指Linux系統(tǒng)啟動(dòng)時(shí)所使用的第一個(gè)文件系統(tǒng),在啟動(dòng)內(nèi)核時(shí)需要掛載根文件系統(tǒng)來(lái)支持外部設(shè)備,以及裝載和運(yùn)行內(nèi)核模塊與應(yīng)用程序。通常,定制根文件系統(tǒng)需要以下步驟:創(chuàng)建空的目錄樹(shù)、移植BusyBox、選擇必要的動(dòng)態(tài)共享庫(kù)、初始化腳本等。
3 軟件設(shè)計(jì)
3.1 信息采集點(diǎn)與監(jiān)控中心的通信
GPRS模塊的控制通過(guò)AT指令完成,而模塊與監(jiān)控中心的通信則由WinSock完成。當(dāng)信息采集點(diǎn)傳送數(shù)據(jù)時(shí),GPRS模塊會(huì)根據(jù)預(yù)先設(shè)定在其內(nèi)部的IP地址來(lái)主動(dòng)訪問(wèn)監(jiān)控中心服務(wù)器,通過(guò)防火墻和監(jiān)控中心建立TCP/IP鏈路[3]。同時(shí),監(jiān)控中心維護(hù)接入的每個(gè)信息采集點(diǎn)的IP地址和序號(hào),并且根據(jù)需要定時(shí)向某個(gè)信息采集點(diǎn)發(fā)出數(shù)據(jù)請(qǐng)求,信息采集點(diǎn)接收到請(qǐng)求后作出響應(yīng),完成通信過(guò)程[4]。具體協(xié)議棧如表1所示。本文引用地址:http://www.ex-cimer.com/article/151819.htm
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ù)開(kāi)發(fā)包來(lái)為上層軟件服務(wù)。
(2) 系統(tǒng)支持軟件層
系統(tǒng)支持軟件層包括數(shù)據(jù)庫(kù)系統(tǒng)、電力系統(tǒng)模型、數(shù)據(jù)采集和傳輸?shù)?其主要功能是實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和轉(zhuǎn)發(fā),并為上層軟件服務(wù)。
(3) 基礎(chǔ)應(yīng)用層
基礎(chǔ)應(yīng)用層的主要功能是將采集到的數(shù)據(jù)進(jìn)行處理、對(duì)調(diào)度人員進(jìn)行管理并通過(guò)GUI界面顯示出來(lái)[5]。
監(jiān)控中心如圖4所示。
3.3 管理中心與調(diào)度員的通信
在數(shù)據(jù)發(fā)布端,無(wú)線模塊通過(guò)RS232與上位機(jī)進(jìn)行通信,采用串口異步通信,波特率為9 600 Kb/s。串口程序使用的是MOXA公司的Pcomm串口通信庫(kù),Pcomm提供了簡(jiǎn)單方便的串口操作函數(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ū)讀指定個(gè)數(shù)的字符
int WINAPI sio_write(int port, char *buf, int len);
//寫(xiě)指定個(gè)數(shù)的字符到輸出緩沖區(qū)
int WINAPI sio_cnt_irq(int port, VOID (CALLBACK *func)(int port), int count);
//中斷函數(shù),當(dāng)接收到指定個(gè)數(shù)字符時(shí)響應(yīng)事件
本系統(tǒng)基于S3C2410平臺(tái)和Linux操作系統(tǒng),通過(guò)SIM300C經(jīng)GPRS網(wǎng)絡(luò)與遠(yuǎn)程監(jiān)控中心進(jìn)行信息交互,傳輸距離遠(yuǎn)、可靠性高、實(shí)時(shí)性強(qiáng),并且價(jià)格低廉,具有很高的實(shí)用價(jià)值。
參考文獻(xiàn)
[1] 汪明虎,歐文盛. ARM嵌入式Linux應(yīng)用開(kāi)發(fā)入門(mén)(第1版)[M].北京:中國(guó)電力出版社,2008.
[2] 全茜,鄭雪峰.基于GPRS的電力線路監(jiān)控系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì), 2005,26(11):3053-3055.
[3] 文志成.GPRS網(wǎng)絡(luò)技術(shù)[M].北京:電子工業(yè)出版社,2005.
[4] ANDREW S T. 計(jì)算機(jī)網(wǎng)絡(luò)(第4版)[M].北京:清華大學(xué)出版社, 2004.
[5] BLANCHETTE J, SUMMERFIELD M著. C++ GUI Qt4 編程(第2版).閆鋒欣,譯.北京:電子工業(yè)出版社.2008.
評(píng)論