《電子技術(shù)應用》
您所在的位置:首頁 > 微波|射頻 > 設計應用 > 基于FM3116的電能表存儲系統(tǒng)的軟硬件設計
基于FM3116的電能表存儲系統(tǒng)的軟硬件設計
摘要: 在單片機應用和智能儀器中,存儲器已成為不可或缺的一部分,包括系統(tǒng)工作時存儲臨時性數(shù)據(jù)的RAM,以及 ...
Abstract:
Key words :

在單片機應用和智能儀器中,存儲器已成為不可或缺的一部分,包括系統(tǒng)工作時存儲臨時性數(shù)據(jù)的RAM,以及永久性存儲數(shù)據(jù)的非易失性存儲器。RAM簡單易用,存儲速度快,但掉電數(shù)據(jù)易丟失;而非易失性存儲器盡管能夠長期保存數(shù)據(jù),但存儲速度慢,寫入功耗高,而且讀寫次數(shù)受限。采用鐵電存儲器(FRAM)可解決上述問題。這種存儲器的核心是鐵電晶體材料具有RAM快速讀寫的優(yōu)點,同時也具有非易失性存儲器永久存儲數(shù)據(jù)的特點?;谏鲜鎏攸c,介紹一種FRAM FM3116在復費率電能表中的應用設計。

2 FM3116簡介

 FM3116是Ramtron公司新一代鐵電存儲器,該存儲器主要包括16 KB的非易失性存儲器、實時時鐘、低電壓復位、看門狗計數(shù)器、非易失性的事件計數(shù)器等。FM3116的引腳配置如圖1所示,各引腳功能描述如表1所列。

 

    FM3116采用I2C接口。FM3116內(nèi)部集成存儲器及實時時鐘/處理器伴侶。可獨立訪問每個元件,其訪問地址分別為1010B和1101B。主機通過對這兩個元件的讀寫操作實現(xiàn)對FM3116讀取、存儲數(shù)據(jù)和對實時時鐘/處理器伴侶的控制。

3 電能表的數(shù)據(jù)存儲系統(tǒng)

  作為計量電能的儀表,電能表的計量精度極為重要,它不但與電能計量器件的精度有關(guān),而且還與電能表的數(shù)據(jù)存儲系統(tǒng)有關(guān)。如果檢測到的電能數(shù)據(jù)無法寫入存儲器或?qū)懭氪鎯ζ鲿r出錯,電能表的精度將大大降低。

  傳統(tǒng)電能表數(shù)據(jù)存儲系統(tǒng)采用EEPROM存儲器+掉電檢測電路。由于EEPROM存儲器的存儲次數(shù)約一百萬次,因此不是一個電能脈沖就存儲一次,而是將脈沖暫存到單片機的RAM中,等脈沖記錄到一定值或一定時間,再將脈沖數(shù)據(jù)轉(zhuǎn)存到EEPROM中。因此需要掉電檢測電路實時檢測當前是否處于昝電狀態(tài),當檢測到掉電時就將RAM中的脈沖數(shù)據(jù)存儲到EEPROM中。由于寫EEPROM較慢,大概有10 ms的寫周期,這就要求在掉電后有足夠的電壓,以保證脈沖數(shù)據(jù)寫入EEPROM中,通常是利用大容量電容來確保掉電后的電壓。但是,基于寫EEPROM的特點,寫入EEPROM數(shù)據(jù)易于出錯。為了提高寫入數(shù)據(jù)的準確性,需要在軟件設計上采取一些措施。因此,傳統(tǒng)電能表數(shù)據(jù)存儲系統(tǒng)無論是在硬件上還是在軟件上都比較復雜。

  該系統(tǒng)設計的復費率電能表采用ADE7755將電網(wǎng)中采集到的功率信息轉(zhuǎn)換成與之成正比的脈沖信號,送給單片機。AVR單片機作為中心處理單元對脈沖進行計數(shù),從而實現(xiàn)電能計量。由于是復費率電能表,除了實時計量電能外,還具有復費率、事件記錄等多種功能,需存儲大量數(shù)據(jù),并且擦寫次數(shù)多。因此,復費率電能表系統(tǒng)需要設計一種壽命長,讀寫數(shù)據(jù)安全的數(shù)據(jù)存儲系統(tǒng)。目前,F(xiàn)M3116是非常適合電能表設計要求的存儲器。它的存儲時間短,能夠在極短的時間內(nèi)保存大量數(shù)據(jù),實現(xiàn)了電能表在突然掉電時數(shù)據(jù)及時、安全存儲。

4 FM3116在復費率電能表中的應用

4.1 FM3116的硬件設計

  圖2所示為AVR單片機與FM3116的接口電路,AVR單片機提供了實現(xiàn)標準I2C通信的硬件接口TMI,因此可直接將TMI接口的數(shù)據(jù)傳輸引腳PD1/SDA和時鐘輸出引腳PD0/SCL分別與FM3116的SDA和SCL相連,通過對TWI接口寄存器的設置實現(xiàn)與FM3116的I2C通信。R1和R2為I2C總線的上拉電阻。

 

