0
\$\begingroup\$

The current fastest way of transferring data from a microcontroller to a display that I know of is by constructing the data in RAM and then sending it over to the display via parallel communication and using a DMA. Is there any faster way to transfer the data?

\$\endgroup\$
8
  • 2
    \$\begingroup\$ Maybe, it depends on what interfaces your display and your MCU has, so we can't say if there's anything faster available for you. Surely if you change the display and change the MCU there may be faster and more suitable interfaces available, depending on situation. \$\endgroup\$
    – Justme
    Commented Nov 4, 2023 at 18:26
  • 1
    \$\begingroup\$ Can you add details of the display? \$\endgroup\$ Commented Nov 4, 2023 at 18:29
  • 1
    \$\begingroup\$ In addition, explain what you mean by "fast". Are you talking about frame rate, latency, or something else? \$\endgroup\$
    – Dave Tweed
    Commented Nov 4, 2023 at 19:00
  • \$\begingroup\$ The only interfaces that I know for LCDs are I2C, SPI and parallel, so I don't really know if there is anything beyond that. For the microcontroller I am currently eyeing Teensy 4.1 but for the LCD I currently lack any real knowledge on what I should pick. I really only want a simple small (2'8 inch) LCD, but I heard some of them come with really nice features and am wondering if some features allow for faster data transfer. \$\endgroup\$ Commented Nov 4, 2023 at 19:03
  • \$\begingroup\$ Fast as in frame-rate. Latency isn't an issue. \$\endgroup\$ Commented Nov 4, 2023 at 19:04

1 Answer 1

0
\$\begingroup\$

You can get a MCU with an actual LCD controller, so the frame buffer is in the MCU and is sent as video to a dummy LCD panel. That's almost like having HDMI or DisplayPort between monitor and computer, with just the extra conversions of the internal video interfaces such as LVDS.

Currently you seem to be talking not about display panels but about display modules with onboard frame buffer and driver circuitry with access over I2C, SPI or "parallel memory" buses.

Some displays have a "parallel video" bus which requires the MCU to have the video interface which is constantly refreshed to panel. The data transfer rate is limited only by memory bandwidth of the MCU.

Otherwise you are stuck with slow interfaces like I2C or SPI. Having a MCU with parallel memory interface and configurable bus timing parameters will help, and perhaps memory-to-memory DMA can assist in transfers.

\$\endgroup\$
2
  • \$\begingroup\$ So if I'm using a MCU without a LCD controller then this is as good as it can get? If that's so than my problem might just be that I'm not using a "fast" enough microcontroller (I'm currently using STM32G474) so upgrading to Teensy 4.1 might be a solution. \$\endgroup\$ Commented Nov 4, 2023 at 20:26
  • \$\begingroup\$ @ropeFullOfHope Again we don't know what your display is capable of so we can't say if upgrading the MCU will transfer data any faster, or can the display handle faster data transfer, or is what you want even dependent on data transfer rate, if calculating new data to transfer is the bottleneck. \$\endgroup\$
    – Justme
    Commented Nov 4, 2023 at 21:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.