poslední úprava těchto stránek
30.červen 2023



multiplexování LED displejů



Na následujícím schematu si ukážeme jak funguje multiplexování LED displejů. Pro snazší orientaci jsou jednotlivé bloky schematu barevně odlišeny.

multiplexovani LED displeju


7-segmentový displej

Ve schematu jsou vidět dva 4-místné 7-segmentové displeje. Nikoliv náhodou. Displej vlevo je sestaven ze 4- samostatných číslovek. Je zde takto uveden, aby bylo vidět, jak jsou ve skutečnosti jednotlivé číslovky propojeny. Číslovky mají vždy spojeny stejné vývody. Tedy vývody pro segment "a" jsou propojeny na všech číslovkách. Podobně vývody pro segment "b" jsou propojeny na všech číslovkách, atd. Celkem tak dostaneme 4-místný displej s osmi vývody "a" až "g" a desetinnou tečkou.
Displej vpravo ve schematu je zakreslen již takto propojený. Při realizaci si přirozeně raději koupíme již propojený, tzv. "multiplexovaný" displej, spíše než samostatné číslovky. Ušetříme si tím práci s propojováním jednotlivých číslovek. Displeje se vyrábějí buď se společnou anodou nebo se společnou katodou. I když je displej "multiplexovaný", má vyvedeny anody nebo katody pro každou číslovku zvlášť. V našem příkladu použijeme displeje se společnou anodou.

BCD - 7-segmentový dekodér a driver

Tento obvod zajišťuje dekódování z BCD kódu na 7-segmentový kód a má též budiče (spínací tranzistory) pro jednotlivé segmenty displeje. Je použit obvod 7447A. Tento obvod spíná do log. 0:

multiplexovani LED displeju

Když je např. vstupní BCD kód 0001 , má svítit číslice "1", tedy segmenty "b" a "c", jsou výstupy obvodu 7447A v log.0. Na výstupy obvodu 7447A jsou přes odpory připojeny jednotlivé segmenty našeho "multiplexovaného" displeje. Jestliže chceme, aby číslice "1" svítila na některé z číslovek, musíme na anodu číslovky přivést napájení.

Proč jsou odpory na výstupech dekodéru a není jen jeden odpor v anodě číslovky? Je to z toho důvodu, že odpor určuje proud, který teče od anody přes LED diodu v segmentu číslovky do země přes spínací tranzistor v dekodéru obvodu 7447A. Když bychom měli jen jeden odpor v anodě, proud tekoucí přes každý segment číslovky by byl jiný pro číslice "1", která má dva segmenty a jiný pro číslicí "8", která má sedm segmentů. V případě číslice "8" by se proud rozdělil do 7 segmentů a ty by svítili slaběji než když se proud rozdělí jen do dvou segmentů u číslovky "1".

4x 8-bitové data latche

Data latch je vyrovnávací paměť, 8-bitová data latch je paměť s 8 vstupy a 8 výstupy. Do paměti nahrajeme data a data v ní zůstanou dokud je nenahradíme jinými daty. Data pro 8-bitovou paměť je 8-bitový kód. Například 10010001. Paměť má vstupy D0 až D7 a odpovídající výstupy Q0 až Q7. Všimněte si, jak jsou zapojeny výstupy pamětí. Výstupy Q0 až Q3 jsou přivedeny na ABCD vstupy 7-segmentového dekodéru pro levý 4-místný displej a výstupy Q4 až Q7 téže paměti jsou přivedeny na ABCD vstupy 7-segmentového dekodéru pro pravý 4-místný displej. Výstupy D0 všech pamětí jsou spojeny. Podobně výstupy D1, D2 atd. Dostaneme tedy blok čtyřech 8-bitových pamětí pouze s 8, respektive 2x4 výstupy. Aby se výstupy nepopraly, mají tzv. "3-state" vlastnost. To je stav, kdy výstup nemá ani log.0 ani log.1 a výstupy v tomto stavu mohou být spolu spojeny.

4x transistor driver

Anody jednotlivých číslovek obou displejů jsou připojovány na napájení přes PNP tranzistor.
Předpokládejme, že máme na vstupu 7-segmentového dekodéru stav DCBA = 0001, což odpovídá číslici "1" a segmenty "b" a "c" jsou v log. 0 a my chceme aby tato číslice svítila pouze na druhé číslovce. Tedy, musíme této číslovce přivést na anodu napětí. To se stane, když sepneme tranzistor v anodě žádané čídslovky. Jestliže budeme tranzistory spínat postupně, bude také číslice "1" svítit postupně na jednotlivých číslovkách. Postupného spínání tranzistorů se dosáhne z obvodu "2 to 4 decoder".

2 to 4 decoder

dekodér "2 to 4" je obvod, který dekóduje 2-bitový binární stav na dekadický stav.

multiplexovani LED displeju

