关于STM32计算FSMC 各个时序参数问题

2019-07-14 16:59发布

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,  这个值怎么会是负值? 哪位知道怎么计算?



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
大洼球王
1楼-- · 2019-07-15 01:39
AN2784  应用笔记
使用大容量STM32F10XX的FSMC驱动外部的存储器
天地直方
2楼-- · 2019-07-15 06:28

根据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。

一周热门 更多>