STM32F4控制SRAM时的FMC时序问题
我用fmc控制外部sram,向sram中写数据的时序理论上是这样的我用逻辑分析仪抓到的时序是这样的:其中数据总线宽度是8bit,写一个字节数据如下
写4个字节数据如下:
我的问题是:为什么数据线上的数据在片选以及写信号无效后还保持了这么久?大概1us左右,这种是正常的吗?
异步读写时,数据线的信号必须保持一段时间,否则保持时间不够,数据不能成功锁住。但是这个时间比较一般比较短,大概是几十ns。
你的问题可能是,不操作总线时数据为什么会保持最后一次的数据那么长时间。
这个自己可以想像一下,既然不操作总线,那么总线为什么不能保持最后一次的数据?如果不保持,那么说明有指令把数据清零了,清零指令肯定会占用CPU周期,那么这个清零真的有必要吗?
一般总线不操作时,会把数据线置成三态。理想的三态是相当于悬空输入的,但实际上是会有个电压的,只是这个电压的驱动能力相当弱,有外部高电平时把它拉高,有低电平时就把它拉低。总线从正常的输出有效数据状态,切换到三态,到态稳定,这个时间也是有的。如果器件都是理想的COMS电路输入的话,没有电流,数据线上的寄生电容就可以维持原来的数据状态。
综上所述,你说的那个时间,很可能是数据有效状态到三态的切换,缓慢放电时间。
toofree 发表于 2019-9-19 12:20
异步读写时,数据线的信号必须保持一段时间,否则保持时间不够,数据不能成功锁住。但是这个时间比较一般比 ...
谢谢你的回答,我理解下。
页:
[1]