OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4901|回复: 10

STM32F407外部SRAM实验中如何确定地址建立时间、地址保持时间、数据建立时间?

[复制链接]

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-2-19
在线时间
8 小时
发表于 2019-2-19 11:27:51 | 显示全部楼层 |阅读模式
2金钱
各位大神,最近学习SMFC时遇到一些问题。
1.扩展外部SRAM时,如何确定地址建立时间、地址保持时间和数据建立时间?感觉中文参考手册上的时序图不是很详细。芯片手册《IS62WV51216.pdf》中的时序图不是很懂,也没有明确这3个参数值。
外部SRAM实验的代码中使用的是IS62WV51216型号SRAM,设置为模式A,我将中文参考手册的模式A读写时序截图了,还有IS62WV51216数据手册中的读写时序。

2.还是外部SRAM实验,我看源码中初始化时,地址建立时间、地址保持时间、数据建立时间是这样写的:
  readWriteTiming.FSMC_AddressSetupTime = 0x00;         //地址建立时间为1HCLK     1/36M=27ns
  readWriteTiming.FSMC_AddressHoldTime = 0x00;         //地址保持时间 模式A未用到
  readWriteTiming.FSMC_DataSetupTime = 0x08;                 //数据建立时间 为9HCLK    6*9=54ns
疑问:为什么地址建立时间赋值0,注释中却说为1个HCLK时间?
          为什么数据建立时间赋值8,注释中却说为9个HCLK时间?
          为什么1个HCLK时间是1/36M=27ns?407主频不是168MHz吗?
          为什么数据建立时间9个HCLK时间是6*9=54ns?既然是1/36M,不应该是27*9=243ns吗?

本人新手一枚,只有两个金币全拿出来了,还望各位大神指导!!!

中文参考手册模式A读

中文参考手册模式A读

中文参考手册模式A写

中文参考手册模式A写

IS62WV51216读时序

IS62WV51216读时序
捕获4.PNG
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-2-19
在线时间
8 小时
 楼主| 发表于 2019-2-19 11:31:36 | 显示全部楼层
前面有错误,是FSMC  不是SMFC。手抖了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2019-2-20 01:48:22 | 显示全部楼层
建议看看我们寄存器版本教程
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-2-19
在线时间
8 小时
 楼主| 发表于 2019-2-20 11:06:06 | 显示全部楼层
本帖最后由 Chocolate 于 2019-2-20 11:07 编辑
正点原子 发表于 2019-2-20 01:48
建议看看我们寄存器版本教程

非常感谢!库函数的代码地址建立时间的注释写错了,应该是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

读时序关键特性

读时序关键特性

写时序关键特性

写时序关键特性
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-2-19
在线时间
8 小时
 楼主| 发表于 2019-2-21 09:52:06 | 显示全部楼层
哪位大神能解答下
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-5-20
在线时间
3 小时
发表于 2019-2-21 20:44:07 | 显示全部楼层
同求解答,有没有大神能指点一下
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-2-19
在线时间
8 小时
 楼主| 发表于 2019-2-25 09:24:31 | 显示全部楼层
跪求大神指导啊
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2019-2-26 02:52:52 | 显示全部楼层
Chocolate 发表于 2019-2-20 11:06
非常感谢!库函数的代码地址建立时间的注释写错了,应该是0个HCLK周期。HCLK频率是168MHz,所以一个周期 ...

1,F407的FSMC性能也不是完全理论匹配的,会比你设置的值更慢一些。
2,因为当共用时序的时候,是以写时序为准的,不需要再设置读时序,两者共用
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-2-19
在线时间
8 小时
 楼主| 发表于 2019-2-26 17:25:52 | 显示全部楼层
正点原子 发表于 2019-2-26 02:52
1,F407的FSMC性能也不是完全理论匹配的,会比你设置的值更慢一些。
2,因为当共用时序的时候,是以写时 ...

嗯 非常感谢!
回复

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-12-10
在线时间
12 小时
发表于 2020-2-29 12:08:39 | 显示全部楼层
正点原子 发表于 2019-2-26 02:52
1,F407的FSMC性能也不是完全理论匹配的,会比你设置的值更慢一些。
2,因为当共用时序的时候,是以写时 ...

第二点应该说反了吧,当共用时序的时候只需要配置BTR寄存器(是读时序寄存器),而不需要配置BWTR(写时序寄存器)。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-2-29 23:14:22 | 显示全部楼层
Dabbler 发表于 2020-2-29 12:08
第二点应该说反了吧,当共用时序的时候只需要配置BTR寄存器(是读时序寄存器),而不需要配置BWTR(写时 ...

是的,不好意思
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-7 15:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表