历史上的今天
今天是:2024年10月11日(星期五)
2021年10月11日 | S3C2440裸机------NandFlash编程_时序及初始化
2021-10-11 来源:eefocus
1.NandFlash初始化
Nandflash初始化主要包括时序图的设置和Nandflash控制器的使能,我们首先看一下S3C2440芯片手册里面的时序图。

上图中的HCLK我们已经设置成了100M。那么时钟周期是1/100M=10ns

然后下图是NandFlash芯片手册里面的时序图。
我们将S2C2440里面NandFlash控制器的时序图和NandFlash时序图结合起来看。

左图中的TACLS表示当我们的CLE/ALE发出之后,再过多长时间再发出WE信号,就是右图中的tcls-twp,而我们从右下图可以看到,tcls的最小值是12,twp的最小值也是12,就表明tcls-twp可以为零,也就表明CLE和WE两个信号可以同时发出,而tals的最小值也可以是12,那么表明ALE信号和WE也可以同时发出,那么也就意味着左图中的TACLS可以为零,那么左下角的寄存器设置中TACLS可以为零,
左上图中TWRPH0表示写使能信号持续的时间,就是右图中的TWP,TWP的最小值是12ns,那么左图中的寄存器设置那里,HCLK*(TWRPH0+1)>=12ns,而HCLK=10ns,所以这里TWRPH0设置为1。
左上图中TWRPH1表示写使能释放之后,再过多久CLE/ALE再释放,也就是右图中的tCLH和tALH,右图中可以看到这两个都是5ns,那么HCLK*(TWRPH1+1)>=5ns,那么TWRPH1可以设置为0.
2.NandFlash控制器使能
然后我们再来看一下使能NandFlash控制器,

3.代码
void nand_init(void)
{
#define TACLS 0
#define TWRPH0 1
#define TWRPH1 0
/*设置NAND FLASH的时序*/
NFCONF = (TACLS<<12) | (TWRPH0<<8) | (TWRPH1<<4);
/*使能NAND FLASH控制器,初始化ECC,禁止片选*/
NFCONT = (1<<4) | (1<<1) | (1<<0);
}
史海拾趣
|
目录 第一篇 PWM开关变换器的基本原理………………………………………………1 第一章 开关变换器概论………………………………………………………………1 第一节 什么是开关变换器和开关电源………………………………………………1 第二节 DC-D ...… 查看全部问答> |
|
有没有谁做嵌入式开发的,大虾给俺指导一下?谁有WIN CE的模拟器? 我现在准备开发WIN CE5.0应用程序,现在按照网上指导的方法VS2005不能与目标机相联(目标机是WIN CE5.0系统),从开发机上拷的那5个文件不能在目标机器上运行,执行后报如下错误提示: \'ConmanClient2\'is not a valid Windows CE application ...… 查看全部问答> |
|
PB5.0升级2008全年升级包后 定制内核 生成的NK.nb0无法运行 第一步:把PB5.0升级2008全年升级包,在优龙2410开发板资料提供的ARMSYS2410.pbxml基础上把.net compact framework 2.0 add to OS,编译通过,生成的NK.nb0(大小为29M),在DNW下可以通过USB下载到开发板,下载地址为0X30200000,下载后选择Y运行, ...… 查看全部问答> |
|
现有一个软件需求如题所述,现在的做法是在TOUCH PANEL驱动层加上一些代码,也就是说把传给GWES的值复制一份保留下来.这样的做法缺陷很大,如果一旦在动作序列里有一个动作没有被有效的执行,那本次模拟的所有操作就会被认为无效.大家有没有其它的办法 ...… 查看全部问答> |
|
用vc生成一个dll文件(Phone.dll),并把它拷贝到pda的根目录下(该目录下有一个用EVC生成的导入dll的EXE文件),希望在pda中导入dll,相关代码如下: HINSTANCE ghPhoneDLL=NULL; ...… 查看全部问答> |
|
之前用 iar习惯了。。发现stm32的iar设置很麻烦。。看了一会还是不大懂。想买款使用IAR库函数的stm32开发板。求推荐。谢谢… 查看全部问答> |
|
欢迎来到电源设计小贴士!随着现在对更高效、更低成本电源解决方案需求的强调,我们创建了该专栏,就各种电源管理课题提出一些对您有帮助的小技巧。该专栏面向各级设计工程师。无论您是从事电源业务多年还是刚刚步入电源领域,您都可以在这里找到 ...… 查看全部问答> |






