Connect with us

x,y addressable LED matrix

Discussion in 'Electronic Design' started by Ernest Greene, Sep 4, 2004.

Scroll to continue with content
  1. I am currently using a custom built 64x64 LED display in my research
    on visual perception. I am contemplating the feasibility of a
    second-generation device that avoids some of its limitations. I would
    like to have each of the 4096 LEDs be individually addressable and
    able to be toggled on or off.

    One option might be to use linear arrays that have a common ground
    (row) connection but which allow input to each element of the array
    from the source. But in my search for stackable linear arrays, thus
    far I have not found any that appear to be suitable for building a 2-D
    matrix. Does anyone know of a suitable array?

    With respect to the control logic, it may be not be practical to
    assemble the device using standard chips. I am wondering whether it
    is feasible to custom design a chip that has the needed latches and
    drivers, and can be accessed from a data buss using a binary
    addressing code. If a number of these control circuits could be put
    onto a chip, one could avoid the need to have a chip for each LED.
    Are we getting into the domain of VLSI, and do the number of contacts
    of a VLSI chip provide a limit to the clustering?

    I am way out of my depth here, and would appreciate comments how the
    goal might be accomplished.

    Professor Ernest Greene
    Department of Psychology
    University of Southern California
  2. Tim Wescott

    Tim Wescott Guest

    You won't find a chip with 4096 pins, and the expense of a custom chip
    would be absurdly high.

    There are two roads to a dense board with a 1-LED-per-pin approach: one
    would use 128 8-bit latches and an address controller. That's a lot of
    chips, but they're individually small. The other would use a few large
    FPGA's (or CPLD's) using BGA connections (and not much logic inside).

    Is it possible to multiplex the LEDs, i.e. to to turn on one line at a
    time, 64 lines in turn? For most "normal" applications this would be
    perceived as continuous-on, but I assume you're doing some sort of
    perceptual psychology stuff; I don't know if the subliminal flashing
    would interfere with your experiments or not, and you'd certainly see it
    if the screen is moving across the subject's visual field.

    Finally, why not a monitor and some PC software?
  3. John Fields

    John Fields Guest

    A common scheme is to arrange the LEDs into a Cartesian 64X64 array
    with, say, all of the LED anodes in each row wired together in that
    row and all the cathodes in each columm wired together in that column.
    Here's an example of a 4X4 array wired that way:

    +-[LED>]-+ +-[LED>]-+ +-[LED>]-+ +-[LED>]-+
    | | | | | | | |
    ROW3> ---+--------|--+--------|--+--------|--+ |
    | | | |
    +-[LED>]-+ +-[LED>]-+ +-[LED>]-+ +-[LED>]-+
    | | | | | | | |
    ROW2> ---+--------|--+--------|--+--------|--+ |
    | | | |
    +-[LED>]-+ +-[LED>]-+ +-[LED>]-+ +-[LED>]-+
    | | | | | | | |
    ROW1> ---+--------|--+--------|--+--------|--+ |
    | | | |
    +-[LED>]-+ +-[LED>]-+ +-[LED>]-+ +-[LED>]-+
    | | | | | | | |
    ROW0> ---+--------|--+--------|--+--------|--+ |
    | | | |
    | | | |
    COLUMN0>----------+ | | |
    | | |
    COLUMN1>----------------------+ | |
    | |
    COLUMN2>----------------------------------+ |

    Using this method it's easy to illuminate any single LED in the array
    by proving power to that row in which the LED resides, and providing a
    ground to the column in which it resides. That way, instead of 4096
    separate connections which you have to make, the number is reduced to

    If you're only interested in accessing a single LED at a time, then
    something like an array of eight 4-to-16 line decoder/demultiplexers
    would work well, and if you used high-efficiency LEDs there would be
    no need for LED drivers, since the demuxers could do the job.

    Doing it that way would require only 6 bits of control for the row
    demuxers and 6 bits for the columns, for a total of 12 bits, and your
    chip count would be 9 if you wanted to use easily available, common
    CMOS parts. (four HC4514s, four HC4515s, and one HC139).

    With only 12 bits of control required to access any LED in the array,
    it would be easy to place the array under software control and allow
    you to display whatever you wanted to on it.

    We'd be interested in working with you on this and building something
    for you, and if there's any interest on your end please feel free to
    contact me via email.


    John Fields
    Austin Instruments, Inc.
  4. John Larkin

    John Larkin Guest

    This actually allows up to 64 led's to be on at once, namely any leds
    in one selected row. So you can address the whole array with the 128
    drivers, but at a max duty cycle of 1/64 for any one led. I think
    there are some led's that would be usable at 1/64, given a hefty
    current drive. One could compromise and partition the array into
    slices, more drivers but higher duty cycle.

    An FPGA could store the desired image (grey levels, too) and scan the
    array at very high speed. A decent uP could probably manage a usable
    image, too.

    For brute-force parallel, 4096 wires (shudder) a heap of, maybe 16,
    BGA FPGAs would do the job, with direct LED drive.

    I wonder how those big shopping-center displays work?

  5. John Fields

    John Fields Guest

  6. Jeroen

    Jeroen Guest

    What about using those new 6 pin uC of Microchip and use one per LED and
    some simple serial protocol? I think this would be cheaper and easier then a
    few very expensive FPGAs which are way underutilized in terms of logic.

    SOT23 can be hand soldered, though I would not want to solder 4096 LEDs,
    4096 resistors and 4096 uCs... A machine wouldn't care though

  7. John Larkin

    John Larkin Guest

    No, one axis could be a 6-to-64 decoder, but the other axis would need
    to be a full 64-bit latch. But the pure binary decode thing is limited
    to 1/4096 duty cycle in the general-image case, bad for brightness and
    bad if you need grey levels.

  8. It's not clear whether you are looking for any of the possible permutations or
    just one at a time.

    And what color?
    I've worked on arrays used as components for large, building wall sized TV sets,
    for example, using 16x16 tri-color LEDs (three dies closely spaced about 0.5mm
    center-to-center.) The spacing in the grid is 5mm on some of those I still have
    here in a box. These were designed from the ground up to be butted together
    both horizontally and vertically into arrays of any size, so a 4x4 arrangement
    of these would nearly complete your design. But it would be 31.5cm x 31.5cm in
    size. I've no idea if that's the size you are able to work with.

    There is a microcontroller built into these units. Each of the individual LEDs
    in the tricolor LED assemblies can be individually turned on and off or you can
    set a 5 or 6 bit PWM value to linearly adjust the brightness. More, you can set
    the global current DAC for each color that the PWM works against, as well. In
    some of these devices, there is an individual DAC for each color die of each
    LED, even. An incredible amount of circuitry inside, really.

    You may not need tricolors for your work, but there is a small industry centered
    around building large, mobile mural-sized displays for animated advertising in
    daylight situations as well as for large, audience-sized TV displays using
    tricolor LEDs. The units are often custom-designed, but I'd bet you could talk
    to a few vendors of these discrete 16x16 elements to see about getting a small
    supply for your use. Even if you only used one of the colors for everything you
    do, it may be cheaper and more versatile for your needs that much of anything

    These modules are very easy to talk to and can perform very complex tasks for
    you. There is a power dissipation issue to deal with when you put collections
    of them into panels, but most of the difficult tasks are already handled.

    You might contact someone at Osram regarding their modules. If you do decide to
    use such modules, though, get some spares!

  9. John Fields

    John Fields Guest

    I don't understand.

    It sounds like I'm catching some flak because you didn't read my post
    in response to the OP's query closely enough to realize that I was
    describing a system limited to accessing only one LED at a time with a
    minimum of hardware.

    I'm sure we all realize that it's possible to flash anything from a
    bit at a time to a frame at a time, so I'm kind of wondering where
    you're coming from.
  10. John Larkin

    John Larkin Guest

    I'm coming from lunch, actually. Portabella mushrooms and bell peppers
    over pasta, banana cream tart for desert. Pretty good, actually.

    No flak.

  11. Nico Coesel

    Nico Coesel Guest

    Assuming time-multiplexing the LED's is out of the question (because
    of visual testing).
    I would go for a current-source approach where I put the LED's into
    strings of 8 LED's and use darlington arrays to select from where a
    string of LED's would be switched on. This would require 512 ULN2801
    devices and 512 currents sources (which could be using some switching
    scheme to increase effeciency). An advantage would be the smaller
    operating current involved.
  12. Tim Wescott

    Tim Wescott Guest

    Probably half of the folks posting to this newsgroup would be willing
    and able to do the work for you. Just look for tag lines that suggest
    that we own our own companies.
  13. John Fields

    John Fields Guest

    I hate flak, so, thanks. :)

    Last night, my dear wife skinned a head of garlic and baked the naked
    cloves in olive oil, then served them as a side at dinner which was
    just spaghetti and mushrooms sauteed in butter.

    The prelude was a simple spinach salad: Baby spinach, sliced
    mushrooms, Mandarin oranges, and a poppyseed dressing.

    Just to clean the palate...

    And bread.
  14. Jim Thompson

    Jim Thompson Guest

    I like to squish the baked garlic onto bread as a spread...delicious.

    The way we do it here is to stuff a whole chicken with garlic cloves,
    and bake. Then remove cloves and spread on the bread.

    ...Jim Thompson
  15. Guy Macon

    Guy Macon Guest

    FINALLY an off-topic thread that isn't boring!
  16. SLM1608 modules by Samsung. 16x16 leds. You would need 16 modules to
    build an array of 64x64. Red, green, and ~orange, all in one module.
  17. nospam

    nospam Guest

    Something your current display can't do? Sheesh.

    Such LED displays are common. Typically the LEDS are multiplexed at around
    60Hz which is pretty much undetectable by eye (on stationary images).

    There are 8x8 L:ED modules available which stack horizontally and
    vertically and are internally wired in an 8x8 matrix.

    For your display the matrix would typically be arranged as 8 rows and 512
    columns. The rows are driven high by power MOSFETS and the columns pulled
    low by 8 bit shift register/latch/driver chips. I can't think of a part
    number for such a chip but I know they exist. The shift registers are all
    connected in series with clock and strobe signal for the latch commoned.

    Each row is turned on for typically 2ms during which time the 512 bit
    pattern for the next row is clocked into the shift registers.

    A cheap microprocessor is quite capable of controlling the display
    multiplex and generating the column data patterns and clocks, how you are
    going to tell it what you want displayed is another matter.
  18. Tom Woodrow

    Tom Woodrow Guest

    Ever consider "virtual" LEDs using a CRT or LCD display screen? Wouldn't
    update or scroll as fast as a hardware solution, but much easier to
    create. It all depends on other factors in your requirement not listed here.

    Tom Woodrow
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day