新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA的F-RAM防掉電設(shè)計

基于FPGA的F-RAM防掉電設(shè)計

作者: 時間:2016-10-18 來源:網(wǎng)絡(luò) 收藏

摘要 在復雜實驗條件下,需采用非易失性鐵電存儲器記錄重要數(shù)據(jù)。為防止二次上電時實驗數(shù)據(jù)被覆蓋,需設(shè)計功能。文中介紹了一種F-RAM的防棹電設(shè)計思路,并基于實現(xiàn),板級驗證工作正常,并已在相關(guān)項目中得到應(yīng)用且達到了預(yù)期功能。

本文引用地址:http://m.butianyuan.cn/article/201610/308466.htm

關(guān)鍵詞 ;;

在彈載、密閉艙等某些復雜實驗條件下,為記錄實驗數(shù)據(jù),國內(nèi)外通常采用SRAM加后備電池、EEPROM、NVRAM的3種方式。其中SRAM加后備電池的方法增加了硬件的復雜性,同時又降低了系統(tǒng)的可靠性;EEPROM的寫操作時間較長;NVRAM的價格限制了其的普及應(yīng)用。鑒于以上情況,越來越多的設(shè)計者將注意力投向了新型的非易失性鐵電存儲器(F-RAM)。非易失性鐵電存儲器具有實時寫入,讀寫操作簡單,可擦寫次數(shù)可達億次量級,并具有低功耗等突出優(yōu)點。

系統(tǒng)實驗中可能會出現(xiàn)二次上電情況,此時系統(tǒng)再次正常工作,將向F-RAM中重新寫入數(shù)據(jù),造成已采集有效數(shù)據(jù)的覆蓋,為避免數(shù)據(jù)覆蓋的發(fā)生設(shè)計中需增加功能。本文主要介紹一款F-RAM芯片的硬件配置、讀寫操作時序,闡明了防掉電設(shè)計思路及其FPGA實現(xiàn),同時驗證了方法的正確性。

1 F-RAM及FPGA

本文選擇FM23MLD16的8 Mbit F-RAM存儲器,48個管腳BGA封裝,可抗高過載,作為FPGA的外設(shè)器件。首先器件配置應(yīng)正確,硬件配置決定了軟件的控制及時序。根據(jù)手冊,本文選擇如圖1所示的配置方式。

基于FPGA的F-RAM防掉電設(shè)計

硬件上

基于FPGA的F-RAM防掉電設(shè)計

接為低電平、CE2接為高電平,程序中將UB、LB接成低電平以配置成數(shù)據(jù)位寬16bit模式。根據(jù)硬件配置,讀寫操作利用

基于FPGA的F-RAM防掉電設(shè)計

、

基于FPGA的F-RAM防掉電設(shè)計

兩信號控制,且時序關(guān)系確定,如圖2和圖3所示。硬件配置中需注意的是

基于FPGA的F-RAM防掉電設(shè)計

上拉電阻務(wù)必要加入,以保證在上電及掉電時

基于FPGA的F-RAM防掉電設(shè)計

信號不為低電平。

基于FPGA的F-RAM防掉電設(shè)計
基于FPGA的F-RAM防掉電設(shè)計

設(shè)計需滿足時序要求,對F-RAM的讀寫時鐘最終確定為5 MHz。由圖2可知該配置下,讀操作相對簡單,

基于FPGA的F-RAM防掉電設(shè)計

為低,

基于FPGA的F-RAM防掉電設(shè)計

為高,地址變化即可;寫操作需注意

基于FPGA的F-RAM防掉電設(shè)計

的上升沿與地址、數(shù)據(jù)間滿足建立時間、保持時間要求,文中

基于FPGA的F-RAM防掉電設(shè)計

的上升沿處于數(shù)據(jù)中段。

FPGA既具有門陣列的高邏輯密度和高可靠性,又具有用戶可編程特性,可減少系統(tǒng)設(shè)計和維護的風險,降低產(chǎn)品成本,并縮短設(shè)計周期。FPGA有著規(guī)整的內(nèi)部邏輯塊陣列和豐富的連線資源,適合于細粒度和高并行度結(jié)構(gòu)特點的數(shù)字信號處理任務(wù),可大幅提高系統(tǒng)處理速度。管腳資源豐富是采用FPGA實現(xiàn)的重要原因,且時序控制方便。

2 防掉電設(shè)計思路

正常的讀寫操作,在所選擇硬件配置下滿足時序要求即可。防掉電功能通過在寫模式上電后,首先以判斷標志位的方式實現(xiàn),若標志位未寫入標志信息,則執(zhí)行寫操作,否則進入空閑模式不再寫入。而讀模式將存儲器內(nèi)數(shù)據(jù)正常讀出即可。設(shè)計增加擦除模式,將F-RAM中所有數(shù)據(jù)清零,且標志位也清零。

讀寫及擦除模式間的切換是通過兩外置管腳的輸入電平來控制的,兩管腳可實現(xiàn)4種組合滿足本文的需要,上電時通過判斷管腳電平進入相應(yīng)模式。其設(shè)計流程如圖4所示。

