打印
[STM32F2]

公式计算好象不正确

[复制链接]
878|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dengdc|  楼主 | 2016-9-27 21:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32 NAND FLASH 时序问题
沙发
heweibig| | 2016-9-27 21:19 | 只看该作者
楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
dengdc|  楼主 | 2016-9-27 21:19 | 只看该作者
ST官方资料上给出了计算FSMC 各个时序参数的计算公式,我用以下公式计算好象不正确,望高手指点指点,万分感谢!!!!

HCLK  内部AHB时钟频率  72  MHz
tsu(Data_NE) + tv(A_NE)  数据至FSMC_NEx高的建立时间 + FSMC_NEx低至FSMC_A有效  36  ns   
读/写访问时间 = ((SET + 1) + (WAIT + 1) + (HOLD + 1)) × HCLK
  读/写使能信号低至高时间 = (WAIT + 1) × HCLK
  片选建立时间 – 数据建立时间 = HiZ × HCLK
  片选低至写使能高时间 = ((SET + 1) + (WAIT + 1)) × HCLK
为了保证正确地配置FSMC的时序,下述因素应加以考虑:
●  最大读/写访问时间
●  FSMC内部各部分的延迟
●  存储器内部各部分的延迟
因此,我们得到下述公式:
  (WAIT + 1) × HCLK = max (tWP, tRP)
  ((SET + 1) + (WAIT + 1)) × HCLK = max (tCS, tALS, tCLS)
  HOLD = max (tCH, tALH, tCLH)/HCLK
还需要满足下述公式的验证:
  ((SET + 1) + (WAIT + 1) + (HOLD + 1)) × HCLK = max (tRC, tWC)
  HiZ = (max (tCS, tALS, tCLS) – tDS)/HCLK) – 1
考虑FSMC和存储器内部各部分的延迟,这些公式变为如下形式:
●  WAIT需要满足:
  (WAIT+1+ SET + 1) = ((tCEA + tsu(Data_NE) + tv(A_NE))/HCLK)
  WAIT = ((tCEA + tsu(Data_NE) + tv(A_NE))/HCLK) – SET – 2
●  SET需要满足
  (SET + 1) = max ((tCS, tALS, tCLS) – max (tWP, tRP))/HCLK – 1
  SET = (max (tCS, tALS, tCLS) – max (tWP, tRP))/HCLK – 1
下表列出了NAND存储器各项参数的意义和时序
NAND闪存存储器时序
符号  参数  数值  单位
tCEA  片选低至输出有效  35  ns
tWP  写使能低至写使能高  15  ns
tRP  写使能低至写使能高  15  ns
tCS  片选低至写使能高  20  ns
tALS  AL建立时间  15  ns
tCLS  CL建立时间  15  ns
tCH  E保持时间  5  ns
tALH  AL保持时间  5  ns
tCLH  CL保持时间  5  ns
使用上述公式、存储器时序(表6)和STM32F10xxx参数(表2),我们得到:
●  地址建立时间:0x1
●  地址保持时间:0x3
●  数据建立时间:0x2
●  数据总线高阻时间:0x2
HCLK频率时72MHZ,那么HCLK 的取值位1/(72M)=14NS,20为max (tCS, tALS, tCLS),15为max (tWP, tRP),
按照上面的公式,SET = (max (tCS, tALS, tCLS) – max (tWP, tRP))/HCLK – 1
SET等于(20-15)/ 14-1,  这个值怎么会是负值? 哪位知道怎么计算?

使用特权

评论回复
地板
wuhany| | 2016-9-27 21:19 | 只看该作者
楼主参考的是哪个文档?

使用特权

评论回复
5
dengdc|  楼主 | 2016-9-27 21:20 | 只看该作者
AN2784  应用笔记
使用大容量STM32F10XX的FSMC驱动外部的存储器

使用特权

评论回复
6
jiahy| | 2016-9-27 21:20 | 只看该作者

根据AN2784,P24, SET需要满足如下条件:
(SET + 1) x tHCLK >=  max (tCS, tCLS, tALS, tCLR, tAR) - tWP,请注意这个是个不等式,即左式的值必须“大于等于”右式的值,右式的值根据nand flash specific,为5,
tHCLK为14ns, 又根据RM008中Table 129. Programmable NAND/PC Card access parameters,Memory setup time的取值范围为1到256,因此SET取1即可就能是上述不等式成立,
(1+1)*14 = 28, 28  > 5。

使用特权

评论回复
7
dengdc|  楼主 | 2016-9-27 21:20 | 只看该作者
搞定了,呵呵,犯了低级错误……结贴啦,多谢各位

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

892

主题

13885

帖子

7

粉丝