初级会员

- 积分
- 62
- 金钱
- 62
- 注册时间
- 2019-2-19
- 在线时间
- 8 小时
|

楼主 |
发表于 2019-2-20 11:06:06
|
显示全部楼层
本帖最后由 Chocolate 于 2019-2-20 11:07 编辑
非常感谢!库函数的代码地址建立时间的注释写错了,应该是0个HCLK周期。HCLK频率是168MHz,所以一个周期是1/168M=6ns.
从中文参考手册的时序图中可以看到,模式A写入时序的数据建立时间为: 数据建立时间=HCLK周期+1,初始化程序时,如果设置DATAST=0,则实际数据建立周期为1,即实际数据建立周期比DATAST值多1个HCLK周期。
但是还有一个问题:代码中选择扩展模式不使能,即 EXTMOD=0,中文参考手册上解释是 不考虑 FSMC_BWTR 寄存器中的值。那么我们设置地址建立时间、地址保持时间、数据建立时间时,是按照读时序设置呢,还是按照写时序设置呢?从库函数版本和寄存器版本的代码看,都是按照写时序设置的,为什么呢?
另外,《IS62WV51216.pdf》手册中的时序图怎么对应地址建立时间、地址保持时间和数据建立时间呢?我将SRAM手册中的读写时序关键参数截图了,读时序中没有这3个参数,写时序中有,请问程序中是根据写时序的参数取值的吗?数据建立时间取54ns,比手册中给出的最小值30ns大就可以是吗?C:\用户\FENGW\桌面\读时序关键特性.PNG C:\用户\FENGW\桌面\写时序关键特性.PNG |
-
读时序关键特性
-
写时序关键特性
|