0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过采用EP2C35F672器件实现NAND FLASH控制器的设计

电子设计 来源:郭婷 作者:电子设计 2019-08-09 08:02 2966次阅读

1 引言

在便携式电子产品如U盘、MP3播放器、数码相机中,常常需要大容量、高密度的存储器,而在各种存储器中,NAND FLASH以价格低、密度高、效率高等优势成为最理想的器件。但NAND FLASH的控制逻辑比较复杂,对时序要求也十分严格,而且最重要的是NAND FLASH中允许存在一定的坏块(坏块在使用过程中还可能增加),这就给判断坏块、给坏块做标记和擦除等操作带来很大的难度,于是就要求有一个控制器,使系统用户能够方便地使用NAND FLASH,为此提出了一种基于FPGA的NAND FLASH控制器的设计方法,并用VHDL给予实现,Modelsim得出仿真结果,并在ALTERA公司的EP2C35F672器件中得到验证。FPGA与NAND FLASH接口图如图1所示。

通过采用EP2C35F672器件实现NAND FLASH控制器的设计

2 NAND FLASH操作

NAND FLASH器件的管脚分为控制信号、I/O二类,地址和数据是复用I/O管脚。通常NAND FLASH器件包括一定数目BLOCK,每个BLOCK包括一定数目的PAGE,每个NAND FLASH器件把BLOCK,PAGE按照行列地址进行寻址,基于这种特殊的结构。

2.1 READ ID

NAND FLASH器件ID包括:Manufacture ID,device ID以及容量大小,这些重要的信息是判断NAND FLASH的重要凭证,因此将这些信息读出来加以判断就显得特别重要。在CLE为高,WE#上升沿,在I/O输入90H命令让NAND FLASH进入读ID状态,接着在ALE为高,WE#上升沿,在I/O输入00H地址,在等待tWHR将RE#置为读,在RE#连续4个上升沿将ID读出。仿真图如图2所示。

通过采用EP2C35F672器件实现NAND FLASH控制器的设计

2.2 判断坏块

NAND FLASH作为一种特殊的储存器件,内部集成电路使得BLOCK与BLOCK是相互独立的,因此一定数目坏块的存在不会影响其他BLOCK。但坏块总数是有一定的限制的,超过一定的数目后器件将认为不能再使用。在出厂前厂家会在器件的每个BLOCK的第一页和第二页的列地址为2048标注上坏的信息,FFh代表此BLOCK是好,非FFh代表此BLOCK是坏。但是这些重要信息在执行Erase和Programming命令的时候会被擦除掉,因此,我们在做这些操作之前应该将坏块识别出来如图3所示,并加以标注或者用好的块来代替,以方便以后的访问。随着使用时间的推移,坏块的数目还会增加,因此我们必须随时更新坏块链表。坏块识别时序仿真图如图4所示。

通过采用EP2C35F672器件实现NAND FLASH控制器的设计

通过采用EP2C35F672器件实现NAND FLASH控制器的设计

3擦除操作

一般芯片进行PROGRAM/ERASE的次数是100 000 cycles,第一个BLOCK次数更多,一般可用于存放boot code或者重要的信息。由于擦除操作是以BLOCK为基准,也就是每执行一次擦除操作将会擦除指定的BLOCK,所以在执行擦除时必须注意共享区域里的重要信息如坏块标识、ECC校验等。以免被擦除掉,擦除掉了及时恢复,擦除操作仿真如图5所示。

通过采用EP2C35F672器件实现NAND FLASH控制器的设计

4编程操作及其他操作

编程操作和擦除操作相似,只不过编程操作是以页为单位,在执行编程操作时同样也要注意共享区域里的重要信息以免被覆盖掉,重要信息被覆盖后要及时恢复。其他操作如复位还有有些芯片厂家各自新的操作等,但总体来说主流芯片都支持以上几种操作。

5 结 语

在实际应用中,使用ALTERA公司的Cyclone2 FP-GA器件进行设计,设计输入采用VHDL来完成,实现了上述的NAND FLASH控制器接口电路。此外,由于采用了通用性设计思想,可以对不同厂家不同的芯片进行控制和操作,具有一定的通用性


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1636

    文章

    21841

    浏览量

    608490
  • 控制器
    +关注

    关注

    113

    文章

    16580

    浏览量

    180451
  • 仿真
    +关注

    关注

    50

    文章

    4160

    浏览量

    134510
