FM3164是RAMTRON公司推出的新一代非易失性鐵電存儲器,采用I2C總線,是集串行存儲器、實時時鐘、看門狗、復位電路、低電壓檢測等多種功能于一體的強大芯片。如果將FM3164應用于火災自動報警系統的報警主機中,則可以解決實現報警信息的快速存儲功能和準確的系統時間,同時也解決了失效和處理器因干擾而死機問題。 1 FM3164的基本結構及內部原理 FM3164采用鐵電晶體材料,這一特殊材料使鐵電存儲器同時擁有隨機存取存儲器(RAM)和非易失性存儲的特性。FM3164將非易失FRAM與實時時鐘(RTC)、處理器監控器、非易失性事件計數器、可編程可鎖定的64位ID號和通用比較器相結合。采用先進的0.35μm制造工藝,這些功能通過一個通用I2C接口嵌入到14個引腳的SOIC封裝中,從而取代系統板上的多個元件。存儲器的讀/寫以及其他控制功能都通過工業標準的I2C總線來實現。其內部原理如圖1所示。 A0,A1是器件地址選擇信號(總線可最多連接4個I2C器件);SCL和SDA是與CPU通信接口,其中SDA是雙向數據端口;PFI是比較器輸入端,輸出結果送到CAL/PFO腳,同時它也是時鐘校正信號輸出端。當電源電壓低于2.5 V時,時鐘供電切換到后備電池。CNT1,CNT2是兩路外部事件計數器的輸入端。 2 FM3164功能 FM3164內有25個特殊功能寄存器SFR。CPU通過I2c總線控制這些寄存器來實現各種功能。FM3164內部功能圖如圖2所示。 2.1 內存操作 FM3164系列產品提供了不同的內存容量,包括4 Kb,16 Kb,64 Kb和256 Kb,該系列產品軟件兼容,所有版本使用一致的兩位字節地址操作內存,存儲器采用鐵電技術制造,可以二線制總線時鐘速度進行讀寫操作,讀寫以字節為單位,寫操作沒有任何延時,而且通過了無限次的讀寫次數。具備其他同類串行存儲器無法比擬的優點。 2.2 處理器檢測功能 FM3164提供兩個基本功能,早期電源失效檢測和防止軟件死鎖的看門狗功能。當電源跌落到預編程動作點VTP以下時,RST引腳被拉低,這將一直保持為低電平,直到電源電壓太低,以致不能維持電路運行。當電源電壓上升到VTP以上時,RST引腳將繼續保持低電平大約100 ms左右,以便在可靠的電壓水平提供足夠的復位時間,當1OO ms時間到后,RST引腳將恢復弱上拉狀態,使系統復位。看門狗計數器同樣能產生一個有效復位信號,看門狗計數器是一個自由運行可編程計數器,通過一個5 位非易失性寄存器,以100 ms步長編程為100 ms~3 s周期,它有兩個控制位:看門狗使能WDE和看門狗復位控制位WR,只有看門狗使能并且計數器超時后,復位信號才有效。 2.3 買時時鐘操作 實時時鐘(RTC)可以用電池或者電容作為后備電源,它提供了軟件校準功能,以便提供更高的精度。實時時鐘包括一個晶振,時鐘分頻器和供用戶訪問的寄存器系統。它分割32.768 Hz的時基信號,以提供1 s的分辨率,靜態寄存器為用戶提供了對時間的讀寫訪問,寄存器包括秒、分鐘、小時、星期、月、年。時間寄存器通過位于00H中的R,W位與時間內核同步,將R位從0改變為1時,時間信息從內核轉入保持寄存器中,以供用戶讀取,R位用于讀時間。設置位W為1將使用戶寄存器凍結,將它清除為0,使得用戶寄存器中的值被裝載進時間內核。W位用于設置新的時間值,用戶必須確保不將非法值寫入寄存器,除了寄存器被凍結期間以外,時間值可以被連續更新。 2.4 時鐘校準 當寄存器00H中的CAL位設置為1時,時鐘進入校準模式。當進入校準模式后,CAL/PFO輸出管腳用于校準功能,比較器輸出暫時無效。時鐘校準操作是通過晶振偏移對計數器進行數據修正進行的。在CAL模式,CAL/PFO管腳輸出512 Hz的方波,任何有規律的偏離512 Hz的頻率誤差都被轉換為時鐘誤差,用戶將此誤差轉換為PPM格式,并將適當的修正值寫入校準寄存器。時鐘校準有關的因素列在圖3中,正PPM誤差需要負調整,以減少脈沖;負PPM誤差需要正調整,以增加脈沖。正PPM調整需要將CALS位設置為1,負PPM調整將CLAS位設置為0。校準后,在校準溫度下時鐘的最高精度可以達到±2.17PPM或者每月±0.09分鐘。校準設置存儲在FRAM中,因此即使后備電源失效也不會丟失,設置值位于寄存器01H 的CA L.4-0,此值僅在CAL位設置為1時才可以進行寫入,為了退出校準模式,用戶必須將CAL位設置為0,此時CAL/PFO管腳恢復比較輸出功能。 2.5 事件計數器 FM3164有2個后備電池支持的16位事件計數器(或1個32位的事件計數器),位于寄存器0DH~1OH中。CIN1和CIN2是事件計數器信號輸入端,計數采用可編程邊沿觸發方式,若0CH地址的C1P位置1,則CIN1采用上升沿觸發,否則采用下降沿觸發。C2P控制CIN2。 3 FM3164的工作過程 FM3164作為從機,集成了兩個功能不同的部件,每個部件都可以被獨立訪問。一個是存儲器,訪問時從機地址的位7~4必須被設置為1010B;若要訪問實時時鐘/處理器等,則從機地址的位7~4必須被設置為1101B。該器件采用二線制的I2C接口,二線協議由SDA和SCL兩個引腳的狀態確定。共有四種狀態:開始、停止、數據傳輸及應答。I2C總線通信基本格式如圖4所示。 FM3164嚴格按I2C總線的時序和數據格式操作,其訪問操作過程可描述為如下步驟:啟動→從機地址→應答→目標地址→應答→(啟動→從機地址→應答)→數據(單或多字節)→應答→停止(從機地址中包含了讀寫命令,括號中的步驟為當前地址讀和連續地址讀命令所特有的)。 4 FM3164在火災自動報警控制器中的應用 在現代大中型城市的高層建筑、公共場所、地下設施、現代化廠區等重要建筑和設施的建設和管理中,國家消防規范要求都必須安裝獨立的火災報警系統。火災報警系統快速、安全、可靠、準確地運行至關重要。時鐘器件和信息存儲器作為報警主機中最為關鍵的部分,如果采用當前最新工藝技術的鐵電非易失性存儲器FM3164,則可以實現報警信息的快速存儲功能和保證準確的系統時間,同時也解決了電源電壓失效和處理器因干擾而死機問題。 4.1 硬件原理 火災自動報警控制器采用STC89C54RD+單片機,FM3164作為信息存儲單元通過SCL和SDA與單片機進行通信,由于單片機沒有I2C總線接口,所以任取2個I/O口模擬。實時時鐘在Vcc掉電以后自動切換到后備電源。電源通過電阻分壓連接到比較器輸入口PFI,當VCC低于3.7 V時,比較器輸出PFO由高電平變為低電平,當PFO接到單片機的外部中斷口,CPU產生中斷,完成掉電保護功能。FM3164工作原理圖如圖5所示。 4.2 程序設計 5 結 語 本文詳細全面地介紹了FM3164系列芯片鐵電存儲器的功能原理和使用方法,給出了通用的硬件電路和部分控制程序。FM3164系列芯片以其強大的功能和性能代替普通的串行存儲器和時鐘芯片,將在嵌入式控制系統中越來越多地被采用。 |