2016-03-04 33 views
0

我的STM32F43XX上有一個外部SRAM,我可以使用它。我可以訪問內存區域並測試它們(memtest)。STM32F4 - 配置外部SRAM可能

但是,我不知道我的FMC配置是否正確。我很難理解我的SRAM的數據表和STM32F4 FMC接口之間的關係。我使用STM32F4XX reference manualSRAM 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; 

回答

1

地址設置爲地址總線上。在公羊時鐘之前多少時間顯示地址已經解決(不再變化)和/或來自前一時鐘。保持時間後,它保持穩定多久。

數據設置是在時鐘數據穩定之前多久。

ram和微控制器數據表應該有時序圖。對於你選擇的時鐘速度,你是否符合時序和/或你是否需要設置一些參數來滿足時序要求。