On 10/31/2015 03:11 PM, Charles Anthony wrote:
What I don't know how to do is drive 500 or so LEDs.

I am guessing a bunch of shift registers, but I've pretty much reached my
design limits. I need some guidance on locating and understanding the
technology to run that many LEDs.

it really isn't that complicated. The simplest might be a byte shift register, ie. a bunch of octal D-FFs like the 74HC374. Given a byte-wide group of GPIOs on the Beagle Bone, you could send out 63 8-bit words with one additional GPIO to act as a clock for the FFs. The LEDs could be driven directly from the FF outputs with a resistor. With the current generation of high-efficiency LEDs 10 mA would be plenty of current, and so the FF outputs would still be close enough the specs to drive the next stage. One downside of this scheme is if the serial transmission was slow, you'd see a blink each time the Bone sent a new light pattern.

If you want to get more complicated, you could have one HC374 for the shift register and one HC374 as the latch. You'd shift all 63 bytes through the byte-shift register, pulsing the byte clock 63 times, and then pulse the latch clock once to latch all the 5xx bits of light info into the latch register, which would allow the LEDs to be updated without any flash as the shift reg is being shifted.

Now, another way to do this is with multiplexing. You could maybe have 8 64-bit words that loaded to a small RAM, and the RAM is scanned to load data to banks of 64 LEDs. This reduces the number of drivers to, say, 64 cathode drivers and 8 high-current anode drivers, but complicates the rest of the thing a fair bit. It will also cause the whole panel of LEDs to flicker at the multiplexing rate, which could be annoying when you flick your eyes across the panel.

Jon

Reply via email to