cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H747 - DSI overflow error, no video output

VHEMaster
Associate III

Greetings!

I have a board with STM32H747XI and SN65DSI84-Q1 as a converter from DSI to LVDS.

The issue is that I can not get video output from MCU to 2ch LVDS panel 1920x720 with any configuration I'm trying. The main issue is that I'm getting HAL_DSI_ERROR_OVF error code on DSI side, and no any LTDC interrupts. It behaves the same regardless LTDC/DSI clocks.

When I init DSI and configure SN65DSI84 through I2C and enable Test Pattern generation (register 0x3C) I can see it, so DSI clock and the converter itself works.

Another issue is that when test pattern generation on converter side is disabled, on most configurations I'm getting CHA_SYNCH_ERR error read through I2C: When the DSI channel A packet processor detects an HS or VS synchronization error, that is, an unexpected sync packet.

Also, I tried to enable test pattern generation by DSI itself by calling HAL_DSI_PatternGeneratorStart. No effect.

Please help me to configure these properly. Thanks!~

Current CubeIDE project and schematics are attached. Thanks!

 

10 REPLIES 10
KDJEM.1
ST Employee

Hello @VHEMaster;

 

Could you please check the DSI settings and the LTDC timing.

I recommend you to look at AN4860 Introduction to DSI host on STM32 MCUs and MPUs.  This application note describes the DSI host interface on STM32 MCUs. It also provides practical examples on how to configure the DSI host depending on the operating mode.

I think also, these examples can help you to check you project:

-  LCD_DSI_VideoMode_SingleBuffer

LCD_DSI_VideoMode_DoubleBuffering

 

I hope this help you.

Kaouthar

 

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi @KDJEM.1 

Thank you for response.

Unfortunately, it doesn't help. Those examples are for TFT LCD with it's own controller that works in Command mode, not the Video one. 

I have already checked LTDC timings multiple times and used related function that converts LTDC timings to DSI. Nothing works.

Application note also doesn't provide any clarification. 

Besides, theres some magic multiplication on DSI timings on those examples and nothing explains that.

Thanks!

VHEMaster
Associate III

Unfortunatelly, the issue is still relevant.

VHEMaster
Associate III

I have updated the project and synchronized the timings of DSI and LTDC. This configuration doesn't trigger sync error on SN65DSI84 side, but still HAL_DSI_ERROR_OVF flag is set on STM32 and HAL_DSI_PatternGeneratorStart doesn't generate any video

VHEMaster
Associate III

@SofLit @KDJEM.1 @Sarra.S @TDK Hello! Sorry to bother you, but I need this issue be solved. Can you please help me? Thanks!

VHEMaster
Associate III

 I have ported this project to test on STM32H747I-DISCO board (just changed the PLL configuration) and got the same result: still HAL_DSI_ERROR_OVF occured. Also, checked HAL_DSI_PatternGeneratorStart function with LTDC disabled on demo project - it works without LTDC.

Regarding my own board - still no changes, nothing helps:

  • if LTDC is enabled - HAL_DSI_ERROR_OVF occured
  • if LTDC is disabled but HAL_DSI_PatternGeneratorStart called - no video output.
KDJEM.1
ST Employee

Hello @VHEMaster;

 

Which STEM32CubeH7 Firmware version are you using?

Could you please try to update your STM32Cube firmware and your toolchain.

I noticed that the STM32CubeMX shows an error in the RCC configuration. So, please check the parameter settings?

KDJEM1_0-1739866419362.png

 

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

@KDJEM.1 Thanks for an answer!

The CubeMX configuration is not relevant, because it's a pain to regenerate code each time after some field changed. And this particular error is a known bug of CubeMX: it doesn't allow to select PWR_DIRECT_SMPS_SUPPLY although it is used in original examples and works fine @480MHz.

 

KDJEM.1
ST Employee

Hello @VHEMaster,

 

This FAQ can help you on How to reach 480MHz on system clock for STM32H7xx MCUs using STM32CubeMX?

Please update your toolchain and the STM32Cube firmware and let me know if the issue is solved or not?

 

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.