我的STM32F43XX上有一個外部SRAM,我可以使用它。我可以訪問內存區域並測試它們(memtest)。STM32F4 - 配置外部SRAM可能
但是,我不知道我的FMC配置是否正確。我很難理解我的SRAM的數據表和STM32F4 FMC接口之間的關係。我使用STM32F4XX reference manual與SRAM CY7C1051DV33。
讓我們開始計時(參考1591頁,表256 | SRAM數據表第6頁):
- 地址設置< -------地址建立到寫結束?
- 地址保留< -------地址變更的數據保留?
- 數據設置< -------數據設置爲寫入結束?
- 公共汽車轉彎< --------?
- 時鐘分頻比< --------?
- 數據延遲< -----------?
- AccessMode < -------------?
頻率?的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;