Skip to main content
JStei.6
Associate II
February 12, 2021
Question

Is there a way to get the B-LCDAD-HDMI adapter to work together with TouchGFX 4.16 ?

  • February 12, 2021
  • 6 replies
  • 4892 views

Hi, is there a way to get the B-LCDAD-HDMI adapter to work together with TouchGFX? So far I could only get it to work in i few CubeF7 examples, but those do not involve TouchGFX, CubeMX and so on... 

Setup: STM32F769I-Disco + BlLCDAD-HDMI + Waveshare 7" 

The examples provided by CubeF7 are also not running perfectly since the Screen is flickerung and the Image is shown two times (one is moved about 1/4 inch towards the Bottom.) Is there a way to adress those two issues?

This topic has been closed for replies.

6 replies

MM..1
Chief III
February 12, 2021

You need write more about trouble or error, i mean this can work, but you need use config alligned to connected display, HDMI dont work automaticaly.

JStei.6
JStei.6Author
Associate II
February 13, 2021

I found a few issues, but the Image still gets drawn several times.

I used a Video-timing-calculater to set all the values like Front/Back-porch and so on, but I can´t find a way to get rid of the described problem.

I am running the example Programm with two image-Buffers.

To specify the used Display:

Waveshare 7" with 1026x600 (somehow sold as 800x480)

Margins disabled,

Interlace disabled

DVI-Mode

When I connect the board to my projector, I can get a bit information about the Signal maybe that helps identify the Problem0693W000008G4crQAC.jpg0693W000008G4cmQAC.jpg

Tesla DeLorean
Guru
February 13, 2021

Here are a couple of builds I have, timings I had working with an ACER display, try the 800x480

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
MM..1
Chief III
February 13, 2021

You dont show your ST32 MX LTDC and DSI config aka KEY FEATURES

  • Up to four lanes of MIPI/DSI data, each running up to 800 Mbps (video mode only: Non-Burst mode with synchronization pulse)

Too connection cable DSI need be perfect condition.

And this is converter board then you need setup chip to desired mode ... not simply use example... seems as your code is set to 480 but LCD is 600 or any other miss,

but without code nobody helps you.

JStei.6
JStei.6Author
Associate II
February 14, 2021

I have one problem sorted out, the Image-Buffer did not have the right size. Now, the image gets shown correctly. However, it looks like everything has a light shaddow a few mm underneath the real image. Does anybody have an idea on hoe to change that?

@ Tesla Delorean, How can I change the Hz of the image? In the example you kindly provided, it is set to 60hz, but in my programm I can only get it up to 33Hz.

Thank you for your help so far!

Tesla DeLorean
Guru
February 14, 2021

You have to clock fit the Pixel and DSI correctly to match the expectations, and not exceed defined limits

HDMI_FormatTypeDef HDMI_Format[] =
{
/* HA HS HB HF VA VS VB VF ASPECT BPP */
...
//#20
 {1024, 48,216, 24, 600, 5, 22, 3, HDMI_ASPECT_RATIO_16_9, LCD_DSI_PIXEL_DATA_FMT_RBG565}, // 1024x600 16-bit
//#21
 {1024, 48,216, 24, 600, 5, 22, 3, HDMI_ASPECT_RATIO_16_9, LCD_DSI_PIXEL_DATA_FMT_RBG888}, // 1024x600 24-bit
};
 
 
HDMI_DSIPacketTypeDef HDMI_DSIPacket[] =
{
 /* NP NC VP */
...
 {0, 1, 1024}, // #20	
 {0, 1, 1024}, // #21	
};
 
HDMI_PLLConfigTypeDef HDMI_PLLConfig[] = // Clock Fit by sourcer32@gmail.com
{
/* N DIV Pclk IDF NDIV ODF LBClk TXEscapeCkdiv*/
...
//#20	
	{395, 4, 49375, DSI_PLL_IN_DIV5, 79, DSI_PLL_OUT_DIV1, 49375, 3}, // 1024x600@60Hz 16-bit 49.375 MHz / 395 MHz
	// V:59.7Hz, H:36.7KHz
 
//#21	
	{330, 4, 41250, DSI_PLL_IN_DIV5, 99, DSI_PLL_OUT_DIV1, 61875, 3}, // 1024x600@50Hz 24-bit 41.250 MHz / 495 MHz
 // V:49.9Hz, H:31.4KHz
};

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
JStei.6
JStei.6Author
Associate II
February 14, 2021

Here´s the main, but I think the important part is in the LCD file

JStei.6
JStei.6Author
Associate II
February 15, 2021

Thank you! Now it works with the desired frequency.

Can you tell me how I can calculate those numbers?

Earlier I used a timings calculator (https://tomverbeure.github.io/video_timings_calculator) to get the Numbers in "HDMI_Format[]"

But I don´t know how I can come up with the Numbers in "HDMI_PLLConfig[]"

And there is one more issue. Connected to my projector or computer-Monitor, everything seems to be fine. But at the waveshare display, there is a shaddow a few mm under the real image. It is also there in your 1024x600 example. There is also a burn-in towards the edge that disappears after a few minutes when it´s unplugged (this does not appear when I connect the Display to my computer) I have ordered a new display to be shure it is not a problem of the Unit.

0693W000008GB14QAG.jpg0693W000008GB0kQAG.jpg 

However I noticed that this shaddow comes further down, when I change the Numbers in "HDMI_Format[]" to

{1024, 104, 176, 72, 600, 10, 33, 3, HDMI_ASPECT_RATIO_16_9, LCD_DSI_PIXEL_DATA_FMT_RBG888}

Those Numbers were calculated by the Timings calculator for 120Hz. I tested it just out of curiosity. Every other Setting stayed the same.0693W000008GB0aQAG.jpgThank You!

Tesla DeLorean
Guru
February 15, 2021

The line timings are based on ones I found in a 1024x600 panel manual, seemed to be some flexibility in those. I didn't find a good reference, so I used ones that worked on my multisync UHD monitor. You could use your own numbers, or dig up the manual for the panel WaveShare is using.

The PLL timings I did with a pencil and paper based on my understanding of how raster displays work, and the limitations of the DSI and STM32 design to hit certain numbers. Tends to flow through the pixel clock, and the rated capacity of the DSI in 2-lane configuration. I can mechanically generate timing tables. The DSI clock needs to meet or exceed the pixel data rate, and not exceed 500 MHz. The 2-lanes is limiting. I think 1366x768 is about the limit of the STM32 implementation.

Monitors tend to want things hitting close to 50 or 60 Hz frame rates, whereas LCD panels of fixed geometry, are concerned primarily with pixel clock frequency range.

Dark corners are more of a back-light issue.

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