基于鐵電存儲(chǔ)器FM25640在電表數(shù)據(jù)存儲(chǔ)中的應(yīng)用
2.2 工作過程
本電表系統(tǒng)上電復(fù)位后,首先將進(jìn)行一系列的初始化操作,包括單片機(jī)MC68HC908LJ12的時(shí)鐘發(fā)生模塊CGM的寄存器設(shè)置、系統(tǒng)時(shí)鐘的選擇、I/O口輸入輸出的設(shè)置、SPI的兩個(gè)控制寄存器SPCR和SPSCR的初始化、以及開中斷允許等。然后再進(jìn)行ADE7758的模式設(shè)置。在這些初始化工作完成后,ADE7758便開始將檢測(cè)到的各個(gè)電能數(shù)據(jù)存放在相應(yīng)的內(nèi)部寄存器中。單片機(jī)通過I/O口PTA4給ADE7758的CS端一個(gè)低電平,即可選中ADE7758,之后再由ADE7758乎電能數(shù)據(jù)通過SPI接口傳輸?shù)絾纹瑱C(jī)MC68HC908LJ12的RAM中。單片機(jī)在對(duì)數(shù)據(jù)進(jìn)行處理后,再通過I/O口PTA5給FM25640的CS端一個(gè)低電平,以選中FM25640,同時(shí)調(diào)用FM25640寫數(shù)據(jù)子程序,并將數(shù)據(jù)存儲(chǔ)到FM25640中。然后每隔一分鐘,MC68HC908LJ12便發(fā)出一次更新數(shù)據(jù)的命令,并重復(fù)上述過程。由于每隔一分鐘更新一次數(shù)據(jù),這樣,一年365天的擦寫次數(shù)為1×60×24×365,即525600次,而FM25640的擦寫次數(shù)達(dá)100億次,這樣計(jì)算,F(xiàn)M25640可以工作的年數(shù)為19025年!因此,如果系統(tǒng)要求更高的實(shí)時(shí)性,則完全可以縮短更新數(shù)據(jù)的周期,而FM25640出色的擦寫性能完全可以滿足要求。另外,也不必?fù)?dān)心數(shù)據(jù)傳輸過程中掉電時(shí)數(shù)據(jù)的丟失,因?yàn)镕M25640幾乎可以認(rèn)為是實(shí)時(shí)寫入,無須任何等待時(shí)間,從而保證了系統(tǒng)具有很高的可靠性。
3 軟件設(shè)計(jì)
通過FM25640的硬件SPI接口可極大地方便其軟件程序的編寫。
在對(duì)FM25640寫數(shù)據(jù)時(shí)。首先需要送WREN指令,因?yàn)镕M25640上電后的初始狀態(tài)為禁止寫操作,故應(yīng)發(fā)送WREN指令以允許寫操作。下一個(gè)執(zhí)行的指令是WRITE指令,它包括指令碼、地址以及所要寫入的數(shù)據(jù)。對(duì)FM25640讀數(shù)據(jù)的過程與寫數(shù)據(jù)類似,只是在讀操作之前不需要再先送WREN指令。限于篇幅,這里只給出FM25640寫數(shù)據(jù)的子程序:
4 結(jié)束語
本文介紹了FM25640的主要特性和使用方法,著重討論了它在電表數(shù)據(jù)存儲(chǔ)中應(yīng)用。由于鐵電存儲(chǔ)器在數(shù)據(jù)存儲(chǔ)方面的出色性能,它不僅可以用于電表的數(shù)據(jù)存儲(chǔ),而且可以應(yīng)用在大量的現(xiàn)代儀器儀表中(如水表、煤氣表、門禁系統(tǒng)、醫(yī)療設(shè)備、自動(dòng)取款機(jī)、汽車記錄儀、工業(yè)儀器等等)。隨著時(shí)間的推移和鐵電存儲(chǔ)器自身的發(fā)展,我們完全有理由相信,這種存儲(chǔ)器必將得到越來越廣泛的應(yīng)用。
評(píng)論