文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.179013
中文引用格式: 周芝梅,,趙東艷,,張海峰,等. 基于IR46標(biāo)準(zhǔn)的雙芯電能表主控關(guān)鍵技術(shù)研究[J].電子技術(shù)應(yīng)用,,2017,,43(10):7-11,19.
英文引用格式: Zhou Zhimei,,Zhao Dongyan,,Zhang Haifeng,et al. Research on the key technology of the dual MCUs on the energy meter for the IR46 standard[J].Application of Electronic Technique,,2017,,43(10):7-11,19.
0 引言
我國第一代智能電表,目前已掛裝并運行5年多,,為我國智能電網(wǎng)的建設(shè)提供了重要支撐,。然而我國標(biāo)準(zhǔn)體系對電能表的軟件和硬件要求比較固化,電能表均為一體化設(shè)計,,一旦出現(xiàn)硬件或軟件故障,,只能采取更換整表的方式來保障電力計量工作順利進(jìn)行。并且出于防止篡改電能表程序的安全角度考慮,,目前的電能表不允許軟件的在線升級,,因此對越來越多的智能應(yīng)用需求形成了限制。為此我國將在下一代智能電表標(biāo)準(zhǔn)上采用基于IR46(International Recommendation46)標(biāo)準(zhǔn)的雙芯智能電表方案,,核心解決的是計量功能與其他管理類功能的分離,,支持非計量部分軟件在線升級,且非計量部分的故障和升級不影響計量部分的準(zhǔn)確性和穩(wěn)定性,。
1 雙芯電能表方案
目前掛裝的智能電表方案應(yīng)用框圖如圖1所示,,可完成電能計量、數(shù)據(jù)的安全保護(hù),、本地RTC計時以及支持電表通信功能,,包括485通信、SPI,、I2C和紅外等功能[1-2],。智能電表用到的功能芯片包括一顆主控芯片、一顆RTC芯片,、一顆安全芯片,、一顆EEPROM和一顆計量芯片,全部整體設(shè)計在一塊電表主板上,。
基于IR46的雙芯智能電表標(biāo)準(zhǔn)方案,,將電表功能分成計量芯和功能芯兩個互不干擾的獨立部分。計量芯部分完成的功能包括計量,、電量數(shù)據(jù)存儲,、RTC計時等,計量芯獨立運行,,法制認(rèn)證,,不允許軟件升級,。管理芯部分包括智能電卡接口、ESAM,、顯示,、存儲器、負(fù)控管理和對外通信等功能,。由于計量芯部分和管理芯部分各自獨立自成系統(tǒng),在新的電表方案中,,計量部分和管理部分都會各自需要一顆MCU主控芯片,,兩顆主控完成的功能和核心關(guān)鍵指標(biāo)也會不同,這是實現(xiàn)基于IR46標(biāo)準(zhǔn)的雙芯電表方案的關(guān)鍵,。
2 計量芯主控功能和關(guān)鍵技術(shù)
2.1 計量芯主控功能和架構(gòu)
計量芯部分要完成的功能包括計時,、電能計量、電能和時間的存儲以及與管理芯的通信,。本文設(shè)計的計量芯主控功能上包含RTC功能模塊,,接口上包括串口、I2C,、GPIO等,,通過SPI通信口與管理芯進(jìn)行數(shù)據(jù)和指令交互,功能框圖如圖2所示,。CPU采用ARM Cortex-M0 CPU,,內(nèi)置128 KB Flash存儲器、8KB RAM,,集成4通道DMA,;串口負(fù)責(zé)與485通信、SPI與管理芯進(jìn)行通信,;通過I2C操作EEPROM進(jìn)行數(shù)據(jù)存儲,;另有多路TIMER、看門狗等功能,。
IR46標(biāo)準(zhǔn)要求在運行模式下,,計量芯的電源不能被控制或干涉,計量芯RTC持續(xù)工作10年以上,,且計時精度要滿足國網(wǎng)電能表計時精度要求,。總結(jié)以上需求可知,,計量芯主控的高精度計時和低功耗工作是該主控的核心關(guān)鍵指標(biāo),。
2.2 計量芯主控的高精度計時技術(shù)
計量主控RTC采用32 768 Hz石英晶體,晶體的振蕩頻率會隨溫度變化,,稱之為晶體的溫度特性,。32 768 Hz晶體的振蕩頻率與溫度呈類二次函數(shù)關(guān)系[3],,低溫和高溫區(qū)晶體的頻率偏差很大,無法滿足國網(wǎng)對智能電表的計時精度要求,,必須加入溫度補償電路以提高計時精度,。
本文設(shè)計RTC電路,除了包括了RTC的計時功能,,還包括關(guān)鍵的晶體溫度補償功能,,模塊包含RTC計時模塊、溫度傳感器,、專用的晶體溫度補償電路和一塊緩存Flash,,F(xiàn)lash用于存儲晶體的溫度調(diào)校系數(shù),如圖3所示,。RTC計時電路定時觸發(fā)調(diào)校電路開始工作,,從溫度傳感器讀取當(dāng)前溫度值,然后根據(jù)溫度值從Flash中讀取對應(yīng)的調(diào)校系數(shù),,由調(diào)校電路對RTC的計時電路進(jìn)行調(diào)校補償,。
用32 768 Hz晶體振蕩器設(shè)計實時時鐘,計數(shù)滿32 768個周期為1 s,,所以計數(shù)器的一個計數(shù)周期相對于秒周期的改變量為:
即如果簡單的對秒脈沖進(jìn)行數(shù)字補償,,能獲得的補償精度是30.5 ppm,對于小于30.5 ppm的頻率偏差,,無法得到補償而帶來偏差,,且隨著計時時間的加長,計時偏差會越來越大,。本文設(shè)計的主控芯片提出并采用了基于累積誤差控制的補償算法[4],。補償算法如式(2)所示:
式中,Xn為當(dāng)前時刻根據(jù)晶體溫度從Flash讀取得到的需要補償?shù)念l率誤差值(單位ppm),;Yn-1為上次溫度補償后遺留剩余誤差值,;N為根據(jù)當(dāng)前Xn和Yn-1計算出來的需要補償?shù)恼麜r鐘周期數(shù);Yn為本次數(shù)字補償后剩余的頻率偏差值,,用于下次補償時積累誤差用,。由于對補償值N進(jìn)行了四舍五入,所以剩余誤差值Y的值會小于15.3 ppm,,且由于本次補償?shù)氖S嗾`差會累積到下次需要補償?shù)恼`差值中,,所以計時誤差不會隨著計時時間的變長累積變大。該補償電路的功能框圖如圖4所示,,理論的精度效果圖如圖5所示,。
該補償電路采用全數(shù)字方式實現(xiàn),受集成電路工藝波動的影響小,且實現(xiàn)簡單,。該主控芯片的RTC經(jīng)賽西實驗室測試,,在-45 ℃~85 ℃溫度范圍內(nèi),計時誤差在4 ppm以內(nèi),。
2.3 計量芯主控的低功耗設(shè)計技術(shù)
計量芯主控另一關(guān)鍵核心技術(shù)是低功耗設(shè)計,,以支撐計量芯10年不間斷工作。CMOS邏輯電路的功耗可以分為動態(tài)功耗和靜態(tài)功耗兩部分,。動態(tài)功耗是指當(dāng)芯片處于激活(active)狀態(tài)時,,也即信號發(fā)生跳變時的功耗,靜態(tài)功耗是指芯片處于未激活狀態(tài)或者沒有信號跳變時的功耗[5-6],。動態(tài)功耗70%源自開關(guān)電容電流功耗[6],,開關(guān)電容的功耗定義如式(3)所示:
2.3.1 動態(tài)功耗優(yōu)化
根據(jù)式(3)的理論,設(shè)計上降低動態(tài)功耗的方法主要是降低數(shù)字電路的翻轉(zhuǎn)率,,主要包括以下技術(shù)。
(1)門控時鐘技術(shù)
對每個功能模塊設(shè)計單獨的時鐘門控,,在不需要模塊工作時,,關(guān)閉模塊時鐘,減少時鐘電路的翻轉(zhuǎn)功耗,。同時,,在對芯片的RTL代碼進(jìn)行綜合時,插入時鐘門控單元,,這樣寄存器輸入端的時鐘在信號不翻轉(zhuǎn)時就不會翻轉(zhuǎn),,極大地降低了時鐘的動態(tài)功耗[7]。
(2)低功耗總線技術(shù)
總線技術(shù)引入到SoC設(shè)計使得芯片設(shè)計進(jìn)入模塊化結(jié)構(gòu)設(shè)計階段,,方便了系統(tǒng)的集成,,也有利于系統(tǒng)的擴展。但另一方面,, AHB總線和APB總線信號伸展到了芯片的每一個功能模塊,,而從總線訪問的互斥性可以看到,總線的主設(shè)備同一時刻只會訪問一個從設(shè)備,,但是不被訪問的從設(shè)備的輸入總線信號還是會跟隨翻轉(zhuǎn),,所以總線的無效翻轉(zhuǎn)功耗很高。
本設(shè)計首先對總線上的地址和寫數(shù)據(jù)總線進(jìn)行選擇門控,,只有送往被操作外設(shè)的地址和數(shù)據(jù)總線是有效翻轉(zhuǎn)的,,其余外設(shè)的地址和寫數(shù)據(jù)總線保持靜止。此外,,采用總線反相技術(shù),,總線矩陣處理模塊將總線上當(dāng)前數(shù)據(jù)總線值與上一個數(shù)據(jù)值進(jìn)行比較,選擇是發(fā)送原碼還是反碼,以及依據(jù)哪一種碼導(dǎo)致總線的翻轉(zhuǎn)更少,。設(shè)計時需要總線增加一位極性信號,,以讓接收模塊正確地恢復(fù)總線上的數(shù)據(jù)。通過這兩種方式,,極大地減小了總線的動態(tài)功耗,,將總線功耗占整芯片動態(tài)功耗的比例從32%降到了26%。
(3)異步電路設(shè)計
在同步電路中,,系統(tǒng)由全局時鐘控制,,在每個時鐘脈沖到來時,只要在翻轉(zhuǎn)時鐘控制下的所有寄存器都會消耗動態(tài)功耗,,無論該寄存器的數(shù)據(jù)是否變化,。
而異步電路設(shè)計技術(shù),整個設(shè)計不需要有統(tǒng)一的時鐘,,電路僅在需要翻轉(zhuǎn)的時候才會啟動工作,,沒有這種無效的功耗浪費,完成工作之后就恢復(fù)靜止?fàn)顟B(tài),,處于靜止?fàn)顟B(tài)的電路單元僅僅消耗漏電流,,不會有動態(tài)功耗[7]。本文設(shè)計的主控在RTC模塊,、看門狗模塊中,,均采用了異步電路設(shè)計,確保芯片在電池供電下正常計時,,并保持最低功耗,。
該芯片在TSMC 180 nm eFlash工藝上流片,芯片實測動態(tài)功耗數(shù)據(jù)為:芯片供電電壓為3.0 V,,配置LDO為1.7 V,,主時鐘選擇2 MHz時,在溫度-40℃~85℃范圍內(nèi),,芯片總功耗為表1所示,。
2.3.2 靜態(tài)功耗優(yōu)化
根據(jù)電表的不同應(yīng)用場景合理設(shè)計芯片工作模式。電表在正常調(diào)試完成后的工作狀態(tài)分3種,。第一種為電表在庫房尚未掛裝現(xiàn)場,,此時只需要RTC精確計時,不需要計量,、通信等其他功能,,也不需要RAM數(shù)據(jù)的存儲保留,這種工作模式下,,可以通過局部掉電做到最低功耗,;第二種工作場景應(yīng)用于電表正常掛裝工作時,,電表保持全功能工作模式,此種模式下,,主控芯片的要求是盡量降低芯片的動態(tài)功耗,;第三種場景對應(yīng)于電表掛裝后市電掉電,而以電池供電的工作模式,,此時需要保留電表掉電時的現(xiàn)場狀態(tài),,RTC正常計時。對應(yīng)于主控的工作模式,,需要保持RTC正常工作和正常的晶體溫度補償,,同時RAM和CPU等都需要保持帶電以保留工作現(xiàn)場,來電喚醒和觸發(fā)喚醒電路保持工作,,其他電路都將時鐘關(guān)閉以降低功耗,。
根據(jù)上述3種工作場景,該芯片設(shè)計了stop,、sleep和active模式,。active時主控正常工作;sleep模式下,,RTC和喚醒源保持工作,,其他模塊保持有電但靜止模式;stop下,,除RTC和喚醒源外,,其余模塊直接掉電,,以達(dá)到最低功耗,。3種模式可以互相轉(zhuǎn)換,如圖6所示,。
芯片sleep模式下,,供電電壓3.0 V,LDO配置為1.8 V,,RTC使能,,所有其他的外設(shè)均不使能,在溫度-40 ℃~105 ℃范圍內(nèi),,芯片的總功耗測試數(shù)據(jù)如表2,。
3 管理芯主控功能和關(guān)鍵技術(shù)
3.1 管理芯主控功能
雙芯智能電表的管理芯主要負(fù)責(zé)費控管理、顯示,、事件記錄,、負(fù)荷控制等任務(wù),同時提供一系列對外通信接口,。本文設(shè)計的管理芯部分主控芯片的功能框圖如圖7所示,。
IR46與傳統(tǒng)智能電表的最大特點是管理芯要支持程序的遠(yuǎn)程或本地的在應(yīng)用升級。管理芯主控需要提供合理完善的解決方案,滿足電表穩(wěn)定,、可靠,、高效地進(jìn)行電表程序的本地和遠(yuǎn)程升級,這是管理芯區(qū)別于以前電表主控需要完成的一個關(guān)鍵功能,。
3.2 管理芯主控在應(yīng)用升級關(guān)鍵技術(shù)
主控的遠(yuǎn)程或本地升級主要指的是對MCU芯片內(nèi)部的Flash存儲器的數(shù)據(jù)進(jìn)行擦除及重新下載,。MCU對Flash存儲器的編程一般可以分成3種方式[8]:JTAG、ISP(In System Program)和IAP(In Application Program),。JTAG編程一般用于產(chǎn)品應(yīng)用開發(fā)階段的調(diào)試,;ISP強調(diào)芯片在應(yīng)用系統(tǒng)現(xiàn)場的升級,但不要求程序升級時芯片繼續(xù)保持工作狀態(tài),,可以終止應(yīng)用軟件的運行,,適用于便攜式設(shè)備的升級;IAP和ISP最重要的區(qū)別是IAP支持應(yīng)用程序正常運行的情況下,,對Flash存儲器中的部分程序進(jìn)行擦除和重寫操作,,為終端固件的遠(yuǎn)程自動升級帶來了很大的方便。雙芯電表方案的管理芯,,采用的是IAP方式,,支持程序的遠(yuǎn)程或本地的在應(yīng)用升級。
為了保障電表程序在應(yīng)用升級的正確性,,管理芯主控設(shè)計在程序升級的不同階段,,都進(jìn)行指令和程序的正確性檢查。首先確認(rèn)升級軟件包的接收是否完整正確,,接收正確后,,將新程序?qū)懙紽lash,并對編寫結(jié)果進(jìn)行校驗確認(rèn),;校驗正確后,,將對新更新程序進(jìn)行自檢,如果自檢沒通過,,則需要有方式能將此部分程序恢復(fù)到升級前的一個版本,。硬件上需要有足夠的空間對被替換的老版本程序進(jìn)行備份并記錄;能支持PC指針的靈活跳轉(zhuǎn),;流程上要保證每一步都需要校驗確認(rèn)正確后再轉(zhuǎn)到下一步,。同時,軟件上要求管理芯的主控程序采用模組化設(shè)計方案,,即顯示模塊,、通信模塊、費控模塊,、事件模塊等模塊的獨立設(shè)計,,互不影響,,以保證電能表軟件支持對各模塊的獨立升級,這樣避免了軟件整體升級帶來的升級效率低,、硬件存儲和通信開銷大的缺點,。
應(yīng)用升級控制流程圖如圖8所示。該芯片在UMC55工藝上流片成功,,用該芯片研發(fā)的樣表進(jìn)行在應(yīng)用升級的測試,,模擬升級過程中程序傳輸出錯、程序?qū)懗鲥e,,在升級的各個環(huán)節(jié)發(fā)生電表掉電,,芯片均能正確處理,報告出錯環(huán)節(jié),,并給出信號開始下次升級,,并最終升級成功。
4 總結(jié)
本文研究了基于IR46標(biāo)準(zhǔn)的雙芯智能電能表方案,,根據(jù)計量芯和管理芯各自完成的功能,,設(shè)計了計量芯部分主控芯片和管理芯主控芯片。針對計量芯的高精度計時需求,,提出了基于累積誤差控制的溫度補償電路,;針對低功耗需求,采用了降低動態(tài)和靜態(tài)功耗的一系列關(guān)鍵技術(shù),。管理芯主控部分,,重點研究了高可靠安全的在應(yīng)用升級相關(guān)技術(shù),實現(xiàn)管理芯主控應(yīng)用程序的遠(yuǎn)程升級,。本文研究內(nèi)容對未來IR46標(biāo)準(zhǔn)的雙芯電表和電表主控芯片的開發(fā)具有很好的參考意義,。
參考文獻(xiàn)
[1] 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)Q/GDW1364-2013,單相智能電能表技術(shù)規(guī)范[S].
[2] 申斌.智能電表系統(tǒng)的設(shè)計與研究[D].南京:南京林業(yè)大學(xué),,2013.
[3] 鄒云.溫度補償晶體振蕩器的研究[D].天津:南開大學(xué),,2010.
[4] 趙東艷,,周芝梅.一種基于累積誤差控制的RTC補償算法及電路[J].電子技術(shù)應(yīng)用,,2014,40(12).
[5] 馬芝.低功耗方法在SoC芯片設(shè)計中的應(yīng)用[J].中國集成電路,,2010(7).
[6] 崔義智.低功耗技術(shù)在后端設(shè)計中的應(yīng)用[D].上海:復(fù)旦大學(xué),,2008.
[7] 郭宏泓.超低功耗異步電路設(shè)計研究[D].鎮(zhèn)江:江蘇大學(xué),2009.
[8] 彭井花,,蔡聲鎮(zhèn).基于GPRS的嵌入式系統(tǒng)軟件的遠(yuǎn)程在線升級[J].現(xiàn)代電子技術(shù),,2009(4).
作者信息:
周芝梅1,2,,趙東艷1,,2,,張海峰1,2,,杜 君1,,2,王維彬1,,2
(1.北京智芯微電子科技有限公司,,國家電網(wǎng)公司重點實驗室電力芯片設(shè)計分析實驗室,北京100192,;
2.北京智芯微電子科技有限公司,,北京市電力高可靠性集成電路設(shè)計工程技術(shù)研究中心,北京100192)