新聞中心

        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 模擬電子

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 老河口市| 平阳县| 海林市| 静宁县| 花莲县| 临澧县| 承德县| 名山县| 广宗县| 巴青县| 河源市| 泸水县| 五家渠市| 休宁县| 贵溪市| 宜昌市| 弥勒县| 垫江县| 泽库县| 盐边县| 三穗县| 石门县| 清流县| 邢台县| 景泰县| 乐至县| 东莞市| 大石桥市| 绥中县| 仪陇县| 延寿县| 哈密市| 明溪县| 广南县| 财经| 阿城市| 上蔡县| 红原县| 石河子市| 五寨县| 大石桥市|