新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 大容量NAND FLASH在ARM嵌入式系統(tǒng)中的設(shè)計與實現(xiàn)

大容量NAND FLASH在ARM嵌入式系統(tǒng)中的設(shè)計與實現(xiàn)

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

1 引 言

  隨著嵌人式系統(tǒng)在數(shù)碼相機(jī)、數(shù)字?jǐn)z像機(jī)、移動電話、mp3音樂播放器等移動設(shè)備中越來越廣泛的應(yīng)用,存儲器已經(jīng)逐步取代其他半導(dǎo)體存儲元件,成為中主要數(shù)據(jù)和程序載體。存儲器又稱閃存,是一種可在線多次擦除的非易失性存儲器,即掉電后數(shù)據(jù)不會丟失。存儲器還具有體積小、功耗低、抗振性強(qiáng)等優(yōu)點(diǎn),是的首選存儲設(shè)備。

和NOR FLASH是現(xiàn)在市場上兩種主要的非易失閃存芯片,這兩種類型的FLASH區(qū)別在于:

  NOR類型FLASH可以按照字節(jié)訪問,所以存放在FLASH里的程序可以直接執(zhí)行,而類型FLASH是串行訪問的,需要先把程序讀取到內(nèi)存然后再從內(nèi)存中運(yùn)行。與NOR型相比,型閃存的優(yōu)點(diǎn)是容量大,但是NAND型的速度比較慢,因為他的I/O端口只有8(或16)個,要完成地址和數(shù)據(jù)的傳輸就必需讓這些信號輪流傳送。NAND型FLASH具有極高的單元密度,容量可以比較大,價格相對便宜。本文采用Samsung公司的NAND型FLASH存儲設(shè)備K9F2808U0C。

2 系統(tǒng)硬件結(jié)構(gòu)及接口電路

2.1 芯片介紹

  公司自1990年正式成立以來,在32位RISC(Reduced InSTruction Set Computer)CPU開發(fā)領(lǐng)域不斷取得突破,目前已經(jīng)占有75%以上的32位RISC嵌入式產(chǎn)品市場。在低功耗、低成本的嵌人式應(yīng)用領(lǐng)域確立了市場領(lǐng)導(dǎo)地位。

  PHILIPS公司的LPC2210是基于一個支持實時仿真和跟蹤的32位7TDMI-STMCPU的微控制器,片內(nèi)128位寬度的存儲器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時鐘頻率下運(yùn)行。LPC2210極低的功耗、多個32位定時器、8路10位ADC以及9個外部中斷使其特別適用于工業(yè)控制、醫(yī)療系統(tǒng)、訪問控制和POS機(jī)。由于內(nèi)置了寬范圍的串行通信接口,他們也非常適合于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器、嵌入式軟MODEM以及其他各種類型的
應(yīng)用。

2.2 K9F2808U0C芯片的結(jié)構(gòu)和特點(diǎn)

K9F2808U0C是SAMSung公司生產(chǎn)的NAND型FLASH存儲器,其功能框圖如圖1所示。

  K9F2808U0C存儲容量為132 Mb,其中主數(shù)據(jù)區(qū)為128 Mb,輔助數(shù)據(jù)區(qū)為4 Mb,工作電壓為2.7~3.6 V,I/O端口寬度為8 b。片內(nèi)寫控制自動實現(xiàn)編程和擦除所有功能,包括內(nèi)部校驗、脈沖的周期和數(shù)據(jù)冗余。

  芯片的存儲空間是按照塊和頁的概念來組織的,一個芯片分為1 024個塊,每個塊有32頁,每一頁有528 B。528 B中分為512 B的數(shù)據(jù)區(qū)和16個字節(jié)的空閑區(qū),空閑區(qū)用于存放ECC代碼、壞塊信息和文件系統(tǒng)相關(guān)代碼。一個528 B的數(shù)據(jù)寄存器作為數(shù)據(jù)緩沖單元,用來實現(xiàn)I/0緩沖和存儲器之間的數(shù)據(jù)傳輸。

  使用NAND型FLASH的關(guān)鍵技術(shù)之一是存儲空間的管理。SAMSUNG公司的NAND FLASH存儲器有一些初始無效塊(包含一個或多個壞位的存儲塊),制造商不保證這些塊的可靠性。NAND FLASH容許成品中有壞塊存在,這是采用NAND技術(shù)所特有的現(xiàn)象。壞塊的存在并不影響有效塊的性能。但是,系統(tǒng)級的設(shè)計必須能夠用地址映射把這些壞塊屏蔽掉。芯片在出廠時,除保存壞塊信息的區(qū)域外,其他部分一律被擦除(值為0xFF),對壞塊的讀操作是允許的,但不推薦進(jìn)行寫和擦除操作,以免由于結(jié)構(gòu)方面的原因使鄰近的塊也失效。系統(tǒng)設(shè)計時必須根據(jù)初始的壞塊信息識別出壞塊,并建立壞塊列表。進(jìn)行寫或擦除操作時將欲操作塊的地址與壞塊地址表的地址相比較,若是壞塊則應(yīng)跳過。為了提高存儲空間的效率,單個位數(shù)據(jù)錯誤引起的讀寫失敗都可以用ECC(校錯和糾錯)方法處理。

  芯片在使用過程中,可能有新壞塊的產(chǎn)生,為了系統(tǒng)的可靠性,必須對此情況加以考慮。在數(shù)據(jù)寫入或塊擦除操作后,如果讀狀態(tài)寄存器出現(xiàn)錯誤,則表示塊內(nèi)有壞頁存在,也即表明此塊已壞,因為塊內(nèi)壞頁的存在并不影響其他頁的讀寫,這時可采用塊替換操作來把頁內(nèi)有用數(shù)據(jù)轉(zhuǎn)移到其他空閑塊內(nèi),并把壞塊信息存入壞塊表中。

pos機(jī)相關(guān)文章:pos機(jī)原理



上一頁 1 2 下一頁

關(guān)鍵詞: NAND FLASH ARM 嵌入式系統(tǒng)

評論


相關(guān)推薦

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

關(guān)閉