引言
電力線通信(Power Line CommunicaTIon)技術(shù)是指在1.6M到30M頻帶范圍內(nèi),將電力線作為通信媒介,傳輸數(shù)據(jù)、語音、視頻信號的一種通信方式。在發(fā)送時,利用GMSK或OFDM調(diào)制技術(shù)先將數(shù)據(jù)調(diào)制成載波信號或擴頻信號,通過耦合器耦合到220V或其他交/直流電力線上,然后在電力線上進行傳輸,在接收端,先經(jīng)過濾波器將調(diào)制信號濾出,再經(jīng)過解調(diào),就可以得到原信號。電力線通信技術(shù)不需要重新布線,直接使用現(xiàn)有的電力網(wǎng)實現(xiàn)對數(shù)據(jù)、語音、視頻等信息的傳遞,具有易維護、易推廣、易使用、低成本等優(yōu)點,顯示出了良好的前景和巨大的市場潛力。
針對電力線通信的特點,提出一種數(shù)據(jù)集中器的設(shè)計方案, 闡述以SH7145開發(fā)板為核心的硬件設(shè)計方案,分析在T-Kernel嵌入式實時操作系統(tǒng)下的軟件實現(xiàn)過程,通過確定任務(wù)優(yōu)先級、合理實現(xiàn)任務(wù)調(diào)度,使其能夠?qū)崿F(xiàn)讀取電力自動抄表系統(tǒng)中各個節(jié)點數(shù)據(jù)的功能。
1 系統(tǒng)原理及結(jié)構(gòu)
在遠程電力自動抄表系統(tǒng)中,PLC技術(shù)根據(jù)命令或設(shè)置自動讀出電表數(shù)據(jù)并自動上傳,提高抄表速率,通常速率在2400bps。電力自動抄表系統(tǒng)一般由主站、集中器、采集器(或模塊)等構(gòu)件組成,可以對用戶終端的用電狀態(tài)進行采集、控制。采集器(或模塊)實現(xiàn)用戶終端電表的脈沖計數(shù),集中器則根據(jù)主站發(fā)出的指令(如抄收、竊電檢測等)循環(huán)查詢采集器(或模塊)的計數(shù)值(或狀態(tài)),主站由PC機構(gòu)成,負責供電所所屬用戶終端用電的管理和監(jiān)控。集中器是整個系統(tǒng)的通信橋梁,它接收主站命令,并按指令要求將用戶端的用電狀態(tài)(如用電量、用電異常等)送到上位機或?qū)τ脩艚K端執(zhí)行控制(如切斷用戶供電等)。
在同一電力傳輸線路中,數(shù)字電表和集中器通過R422/488接口與PLC接入控制器相連接,這樣就可以將整個電網(wǎng)變?yōu)橐粋€數(shù)據(jù)傳輸網(wǎng)絡(luò),集中器就可以收集各個節(jié)點的數(shù)據(jù)。
由于采用電力線作通信信道,不必另外架設(shè)通信電纜,節(jié)省了投資,為實現(xiàn)用戶電能表網(wǎng)絡(luò)化管理,以及“一戶一表,抄表到戶”制度提供了高效、科學的手段。數(shù)據(jù)集中器按照設(shè)定的抄表時間,每天自動采集各用戶電能表的累計電量,并根據(jù)設(shè)定的抄表日自動生成各用戶電能表的累計電量,系統(tǒng)軟硬件采用模塊化、多冗余設(shè)計,這樣既保證了設(shè)備工作的可靠性,又使系統(tǒng)易于擴充和軟件升級。
2 數(shù)據(jù)集中器的硬件設(shè)計
數(shù)據(jù)集中器是以嵌入式微控制器SH7145為核心的軟硬件系統(tǒng)。SH7145是日本瑞薩科技生產(chǎn)的SH系列開發(fā)板中一款。SH7145板無MMI,無DSP核,使用實時地址,屬于低端產(chǎn)品,適用于初學者。SH7145板上有:蜂鳴器,LCD,鍵盤,A/D轉(zhuǎn)換,2個馬達,BIP開關(guān),SH7145芯片,串口插槽,E10A仿真器插口等。
3 系統(tǒng)軟件設(shè)計
3.1 引入T-Kernel嵌入式實時操作系統(tǒng) 隨著應(yīng)用的復(fù)雜化,采用傳統(tǒng)前后臺設(shè)計方法,會顯得過于復(fù)雜,實時性得不到保證,而且容易發(fā)生死鎖。解決這些問題的最好方法就是采用實時操作系統(tǒng)。
T-Kernel是T-Engine的實時核心,它充分利用了在嵌入式設(shè)備領(lǐng)域中擁有眾多業(yè)績的ITRON成果,并引入子系統(tǒng)等功能,是一種實現(xiàn)從小型嵌入式設(shè)備到大型高級系統(tǒng)開發(fā)的大規(guī)?;疧S。它包含了時間管理、任務(wù)間通信同步(信號量、郵箱、事件標志)、擴展同步通信和內(nèi)存池管理等功能;采用T-Kernel實時操作系統(tǒng)可以有效地對任務(wù)進行調(diào)度;對各任務(wù)賦予不同的優(yōu)先級可以保證任務(wù)及時響應(yīng),而且采用實時操作系統(tǒng),降低了程序的復(fù)雜度,方便程序的開發(fā)。
3.2 任務(wù)的劃分及調(diào)度 要完成實時多任務(wù)的各種功能,必須對任務(wù)進行劃分。本程序根據(jù)各個任務(wù)的重要性和實時性,把程序分成六個具有不同優(yōu)先級的任務(wù),包括管理各個任務(wù)的啟動、休眠;接收串口中斷,喚醒UPDATE_TASK任務(wù);用系統(tǒng)時鐘模擬RTC;讀取各個電表的數(shù)據(jù)自;動加入新節(jié)點;接收SHELL指令并執(zhí)行。
通常多任務(wù)操作系統(tǒng)的任務(wù)不同于一般的函數(shù),它是一個無限循環(huán),而且沒有返回值。如果沒有更高優(yōu)先級的任務(wù)進入就緒態(tài),當前任務(wù)是不會放棄對CPU的使用權(quán)。為了實現(xiàn)操作系統(tǒng)的正常運行和有關(guān)事件的同步,必須正確處理任務(wù)間的通信和事件標志的設(shè)置。
4 結(jié)語
T-Kernel實時操作系統(tǒng)在嵌入式硬件平臺的基礎(chǔ)上,用T-Kernel實時操作系統(tǒng)開發(fā)應(yīng)用程序有其獨到之處,用戶可以直接利用系統(tǒng)的接口函數(shù)編寫自己的應(yīng)用程序,不需另行開發(fā),大大方便了用戶編程,縮短了軟件的開發(fā)周期,提高了開發(fā)效率。