2025-03-13 4:47 AM
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.
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.
Please find attached block level representation for clear understanding.
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.
I would appreciate any guidance or recommendations based on experience with large SPI daisy chains or similar designs using STP24DP05.
Solved! Go to Solution.
2025-03-14 7:13 AM - edited 2025-03-14 7:17 AM
Hi Peter,
Thanks, for your response.
LED Connection and Panel Configuration
In my design, I am using the STP24DP05 LED driver to control RGB LEDs. Each output of the STP24DP05 is connected to the cathodes of 8 RGB LEDs (R1, G1, B1), while the anodes of these LEDs are controlled via 8 MOSFETs. The gate of each MOSFET is driven by a 3:8 decoder/demultiplexer, ensuring that only one row is active at a time.
Thus, with a single STP24DP05, I can control:
The full panel consists of 16 rows, where each multiplexer output controls 2 rows. The scanning mode is determined as:
Total rows÷Simultaneously active rows=16/2=8\text{Total rows} \div \text{Simultaneously active rows} = 16/2 = 8Total rows÷Simultaneously active rows=16/2=8
This results in a 1/8 scanning mode.
Each panel consists of:
For a 16 × 64 LED panel, I use:
Since the back panel has the same configuration, the total number of STP24DP05 drivers required for the entire display (front + back) is 32.
Note : As we are controlling LED anode switching using mux, at time only two rows will be on(one mux output is connected to two line).
Now can please relate my query above and share your feedback.
2025-03-14 6:11 AM
Welcome @clintt, to the community!
I'm not quite sure how you want to control 16x128 RGB LEDs with 2x16 STP24DP05? Is that 16x128 RGB for each front and back panel or for both together?
One STP24DP05 can drive up to 24 (individual) LEDs, i.e. 8 RGB LEDs. However, 16x128 = 2048 RGB LEDs are 6144 individual LEDs, for which you would need 256 STP?
Regards
/Peter
2025-03-14 7:13 AM - edited 2025-03-14 7:17 AM
Hi Peter,
Thanks, for your response.
LED Connection and Panel Configuration
In my design, I am using the STP24DP05 LED driver to control RGB LEDs. Each output of the STP24DP05 is connected to the cathodes of 8 RGB LEDs (R1, G1, B1), while the anodes of these LEDs are controlled via 8 MOSFETs. The gate of each MOSFET is driven by a 3:8 decoder/demultiplexer, ensuring that only one row is active at a time.
Thus, with a single STP24DP05, I can control:
The full panel consists of 16 rows, where each multiplexer output controls 2 rows. The scanning mode is determined as:
Total rows÷Simultaneously active rows=16/2=8\text{Total rows} \div \text{Simultaneously active rows} = 16/2 = 8Total rows÷Simultaneously active rows=16/2=8
This results in a 1/8 scanning mode.
Each panel consists of:
For a 16 × 64 LED panel, I use:
Since the back panel has the same configuration, the total number of STP24DP05 drivers required for the entire display (front + back) is 32.
Note : As we are controlling LED anode switching using mux, at time only two rows will be on(one mux output is connected to two line).
Now can please relate my query above and share your feedback.
2025-03-20 4:24 AM
Hi Peter,
Can you please share your responses.
Regards,
Clint
2025-03-21 3:34 AM
If you set the thread to ‘Done’ with ‘Accept as Solution’, it is actually considered finished. However, you can easily set it to ‘Still Open’ with 'Not the Solution', in which case it may be looked at again.
Please note that the average LED current and therefore the average LED brightness decreases accordingly when multiplexing, in your case 1/8 (12.5%). As the STP24DP05 can drive max. 80mA per LED, this corresponds to a brightness of the LEDs that they would achieve with 10mA DC.
To your approaches:
Depending on the desired refresh rate and approach, this results in a corresponding clock frequency, which can no longer reach the maximum value of 25MHz as the number of cascaded parts increases (see data sheet, table 6, footnote 1). I have not yet had such a case, but I can imagine that for 60fps or more you would be better off with two separate SPI/ERR than with your two approaches.
Regards
/Peter