《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的存儲(chǔ)解決方案——閃存
基于FPGA的存儲(chǔ)解決方案——閃存
摘要: 閃存存儲(chǔ)器是嵌入系統(tǒng)中經(jīng)常使用的非易失性存儲(chǔ)器,。在基于FPGA的嵌入系統(tǒng)中,,由于FPGA沒(méi)有包括閃存,所以閃存始終是外置設(shè)備,。由于閃存存儲(chǔ)器能夠在斷電后保持?jǐn)?shù)據(jù)內(nèi)容,,它經(jīng)常用于存儲(chǔ)微處理器啟動(dòng)代碼及其它需要在無(wú)電情況下繼續(xù)保持的數(shù)據(jù),。閃存存儲(chǔ)器既適用于并行接口又適用于串行接口。并行閃存設(shè)備與串行閃存設(shè)備的基本存儲(chǔ)技術(shù)是相同的,。
Abstract:
Key words :

閃存存儲(chǔ)器是嵌入系統(tǒng)中經(jīng)常使用的非易失性存儲(chǔ)器,。在基于FPGA的嵌入系統(tǒng)中,由于FPGA沒(méi)有包括閃存,,所以閃存始終是外置設(shè)備,。由于閃存存儲(chǔ)器能夠在斷電后保持?jǐn)?shù)據(jù)內(nèi)容,它經(jīng)常用于存儲(chǔ)微處理器啟動(dòng)代碼及其它需要在無(wú)電情況下繼續(xù)保持的數(shù)據(jù),。閃存存儲(chǔ)器既適用于并行接口又適用于串行接口,。并行閃存設(shè)備與串行閃存設(shè)備的基本存儲(chǔ)技術(shù)是相同的。

不像SRAM,,閃存不能通過(guò)簡(jiǎn)單的寫(xiě)入操作進(jìn)行更新,。對(duì)閃存設(shè)備的每一次寫(xiě)入操作都需要一個(gè)寫(xiě)指令,包含一組固定的讀寫(xiě)操作序列,。閃存在寫(xiě)入前需要先進(jìn)行擦除,。所有的閃存設(shè)備都被劃分為一定數(shù)量的可擦模塊,或扇區(qū),,二者的差異是可擦區(qū)域的大小,,依據(jù)閃存廠商和設(shè)備大小而定。

優(yōu)點(diǎn)

閃存存儲(chǔ)器的主要的優(yōu)點(diǎn)是非易失性?,F(xiàn)代嵌入系統(tǒng)廣泛使用閃存來(lái)存儲(chǔ)啟動(dòng)代碼和設(shè)置值,,以及較大的數(shù)據(jù)模塊如音頻或視頻流等。很多嵌入系統(tǒng)使用閃存作為硬盤(pán)驅(qū)動(dòng)的低能耗,、高穩(wěn)定性的替代品,。

相對(duì)與其它非易失性存儲(chǔ)器,閃存由于下面四種原因更加常用:

健壯性

可擦性

可重復(fù)擦寫(xiě)

成本低

閃存存儲(chǔ)器可以與共享其它閃存設(shè)備共享總線,,甚至與其它種類的外部存儲(chǔ)器,,如外部SRAM或SDRAM。

缺點(diǎn)

閃存的主要缺點(diǎn)是它的寫(xiě)入速度,。由于你只能通過(guò)專用的命令寫(xiě)入閃存設(shè)備,,每次閃存寫(xiě)入都需要多個(gè)總線轉(zhuǎn)換操作,。更進(jìn)一步說(shuō),一旦送出寫(xiě)入命令,,實(shí)際的寫(xiě)入時(shí)間可能達(dá)到幾微秒,。依據(jù)時(shí)鐘速度,實(shí)際寫(xiě)入時(shí)間可達(dá)幾百個(gè)時(shí)鐘周期,。由于扇區(qū)擦除受到約束,,如果你需要改變閃存中的一個(gè)字?jǐn)?shù)據(jù),你必須完成下面步驟:

1. 復(fù)制整個(gè)扇區(qū)的內(nèi)容到暫時(shí)的緩沖區(qū)

2. 擦除整個(gè)扇區(qū)

3. 改變?cè)诰彌_區(qū)中的單個(gè)字?jǐn)?shù)據(jù)

4. 緩沖區(qū)內(nèi)容寫(xiě)回到閃存

這個(gè)流程導(dǎo)致閃存存儲(chǔ)器設(shè)備的寫(xiě)入速度較慢,。由于其糟糕的寫(xiě)入速度,,閃存通常只用于存儲(chǔ)必須斷電后保持的數(shù)據(jù)。

最佳應(yīng)用場(chǎng)合

閃存存儲(chǔ)器適用于儲(chǔ)存任何你希望在斷電后保持的數(shù)據(jù),。常見(jiàn)的閃存應(yīng)用與存儲(chǔ)下面項(xiàng)目:

微處理器的啟動(dòng)代碼

微處理器在系統(tǒng)開(kāi)始時(shí)復(fù)制到RAM中的應(yīng)用程序代碼

恒定的系統(tǒng)設(shè)置,,例如:網(wǎng)卡MAC地址、校準(zhǔn)數(shù)據(jù),、用戶信息

FPGA參數(shù)圖像

多媒體(音頻,、視頻)

不適于應(yīng)用場(chǎng)合

由于閃存存儲(chǔ)器是寫(xiě)入速度較慢,不應(yīng)使用閃存存儲(chǔ)不需要斷電后保持的數(shù)據(jù),。如果可以使用易失性存儲(chǔ)器時(shí)可以選用SRAM,。使用閃存存儲(chǔ)器的系統(tǒng)通常也會(huì)同時(shí)使用SRAM。

一個(gè)很不適于閃存的應(yīng)用場(chǎng)合是在微處理器的應(yīng)用程序代碼的直接執(zhí)行,。如果這些代碼的可寫(xiě)部分被部署在閃存中,,這些軟件根本不會(huì)工作,因?yàn)殚W存不使用專用的寫(xiě)入命令便不能夠?qū)懭?。將?yīng)用程序代碼儲(chǔ)存在閃存中的系統(tǒng)通常會(huì)在執(zhí)行之前先將這些應(yīng)用程序復(fù)制到SRAM中,。

閃存的種類

閃存設(shè)備有多種,最常用的種類如下:

CFI閃存 – 這是最常用的閃存存儲(chǔ)器種類,。它使用并行接口,。CFI代表常見(jiàn)閃存接口,這是所有CFI閃存設(shè)備都固有的一種標(biāo)準(zhǔn),。SOPC Builder和Nios II processor都有對(duì)CFI閃存的內(nèi)置支持,。

串行閃存 – 這種閃存使用串行接口以節(jié)省Pin腳和板上空間。由于很多串行閃存設(shè)備都有自己專用的接口協(xié)議,,最好是先通讀串行閃存設(shè)備的數(shù)據(jù)表然后進(jìn)行選擇,。Altera ECOS配置設(shè)備便是一種串行閃存。

NAND閃存 – NAND閃存是最近才興起的一種新型的閃存存儲(chǔ)器,。NAND閃存可以達(dá)到很高的數(shù)據(jù)容量,,單個(gè)設(shè)備可高達(dá)數(shù)GB。相對(duì)于CFI閃存,NAND閃存的接口稍有變復(fù)雜,。它需要一個(gè)專用的控制器或是智能的低級(jí)驅(qū)動(dòng)軟件,。你可以在Altera FPGA中使用NAND閃存,但是Altera不會(huì)提供任何內(nèi)置的支持,。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。