uboot中nand flash控制器参数TACLS、TWRPH0和TWRPH1的确定(基于K9F2G08U0B)

注:K9F2G08U0B的供电电压时3.3V,本系统的FCLK=400Mhz,HCLK=400/3=133Mhz

 

1.       nand flash控制器的初始化

在NBL1.LSB的nand函数中调用NAND_Init()来初始化nand flash控制器,下面介绍这个函数

void NAND_Init(void)
{


// Initialize NAND Flash Controller for MLC NAND Flash
rNFCONF = NF_8BIT_ECC | NF_TACLS(DEFAULT_TACLS) | NF_TWRPH0(DEFAULT_TWRPH0) | NF_TWRPH1(DEFAULT_TWRPH1);
rNFCONT = NF_MAIN_ECC_LOCK | NF_SPARE_ECC_LOCK | NF_INIT_MECC | NF_INIT_SECC | NF_NFCE1 | NF_NFCE0 | NF_NFCON_EN;
rNFSTAT = NF_RNB_READY;// Clear RnB Transition Detect Bit


rNFCONF = rNFCONF & ~(1<<30);
rNFCONT |= (1<<18)|(1<<13)|(1<<12)|(1<<11)|(1<<10)|(1<<9); //ECC for programming.// Enable RnB Interrupt 
rNFSTAT |= ((1<<6)|(1<<5)|(1<<4));


NAND_Reset(0);
}

其中

#define TACLS             3   

#define TWRPH0         3   

#define TWRPH1          2   

⑴nand flash配置寄存器NFCONF的配置

TACLS、TWRPH0和TWRPH1的实际意义见下面时序图和NFCONF寄存器对他们的描述


  






根据上面两个图可知:

TACLS:表示CLT/ALE的建立时间(setup time)。

TWRPH0:表示CLE/ALE的持续时间。

TWRPH1:表示CLE/ALE的维持时间(hold time)。

我们结合K9F2G08U0B下面的相关时序图


 





结合上面的图,我们可以知道

TACLS就相当于tCLS参数,TWRPH0就相当于tWP,而TWRPH1就相当于tCLH

在此TACLS=7,即3*7.5ns=22.5ns > 12ns;TWRPH0=2,及2*7.5ns=15ns > 5ns;TWRPH1=3,即3*7.5ns=22.5ns > 12ns



转自:http://blog.csdn.net/loongembedded/article/details/5939912

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值