4.2 FM3116的軟件設計

4.2.1 FM3116初始化操作

 單片機對FM3116的讀寫程序包括存儲器讀寫程序和實時時鐘/處理器伴侶讀寫程序兩部分。在對FM3116讀寫前,單片機首先需對其初始化。在復費率電能表系統(tǒng)設計中,就是對相應寄存器初始化,采用C語言編寫的程序代碼如下:

 

4.2.2 實時時鐘程序

  復費率電能表實現(xiàn)復費率功能,需要準確的實時時鐘作為時段劃分根據(jù)。FM3116內(nèi)部集成有高精度的實時時鐘模塊,可通過對相應寄存器的讀寫,實現(xiàn)對實時時鐘的設置與讀取操作。設置實時時鐘的C語言程序代碼(只舉例了設置時鐘的日期數(shù)據(jù))如下:

 

 讀取實時時鐘的C語言程序代碼如下:

 

 此外,F(xiàn)M31XX存儲器還具有時鐘校準功能,可提高時鐘準確度。

4.2.3 存儲器讀寫程序

  讀寫FM3116存儲器一般用于實現(xiàn)電能表電能數(shù)據(jù)及各種事件記錄數(shù)據(jù)的讀取和存儲。由于各種事件數(shù)據(jù)的格式不同,包括單字節(jié)的字符型數(shù)據(jù)、雙字節(jié)的整型數(shù)據(jù)以及4字節(jié)浮點型數(shù)據(jù)。因此,為了方便讀取各種數(shù)據(jù),需要編寫對各種數(shù)據(jù)讀寫函數(shù)。FM3116存儲器讀寫程序與普通的I2C器件的讀寫操作基本相同,其從機地址為1010 xxxxb和1101xxxxb。

5 結(jié)束語

  由于鐵電存儲器具有讀寫速度快,功耗低和無限次寫入等特性,同時擁有RAM存儲器和非在單片機應用和智能儀器中,存儲器已成為不可或缺的一部分,包括系統(tǒng)工作時存儲臨時性數(shù)據(jù)的RAM,以及永久性存儲數(shù)據(jù)的非易失性存儲器。RAM簡單易用,存儲速度快,但掉電數(shù)據(jù)易丟失;而非易失性存儲器盡管能夠長期保存數(shù)據(jù),但存儲速度慢,寫入功耗高,而且讀寫次數(shù)受限。采用鐵電存儲器(FRAM)可解決上述問題。這種存儲器的核心是鐵電晶體材料具有RAM快速讀寫的優(yōu)點,同時也具有非易失性存儲器永久存儲數(shù)據(jù)的特點。基于上述特點,介紹一種FRAM FM3116在復費率電能表中的應用設計。

2 FM3116簡介

 FM3116是Ramtron公司新一代鐵電存儲器,該存儲器主要包括16 KB的非易失性存儲器、實時時鐘、低電壓復位、看門狗計數(shù)器、非易失性的事件計數(shù)器等。FM3116的引腳配置如圖1所示,各引腳功能描述如表1所列。

 

    FM3116采用I2C接口。FM3116內(nèi)部集成存儲器及實時時鐘/處理器伴侶??瑟毩⒃L問每個元件,其訪問地址分別為1010B和1101B。主機通過對這兩個元件的讀寫操作實現(xiàn)對FM3116讀取、存儲數(shù)據(jù)和對實時時鐘/處理器伴侶的控制。

3 電能表的數(shù)據(jù)存儲系統(tǒng)

  作為計量電能的儀表,電能表的計量精度極為重要,它不但與電能計量器件的精度有關(guān),而且還與電能表的數(shù)據(jù)存儲系統(tǒng)有關(guān)。如果檢測到的電能數(shù)據(jù)無法寫入存儲器或?qū)懭氪鎯ζ鲿r出錯,電能表的精度將大大降低。

  傳統(tǒng)電能表數(shù)據(jù)存儲系統(tǒng)采用EEPROM存儲器+掉電檢測電路。由于EEPROM存儲器的存儲次數(shù)約一百萬次,因此不是一個電能脈沖就存儲一次,而是將脈沖暫存到單片機的RAM中,等脈沖記錄到一定值或一定時間,再將脈沖數(shù)據(jù)轉(zhuǎn)存到EEPROM中。因此需要掉電檢測電路實時檢測當前是否處于昝電狀態(tài),當檢測到掉電時就將RAM中的脈沖數(shù)據(jù)存儲到EEPROM中。由于寫EEPROM較慢,大概有10 ms的寫周期,這就要求在掉電后有足夠的電壓,以保證脈沖數(shù)據(jù)寫入EEPROM中,通常是利用大容量電容來確保掉電后的電壓。但是,基于寫EEPROM的特點,寫入EEPROM數(shù)據(jù)易于出錯。為了提高寫入數(shù)據(jù)的準確性,需要在軟件設計上采取一些措施。因此,傳統(tǒng)電能表數(shù)據(jù)存儲系統(tǒng)無論是在硬件上還是在軟件上都比較復雜。

  該系統(tǒng)設計的復費率電能表采用ADE7755將電網(wǎng)中采集到的功率信息轉(zhuǎn)換成與之成正比的脈沖信號,送給單片機。AVR單片機作為中心處理單元對脈沖進行計數(shù),從而實現(xiàn)電能計量。由于是復費率電能表,除了實時計量電能外,還具有復費率、事件記錄等多種功能,需存儲大量數(shù)據(jù),并且擦寫次數(shù)多。因此,復費率電能表系統(tǒng)需要設計一種壽命長,讀寫數(shù)據(jù)安全的數(shù)據(jù)存儲系統(tǒng)。目前,F(xiàn)M3116是非常適合電能表設計要求的存儲器。它的存儲時間短,能夠在極短的時間內(nèi)保存大量數(shù)據(jù),實現(xiàn)了電能表在突然掉電時數(shù)據(jù)及時、安全存儲。

