新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 系統(tǒng)斷電時FPGA數(shù)據(jù)保護(hù)方法

系統(tǒng)斷電時FPGA數(shù)據(jù)保護(hù)方法

作者: 時間:2009-01-14 來源:網(wǎng)絡(luò) 收藏

從消費電子設(shè)備到工業(yè)控制設(shè)備,越來越多的系統(tǒng)都在使用。這些應(yīng)用通常需要設(shè)備在一些數(shù)據(jù),比如校準(zhǔn)信息、用戶設(shè)置、辨認(rèn)標(biāo)簽等。如果設(shè)備使用了微處理器,則還需要微處理器的代碼。

對于那些對成本、器件數(shù)量以及電路板尺寸不敏感的系統(tǒng),可采用標(biāo)準(zhǔn)的閃存來這些數(shù)據(jù)。但在許多情況下,成本、器件數(shù)量和電路板尺寸等方面的限制導(dǎo)致系統(tǒng)不得不采用雙用器件。無論采用單片非易失存儲器,還是采用引導(dǎo)用的S器件,總是具有與它們相聯(lián)系的非易失存儲器。一個顯然的問題是,這些非易失存儲器是否能在系統(tǒng)關(guān)閉時存儲數(shù)據(jù)。

在選擇采用哪種方法之前,應(yīng)考慮應(yīng)用的要求。這些問題包括: 是否需要進(jìn)行讀/寫操作,或者是否接受只讀操作;存儲的數(shù)據(jù)有多大;寫周期的數(shù)量。最后,必須復(fù)查與讀和寫操作相關(guān)的特性、時序等。

1.初始化塊

大多數(shù)允許其內(nèi)置的塊在引導(dǎo)器件時被初始化。這是一個很好的方法,它提供了較大容量的ROM,可用于存儲查找表或程序代碼。ROM支持高速隨機讀取操作,能很容易地對FPGA配置進(jìn)行再次編程。如果設(shè)計需要小容量的ROM,這個方法也不可忽視。

2. SPI重使用

現(xiàn)在所有的SRAM FPGA都允許用SPI存儲器來進(jìn)行配置。因為SPI存儲器的附加位很便宜,不會占用電路板的面積,使用SPI存儲器的附加空間來存儲數(shù)據(jù)是合理的。在FPGA用其進(jìn)行配置之后(盡管是各式各樣的,設(shè)計者使用這個方法前要進(jìn)行確認(rèn)),構(gòu)建SPI接口只需少量邏輯。使用SPI存儲器時,要小心避免寫到FPGA配置空間中。通過接口邏輯的設(shè)計可將其封鎖,或者使用在許多SPI Flash存儲器中可找到的扇區(qū)鎖定方法 。

在許多應(yīng)用中SPI器件允許隨機讀。用FPGA的存儲器塊,通過高速緩沖存儲當(dāng)前區(qū)技術(shù)可實現(xiàn)較高的性能。由于寫操作首先要求擦除這個區(qū)域,高速緩沖存儲方法具有更大的靈活性。利用SPI存儲器,擦除/編程周期在正常情況下超過100K。這個規(guī)范包括正常的運作期間要若干個上電和周期。然而,如果存儲器寫的次數(shù)超過這個數(shù)值,則可再次使用存儲器高速緩沖方法,防止系統(tǒng)到達(dá)SPI的極限。

3.非易失FPGA 存儲器

現(xiàn)在許多非易失FPGA集成了小的存儲器。例如,LatticeXP2提供 0.6~3.4kb的存儲器用于此目的。這通常是存儲設(shè)備設(shè)置和校準(zhǔn)數(shù)據(jù)所要求的存儲器容量。如圖1(b)所示,可以通過J接口或片內(nèi)邏輯訪問LatticeXP2 TAG存儲器。在LatticeXP2 FPGA中,對這個存儲器的讀和寫是定序的,支持的寫周期超過1K。為簡化存儲器接口,并使存儲器寫周期次數(shù)最小,可再次利用高速緩沖存儲數(shù)據(jù)技術(shù)的優(yōu)點。TAG存儲器與FPGA配置是分開的,因此在這些操作期間,不會寫到FPGA的配置中。對集成小的、串行EEPROM而言,片上TAG存儲器非常理想。

系統(tǒng)斷電時FPGA數(shù)據(jù)保護(hù)方法
圖1:(a) 用LatticeECP2 FPGA再次使用SPI配置;(b) LatticeXP2 TAG存儲器。

點擊查看大圖

4.閃存影子塊RAM

LatticeXP2還提供使用閃存初始化位的功能。配置時,閃存初始化位初始化器件中的每個塊RAM。這些存儲器可以讀和寫,就像SRAM一樣。當(dāng)FPGA內(nèi)必須存儲配置數(shù)據(jù)時,則切換適當(dāng)?shù)男盘柺巩?dāng)前的RAM值轉(zhuǎn)入閃存(圖2)。這個方法能夠?qū)εc非易失閃存組合在一起的RAM進(jìn)行高速讀和寫 。在LatticeXP2器件中,這個操作支持?jǐn)?shù)千個擦除和寫周期。如同TAG存儲器,與塊RAM在一起的閃存在邏輯上是分開的,這樣就能確保FPGA邏輯配置不會意外地被改寫。

系統(tǒng)斷電時FPGA數(shù)據(jù)保護(hù)方法
圖2 :LatticeXP2閃存影子SRAM操作示意圖。

以上四種方法,每一種方法有其應(yīng)用優(yōu)勢。如果設(shè)計工程師希望采用中等容量的ROM來存儲代碼或者用作查找表,那么初始化塊RAM的方法也許最佳。如果需要存儲少量的數(shù)據(jù),例如校準(zhǔn)信息、當(dāng)前設(shè)置信息或者系統(tǒng)辨別信息,那么TAG存儲器方案更方便一些。對于需要再次寫入的較大容量的存儲器,重使用SPI存儲器,或者閃存影子塊RAM方法是有用的。當(dāng)然,無論采用哪種方法,都可以降低電路板的面積和成本。

圖3:四種方法的比較。



關(guān)鍵詞: 斷電 存儲 FPGA RAM TAG FLASH

評論


相關(guān)推薦

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

關(guān)閉
×

Digikey let's do
· 2025年第1期限时报名开启,5月8日截止
· Digikey助力,提供一站式免费器件支持
· 跟大佬一起 【DIY 功率监测与控制系统】