0

我的 STM32F43XX 上有一个外部 SRAM,我可以使用它。我可以访问内存区域并测试它们(memtest)。

但是,我不知道我的 FMC 配置是否正确。我很难理解我的 SRAM 的数据表和 STM32F4 FMC 接口之间的关系。

我将STM32F4XX 参考手册SRAM CY7C1051DV33 一起使用

让我们从时序开始(参考第 1591 页,表 256 | SRAM 数据表第 6 页):

  • 地址设置 <------- 地址设置写入结束?
  • 地址保持 <-------- 地址更改后的数据保持?
  • Data Setup <------- Data Setup to Write End?
  • 巴士转弯 <-------- ?
  • 时钟分频比 <-------- ?
  • 数据延迟 <------------ ?
  • 访问模式 <------------- ?

频率?SRAM的定义是由我的HCLK除以时钟分频比吗?因此,如果我的 HCLK 为 100 MHz,时钟分频为 2,我得到 50 Mhz(20 ns)。所以我的 STM32F4 延迟总是大于 SRAM 的延迟(最大 10 ns)。那么,最低允许值在哪里可以?

预先感谢您的帮助!

我的 NORRAM INIT 看起来像这样:

init.DataAddressMux = FMC_DATA_ADDRESS_MUX_DISABLE;
init.MemoryType = FMC_MEMORY_TYPE_SRAM;
init.MemoryDataWidth = FMC_NORSRAM_MEM_BUS_WIDTH_16;
init.BurstAccessMode = FMC_BURST_ACCESS_MODE_DISABLE;
init.WaitSignalPolarity = FMC_WAIT_SIGNAL_POLARITY_LOW;
init.WrapMode = FMC_WRAP_MODE_DISABLE;
init.WaitSignalActive = FMC_WAIT_TIMING_BEFORE_WS;
init.WriteOperation = FMC_WRITE_OPERATION_ENABLE;
init.WaitSignal = FMC_WAIT_SIGNAL_DISABLE;
init.ExtendedMode = FMC_EXTENDED_MODE_DISABLE;
init.AsynchronousWait = FMC_ASYNCHRONOUS_WAIT_DISABLE;
init.WriteBurst = FMC_WRITE_BURST_DISABLE;
init.ContinuousClock = FMC_CONTINUOUS_CLOCK_SYNC_ASYNC;
4

1 回答 1

1

地址设置在地址总线上。ram 在时钟前多长时间显示地址已确定(不再更改)和/或从前一个时钟开始。保持是时钟保持稳定后多长时间。

数据设置是时钟在数据稳定之前多长时间。

内存和微控制器数据表应该有时序图。对于您选择的时钟速度,您是否满足时序和/或您是否必须设置一些参数以满足时序。

于 2016-03-04T20:05:18.833 回答