2020-11-18 04:20 AM
I'm using DSI in video mode +LTDC in Stm32f769IITX to interface with LCD driver "ST7701"
and i am facing problems to display an image even i followed the manufacturer initialization sequence. so, i contacted with the the "ST7701" supplier which said that "STM mcu is not compatible with lcd driver "ST7701" ,"NT35510MH" as well.
2021-07-21 02:45 AM
Hi,
Thank you so much for the code.
Artefacts are maybe due to available bandwith or some timing that are not perfect ?
I will try soon and I will keep you inform on my LCD 480*480
Thank so much for your sharing.
Best regards,
Julien.
2021-07-21 10:36 AM
480x480x24bpp @ 60 Hz should be below 400 Mbps, well within the scope of a 2-lane DSI implementation
32-bit wide SDRAM?
DSIHOST needs to clock at least as fast as the LTDC spills data too it.
Data sheets are usually pretty explicit about the line totals and horizontal, vertical and pixel clocking expectations/ranges
On the STM32 side, watch for contending sources on the frame-buffer
It's been my experience with a lot of vendors, is they lack engineering talent and interest to spend hours explaining to end-users how to configure and program displays, or write drivers for random MCU and OSs
2021-07-22 02:11 AM
Hi,
My LCD is 480*800*16bpp @60 Hz, results to 368.64 mhz. SDRAM is 16 bit wide.
Please see attached clock configuration. Could you see any indication for bad performance? images on screen often are darker than expected, after changing screen I see faded "leftovers" from the previous screen and also some screens flicker, while others are stable.
Thanks
2021-07-28 06:24 AM
Hi Julien,
Did you get LCD to work?
How is performance?
Thanks,
Ari
2021-07-31 01:25 PM
Hello everyone,
By using LCD_DSI_VideoMode_SingleBuffer of STM32F769I_DISCOVERY with a MIPI adapter and with a homemade adapter and by changing INIT LCD by the one provided by ari_v2 I am able to use my 480*480 LCD screen with ST7701 controller. I don't have any issue when I blink image link in the demo. I will try soon with TouchGFX.
So ST7701 seems to be compatible with STM32F769I
Best regards,
2021-07-31 01:38 PM
Hi Julian,
Waiting to hear how it goes with TouchGFX. The artefacts I see are most noticed upon changing between screens with graphics.
Besides changing size of screen what other parameters did you need to change in lcd init?
Thanks,
Ar
2021-08-01 04:23 AM
Hi,
The artefacts I see are most noticed upon changing between screens with graphics.
For the moment I can't see any artefacts when I switch a picture in the middle of the screen in a loop like in the example so I hope I will obtain the same with TouchGfx.
I don't change anything else except initLcd and replace 480*800 by 480*480 it was unbelievable, I use all default setting, same frequency of the DSI discovery board example and video settings.
/* The following values are same for portrait and landscape orientations */
VSA = OTM8009A_480X800_VSYNC; /* 12 */
VBP = OTM8009A_480X800_VBP; /* 12 */
VFP = OTM8009A_480X800_VFP; /* 12 */
HSA = OTM8009A_480X800_HSYNC; /* 63 */
HBP = OTM8009A_480X800_HBP; /* 120 */
HFP = OTM8009A_480X800_HFP; /* 120 */
hdsivideo_handle.VirtualChannelID = LCD_OTM8009A_ID;
hdsivideo_handle.ColorCoding = LCD_DSI_PIXEL_DATA_FMT_RBG888;
hdsivideo_handle.VSPolarity = DSI_VSYNC_ACTIVE_HIGH;
hdsivideo_handle.HSPolarity = DSI_HSYNC_ACTIVE_HIGH;
hdsivideo_handle.DEPolarity = DSI_DATA_ENABLE_ACTIVE_HIGH;
hdsivideo_handle.Mode = DSI_VID_MODE_BURST; /* Mode Video burst ie : one LgP per line */
hdsivideo_handle.NullPacketSize = 0xFFF;
hdsivideo_handle.NumberOfChunks = 0;
hdsivideo_handle.PacketSize = HACT; /* Value depending on display orientation choice portrait/landscape */
hdsivideo_handle.HorizontalSyncActive = (HSA * laneByteClk_kHz)/LcdClock;
hdsivideo_handle.HorizontalBackPorch = (HBP * laneByteClk_kHz)/LcdClock;
hdsivideo_handle.HorizontalLine = ((HACT + HSA + HBP + HFP) * laneByteClk_kHz)/LcdClock; /* Value depending on display orientation choice portrait/landscape */
hdsivideo_handle.VerticalSyncActive = VSA;
hdsivideo_handle.VerticalBackPorch = VBP;
hdsivideo_handle.VerticalFrontPorch = VFP;
hdsivideo_handle.VerticalActive = VACT; /* Value depending on display orientation choice portrait/landscape */
Please find attached a full project working on the discovery board for reference.
I will try TouchGfx in next days, I will keep you informed.
Best regards,
Julien.
2021-08-11 12:01 PM
Hi Julien,
Did you try it with TouchGFX? Do you get screen transitions with no artifacts?
Thanks you
Ari
2021-08-13 11:43 AM
Hi,
Sorry for my late answer I was in holiday, but I have a good news I just finish my tests.
I create from scratch an empty project to use TouchGfx and I don't have any issue.
I make a clock and a swipe zone and I can see any artefact.
I am about 5 ms per frame is really fast.
In this implementation SDRAM is on 32 bits bus size/
Even if it is only single buffer implementation, I can't see anything wrong.
I am on video mode and frame is changed by LTDC interrupt.
I test lot of combination of widgets and I can't see any issue.
To avoid any artefact :
Best regards,
Julien.
2021-08-17 01:33 PM