錢 峰,王卓欣
(1.國網(wǎng)上海市電力公司,上海 200135;2.國網(wǎng)上海浦東供電公司,上海 200122)
智能電管家以智能電表運(yùn)用為核心,依托互聯(lián)網(wǎng),使移動(dòng)用電管理系統(tǒng)實(shí)現(xiàn)了用戶購電、用電以及管理一體化。在當(dāng)前電力市場(chǎng)體質(zhì)改革的形勢(shì)下,智能電管家顯然是時(shí)代發(fā)展的必然產(chǎn)物,對(duì)電力企業(yè)來說,需要尋找改變電費(fèi)資金管理模式的途徑。計(jì)算機(jī)網(wǎng)絡(luò)與通信事業(yè)的快速發(fā)展,大大豐富了人們?nèi)粘W(xué)習(xí)與生活的信息交流[1]。將網(wǎng)絡(luò)視為一種“購、用、管”為一體的用電管理系統(tǒng),查看實(shí)時(shí)電費(fèi)使用情況,隨時(shí)明確自身用電狀況,查詢電費(fèi)余額、在線繳費(fèi),合理安排用電。但當(dāng)前網(wǎng)絡(luò)可用頻段資源匱乏,無法滿足現(xiàn)實(shí)應(yīng)用需求,為進(jìn)一步完善用戶使用體驗(yàn),本文著重研究智能電管家數(shù)據(jù)快速穩(wěn)定傳輸[2]。針對(duì)數(shù)據(jù)傳輸問題,相關(guān)領(lǐng)域?qū)W者進(jìn)行了下述研究。
文獻(xiàn)[3]提出一種基于超空泡混沌預(yù)測(cè)機(jī)制的移動(dòng)傳感器高速傳輸算法,文獻(xiàn)[4]提出一種基于分片重傳鏈路感知機(jī)制的移動(dòng)WSN網(wǎng)絡(luò)數(shù)據(jù)傳輸算法,但這些方法沒有考慮數(shù)據(jù)傳輸時(shí)可能存在的傳輸偏差問題,極易造成潛在傳輸隱患。而選擇性忽略障礙傳輸信號(hào),擁有優(yōu)秀的抗干擾性能,有助于緩解頻譜資源緊缺狀況。因此,本文提出一種基于非正交頻分復(fù)用的智能電管家數(shù)據(jù)傳輸系統(tǒng),采用外圍設(shè)備互連接口作為系統(tǒng)協(xié)議,在軟件設(shè)計(jì)中,使用非正交頻分復(fù)用技術(shù)增強(qiáng)系統(tǒng)頻率利用率,采用橢圓曲線密碼學(xué)與高級(jí)加密標(biāo)準(zhǔn)對(duì)目標(biāo)數(shù)據(jù)傳輸加密,利用發(fā)送引擎、DDR3控制器等板塊組成系統(tǒng)硬件,完成系統(tǒng)構(gòu)建。與傳統(tǒng)方法相比,本文系統(tǒng)擁有極強(qiáng)的實(shí)用性,能快速實(shí)現(xiàn)智能電管家數(shù)據(jù)的交互與應(yīng)用,給用戶提供可靠電力信息服務(wù)。
構(gòu)建切實(shí)可行的智能電管家數(shù)據(jù)傳輸系統(tǒng)。和網(wǎng)絡(luò)分層協(xié)議相似,PCIE協(xié)議規(guī)范也表現(xiàn)出分層結(jié)構(gòu),包括事務(wù)層、數(shù)據(jù)鏈路層以及應(yīng)用程序數(shù)據(jù)。在事務(wù)層構(gòu)成事務(wù)層包,在事務(wù)層包內(nèi)增添某些信息用來檢測(cè)數(shù)據(jù)傳輸情況,再傳輸至下一個(gè)層次,接收部分為上面過程的逆向操作[5]。
本研究所建立的方案具體為:通過PCIE內(nèi)部結(jié)構(gòu)的程序控制數(shù)據(jù)流的方向,來劃分系統(tǒng)的讀操作預(yù)計(jì)寫操作,包含PCIE IP核的有關(guān)設(shè)置,接收引擎、DDR3控制器等,各子板塊都能完成板塊的獨(dú)立優(yōu)化,確保系統(tǒng)運(yùn)行的穩(wěn)定性。智能電管家數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 智能電管家數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu)
數(shù)據(jù)傳輸系統(tǒng)驅(qū)動(dòng)程序采用WinDriver軟件,該軟件可有效化簡硬件驅(qū)動(dòng)程序研發(fā)工作量,具備較強(qiáng)的平臺(tái)適用性。運(yùn)用WinDriver軟件研發(fā)系統(tǒng)驅(qū)動(dòng)程序,無需操作系統(tǒng)內(nèi)核,驅(qū)動(dòng)程序全部函數(shù)均工作于用戶端形態(tài)下,經(jīng)過文件交互完成驅(qū)動(dòng)硬件目標(biāo)[6-7]。
系統(tǒng)的開發(fā)語言為C語言[8],上位機(jī)系統(tǒng)是Windows 10,接口通信協(xié)議為PCIE,在驅(qū)動(dòng)程序頁面操控上位機(jī)與現(xiàn)場(chǎng)可編程邏輯門陣列(field programmable gate array,F(xiàn)PGA)間的數(shù)據(jù),并在有限帶寬內(nèi)傳輸更多的數(shù)據(jù)。
通信系統(tǒng)中,正交頻分復(fù)用技術(shù)具有廣泛的使用范圍,但該技術(shù)在初始階段并沒有受到人們的關(guān)注,技術(shù)的調(diào)制與解調(diào)結(jié)構(gòu)十分復(fù)雜,約束了發(fā)展勢(shì)頭。后期人們利用離散傅里葉變換及逆變換策略,處理多個(gè)互相正交子載波與混合正交子載波內(nèi)數(shù)據(jù)丟失問題,修復(fù)原有信號(hào),解決了多載波傳輸與接收偏差,減少系統(tǒng)復(fù)雜程度。
非正交頻分復(fù)用把數(shù)據(jù)流變換成多個(gè)并行低速子數(shù)據(jù)流,融合若干非正交信號(hào)后,在信道內(nèi)完成傳輸任務(wù)[9]。非正交信號(hào)每個(gè)子載波間的非正交特征,致使接收端位置的多路非正交信號(hào)產(chǎn)生干擾,對(duì)此,可利用相關(guān)計(jì)算實(shí)現(xiàn)信號(hào)間的無干擾分離,增強(qiáng)數(shù)據(jù)傳輸可靠性。
非正交頻分復(fù)用基帶發(fā)送機(jī)整體結(jié)構(gòu)如圖2所示。組成低速并行子數(shù)據(jù)流T循環(huán)周期,即d0,d1,…,dK-1,最終對(duì)調(diào)制后的多個(gè)非正交信號(hào)合并輸出。
為化簡智能電管家數(shù)據(jù)傳輸系統(tǒng)復(fù)雜度,設(shè)置非正交子載波運(yùn)算的約束條件,將第k個(gè)非正交子載波的頻率解析式描述為
fk=kΔf
(1)
k為傳輸系統(tǒng)的自適應(yīng)節(jié)點(diǎn);Δf為非正交子載波間隔,且Δf≠1/T;T為傳輸系統(tǒng)的特征分量。
倘若滿足Δf≠1/T的條件,每個(gè)子載波均呈現(xiàn)正交狀態(tài),這時(shí)剔除干擾后的非正交頻分復(fù)用基帶發(fā)送機(jī)的輸出信號(hào)為
(2)
dk為傳輸系統(tǒng)的特征集;j為傳輸節(jié)點(diǎn)的優(yōu)化值;π為傳輸系統(tǒng)的分布因子。非正交頻分復(fù)用基帶發(fā)送機(jī)結(jié)構(gòu)如圖2所示。
圖2 非正交頻分復(fù)用基帶發(fā)送機(jī)結(jié)構(gòu)
優(yōu)化系統(tǒng)傳輸效率的同時(shí),也要注重系統(tǒng)數(shù)據(jù)傳輸安全,融合橢圓曲線密碼學(xué)與高級(jí)加密標(biāo)準(zhǔn)來實(shí)現(xiàn)智能電管家數(shù)據(jù)安全傳輸。以數(shù)據(jù)篡改攻擊為例,智能電管家數(shù)據(jù)被篡改的模式很多,被篡改后的數(shù)據(jù)會(huì)在某個(gè)傳輸節(jié)點(diǎn)中代入正常數(shù)據(jù)[10],要通過預(yù)處理操作降低數(shù)據(jù)傳輸偏差。
如果系統(tǒng)內(nèi)的傳輸數(shù)據(jù)集合是G=(GH,GT,Gf,Gt),GH為傳輸集合內(nèi)的頭部信息;GT為尾部信息;Gf為數(shù)據(jù)集內(nèi)的函數(shù)集;Gt為數(shù)據(jù)集內(nèi)的分類數(shù)據(jù)的屬性集合。GH通過Gf和Gt任意搭配構(gòu)成,GT通過屬性集合Gt構(gòu)成。GH集合長度是N,也就是N為函數(shù)集Gf內(nèi)可操作的最高操作符個(gè)數(shù),尾部信息GT的長度通過頭部信息集合長度來獲取,運(yùn)算過程為
GT=GH(N-1)+1
(3)
GH為數(shù)據(jù)流的融合參數(shù);N為特征序列。明確數(shù)據(jù)集內(nèi)不同的參變量后,對(duì)集合內(nèi)的信息通過先后次序采取編碼[11-12]。編碼一層信息后,利用適應(yīng)度值操控編碼方向。適應(yīng)度函數(shù)解析式為
(4)
fi為適應(yīng)度值;M為下一遍歷編碼的范圍;C(i,j)為信息i相對(duì)于適應(yīng)度樣本j的值;Tj為樣本j的預(yù)期值;n為適應(yīng)度樣本量。
根據(jù)選擇的方向編碼數(shù)據(jù)集內(nèi)的信息,把編碼后的信息構(gòu)成全新數(shù)據(jù)集,也就是系統(tǒng)數(shù)據(jù)需要傳輸?shù)募狭縂′,利用橢圓曲線密碼學(xué)與高級(jí)加密標(biāo)準(zhǔn)2種策略的混合算法加密集合G′,完成傳輸狀態(tài)下的數(shù)據(jù)安全加密。
數(shù)據(jù)篡改攻擊主要面向感知數(shù)據(jù),可直接使數(shù)據(jù)內(nèi)包含信息失效,攻擊過程迅速[13]。在智能電管家數(shù)據(jù)傳輸中引入混合算法,并采用并行工作模式加快數(shù)據(jù)加密處理效率。
加密前,把待加密數(shù)據(jù)集G′劃分成若干組,依次為P1,P2,…,PN,利用混合算法加密后的相對(duì)數(shù)據(jù)分組為C1,C2,…,CN。
線性混合操作數(shù)據(jù)加密時(shí),字節(jié)換位計(jì)算為
b=c-a(CN+1)
(5)
a為明文內(nèi)的多項(xiàng)式;c為線性轉(zhuǎn)變內(nèi)的固定多項(xiàng)式;CN為列元素。
依照式(5)獲得的變換矩陣為
(6)
bN為數(shù)據(jù)負(fù)載值;aN為分部維數(shù)。使用式(6)的矩陣關(guān)聯(lián),把明文內(nèi)容進(jìn)行矩陣變換,解密時(shí)采取逆向換算即可。矩陣變換后,列混淆計(jì)算明文,詳細(xì)流程為:01等為二進(jìn)制編碼,設(shè)置矩陣內(nèi)某個(gè)智能電管家數(shù)據(jù)是x,計(jì)算x×01,獲得的結(jié)果是x本身;計(jì)算x×02,x的二進(jìn)制往左移動(dòng)1個(gè)單位,右側(cè)補(bǔ)0;計(jì)算x×03,結(jié)果為x×02+x;重復(fù)上述步驟完成列混淆運(yùn)算,直至獲得x×x的結(jié)果。
接收端利用加密的反向操作和相應(yīng)的認(rèn)證簽名,實(shí)現(xiàn)密文的解密,確保智能電管家傳輸系統(tǒng)的數(shù)據(jù)安全。
根據(jù)數(shù)據(jù)的來源分析以及相關(guān)數(shù)據(jù)采集方式的準(zhǔn)確性,來設(shè)計(jì)數(shù)據(jù)的整體采集技術(shù)路線。在該系統(tǒng)中,通過設(shè)備采集,得到數(shù)據(jù)類型選擇其對(duì)應(yīng)的大體數(shù)據(jù)傳輸方式。數(shù)據(jù)傳輸技術(shù)路線如圖3所示。
圖3 數(shù)據(jù)傳輸技術(shù)路線
系統(tǒng)采用DMA通道分時(shí)復(fù)用方式解決了這一矛盾,分時(shí)復(fù)用能夠解決共享資源的分配問題,為使資源得到最大程度的利用與公平,虛擬傳輸通道的構(gòu)建與切斷,都需要重新計(jì)算和分配現(xiàn)有的傳輸信道。用于接收或者發(fā)送數(shù)據(jù)各個(gè)通道的緩沖區(qū)大小計(jì)算公式為128×4/channel_total×1/2,其中channel_total占通道總數(shù)。此板塊為DMA的核心控制器,用于操控并儲(chǔ)存DMA運(yùn)行過程中的各類數(shù)據(jù)。實(shí)施DMA讀寫操作時(shí),利用驅(qū)動(dòng)程序往寄存器錄入或獲取對(duì)應(yīng)的參變量,F(xiàn)PGA按照此類參變量開啟DMA讀寫操作,完成驅(qū)動(dòng)程序?qū)MA的信息傳輸控制。
此板塊的關(guān)鍵功能是產(chǎn)生對(duì)應(yīng)的傳輸線脈沖發(fā)生器,劃分成如下2種情況:
a.生成微波輻射,在數(shù)據(jù)從DDR3中獲得之后,發(fā)送至先入先出隊(duì)列(first input first output,F(xiàn)IFO),把隊(duì)列導(dǎo)出數(shù)據(jù)安放在數(shù)據(jù)負(fù)載中,封裝為滿足PCIE總線規(guī)格的存儲(chǔ)器請(qǐng)求。
b.驅(qū)動(dòng)程序讀取PCIE內(nèi)的寄存器時(shí),板塊會(huì)獲得對(duì)應(yīng)的復(fù)雜可編程邏輯器件[14],同時(shí)把寄存器內(nèi)的參變量傳遞給主機(jī)。
板塊主要分析接收到的傳輸線脈沖發(fā)生器,包含如下狀況:
a.分析驅(qū)動(dòng)程序?qū)CIE的寄存器控制命令,讀取寄存器信息,儲(chǔ)存以及讀取與寄存器信息有關(guān)的參變量,并由控制信號(hào)通知發(fā)送引擎板塊此次接收數(shù)據(jù)的含義。
b.研究并提取復(fù)雜可編程邏輯器件內(nèi)的有效信息,把信息緩存至接收引擎板塊的先入先出隊(duì)列中。
此板塊用于操控DDR3的續(xù)寫功能,把主機(jī)傳遞給現(xiàn)場(chǎng)可編程邏輯門陣列的信息錄入板塊,最終傳輸至主機(jī)[15]。為化簡系統(tǒng)傳輸流程,通過Xilinx Core Generator產(chǎn)生內(nèi)存接口生成器IP核,IP核能夠掩蓋內(nèi)存底層操作的某些細(xì)節(jié),把DDR3板塊的讀寫時(shí)序變換成用戶接口讀寫時(shí)序,讓用戶自主操控內(nèi)存讀寫流程。
為驗(yàn)證本文方法實(shí)用性,使用NS-2軟件完成仿真實(shí)驗(yàn),使用文獻(xiàn)[3]混沌預(yù)測(cè)法與文獻(xiàn)[4]鏈路感知法作為對(duì)比方法,展現(xiàn)仿真實(shí)驗(yàn)結(jié)果真實(shí)性。設(shè)置的實(shí)驗(yàn)參數(shù)如表1所示。
表1 仿真實(shí)驗(yàn)參數(shù)
對(duì)3種數(shù)據(jù)傳輸策略進(jìn)行吞吐量仿真實(shí)驗(yàn),吞吐量越大,表明方法在增強(qiáng)傳輸效率方面的能力越好,3種方法數(shù)據(jù)傳輸吞吐量對(duì)比如圖4所示。
圖4 3種方法數(shù)據(jù)傳輸吞吐量對(duì)比
從圖4看到,數(shù)據(jù)傳輸初始階段,3種方法吞吐量相差不多,但伴隨時(shí)間不斷增加,本文方法吞吐量大小逐步超出2個(gè)對(duì)比方法,平均提升了10%左右。這是因?yàn)楸疚姆椒ú捎梅钦活l分復(fù)用技術(shù),實(shí)現(xiàn)信號(hào)之間的無干擾分離,增強(qiáng)帶寬利用效率,提高了數(shù)據(jù)傳輸整體吞吐量。
在3 000個(gè)數(shù)據(jù)集合內(nèi),分別挑選出最大隊(duì)列長度為10 bit、20 bit、30 bit、40 bit、50 bit的各250個(gè)集合,使用3種方法進(jìn)行數(shù)據(jù)傳輸,其中丟包情況如圖5所示??梢钥闯觯S著隊(duì)列長度增大,數(shù)據(jù)包丟失個(gè)數(shù)減少,且本文方法的丟包個(gè)數(shù)要顯著低于其他2個(gè)方法,這是因?yàn)樗ㄏ到y(tǒng)的硬件,提取了復(fù)雜可編程邏輯器件內(nèi)的有效信息,將信息緩存至接收引擎板塊的先入先出隊(duì)列,允許接近和低于最大傳輸速率的數(shù)據(jù)傳輸速率,提高系統(tǒng)的緩沖清空效率,最大限度降低丟包個(gè)數(shù)。
圖5 3種方法數(shù)據(jù)傳輸丟包數(shù)量對(duì)比
為體現(xiàn)數(shù)據(jù)傳輸?shù)母咝裕诓煌男诺罃?shù)量下,將數(shù)據(jù)傳輸延遲時(shí)間作為對(duì)比目標(biāo),比較不同方法的傳輸優(yōu)劣,結(jié)果如圖6所示。可以看到,信道數(shù)量越多,節(jié)點(diǎn)能夠挑選接入的空閑信道越多,信道之間的相互擾動(dòng)越少,所以延遲時(shí)間越短。本文方法的延遲時(shí)間相比于混沌預(yù)測(cè)法和鏈路感知法要更少,混沌預(yù)測(cè)法的延遲時(shí)間最多,鏈路感知法延遲時(shí)間與本文方法比較接近,但依舊不敵本文方法。綜合來看,本文所建系統(tǒng)具備更優(yōu)的實(shí)用性。
圖6 不同信道個(gè)數(shù)下3種方法數(shù)據(jù)傳輸延遲時(shí)間
提出一種基于非正交頻分復(fù)用的智能電管家數(shù)據(jù)傳輸系統(tǒng),利用PCIE接口與非正交頻分復(fù)用等技術(shù),有效提高數(shù)據(jù)傳輸機(jī)密性與頻譜利用率,改善傳統(tǒng)數(shù)據(jù)傳輸吞吐量小、丟包率高等不足,具有極強(qiáng)的可靠性與實(shí)用性,充分滿足智能電管家系統(tǒng)實(shí)際應(yīng)用中對(duì)數(shù)據(jù)傳輸?shù)男枨蟆T跍y(cè)試中發(fā)現(xiàn)FPGA中生成的隨機(jī)存取存儲(chǔ)器存在容量較小、占用芯片資源較多等問題,未來會(huì)將其更換為板卡上的同步動(dòng)態(tài)隨機(jī)存取內(nèi)存,有效增強(qiáng)數(shù)據(jù)傳輸量。