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