AnsweredAssumed Answered

STM32F7 Discovery SDRAM and TFT-LCD

Question asked by FearedSpark on Jul 10, 2015
Latest reply on Sep 21, 2016 by FTITI.Walid
Hello,

I received my STM32F746G-DISCO board 2 days ago, and I am trying to get the TFT-LCD module work, but I am having difficulties with the configuration of the FMC. I am struggling with the timing configuration for the SDRAM. I think I got it right for the most part, but I still can't access the memory.
My FMC initialization function is the following:

void MX_FMC_Init(void)
{
  FMC_SDRAM_TimingTypeDef SdramTiming;
 
  /** Perform the SDRAM1 memory initialization sequence
  */
  hsdram1.Instance = FMC_SDRAM_DEVICE;
  /* hsdram1.Init */
  hsdram1.Init.SDBank = FMC_SDRAM_BANK1;
  hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8;
  hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_11;
  hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16;
  hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4;
  hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_2;
  hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE;
  hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2;
  hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_ENABLE;
  hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_0;
  /* SdramTiming */
  SdramTiming.LoadToActiveDelay = 2;
  SdramTiming.ExitSelfRefreshDelay = 7;
  SdramTiming.SelfRefreshTime = 7;
  SdramTiming.RowCycleDelay = 16; //???
  SdramTiming.WriteRecoveryTime = 1;
  SdramTiming.RPDelay = 12;
  SdramTiming.RCDDelay = 2;
 
  HAL_SDRAM_Init(&hsdram1, &SdramTiming);
 
}


Ultimatly I would like to use also the TFT-LCD, and I think I found the model there:
http://www.rocktech.com.hk/Tpadb.aspx
However, I couldn't find the exact datasheet for the capacitive touch screen controller. I could only find datasheets for controllers from the same familly. Does anyone has the correct one?

Regards

Outcomes