多简单,无非就是读写擦,像我们这款nand数据位宽8bit,一个周期绰绰有余。但地址就不一样了,比如此款nandflash容量256M = 2^28,那么需要28根数据线来传输才能一个周期传输完,但这款nandflash的数据总线位宽只有8bit, 只有8根数据线,所以需要把地址拆分成多次发送,先发送col地址,再发送row地址,此款nandflash是用了5个周期发送地址。
2.数据锁存时序(写数据)
从前面的命令地址锁存时序图中我们得知,CLE信号拉高,ALE信号拉低时,表示发送的命令;当CLE信号拉低,ALE信号拉高时,表示发送的地址;那么当CLE、ALE都拉低时,表示发送的数据,如下图,nCE, CLE, ALE都拉低了,表示传输的是数据。
1)当到达①时,nWE还是高电平,写使能没有开启;
2)当到达②,③时,那么经过了tWP时间(TDS时间),数据开始被锁存;
3)到达④,经过tDH时间,数据锁存完成;
4)到达⑤,也就是数据开始锁存后再过了tWH时间后释放nWE信号;
5)重复②③④⑤过程。
根据上面这三个图(手册上的命令、地址、数据锁存时序图),下面详细解释各个时间参数的含义:
3.顺序访问周期(读数据)
1)①处,表示要过tRR后才能发送读使能信号nRE进行访问(上一次的访问结束后,需要等待ready状态稳定后才可以进行下一次访问);
2)当到达②,需要经过rREA时间后nRE信号才有效(待nRE稳定);
3)当到达③,DATA总线上的读取被读取;
4)当到达④,nRE释放tREH时间后才允许下一次读使能
我们看到连续顺序访问时,单次访问的时间为tRC,那么这些时间参数的值也可以从K9F2G08U0C datasheet中找到:为25ns
引用地址:
s3c2440裸机-nandflash编程-2-nand控制器和访问时序
推荐阅读最新更新时间:2024-11-12 14:04
S3C2440-裸机篇-10 | 使用S3C2440操作Nand Flash
1. Nor Flash与Nand Flash Nor Nand 接口 引脚多,类似于RAM 引脚较少 容量 小(1-32MB) 大(128-512MB) 读操作 简单,和RAM相同 简单,和RAM相同 写操作 发出特定命令才能写入 发出特定命令才能写入 价格 贵 便宜 比较 无坏块 有坏块 XIP 可以 不可以 应用场合 存储关键性代码(比如uboot,kernel) 存储海量数据(允许错误) 2. JZ2440开发板上的Nand Flash JZ2440开发板上板载了一个Nand Flash,型号为K9F2G08U0C,大小为256MB,连接在S3C2440的nand控制器上,原理图如下:
[单片机]
S3C2440裸机------SPI_FLASH编程
1.spi_flash.h #ifndef _SPI_FLASH_H #define _SPI_FLASH_H void SPIFlashReadID(int *pMID, int *pDID); void SPIFlashInit(void); void SPIFlashEraseSector(unsigned int addr); void SPIFlashProgram(unsigned int addr, unsigned char *buf, int len); void SPIFlashRead(unsigned int addr, unsigned char *buf, int len); #endif
[单片机]
s3c2440裸机-时钟编程(二、配置时钟寄存器)
1.2440时钟时序 下图是2440时钟配置时序: 1.上电后,nRESET复位信号拉低,此时cpu还无法取指令工作。 2.nRESET复位信号结束后变为高电平,此时cpu开始工作。此时cpu主频FCLK=osc。 3.此时可以配置PLL,经过lock time后,FCLK倍频成新的时钟。 2.如何配置时钟 在参考手册的特性里介绍了S3C2440的工作频率,Fclk最高400MHz,Hclk最高136MHz,Pclk最高68MHz。那么 我们干脆配置FCLK:HCLK:PCLK= 400:100:50 (MHz). 1,先配置lock time 我们取芯片手册上的推荐值。 /* LOCKTIME(0x4C000000)
[单片机]
S3C2440开发板裸机程序系列02--按键和蜂鸣器
1. TQ2440按键接口电路 K1 -- EINT1 -- GPF1 K2 -- EINT4 -- GPF4 K3 -- EINT2 -- GPF2 K4 -- EINT0 -- GPF0 2. 按键参考代码 按键,则对应的led灯亮,松开则灭。 在流水灯程序基础上,修改Main.c,增加key.c , key.h key.c #include 2440addr.h #include key.h void Key_Init(void) { rGPFCON &= ~((3 2)|(3 8)|(3 4)|(3 0)); rGPFCON |= KEY1|KEY2|KEY3|KEY4; /
[单片机]
s3c2440裸机-电阻触摸屏编程(6.触摸屏校准实现-五点校准法)
前面我们讲过触摸屏触摸屏校准原理就是让lcd能够与触摸屏坐标对应起来。 一、五点法校准实现 一、我们取A,B,C,D,E这五个点,那么这个时候我们需要把该5个点的触摸屏和LCD的坐标对应起来,这就是校准的过程。 ①在LCD显示屏上A点显示一个“十字”形状 ②用户在触摸屏上点击对应A点的“十字”形状 ③记录触摸屏的数据坐标 同理在B,C, D, E点循环该①②③过程,就能得到这五点触摸屏坐标。 二 、然后根据这5个触摸屏坐标数据确定公式。 三 、以后得到TS触点坐标,即可校准出期待的TS坐标。 下面开始函数实现: 在LCD上显示 十字 形状,定义为函数fb_disp_cross() 记录触摸屏坐标,定义函数为ts_read_ra
[单片机]
S3C2440之裸机之汇编点亮LED灯
虚拟机环境:Oracle VM VirtualBox Linux系统:ubuntu_14.04.6 交叉编译工具: (https://eyun.baidu.com/s/3b1UtLc) 100ask分享的所有文件 002_JZ2440资料光盘_20180516(免费) 资料光盘 A盘 tools.zip arm-linux-gcc-4.3.2.tar.bz2 gcc-3.4.5-glibc-2.3.6/bin 第一步:查看原理图 输出低电平点亮LED灯 输出高电平熄灭LED灯 第二步:查看芯片手册 相应引脚配置为输出 输出低电平 第三步:编写程序 led_on.S: .text .global _
[单片机]