仇亮亮, 田秀霞
(上海電力學(xué)院 a.自動(dòng)化工程學(xué)院, b.計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 上海 200090)
基于ARM智能計(jì)量終端的設(shè)計(jì)
仇亮亮a,b, 田秀霞b
(上海電力學(xué)院 a.自動(dòng)化工程學(xué)院, b.計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 上海 200090)
針對(duì)傳統(tǒng)用電計(jì)量在效率、精度、交互性等方面的弊端,引用目前應(yīng)用廣泛的嵌入式技術(shù),設(shè)計(jì)了基于ARM嵌入式的智能計(jì)量終端系統(tǒng).在硬件設(shè)計(jì)上主要是基于嵌入式系統(tǒng)的S3C2440處理器和ATT7022電能檢測(cè)芯片,軟件設(shè)計(jì)上以Linux系統(tǒng)為基礎(chǔ),采用模塊化設(shè)計(jì)程序,通過(guò)交叉編譯完成對(duì)用電信息控制管理和信息交互.實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能精確計(jì)量和實(shí)時(shí)監(jiān)測(cè)電能信號(hào),符合設(shè)計(jì)要求.
嵌入式ARM; 電能計(jì)量; ATT7022計(jì)量芯片
目前,供電公司以及電力用戶之間的聯(lián)系交互越來(lái)越密切,但傳統(tǒng)的電能計(jì)量終端多為機(jī)械式、電子式電能表,只能簡(jiǎn)單地記錄用戶的用電量,抄錄方式不僅消耗大量的人力物力,而且數(shù)據(jù)處理能力有限,無(wú)法準(zhǔn)確分析用電信息[1],電力的控制管理和資源優(yōu)化的發(fā)展遠(yuǎn)遠(yuǎn)不足,用電浪費(fèi)日趨嚴(yán)重.
智能計(jì)量終端既能夠?yàn)楣╇姽炯皶r(shí)監(jiān)測(cè)電能數(shù)據(jù),完成電力資源的優(yōu)化配置,又可以為用戶提供更全面的用電服務(wù).根據(jù)實(shí)時(shí)電價(jià)和用電量,用戶可以根據(jù)實(shí)際情況提高用電效率,減少成本[2].
西方發(fā)達(dá)國(guó)家通過(guò)幾十年的發(fā)展,對(duì)計(jì)量終端的功能要求更加具體,建立了高效智能的電能計(jì)量系統(tǒng),極大地提高了電力用戶和電力部門(mén)的資源利用率,社會(huì)和環(huán)境效益也得到了顯著改善.但相對(duì)來(lái)說(shuō),我國(guó)智能計(jì)量終端的研究與推廣起步較晚,核心技術(shù)缺失,研發(fā)能力不足,導(dǎo)致產(chǎn)品整合能力遠(yuǎn)低于國(guó)際水平.隨著國(guó)家智能電網(wǎng)建設(shè)的提出,對(duì)計(jì)量終端的研究和大規(guī)模普及提供了良好的契機(jī)[3].
作為智能電網(wǎng)關(guān)鍵環(huán)節(jié)的計(jì)量終端系統(tǒng),尤其是在當(dāng)前用戶數(shù)量多、分布廣泛、計(jì)費(fèi)方式變化、計(jì)費(fèi)準(zhǔn)確度較高的情況下,計(jì)量終端必須更加智能、全面才能滿足當(dāng)前建設(shè)智能電網(wǎng)的要求[4].隨著用電水平的不斷提高,智能化的計(jì)量技術(shù)將會(huì)有極廣的應(yīng)用范圍,涉及供電部門(mén),工業(yè)生產(chǎn)、網(wǎng)絡(luò)化小區(qū)、智能電器等各個(gè)行業(yè),且與人們的生活息息相關(guān)[5].
根據(jù)系統(tǒng)功能需求分析,智能計(jì)量終端需要強(qiáng)大的數(shù)據(jù)采集能力、處理功能和人機(jī)交互能力.當(dāng)前可選用的方案包括:基于采集卡+工控機(jī)的設(shè)計(jì)方案;基于虛擬機(jī)的設(shè)計(jì)方案;以單片機(jī)為核心的設(shè)計(jì)方案;基于DSP+MCU的設(shè)計(jì)方案;基于電能計(jì)量專用芯片+嵌入式ARM處理器的設(shè)計(jì)方案[6].
通過(guò)對(duì)比分析各個(gè)設(shè)計(jì)的優(yōu)劣,最終決定選用了基于專業(yè)電能計(jì)量芯片ATT7022+嵌入式核心處理器S3C2440的總體方案.
從本質(zhì)上來(lái)說(shuō),ARM處理器是一種性能優(yōu)越、外圍擴(kuò)展模塊簡(jiǎn)單、片內(nèi)資源豐富、功能強(qiáng)大的單片機(jī),相較于單片機(jī)的微控制器,ARM的最大優(yōu)勢(shì)就是引入了Linux操作系統(tǒng),在操作系統(tǒng)基礎(chǔ)上直接進(jìn)行電能計(jì)量的開(kāi)發(fā),程序不需要從零編寫(xiě),縮短了系統(tǒng)的研發(fā)時(shí)間.而且Linux系統(tǒng)可以設(shè)置權(quán)限機(jī)制,不會(huì)因?yàn)橛脩舨僮魇д`更改系統(tǒng)的內(nèi)核,避免了系統(tǒng)崩潰造成的計(jì)量錯(cuò)誤,提高了軟件運(yùn)行的穩(wěn)定性和高效性.同時(shí),Linux系統(tǒng)內(nèi)置有TCP/IP協(xié)議棧,支持網(wǎng)絡(luò)通訊,改變了傳統(tǒng)費(fèi)時(shí)費(fèi)力的抄表方式,通過(guò)以太網(wǎng)實(shí)現(xiàn)了用電信息的實(shí)時(shí)互動(dòng).
與其他計(jì)量芯片相比,ATT7022芯片內(nèi)部主要有16位∑-△A/D轉(zhuǎn)換技術(shù)和24位DSP技術(shù)[7],可以在片內(nèi)自動(dòng)計(jì)算電壓、電流、功率等參數(shù),極大地優(yōu)化了軟件設(shè)計(jì)流程,減少了程序開(kāi)發(fā)的時(shí)間.此外,該芯片可以通過(guò)SPI總線直接由通信端口讀取,無(wú)需進(jìn)行任何復(fù)雜運(yùn)算,優(yōu)化了系統(tǒng)硬件電路,大大提高了計(jì)量模塊的運(yùn)行效率.
按照功能需求設(shè)計(jì)架構(gòu),整體系統(tǒng)選擇基于Linux系統(tǒng)的ARM處理器,在控制器外圍擴(kuò)展了功能模塊,包括電流電壓采樣模塊、電參數(shù)計(jì)量模塊和LCD顯示模塊等.系統(tǒng)總體方案結(jié)構(gòu)如圖1所示.
圖1 系統(tǒng)總體方案
硬件電路設(shè)計(jì)主要利用電壓互感器和電流互感器的前端采集電路,將采樣到的電流電壓值處理為符合電能計(jì)量芯片ATT7022運(yùn)算要求的電信號(hào),內(nèi)部運(yùn)算數(shù)據(jù)獲得有效電流值、電壓值和功率值,通過(guò)SPI接口與處理器進(jìn)行連接.
基于Linux操作系統(tǒng)的軟件開(kāi)發(fā),首先需要定制和移植嵌入式系統(tǒng),建立PC主機(jī)與ARM目標(biāo)機(jī)的交叉編譯環(huán)境,配置內(nèi)核文件并加載,通過(guò)USB口、串口、網(wǎng)口等多種方式進(jìn)行程序移植[8];其次需要設(shè)計(jì)智能計(jì)量終端的應(yīng)用程序,重點(diǎn)設(shè)計(jì)采集模塊、校正參數(shù)和LCD顯示模塊等,將應(yīng)用程序與嵌入式Linux系統(tǒng)良好地結(jié)合起來(lái).
根據(jù)計(jì)量終端的總體方案設(shè)計(jì),硬件電路主要包括ARM核心控制模塊和信號(hào)采集與計(jì)量模塊.
微處理器是整個(gè)計(jì)量終端的核心,同時(shí)還需要存儲(chǔ)器擴(kuò)充存儲(chǔ)容量,需要電源電路供電,需要復(fù)位電路確保系統(tǒng)能夠穩(wěn)定可靠地工作.考慮到時(shí)間和實(shí)驗(yàn)條件的限制,系統(tǒng)采用基于ARM9的Mini2440開(kāi)發(fā)板,ARM系統(tǒng)結(jié)構(gòu)如圖2所示.
圖2 ARM結(jié)構(gòu)示意
ARM采用基于ARM920T內(nèi)核的S3C2440處理器為核心,自帶GPIO口、SPI總線、UART口、LCD控制器等接口,存儲(chǔ)方式多樣,內(nèi)有電源、復(fù)位等芯片,供電穩(wěn)定,以保證系統(tǒng)的正常運(yùn)行,同時(shí)拓展LCD顯示器、串口、USB接口、網(wǎng)絡(luò)接口等諸多外設(shè)接口,便于開(kāi)發(fā)者進(jìn)行基于ARM的開(kāi)發(fā)工作.
三相電能計(jì)量芯片ATT7022自帶電源管理和時(shí)鐘控制,并且內(nèi)部的ADC模塊包括3路電壓輸入信道,3路電流輸入信道,分別與電流采樣電路和電壓采樣電路連接,信號(hào)采集后,由內(nèi)部DSP數(shù)據(jù)運(yùn)算后得出電流電壓等參數(shù),最后通過(guò)SPI口讀取.主要電路設(shè)計(jì)如圖3所示.
在ATTT022及其外圍電路中,V1P/V1N,V3P/V3N,V5P/V5N引腳主要檢測(cè)用電器三相電流信號(hào);V2P/V2N,V4P/V4N,V6P/V6N引腳主要檢測(cè)用電器三相電壓信號(hào).通過(guò)SPI接口實(shí)現(xiàn)與ARM處理器之間的通信,其主要由復(fù)位信號(hào)線RESET,狀態(tài)標(biāo)志位SIG,片選信號(hào)線CS,時(shí)鐘信號(hào)線SCLK,串行輸入信號(hào)線DIN,串行輸出信號(hào)線DOUT組成.
圖3 信號(hào)采集與計(jì)量主要模塊電路設(shè)計(jì)
在電流采樣和電壓采樣電路中,電壓通道和電流通道的正常工作電壓分別為10~1 000 mV和2~1 000 mV,并根據(jù)選擇的電壓互感器和電流互感器的型號(hào)轉(zhuǎn)換電信號(hào),同時(shí)設(shè)置了RC低通濾波器以防芯片在數(shù)據(jù)運(yùn)算時(shí)出現(xiàn)頻率混疊失真的現(xiàn)象.
工作時(shí),采樣電路分別將6個(gè)電壓信號(hào)(3個(gè)電壓通道和3個(gè)電流通道) 送入計(jì)量芯片內(nèi),ATT7022對(duì)用電器使用時(shí)的電壓和電流信號(hào)進(jìn)行處理,參數(shù)校驗(yàn)正確后將得到的數(shù)據(jù)通過(guò)SPI總線與控制器通信;設(shè)置周期,實(shí)時(shí)更新參數(shù)輸出寄存器數(shù)值,準(zhǔn)確接線就能夠完成讀寫(xiě)操作,實(shí)時(shí)顯示運(yùn)算結(jié)果并輸出,并將處理數(shù)據(jù)保存.
軟件平臺(tái)包括PC機(jī)和ARM的嵌入式系統(tǒng).首先在PC虛擬機(jī)上選擇Fedora14操作系統(tǒng),并安裝arm-linux-gcc-4.4.3交叉編譯器,在ARM中移植Linux系統(tǒng),通過(guò)串口線、USB下載線和網(wǎng)線進(jìn)行數(shù)據(jù)傳輸與通信;然后選取Supervivi燒寫(xiě)開(kāi)發(fā)板的Nor Flash和Nand Flash,運(yùn)行引導(dǎo)加載Bootloader,既可以將軟硬件系統(tǒng)初始化,加載啟動(dòng)操作系統(tǒng),同時(shí)又提供了PC平臺(tái)與ARM平臺(tái)之間的文件信息的傳輸和交互.ARM資源有限,根據(jù)系統(tǒng)的功能需求,定制內(nèi)核時(shí)需要打開(kāi)文件“config_mini2440_p43”并修改配置,然后才能編譯、燒寫(xiě)內(nèi)核.軟件開(kāi)發(fā)環(huán)境搭建成功后進(jìn)行運(yùn)行測(cè)試.其主要流程如圖4所示.
圖4 嵌入式軟件開(kāi)發(fā)流程
在Linux系統(tǒng)開(kāi)發(fā)環(huán)境中,首先在PC端設(shè)計(jì)編寫(xiě)應(yīng)用程序,達(dá)到系統(tǒng)所需功能要求,然后通過(guò)USB接口燒寫(xiě)代碼,經(jīng)交叉編譯器調(diào)試程序.其中主要進(jìn)行了電能計(jì)量模塊、人機(jī)交互模塊的應(yīng)用程序設(shè)計(jì),用C語(yǔ)言編寫(xiě)相應(yīng)的程序,以滿足系統(tǒng)的功能需求.整個(gè)系統(tǒng)的程序模塊示意如圖5所示.
由于ATT7022內(nèi)部集成有DSP模塊,可以自動(dòng)計(jì)算所需計(jì)量的電流、電壓、電功率等參數(shù)值,無(wú)需參數(shù)計(jì)算的編程,所以電能計(jì)量模塊的程序設(shè)計(jì)主要包括采集模塊與MCU之間進(jìn)行數(shù)據(jù)讀寫(xiě)的SPI程序、硬件復(fù)位程序、清除校表寄存器參數(shù)程序、初始校表寄存器程序、讀計(jì)量寄存器參數(shù)程序、寫(xiě)校表寄存器程序等.
圖5 系統(tǒng)主程序流程
在ATT7022上電工作后,先進(jìn)行初始化操作,設(shè)置校正寄存器的參數(shù),然后將計(jì)量終端連接至三相電能表檢定裝置,與檢定裝置內(nèi)部的標(biāo)準(zhǔn)表校正,計(jì)算得到實(shí)際測(cè)量的誤差值,然后寫(xiě)入校正寄存器中,對(duì)測(cè)量值進(jìn)行誤差校正.電流、電壓采樣信號(hào)校正后被送至ATT7022內(nèi)部,由DSP運(yùn)算模塊計(jì)算完成后,數(shù)據(jù)通過(guò)SPI總線程序,讀寫(xiě)ATT7022芯片內(nèi)部的參數(shù),再將讀取到的數(shù)據(jù)存儲(chǔ)至Nand Flash中,經(jīng)過(guò)預(yù)定延遲程序后循環(huán)讀取參數(shù).電能計(jì)量流程如圖6所示.
圖6 電能計(jì)量流程
LCD顯示程序設(shè)計(jì)是將動(dòng)態(tài)字符轉(zhuǎn)換為機(jī)器可讀的十六進(jìn)制C代碼,顯示屏能夠自動(dòng)刷新數(shù)據(jù),包括定義LCD相關(guān)數(shù)據(jù)變量、控制端口、功能模塊、電源管理引腳使能和顯示主函數(shù).
經(jīng)過(guò)硬件設(shè)計(jì)和軟件開(kāi)發(fā),在實(shí)驗(yàn)室環(huán)境下安裝調(diào)試程序.為了檢測(cè)電能計(jì)量模塊檢測(cè)到的參數(shù)值是否準(zhǔn)確,我們采用三相電能表檢定裝置對(duì)計(jì)量終端進(jìn)行檢定,與智能計(jì)量終端內(nèi)部的程序校正程序進(jìn)行比對(duì).選擇了1 500 W熱水壺、筆記本電腦和熱風(fēng)槍3種用電器進(jìn)行測(cè)試,實(shí)驗(yàn)數(shù)據(jù)如表1所示.
表1 不同用電器工作時(shí)的電參數(shù)值
在實(shí)驗(yàn)室條件下,測(cè)量有一定的誤差,但由檢定結(jié)果可知,用電器電流和電壓值的誤差在可接受范圍內(nèi).
通過(guò)對(duì)智能計(jì)量終端的系統(tǒng)分析可知,誤差出現(xiàn)的原因可能有以下3個(gè)方面:一是采樣電路中電壓和電流通道的電氣性能不同,可能引起相位差;二是電壓和電流互感器本身的電信號(hào)問(wèn)題可能造成測(cè)量誤差;三是計(jì)量芯片的性能造成的誤差.
本文研究的嵌入式ARM計(jì)量終端是基于智能電網(wǎng)發(fā)展的條件下設(shè)計(jì)的,本方案充分利用了電能計(jì)量芯片和嵌入式系統(tǒng)的特點(diǎn),實(shí)時(shí)監(jiān)測(cè)電網(wǎng)中的電流、電壓、電能等參數(shù),更有利于處理用戶用電數(shù)據(jù)、整理用電信息、配置電力資源,可以滿足未來(lái)智能電網(wǎng)建設(shè)的需求.
[1] 楊韜.基于ARM9的高精度智能電表系統(tǒng)的設(shè)計(jì)[J].低壓電器,2012(10):56-58.
[2] 呂小強(qiáng),張濤,白燕羽,等.基于ARM和ATT7022B的智能電表系統(tǒng)[J].中國(guó)測(cè)試,2012(1):94-96.
[3] 馬驍,梁全東.智能電表的現(xiàn)狀及發(fā)展趨勢(shì)[J].能源與節(jié)能,2014(2):62-63.
[4] 靜恩波.基于嵌入式系統(tǒng)的智能電表設(shè)計(jì)與研究[J].低壓電器,2011(3):26-30.
[5] 顧興琛.嵌入式技術(shù)在智能電表系統(tǒng)中的應(yīng)用[J].科技廣場(chǎng),2013(12):67-69.
[6] 徐新源.基于S3C2440A+ATT7022B的多路多功能電力監(jiān)控儀研究[D].青島:山東科技大學(xué),2013.
[7] 薛振華.基于GPRS的電能量采集及負(fù)荷管理系統(tǒng)的設(shè)計(jì)[D].北京:華北電力大學(xué),2012.
[8] 殷榮慶.嵌入式Linux系統(tǒng)的探索與設(shè)想[J].合肥師范學(xué)院學(xué)報(bào),2009(6):41-44.
DesignofIntelligentMeteringTerminalBasedonARM
QIU Lianglianga,b, TIAN Xiuxiab
(a.SchoolofAutomationEngineering,b.SchoolofComputerScienceandTechnology,ShanghaiUniversityofElectricPower,Shanghai200090,China)
In order to overcome the disadvantages of the traditional power measurement in the aspects of efficiency,precision and interaction,and based on the embedded technology widely used at present,the intelligent terminal system based on ARM is designed.The hardware design of the system is mainly based on the embedded system of S3C2440 processor and ATT7022 power detection chip.The software design is based on Linux system,through modular design program and cross compiling to complete the power consumption information control management and information interaction.It is proved through experiment that the system can accurately measure and monitor the power signal in real time,and can accord with the design requirement.
embedded ARM; electric energy metering; ATT7022 measuring chip
10.3969/j.issn.1006-4729.2017.05.017
2017-03-09
田秀霞(1976-),女,博士,教授,河南安陽(yáng)人.主要研究方向?yàn)閿?shù)據(jù)庫(kù)安全,隱私保護(hù).E-mail:xxtian@shiep.edu.cn.
國(guó)家自然科學(xué)基金(61532021);上海市科學(xué)技術(shù)委員會(huì)委地方能力建設(shè)項(xiàng)目(15110500700).
TM933;TP18
A
1006-4729(2017)05-0495-05
(編輯 胡小萍)