Best SPI Routing Method for Double-Sided 16×128 LED Matrix Using STP24DP05
Project Overview
I am designing a double-sided 16×128 RGB LED matrix display using STP24DP05 LED drivers. The LED drivers are controlled using a single SPI bus from the MCU. Since the display consists of both a front and back panel, each panel consist of 16 STP24DP05 LED driver. I am considering two different approaches for routing the SPI and error signals and would like recommendations on the best solution.
Approach 1: Split SPI and Error Signals Using Buffers
In this approach, I use buffer ICs (74LV244) to split the SPI bus and drive both the front and back panels independently. Additionally, the error signal (ERR) from the STP24DP05 drivers is also split and handled separately for each panel. Each panel consist with 16 LED driver.
- SPI Control: The SCK, MOSI, MOSI and CS signals are buffered separately for the front and back panels.
- MCU Control: The MCU enables/disables the SPI buffers using GPIOs, ensuring that data is sent to only one panel at a time.
- Error Signal (ERR) Handling: The ERR signals from both panels are separately buffered and fed to the MCU, allowing independent error detection for each panel.
Please find attached block level representation for clear understanding.
Approach 2: Daisy-Chaining SPI and Error Signals Through Both Panels
In this approach, the SPI signals pass through all STP24DP05 drivers sequentially, first through the front panel, then continuing to the back panel, before looping back to the MCU for MISO feedback and error signal detection.
- Single Continuous Daisy Chain: The entire set of drivers is treated as one long chain for SPI and error signals. Total 32 LED drivers including front and back panel.
- MISO Handling: The last STP24DP05 in the chain directly connects its SOUT to MCU MISO.
- Error Signal (ERR) Handling: The ERR signal is daisy-chained from all drivers and sent to the MCU as a single error feedback line.
- All Signals from MCU cards goes to LED driver connector on LED panel PCB and these signals are connected to buffer and to LED driver IC.
Questions :
- Which approach is better for a large LED matrix display using STP24DP05?
- Does STP24DP05 support long SPI and error signal daisy chains reliably, or would signal integrity degrade over a large number of drivers?
- Is splitting SPI and error signals using buffers (74HC245) a recommended approach for large LED displays?
- Would reducing SPI clock speed help improve reliability in either approach?
- For error signal (ERR) handling, is it better to use separate error lines per panel or a single daisy-chained error line?
I would appreciate any guidance or recommendations based on experience with large SPI daisy chains or similar designs using STP24DP05.