in System Integration by
Hi, following are my currently enviroments:

- Embedded Wizard Studio Pro v8.30
- Embedded Wizard Platform Package for RGB565
- Replaced a touchscreen with an LVDS input (MIPI-DSI output is covert into LVDS signals by sn65dsi83 chip)

My situation is the replaced LCD only supports DE-only mode (no VSYNC and HSYNC), So I have to change the BspConfigDisplay() function into DSI video mode.

After the my custom EmWi gui screen show up, I found the framerate is really slow. In 'GraphicsAccelerator' example, the framerate is fixed at 0 fps. I have tried to build a project without EmWi GUI, and the fps is more than 40 when using ST VideoMode_DoubleBuffering example. Therefore, I think the configuration might be something wrong in EmWi display settings. But currently I have no ideas, hope someone can give me a hand !!

In addition, I don't understand why HSYNC, HBP, VBP, VFP, ... all of these are set to 1 in ew_bsp_display?

1 Answer

0 votes
Best answer


after having a short view into the SN65DSI83 data sheet, it seems that it is a video converter that supports the DSI video mode.

The LCD that is mounted on the STM32F469 Discovery of Evalboard can be driven by using the DSI video mode or the DSI command mode

In our Build Environment we are using the the DSI command mode. This is more efficient because it uses graphics memory of the display (GRAM) and only updates are transferred to the display. As a result the memory bandwidth is reduced.

The current implementation of ew_bsp_display.c cannot be used out-of-the-box for the SN65DSI83. If you have a working code for display intialization and refresh you need to integrate that into ew_bsp_display.c.


Here's the result: https://youtu.be/mgxDZG3GNj0
Are you using still the timer with 50ms? In this case you will get only 20 FPS (1/50 ms).

What is the display size in pixel that you are using? And what is the pixel frequency?

Can you execute the example GraphicsAccelerator -  what is the resulting framerate in case of Rectangle Copy operation?

I'm asking all these questions to figure out if the display refresh is too slow...
No. In this video I use a 25ms period timer, and the display size is 800x480. I don't know what pixel frequency exactly means?

If means LCD frequency, it is set to 27MHz. If means DSI channel clock, it is 250 MHz. If means LCD refresh frame rate, it is 60Hz.

The framerate in the case of Rectangle Copy operation is around 22 fps!!
Yes, this was the information I wanted to know. So it seems, that for some reasons the update is limited to 20 fps - but the LCD refresh is 60 Hz.

Maybe there is some wrong synchonization or maybe most of the available memory bandwidth is consumed by the DSI update... Difficult to say.

Are you using a Professional Edition of Embedded Wizard? In this case you can send me your display adaptation via email to have a short review.
According to your comments, I think the problem might caused by LTDC timing.

After some tries, I have solved the "surrounding glow" problem and the framerate improved to 65fps in the example GraphicsAccelerator. There's still have some problems occured in the Rectangle Blend operation. (the blended rectangle sometimes blinking and make framerate dropdown to 58 fps)

But I think it might be a similar problem, I'll do some more tests. Thanks a lot for your kindly help!

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint