Saturday, 11 May 2019

multiplexer - 7-segment LED display with multiple digits


I was looking at the datasheet for the LTC-4627JR, and it looks like each digit shares a common anode, and each segment shares a common cathode.


My question is given this configuration, I don't understand how to drive each digit separately.


For example, say I want digit 1, segment A and digit 2, segment B to be on, with everything else off.


I could attach pin 1 and pin 2 to Vcc to enable the two digits, but if I try to connect pin 14 to ground (through a resistor, of course), this will turn segment A on for both digit 1 and digit 2. Likewise, trying to connect pin 16 to ground, this will turn segment B on for both digits.


Is there something I'm missing here? Or is this how this display is intended to work?


This is similar to this question, but as far as I can tell the answers to that question doesn't allow powering all digits differently from each other.



Answer



Actually this is a very common arrangement. Each digit has its anodes connected together, and the segments for all digits have their cathodes connected. The controller enables one of the common anodes, drives the segments, and waits, then turns off the cathodes and moves on to the next common anode. This arrangement and control method is called multiplexing, and the linked article will give you a lot of information. The part in question is a common anode display, but common cathode displays are just as common.


Multiplexing allows you to drive a large number of display elements with fewer wires than individual addressing, at the expense of a more complex control algorithm. You can go a step further by doing something called Charlieplexing which allows you to drive even more elements with less I/O if you can turn off the drivers (as opposed to just setting them high or low, which is the requirement for a multiplexed display controller).



Now that you know it's called a multiplexed display, you should have no trouble finding all kinds of example circuits or microcontroller code fragments to implement it.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...