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