<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          4.1 的硬件

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

          4.2 FM3116的軟件

          4.2.1 FM3116初始化操作

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

          4.2.2 實(shí)時(shí)時(shí)鐘程序

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

          讀取實(shí)時(shí)時(shí)鐘的C語(yǔ)言程序代碼如下:

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

          4.2.3 器讀寫程序

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

          5 結(jié)束語(yǔ)

          由于鐵電存儲(chǔ)器具有讀寫速度快,功耗低和無(wú)限次寫入等特性,同時(shí)擁有RAM存儲(chǔ)器和非易失性存儲(chǔ)器的特性,它是EEPROM的理想替代品。將FM3116應(yīng)用到復(fù)費(fèi)率電能表中既節(jié)省成本,又簡(jiǎn)化軟件設(shè)計(jì)。

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

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();