基于Web和硬件可重構技術的遠程抄表設計
軟件設計
數(shù)據(jù)通訊協(xié)議
抄表系統(tǒng)中有兩個地方存在通訊協(xié)議的問題,其中一個在數(shù)據(jù)集中器與各個電表之間。目前,國內各廠家生產(chǎn)的電表絕大部分具有國家頒布的“多功能電能表通信規(guī)約”所規(guī)定的抄表協(xié)議,因此只要數(shù)據(jù)集中器中的電表通信模另外一個必須考慮通訊協(xié)議的地方是數(shù)據(jù)集中器和電力抄表中心之間。目前,國家還沒有制定正式的標準,各個廠家采用的協(xié)議也各不相同。這造成了系統(tǒng)之間基本上不存在互操作性和互連性,從而阻礙了行業(yè)的進一步發(fā)展。
本文提出了以標準公開的HTTP協(xié)議作為應用層通訊的基礎,不但能解決系統(tǒng)之間的兼容性問題,而且還將因特網(wǎng)上廣泛使用的Web技術引入到遠程抄表系統(tǒng)中,為其帶來了許多便利。例如,只要能連接到因特網(wǎng),就可以完成抄表工作,擺脫了時間、地點的約束。另外,用戶抄表使用的終端程序是所有計算機平臺上都帶有的Web瀏覽器,這意味著用戶無需花費一分錢額外投資,就可以得到一個圖形用戶界面。在HTTP的底層使用了TCP/IP協(xié)議來保證數(shù)據(jù)在因特網(wǎng)上的可靠傳輸。用戶對電表的操作命令以及相關參數(shù)將被作為HTML表單數(shù)據(jù)以HTTPPOST方法傳送給數(shù)據(jù)集中器上的嵌入式Web服務器,而操作的結果和數(shù)據(jù)則是以HTML表格的形式返回。
數(shù)據(jù)集中器的軟件設計
數(shù)據(jù)集中器在抄表系統(tǒng)中起著關鍵的作用,它一方面要通過因特網(wǎng)與抄表中心進行通信,另一方面要采集來自各個電表的用電數(shù)據(jù)。為了降低開發(fā)難度,提高可維護性,系統(tǒng)使用C語言作為開發(fā)語言,并利用了GNU的開發(fā)工具,包括gcc 、gdb等。另外,將系統(tǒng)功能分解為五個相互協(xié)作的任務,采用uc/os-II作為實時操作系統(tǒng),實現(xiàn)任務調度和任務間通信。這五個任務分別是:
(1)網(wǎng)絡通信接口:負責在因特網(wǎng)上收發(fā)數(shù)據(jù)。本文采用Altera公司提供的專門針對嵌入式系統(tǒng)應用的精簡TCP/IP協(xié)議棧作為底層通信協(xié)議。數(shù)據(jù)發(fā)送功能是通過調用TCP/IP傳輸層服務函數(shù)nr_ pLugs_send ()實現(xiàn)的,而數(shù)據(jù)接收功能則是由一個在創(chuàng)建通信套接字時被注冊的回調函數(shù)實現(xiàn)的。當傳輸層收到一個有效應用層數(shù)據(jù)時,該函數(shù)被調用,應用層數(shù)據(jù)的指針被當作實參傳入,隨后回調函數(shù)把數(shù)據(jù)指針以消息的形式發(fā)送給HTTP引擎。本文引用地址:http://butianyuan.cn/article/192114.htm
(2)HTTP引擎:負責以HTTPPOST協(xié)議接收和發(fā)送數(shù)據(jù),將所析取出的抄表命令和數(shù)據(jù)參數(shù)交給控制模塊;根據(jù)控制模塊傳回的數(shù)據(jù)和從虛擬文件系統(tǒng)中讀取的HTML文件模板,動態(tài)構造一個完整的HTML文件,發(fā)送給請求方。
(3)虛擬文件系統(tǒng):負責在ROM或者外部Flash存儲器上實現(xiàn)一個小型的只讀文件系統(tǒng),用以存放各種靜態(tài)Web頁面和動態(tài)構造Web頁面所需要的頁面模板。它靠維護一個文件索引表來實現(xiàn)文件的讀取,其結構如圖3所示。
圖3 虛擬文件系統(tǒng)索引表
p2p機相關文章:p2p原理
評論