:::: MENU ::::

sdram is42s16400j на stm32f429-disco — Timeout

У STM32F429 есть аппаратный Flexible memory controller (FMC), который позволяет работать с:

  • The NOR/PSRAM memory controller
  • The NAND/PC Card memory controller
  • The Synchronous DRAM (SDRAM/Mobile LPSDR SDRAM) controller

Для работы с SDRAM необходимо настроить timeout‘ы. Рассмотрим, что значит каждый timeout.

FMC_SDRAM_TimingTypeDef Timing;

Timing.LoadToActiveDelay    = 2;    
Timing.ExitSelfRefreshDelay = 7;    
Timing.SelfRefreshTime      = 4;    
Timing.RowCycleDelay        = 7;    
Timing.WriteRecoveryTime    = 2;    
Timing.RPDelay              = 2;    
Timing.RCDDelay             = 2;

NOTE: Все времена задаются в количествах тактирующих импульсов.

Для того, чтобы правильно их настроить, сверяемся с DataSheet на is42s16400j.

Внизу рисунки с выделенными на них временами (выделено красным), которые мы устанавливали выше. А ниже этих картинок описание, каждого параметра.

Tmrd

Trc

Twr

Txsr

 

  • LoadToActiveDelay (Tmrd) — время между записью в MODE-REGISTER и ACTIVATE.
  • ExitSelfRefreshDelay (Txsr) — время между SELF-REFRESHING и ACTIVATE (exit self-refresh mode).
  • SelfRefreshTime (Tras) — минимальное время между SELF-REFRESH.
  • RowCycleDelay (Trc) — время между двумя командами REFRESH.
  • WriteRecoveryTime (Twr) — задержка между командой WRITE и вызовом PRECHARGE.
  • RPDelay (Trp) — время между командой PRECHARGE и любой другой командой.
  • RCDDelay (Trcd) — время между подачей команды ACTIVATE и появлением данных на шине.

 

 


  • Umberto Fellinni

    А где сама работа??? О чем вообще эта статья? Короче, фтопку