張宇婷,李如雄,孫慶恭,席榮軍,唐堅(jiān)釗
(廣東電網(wǎng)有限責(zé)任公司汕尾供電局,廣東汕尾 516600)
世界范圍內(nèi)的能源安全和環(huán)境污染問(wèn)題迫使人們改變現(xiàn)有的能源消費(fèi)模式[1]。電力、天然氣和熱能的綜合利用,對(duì)于提高能源利用效率、降低能源成本具有重要意義[2]。當(dāng)前,能源系統(tǒng)有其自身的收費(fèi)方式和獨(dú)立的收費(fèi)模式,為用戶付費(fèi)和查詢能源信息造成了極大的困難[3]。因此,應(yīng)選用較成熟的跨業(yè)務(wù)綜合能源信息采集系統(tǒng),盡量避免重復(fù)建設(shè)。
傳統(tǒng)的基于STM32 的信息采集系統(tǒng)[4],以STM32 F103ZET 處理器為硬件平臺(tái),在該平臺(tái)上擴(kuò)展信息識(shí)別模塊,結(jié)合RFID 技術(shù)確定跨業(yè)務(wù)綜合能源信息,然后利用上位機(jī)Modbus 協(xié)議實(shí)時(shí)采集相關(guān)信息;基于ARM 目標(biāo)板的信息采集系統(tǒng)[5],在Linux 編程系統(tǒng)及嵌入式GIS 平臺(tái)支持下,搭建嵌入式采集結(jié)構(gòu),并成功將其移植到ARM 目標(biāo)板上,由此完成信息采集。然而,跨業(yè)務(wù)綜合能源信息采集過(guò)程對(duì)系統(tǒng)模塊化的要求較高,傳統(tǒng)的采集系統(tǒng)擴(kuò)展性能不好,且容易受到諧波分量影響,導(dǎo)致采集過(guò)程的功耗和延時(shí)均較大。
為此,針對(duì)傳統(tǒng)系統(tǒng)存在的不足,設(shè)計(jì)了基于中間件和流計(jì)算的跨業(yè)務(wù)綜合能源信息采集系統(tǒng)。
系統(tǒng)硬件結(jié)構(gòu)如圖1 所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)
系統(tǒng)的硬件結(jié)構(gòu)采用模塊化的設(shè)計(jì)思路,MCU主控單元包含低壓無(wú)功補(bǔ)償控制器。利用GPRS/CDMA/4G 數(shù)據(jù)通信方式,以公用移動(dòng)通信網(wǎng)為載體,輔之以RS485 總線和紅外線,實(shí)現(xiàn)遠(yuǎn)距離抄表、異常信息報(bào)警、負(fù)載管理與控制等功能[6]。將MCU的主控制單元作為主控制和管理對(duì)象,采集跨業(yè)務(wù)的綜合能源信息。
跨業(yè)務(wù)綜合能源信息采集需要對(duì)模擬和數(shù)字?jǐn)?shù)據(jù)采集進(jìn)行設(shè)計(jì)。在STM32F4 系列單片機(jī)中,三個(gè)ADC 均是12 位連續(xù)、近似模擬到數(shù)據(jù)的轉(zhuǎn)換器,具有19個(gè)通道,可以單獨(dú)使用,也可以協(xié)同使用[7-9]。這種信道的變換分為單模式、連續(xù)模式和間斷模式,變換結(jié)果被保存在16 位數(shù)據(jù)存儲(chǔ)器。其最大轉(zhuǎn)換速率為2.4 MHz,也就是轉(zhuǎn)換時(shí)間為0.41 μs,ADC 可同時(shí)進(jìn)行注入和常規(guī)兩個(gè)通道轉(zhuǎn)換,以此來(lái)滿足不同的AD 轉(zhuǎn)換要求[10-12]。通過(guò)降壓和信號(hào)調(diào)理電路,使模擬量能夠滿足AD 采集要求。同時(shí),該電流信號(hào)還需要經(jīng)過(guò)電流互感器處理,才能輸入AD 采集電流信號(hào)[13]。
在電路板中,電源模塊是核心模塊。電源模塊負(fù)責(zé)把外部電源轉(zhuǎn)換成電路板所需的電壓,并為系統(tǒng)供電,滿足電路板所需的各種電源[14]。以ADP7159 芯片為基礎(chǔ)設(shè)計(jì)電源模塊電路,其結(jié)構(gòu)如圖2 所示。
圖2 電源模塊電路
圖2中,芯片ADP7159的輸出電流可以達(dá)到3 A,工作電壓范圍為0.5~1.5 V,能夠滿足新興應(yīng)用的高電流需要。ADP7159 芯片擴(kuò)展了LDO 輸出電流范圍為2~3 A。超低頻與高PSRR 性能相結(jié)合,可設(shè)定新的LDO 功率級(jí)基準(zhǔn)。
EEPROM 是一個(gè)可擦除可編程的存儲(chǔ)器,該存儲(chǔ)器可清除電腦或特殊裝置上已有的資料,重編程序,即插即用[15]。當(dāng)寫入數(shù)據(jù)時(shí),EEPROM 仍然需要一些編程電壓。使用制造商提供的特殊刷新程序來(lái)重新編寫內(nèi)容,所以EEPROM 屬于雙電壓晶片。當(dāng)跳線開關(guān)調(diào)整到“ON”位置時(shí),相應(yīng)增加編程電壓即可輕松升級(jí)芯片[16]。當(dāng)跳線開關(guān)調(diào)到“OFF”位置時(shí),BIOS基本輸入輸出系統(tǒng)借助于EEPROM 芯片的雙電壓特性,能夠抵抗非法修改BIOS 芯片的CIH 病毒。
LCD 控制器內(nèi)配有S5PV210 處理器,控制采集系統(tǒng)界面顯示,并將系統(tǒng)存儲(chǔ)器上LCD 圖像數(shù)據(jù)傳送給外部LCD 驅(qū)動(dòng)接口。
1)LCD 驅(qū)動(dòng)器
LCD 驅(qū)動(dòng)器通常與液晶面板集成,該面板需要一些模擬電信號(hào)來(lái)控制LCD 顯示界面。LCD 驅(qū)動(dòng)芯片負(fù)責(zé)提供控制LCD 顯示界面的模擬電信號(hào),驅(qū)動(dòng)器的控制信號(hào)(數(shù)字信號(hào))是從LCD 控制器提供接口發(fā)出的。
2)LCD 控制器
LCD 控制器被集成到SOC 片上系統(tǒng),通過(guò)數(shù)字接口給LCD 驅(qū)動(dòng)器提供像素?cái)?shù)字信號(hào)。按照一定時(shí)序與LCD 驅(qū)動(dòng)器進(jìn)行通信,而SOC 片上系統(tǒng)會(huì)把像素?cái)?shù)據(jù)從內(nèi)存中提取出來(lái)給LCD 控制器,并傳送給LCD 屏幕顯示模塊。
3)LCD 屏幕顯示模塊
將顏色數(shù)據(jù)存儲(chǔ)在SOC 片上系統(tǒng)中,與LCD 控制器中的像素?cái)?shù)據(jù)形成映射關(guān)系。兩者關(guān)系建立之后,LCD 控制器會(huì)自動(dòng)地從顯存中讀取顏色數(shù)據(jù),并把這些數(shù)據(jù)傳送給LCD 驅(qū)動(dòng)器。LCD 驅(qū)動(dòng)器會(huì)自動(dòng)控制每一個(gè)像素的LCD 分子來(lái)形成最終圖像。
中間件負(fù)責(zé)在硬件和軟件之間提供公共服務(wù),具有標(biāo)準(zhǔn)程序接口和協(xié)議,主要負(fù)責(zé)處理不兼容的操作系統(tǒng)或文件結(jié)構(gòu),并調(diào)節(jié)客戶機(jī)與服務(wù)器之間的通信效率。中間件通常是在網(wǎng)絡(luò)層或傳輸層之上工作,不依賴底層通信服務(wù)。使用CORBA 中間件能夠解決不同跨業(yè)務(wù)綜合能源方面的數(shù)據(jù)傳輸問(wèn)題,實(shí)現(xiàn)了基于互連的應(yīng)用程序間的交互操作。
CORBA 中間件的主要設(shè)計(jì)思路是結(jié)合分布式計(jì)算模式和面向?qū)ο笏枷雭?lái)構(gòu)建分布式應(yīng)用。CORBA 架構(gòu)是在兩個(gè)傳統(tǒng)客戶服務(wù)器層之間增加一個(gè)中間層,可以改善傳統(tǒng)主從式結(jié)構(gòu)缺陷。CORBA中間件體系結(jié)構(gòu)如圖3 所示??蛻魴C(jī)應(yīng)用程序需要從網(wǎng)絡(luò)中的某個(gè)地方獲取某些數(shù)據(jù)或服務(wù),這些數(shù)據(jù)或服務(wù)可能位于不同的操作系統(tǒng)和特定的查詢語(yǔ)言數(shù)據(jù)庫(kù)中??蛻舳?服務(wù)器應(yīng)用程序中負(fù)責(zé)數(shù)據(jù)查詢的部分僅要求對(duì)中間件系統(tǒng)進(jìn)行訪問(wèn),通過(guò)CORBA 中間件可以找到數(shù)據(jù)源,然后發(fā)送客戶請(qǐng)求和回復(fù)信息,由此得到的結(jié)果返回到應(yīng)用程序中。
圖3 CORBA中間件體系結(jié)構(gòu)
由于跨業(yè)務(wù)綜合能源信息是大規(guī)模流量信息,使用傳統(tǒng)數(shù)據(jù)分析模式容易出現(xiàn)數(shù)據(jù)丟失問(wèn)題,因此,提出了基于流計(jì)算的信息實(shí)時(shí)分析方法。使用流計(jì)算方法實(shí)時(shí)分析有用信息,并將分析結(jié)果發(fā)送給下一個(gè)信息采集節(jié)點(diǎn)。基于流計(jì)算的信息采集節(jié)點(diǎn)確定流程如圖4 所示。
圖4 基于流計(jì)算的信息采集節(jié)點(diǎn)確定流程
基于該流程,以電、水、氣、熱四種能源采集任務(wù)為例,調(diào)度信息采集任務(wù)。
步驟一:信息采集系統(tǒng)是以信息采集頻率動(dòng)態(tài)更新信息聚類的,并對(duì)采集過(guò)程中丟失的信息進(jìn)行控制。
由于系統(tǒng)中不斷涌入大量新信息,因此需要對(duì)歷史信息進(jìn)行聚類處理,才能保證信息不會(huì)丟失。聚類中心計(jì)算公式為:
式(1)中,α表示延遲因子;at表示新存儲(chǔ)到數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息;λt表示歷史信息聚類中心。
步驟二:大量新信息聚類后,分析未超出系統(tǒng)采集頻率范圍的相關(guān)任務(wù),將該任務(wù)作為控制目標(biāo);
步驟三:當(dāng)采集頻率過(guò)高時(shí),整個(gè)采集系統(tǒng)仍是由系統(tǒng)CPU 控制的,此時(shí)使用傳統(tǒng)系統(tǒng)難以滿足實(shí)時(shí)處理信息需求。為此,必須切換綜合功耗小的硬件,判決根據(jù)如下:
式(2)中,Esa表示軟件執(zhí)行所消耗的功率;Ehs表示硬件空閑所消耗的功率;Eha表示硬件執(zhí)行所消耗的功率;Ess表示軟件空閑所消耗的功率。
步驟四:在CPU 和可重構(gòu)計(jì)算單元都可以正常完成計(jì)算的情況下,若硬件設(shè)備處于OFF 狀態(tài),則需要配置可重構(gòu)設(shè)備。當(dāng)時(shí)間t滿足式(3)所述條件時(shí),表明硬件任務(wù)的執(zhí)行功耗大于軟件任務(wù)的執(zhí)行功耗,并對(duì)可重構(gòu)設(shè)備進(jìn)行配置,以完成硬件任務(wù)。
式(3)中,Ehb表示重構(gòu)組件執(zhí)行所消耗的功率。
步驟五:在確定功耗最低的軟件程序和硬件結(jié)構(gòu)后,所應(yīng)用的組合系統(tǒng)即為信息采集效率最高的系統(tǒng)。結(jié)合圖4 確定信息采集節(jié)點(diǎn),通過(guò)流計(jì)算分析信息,由此完成信息采集。
為驗(yàn)證上述設(shè)計(jì)的基于中間件和流計(jì)算的跨業(yè)務(wù)綜合能源信息采集系統(tǒng)的應(yīng)用性能,將基于STM32 的信息采集系統(tǒng)(W1)、基于ARM 目標(biāo)板的信息采集系統(tǒng)(W2)與該研究系統(tǒng)(W3)作對(duì)比,結(jié)合仿真環(huán)境分析不同系統(tǒng)的性能。
實(shí)驗(yàn)采用Spark-0.8.0 版本處理平臺(tái),該平臺(tái)是一種高吞吐量分布式平臺(tái),可以采集綜合能源信息系統(tǒng)中的全部數(shù)據(jù)。在該平臺(tái)上模擬了150 萬(wàn)次采集,采集任務(wù)種類如下:執(zhí)行Web 任務(wù),采集30 萬(wàn)次;執(zhí)行接口任務(wù),采集22 萬(wàn)次;執(zhí)行后臺(tái)任務(wù),采集31 萬(wàn)次;執(zhí)行實(shí)時(shí)自動(dòng)任務(wù),采集20 萬(wàn)次;執(zhí)行歷史自動(dòng)任務(wù),采集22萬(wàn)次;執(zhí)行歷史補(bǔ)錄任務(wù),采集25萬(wàn)次。
分析不同系統(tǒng)功耗異常對(duì)話框彈出次數(shù),對(duì)比結(jié)果如表1 所示。
由表1 可知,使用兩種傳統(tǒng)系統(tǒng)時(shí),功耗異常對(duì)話框彈出次數(shù)較多,說(shuō)明使用傳統(tǒng)系統(tǒng)出現(xiàn)過(guò)負(fù)載現(xiàn)象較多,導(dǎo)致信息采集任務(wù)無(wú)法精準(zhǔn)執(zhí)行。而使用基于中間件和流計(jì)算信息采集系統(tǒng)在執(zhí)行實(shí)時(shí)自動(dòng)任務(wù)時(shí),出現(xiàn)一次功耗異常對(duì)話框。說(shuō)明執(zhí)行該任務(wù)時(shí),信息量較大,導(dǎo)致系統(tǒng)出現(xiàn)過(guò)負(fù)載現(xiàn)象,導(dǎo)致實(shí)時(shí)自動(dòng)采集節(jié)點(diǎn)時(shí)出現(xiàn)延誤,但并不會(huì)給系統(tǒng)帶來(lái)影響,可忽略不計(jì)。
表1 不同系統(tǒng)功耗異常對(duì)話框彈出次數(shù)對(duì)比分析
分別使用不同系統(tǒng)分析不同任務(wù)的執(zhí)行完成時(shí)間,結(jié)果如圖5 所示。其中,負(fù)向數(shù)值代表系統(tǒng)存在延遲。
圖5 不同系統(tǒng)不同任務(wù)的執(zhí)行完成時(shí)間對(duì)比
由圖5 可知,使用基于STM32 和基于ARM 目標(biāo)板的信息采集系統(tǒng),在執(zhí)行Web 任務(wù)、接口任務(wù)、后臺(tái)任務(wù)、實(shí)時(shí)自動(dòng)任務(wù)時(shí),會(huì)出現(xiàn)執(zhí)行時(shí)間延遲問(wèn)題,導(dǎo)致執(zhí)行完成時(shí)間較長(zhǎng);而使用基于中間件和流計(jì)算信息采集系統(tǒng)時(shí),不會(huì)出現(xiàn)執(zhí)行時(shí)間延遲問(wèn)題,執(zhí)行完成時(shí)間較短。
未來(lái)的跨業(yè)務(wù)能源采集系統(tǒng)的開發(fā)將逐步由單一能源采集轉(zhuǎn)向多能源統(tǒng)一采集。多功能采集系統(tǒng)對(duì)終端開發(fā)方案提出了更高的要求,既要保證采集任務(wù)按性能要求完成,又要保證終端具有低功耗、低成本等特點(diǎn),否則將失去其普遍適用的意義。該研究以中間件技術(shù)和流計(jì)算法為基礎(chǔ),設(shè)計(jì)了一種跨業(yè)務(wù)的綜合能源信息采集系統(tǒng),為下一步能源開發(fā)提供了參考。