NAND Flash的驅(qū)動(dòng)程序設(shè)計(jì)方案
NAND Flash的驅(qū)動(dòng)程序設(shè)計(jì)方案
以三星公司K9F2808UOB為例,設(shè)計(jì)了NAND Flash與S3C2410的接口電路,介紹了NAND Flash在ARM嵌入式系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn)方法,并在UBoot上進(jìn)行了驗(yàn)證。所設(shè)計(jì)的驅(qū)動(dòng)易于移植,可簡(jiǎn)化嵌入式系統(tǒng)開發(fā)。
關(guān)鍵詞 ARM UBoot NAND Flash K9F2808UOB 驅(qū)動(dòng)程序
引言
當(dāng)前各類嵌入式系統(tǒng)開發(fā)設(shè)計(jì)中,存儲(chǔ)模塊設(shè)計(jì)是不可或缺的重要方面。NOR和 NAND是目前市場(chǎng)上兩種主要的非易失閃存技術(shù)。NOR Flash存儲(chǔ)器的容量較小、寫入速度較慢,但因其隨機(jī)讀取速度快,因此在嵌入式系統(tǒng)中,常用于程序代碼的存儲(chǔ)。與NOR相比,NAND閃存的優(yōu)點(diǎn)是容量大,但其速度較慢,因?yàn)樗腎/O端口只有8或16個(gè),要完成地址和數(shù)據(jù)的傳輸就必須讓這些信號(hào)輪流傳送。NAND型Flash具有極高的單元密度,容量可以比較大,價(jià)格相對(duì)便宜。
本文以三星公司的 K9F2808UOB芯片為例,介紹了NAND Flash的接口電路與驅(qū)動(dòng)的設(shè)計(jì)方法。文中介紹了開發(fā)NAND Flash驅(qū)動(dòng)基本原理,意在簡(jiǎn)化嵌入式系統(tǒng)開發(fā)過程。
1 NAND Flash工作原理
S3C2410板的NAND Flash支持由兩部分組成:集成在S3C2410 CPU上的NAND Flash控制器
和NAND Flash存儲(chǔ)芯片。要訪問NAND Flash中的數(shù)據(jù),必須通過NAND Flash控制器發(fā)送命令才能完成。所以, NAND Flash相當(dāng)于S3C2410的一個(gè)外設(shè),并不位于它的內(nèi)存地址區(qū)。
1.1 芯片內(nèi)部存儲(chǔ)布局及存儲(chǔ)操作特點(diǎn)
一片NAND Flash為一個(gè)設(shè)備, 其數(shù)據(jù)存儲(chǔ)分層為:1設(shè)備=4 096塊;1塊=32頁;1頁=528字節(jié)=數(shù)據(jù)塊大小(512字節(jié))+OOB塊大小(16字節(jié))。在每一頁中,最后16字節(jié)(又稱OOB,Out?of?Band)用于NAND Flash命令執(zhí)行完后設(shè)置狀態(tài)用,剩余512字節(jié)又分為前半部分和后半部分。可以通過NAND Flash命令00h/01h/50h分別對(duì)前半部、后半部、OOB進(jìn)行定位,通過NAND Flash內(nèi)置的指針指向各自的首地址。
存儲(chǔ)操作特點(diǎn)有: 擦除操作的最小單位是塊;NAND Flash芯片每一位只能從1變?yōu)?,而不能從0變?yōu)?,所以在對(duì)其進(jìn)行寫入操作之前一定要將相應(yīng)塊擦除(擦除即是將相應(yīng)塊的位全部變?yōu)?);OOB部分的第6字節(jié)(即517字節(jié))標(biāo)志是否是壞塊,值為FF時(shí)不是壞塊,否則為壞塊。除OOB第6字節(jié)外,通常至少把OOB的前3字節(jié)用來存放NAND Flash硬件ECC碼。
1.2 NAND Flash接口電路
首先介紹開發(fā)板的硬件設(shè)計(jì),圖1為NAND Flash接口電路。其中開關(guān)SW的1、2連接時(shí)R/B表示準(zhǔn)備好/忙,2、3連接時(shí)nWAIT可用于增加讀/寫訪問的額外等待周期。在S3C2410處理器中已經(jīng)集成了NAND Flash控制器,圖2為微控制器與NAND Flash連接的方式。
圖1 NAND Flash接口電路
1.3 控制器工作原理
NAND Flash控制器在其專用寄存器區(qū)(SFR)地址空間中映射有屬于自己的特殊功能寄存器,就是通過將NAND Flash芯片的內(nèi)設(shè)命令寫到其特殊功能寄存器中,從而實(shí)現(xiàn)對(duì)NAND Flash芯片讀、檢驗(yàn)和編程控制。特殊功能寄存器有:NFCONF、NFCMD、NFADDR、NFDATA、NFSTAT、NFECC。
評(píng)論