LED Matrix Driver and Multiplexing Design

An LED matrix replaces a wire per pixel with a grid of rows and columns, which reduces the number of connections from hundreds to a handful. The saving comes at a price: each LED is only lit for a fraction of the time, so the driver has to supply a large peak current for a short period and the display depends on persistence of vision to look continuous.

How an LED Matrix Is Driven

The LEDs are connected in a grid with their anodes joined along the rows and their cathodes joined down the columns, or the other way around. Driving one row and one column lights the LED at their intersection, and the rest of the matrix stays dark because only that path has both a forward bias and a current return.

Only one row is driven at a time in the usual arrangement, and the columns are set to the pattern for that row. The controller steps through the rows in sequence, and the whole pattern is repeated at a rate fast enough that the eye integrates the light into a steady image. Flicker becomes visible when the frame rate falls below about a hundred hertz.

Because only one row conducts at a time, the current for the whole row flows through a single row driver, and that current is the sum of the lit LEDs in that row. Sizing the row driver for the worst case pattern rather than the average is one of the first design decisions.

Multiplexing Ratio and Duty Cycle

The multiplexing ratio is the number of rows, and it sets the duty cycle of each LED: with eight rows, each LED is on for one eighth of the time. Duty cycle determines both the brightness and the current, because the eye responds to the average light output while the LED and the driver respond to the instantaneous current.

Raising the ratio reduces the number of connections still further but reduces the duty cycle in proportion, so the peak current has to rise to maintain brightness. Beyond a certain point the peak current reaches the limit of the LED package or of the driver, and the achievable brightness falls regardless of the design effort.

Very high multiplexing ratios also affect the colour. An LED driven with a large peak current for a short time has a slightly different emission spectrum from one driven continuously, and the shift is more noticeable in the blue and green parts of the spectrum. Where colour accuracy matters, the ratio is kept modest and the average current is raised instead.

LED matrix driver circuitry on a display board

Peak Current and Average Brightness

peak current is the instantaneous current through an LED while its row is selected, and it is usually set by a constant current driver per column or by a resistor and a voltage source. The average current is the peak multiplied by the duty cycle, and the datasheet ratings for an LED package usually quote both a continuous limit and a higher pulsed limit.

Operating beyond the continuous limit is acceptable only within the thermal limits of the package, because the heat generated is the average power rather than the peak power. A device rated for a pulsed current of a hundred milliamperes at a ten percent duty cycle is not rated for the same current at fifty percent, and the difference is exactly the point that is often overlooked.

Brightness also falls with junction temperature, so a matrix that is bright when cold will dim as it warms. The constant current driver holds the current steady, but the light output for a given current falls, and the effect has to be handled by the thermal design rather than by the driver.

Ghosting, Cross Talk and Blanking

ghosting is the faint illumination of LEDs that should be dark, and it comes from charge left in the parasitic capacitance of the matrix. When the row changes, the previous row voltage may still be present while the new column pattern is applied, so a small current flows through the wrong LEDs for a moment.

The remedy is blanking: turning the row drivers off for a short interval before and after the pattern is changed, so that the matrix is dark while the columns settle. Most dedicated driver devices provide a delay that can be programmed for the purpose, and the value is chosen to exceed the settling time of the row driver and the column wiring.

Cross talk between columns is a related effect and has a different cause. A path that shares the row return between two columns allows current from one column to influence the voltage on another, which changes the brightness of both. Separate returns for each column, or a constant current driver that holds each column independently, removes it.

Row and column driver wiring for an LED matrix panel

Row and Column Drivers

The row driver switches the common connection for a whole row, so it carries the sum of all the LEDs lit in that row. A discrete MOSFET per row, or a dedicated row driver integrated circuit, provides the switch. The on resistance of the row switch adds to the LED current path, and its variation between rows appears as a difference in brightness.

A column driver sinks the current for the individual LEDs in the selected row. A constant current column driver holds the current independent of the forward voltage of each LED, which is what makes the brightness uniform across the display. A resistor per column is cheaper but produces brightness that varies with the LED forward voltage and with temperature.

row driver selection is driven by the current and by the number of rows. A small matrix can use a general purpose logic level MOSFET per row, while a large matrix benefits from an integrated driver with a defined on resistance and a built in blanking delay. Whatever the choice, the driver must be able to sink or source the full row current without leaving saturation.

Constant Current Control

A constant current driver regulates the current through each LED by adjusting the voltage across a sense element. The current is set by a resistor or by a register, and the driver holds it as the LED forward voltage changes with temperature and as the supply varies. That is what keeps the brightness stable.

The headroom required by the driver has to be available. A constant current sink needs a minimum voltage across it, and the supply must exceed the sum of the LED forward voltage, the row switch drop and that headroom. If the supply is only just sufficient when the LEDs are cold, the current will fall as the forward voltage rises with temperature, and the display will dim.

Dimming is normally done by controlling the current level, by shortening the on time within the row period, or by a combination of both. Adjusting the current alone gives a wide range but changes the colour slightly at low levels, while shortening the on time preserves the colour and reduces the effective duty cycle further.

Layout and Thermal Design

The row currents are the largest in the design, so the row traces have to be sized for the peak current and for the duty cycle. A trace that carries two amperes for one eighth of the time still carries two amperes, and the voltage drop during the pulse affects the brightness of the LEDs on that row. Our guide to current capacity covers the sizing, and trace width and current gives the calculation method.

The column traces carry less current but there are many of them, so the layout becomes a routing problem. Keep the column traces equal in length where possible, because the resistance difference between a short and a long column trace appears as a brightness difference, and route them on the opposite side of the board from the row traces to reduce coupling.

Thermal design is dominated by the average power rather than the peak. The LEDs dissipate their average power, and the row driver dissipates the product of its on resistance and the square of the row current, averaged over the frame. Both are small per device but the total across a large matrix is significant, and the board has to spread it. The rules for a switching driver, described in switching regulator layout, apply to the row driver arrangement as well.

Verification and Common Faults

Verify the display by measuring the current in a single column with a scope rather than a meter. The meter shows the average, while the scope shows the peak and the pulse shape, and a peak that is lower than expected indicates that the driver is running out of headroom or that the supply is sagging during the row period.

Flicker that appears when the display is moved, or in a video recording, indicates that the frame rate is too low. Raising the refresh rate costs current and may require a higher peak current to maintain brightness, so the choice is a compromise that should be made with the actual viewing conditions in mind.

A display with one dim row usually has a high resistance row switch or a shared return path. Measuring the voltage across the row driver during its on period shows whether the drop is in the switch or in the trace, and the answer determines whether the component or the layout needs to change.

FAQ

How many rows can I multiplex? Practical designs use up to sixteen or thirty two rows. Beyond that the duty cycle is so small that the peak current required for a usable brightness exceeds the rating of the LEDs.

Why does my display show faint ghosting? Charge stored in the matrix capacitance is being conducted through LEDs that should be off. Add a blanking delay between the row change and the column update.

Can I drive an LED matrix with port pins directly? Only for a very small matrix at low current, and only if the total current stays within the port rating. Above a few milliamperes per pin a dedicated driver is required.

Leave A Comment