Charlieplexing has recently attracted much attention as a method for multiplexing LED displays because it allows one to control N × (N-1) LEDs using N I/O lines (References 1 to 5). Standard multiplexing methods control far fewer LEDs. Table 1 shows the number of LEDs that can be controlled using Charlieplexing and standard multiplexing, dividing the available number of N I/O lines into the appropriate number of rows and columns. Table 1 also shows the duty cycle of the current flowing through the LEDs when the LEDs are turned on.
Obviously, Charlieplexing allows one to control a much larger number of LEDs for a given number of I/O lines. However, the disadvantage of this method is that the duty cycle of the current flowing through the LEDs is lower. Therefore, to maintain a specific brightness, the peak current flowing through the LEDs must be increased proportionally, which quickly reaches the peak current limit of the LEDs. Nevertheless, Charlieplexing is a viable method for up to 10 I/O lines, allowing one to control up to 90 LEDs. To control the same number of LEDs using standard multiplexing methods, 19 I/O lines would be required.
This design proposes an improvement to the Charlieplexing method, which allows one to double the number of LEDs that can be controlled. Therefore, the proposed method, GuGaplexing, allows one to control 2×N×(N-1) LEDs using only N I/O lines and a few additional discrete components (Figure 1). To turn on LED D1 using the Charlieplexing method, P1 is set to logic 1 and P2 is set to logic 0. To turn on LED D2, P1 is set to logic 0 and P2 to logic 1. Figure 2 depicts the proposed GuGaplexing scheme, which uses two I/O lines to control four LEDs. The GuGaplexing method takes advantage of the fact that each I/O line has three states: 1, 0, and high impedance. Therefore, using two I/O lines, the LED can be controlled in states 00, 01, 10, and 11 out of eight possible states.
Table 2 lists the voltages at the output of the transistor pair for the various states of the two I/O lines P1 and P2. The transistor pair consists of BC547 NPN and BC557 PNP transistors. It is recommended to use matched transistor pairs. For N I/O lines, the GuGaplexing method requires N-1 transistor pairs. Table 3 lists the states of the I/O lines P1 and P2, as well as the voltage at the node PR1, for controlling four LEDs. The circuit requires that the LED turn-on voltage should be slightly higher than VCC/2. Therefore, for a red LED with a turn-on voltage of about 1.8V, a suitable power supply voltage is 2.4V. Similarly, for blue or white LEDs, a 5V power supply voltage can be used. Modern microcontrollers, especially Atmel's AVR series microcontrollers, operate with a variety of power supply voltages from 1.8V to 5.5V. This design uses a Tiny13 microcontroller to implement the GuGaplexing method.
Figure 3 depicts the voltage at node PR1 for various supply voltage values when the input of the transistor pair is floating. Spice simulations ensure that the circuit operates properly to provide VCC/2 at the PR1 node for various operating supply voltage values when the input is floating.
A 24-LED bar graph display was used to demonstrate the effectiveness of the scheme (Figure 4). The display is programmable and uses a linear display scheme for the analog input voltage. The 24-LED display displays the analog input voltage in discrete steps. Only four I/O lines and three pairs of transistors are required to control the 24 LEDs. The system uses 5 mm white LEDs in a transparent package and a 5 V supply voltage. The GuGaplexing implementation uses an AVR ATTiny13 microcontroller. The analog input voltage is connected to pin 7 of the Tiny13 microcontroller's ADC input.
The control program for the ATTiny13 microcontroller is available (http://a330.g.akamai.net/7/330/2540/20081008181905/www.edn.com/contents/images/4274%20listing.zip) in C language compiled with the AVRGCC freeware compiler. The source code can be modified to display only one input voltage range (0 V to 5 V). For example, you could have a linear display range of 1V to 3V, or use a logarithmic scale for a 2V to 3V input voltage.
References
1. Lancaster, Don, Tech Musings, August 2001.
2. “Charlieplexing: Reduced Pin-Count LED Display Multiplexing,” Application Not
3. Chugh, Anurag, and Dhananjay V Gadre, “Eight-Pin Microcontroller Handles Two-Digit Display With Multiple LEDs," Electronic Design, 2007-5-24.
4. Gadre, Dhananjay V, and Anurag Chugh, "Microcontroller drives logarithmic/linear dot/bar 20-LED display," EDN, 2007-1-18, pg 83.
5. Benabadji, Noureddine, “PIC microprocessordrives 20-LED dot- or bar-graph display,” EDN, Sept 1, 2006, pg 71. Saurabh Gupta and Dhananjay V Gadre, Netaji Subhas Institute of Technology (Dwarka, New Delhi, India)
Previous article:Homemade 51/avr microcontroller USB ISP download cable
Next article:Long key C language program
- Popular Resources
- Popular amplifiers
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
- Learn ARM development (4)
- Learn ARM development (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- The US asked TSMC to restrict the export of high-end chips, and the Ministry of Commerce responded
- The US asked TSMC to restrict the export of high-end chips, and the Ministry of Commerce responded
- ASML predicts that its revenue in 2030 will exceed 457 billion yuan! Gross profit margin 56-60%
- Detailed explanation of intelligent car body perception system
- How to solve the problem that the servo drive is not enabled
- Why does the servo drive not power on?
- What point should I connect to when the servo is turned on?
- How to turn on the internal enable of Panasonic servo drive?
- What is the rigidity setting of Panasonic servo drive?
- How to change the inertia ratio of Panasonic servo drive
- Lessons learned from transplanting LwIP on C6414
- Lichee RV 86 PANEL Review (7) - Deploy a personal blog on Lichee
- [NXP Rapid IoT Review] Bluetooth Control RGB
- [National Technology N32G457 Review] Comparison between development board N32G457 and AB32VG1
- I2C pull-up levels
- It’s the middle of the year, how are your 2021 plans/goals going?
- [TI recommended course] #Optimizing system-level design through industrial Ethernet#
- 【SC8905 EVM Review】+My Review Report
- About LD driver and TEC refrigeration chip driver
- Homemade CH340T downloader, you can download and proofread by yourself if necessary