鐵電存儲器FM3116在復費率電能表中的應用
1 引言
本文引用地址:http://dyxdggzs.com/article/85078.htm在單片機應用和智能儀器中,存儲器已成為不可或缺的一部分,包括系統工作時(shí)存儲臨時(shí)性數據的RAM,以及永久性存儲數據的非易失性存儲器。RAM簡(jiǎn)單易用,存儲速度快,但掉電數據易丟失;而非易失性存儲器盡管能夠長(cháng)期保存數據,但存儲速度慢,寫(xiě)入功耗高,而且讀寫(xiě)次數受限。采用鐵電存儲器(FRAM)可解決上述問(wèn)題。這種存儲器的核心是鐵電晶體材料具有RAM快速讀寫(xiě)的優(yōu)點(diǎn),同時(shí)也具有非易失性存儲器永久存儲數據的特點(diǎn)?;谏鲜鎏攸c(diǎn),介紹一種FRAM FM3116在復費率電能表中的應用設計。
2 FM3116簡(jiǎn)介
FM3116是Ramtron公司新一代鐵電存儲器,該存儲器主要包括16 KB的非易失性存儲器、實(shí)時(shí)時(shí)鐘、低電壓復位、看門(mén)狗計數器、非易失性的事件計數器等。FM3116的引腳配置如圖1所示,各引腳功能描述如表1所列。
FM3116采用I2C接口。FM3116內部集成存儲器及實(shí)時(shí)時(shí)鐘/處理器伴侶??瑟毩⒃L(fǎng)問(wèn)每個(gè)元件,其訪(fǎng)問(wèn)地址分別為1010B和1101B。主機通過(guò)對這兩個(gè)元件的讀寫(xiě)操作實(shí)現對FM3116讀取、存儲數據和對實(shí)時(shí)時(shí)鐘/處理器伴侶的控制。
3 電能表的數據存儲系統
作為計量電能的儀表,電能表的計量精度極為重要,它不但與電能計量器件的精度有關(guān),而且還與電能表的數據存儲系統有關(guān)。如果檢測到的電能數據無(wú)法寫(xiě)入存儲器或寫(xiě)入存儲器時(shí)出錯,電能表的精度將大大降低。
傳統電能表數據存儲系統采用EEPROM存儲器+掉電檢測電路。由于EEPROM存儲器的存儲次數約一百萬(wàn)次,因此不是一個(gè)電能脈沖就存儲一次,而是將脈沖暫存到單片機的RAM中,等脈沖記錄到一定值或一定時(shí)間,再將脈沖數據轉存到EEPROM中。因此需要掉電檢測電路實(shí)時(shí)檢測當前是否處于昝電狀態(tài),當檢測到掉電時(shí)就將RAM中的脈沖數據存儲到EEPROM中。由于寫(xiě)EEPROM較慢,大概有10 ms的寫(xiě)周期,這就要求在掉電后有足夠的電壓,以保證脈沖數據寫(xiě)入EEPROM中,通常是利用大容量電容來(lái)確保掉電后的電壓。但是,基于寫(xiě)EEPROM的特點(diǎn),寫(xiě)入EEPROM數據易于出錯。為了提高寫(xiě)入數據的準確性,需要在軟件設計上采取一些措施。因此,傳統電能表數據存儲系統無(wú)論是在硬件上還是在軟件上都比較復雜。
該系統設計的復費率電能表采用ADE7755將電網(wǎng)中采集到的功率信息轉換成與之成正比的脈沖信號,送給單片機。AVR單片機作為中心處理單元對脈沖進(jìn)行計數,從而實(shí)現電能計量。由于是復費率電能表,除了實(shí)時(shí)計量電能外,還具有復費率、事件記錄等多種功能,需存儲大量數據,并且擦寫(xiě)次數多。因此,復費率電能表系統需要設計一種壽命長(cháng),讀寫(xiě)數據安全的數據存儲系統。目前,FM3116是非常適合電能表設計要求的存儲器。它的存儲時(shí)間短,能夠在極短的時(shí)間內保存大量數據,實(shí)現了電能表在突然掉電時(shí)數據及時(shí)、安全存儲。
4 FM3116在復費率電能表中的應用
4.1 FM3116的硬件設計
圖2所示為AVR單片機與FM3116的接口電路,AVR單片機提供了實(shí)現標準I2C通信的硬件接口TMI,因此可直接將TMI接口的數據傳輸引腳PD1/SDA和時(shí)鐘輸出引腳PD0/SCL分別與FM3116的SDA和SCL相連,通過(guò)對TWI接口寄存器的設置實(shí)現與FM3116的I2C通信。R1和R2為I2C總線(xiàn)的上拉電阻。
4.2 FM3116的軟件設計
4.2.1 FM3116初始化操作
單片機對FM3116的讀寫(xiě)程序包括存儲器讀寫(xiě)程序和實(shí)時(shí)時(shí)鐘/處理器伴侶讀寫(xiě)程序兩部分。在對FM3116讀寫(xiě)前,單片機首先需對其初始化。在復費率電能表系統設計中,就是對相應寄存器初始化,采用C語(yǔ)言編寫(xiě)的程序代碼如下:
4.2.2 實(shí)時(shí)時(shí)鐘程序
復費率電能表實(shí)現復費率功能,需要準確的實(shí)時(shí)時(shí)鐘作為時(shí)段劃分根據。FM3116內部集成有高精度的實(shí)時(shí)時(shí)鐘模塊,可通過(guò)對相應寄存器的讀寫(xiě),實(shí)現對實(shí)時(shí)時(shí)鐘的設置與讀取操作。設置實(shí)時(shí)時(shí)鐘的C語(yǔ)言程序代碼(只舉例了設置時(shí)鐘的日期數據)如下:
讀取實(shí)時(shí)時(shí)鐘的C語(yǔ)言程序代碼如下:
此外,FM31XX存儲器還具有時(shí)鐘校準功能,可提高時(shí)鐘準確度。
4.2.3 存儲器讀寫(xiě)程序
讀寫(xiě)FM3116存儲器一般用于實(shí)現電能表電能數據及各種事件記錄數據的讀取和存儲。由于各種事件數據的格式不同,包括單字節的字符型數據、雙字節的整型數據以及4字節浮點(diǎn)型數據。因此,為了方便讀取各種數據,需要編寫(xiě)對各種數據讀寫(xiě)函數。FM3116存儲器讀寫(xiě)程序與普通的I2C器件的讀寫(xiě)操作基本相同,其從機地址為1010 xxxxb和1101xxxxb。
5 結束語(yǔ)
由于鐵電存儲器具有讀寫(xiě)速度快,功耗低和無(wú)限次寫(xiě)入等特性,同時(shí)擁有RAM存儲器和非易失性存儲器的特性,它是EEPROM的理想替代品。將FM3116應用到復費率電能表中既節省成本,又簡(jiǎn)化軟件設計。
電能表相關(guān)文章:電能表原理
評論