nand flash的读操作

    韦老师的nand flash一章操作的flash与我开发板上的nand flash型号不同,做了一些修改。我的开发板上nand flash型号为K9F2G08,即2Gbit,8bit或者说是256M,8bit。

    1、配置nand flash

     CPU的读写操作要满足flash的时序要求,主要牵涉到HCLK,CLE,ALE和nWE,如下图所示:

2440的CLK分为三种HCLK, FLCK和PCLK,默认的比例是1:1:1,在没有设置锁相环(PLLCON)的情况下,FCLK即为晶振的频率,datasheet上有这样一段话:

However, PLL is commonly known to be unstable after power-on
reset, so Fin is fed directly to FCLK instead of the Mpll (PLL output) before the software newly configures the
PLLCON. Even if the user does not want to change the default value of PLLCON register after reset, the user should
write the same value into PLLCON register by software.

而且PLLCON的默认值即使要起作用也要重新配置PLLCON寄存器。

 

我的开发板晶振是12M的,默认HCLK为12M,而K9F2G08的时间特性如下:

MAX(setup time + hold time, WE plus width)=17ns,可以按照韦老师的设置,TACLS=0(1个HCLK),TWPRH0=3(4个HCLK),TWRPH1=0(1个HCLK),按照韦老师的说话,即使HCLK=100M,TACLS+TWPRH0+TWPRH1=6/(100M)=60ns,可以满足K9F2G08的要求。

    另外NCON0,GPG13,GPG14,GPG15都是只读的,按照K9G2G08的配置应该为1 1 1 0,mini2440的原理图上有说明要去掉NR4和NR5的电阻。

    2、字节对齐

    flash的读操作是以页为单位的,所以起始地址和读取的大小都要是2Gbit的倍数。

    3、写地址需要5个cycle

    4、读flash的流程,如下所示:

完全手册中没有介绍ECC的校验,这要看烧写程序把校验码写到flash的spare area的哪个字节了,校验部分可以看赵春江老师的博客。

    其他的也就差不多一样了。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NAND Flash是一种非常常见的闪存芯片,常用于存储数据和程序代码。Verilog是一种硬件描述语言,可以用于设计数字电路和硬件系统。 NAND Flash的Verilog源代码主要用于描述NAND Flash的硬件设计和功能。这些源代码通常包括各种模块和端口定义,以及各种逻辑电路和存储单元的实现。 在NAND Flash的Verilog源代码中,通常会包括以下几个关键模块: 1. 控制器模块:用于控制NAND Flash操作和数据传输。它包括、写、擦除等操作的控制逻辑,并与主机系统进行数据交互。 2. 存储模块:用于存储用户数据和程序代码。它通常由多个存储单元(例如存储单元阵列)组成,并实现了数据的写和擦除功能。 3. 编码/解码模块:用于处理控制信号和数据信号的编码和解码。它可以将来自主机系统的命令和数据信号转换为NAND Flash可以理解的格式,并将NAND Flash反馈的数据和状态信号解码给主机系统。 除了上述模块外,NAND Flash的Verilog源代码还可能包括时钟和复位逻辑、数据缓存和错误处理等功能的实现。 通过编写NAND Flash的Verilog源代码,可以实现NAND Flash芯片的逻辑设计和功能验证。这对于硬件工程师来说非常重要,因为它可以验证设计的正确性和性能,并用于后续的仿真和验证工作。 总之,NAND Flash的Verilog源代码是用于描述NAND Flash芯片硬件设计和功能的代码,它实现了NAND Flash的控制逻辑、存储单元和编码/解码等功能,对于硬件工程师来说非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值