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