Skip to main content
Ebun.1
Senior
February 26, 2021
Solved

Change from DSI interface to RGB parallel interface

  • February 26, 2021
  • 16 replies
  • 4290 views

Thank you for helping.

environment:

MCU: STM32F769BI

Board: Custom

STM32CubeIDE Ver1.5.0

TouchGFX Ver4.15.0

Import the project created using the STM32F769I-DISCO template with TouchGFX with STM32CubeIDE,

After setting the LCD clock with GUI

I disabled DSI in the GUI and set the parameters for LTDC and TouchGFX.

The HSYNC, VSYNC, and DE signals are now output, but they are out of sync with the color signals.

What should I do to get in sync?

Also, is the initial setting of DMA2D correct as follows?

 hdma2d.Instance = DMA2D;

 hdma2d.Init.Mode = DMA2D_M2M;

 hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888;

 hdma2d.Init.OutputOffset = 0;

 hdma2d.LayerCfg [1] .InputOffset = 0;

 hdma2d.LayerCfg [1] .InputColorMode = DMA2D_INPUT_ARGB8888;

 hdma2d.LayerCfg [1] .AlphaMode = DMA2D_NO_MODIF_ALPHA;

 hdma2d.LayerCfg [1] .InputAlpha = 0;

 if (HAL_DMA2D_Init (& hdma2d)! = HAL_OK)

 {

  Error_Handler ();

 }

 if (HAL_DMA2D_ConfigLayer (& hdma2d, 1)! = HAL_OK)

 {

  Error_Handler ();

 }

The waveform observed by the oscilloscope is attached.

A white image is pasted only on the left 1/4 of the screen.

Light blue (top) is DE and purple (bottom) is the R5 color signal.

You can see that it is shifting little by little.

Thank you. 

This topic has been closed for replies.
Best answer by MM..1

Configuation on F7xx is more complicated, you need perfect config on clock, memory manager, bus speed, caching usw.

Too i see maybe source for your trouble is your steps create project for DSI with TE clocking and then change it.

Try start from scratch clean IDE wizard select MCU and configure all parts.

16 replies

Ebun.1
Ebun.1Author
Senior
March 5, 2021

Hi MM ..1

If I make a project with scratch, the pin layout is different from the current board and I can not check the operation.

I will try to remake the custom board once.

Thank you for everything.

MM..1
Super User
March 6, 2021

Maybe you can rearange pins, on STM you can assign some functions to more as one pin. On MX plugin view click on packege pin and select from list.

Ebun.1
Ebun.1Author
Senior
March 8, 2021

Hi MM ..1

Thank you for all your help.

I made a project with scratch and moved it.

The timer interrupts, but the LTDC_IRQHandler () interrupt does not.

The value of IER is 6, but the ISR is 0.

What can you think of?

Thank you.

Ebun.1
Ebun.1Author
Senior
March 10, 2021

Hi MM ..1

I made a project by scratch and confirmed that the color signal was synchronized with the synchronization signal.

Thank you very much.