鐵電存儲器FM3808在TMS320VC5402系統中的應用
摘要:FM3808是Ramtrom公司生產的新型超低功耗非易失鐵電存儲器,該器件可支持對存儲區的高速讀寫,并可進行近乎無限次的寫入。FM3808內部除具有256kB的存儲陣列外還集成了實時時鐘和系統監控模塊,因而功能十分強大。文中介紹了FM3808的性能特點、內部結構和工作原理,分析了TMS320VC5402 DSP的并行引導裝載模式。給出了DSP與FM3808組成的并行引導接口方案。
關鍵詞:鐵電存儲器 數字信號處理器 并行引導裝載模式 FM3808
1 引言
鐵電存儲器(FRAM)是Ramtron公司近年推出的一款掉電非易失性存儲器,它的核心技術是鐵電晶體材料。這一特殊材料的運用使鐵電存儲器可以同時擁有隨機存儲記憶體(RAM)和非易失存儲器的綜合特性。與EEPROM相比,FRAM可以總線速度寫入數據,且在寫入之后不需要任何延時等待。面EEPROM的慢速和大電流寫入使其需要用高出FRAM2500倍的能量去寫入每個字節。同時,FRAM有近乎無限次的寫入壽命,而且價格比相同容量的不揮發鋰電SRAM低很多,因此,FRAM特別適合那些對數據采集、寫入時間要求很高的場合。自FRAM問世以來,已憑借其各種優點被廣泛應用于測量和醫療儀表、航空航天、門禁系統和汽車黑匣子等系統之中。
2 主要特性有內部結構
FM3808是一款存儲容量為32k8bits的新型FRAM(減16字節),它具有高速讀寫、超低功耗和無限次讀寫等特性。其主要特點如下:
*采用327528位存儲結構;
*讀寫次數高達10 11次,具有10年的數據保存能力;
*最快并行讀取速度為70ns,寫入無延時;
*具有實時時鐘和日歷功能,時鐘寄存器在地址空間的最上16字節處;
*外部供給后備電源,提供32.768kHz的時間記錄晶振;
*具有可編程的實時、日歷時鐘和報警時間;
*可編程的看門狗定時器;
*可編程的電源監控模塊。
FM3808芯片上集成了了三種不同的功能:32k8B的存儲單元、實時時鐘、日歷功能、系統監控功能。其結構框圖如圖1所示。
3 FM3808功能說明
3.1 FM3808實時時鐘操作
實時時鐘(RTC)由晶體振蕩器、時鐘分頻器和一個系統寄存器組成。晶體振蕩只有在控制寄存器器(7FF8h)的第7位設置為0時才能開始工作,時鐘分頻器將32.768kHz的信號分頻成1kHz,并以秒為單位來計數,可以用標志寄存器(7FF0h)并通過設置R和W來對各實時鐘寄存器進行讀和寫。實時時鐘需要提供電源才能工作,當供電電壓VDD下降到低于補給電壓VBAK時,實時時鐘電源由VBAK供給。對于FM3808來說,用戶可以選擇用電流做電源,也可以選擇用電容來完成供電。使用1000μF的電容時,其供電時間可達30分鐘,若使用0.4μF的電容,則供電時間可長達240小時。
當標志寄存器的第2位(CAL)設置成1時,實時時鐘進入校準模式。在校準蟶希INT引腳將輸出512Hz的方波,用戶可以通過測量INT腳偏離512Hz的誤差來進行時鐘校準,校準誤差由用戶寫入到7FF8h單元。在進行完時鐘校準以后,在校準溫度下每月的最大誤差為4.34ppm分,通過置CAL位為0可退出時鐘校準模式。
3.2 FM3808監控操作
系統監控主要包括:報警功能、看門狗定時器、電源監控器和系統中斷。
報警功能是把應用編程寫入的時間值和系統相應的值進行對比,如果匹配,就通過INT產生中斷并設置相應的標志位AF為1。報警功能提供有四種匹配值,分別為秒、分、時、日,通過設置相應的位為0可選擇對比位。
看門狗定時器由可裝載計數器和自由運行的計數器組成,看門狗定時器的工作頻率為32Hz,此時晶振OSCEN必須設置為0。定時器溢出值存放在7FF7h。系統上電時會自動將溢出值加載到裝載寄存器,此時自由運行計數器開始計時。當計數器的值與裝載值之前,可以通過設置WDS位為1來重新裝載溢出值,而此時不會有中斷產生。
電源監控功能是將VDD與三個門電壓相比比較。這三個門電壓分別為中斷門電壓VINT、存儲器停止門電壓VLO、外部供給電壓VBAK。當VDD達到不同的電壓門限時,FM3808內相應的功能將停止工作。FM3808共可產生四個外部中斷:看門狗中斷、報警時鐘中斷、電源低電壓中斷和供給電源中斷。
3.3 FM3808存儲器操作
FM3808邏輯上可以分成327688位存儲結構,最上面的16字節分給了實地時鐘的寄存器。FM3808通過并行口與外部微處理器進行接口,其操作與SRAM十分類似。FM3808半存儲單元分成32個塊,每塊由256行和4列即1k8的結構組成。其中A0~A7為行選擇線,A8~A9為列選擇線,A10~A14為塊選擇線。FM3808芯片的CE不能接地,這與普通SRAM不同。FM3808的讀取過程是這樣的:在CE的下降沿,地址信號被鎖存,并啟動一個讀周期,此后即使CE發生變化也不會影響這個周期的完成。由于FM3808需要在CE的下降沿才能鎖存地址信號,所以不能被CE接地,有效讀時序如圖2所示。
在讀時間數據之前,需把7FF0.0設置為“1”,讀出時間數據后,應將7FF0.0設置為“0”。在讀數據時,當地址信號鎖存后,在OE允許的情況下,DQ0~DQ7輸出數據。FM3808共有兩種寫工作模式,一種是由WE來控制,另一種是由CE控制。由WE控制的寫時序如圖3所示。
雖然FM3808要求在CE下降之間,地址信號要存在5ns的時間,但實際應用證明,同時輸出CE與地址信號的接法也是可以的。由于FRAM的讀寫過程會對內部存儲單元造成改變,因此在一次讀或寫后,要很快對原有的數據進行“修補”?!靶扪a”的過程在CE為高電平時進行,所以在一次讀寫的操作中,CE為低的時間不能太長,否則FM3808將來不及“修補”原有數據而造成數據丟失。FM3808規定CE為低的時間不超過10μs。
4 與TMS320C5402的引導接口
TMS320C5402上電后將首先檢查MP/MC引腳的狀態,若該腳為低電平,說明DSP被設置為微計算機模式,從片內ROM的0FF80h地址開始執行程序。在TMS320C5402的0FF80h地址處,存放著一條跳轉至0F800h處執行DSP自引導裝載(Bootloader)程序的指令。當TMS320C5402的Bootloader程序時,它將會按HPI裝載模式→串行EEPROM裝載程序→并行裝載模式→標準串行口裝模式→I/O口裝載模式的順序循環檢測,以決定執行哪種啟動模式。
采用并行裝載模式對程序進行加載國時,要根據并行裝載的格式來配置Flash的程序數據存儲空間。可先在DSP對應的數據空間FFFEH和FFFFH地址內寫入要存放程序的地址,然后根據并行裝載的數據流,將標識控制字、各個寄存器的初始化值、裝載后的起始運行地址、程序段的大小和裝載地址依次寫入Flash存儲程序的地址中,電子最后寫入編寫的程序。
FM3808與TMS320C5402的并行接口設計如圖5所示,由于FM3808的工作電源為5V,因而系統中使用了SN74LVTH6244和SN74LVTH2245來完成接口設計。又由于TMS320C5402數據的尋址范圍最大為64k字,而在自己不編寫Bootloader程序的情況下,并行引導裝載模式最大只能裝載32k字的程序或數據。因此,若程序數據大于32k,就需要重新設計。
TMS320C5402上電復位裝載時,由于Bootloader程序已在初始化時將XF設置為高電平,因而在通過EPM3202總的邏輯后,TMS320C5402可以將FM3808 08000h-0FFFFh單元中的數據讀到TMS320C5402對應于000h-3FFFh尋址區的片內DARAM中。而在系統進入并行引導裝載模式后,TMS320C5402會從數據尋址為0FFFFh的單元(A15=1,選中Flash)中讀取將要載入的程序存儲區首地址,然后從程序存儲首地址處將標識控制字、各個寄存器的初始化值、裝載后的起始運行地址、程序段的大小,裝載地址依次裝載到片內DRAM中。
若程序較大,而系統中還要有其它數據存儲器來存放數據,那么就需要讓出FM3808所占用的數據空間,此時可在EPM3202邏輯控制中使用XF。并可用主處理程序的第一條語句RSBX XF來置XF引腳為低電平,同時使CE片選無效,從而讓出數據空間。若程序較小,而FM3808還需做為數據存儲單元,那么可設置XF為高,然后通過CPLD中的邏輯程序來控制數據的寫入和讀出。CPLD的內部邏輯如圖6所示。
5 設計中應注意的問題
(1)該設計方案在TMS320C5402執行Bootloader程序時所能尋址的并行接口FRAM的最大空間為32k字節,如果脫機獨立運行系統的程序超過了32k字節,則只能采用另外的替代方法。
(2)FM3808中的程序數據流要嚴格按照并行裝載的數據流來編寫,以確保并行裝載的成功。對FM3808數據的寫入和讀出應通過設置SN74LVTH2245的OE和DIR來共同完成,本系統就是通過CPLD來進行邏輯控制的,實際上也可用VHDL語言來編寫邏輯。
(3)在設計過程中,可以利用FM3808中的看門狗電路來對系統運行進行監控。系統必須使用FM3808的低電壓檢測功能,在檢測到掉電后,CPU應立即把CS端的電平置“1”,以防止在上電或掉電時FM3808中的數據發生改變。
6 結語
FM3808是擁有高速讀寫,超低功耗和無限次寫入等特性的高性能并口存儲器,它內部集成了實時時鐘和系統監控功能,具有很強的實用性。通過FM3808與TMS320C540組成的硬件系統,可完成證實系統的穩定性和FM3808的性能優勢。FRAM以其快速寫入、抗干擾、低功耗等優點,必須成為一種頗具競爭力的存儲器。
評論