对于NAND FLASH控制器中TACLS、TWRPH0、TWRPH1三个值的确定问题,我自己研究了很久,也查了很多资料,但是都没有找到详细的答案。通过对比,我发现了设置方法,在这里贴出来跟大家分享,如果发现分析得不对,请指正,谢谢。
我们假设HCLK=100MHz。
第一组数据:三星S3C2410 MCU和K9F1208U0M.
(图1摘自三星S3C2410 MCU手册第218页) (图2摘自三星S3C2410 MCU手册第221页)
(图3摘自三星K9F1208U0M NANDFLASH手册第19页) (图4摘自三星K9F1208U0M NANDFLASH手册第13页)
对照图1和图3可知,TACLS为CLE建立到WE建立的时间,TWRPH0为TWP保持的时间,TWRPH1为WE无效到CLE无效的时间即TCLH所保持的时间。
对照图2和图4可知,TCLS=TACLS*HCLK,TWP=HCLK*(TWRPH0+1),TCLH=HCLK*(TWRPH1+1),故按照不小于最小值的原则TACLS=0,TWRPH0=2,TWRPH1=0.
第二组数据:
(图5摘自三星K9F2G08U0B NANDFLASH手册第17页) (图6摘自三星K9F2G08U0B NANDFLASH手册第10页)
对照图1和图5可知,TACLS为CLE建立到WE建立的时间,TWRPH0为TWP保持的时间,TWRPH1为WE无效到CLE无效的时间即TCLH所保持的时间。
对照图2和图6可知,(TCLS-TWP)=TACLS*HCLK,TWP=HCLK*(TWRPH0+1),TCLH=HCLK*(TWRPH1+1),故按照不小于最小值的原则TACLS=0,TWRPH0=1,TWRPH1=0.