2018-10-29 03:13 PM
Hello,
I have succesfully configured several lcd screens with stm32 MCU's, but they always been "timing-friendly" and all the typical parameters were in the datasheet. Now I'm trying to use the 3,5" LCD with HX8238 using RGB 565 connection.
Here is the datasheet:
https://www.buydisplay.com/download/ic/HX8238.pdf
I have found over there typical values of dotCLK 6.5mhz, HBP 68px, HFP 20px, VBP 18lines, VFP 4lines. The Horizontal Sync width and vertical sync height are not mentioned over there and I seem to calculate them incorrectly because the display is displaying image either very distorted, moved or cut. I have tried setting the h/v sync to 1 as well.
Could you please help me calculate the values and configure the LTDC?
hltdc.Instance = LTDC;
hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL;
hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL;
hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL;
hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC;
hltdc.Init.HorizontalSync = 67;
hltdc.Init.VerticalSync = 17;
hltdc.Init.AccumulatedHBP = 135;
hltdc.Init.AccumulatedVBP = 35;
hltdc.Init.AccumulatedActiveW = 455;
hltdc.Init.AccumulatedActiveH = 275;
hltdc.Init.TotalWidth = 475;
hltdc.Init.TotalHeigh = 279;
Thanks in advance,
Greetings
2018-10-29 03:45 PM
That's the data sheet for the controller, wouldn't a link to the panel you've purchased be more useful to figure the resolution at least.
2018-10-29 03:54 PM
Here it is:
https://www.buydisplay.com/download/manual/ER-TFT035-3_Datasheet.pdf
The resolution is 320x240.
2018-10-29 07:36 PM
https://www.displayfuture.com/Display/datasheet/TFT/ER-TFT035-3.pdf
Better, has timings, totals of 408 and 262, ie active plus front and back porches.
2018-10-30 02:01 AM
Thank you,
dotclk = 156ns - I have set up closest I can get 6.40625Mhz.
Vsync pulse width is 3 x TH = 3 x 408osc
hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL;
hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL;
hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL;
hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC;
hltdc.Init.HorizontalSync = 30;
hltdc.Init.VerticalSync = 3;
hltdc.Init.AccumulatedHBP = 68;
hltdc.Init.AccumulatedVBP = 18;
hltdc.Init.AccumulatedActiveW = 388;
hltdc.Init.AccumulatedActiveH = 258;
hltdc.Init.TotalWidth = 408;
hltdc.Init.TotalHeigh = 262;
hltdc.Init.Backcolor.Blue = 0;
hltdc.Init.Backcolor.Green = 255;
hltdc.Init.Backcolor.Red = 0;
Still no joy though... the image appears on the second (bigger 800x480 very timing tolerant) screen that I have connected for testing, so the ltdc is working, but on the 3,5" only small blue dot appears in the left corner. Do you have some idea?