加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 07:20:14 所属栏目:百科 来源:网络整理
导读: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控制器
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读