收藏 人收藏

    相关推荐

    C8051F35X单片机内部Flash存储的擦写方法

    【作者】:陈富安;张莹;【来源】:《电子设计工程》2010年02期【摘要】:为避免在程序运行时向单片机内置的Flash写入数据导致复位,采用调用锁定与关键码的操作方法对C8051F35X型单片机
    发表于 04-24 09:45

    标准NAND FLASH控制器

    NAND FLASH Controller IP Core标准NAND FLASH Controller标准NAND
    发表于 02-17 11:11

    如何通过单片机控制 Nand Flash

    是前者。(为什么呢?因为该单片机集成了蓝牙,该设备同时需要可以在上位机显示实时数据。)问题来了:1,如何实现通过单片机写,通过控制器读的切换?互相之间不能影响。
    发表于 09-24 14:09

    标准NAND FLASH控制器/超高速NAND FLASH阵列控制器

    NAND FLASH Controller IP Core标准NAND FLASH Controller标准NAND
    发表于 03-01 18:49

    DE2 FPGA开发板出手 Altera官方正品 EP2C35F672C8N 九成新,配件齐全 698元

    `DE2 FPGA开发板出手 Altera官方正品 EP2C35F672C8N 九成新,配件齐全 698元,可以小刀。南京地区可以当面交易。功能齐全,无任何问题,有兴趣的请联系QQ:865021481`
    发表于 04-29 21:43

    请问单片机如何控制nand flash

    的初步计划是前者。(为什么呢?因为该单片机集成了蓝牙,该设备同时需要可以在上位机显示实时数据。)问题来了:1,如何实现通过单片机写,通过控制器读的切换?互相之间不能影响。
    发表于 08-29 09:40

    什么是NAND Flash?如何去使用NAND Flash控制器

    什么是NAND FlashNAND Flash在嵌入式系统中的作用是什么?如何去使用NAND Flas
    发表于 06-21 06:56

    基于PicoBlaze的Nand Flash控制器实现

    提出了一种基于 PicoBlaze 的Nand Flash控制器实现方法。PicoBlaze是Xilinx公司开发的8位嵌入式微控制器IP
    发表于 06-13 15:48 41次下载
    基于PicoBlaze的<b class='flag-5'>Nand</b> <b class='flag-5'>Flash</b><b class='flag-5'>控制器</b>的<b class='flag-5'>实现</b>

    高速多通道数据采集系统的设计与实现

    电子发烧友网核心提示:本设计采用DE2、THDB-ADA平台进行开发。DE2平台选用FPGA EP2C35F672。THDB-ADA是针对DE2
    发表于 11-27 10:36 4284次阅读

    基于MSP430F2Flash控制器设计

    本文档介绍了MSP430F2单片机的Flash存储控制器的操作。MSP430的Flash存储是可位、字节、字寻址和编程的存储
    发表于 09-21 15:14 6次下载
    基于MSP430<b class='flag-5'>F2</b>的<b class='flag-5'>Flash</b><b class='flag-5'>控制器</b>设计

    基于EP2C35的DSP阵列板通信接口设计与实现

    基于EP2C35的DSP阵列板通信接口设计与实现
    发表于 10-19 14:12 14次下载
    基于<b class='flag-5'>EP2C35</b>的DSP阵列板通信接口设计与<b class='flag-5'>实现</b>

    采用FPGA与P2C70F672C8芯片实现多通道HDLC收发电路设计

    它还具有设计开发周期短、设计制造成本低、可实时在线检验等优点,因此被广泛用于特殊芯片设计中。本设计中采用Altera公司的EP2C70F672C8芯片来实现HDLC协议控制器
    的头像 发表于 12-30 11:00 3764次阅读
    <b class='flag-5'>采用</b>FPGA与P<b class='flag-5'>2C70F672C</b>8芯片<b class='flag-5'>实现</b>多通道HDLC收发电路设计

    NAND Flash控制器的设计与验证

    Flash控制器正成为一种趋势。 本文讨论了Flash Memory的两种主流实现技术即NAND Fl
    发表于 03-29 10:07 19次下载
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b><b class='flag-5'>控制器</b>的设计与验证

    NAND Flash主机接口控制器技术研究

    NAND Flash主机接口控制器技术研究(嵌入式开发入门 csdn)-该文档为NAND Flash主机接口
    发表于 07-30 12:23 12次下载
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>主机接口<b class='flag-5'>控制器</b>技术研究

    北京革新创展科技有限公司EP2C35-M672 FPGA板卡

    简介:北京革新创展科技有限公司GX-SOPC-EP2C35-M672FPGA开发板采用IntelCycloneII系列芯片,外围提供丰富的通讯接口、连接、开关、按键、配置与调试接口、存储、LED、显示、加速度传感
    发表于 03-08 17:16 5次下载