帶RTC的I2C總線鐵電存儲器FM31256的設(shè)計
FM31256是由Ramtron公司推出的新一代多功能系統(tǒng)監(jiān)控和非易失性鐵電存儲芯片。與其他非易失性存儲器比較,它具有如下優(yōu)點: 讀/寫速度快,沒有寫等待時間;功耗低,靜態(tài)電流小于1 mA,寫入電流小于150 mA;擦寫使用壽命長,芯片的擦寫次數(shù)為100億次,比一般的EEPROM存儲器高10萬倍,即使每秒讀/寫30次,也能用10年;讀/寫的無限性,芯片擦寫次數(shù)超過100億次后,還能和SRAM一樣讀/寫。
本文引用地址:http://www.ex-cimer.com/article/201808/387851.htm鐵電存儲器(FRAM)的核心技術(shù)是鐵電晶體材料。這一特殊材料使鐵電存儲器同時擁有隨機(jī)存取存儲器(RAM)和非易失性存儲的特性。本文介紹了FM31256的主要功能,并具體給出了基于嵌入式C語言編寫的存儲器讀/寫程序。
1 FM31256的基本結(jié)構(gòu)及原理
FM31256由256 KB存儲器和處理器配套電路(processor companion)兩部分組成。與一般的采用備份電池保存數(shù)據(jù)不同,FM31256是真正意義上的非易失(truly nonvolatile)存儲器,并且用戶可以選擇對不同的存儲區(qū)域以軟件方式進(jìn)行寫保護(hù)。
FM31256 器件將非易失FRAM與實時時鐘(RTC)、處理器監(jiān)控器、非易失性事件計數(shù)器、可編程可鎖定的64位ID號和通用比較器相結(jié)合。其中,通用比較器可提前在電源故障中斷(NMI)時發(fā)揮作用或?qū)崿F(xiàn)其他用途。采用先進(jìn)的0.35 μm制造工藝,這些功能通過一個通用接口嵌入到14個引腳的SOIC封裝中,從而取代系統(tǒng)板上的多個元件。存儲器的讀/寫以及其他控制功能都通過工業(yè)標(biāo)準(zhǔn)的I2C總線來實現(xiàn)。
圖1為FM31256的原理圖。其中,SDA和SCL引腳用于與CPU進(jìn)行數(shù)據(jù)交換和命令寫入,數(shù)據(jù)輸出部分均具有施密特觸發(fā)器,以提高抗干擾性能;同時,SDA作為二線接口中的雙向信號線,集電極開路輸出,可與二線總線上其他器件進(jìn)行“線或”。A1~A0為器件地址選擇信號,即總線上可同時使用4個同類器件。正常模式下,PFI引腳分別為比較器的輸入(不可懸空),CAL/PFO引腳輸出PFI引腳的輸入信號與1.2 V參考電壓之間的比較結(jié)果;校準(zhǔn)模式下,CAL/PFO引腳將輸出512 Hz的方波用于時鐘校準(zhǔn)。CNT2~CNT1是通過備份電池支持的事件計數(shù)器的兩路輸入端,通過邊沿觸發(fā)啟動計數(shù)器,觸發(fā)沿由用戶自由選擇。
圖1 FM31256原理圖
2 FM31256功能及使用方法
在FM31256中,有25個特殊功能寄存器(SFR)00H~18H。通過對這些功能寄存器進(jìn)行操作,可以實現(xiàn)各種功能。
2.1 特殊功能寄存器
(1) 實時時鐘和比較器
實時時鐘包括晶體振蕩器、時鐘分頻器和寄存器系統(tǒng)。它分割32.768 Hz的時基信號以提供1 s(1 Hz)的分辨率,寄存器(02H~08H)以BCD格式提供秒、分、時、星期、日、月、年信息,用戶可對其進(jìn)行讀/寫訪問。啟動時鐘前須將SFR中01H地址的OSCEN位(D7)置位,振蕩器起振;同時將00H地址的R位(D0)置位,可將時鐘數(shù)據(jù)寫入寄存器用于讀出。若此時正處于時鐘刷新階段,則由于刷新操作優(yōu)先于寫入寄存器的操作,因而保證了時鐘的準(zhǔn)確性。重新設(shè)置時鐘時,只須設(shè)定00H地址的W位。
FM31256的時鐘精度可通過軟件校準(zhǔn),將00H地址的CAL位(D2)置位,時鐘進(jìn)入校準(zhǔn)模式,比較器輸出512 Hz的頻率信號,并可通過設(shè)置01H地址的CAL4~CAL0位(D4~D0)確定校準(zhǔn)值。當(dāng)00H地址的CAL位(D2)為0時,進(jìn)入比較器模式。
(2) 處理器伴侶
處理器伴侶包括CPU通常需要的功能。系統(tǒng)監(jiān)測由低電平狀態(tài)或看門狗計數(shù)溢出的中斷輸出信號。
當(dāng)系統(tǒng)電源電壓低于設(shè)定的閾值或看門狗計數(shù)器溢出時,FM31256將輸出低電平復(fù)位脈沖,復(fù)位信號持續(xù)100ms。改變0BH地址的VTP1~VTP0位(D1~D0),可以設(shè)定電平檢測的閾值;改變0AH地址的WDT4~WDT0位(D4~D0),看門狗的溢出時間可以在100 ms到3 s之間選擇,其中0AH地址的WDE位(D7),用于看門狗啟動或停止;09H地址用于監(jiān)視復(fù)位信號來源(看門狗計數(shù)器、上電復(fù)位或后備電源電壓)以及控制看門狗計數(shù)器清零。系統(tǒng)軟件須在要求的時間周期內(nèi),向09H地址的WR3~WR0位(D3~D0)寫入1010,使計數(shù)器清零。
(3) 事件計數(shù)器
FM31256有2個獨立的后備電池支持的16位事件計數(shù)器CN1和CN2,位于寄存器0DH~10H中。若將SFR中0CH地址的CC位(D2)置位,則可以組成一個32位的計數(shù)器。CIN1和CIN2是事件計數(shù)器信號輸入端,在32位計數(shù)器模式下CIN2無效。計數(shù)采用可編程邊沿觸發(fā)方式,若0CH地址的C1P位(D0)置位,則CIN1采用上升沿觸發(fā),否則是下降沿觸發(fā);0CH地址的C2P位(D1)用于控制CIN2。
(4) 串行數(shù)據(jù)標(biāo)識區(qū)
FM31256的SFR中的11H~18H地址串行標(biāo)識區(qū)中可以保存8字節(jié)(64位)數(shù)據(jù)。該存儲區(qū)為非易失性存儲區(qū),可對其進(jìn)行無限次的讀/寫操作,但如果將0BH地址的SNL位(D7)置位,則不能再對該存儲區(qū)進(jìn)行操作,且這種操作是不可逆的。
2.2 FM31256的讀/寫操作
FM31256作為從機(jī),集成了兩個功能不同的部件,每個部件都可以被獨立訪問。一個是存儲器,訪問時從機(jī)地址的位7~4必須被設(shè)置為1010B;若要訪問實時時鐘/處理器伴侶,則從機(jī)地址的位7~4必須被設(shè)置為1101B。該器件采用二線制的I2C接口,二線協(xié)議由SDA和SCL兩個引腳的狀態(tài)確定。共有4種狀態(tài): 開始、停止、數(shù)據(jù)傳輸及應(yīng)答。其通信基本格式如圖2所示。
評論