LCD compatibility issue with USB (NHD-4.3-480272EF-ASXN-CTP)
Here is the problem I am observing on a STM32 board using TFT display NHD-4.3-480272EF-ASXN-CTP.
The graphics functionality (LTDC with FMC/SDRAM) can work correctly by itself and successfully updates the LCD. The USB functionality can work correctly without the graphics functionality enabled. But when I try enabling the graphics functionality with the USB communication enabled, the USB ends up getting stuck perpetually in suspend state.
I can't figure out what's going on.
When the graphics initialization and task is running, the Serial Wire Viewer data is all corrupted. Starting with the USB plugged into the PC results in the USB getting stuck in the suspend state. Unplugging and plugging in the USB to the PC after the USB has gotten stuck still results in the USB getting perpetually stuck in the suspend state. Starting with the USB disconnected from the PC and then plugging the USB into the PC after the graphics initialization has finished also results in getting stuck.
The stm32 is trying to send outbound data every 1s but is unable to send anything because the USB is suspended.
When this suspend problem occurs, the usb interrupt to receive inbound messages also does not occur (USB_OTG_GINTSTS_RXFLVL flag) which normally happens at great frequency.
Do you have any suggestion on how to solve this problem?
It appears there may some contention of the frame buffer memory, or with the 2 memory layers when using both the display and the USB. Have you tried double buffering the frames?
Please see this link for more details http://www.lucadavidian.com/2017/10/02/stm32-using-the-ltdc-display-controller/
Actually it turned out it was a problem with memory bandwidth. I am currently working on it, trying to find a way to rt monitor the available bandwidth.0
Please sign in to leave a comment.