2019-09-24 10:31 AM
I am evaluating different dual-core ARM Cortex-A7 MPUs for their graphical features; one of my requirements is that I need to support a 1280x1024 TFT LCD at 50-60fps using 16 or 24-bit parallel RGB interface.
The evaluation kits offer small LCDs below my requirements, and I need to make sure that the MPUs can support what I need.
Looking at the datasheet for STM32MP157C MPUs, it is clearly stated in multiple places that the upper pixel resolution limit for the LTDC module is WXGA (1366x768) at 60fps. However:
With these assumptions, what ends up being the bottleneck here? Why the oddly-specific WXGA specification in the datasheet?
Thanks!
Solved! Go to Solution.
2019-09-25 01:11 AM
Hello,
For the max resolution, your are right that the limit is directly linked to pixel clock frequency.
As effective resolution depend on LCD characteristics, we take a conservative +40% for porch/sync/etc... this mean 1366*768*60*1.4 = approximately 88MHz pixel clock. Higher resolution with lower frame rate are possible whenever fitting the max pixel clock.
Notice that 24-bits // RGB need to toggle simultaneously a lot of external signals, which, at high frequency such at 90MHz, will end up to a lot of supply noise/energy/signal integrity in case display is adding load above 20pF (which might be the case if one or two connectors, flat cables, etc...).
DSI has not this drawback (although still limited to 2x1Gbps).
RGB bridges (such ad RGB to HDMI) are soldered close to MP1, so keep usually load below 15pF.
As HSE crystal oscillator might be sensitive to the supply noise created by highly loaded RGB //, we recommend to use an external 24MHz oscillator when running above 48MHz pixel clock with VDD=3.3V.
VDD=1.8V involves less energy, so less concern is expected, but note RGB pixel clock is limited to about 70MHz due to lower IO strength at this lower voltage (LTDC IOs have no high speed option at low voltage as for SDMMC, ETH. SPI, QUADSPI)
see also :
AN5031: Getting started with STM32MP1 Series hardware development
ES0438: STM32MP151x/3x/7x device limitations
Hope this help.
2019-09-24 10:56 AM
I asked pretty much the same question and it boils down to the memory interface: https://community.st.com/s/question/0D50X0000BCNoPUSQ1/stm32-ltdc-maximum-resolution
2019-09-24 11:59 AM
Thank you for a quick reply.
While that thread and app note are applicable to working with LTDC itself, there are major differences between ST's MCUs and MPU lines:
What I am wondering about is whether there is some internal bottleneck that I am not seeing. Where is the 1366x768@60fps limit coming from? I doubt that ST's R&D would base this spec off of a random external RAM chip (but if so, I'd like to know how they went about this). Other devices in a similar market field - for instance, i.MX7D - do not seem to have a similar limiting specification.
2019-09-24 12:39 PM
I'm sorry. I didn't really read the "MP1" part of your question. Of course you are correct that leveraging DDR3 should result in far more bandwidth. I am wondering if the LTDC might be in the realm of the M4 coprocessor. I have worked with the i.MX family in the past and usually there was some special IP involved in all the graphics processing (and only limited documentation was available).
Sorry I can't be any help here but hopefully someone with more experience on the MP1 parts will come along.
2019-09-24 12:56 PM
I appreciate the effort! Thank you.
2019-09-24 01:52 PM
Pretty much looks to be 2-lane DSI ceiling
16-bit x 1388 x 768 x 60 -> 1Gbps -> 64 MHz
2019-09-24 01:59 PM
The MP claims to have a slightly higher ceiling, but might depend on specific displays,
24bit x 1388 x 768 x 60 -> 1.5 Gbps
24bit x 1920 x 1080 x 60 - > 3.0 Gbps
2019-09-24 02:14 PM
Ah, that makes a lot of sense. So I am assuming that since I am not serializing my RGB data via DSI, I don't have to worry about this at all?
Suggestion to ST: if this is the case, you might want to move that spec out of your "general LCD TFT spec" section into a DSI-specific section of... pretty much all of your MP1 resources, including web pages, presentations, and marketing materials. Otherwise, to a anyone like me it just looks like the parallel RGB module can only support up to 1366x768@60fps, when in reality it seems like the parallel-mode capabilities are much better.
Thanks @Community member !
2019-09-25 01:11 AM
Hello,
For the max resolution, your are right that the limit is directly linked to pixel clock frequency.
As effective resolution depend on LCD characteristics, we take a conservative +40% for porch/sync/etc... this mean 1366*768*60*1.4 = approximately 88MHz pixel clock. Higher resolution with lower frame rate are possible whenever fitting the max pixel clock.
Notice that 24-bits // RGB need to toggle simultaneously a lot of external signals, which, at high frequency such at 90MHz, will end up to a lot of supply noise/energy/signal integrity in case display is adding load above 20pF (which might be the case if one or two connectors, flat cables, etc...).
DSI has not this drawback (although still limited to 2x1Gbps).
RGB bridges (such ad RGB to HDMI) are soldered close to MP1, so keep usually load below 15pF.
As HSE crystal oscillator might be sensitive to the supply noise created by highly loaded RGB //, we recommend to use an external 24MHz oscillator when running above 48MHz pixel clock with VDD=3.3V.
VDD=1.8V involves less energy, so less concern is expected, but note RGB pixel clock is limited to about 70MHz due to lower IO strength at this lower voltage (LTDC IOs have no high speed option at low voltage as for SDMMC, ETH. SPI, QUADSPI)
see also :
AN5031: Getting started with STM32MP1 Series hardware development
ES0438: STM32MP151x/3x/7x device limitations
Hope this help.
2019-09-25 06:56 AM
@PatrickF thank you so much for your insight! That makes sense. It seems that with a good hardware setup and lower porch/sync values (and an HSE oscillator), higher resolutions are definitely possible. Also, I did not know this limitations document existed - it will be very useful.