新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FM3116的電能表存儲系統(tǒng)的軟硬件設(shè)計

基于FM3116的電能表存儲系統(tǒng)的軟硬件設(shè)計

作者: 時間:2009-12-29 來源:網(wǎng)絡(luò) 收藏

4 在復(fù)費率中的應(yīng)用

4.1 的硬件

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

4.2 FM3116的軟件

4.2.1 FM3116初始化操作

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

4.2.2 實時時鐘程序

復(fù)費率實現(xiàn)復(fù)費率功能,需要準確的實時時鐘作為時段劃分根據(jù)。FM3116內(nèi)部集成有高精度的實時時鐘模塊,可通過對相應(yīng)寄存器的讀寫,實現(xiàn)對實時時鐘的設(shè)置與讀取操作。設(shè)置實時時鐘的C語言程序代碼(只舉例了設(shè)置時鐘的日期數(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應(yīng)用到復(fù)費率電能表中既節(jié)省成本,又簡化軟件設(shè)計。

電能表相關(guān)文章:電能表原理

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