2024-11-05 09:41 PM
Hi Team,
We are trying to replace STM32U5G9J-DK2 display by ILI6137A Driver_IC display. We are getting Half display visible,Is there any driver to update to get the full display visible??
ILI6137A Driver_IC Characteristics
LCD Size-5.0
Resolution-800(RGB)*480
Display Mode-TRANSMISSIVE,NORMALLY White
Interface-RGB 24Bit
Driver IC -ILI6137A
LED forward voltage- Min_17.4 Max_19.2
PFA,
Actual Screen from development-Kit with STM32U5G9J-DK2 display
Half screen after changing the ILI6137A Driver_IC display
Any guidance to resolve this?
Thanks & Regards,
Bindu
2024-11-08 04:43 AM
I do not quite understand what is happening here. As far as I can tell you are showing an image of a STM32U5G9J-DK2 with the original screen, but only valid data on one half of the screen.
Has the hardware been modified, or have you only made software modifications?
Both displays are parallel RGB bus displays with the same resolution and 24bpp colours. Assuming the actual pins for the interface are connected to the same pins as the original software, there should not be a need for any changes to the code.
You should be able to handle this by modifying the LTDC configuration using CubeMX. It does seem that the controller you are working with has different timing characteristics than the one used by the DK originally.
If the situation is that you have imported some driver that sets up the LTDC to work with your own display and showing the result on the original screen, I believe that is the root of your issue here. The original display has much smaller porches both vertically and hoizontally than the controller you are using, as well as a smaller synchronization pulse.
You can compare the settings in the CubeMX project in the TouchGFX project for the DK with the manual for the ILI6137A. In the data sheet I found they are on page 33 and 34.
If you have imported a driver I would advise you remove it again and set the display timings up in CubeMX. You should probably also adjust the frequency of the LTDC pixel clock, the datasheet specifies that it should be between 33 and 50 MHz, and the project for the board sets it at 25 MHz, but that is easy to do in the clock tree in CubeMX.
As a last step you should measure the VSYNC pin as described in the readme supplied with the project and adjust the horizontal porches until the frame timing is as close to 16.6 ms (60fps) as you can get.