你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F4控制SRAM时的FMC时序问题

[复制链接]
欣欣菇凉_ 提问时间:2019-9-19 10:14 /
我用fmc控制外部sram,向sram中写数据的时序理论上是这样的
微信图片_20190919100401.png
我用逻辑分析仪抓到的时序是这样的:其中数据总线宽度是8bit,写一个字节数据如下
微信图片_20190919100409.png
写4个字节数据如下:
微信图片_20190919101235.png
我的问题是:为什么数据线上的数据在片选以及写信号无效后还保持了这么久?大概1us左右,这种是正常的吗?

收藏 评论2 发布时间:2019-9-19 10:14

举报

2个回答
七哥 回答时间:2019-9-19 12:20:12
异步读写时,数据线的信号必须保持一段时间,否则保持时间不够,数据不能成功锁住。但是这个时间比较一般比较短,大概是几十ns。
你的问题可能是,不操作总线时数据为什么会保持最后一次的数据那么长时间。
这个自己可以想像一下,既然不操作总线,那么总线为什么不能保持最后一次的数据?如果不保持,那么说明有指令把数据清零了,清零指令肯定会占用CPU周期,那么这个清零真的有必要吗?
一般总线不操作时,会把数据线置成三态。理想的三态是相当于悬空输入的,但实际上是会有个电压的,只是这个电压的驱动能力相当弱,有外部高电平时把它拉高,有低电平时就把它拉低。总线从正常的输出有效数据状态,切换到三态,到态稳定,这个时间也是有的。如果器件都是理想的COMS电路输入的话,没有电流,数据线上的寄生电容就可以维持原来的数据状态。

综上所述,你说的那个时间,很可能是数据有效状态到三态的切换,缓慢放电时间。
欣欣菇凉_ 回答时间:2019-9-19 13:10:41
toofree 发表于 2019-9-19 12:20
异步读写时,数据线的信号必须保持一段时间,否则保持时间不够,数据不能成功锁住。但是这个时间比较一般比 ...

谢谢你的回答,我理解下。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版