分类: LINUX
2014-12-08 22:32:12
这三个参数对于NandFlash的读写操作来说是比较重要的,没搞清楚这三个参数,后面的事就不用提了,那这三个参数到底是干什么的呢,我们怎么样去配置他们呢,今天我花了点时间研究了一下这三个参数。在datasheet中对他们的时序有下面两种图示,一种是写命令或者地址的情况,一种是读写数据的情况:
由上图可知,这三个参数控制的是Nand Flash 信号线CLE/ALE与写控制信号nWE的时序关系。
TACLS:表示CLT/ALE的建立时间(setup time)。
TWRPH0:表示nWE/nRE持续的时间。
TWRPH1:表示写进去的数据起作用的时间(hold time)。
结合上面的图,就可以看出TACLS就相当于tCLS和tALS参数,TWRPH0就相当于tWP,而TWRPH1就相当于tCLH和TALH
上图中有两种电压,1.8和3.3,我们的K9F2G08U0A工作时的电压时3.3V,所以应该选用3.3V对应的时序要求,NandFlash的工作电压在哪里看呢,还是datasheet,如下图所示:
从上图我们可以很容易得看出K9F2G08U0A工作时的电压是3.3V。
那这三个参数在哪里确定呢,它们的值又是怎么算呢?在NFCON这个寄存器中,还是datasheet:
由于我们的HCLK是100MHz,周期也就是10ns,可以设
TACLS=2,即2*10ns=20ns > 12ns;TWRPH0=7,及8*10ns=80ns > 12ns;TWRPH1=7,即7*10ns=70ns > 5ns
符合时序要求