4 FM3116在復費率電能表中的應用

4.1 FM3116的硬件設計

  圖2所示為AVR單片機與FM3116的接口電路,AVR單片機提供了實現(xiàn)標準I2C通信的硬件接口TMI,因此可直接將TMI接口的數(shù)據(jù)傳輸引腳PD1/SDA和時鐘輸出引腳PD0/SCL分別與FM3116的SDA和SCL相連,通過對TWI接口寄存器的設置實現(xiàn)與FM3116的I2C通信。R1和R2為I2C總線的上拉電阻。

 

4.2 FM3116的軟件設計

4.2.1 FM3116初始化操作

 單片機對FM3116的讀寫程序包括存儲器讀寫程序和實時時鐘/處理器伴侶讀寫程序兩部分。在對FM3116讀寫前,單片機首先需對其初始化。在復費率電能表系統(tǒng)設計中,就是對相應寄存器初始化,采用C語言編寫的程序代碼如下:

 

4.2.2 實時時鐘程序

  復費率電能表實現(xiàn)復費率功能,需要準確的實時時鐘作為時段劃分根據(jù)。FM3116內(nèi)部集成有高精度的實時時鐘模塊,可通過對相應寄存器的讀寫,實現(xiàn)對實時時鐘的設置與讀取操作。設置實時時鐘的C語言程序代碼(只舉例了設置時鐘的日期數(shù)據(jù))如下:

 

 讀取實時時鐘的C語言程序代碼如下:

 

 此外,F(xiàn)M31XX存儲器還具有時鐘校準功能,可提高時鐘準確度。

4.2.3 存儲器讀寫程序

  讀寫FM3116存儲器一般用于實現(xiàn)電能表電能數(shù)據(jù)及各種事件記錄數(shù)據(jù)的讀取和存儲。由于各種事件數(shù)據(jù)的格式不同,包括單字節(jié)的字符型數(shù)據(jù)、雙字節(jié)的整型數(shù)據(jù)以及4字節(jié)浮點型數(shù)據(jù)。因此,為了方便讀取各種數(shù)據(jù),需要編寫對各種數(shù)據(jù)讀寫函數(shù)。FM3116存儲器讀寫程序與普通的I2C器件的讀寫操作基本相同,其從機地址為1010 xxxxb和1101xxxxb。

5 結(jié)束語

  由于鐵電存儲器具有讀寫速度快,功耗低和無限次寫入等特性,同時擁有RAM存儲器和非失性存儲器的特性,它是EEPROM的理想替代品。將FM3116應用到復費率電能表中既節(jié)省成本,又簡化軟件設計。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 伊人久久综在合线亚洲不卡 | 日批免费观看视频 | 五月综合激情久久婷婷 | 欧美亚洲网站 | 国内精品综合九九久久精品 | 国产乱码精品一区二区三区网页版 | 亚洲午夜天堂 | 亚洲不卡影院 | 天天操天天干天搞天天射 | 天天摸夜夜 | 色综合久久久久久久久五月性色 | 大学生一级毛片全黄真人 | 成人观看网站a | 天天插天天狠天天透 | 成人涩涩视频 | 日日狠日 | 国产精品二区高清在线 | 性欧美videos粗暴 | 国产在线一区二区三区在线 | 午夜高h在线影院 | 精品剧情v国产在线麻豆 | 男女午夜性爽快免费视频不卡 | 亚洲宗合 | 国产一级aaa全黄毛片 | 欧美性猛交一区二区三区精品 | 成人av在线播放 | 日日操天天 | 五月天伊人 | 色偷偷亚洲第一成人综合网址 | 国内福利视频 | 黄色3级视频 | 国产精品成人观看视频国产 | 亚洲va乱码一区二区三区 | 制服丝袜日日 | 国产在线观看一区精品 | 在线亚洲欧美日韩 | 成人黄色在线观看 | 毛片动态 | 久草毛片 | 国产综合日韩伦理 | 日本天堂网在线 |