基于FPGA的F-RAM防掉電設(shè)計

圖4中E、WOR為兩個外置的控制管腳,0、1代表高低電平。為數(shù)據(jù)分析方便,設(shè)計每包數(shù)據(jù)均加幀頭、幀尾標志信息。最初的設(shè)計思路為在標志位寫固定值,上電寫操作模式下先讀取該標志位,擦除也只是將標志位清零。后經(jīng)分析可將幀頭作為標志信息,這樣大幅簡化了設(shè)計復雜度。每包數(shù)據(jù)幀頭均由4個16'h007E構(gòu)成,將其作為標志位,則寫模式下,判斷初始4個地址中是否為該標志位即可判別是否已寫入數(shù)據(jù),實現(xiàn)防掉電功能。擦除模式下將所有存儲數(shù)據(jù)均清為0。每次上電后系統(tǒng)重新判斷E、WOR狀態(tài),而讀寫地址均從0開始重新變化。

3 板級驗證

由于該器件為FPGA外置芯片,因此讀寫操作的正確性需在信號處理板上進行調(diào)試,設(shè)計中的仿真只保證讀寫時序與設(shè)計思路一致。

板級驗證方法:實驗前控制E、WOR為擦除模式,數(shù)據(jù)清空。再接為寫模式,則可正常寫入數(shù)據(jù),重新上電,仍處于寫模式,此時標志位已寫入標志信息,則結(jié)束進入空模式而不再重新寫入,最后再進入讀模式。具體步驟為:(1)進行擦除操作,然后系統(tǒng)掉電。(2)讀操作看是否將F-RAM中數(shù)據(jù)清為0,然后系統(tǒng)掉電。(3)寫操作重復寫入同一組已知格式的數(shù)據(jù)(16 bit位寬),本文采用:4個幀頭(16'h007E)+數(shù)據(jù)(16'd 1、2、…、800)+2個幀尾作為第一組數(shù)據(jù),寫滿后系統(tǒng)掉電。(4)二次寫操作,仍保持E、WOR為低電平,此時每幀數(shù)據(jù)封裝格式不變,將數(shù)據(jù)調(diào)整為800,799,…,1,然后系統(tǒng)掉電。(5)讀操作,從F-RAM中讀取數(shù)據(jù),若為第一組數(shù)據(jù)則結(jié)果正確。實驗結(jié)果如圖5(a)~圖5(c)所示,分別對應(yīng)(1)~(5)步實驗步驟。

基于FPGA的F-RAM防掉電設(shè)計

圖5為使用同一bit文件觀測,圖中相關(guān)信號的說明如表1所示。

基于FPGA的F-RAM防掉電設(shè)計

實驗結(jié)果說明,圖5(a)為第一步擦除操作,E、WOR均接為低電子,擦除即將每個地址中均寫入數(shù)據(jù)0,對應(yīng)d_writein均為0,按寫地址順序變化。圖5(b)為第二步讀取操作,E、WOR均接為高電平,讀取過程中讀地址(r_addr_d1)順序變化,此時讀出數(shù)據(jù)均為0(read_data),說明第一步擦除有效已將標志位清零。圖5(c)為第三步寫第一組數(shù)據(jù),如圖所示寫地址隨數(shù)據(jù)順序增加,寫F-RAM時wewe上升沿與數(shù)據(jù)及地址對齊,oeoe為低電平。圖5(d)為系統(tǒng)二次上電E、WOR均接為低電平,仍為寫模式,寫入第二組數(shù)據(jù),由于在第三步中標志位已寫入標志信息,系統(tǒng)進入空閑模式,結(jié)束對F-RAM的操作(oeoe拉高,讀寫使能均為低電平)。圖5(c)為第五步讀取操作,讀數(shù)據(jù)時,需并串轉(zhuǎn)換后經(jīng)異步串口將數(shù)據(jù)輸出,發(fā)送完一個數(shù)據(jù)后將再讀出另一個,串口速率比讀時鐘慢,因此圖中讀一個數(shù)顯示占用了若干周期。

圖5(c)的結(jié)果說明讀出數(shù)據(jù)為實驗第三步即第一次寫入的數(shù)據(jù),重復驗證結(jié)果不變,說明達到了防掉電的目的,且讀寫功能正常,符合設(shè)計要求。

設(shè)計中考慮試驗時可能遇到的E、WOR線斷情況,故給兩控制管腳均接入下拉電阻,避免了控制寫操作時E、WOR變?yōu)楦唠娖?,進而防止了誤操作的發(fā)生。

4 結(jié)束語

本文介紹了F-RAM的基本讀寫時序,并著重說明了基于FPGA實現(xiàn)防掉電的設(shè)計思路。設(shè)計利用數(shù)據(jù)幀頭信息作為標志位,簡化了邏輯復雜度。該方法已應(yīng)用于相關(guān)項目中,為實驗數(shù)據(jù)記錄分析及查找問題提供了方便。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