Když je vstup dekodéru 00, je v log. 0 výstup Y0. Když je vstup dekodéru ve stavu 01, je v log. 0 výstupu Y1, atd. Tedy, stačí postupně měnit vstupy dekodéru z 00, na 01, dále na 10, dále 11 a zase zpět na 00 a výstupy dekodéru nám budou postupně spínat jednotlivé tranzistory, které budou připojovat napětí na jednotlivé anody číslovek displeje.
Když budeme současně v témže sledu připojovat data na vstup 7-segmentového dekodéru, budou číslovky ukazovat stav na vstupu 7-segmentového dekodéru.
Příklad:

cyklus vstup dekodéru 2-4 DCBA vst. data výsledek
0 00 0101 svítí 5 na číslovce 1
1 01 0111 svítí 7 na číslovce 2
2 10 0100 svítí 4 na číslovce 3
3 11 1001 svítí 9 na číslovce 4
4 00 0011 svítí 3 na číslovce 1


Když bude rychlost přepínání tranzistorů dostatečně rychlá, více než 25Hz, naše oko nebude blikání vnímat a budeme vidět současně rozsvícené všechny 4 číslovky. To je podstata multiplexování displeje. Jak dosáhneme rychlého přepínání? K tomu slouží 2-bitový čítač na vstupu dekodéru "2 na 4".

2-bit counter

2-bitový čítač je sestaven ze dvou klopných obvodů J-K. Výstupy Q obou klopných obvodů s každou sestupnou hranou vstupního pulzu z generátoru hodin změní stav. Stavy se postupně mění z 00 na 01, pak na 10, dále na 11 a pak zase na 00 a tak pořád dokola. Tyto výstupy jsou přivedeny na vstup dekodéru "2 na 4".

clock generátor

Aby čítač mohl čítat, potřebuje nějaký zdroj pulzů. V našem případě jsme použili známý obvod 555 spolu s dvěmi odpory a dvěmi kondenzátory. Změnou hodnot odporů a kondenzátoru lze nastavit optimální kmitočet výstupních pulzů.
Jaký kmitočet je žádoucí?
Jestliže máme dosáhnout, abychom neviděli mrkání dislerje a máme jen 4 číslovky, pak stačí asi 120Hz a více. Je potřeba si uvědomit, že se zvyšujícím se kmitočtem budeme muset snižovat hodnotu odporů na segmentech displejů, abychom dosáhli vyššího proudu segmentem a segment více svítil. Nesmíme však překročit mezní pulzní proud, který je povolen pro obvod 7447A.

Vraťtme se nyní zpět k displejům a 8-bitovým pamětem. Všimněte si, že výstupy "dekodéru 2 na 4" vedou krom do bází tranzistorů pro spínání anod číslovek také do 8-bitových pamětí. V 8-bitových pamětech jsou přivedeny vždy na "/OE", což je "Output Enable" vstup. Log. 0 na tomto vstupu povolí výstup dat z pamětí na výstupy. Jestliže tedy v cyklu přepínáme tranzistory a přivádíme na anody číslovek napětí, pak současně také přivádíme data z pamětí na vstupy obou 7-segmentových dekodérů. Paměti jsou 8-bitové. Dolní nible (D0 až D3) vede na levý 7-segmentový dekodér a horní nibble (D4 až D7) na pravý 7-segmentový dekodér. Při stavu 00 na vstupu dekodéru "2 na 4" bude tedy napětí na 1.číslovce jak levého displeje tak 1.číslovce pravého displeje a současně data D0 až D3 na vstupech levého 7-segmentového dekodéru a data D4 až D7 na vstupech pravého 7-segmentového dekodéru. Současně tak zobrazíme dvoje data na dvou číslovkách. Multiplexujeme současně 2x 4 číslovky a ve výsledku máme 8-místný multiplexovaný displej.

Kde vezmeme data k zobrazování

Praktická otázka, kde vezmeme data. Tak například můžeme spojit 8 dekadických čítačů a jejich výstupy přivést na vstupy 8-bitových pamětí. Vždy výstupy dvou čítačů na jednu paměť. Vhodným seřazením buďto číslovek nebo správným přiřazením výstupů k čítačů k pamětem budeme mít 8-místný čítač s multiplexovaným displejem.

Inventory

Nyní zbývá spočítat kolik obvodů potřebujeme:

2x 4-místné multiplexované displeje se společnou anodou
2x BCD dekodéry na 7-segmentový kód (2 pouzdra DIL16)
4x 8-bitová latche s třístavovými výstupy (4 pouzdra DIL20)
1x dekodér 2 na 4 (1 pouzdro DIL16)
1x 2-bitový binární čítač (1 pouzdro DIL16)
1x generátor impulzů (obvod 555 v pouzdru DIP8)
2x odporové pole po 8 odporech (2 pouzdra DIL16)
4x tranzistor PNP
6x jednotlivých odporů
2x kondenzátory

Detailní schema

Detailní schema v PDF pro formát A3 si můžete vyžádat v diskuzním fóru.