简体   繁体   中英

STM32F4 - Configurate extern SRAM probably

I have got an external SRAM on my STM32F43XX and I am able to use it. I can access the memory regions and test them (memtest).

However, I do not know if my FMC configurations are correct. It is hard for me to understand the relation between the datasheet of my SRAM and the STM32F4 FMC interface.

I use the STM32F4XX reference manual with the SRAM CY7C1051DV33 .

Lets start with the timing (Reference page 1591, Table 256 | SRAM Datasheet Page 6):

  • Address Setup <------- Address Setup to Write End?
  • Address Hold <------- Data Hold from Address Change?
  • Data Setup <------- Data Setup to Write End?
  • Bus Turn <-------- ?
  • Clock divide ratio <-------- ?
  • Data latency <----------- ?
  • AccessMode <------------- ?

The frequency? of the SRAM is defined by my HCLK divided by the clock divide ratio? So if my HCLK is 100 MHz and the clock divide is 2 I get 50 Mhz (20 ns). So my STM32F4 latency is always bigger than the latency of the SRAM (max 10 ns). So ever where the lowest allowed value would be okay?

Thank you in advance for your help!

My NORRAM INIT looks by the way like this:

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;

address setup is on the address bus. how much time before the clock does the ram show that the address has settled (no longer changes) and/or from the prior clock. hold is how long after the clock does it stay stable.

data setup is how long before the clock is the data stable.

the ram and the microcontroller datasheets should have timing diagrams. for the clock speed you have chosen, do you meet timing and/or do you have to set some parameters to meet timing.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM