Question
STM32F7 Discovery SDRAM and TFT-LCD
Posted on July 10, 2015 at 18:03
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
#sdram #fmc #stm32f7 #emwin #discovery #stm32f7-lcd