久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > NAND Flash的驅動程序設計方案

NAND Flash的驅動程序設計方案

作者: 時間:2012-04-03 來源:網絡 收藏

NAND Flash的驅動程序設計方案

以三星公司K9F2808UOB為例,設計了NAND Flash與S3C2410的接口電路,介紹了NAND Flash在ARM嵌入式系統中的設計與實現方法,并在UBoot上進行了驗證。所設計的驅動易于移植,可簡化嵌入式系統開發。

關鍵詞 ARM UBoot NAND Flash K9F2808UOB 驅動程序

引言

  當前各類嵌入式系統開發設計中,存儲模塊設計是不可或缺的重要方面。NOR和 NAND是目前市場上兩種主要的非易失閃存技術。NOR Flash存儲器的容量較小、寫入速度較慢,但因其隨機讀取速度快,因此在嵌入式系統中,常用于程序代碼的存儲。與NOR相比,NAND閃存的優點是容量大,但其速度較慢,因為它的I/O端口只有8或16個,要完成地址和數據的傳輸就必須讓這些信號輪流傳送。NAND型Flash具有極高的單元密度,容量可以比較大,價格相對便宜。

  本文以三星公司的 K9F2808UOB芯片為例,介紹了NAND Flash的接口電路與驅動的設計方法。文中介紹了開發NAND Flash驅動基本原理,意在簡化嵌入式系統開發過程。

1 NAND Flash工作原理

  S3C2410板的NAND Flash支持由兩部分組成:集成在S3C2410 CPU上的NAND Flash控制器
和NAND Flash存儲芯片。要訪問NAND Flash中的數據,必須通過NAND Flash控制器發送命令才能完成。所以, NAND Flash相當于S3C2410的一個外設,并不位于它的內存地址區。

1.1 芯片內部存儲布局及存儲操作特點

  一片NAND Flash為一個設備, 其數據存儲分層為:1設備=4 096塊;1塊=32頁;1頁=528字節=數據塊大小(512字節)+OOB塊大小(16字節)。在每一頁中,最后16字節(又稱OOB,Out?of?Band)用于NAND Flash命令執行完后設置狀態用,剩余512字節又分為前半部分和后半部分??梢酝ㄟ^NAND Flash命令00h/01h/50h分別對前半部、后半部、OOB進行定位,通過NAND Flash內置的指針指向各自的首地址。

  存儲操作特點有: 擦除操作的最小單位是塊;NAND Flash芯片每一位只能從1變為0,而不能從0變為1,所以在對其進行寫入操作之前一定要將相應塊擦除(擦除即是將相應塊的位全部變為1);OOB部分的第6字節(即517字節)標志是否是壞塊,值為FF時不是壞塊,否則為壞塊。除OOB第6字節外,通常至少把OOB的前3字節用來存放NAND Flash硬件ECC碼。

1.2 NAND Flash接口電路

  首先介紹開發板的硬件設計,圖1為NAND Flash接口電路。其中開關SW的1、2連接時R/B表示準備好/忙,2、3連接時nWAIT可用于增加讀/寫訪問的額外等待周期。在S3C2410處理器中已經集成了NAND Flash控制器,圖2為微控制器與NAND Flash連接的方式。

按此在新窗口瀏覽圖片
圖1 NAND Flash接口電路

1.3 控制器工作原理

  NAND Flash控制器在其專用寄存器區(SFR)地址空間中映射有屬于自己的特殊功能寄存器,就是通過將NAND Flash芯片的內設命令寫到其特殊功能寄存器中,從而實現對NAND Flash芯片讀、檢驗和編程控制。特殊功能寄存器有:NFCONF、NFCMD、NFADDR、NFDATA、NFSTAT、NFECC。


上一頁 1 2 3 4 下一頁

關鍵詞: 模擬電路 模擬芯片 德州儀器 放大器 ADI 模擬電子

評論


相關推薦

技術專區

關閉