cancel
Showing results for 
Search instead for 
Did you mean: 

Is Stm32f769IIT feasible with ST7701 and NT35510MH LCD IC driver?

MYous.8
Associate II

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.

22 REPLIES 22
JMD
Associate II

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.

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

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
ari_v2
Senior

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

Hi Julien,

Did you get LCD to work?

How is performance?

Thanks,

Ari

JMD
Associate II

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,

0693W00000D1BxrQAF.jpg 

0693W00000D1BxmQAF.jpg

ari_v2
Senior

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

JMD
Associate II

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.

ari_v2
Senior

Hi Julien,

Did you try it with TouchGFX? Do you get screen transitions with no artifacts?

Thanks you

Ari

JMD
Associate II

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 :

  • Check your sdram frequency and MCU frequency
  • Check your SDRAM bus size
  • Use double buffering
  • Disable caching by using MPU
  • Deactivate speculative cache access to first FMC bank to save FMC bandwidth (FMC_Bank1->BTCR[0] = 0x000030D2; st recommendation)

0693W00000D2SRuQAN.jpg0693W00000D2SRkQAN.jpgBest regards,

Julien.

Hi Julien, Thank you for information. I suspect I have hardware problems. If anything interesting arises I’ll inform. Regards Ari 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 seen any artefact. I am about 5ms per frame is is really fast. In this implementation SDRAM is on 32 bits bus size/ Event 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 combinaison of widget and I can't see any issue To avoid any artefact : - Check your sdram frequency and MCU frequency - Check your SDRAM bus size - Use double buffering - Disable caching by using MPU - Deativate speculative cache access to first FMC bank to save FMC bandwidth (FMC_Bank1->BTCR[0] = 0x000030D2; st recommendation) [Image: Screen 2] [Image: First screen] Best regards, Julien. [https://community.st.com/img/userprofile/default_profile_45_v2.png?fromEmail=1]<> JMD<> (Community Member) 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 seen any artefact. I am about 5ms per frame is is really fast. In this implementation SDRAM is on 32 bits bus size/ Event 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 combinaison of widget and I can't see any issue To avoid any artefact : * Check your sdram frequency and MCU frequency * Check your SDRAM bus size * Use double buffering * Disable caching by using MPU * Deativate speculative cache access to first FMC bank to save FMC bandwidth (FMC_Bank1->BTCR[0] = 0x000030D2; st recommendation) [Image placeholder for Screen 2] Screen 2 [Image placeholder for First screen] First screen Best regards, Julien. [View/Answer] or reply to this email Replying to [https://community.st.com/ncsphoto/nB_Ih0Cft57DmeO0Dir2cSDx1zndr5T61w5O7UWyoc9t3lU2Z2P0DiDB9zHVIh7A?fromEmail=1]<> MYous.8<> (Community Member) asked a question. Wednesday, November 18, 2020 2:20 PM<> Is Stm32f769IIT feasible with ST7701 and NT35510MH LCD IC driver? 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. [https://community.st.com/img/userprofile/default_profile_45_v2.png?fromEmail=1]<> JMD<> (Community Member) 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 seen any artefact. I am about 5ms per frame is is really fast. In this implementation SDRAM is on 32 bits bus size/ Event 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 combinaison of widget and I can't see any issue To avoid any artefact : * Check your sdram frequency and MCU frequency * Check your SDRAM bus size * Use double buffering * Disable caching by using MPU * Deativate speculative cache access to first FMC bank to save FMC bandwidth (FMC_Bank1->BTCR[0] = 0x000030D2; st recommendation) [Image placeholder for Screen 2] Screen 2 [Image placeholder for First screen] First screen Best regards, Julien. Friday, August 13, 2021 9:43 PM<> You're receiving emails when someone "Comments after me." To change or turn off ST Community email, log in<> as ari_v@otiglobal.com.st. Are notifications about this post getting annoying? Reply to this email with the word " mute ". STMicroelectronics N.V. [ST Community]