EVROPSKÝ POLYTECHNICKÝ INSTITUT s. r. o.
Digitální technika
Garant předmětu: Prof. Ing. Tomáš Dostál, DrSc. Autoři textu: Doc. Ing. Jaromír Kolouch, CSc. Prof. Ing. Tomáš Dostál, DrSc.
Kunovice
1. 9. 2008
2
Evropský polytechnický institut s. r.o, Kunovice
© Jaromír Kolouch, Tomáš Dostál, 2008
Digitální technika
3
Obsah 1
ÚVOD ............................................................................................................................... 10 1.1 1.2 1.3 1.4 1.5 1.6
2
ZAŘAZENÍ PŘEDMĚTU VE STUDIJNÍM PROGRAMU ...........................................................10 ANALOGOVÁ A ČÍSLICOVÁ TECHNIKA ............................................................................10 IMPULSOVÉ SIGNÁLY .....................................................................................................11 PŘENOS IMPULSOVÉHO SIGNÁLU....................................................................................12 ZÁKLADNÍ PASÍVNÍ PŘENOSOVÉ ČLÁNKY .......................................................................13 KONTROLNÍ OTÁZKY .....................................................................................................15
DIODY A TRANZISTORY V IMPULSOVÝCH OBVODECH................................ 16 2.1 POLOVODIČOVÉ SPÍNACÍ DIODY .....................................................................................16 2.2 SCHOTTKYHO DIODY .....................................................................................................17 2.3 SPÍNACÍ BIPOLÁRNÍ TRANZISTORY .................................................................................17 2.3.1 Statické vlastnosti bipolárních spínacích tranzistorů................................18 2.3.2 Dynamické vlastnosti bipolárních spínacích tranzistorů...........................19 2.3.3 Způsoby zrychlení spínacích procesů ........................................................21 2.4 TRANZISTORY ŘÍZENÉ POLEM ........................................................................................23 2.5 SHRNUTÍ KAPITOLY........................................................................................................24 2.6 KONTROLNÍ OTÁZKY .....................................................................................................25
3
ZÁKLADNÍ IMPULSOVÉ OBVODY.......................................................................... 26 3.1 TRANZISTOROVÉ SPÍNAČE ..............................................................................................26 3.2 ZESILOVAČE IMPULSOVÝCH SIGNÁLŮ ............................................................................31 3.3 NAPĚŤOVÉ KOMPARÁTORY ............................................................................................32 3.3.1 Princip funkce ............................................................................................32 3.3.2 Jednoduché komparátory s diskrétními tranzistory...................................32 3.3.3 Komparátory s komparačními zesilovači ..................................................33 3.3.4 Shrnutí kapitoly..........................................................................................37 3.4 KONTROLNÍ OTÁZKY .....................................................................................................37
4
KLOPNÉ OBVODY........................................................................................................ 38 4.1 4.2 4.3 4.4 4.5 4.6 4.7
5
ZÁKLADNÍ POJMY ČÍSLICOVÉ TECHNIKY ........................................................ 45 5.1 5.2 5.3 5.4 5.5 5.6 5.7
6
PRINCIP A DĚLENÍ ..........................................................................................................38 BISTABILNÍ KLOPNÝ OBVOD...........................................................................................38 MONOSTABILNÍ KLOPNÝ OBVOD ....................................................................................39 ASTABILNÍ KLOPNÝ OBVOD ...........................................................................................41 POUŽITÍ INTEGROVANÉHO ČASOVAČE ............................................................................42 SHRNUTÍ KAPITOLY........................................................................................................43 KONTROLNÍ OTÁZKY .....................................................................................................44 LOGICKÉ PROMĚNNÉ ......................................................................................................45 ZÁKLADNÍ LOGICKÉ ČLENY A OPERÁTORY.....................................................................46 ČÍSLICOVÉ OBVODY A SYSTÉMY ....................................................................................48 ČÍSELNÉ SOUSTAVY .......................................................................................................48 PŘEVOD DESÍTKOVÉHO ČÍSLA NA DVOJKOVÉ .................................................................50 KÓDOVÁNÍ A DEKÓDOVÁNÍ............................................................................................51 KONTROLNÍ OTÁZKY .....................................................................................................52
KOMBINAČNÍ LOGICKÉ FUNKCE.......................................................................... 53
4
Evropský polytechnický institut s. r.o, Kunovice 6.1 ZÁKLADNÍ POJMY .......................................................................................................... 53 6.2 BOOLEOVA ALGEBRA .................................................................................................... 54 6.3 ZPŮSOBY ZÁPISU A ZOBRAZENÍ KOMBINAČNÍCH LOGICKÝCH FUNKCÍ ........................... 55 6.3.1 Zápis kombinačních logických funkcí pomocí pravdivostní tabulky ......... 56 6.3.2 Zápis kombinačních logických funkcí logickým výrazem.......................... 56 6.3.3 Zobrazení kombinačních funkcí pomocí množinového diagramu ............. 59 6.3.4 Zobrazení kombinačních logických funkcí pomocí mapy.......................... 59 6.3.5 Zobrazení logickými schématy s kombinačními logickými členy .............. 62 6.4 ZJEDNODUŠOVÁNÍ ZÁPISU KOMBINAČNÍCH LOGICKÝCH FUNKCÍ ................................... 62 6.4.1 Minimalizace úplně určených funkcí......................................................... 63 6.4.2 Minimalizace neúplně určených funkcí ..................................................... 64 6.4.3 Skupinová minimalizace ............................................................................ 65 6.5 SHRNUTÍ KAPITOLY ....................................................................................................... 67 6.6 KONTROLNÍ OTÁZKY ..................................................................................................... 68
7
REALIZACE KOMBINAČNÍCH LOGICKÝCH FUNKCÍCHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA 7.1 PŘEHLED REALIZACÍ KOMBINAČNÍCH LOGICKÝCH FUNKCÍCHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. 7.2 REALIZACE ZÁKLADNÍMI KOMBINAČNÍMI ČÍSLICOVÝMI OBVODYCHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. 7.2.1 Realizace součinovými a součtovými obvodyChyba! Záložka není definována. 7.2.2 Realizace pomocí členů AND-OR-INVERTChyba! Záložka není definována. 7.3 POUŽITÍ MULTIPLEXORŮ A DEMULTIPLEXORŮ ..... CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. 7.4 DALŠÍ ZPŮSOBY REALIZACE KOMBINAČNÍCH LOGICKÝCH FUNKCÍCHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. 7.5 SHRNUTÍ KAPITOLY 7 .......................................... CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. 7.6 KONTROLNÍ OTÁZKY ........................................... CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA.
8
HAZARDY U KOMBINAČNÍCH LOGICKÝCH OBVODŮ ....................................80 8.1 DEFINICE HAZARDU V OBVODU ..................................................................................... 80 8.2 HAZARDY V DVOUSTUPŇOVÉ STRUKTUŘE ..................................................................... 82 8.2.1 Algebraický přístup ................................................................................... 83 8.2.2 Použití Karnaughových map pro analýzu hazardů ................................... 83 8.3 ZPŮSOBY ZNEŠKODNĚNÍ HAZARDŮ ............................................................................... 84 8.4 SHRNUTÍ KAPITOLY 8 .................................................................................................... 86 8.5 KONTROLNÍ OTÁZKY ..................................................................................................... 86
9
ZÁKLADNÍ PRVKY SEKVENČNÍCH SYSTÉMŮ....................................................87 9.1 ÚVOD ............................................................................................................................ 87 9.2 JEDNODUCHÉ ASYNCHRONNÍ KLOPNÉ OBVODY ............................................................. 88 9.2.1 Klopné obvody typu RS ............................................................................. 89 9.2.2 Klopný obvod typu RS se vzorkovacím vstupem....................................... 92 9.2.3 Klopný obvod typu D se statickým řízením ............................................... 93 9.3 KLOPNÉ OBVODY DVOUSTUPŇOVÉ A ŘÍZENÉ HRANOU .................................................. 94 9.3.1 Dvoustupňový klopný obvod typu RS ........................................................ 95 9.3.2 Dvoustupňový klopný obvod typu JK ........................................................ 95 9.3.3 Dvoustupňový klopný obvod typu D.......................................................... 97 9.3.4 Další typy klopných obvodů řízených hranou ........................................... 99 9.3.5 Vzájemný převod různých typů klopných obvodů řízených hranou .......... 99
Digitální technika
5
9.4 REGISTRY ....................................................................................................................100 9.5 SHRNUTÍ KAPITOLY 9...................................................................................................101 9.6 PŘÍKLADY A KONTROLNÍ OTÁZKY KE KAPITOLE 9........................................................102 KONTROLNÍ OTÁZKY: ..........................................................................................................103 10 ČÍTAČE A STAVOVÉ AUTOMATY ........................................................................ 104 10.1 ČÍTAČE ........................................................................................................................104 10.2 ASYNCHRONNÍ BINÁRNÍ ČÍTAČ ....................................................................................105 10.3 SYNCHRONNÍ ČÍTAČE ...................................................................................................106 10.3.1 Binární synchronní čítače........................................................................107 10.3.2 Vratné binární čítače. ..............................................................................110 10.3.3 Dekadické synchronní čítače a synchronní čítače s jinými kódy.............112 10.3.4 Integrované synchronní čítače vyráběné v řadě 74.. ...............................113 10.4 ZKRACOVÁNÍ CYKLU A NEPRACOVNÍ STAVY U ČÍTAČŮ ................................................114 10.5 STAVOVÉ AUTOMATY ..................................................................................................115 10.6 SHRNUTÍ KAPITOLY 10.................................................................................................120 10.7 PŘÍKLADY KU KAPITOLE 10 .........................................................................................121 10.8 KONTROLNÍ OTÁZKY ...................................................................................................128 11 GENERÁTORY PRAVOÚHLÝCH SIGNÁLŮ V ČÍSLICOVÉ TECHNICE....... 129 11.1 GENERÁTORY DIGITÁLNÍ TECHNICE .............................................................................129 11.2 AUTONOMNÍ GENERÁTORY ..........................................................................................129 11.3 SPOUŠTĚNÉ GENERÁTORY ............................................................................................131 11.4 SHRNUTÍ KAPITOLY 11.................................................................................................133 11.5 KONTROLNÍ OTÁZKY ...................................................................................................133 12 GENERÁTORY TVAROVÝCH KMITŮ .................................................................. 134 12.1 ÚVOD...........................................................................................................................134 12.2 ANALOGOVÉ GENERÁTORY..........................................................................................134 12.3 ČÍSLICOVÉ GENERÁTORY .............................................................................................135 12.4 SPECIÁLNÍ INTEGROVANÉ OBVODY PRO STAVBU GENERÁTORŮ TVAROVÝCH KMITŮ ...135 12.5 SHRNUTÍ KAPITOLY 12.................................................................................................136 12.6 KONTROLNÍ OTÁZKY ...................................................................................................136 13 TECHNICKÁ REALIZACE ČÍSLICOVÝCH OBVODŮ ....................................... 137 13.1 PŘEHLED INTEGROVANÝCH ČÍSLICOVÝCH OBVODŮ .....................................................137 13.2 ŘADY TTL...................................................................................................................138 13.3 ŘADY CMOS...............................................................................................................140 13.4 OŠETŘENÍ NEVYUŽITÝCH VSTUPŮ ČÍSLICOVÝCH OBVODŮ ...........................................145 13.5 ZVLÁŠTNÍ TYPY VÝSTUPŮ ČÍSLICOVÝCH OBVODŮ .......................................................146 13.6 VAZBA MEZI ČÍSLICOVÝMI OBVODY RŮZNÝCH ŘAD .....................................................147 13.7 POŽADAVKY NA ROZVOD NAPÁJECÍHO NAPĚTÍ V ČÍSLICOVÝCH SYSTÉMECH ................149 13.8 VLASTNOSTI REÁLNÝCH SPOJŮ ....................................................................................150 13.9 PŘEHLED VLASTNOSTÍ ČÍSLICOVÝCH INTEGROVANÝCH OBVODŮ .................................152 13.10 KRITÉRIA PRO VOLBU ŘADY ČÍSLICOVÝCH OBVODŮ .................................153 13.11 SHRNUTÍ KAPITOLY 13..............................................................................154 13.12 KONTROLNÍ OTÁZKY.................................................................................155 14 LITERATURA .............................................................................................................. 156
6
Evropský polytechnický institut s. r.o, Kunovice
Seznam obrázků OBR. 1.1: OBR. 1.2: OBR. 1.3: OBR. 1.4: OBR. 2.1: OBR. 2.2: OBR. 2.3: OBR. 2.4: OBR. 2.5: OBR. 2.6: OBR. 2.7: OBR. 3.1: OBR. 3.2: OBR. 3.3: OBR. 3.4: OBR. 3.5: OBR. 3.6: OBR. 3.7: OBR. 3.8: OBR. 3.9: OBR. 3.10: OBR. 3.11: OBR. 3.12: OBR. 3.13: OBR. 3.14: OBR. 3.15: OBR. 4.1: OBR. 4.2: OBR. 4.3: OBR. 4.4: OBR. 4.5: OBR. 4.6: OBR. 5.1: OBR. 5.2: OBR. 5.3: OBR. 5.4: OBR. 5.5: OBR. 6.1: OBR. 6.2: OBR. 6.3: OBR. 6.4: OBR. 6.5: OBR. 6.6: OBR. 6.7: OBR. 6.8: OBR. 6.9: OBR. 6.10: OBR. 6.11: OBR. 6.12:
REÁLNÝ IMPULS A JEHO PARAMETRY. ............................................................... 11 KOMPENZOVANÝ DĚLIČE NAPĚTÍ....................................................................... 13 DĚLIČ NAPĚTÍ S UVAŽOVÁNÍM VNITŘNÍHO ODPORU ZDROJE SIGNÁLU. .............. 14 DOLNÍ PROPUST RLC. ....................................................................................... 14 STUDIUM DYNAMICKÝCH VLASTNOSTÍ DIODY. .................................................. 17 PRACOVNÍ OBLASTI BIPOLÁRNÍHO TRANZISTORU. ............................................. 18 ZÁVISLOST PROUDOVÉHO ZESILOVACÍHO ČINITELE TRANZISTORU.................... 19 MODEL TRANZISTOROVÉHO SPÍNAČE PRO ROZBOR DYNAMICKÉHO CHOVÁNÍ.... 19 ČASOVÉ PRŮBĚHY U A I V TRANZISTOROVÉM SPÍNAČI. ...................................... 20 ZAPOJENÍ KE ZKRÁCENÍ SPÍNACÍCH ČASŮ. ......................................................... 22 ODSTRANĚNÍ SATURAČNÍHO ZPOŽDĚNÍ ANTISATURAČNÍ DIODOU...................... 22 SPÍNAČE ANALOGOVÉHO SIGNÁLU. ................................................................... 26 SPÍNAČ S TRANZISTOREM MOSFET. ................................................................. 27 INTEGROVANÉ SPÍNAČE 4016 A 4066. ............................................................... 27 INVERTOR U ČÍSLICOVÝCH INTEGROVANÝCH OBVODŮ CMOS.......................... 28 TRANZISTOROVÝ SPÍNAČ S NESETRVAČNOU ZÁTĚŽÍ. ......................................... 28 TRANZISTOROVÝ SPÍNAČ S INDUKTIVNÍ ZÁTĚŽÍ A S OCHRANNOU DIODOU. ........ 30 OCHRANA VSTUPU IO PROTI PRONIKNUTÍ NEBEZPEČNÉHO NAPĚTÍ. ................... 30 TRANZISTOROVÝ ZESILOVAČ JAKO KOMPARÁTOR............................................. 33 DVOUSTUPŇOVÝ ZESILOVAČ JAKO KOMPARÁTOR. ............................................ 33 KOMPARAČNÍ ZESILOVAČ LM 311. ................................................................... 34 KOMPARÁTOR S KOPARAČNÍM ZESILOVAČEM. .................................................. 34 KOMPARÁTOR S OPERAČNÍM ZESILOVAČEM. ..................................................... 35 SCHMITTŮV KLOPNÝ OBVOD. ............................................................................ 35 ZAPOJENÍ SCHMITTOVA KO PRO INTEGROVANÉ OBVODY. ................................ 36 KOMPARÁTORY. ................................................................................................ 36 BISTABILNÍ KLOPNÝ OBVOD S ŘÍDICÍMI TRANZISTORY. ..................................... 39 MONOSTABILNÍ KLOPNÝ OBVOD S TRANZISTORY. ............................................. 40 ČASOVÉ PRŮBĚHY VE ZNOVUSPUSTITELNÉM MKO........................................... 41 ZAPOJENÍ ASTABILNÍHO KLOPNÉHO OBVODU. ................................................... 41 KOMERČNĚ DOSTUPNÝ INTEGROVANÝ ČASOVAČ. ............................................. 42 KLOPNÉ OBVODY S ČASOVAČEM 555................................................................. 43 PŘÍKLAD OZNAČENÍ PROMĚNNÉ S AKTIVNÍ ÚROVNÍ L........................................ 45 ZNAČKY LOGICKÝCH ČLENŮ.............................................................................. 46 ELEKTRICKÉ OBVODY REALIZUJÍCÍ ZÁKLADNÍ LOGICKÉ FUNKCE....................... 47 ROZEPSÁNÍ DEKADICKÉHO ČÍSLA PO ŘÁDECH.................................................... 48 ROZEPSÁNÍ BINÁRNÍHO ČÍSLA DO SOUČTOVÉHO TVARU. ................................... 49 ILUSTRACE DEMORGANOVÝCH ZÁKONŮ. ......................................................... 55 PŘEVODNÍK BINÁRNÍHO KÓDU NA KÓD DISPLEJE. .............................................. 57 MNOŽINOVÉ DIAGRAMY .................................................................................... 59 KARNAUGHOVA MAPA ODPOVÍDAJÍCÍ PRAVDIVOSTNÍ TABULCE TAB. 6.6. ........ 60 KARNAUGHOVA MAPA PRO DVĚ VSTUPNÍ PROMĚNNÉ........................................ 60 MINTERM A MAXTERM V KARNAUGHOVĚ MAPĚ................................................ 61 ZOBRAZENÍ A MINIMALIZACE FUNKCE E. ........................................................... 64 FUNKCE SE DVĚMA MINIMÁLNÍMI SOUČTOVÝMI TVARY. ................................... 64 MINIMALIZACE FUNKCE (E), S VYUŽITÍM NEÚPLNOSTI JEJÍ DEFINICE. ................ 65 PŘÍKLAD FUNKCÍ MINIMALIZOVANÝCH SPOLEČNĚ............................................. 65 MAPY FUNKCÍ URČENÝCH KE SKUPINOVÉ MINIMALIZACI. ................................. 66 SOUČINY MINIMALIZOVANÝCH FUNKCÍ. ............................................................ 67
Digitální technika
7
OBR. 6.13: SOUČINY S VYZNAČENÝMI IMPLIKANTY.............................................................68 OBR. 6.14: VÝSLEDNÉ POKRYTÍ FUNKCÍ. .............................................................................68 OBR. 7.1: MAPA REALIZOVANÉ FUNKCE (Y)............ CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. OBR. 7.2: REALIZACE FUNKCE Y NA ZÁKLADĚ SOUČTOVÉHO ZÁPISU ( 7.3 ). .............CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. REALIZACE FUNKCE Y NA ZÁKLADĚ SOUČINOVÉHO ZÁPISU ( 7.6 ).............CHYBA! OBR. 7.3: ZÁLOŽKA NENÍ DEFINOVÁNA. OBR. 7.4: SCHEMATICKÁ ZNAČKA OBVODU 74..51. CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. OBR. 7.5: SCHEMATICKÁ ZNAČKA MULTIPLEXORU (74..151).CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. REALIZACE FUNKCE E POMOCÍ MULTIPLEXORU.CHYBA! ZÁLOŽKA NENÍ OBR. 7.6: DEFINOVÁNA. OBR. 7.7: PŘEVODNÍK KÓDU BCD NA KÓD 1 Z 10 TYPU 74..42.CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. OBR. 7.8: REALIZACE FUNKCÍ Z1 AŽ Z4 S VYUŽITÍM DEKODÉRU.CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. OBR. 7.9: PRINCIPIÁLNÍ STRUKTURA PAMĚTI PROM.CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. VZNIK PARAZITNÍHO IMPULSU PŘI STATICKÉM HAZARDU. .................................81 OBR. 8.1: OBR. 8.2: VZNIK PARAZITNÍHO IMPULSU PŘI DYNAMICKÉM HAZARDU. .............................81 OBR. 8.3: ELEMENTÁRNÍ STRUKTURY S HAZARDEM. .........................................................82 OBR. 8.4: PŘÍKLAD OBVODU S HAZARDEM. .......................................................................82 MAPA FUNKCE S VYZNAČENÍM HAZARDU PŘI Y = I. ...........................................84 OBR. 8.5: OBR. 8.6: MAPA FUNKCE S VYZNAČENÍM HAZARDU PŘI Y = O. ........................................84 OBR. 8.7: MAPA FUNKCE Y.................................................................................................86 OBR. 9.1: ZESILOVAČ SE ZPĚTNOU VAZBOU.......................................................................88 OBR. 9.2: ZPŮSOBY KRESLENÍ OBVODŮ TYPU RS SESTAVENÝCH Z ČLENŮ NOR. ..............89 ZAPOJENÍ A FUNKČNÍ TABULKA KLOPNÉHO OBVODU RS Z ČLENŮ NOR. ...........90 OBR. 9.3: OBR. 9.4: ČASOVÉ PRŮBĚHY SIGNÁLŮ U OBVODU Z OBR. 9.3............................................90 OBR. 9.5: ZPŮSOBY KRESLENÍ OBVODU TYPU RS SESTAVENÝCH Z ČLENŮ NAND. ...........91 OBR. 9.6: ZAPOJENÍ A FUNKČNÍ TABULKA KLOPNÉHO OBVODU RS Z ČLENŮ NAND. ........91 OBR. 9.7: ČASOVÉ PRŮBĚHY SIGNÁLŮ U OBVODU Z OBR. 9.6............................................91 OBR. 9.8: ZAPOJENÍ A FUNKČNÍ TABULKA KO RS S PŘEDNOSTNÍM NASTAVENÍM..............92 OBR. 9.9: KLOPNÝ OBVOD RS SE VZORKOVACÍM VSTUPEM...............................................93 OBR. 9.10: ZAPOJENÍ KLOPNÉHO OBVODU TYPU D. .............................................................93 OBR. 9.11: ČASOVÉ PRŮBĚHY U KLOPNÉHO OBVODU D SE STATICKÝM ŘÍZENÍM. ................94 OBR. 9.12: DEFINICE PŘEDSTIHU A PŘESAHU DATOVÉHO SIGNÁLU. .....................................94 OBR. 9.13: DVOUSTUPŇOVÝ KLOPNÝ OBVOD TYPU RS. ......................................................95 OBR. 9.14: DVOUSTUPŇOVÝ KLOPNÝ OBVOD TYPU JK........................................................96 OBR. 9.15: ODVOZENÍ ZPĚTNÉ FUNKČNÍ TABULKY KLOPNÉHO OBVODU TYPU JK................96 OBR. 9.16: DVOUSTUPŇOVÝ KLOPNÝ OBVOD TYPU D. ........................................................97 OBR. 9.17: ZAPOJENÍ DĚLIČE KMITOČTU VSTUPNÍHO SIGNÁLU DVĚMA. ...............................97 OBR. 9.18: SCHEMATICKÁ ZNAČKA KLOPNÉHO OBVODU 74..74. .........................................98 OBR. 9.19: NÁHRADA KLOPNÉHO OBVODU T OBVODEM TYPU D. ......................................100 OBR. 9.20: NÁHRADA KLOPNÉHO OBVODU TYPU JK OBVODEM TYPU D. ...........................102 OBR. 9.21: KARNAUGHOVA MAPA PRO FUNKCI D. .............................................................102 OBR. 9.22: ZAPOJENÍ OBVODU EMULUJÍCÍHO KO TYPU JK OBVODEM TYPU D. .................103 OBR. 10.1: ASYNCHRONNÍ BINÁRNÍ ČÍTAČ S ČASOVÝMI PRŮBĚHY SIGNÁLŮ. .....................104 OBR. 10.2: POSTUPNÝ PŘECHOD ASYNCHRONNÍHO ČÍTAČE ZE STAVU 15 DO 0...................105 OBR. 10.3: MODEL SYNCHRONNÍHO SYSTÉMU...................................................................106
8 OBR. 10.4: OBR. 10.5: OBR. 10.6: OBR. 10.7: OBR. 10.8: OBR. 10.9: OBR. 10.10: OBR. 10.11: OBR. 10.12: OBR. 10.13: OBR. 10.14: OBR. 10.15: OBR. 10.16: OBR. 10.17: OBR. 10.18: OBR. 10.19: OBR. 10.20: OBR. 10.21: OBR. 10.22: OBR. 10.23: OBR. 10.24: OBR. 10.25: OBR. 11.1: OBR. 11.2: OBR. 11.3: OBR. 11.4: OBR. 11.5: OBR. 12.1: OBR. 12.2: OBR. 12.3: OBR. 13.1: OBR. 13.2: OBR. 13.3: OBR. 13.4: OBR. 13.5: OBR. 13.6: OBR. 13.7: OBR. 13.8: OBR. 13.9: OBR. 13.10: OBR. 13.11: OBR. 13.12: OBR. 13.13: OBR. 13.14:
Evropský polytechnický institut s. r.o, Kunovice BINÁRNÍ SYNCHRONNÍ ČÍTAČ S PARALELNÍM PŘENOSEM. ................................ 108 BINÁRNÍ SYNCHRONNÍ ČÍTAČ. ......................................................................... 109 ČÍTAČ SE VSTUPY ET A EP. ............................................................................. 109 ŠESTNÁCTIBITOVÝ ČÍTAČ SLOŽENÝ ZE SEKCÍ SE STRUKTUROU Z OBR. 10.6. ... 110 VRATNÝ ČÍTAČ S ŘÍZENÍM SMĚRU ČÍTÁNÍ SIGNÁLEM U/D................................. 111 VRATNÝ ČÍTAČ S HODINOVÝMI SIGNÁLY HRADLOVANÝMI PŘENOSEM. ........... 111 MODEL SYNCHRONNÍHO SYSTÉMU S REGISTREM TYPU D. ............................... 112 PŘÍKLAD NEVHODNÉHO ZPŮSOBU ZKRÁCENÍ CYKLU ČÍTAČE 74..193. ............. 115 STAVOVÝ DIAGRAM POPISUJÍCÍ DEKADICKÝ ČÍTAČ. ........................................ 116 ČÍTAČ S DEKODÉREM PRO ZOBRAZOVAČ JAKO STAVOVÝ AUTOMAT. ............... 116 STAVOVÝ DIAGRAM DETEKTORU POSLOUPNOSTI BITŮ. ................................... 118 ZAPOJENÍ DETEKTORU POSLOUPNOSTI BITŮ. REGISTR JE TYPU 74..175. .......... 119 ASYNCHRONNÍ DEKADICKÝ ČÍTAČ. ................................................................. 121 CHARAKTERISTICKÉ PRŮBĚHY SIGNÁLŮ U ČÍTAČE Z OBR. 10.16..................... 122 POMĚRY V ČÍTAČI NA KONCI CYKLU ČÍTÁNÍ..................................................... 122 SCHÉMA ČÍTAČE A POŽADOVANÉ PRŮBĚHY SIGNÁLŮ. ..................................... 123 KLOPNÝ OBVOD TYPU JK. ............................................................................... 123 ZAPOJENÍ NAVRŽENÉHO ČÍTAČE. ..................................................................... 124 STAVOVÝ DIAGRAM ČÍTAČE Z OBR. 10.21 ...................................................... 124 ZAPOJENÍ ANALYZOVANÉHO ČÍTAČE. .............................................................. 125 STAVOVÝ DIAGRAM ČÍTAČE Z OBR. 10.23 ...................................................... 126 STAVOVÝ DIAGRAM POPISUJÍCÍ ČÍTAČ. ............................................................ 127 GENERÁTOR SE DVĚMA INVERTORY. ............................................................... 129 GENERÁTOR SE SCHMITTOVÝM OBVODEM. ..................................................... 130 ČASOVÉ PRŮBĚHY SIGNÁLŮ U ZNOVUSPUSTITELNÉHO MKO. ......................... 131 MKO VYTVOŘENÝ Z INTEGROVANÉHO OBVODU 74..123. ............................... 132 OBVOD PRO VYTVOŘENÍ KRÁTKÉHO IMPULSU. ................................................ 133 PRINCIPIÁLNÍ ZAPOJENÍ AUTONOMNÍHO GENERÁTORU TVAROVÝCH KMITŮ. ... 134 ZAPOJENÍ TVAROVAČE TROJÚHELNÍKOVITÉHO NAPĚTÍ NA SINUSOVÉ. ............. 135 BLOKOVÉ SCHÉMA GENERÁTORU PRACUJÍCÍHO NA ČÍSLICOVÉM PRINCIPU. ..... 135 LOGICKÝ ČLEN NAND – TTL STD................................................................. 139 CHARAKTERISTIKY INVERTORU TTL STD. ..................................................... 139 STRUKTURA INVERTORU CMOS. .................................................................... 140 CHARAKTERISTIKY INVERTORU CMOS. ......................................................... 141 SROVNÁNÍ ODBĚRU ŘADY TTL A CMOS. ....................................................... 142 ZÁVISLOST ZPOŽDĚNÍ OBVODŮ ŘADY 4000 NA UDD. ....................................... 143 OCHRANA VSTUPŮ A VÝSTUPŮ IO. .................................................................. 145 PŘÍKLAD VYTVOŘENÍ INVERTORU Z OBVODU NOR A NAND.......................... 146 KRUHOVÝ OSCILÁTOR. .................................................................................... 146 LOGICKÝ ČLEN NAND – TTL STD................................................................. 147 NAPĚŤOVÉ ÚROVNĚ V ZÁKLADNÍCH ŘADÁCH ČÍSLICOVÝCH OBVODŮ. ............ 148 VAZBA MEZI OBVODY TTL A CMOS 4000...................................................... 148 PŘEHLED LOGICKÝCH ČLENŮ VYRÁBĚNÝCH JAKO INTEGROVANÉ OBVODY. .... 152 RELACE MEZI VYRÁBĚNÝM MNOŽSTVÍM A CENOU ČÍSLICOVÝCH OBVODŮ. ..... 154
Digitální technika
9
Seznam tabulek TAB. 2.1: TAB. 5.1: TAB. 6.1: TAB. 6.2: TAB. 6.3: TAB. 6.4: TAB. 6.5: TAB. 6.6: TAB. 7.1: TAB. 7.2:
PRACOVNÍ OBLASTI TRANZISTORU .....................................................................18 ZÁKLADNÍ LOGICKÉ OPERACE............................................................................46 KOMBINAČNÍ LOGICKÉ FUNKCE JEDNÉ VSTUPNÍ PROMĚNNÉ ..............................53 KOMBINAČNÍ LOGICKÉ FUNKCE DVOU PROMĚNNÝCH ........................................54 NEJDŮLEŽITĚJŠÍ KOMBINAČNÍ LOGICKÉ FUNKCE DVOU PROMĚNNÝCH...............54 ZÁKONY PRO JEDNU PROMĚNNOU. .....................................................................55 ZÁKONY PRO VÍCE PROMĚNNÝCH.......................................................................55 PRAVDIVOSTNÍ TABULKA PŘEVODNÍKU Z OBR. 6.2............................................56 TABULKA ZBYTKOVÝCH FUNKCÍ............. CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. PRAVDIVOSTNÍ TABULKA PRO FUNKCE Z1 AŽ Z4.CHYBA! ZÁLOŽKA NENÍ DEFINOVÁNA. TAB. 9.1: AKTIVNÍ ÚROVNĚ A TYP PŘEDNOSTI U KLOPNÝCH OBVODŮ RS..........................92 TAB. 9.2: DYNAMICKÉ PARAMETRY OBVODŮ 74..74. ........................................................98 TAB. 9.3: PŘEHLED NEJDŮLEŽITĚJŠÍCH TYPŮ SYNCHRONNÍCH KLOPNÝCH OBVODŮ. .........99 TAB. 9.4: K ODVOZENÍ NÁHRADY KLOPNÉHO OBVODU TYPU T OBVODEM TYPU D..........100 TAB. 9.5: K ODVOZENÍ NÁHRADY KLOPNÉHO OBVODU TYPU JK OBVODEM TYPU D........102 TAB. 10.1: SROVNÁNÍ ASYNCHRONNÍCH A SYNCHRONNÍCH SYSTÉMŮ...............................107 BINÁRNÍ KÓD. ..................................................................................................108 TAB. 10.2: TAB. 10.3: PŘEHLED INTEGROVANÝCH SYNCHRONNÍCH ČÍTAČŮ Z ŘADY 74......................114 TAB. 10.4: KÓDOVÁNÍ STAVŮ............................................................................................119 TABULKA AUTOMATU PRO DETEKTOR POSLOUPNOSTI BITŮ. ............................120 TAB. 10.5: TAB. 10.6: TABULKA STAVŮ ANALYZOVANÉHO ČÍTAČE....................................................126 TAB. 10.7: TABULKA STAVŮ NAVRHOVANÉHO ČÍTAČE......................................................126 TAB. 13.1: MAXIMÁLNÍ DÉLKA SPOJŮ A TYPICKÁ DOBA TRVÁNÍ HRAN. ............................150 TAB. 13.2: CHARAKTERISTICKÁ IMPEDANCE BĚŽNÝCH SPOJŮ. ..........................................150 PŘEHLED VLASTNOSTÍ ZÁKLADNÍCH ŘAD ČÍSLICOVÝCH OBVODŮ ....................151 TAB. 13.3:
10
Evropský polytechnický institut s. r.o, Kunovice
1 Úvod Cíle kapitoly: Seznámit studenty s obsahem předmětu a jeho zařazením ve studijním programu. Zopakovat a prohloubit znalosti studentů o druzích a parametrech impulsních signálů. O jejich průchodu základními pasivními články. Test předchozích znalostí 1. Vysvětlete, co je lineární a nelineární elektrický obvod a uveďte základní vlastnosti. 2. Vysvětlete co je analogový, impulsový a digitální (číslicový) signál a obvod. 3. Co je kmitočtová modulová a argumentová charakteristika obvodu? 4. Jaké znáte základní druhy tranzistorů? Na čem spočívá jejich funkce? 5. Definujte vlastnosti ideálního a reálného operačního zesilovače.
1.1 Zařazení předmětu ve studijním programu Tento učební text obsahuje nejdůležitější poznatky z (číslicové) digitální techniky, které jsou náplní stejnojmenného kursu, zařazeného ve druhém ročníku bakalářského studijního programu na EPI v Kunovicích. Předmět Digitální technika přímo navazuje na Elektroniku, přednášenou v prvním ročníku studia. Pro jeho zvládnutí se předpokládá znalost základů elektrotechniky, elektroniky a základů matematiky. Dále pak znalost vlastností nejdůležitějších elektronických součástek (rezistory, kapacitory, diody, tranzistory) a základních metod řešení elektrických obvodů. Cílem předmětu je naučit studenty oboru Elektronické počítače základům teorie digitálních obvodů, způsobům zpracování a zobrazení informací v číslicové formě. Na tento předmět pak navazují další, více aplikační předměty (Architektura PC, Počítačové sítě, Programovací techniky). V první části navážeme na předchozí kurz analogových obvodů (Elektronika) a zaměříme se na zpracování impulsových signálů. Zde uvedeme základní poznatky o elektronických obvodech určených pro toto zpracování. Doplněny budou vlastnosti diod a tranzistorů ve spínaném pracovním módu. Uvedeny budou základní typy klopných obvodů. V navazující části věnované číslicové technice bude uvedena analýza a syntéza kombinačních logických obvodů, základních sekvenčních obvodů a subsystémů (klopné obvody, čítače, stavové automaty). Pozornost bude věnována také technické realizaci číslicových systémů a pravidlům pro práci s číslicovými obvody.
1.2 Analogová a číslicová technika Číslicová (digitální) technika je mladý obor, k jehož rozvinutí přispěla elektronika. Nejznámější využití dosáhly elektronické počítače. Digitálně pracujících obvodů a systémů je však daleko více (např. digitální voltmetr, osciloskop, řídící systémy, televize atd.). Digitální obvody (DIO) výlučně pracují s dvojkovými signály, které nabývají pouze dvou hodnot (log 1 a log 0). V elektronickém obvodu je dvojkový signál charakterizován dvěma jednoznačnými stavy, což je důsledkem bezpečnějšího zpracování těchto signálů.
Digitální technika
11
Zopakujme si, že signály jsou nositeli informací. V našem případě jsou elektrické povahy (napětí, proud). Zpracováváme je v příslušném elektrické obvodu. Signály rozlišujeme dle jejich průběhu: a) Analogové signály – jejich průběh se spojitě mění v hodnotě i čase (většina fyzikálních veličin v přirozené formě). • periodické harmonické signály, • periodické neharmonické signály, • impulsní signály, • jednorázové signály. b) Signály kvantované, spojité v čase a diskrétní v hodnotě (Informace je přiřazena k signálu po předem stanovených malých změnách hodnot, skocích). c) Signály vzorkované, spojité v hodnotě diskrétní v čase. d) Signály diskrétní (v hodnotě i čase). e) Číslicové (digitální) signály, kdy diskrétnímu signálu je přiřazeno číslo (např. binární). Právě poslední skupina digitálních signálů a jejich zpracování ve specielních obvodech (DIO) bude předmětem našeho zájmu. Ve vnitřní struktuře DIO se však setkáváme i se signály impulsními. Analogový a číslicový voltmetr. Příklad 1.1 Porovnejte vlastnosti (přednosti a nedostatky) analogového a číslicového voltmetru. Při měření analogových fyzikálních veličin a jejich digitálním zpracování je zapotřebí obvod, který analogový údaj přemění na číslicový, nazývá se (A/D) analogově digitální převodník. Je součástí každého číslicového přístroje. Příklad 1.2 Princip A/D převodníku. Na ilustrativním obrázku vysvětlete princip činnosti A/D převodníku.
1.3 Impulsové signály Impulsové signály jsou vláštním druhem analogových signálů. Impuls je krátkodobá relativní výchylka elektrické veličiny ze základní (ustálené, klidové) hodnoty (úrovně), do níž se po určité době představující šířku impulsu tato veličina opět vrací. Impulsy mohou mít různý tvar, např. pravoúhlý, exponenciální, dvojexponenciální, zvonovitý, Diracův atd. Zopakujte si definice těchto impulsů a jejich parametrů. x ∆ A
A1 0,9 A 1
A2
0,5 A 1
0,9 A 2 0,5 A 2
0,1 A 2
0,1 A 1 0
tt
tč td
ti
Obr. 1.1: Reálný impuls a jeho parametry.
t
12
Evropský polytechnický institut s. r.o, Kunovice
Příklad 1.3 Reálný impuls a jeho paranetry. Na Obr. 1.1 je reálný „pravoúhlý“ impuls. Popište ho a definujte následující parametry: doba čela (tč) [rise time (tr)], doba týlu (tt) [fall time (tf)], doba hrany [edge time (te)], zpoždění impulsu [delay time (td)], pokles temene ∆A [amplitude decay, dip].
1.4 Přenos impulsového signálu Pro zpracování impulsových signálů se používají přenosové obvody (články a soustavy) s lineárním nebo nelineárním charakterem. Lineární články určené pro zpracování impulsů propouštějí široké kmitočtové pásmo, ne však nekonečné. Omezení pásma způsobuje lineární zkreslení přenášeného signálu. Toto zkreslení je charakteristické kmitočtově závislým přenosem jednotlivých kmitočtových složek přenášeného signálu. Při tom nevznikají složky, které v signálu nebyly původně přítomny. V článcích, v nichž se projevují nelineární vlastnosti jejich prvků, dochází ke zkreslení nelineárnímu, přičemž dochází ke vzniku nových složek kmitočtového spektra přenášených signálů. Přenosové články mají nejčastěji přenos odpovídající dolní propusti (DP). Na DP s mezním kmitočtem fm (-3 dB) ideální přivedeme pravoúhlý impuls s nulovými dobami hran. Na výstupu bude impuls s exponenciálními hranami (s nenulovou dobou te). Souvislost mezi dobou hrany impulsu (te) a mezním kmitočtem článku (fm) resp. jeho časovou konstantou (τ) je dána vztahem ( 1.1 ) te = 0,35/fm = 2,2 τ. Bude-li mít i vstupní impuls nenulové doby hran tei, pak můžeme přibližně určit dobu hran výstupního impulsu teo jako geometrický součet doby teo a tei. Bude-li takový impuls procházet kaskádou lineárních článků, které se vzájemně neovlivňují, s mezními kmitočty fm1 až fmn, můžeme z hlediska přenosu impulsu přibližně nahradit jednotlivé články článkem jediným. Ten je charakterizován dobou te te ≈
t e1 + t e2 + ... t en , 2
2
2
kde tej = 0,35/fmj , pro j = 1, 2, ..., n.
( 1.2 )
Při průchodu impulsového signálu lineárním přenosovým článkem se tedy doba hrany prodlužuje. Současně se hrana zpožďuje, a to přibližně o dobu časové konstanty τ. Některé přenosové články však nemohou přenést ani nízké kmitočty (např. derivační článek). To se projeví na poklesu temene přenášených impulsů. Složitější přenosové soustavy můžeme rozdělit na dílčí obvody, které mají nejčastěji charakter lineárního přenosového článku nebo zesilovače s omezením. Prochází-li impulsový signál řetězcem článků stejného charakteru, je možno stanovit jistá obecná pravidla pro jeho ovlivnění těmito články [ 1 ]. Je-li impulsový signál přenášen nelineárními přenosovými články typu zesilovač s omezením, dochází také ke zpoždění impulsu, nedochází však k neomezenému prodlužování hran. Po průchodu několika článků se stejnými vlastnostmi se ustálí doba hrany na hodnotě vlastní doby hrany. Přenášená informace se tedy neztrácí bez ohledu na počet článků, jimiž signál prochází. Podmínkou však je, aby se zesilovač v důsledku příliš pomalé hrany vstupního signálu nerozkmital.
Digitální technika
13
1.5 Základní pasívní přenosové články V impulsových obvodech se setkáme s pasívními přenosovými články, které představují lineární obvody R, C, L prvního nebo druhého řádu. Zopakujme si nejprve vlastnosti integračního a derivačního článku RC, především jejich odezvu na skokový vstupní signál. Příklad 1.4 Integrační článek RC. Nakreslete schéma integračního článku RC (DP 1.řádu), s uvažováním jisté odporové zátěže. Obvod zjednodušte a odvoďte jeho odezvu na skokový vstupní signál. Příklad 1.5 Derivační článek RC. Nakreslete schéma derivačního článku RC (HP 1.řádu), s uvažováním a) jisté odporové zátěže a vnitřního odporu zdroje skokového vstupního signálu, b) článek zatížený kapacitní zátěží. Obvod zjednodušte a odvoďte průběh výstupního napětí. Ideální dělič napětí složený čistě z rezistorů (R1, R2) je kmitočtově nezávislý, přenáší vstupní signál se zeslabením odpovídajícím dělicímu poměru. V reálném děliči jsou však vždy přítomny parazitní reaktanční prvky. Z nich má obvykle dominantní charakter kapacitní složka zátěže (C2 na Obr. 1.2), představující parazitní kapacitu spojů nebo vstupní kapacitu navazujícího obvodu. Dělič s kapacitní zátěží je totožný s integračním článkem, který je zatížen rezistorem. Tomu také odpovídají jeho vlastnosti při přenosu impulsového signálu. Přenos tohoto článku se blíží přenosu ideálního děliče napětí jen pro kmitočty signálu výrazně menší než je mezní kmitočet daný časovou konstantou, tj. fm = 1/(2π (R1&R2).C2). u u ( t )= U σ ( t )
C1
1
1
d =
R2 R 1+ R
2
U
1
u - překompenzovaný dělič 2
u1
R1 C2
R2
u2
d .U
1
u 2 - nedokompenzovaný dělič
0 (a)
( b )
t
Obr. 1.2: Kompenzovaný děliče napětí. a) zapojení, b) příslušné časové průběhy signálů. Obvykle se snažíme, aby dělič přenášel signál v co nejširším kmitočtovém rozsahu bez zeslabení. Rozšíření přenášeného kmitočtového pásma můžeme dosáhnout kompenzací děliče, kdy paralelně k rezistoru R1 připojíme kompenzační kapacitor C1, jak je naznačeno na Obr. 1.2a. Tím zajistíme, že skoková změna napětí se na oba kapacitory rozdělí v poměru dC = C1/(C1 + C2). I když se na první pohled zdá, že dělič je obvod 2. řádu, protože jsou v něm obsaženy dva kapacitory, jde o obvod 1. řádu, protože tyto kapacitory jsou po zkratování zdroje vstupního napětí spojeny paralelně. Proto probíhá přechodný děj podle exponenciály, jejíž počáteční bod má svislou pořadnici dC.U1. V ustáleném stavu má napětí velikost d.U1, kde d = R2/(R1 + R2) je dělicí poměr odporové části děliče. V této výšce je tedy asymptota exponenciály představující průběh výstupního napětí. Platí-li dC = d, je počáteční hodnota tohoto napětí i asymptota ve stejné výšce a exponenciála se tedy redukuje na přímku, takže dostáváme ideální průběh výstupního napětí děliče. Jednoduchým výpočtem zjistíme, že tento stav nastává, platí-li R1C1 = R2C2. V tomto případě mluvíme o vykompenzovaném děliči. Je-li R1C1 > R2C2, je dělič překompenzovaný a skok přesahuje výšku ustáleného stavu, v opačném případě je dělič nedokompenzovaný a skoková změna nedosahuje k ustálenému stavu. V obou
14
Evropský polytechnický institut s. r.o, Kunovice
těchto případech se výstupní napětí k ustálenému stavu blíží podle exponenciální křivky s časovou konstantou danou paralelní kombinací rezistorů R1, R2 a kapacitorů C1, C2, jak je naznačeno na Obr. 1.2b. Při použití děliče pro přenos impulsových signálů se obvykle snažíme, aby byl vykompenzovaný. u d =
u ( t )= U σ ( t )
C1
0
U
R0
0
u
1
0
R2 R 1+ R
2
u - překompenzovaný dělič 2
u0
u1
R1
R2
C2
u2
d .U
0
u 2 - nedokompenzovaný dělič
0 (a)
t
( b )
Obr. 1.3: Dělič napětí s uvažováním vnitřního odporu zdroje signálu. Ideální (okamžitý) skok napětí na vstupu děliče by však znamenal, že v okamžiku skoku se kapacitory musí nabít na hodnotu napětí danou poměrem dC. V takovém případě by obvodem musel protékat velmi vysoký, teoreticky nekonečný proud. To samozřejmě není ve skutečnosti možné. Nejjednodušší představu o skutečných poměrech dává model, kdy je tento proud omezen vnitřním odporem zdroje vstupního signálu (případně s odporem přívodních vodičů), jak je to nakresleno na Obr. 1.3a. V tomto případě je již dělič skutečně obvodem 2. řádu. Přechodný děj pak můžeme přibližně řešit rozkladem na rychlou a pomalou část děje (Obr. 1.3b). Krátce po skoku napětí u0 jsou kapacitory C1, C2 nenabité a lze zanedbat proud protékající rezistory R1, R2. Je-li odpor R0 malý proti odporům R1 a R2, můžeme rezistory R1 a R2 pro rychlou část děje zanedbat a článek pokládat za integrační článek. Napětí u1 bude exponenciálně růst k hodnotě U0, jak je nakresleno na Obr. 1.3b tečkovanou čarou. Výstupní napětí u2 pak rychle vzroste k hodnotě dané dělicím poměrem kapacitní části děliče. Tato hodnota představuje počáteční hodnotu pro pomalou část děje, během níž se potom napětí u2 exponenciálně blíží s časovou konstantou danou paralelní kombinací rezistorů R1, R2 a kapacitorů C1, C2 k ustálené hodnotě dané dělicím poměrem d odporové části děliče. Při řešení děliče jsme uvažovali jen dominantní parazitní kapacitu zátěže. Na jeho chování však mají vliv i další parazitní jevy. Zejména to jsou indukčnosti propojovacích vodičů, které ovlivňují rychlou část přechodného děje a způsobují vznik zákmitů. u ( t )= U σ ( t )
u R
L U1
u1
C
u2
1
1
Q > 0,5
Q = 0,5
Q < 0,5 u (t ) 2
(a )
0
(b )
t
Obr. 1.4: Dolní propust RLC. a) zapojení, b) odezva na skok vstupního napětí. Vznik zákmitů si ukážeme na dolní propusti RLC 2. řádu uvedené na Obr. 1.4. Napěťový přenos tohoto článku je
Digitální technika
15
U 2 ( s) 1 /( sC ) 1 = = 2 . U1 ( s ) R + sL + 1 /( sC ) s LC + sRC + 1 Při zavedení běžně známých parametrů ω 0 = 1 / LC , Z 0 = napsat přenos ve tvaru ω0 2 U 2 (s) N (s) . = 2 = 2 U1 ( s ) s + s(ω0 / Q) + ω0 D( s )
( 1.3 ) L / C , Q = Z0 /R můžeme
( 1.4 )
Jmenovatel D(s) představuje charakteristickou rovnici obvodu D(s) = 0. Její kořeny pak jsou
s1,2 = −
ω0 2Q
( 1±
1 − 4Q 2 ).
( 1.5 )
Pro Q < 0,5 jsou kořeny reálné, takže odezva na skok vstupního napětí je dvojexponenciála. Čím menší je hodnota Q, tím pomalejší je vzrůst čela výstupního skoku. Pokud požadujeme, aby impulsy přenášené článkem byly co nejméně zkresleny, volíme vyšší hodnoty činitele Q. Zvětší-li se však jeho hodnota nad 0,5, stávají se kořeny charakteristické rovnice komplexními, takže odezva má kmitavý charakter. Připustíme-li malý překmit, volíme obvykle hodnoty činitele Q v rozsahu 0,5 až 0,7. Charakteristická rovnice je stejná i pro jiné články RLC 2. řádu, s nimiž se obvykle setkáme. Proto jsou pro tyto články stejné i základní vlastnosti, které z ní vyplývají, zejména hraniční hodnota Q = 0,5 mezi kmitavou a aperiodickou odezvou.
1.6 Kontrolní otázky 1) Nakreslete a definujte pravoúhlýimpuls. 2) Nakreslete a definujte exponenciální a dvouexponenciální impuls. 3) Nakreslete a definujte Diracův impuls. 4) Jak se kumuluje doba hrany a zpoždění při průchodu impulsového signálu několika lineárními články? 5) Jakým způsobem se tyto parametry ovlivňují při průchodu impulsového signálu několika stejnými články s nelineárním charakterem zesilovače s omezením?
16
Evropský polytechnický institut s. r.o, Kunovice
2 Diody a tranzistory v impulsových obvodech Cíle kapitoly: Zopakovat a prohloubit znalosti studentů o vlastnostech polovodičových součástek, které jsou důležité pro jejich použití v obvodech pro generování, zpracování a přenos impulsových signálů. Seznámit je s dynamickými vlastnostmi diod a spínacích tranzistorů. Test předchozích znalostí 1. Nakreslete schematickou značku a statickou (A-V) charakteristiku diody. Pojmenujte a popište její typické oblasti. 2. V jakých a jak definovaných pracovních oblastech mohou pracovat bipolární tranzistory, v závislosti na napětí na svých přechodech.
2.1 Polovodičové spínací diody Statické vlastnosti. Pro rychlé impulsové obvody se nejčastěji používají spínací křemíkové diody, u kterých v propustném směru jsou obvykle dovolené proudy stovky miliampérů a v nepropustném směru nanoampéry. S rostoucí teplotou však tento proud rychle stoupá. Pro teploty do 50 oC je možno tento proud zanedbat. V propustném směru je id nepatrný až do ud ≈ 0,4 V. Pak začíná id rychle růst, přibližně při přírůstku napětí 60 mV se zvětší na desetinásobek. Růst proudu je tedy exponenciální. To však platí pouze tehdy, je-li proud určen charakteristikou přechodu P-N. Zvětší-li se proud na hodnotu zhruba o řád menší než je největší dovolený proud v propustném směru, začnou se uplatňovat odpory přívodů k tomuto přechodu. Charakteristika diody se zde proto blíží přímce. Mezní hodnoty napětí v závěrném směru bývají obvykle řádu desítek až stovek voltů. Teče-li křemíkovou diodou v propustném směru proud s hodnotou o jeden až dva řády menší než je mezní hodnota tohoto proudu (to je rozsah obvyklých pracovních hodnot proudu), můžeme při teplotách přechodu P-N blízkých 20 oC počítat s napětím na diodě v rozsahu 0,5 až 0,7 V. Toto napětí se značně mění s teplotou přechodu. Jeho teplotní koeficient bývá v rozsahu -2 až -4 mV/oC, napětí tedy klesá s rostoucí teplotou. Při proudech řádově blízkých mezní hodnotě bývá napětí na diodě v propustném směru kolem 1 až 1,5 V. Dynamické vlastnosti. Napětí na diodě a proud jí protékající jsou v souladu se statickou charakteristikou diody pouze v ustáleném stavu, případně při pomalých změnách. Při rychlejších změnách, které jsou charakteristické pro impulsové aplikace, se projevují odchylky především při přechodu napětí na diodě ze závěrného směru do propustného a naopak. Typické jevy při těchto změnách můžeme posoudit pomocí zkušebního zapojení na Obr. 2.1a. Při přechodu diody ze závěrného směru do propustného směru je charakter přechodného děje různý podle velikosti proudu, který se diodou protlačuje (Obr. 2.1b). Předpokládejme, že se napětí u0 skokově mění na hodnotu mnohem větší než 1 V, takže můžeme zdroj napětí u0 s rezistorem R pokládat za zdroj proudu. Je-li vnucovaný proud o více řádů menší než je mezní hodnota proudu v propustném směru, má převažující vliv kapacita diody a průběh napětí na diodě odpovídá průběhu na integračním článku RC. Blíží-li se však vnucovaný proud mezní hodnotě, převažují jevy související se setrvačností vzniku a zániku nosičů náboje v přechodu P-N a na diodě se po změně napětí objeví napěťová špička připomínající chování derivačního článku. Velikost této špičky může být několikanásobně větší, než je napětí na diodě v ustáleném stavu.
Digitální technika
17 u0 , u
D
u0
10 V 0
0
u0
i
t rr
R = 10 k Ω
uD D
t
D
R = 100 Ω
i
uD
t
uD
R
u0
0
0
t
t
a) b) c) Obr. 2.1: Studium dynamických vlastností diody. a) Zkušební obvod pro sledování dynamických vlastností diody. b) Přechodný děj při přechodu do propustného směru diody. c) Přechodný děj při přechodu do závěrného směru diody. Při přechodu diody z propustného do závěrného směru se projevuje setrvačnost v zániku nosičů náboje. Tím se napětí na diodě po změně polarity zdroje mění do závěrného směru jen postupně. Dioda dodává po určitou dobu do obvodu energii nahromaděnou v nosičích náboje a „pomáhá“ tak zdroji protlačovat proud rezistorem R (Obr. 2.1c). Teprve poté, co se náboje vyčerpají jak tímto procesem tak rekombinací, přejde napětí na diodě do závěrného směru dioda se „zotaví“ a proud v obvodu poklesne na hodnotu danou statickou charakteristikou diody. V technických listech diod se udává hodnota doby zotavení diody trr, za kterou proud v obvodu poklesne na definovanou úroveň, obvykle na desetinu počáteční hodnoty. Rychlé spínací diody mívají doby zotavení řádově v nanosekundách.
2.2 Schottkyho diody V impulsové a digitální technice se často setkáme se Schottkyho diodami s přechodem kov-polovodič, jejichž napětí v propustném směru je menší než u křemíkových diod s přechodem P-N. Toto napětí u Schottkyho diod bývá 0,2 až 0,4 V, obvykle však u těchto diod bývá větší odpor materiálu přívodů. Přechodné procesy při komutaci Schottkyho diod bývají mnohem kratší než u odpovídajících diod s přechodem P-N, jejich zotavovací doba je nepatrná. Schottkyho diody mívají menší dovolené napětí v nepropustném směru než běžné diody, obvyklé hodnoty jsou několik desítek voltů.
2.3 Spínací bipolární tranzistory Označení „spínací“ se užívá pro tranzistory, které mají v katalogovém listu udány parametry důležité pro spínací aplikace. Parametry těchto tranzistorů důležité pro jejich použití například v nízkofrekvenčních zesilovačích u těchto tranzistorů bývají rovněž udávány, takže zhruba můžeme říci, že u spínacích tranzistorů je udáváno více parametrů než u běžných tranzistorů. Ve spínacích aplikacích se používají tranzistory bipolární a unipolární. Bipolární tranzistory jsou dosud používány častěji (především z cenových důvodů), a proto jejich vlastnosti probereme podrobněji. Principy vysvětlené u těchto tranzistorů však platí i pro tranzistory unipolární, zejména pokud jde o jejich dynamické vlastnosti.
18 2.3.1
Evropský polytechnický institut s. r.o, Kunovice Statické vlastnosti bipolárních spínacích tranzistorů
V závislosti na napětí na svých přechodech mohou tranzistory pracovat ve čtyřech pracovních oblastech, uvedených v následující Tab. 2.1 Tab. 2.1: Pracovní oblasti tranzistoru přechod: báze – emitor báze – kolektor báze – emitor báze – kolektor báze – emitor báze – kolektor báze – emitor báze – kolektor
směr polarizace: nepropustný nepropustný propustný nepropustný propustný propustný nepropustný propustný
název pracovní oblasti: zahrazení aktivní oblast oblast nasycení (saturace) inverzní oblast
První tři oblasti můžeme znázornit ve výstupních (kolektorových) charakteristikách tak, jak je to ukázáno na Obr. 2.2. Oblast zahrazení je shora omezena charakteristikou pro nulové napětí mezi bází a emitorem. Z praktického hlediska je tato charakteristika u běžných křemíkových tranzistorů téměř totožná s charakteristikou pro nulový proud báze. Na Obr. 2.2 je tato oblast naznačena symbolicky, její výška je ve skutečnosti nepatrná a nepřekrývá se s oblastí nasycení. i i i
C
oblast nasycení
C
i B
B
aktivní oblast
uBE
uCE
i = 0 B
0
oblast zahrazení
uCE
Obr. 2.2: Pracovní oblasti bipolárního tranzistoru. U tranzistorů používaných v logických obvodech není hlavním účelem dosažení velkého proudového zesílení, ale spíše realizace logické funkce, např. inverze signálu a ta se zajistí i při malých kolektorových proudech. Pak v oblasti nasycení je napětí na kolektoru menší než napětí na bázi. To umožňuje ve spínacích aplikacích, např. v klopných obvodech, používat mezi spínači s křemíkovými tranzistory přímou vazbu bez dalších prvků. To je velká výhoda křemíkových tranzistorů ve srovnání s tranzistory z jiných materiálů. Tento vztah mezi napětími však již nemusí platit pro větší hodnoty kolektorových proudů. V aktivní oblasti je proudový zesilovací činitel přibližně konstantní pouze pro určité pásmo velikosti kolektorového proudu. Zesilovací činitel výrazně klesá (o řád i více), přibližuje-li se kolektorový proud tranzistoru své mezní hodnotě ICM nebo také při velmi malých kolektorových proudech. Typický průběh tohoto činitele v závislosti na kolektorovém proudu je nakreslen na Obr. 2.3. Obvykle značíme statickou hodnotu zesilovacího činitele symbolem β, diferenciální hodnotu pak symbolem h21.
Digitální technika
19 β
100 10
10
-5
10
-4
10
-3
10
-2
10
-1
IC/ICM
1
Obr. 2.3: Závislost proudového zesilovacího činitele tranzistoru. Přípustné napětí mezi kolektorem a emitorem závisí výrazně na odporu zapojeném mezi bázi a emitorem tranzistoru. Je-li tento odpor velký, je toto dovolené napětí menší než při jeho malé hodnotě. Při zvýšení napětí na bázi nad určitou mez dojde k tzv. prvnímu průrazu tranzistoru. Je-li proud kolektoru omezen například sériovým rezistorem, nemusí tento průraz vést k destrukci tranzistoru, pokud nedojde k jeho přehřátí. Při překročení jisté hodnoty kolektorového proudu se však ve struktuře tranzistoru vytvářejí horká místa, do nichž se koncentruje proud, a tak dochází k druhému průrazu tranzistoru, při němž je obvykle protavena jeho báze a tranzistor má pak zkrat mezi kolektorem a emitorem. Druhý průraz zpravidla vede ke zničení tranzistoru. Jakýkoliv průraz, tedy i nedestruktivní první průraz, však může podporovat degradační procesy v tranzistoru, takže se obecně snažíme průrazům předcházet. UCC RC
i
i
G
RBE
a
CCB
CBE
i
i B
uBE
C
CCE uCE 0V
Obr. 2.4: Model tranzistorového spínače pro rozbor dynamického chování. 2.3.2
Dynamické vlastnosti bipolárních spínacích tranzistorů
Dynamické procesy v tranzistoru budeme demonstrovat na modelu tranzistorového spínače na Obr. 2.4. S výjimkou procesů probíhajících v tranzistoru ve stavu nasycení jsou setrvačné jey ve spínači způsobeny parazitními kapacitami CCB, CBE a CCE. Při zjednodušení je uvažujeme jako lineární. Vedle mezielektrodových kapacit do nich zahrneme i parazitní kapacity spojů. Dále předpokládáme, že přechod báze-emitor má charakter ideální diody s pravoúhlou charakteristikou, přičemž napětí v propustném směru na tomto přechodu je Uγ (jeho hodnota je kolem 0,65 V). Zanedbáme také saturační napětí tranzistoru. V klidovém stavu dodává generátor budicího proudu na vstupu proud, který obecně nemusí být nulový (na Obr. 2.5 je kreslen jako záporný s hodnotou IG0). V ustáleném stavu teče celý tento proud rezistorem RBE a vytváří na něm napětí UBE0 = IG0/RBE (na Obr. 2.5 záporné). Tranzistor je v oblasti zahrazení. Po příchodu čelní hrany impulsu proudu iG se nejprve nabíjejí kapacitory CBE a CCB. Doba po příchodu čela impulsu budicího proudu, kdy je přechod báze-emitor polarizován v nepropustném směru a kdy se nabíjejí kapacity v uzlu báze, se nazývá zpoždění při zapnutí. Tato doba bývá obykle zanedbatelná ve srovnání s
20
Evropský polytechnický institut s. r.o, Kunovice
ostatními spínacími časy. Dosáhne-li napětí uBE hodnoty Uγ, přestane se toto napětí i proud ia měnit. Proud ia, který má nyní hodnotu Ia1 = IG1 - Uγ /RBE, začne otevírat tranzistor, který přechází do aktivní oblasti. Začíná čelo impulsu kolektorového proudu. Pro jednoduchost zanedbejme nyní účinek kapacitoru CCE. Kolektorový proud tranzistoru způsobuje úbytek napětí na rezistoru RC, takže napětí na kolektoru klesá. To však způsobuje, že část proudu ia = Ia1 teče kapacitorem CCB do kolektorového uzlu a pouze zbytek teče do báze tranzistoru. Napětí na kolektoru tedy klesá pozvolna, jak to dovoluje nabíjení kapacitoru CCB (ve skutečnosti je tento pokles ještě zpomalován vybíjením kapacitoru CCE, což však obvykle není příliš významné). Je-li napětí na přechodu báze-emitor podle předpokladu konstantní, je růst kolektorového proudu dán exponenciálou s časovou konstantou τa (jde o obvod 1. řádu). Asymptota této exponenciály je v úrovni proudu ICs = Bs Ia1. Napětí na kolektoru tranzistoru klesá úměrně rostoucí hodnotě kolektorového proudu. iG
IG1
0 IG0
t
ia, iB Ia1 = IB1 iB
iB 0
t
IBz
uBE
Uγ
0 UBE0
t ICs
iC
τ s (fiktivní proud)
IC1 τs
τ a (skutečný proud)
0
τa
t
ICz UCC
uCE
UCET okamžik zániku proudu iC
0
t
Obr. 2.5: Časové průběhy u a i v tranzistorovém spínači. V okamžiku, kdy toto napětí dosáhne hodnoty saturačního napětí, končí čelo impulsu kolektorového proudu a tranzistor přechází do stavu nasycení. Kapacitory CBE a CCB se přestanou nabíjet a proud báze skokově vzroste na hodnotu proudu Ia1 (v ustáleném stavu je Ia1 = IB1). Napětí ani proudy v obvodu se dále nemění, ale v tranzistoru probíhá přerozdělování náboje, které si můžeme představit jako růst fiktivního kolektorového proudu na hodnotu ICs. Přibližně můžeme uvažovat, že růst fiktivního proudu je exponenciální s časo-
Digitální technika
21
vou konstantou τs, která je určena vlastnostmi tranzistoru a může být (obvykle je) odlišná od časové konstanty τa. Při příchodu týlové hrany impulsu budicího proudu nejprve musí poklesnout fiktivní kolektorový proud na hodnotu, která skutečně kolektorem teče (je to IC1 = UCC/RC). Tento pokles lze opět charakterizovat exponenciálou s časovou konstantou τs. Doba potřebná k tomuto poklesu se nazývá saturační zpoždění. Asymptota exponenciály charakterizující pokles fiktivního proudu je určena proudem báze tranzistoru IBz = IG0 - Uγ /RBE (tento proud je i při nulovém proudu IG0 záporný, je-li RBE < ∞), a příslušná asymptota leží na úrovni ICz = Bs IBz. Během saturačního zpoždění se napětí na elektrodách tranzistoru mění jen nepatrně. Napětí na bázi tranzistoru je v této době kladné a jeho hodnota je blízká hodnotě Uγ, i když se z báze proud odsává. Proces probíhající v době saturačního zpoždění tranzistoru můžeme přirovnat k procesu zotavení diody. Poměr ICs/IC1 je označován jako činitel přesycení tranzistoru. Jakmile fiktivní kolektorový proud dosáhne hodnoty skutečného kolektorového proudu, přechází tranzistor opět do aktivní oblasti. Saturační zpoždění končí a začíná týl impulsu kolektorového proudu. Mechanismus vytváření týlu impulsu je shodný s mechanismem vytváření čela impulsu. Napětí uCE začíná růst, takže kapacitor CCB do uzlu báze dodává proud, jehož působením neklesá kolektorový proud skokově, ale postupně. Průběh týlové hrany je exponenciální s časovou konstantou τa a s asymptotou na úrovni ICz. Týlová hrana končí dosažením nulové hodnoty kolektorového proudu (v případě, že RBE = ∞, je proud ICz nulový, kolektorový proud se blíží asymptoticky nulové hodnotě a týl teoreticky nikdy nekončí, prakticky však v tomto případě za konec týlu obvykle považujeme okamžik poklesu proudu na hodnotu 0,1 IC1). Průběh napětí uCE je při zanedbání vlivu nabíjecího a vybíjecího proudu kapacitorů CCE a CCB zrcadlovým obrazem průběhu proudu iC. Tento vliv však může být podstatný, je-li strmost hrany proudu velká, a to zejména u týlové (vzestupné) hrany napětí uCE, kdy v okamžiku zániku proudu iC teče do zmíněných kapacitorů proud vytvářející úbytek napětí na rezistoru RC. V tomto okamžiku je tedy napětí uCE nižší než UCC, a to tím více, čím strmější je týlová hrana a tedy i nabíjecí proud těchto kapacitorů. Týlová hrana napětí uCE tedy v okamžiku zániku proudu iC nekončí, a toto napětí pak roste na hodnotu UCC podle exponenciály s časovou konstantou RC.(CCE + CCB). Je-li kapacita CCE dostatečně velká nebo je-li strmost týlové hrany kolektorového proudu vysoká, což bývá při malé hodnotě odporu RBE, případně při přídavném odsávání proudu z uzlu báze (je-li proud IG0 záporný), může být doba týlové hrany napětí uCE výrazně delší než doba hrany proudu. Na Obr. 2.5 je čárkovaně nakreslen průběh proudu kolektoru, plnou čarou je zachycen průběh i s uvažováním vlivu nabíjení kapacit kolektorového uzlu Z Obr. 2.5 by se mohlo zdát, že saturační zpoždění je ve srovnání s dobou týlu impulsu kolektorového proudu malé. To však platí jen tehdy, je-li proud ICs jen o málo větší než proud IC1, tedy pro nevelké hodnoty činitele přesycení. Ve skutečnosti však bývá hodnota tohoto činitele mnohem větší než 1 a saturační zpoždění pak často bývá dominantní. Pro určení doby čela a týlu impulsu kolektorového proudu a napětí má základní význam velikost časové konstanty τa, kterou můžeme ovlivnit volbou parametrů prvků spínače a jeho konstrukcí. 2.3.3
Způsoby zrychlení spínacích procesů
Pro dosažení krátké doby čela a týlu impulsu kolektorového proudu je třeba udržet malé hodnoty časových konstant a zvolit vhodné parametry budicího obvodu. Zmenšením hodnoty odporu RC při stejném napájecím napětí zvyšujeme odběr proudu z napájecího zdroje, je tedy
22
Evropský polytechnický institut s. r.o, Kunovice
nutno zvolit určitý kompromis. Dále je třeba věnovat pozornost parazitním kapacitám, zvláště kapacitě CCB, kterou je vhodné minimalizovat například stíněním i za cenu určitého zvýšení kapacity CCE. Volbou malé hodnoty odporu RBE podporujeme odsávání proudu z uzlu báze v době týlové hrany. Čelní hranu je dále možno zkrátit volbou velké výšky impulsu proudu báze, tedy zvýšením činitele přesycení. Pokud se však neprovede současně jiné opatření, zvětšuje se tím saturační zpoždění. Pro zlepšení obou časů je možno použít zapojení podle Obr. 2.6. Při skokové změně napětí uG je proud báze určen odporem RB1, v ustáleném stavu je dán součtem odporů obou rezistorů. Proudové špičky při přepínání urychlují spínací procesy. uG ,iB
C
uG uG
R B1
R B2
i
iB
B
0
(a )
t
(b )
Obr. 2.6: Zapojení ke zkrácení spínacích časů. a) Obvod RC v bázi tranzistoru, b) časové průběhy napětí a proudu. I když je možno zapojením podle Obr. 2.6 snížit saturační zpoždění, jeho úplné vyloučení by bylo možné jen nastavením odporu v bázi tranzistoru podle proudového zesilovacího činitele použitého tranzistoru, který bývá u určitého typu tranzistoru proměnný v dosti širokých mezích. To je pro běžné účely příliš pracné a nelze tak postihnout změny tohoto činitele vlivem teploty nebo stárnutí. Tam, kde je dosažení krátkých spínacích dob důležité, používá se zapojení podle Obr. 2.7. D
uG
RB
Obr. 2.7: Odstranění saturačního zpoždění antisaturační diodou. Pokud by byla antisaturační dioda D ideální a měla nulový úbytek napětí v propustném směru, nedovolila by, aby v nasycení pokleslo napětí na kolektoru tranzistoru pod napětí báze. Není-li proud kolektoru sepnutého tranzistoru příliš velký, poklesne napětí na kolektoru při saturaci pod napětí báze, jak bylo uvedeno dříve. Dioda D pak odčerpá přebytečný proud z uzlu báze a nedovolí, aby tranzistor přešel do oblasti nasycení. Na druhé straně však kapacita této diody zvyšuje kapacitu CCB, čímž zvyšuje časovou konstantu τa. Podmínkou pro správnou funkci tohoto zapojení je, aby napětí v propustném směru na antisaturační diodě bylo menší než je rozdíl napětí na bázi a kolektorovým napětím tranzistoru v nasycení při příslušném proudu kolektoru. Proto se jako antisaturační diody používají nejčastěji Schottkyho diody, které mají menší úbytek napětí v propustném směru než křemíkové diody a mají rovněž příznivé dynamické vlastnosti. Použití antisaturačních diod ve spínačích sestavených z diskrétních součástek může být z výše uvedených důvodů problematické, je však velmi účinné tam, kde je možno optimalizovat vlastnosti tranzistoru i diody, případně dalších prvků obvodu ve vzájemné vazbě. Pravděpodobně nejznámější je použití antisaturačních diod ve struktuře tzv. Schottkyho řad číslicových integrovaných obvodů TTL.
Digitální technika
23
Ve srovnání s obvody bez antisaturačních diod mají obvody Schottkyho řad výrazně lepší parametry.
2.4 Tranzistory řízené polem Unipolární tranzistory řízené polem (FET – Field Effect Transistors), na rozdíl od bipolárních, nevyžadují ve statickém stavu proud pro buzení báze. Tranzistory FET s kanálem typu N je možno řídit přímo z výstupů číslicových integrovaných obvodů, pokud to dovolí dynamické procesy při přepínání. Tyto tranzistory mají totiž značnou kapacitu hradla, kterou je při přepínání nutno nabít (vybít). Tím se zpomalují hrany a zvyšují ztráty v tranzistorech, není-li budicí obvod schopen dodat dostatečný proudový impuls. Tranzistory FET, jejichž převodní charakteristika je přizpůsobena tomu, aby byly přímo řízeny z výstupů číslicových obvodů s napájecím napětím 5 V, se označují názvem „digitální tranzistory FET“. Běžné tranzistory však obvykle vyžadují větší rozkmit napětí na hradle, mají-li být ve spínacím provozu řádně sepnuty nebo rozepnuty. Pro spínací účely se nejčastěji používají tranzistory typu MOSFET. Jejich výhodou kromě uvedené nízké výkonové úrovně potřebné v budicím obvodu je skutečnost, že u nich není nebezpečí druhého průrazu, protože teplotní koeficient vodivosti materiálu je zde opačný než u bipolárních tranzistorů. To umožňuje řadit tranzistory FET paralelně pro zvýšení spínaných proudů bez nutnosti zvláštních opatření pro zajištění rovnoměrného rozdělení proudu mezi tranzistory, jako to bývá potřebné u paralelního řazení bipolárních tranzistorů. Často také bývá oceňováno, že z řídicího obvodu při sepnutém tranzistoru neproniká do výstupu nežádoucí signál – tranzistory FET mají kanál izolovaný od hradla a v sepnutém stavu má tento kanál charakter rezistoru s malým odporem, kde při nulovém proudu je nulový i úbytek napětí. Elektrody tranzistorů FET se anglicky nazývají drain (D), source (S) a gate (G) - pro poslední z nich se v češtině užívá název hradlo. Odpovídají po řadě elektrodám bipolárních tranzistorů: kolektor, emitor, báze. Další elektrodou u tranzistorů MOSFET je substrát, anglicky bulk (B). Ten u tranzistorů s kanálem typu N bývá z materiálu s vodivostí typu P. Ostatní elektrody jsou od něj odděleny přechodem P-N, takže je obvykle nutno spojit substrát, pokud je vyveden z pouzdra, s nejzápornější elektrodou, popřípadě na něj přivést napětí s ještě nižší úrovní. Někdy se však i pro elektrody tranzistorů FET užívá označení kolektor a emitor a tomu odpovídajících značek C, E. Dynamické chování tranzistorů řízených polem je možno modelovat jednodušeji než u bipolárních tranzistorů. Často vystačíme s představou ideálního tranzistoru, k němuž připojíme kapacitory mezi hradlo a zbývající dvě elektrody. Výhodné je, že se u těchto tranzistorů neprojevuje saturační zpoždění. Dynamické procesy při spínání a rozepínání mohou obecně být rychlejší než u bipolárních tranzistorů. Cena nízkovýkonových tranzistorů FET je zhruba o řád vyšší než cena podobných bipolárních tranzistorů, a proto se tranzistory FET jako diskrétní součástky používají méně často. U výkonových tranzistorů není tento rozdíl tak velký, zejména u tranzistorů s kanálem typu N, a možnost řídit je napětím přímo z výstupů číslicových obvodů je činí přitažlivými. Při vhodném buzení jsou u těchto tranzistorů dosažitelné mnohem kratší spínací časy než u bipolárních tranzistorů. Tranzistory FET se často používají jako výstupní spínače specializovaných integrovaných obvodů.
24
Evropský polytechnický institut s. r.o, Kunovice
2.5 Shrnutí kapitoly Statické vlastnosti polovodičových spínacích diod s přechodem P-N jsou dány jejich statickou charakteristikou. Typická hodnota napětí na křemíkové diodě polarizované v propustném směru je 0,5 až 0,7 V, závěrný proud bývá obvykle řádu nanoampérů až mikroampérů. Se vzrůstem teploty klesá napětí na diodě v propustném směru o několik mV na stupeň, závěrný proud vzrůstá. Při rychlých změnách napětí a proudů se projevují dynamické procesy, z nichž nejdůležitější je proces zotavení diody při přechodu z propustného do závěrného směru, kdy dioda po určitou dobu zůstává vodivá, a její blokovací schopnosti v závěrném směru se projeví až po skončení tohoto procesu. U Schottkyho diod jsou tyto procesy výrazně rychlejší než u běžných diod s přechodem P-N a úbytek napětí v propustném směru je u těchto diod menší. Bipolární tranzistor se v rozepnutém stavu chová téměř jako ideální rozepnutý spínač. V sepnutém stavu je na něm saturační napětí, které je pro malé kolektorové proudy obvykle v rozsahu 0,1 V až několik málo desetin V, je tedy menší než napětí báze – emitor v tomto stavu. To umožňuje přímou vazbu mezi spínacími stupni s křemíkovými tranzistory, které na sebe navazují v zapojení se společným emitorem. Pro proudy řádově srovnatelné s mezní hodnotou kolektorového proudu bývá však saturační napětí větší, až několik voltů. Proudový zesilovací činitel na hranici nasycení bývá při velkých kolektorových proudech řádově menší, než je jeho hodnota v aktivní oblasti při malých proudech. Rovněž při velmi malých hodnotách kolektorového proudu tento činitel výrazně klesá. Průrazné napětí tranzistoru výrazně závisí na odporu dráhy mezi bází a emitorem. S rostoucí hodnotou tohoto odporu průrazné napětí klesá. Zopakujme typické hodnoty nejdůležitějších statických parametrů křemíkových spínacích tranzistorů: • napětí přechodu báze-emitor polarizovaného v propustném směru: 0,5 V až 0,7 V (při malých hodnotách proudu báze, tj. zhruba o 1 až 3 řády menší než je jeho mezní hodnota); • saturační napětí kolektor-emitor tranzistoru: 0,1 V až několik málo desetin V (rovněž při malých hodnotách proudu kolektoru) – je menší než napětí báze-emitor; • teplotní koeficient napětí přechodu báze-emitor polarizovaného v propustném směru: -2 až -4 mV/stupeň (koeficient je záporný, tj. napětí s rostoucí teplotou klesá!). Při spínání a rozpínání spínače s bipolárním tranzistorem se projevují setrvačné vlastnosti tranzistoru, zejména saturační zpoždění a parazitní kapacity, především kapacita mezi bází a kolektorem tranzistoru. Záleží-li na rychlosti spínacích procesů, pak je nutno tuto kapacitu minimalizovat (zejména je nutno navrhnout konstrukční uspořádání tak, aby parazitní kapacity mezi uzlem báze a kolektoru nezpůsobily podstatné zvětšení této kapacity samotného tranzistoru) a pro zrychlení procesu rozepínání spínače je nutné zajistit odsávání proudu z uzlu báze (nejjednodušeji zapojením rezistoru mezi emitor a bázi) a volit pokud možno malou hodnotu odporu RC (čímž se zmenší časové konstanty, roste ovšem odběr z napájecího zdroje). Pravidlo nepřímé úměrnosti mezi hodnotami odporů a rychlostí však platí přesně jen u lineárních obvodů. Spínače jsou nelineární obvody a toto pravidlo zde platí jen přibližně. Hlavní zásady pro návrh rychlých spínačů jsou: • zajistit co nejmenší kapacitu mezi bází a kolektorem tranzistoru; • nezapomenout na odsávání proudu z uzlu báze při rozepínání tranzistoru (rezistor RBE);
Digitální technika
25
• volit nepříliš velkou hodnotu odporu v kolektoru. Tranzistory FET se v sepnutém stavu při nepříliš velkém protékajícím proudu chovají jednodušeji, jako rezistor s malým odporem. Pro zvětšení proudové zatížitelnosti spínače s tranzistory FET je možno použít jejich paralelního řazení bez složitějších opatření k zajištění rovnoměrného rozdělení proudu na jednotlivé tranzistory. Blíže lze tuto problematiku nastudovat z literatury [ 1 ], [ 2 ], [ 12 ] aj.
2.6 Kontrolní otázky 1) Jaké typy diod se nejčastěji používají v impulsové technice? 2) Co obvykle musíme brát v úvahu při použití stabilizačních diod? 3) Jaké znáte způsoby zrychlení spínacích procesů u bipolárních tranzistorů? 4) Jaká obvodová řešení se ke zmenšení spínacích časů nejčastěji používají? 5) Je možno řídit spínací tranzistory FET přímo z výstupů číslicových obvodů?
26
Evropský polytechnický institut s. r.o, Kunovice
3 Základní impulsové obvody Cíle kapitoly: Zopakovat a prohloubit znalosti studentů o aplikaci diod a tranzistorů v impulsových a digitálních obvodech. Seznámit je s dalšími základními obvody. K diodovým obvodům nejčastěji používaným pro úpravu a zpracování impulsových signálů patří diodové tvarovače, spínače a upínací obvody. Probrali jsme je v předmětu Elektronika. Tranzistory se v impulsových obvodech používají především ve spínačích, které jsou buď vytvořeny z diskrétních součástek, nebo jsou součástí integrovaných obvodů. Je však možné je použít i pro tvarování signálu. Test předchozích znalostí 1. Nakreslete shéma a pracovní charakteristiku oboustranného diodového okrajovače. Popište jeho činnost. 2. Nakreslete schéma a vysvětlete činnost.základního tranzistorového zesilovacího stupně se společným emitorem i
C
t
0 (a )
R u1
i
u2
u1 , u2
u1 u2
C
t
0 u
C
R t
0 (b )
u1
u
u2
u1 , u2
u1 u2
C
0
t
Obr. 3.1: Spínače analogového signálu. a) se sériově zapojeným bipolárním tranzistorem, b) s paralelně zapojeným bipolárním tranzistorem.
3.1 Tranzistorové spínače Principiální schéma zapojení paralelního a sériového spínače je nakresleno na Obr. 3.1a. Časové průběhy výstupního napětí jsou zde kresleny tak, že odpovídají ideálnímu spínači. Ve skutečnosti je nutno počítat s tím, že na tranzistoru v sepnutém stavu je saturační napětí přibližně 0,1 V. U paralelního spínače určeného pro aplikace s nízkou úrovní výkonu podle Obr. 3.1b se dříve často používalo inverzního zapojení bipolárního tranzistoru, tedy zapojení s vzájemně zaměněným kolektorem a emitorem tranzistoru, u něhož bývá saturační napětí výrazně menší než u běžného zapojení. Tam, kde je důležité, aby měl spínač v sepnutém stavu vlastnosti blízké ideálním, se dnes v těchto případech častěji používá tranzistorů řízených polem.
Digitální technika
27 i
D
uGS = 5 V uGS u1
R
4V
u2
uC
3V
0 (a )
2V uDS
(b )
Obr. 3.2: Spínač s tranzistorem MOSFET. a) zapojení, b) statické charakteristiky tranzistoru (b) V oblasti spínačů analogových signálů s nízkou výkonovou úrovní, zejména pokud žádná strana spínače není uzemněna, se dnes nejčastěji setkáme s integrovanými spínači, v nichž jsou použity tranzistory MOSFET. Principiální schéma zapojení takového spínače je nakresleno na Obr. 3.2a. V rozepnutém stavu (při nulovém řídicím napětí uC) je odpor kanálu tranzistoru velmi vysoký – řádu desítek megaohmů. V sepnutém stavu je o několik řádů menší. Nevýhodou takového zapojení spínače je, že napětí uGS tranzistoru je dáno rozdílem řídicího napětí uC a výstupního napětí spínače. Při malých hodnotách vstupního napětí spínače v sepnutém stavu je tranzistor vodivý, se zvětšující se hodnotou vstupního napětí se však napětí uGS zmenšuje, takže tranzistor představuje podle Obr. 3.2b stále větší odpor. Pro odstranění tohoto jevu se používají ve spínači dva paralelně zapojené komplementární tranzistory podle Obr. 3.3a. Závislost odporu kanálu na vstupním napětí spínače je nakreslena na Obr. 3.3b. Při malých hodnotách vstupního napětí má vyšší vodivost tranzistor T1 s kanálem typu N, tranzistor T2 s kanálem typu P je zahrazený. Při rostoucím vstupním napětí se poměr vodivostí obou tranzistorů obrací. Spínače analogových signálů zapojené podle Obr. 3.3a se vyrábějí v řadě číslicových integrovaných obvodů CMOS 4000 a v řadě 74HC. Tyto spínače jsou obousměrné, tj. nerozlišuje se u nich vstup a výstup signálu jako u jiných číslicových obvodů. Na Obr. 3.3b jsou nakresleny charakteristiky dvou z nich – spínačů 4016 a 4066. V druhém z nich jsou ještě přídavné obvody pro řízení napětí substrátu obou tranzistorů zlepšující vodivost jejich kanálu v sepnutém stavu. Charakteristiky jsou kresleny pro napětí na vývodech, která jsou v rozsahu od nuly do hodnoty napájecího napětí UDD, což je jejich přípustný rozsah obvyklý u integrovaných obvodů. Je zřejmé (viz Obr. 3.3b), že při vyšším napájecím napětí je průběh odporu kanálu v sepnutém stavu příznivější, protože napětí uGS obou tranzistorů pak má vyšší hodnotu. R ON [Ω]
UDD
300
UDD = 5 V
4066
T2
UDD = 10 V
200 u1
T1 u
4016
u2
UDD = 15 V 100
C
0 (a )
5
(b )
10
15
u1[V]
Obr. 3.3: Integrované spínače 4016 a 4066. a) Principiální zapojení, b) závislost jejich odporu na vstupním napětí v sepnutém stavu. Na stejném principu jsou založeny i analogové multiplexory (přepínače) 4051, 4052 a 4053. Uvedené typy se vzájemně liší organizací, tj. počtem přepínačů a počtem přepínaných
28
Evropský polytechnický institut s. r.o, Kunovice
kanálů v jednom pouzdru. Stejné typy jsou vyráběny i v řadě 74HC. Multiplexory jsou doplněny vývodem pro připojení záporného napájecího napětí (UEE) a mohou zpracovávat signály obojí polarity. UDD
u2 , i DD
i DD T1
u1
UDD
T2
u2
i DD
u2 0V 0
UDD
(a )
u1
(b )
Obr. 3.4: Invertor u číslicových integrovaných obvodů CMOS. a) Principiální zapojení, b) převodní a odběrová charakteristika. Komplementární tranzistory MOSFET ve funkci spínačů jsou základem dnes široce používaných číslicových integrovaných obvodů CMOS. Nejjednodušší takový obvod je invertor na Obr. 3.4. Je-li vstupní napětí invertoru blízké nulové hodnotě, je vodivý tranzistor T1 s kanálem typu P a výstup je jím připojen ke zdroji napájecího napětí. Tranzistor T2 je pak zahrazený. Při vstupním napětí blízkém napájecímu se role obou tranzistorů obrací. Sepnutý tranzistor zajišťuje nízkou výstupní impedanci obvodu, a přitom nezatížený invertor neodebírá ve statickém stavu téměř žádný proud z napájecího zdroje, pokud má vstupní napětí hodnotu blízkou nule nebo UDD. To je velká výhoda obvodů CMOS ve srovnání s jinými typy číslicových obvodů. UCC RC i
UCC RC i
on
i
B
C sepnutí
C rozepnutí
i
G
RBE
uCE off
0V (a )
0
(b )
UCC
i = 0 B
uCE
Obr. 3.5: Tranzistorový spínač s nesetrvačnou zátěží. a) Zapojení, b) názornění jeho funkce v kolektorových charakteristikách. Jestliže v zapojení na Obr. 3.1b zaměníme u1 za DC napájecí napětí a uC za napětí vstupní, dostaneme zapojení spínače na Obr. 3.5, se kterým jsme se seznámili v kap. 2.3.2 při rozboru dynamického chování tranzistoru (Obr. 2.4). Jeho význačnou vlastností je, že jeden pól spínače je uzemněn. Toto zapojení se používá velmi často v koncových stupních různých elektronických zařízení, kde se řídicí signál vytváří pomocí číslicových řídicích systémů (od jednoduchých až po velmi složité). V koncových stupních jsou obvykle důležité hodnoty proudů a napětí, které mají být spínány a které jsou zpravidla dány požadavky akčních členů, které jsou elektronickým obvodem zakončeným spínačem řízeny. Vlastnosti spínačů jsou dány především vlastnostmi tranzistorů, které byly diskutovány dříve. K úplnému posouzení vlastností spínače a k jeho návrhu je nutno ještě zvážit výkonové poměry, které jsou podstatné pro volbu typu tranzistoru a pro požadavky na jeho případné chlazení.
Digitální technika
29
Výkonovou ztrátu ve spínacím tranzistoru je možno rozdělit na složku statickou a na ztráty při přepínání. Tranzistory ve stavu zahrazení většinou můžeme považovat za dokonale rozepnuté, takže v nich nevzniká ztrátový výkon. Statická složka při aspoň přibližně konstantním proudu v sepnutém stavu je tedy převážně dána součinem saturačního napětí a stejnosměrné složky proudu protékajícího tranzistorem. Ztráty při přepínání jsou výrazně ovlivněny charakterem zátěže. Má-li zátěž setrvačný (induktivní nebo kapacitní) charakter, jsou zpravidla ztráty podstatně větší než při zátěži typu čistě činného odporu. Analýza ztrát při setrvačné zátěži přesahuje možnosti dané rozsahem tohoto kursu. Omezíme se proto na stručné posouzení poměrů ve spínači s nesetrvačnou zátěží. V kolektorových charakteristikách (Obr. 3.5b) je činnost spínače charakterizována v klidovém stavu body „on“ (zapnuto) a „off“ (vypnuto). Je-li zátěž nesetrvačná, probíhá přepínání po zatěžovací přímce mezi těmito body. Budeme předpokládat, že nenulová doba čela a týlu impulsu je způsobena výhradně setrvačnými vlastnostmi tranzistoru, tedy převážně kapacitou CCB. Statická složka střední hodnoty kolektorové ztráty je PCsat = IC . UCEsat . ti /T, ( 3.1 ) přičemž IC = UCC/RC a ti /T je poměr šířky impulsu kolektorového proudu k periodě. Ztráty při přepínání můžeme vyjádřit jako součin ztrát za jednu periodu signálu a jeho kmitočtu PCpř = WCpř . f. ( 3.2 ) Probíhá-li spínání a rozepínání po zatěžovací přímce (Obr. 3.5b) a je-li doba čela impulsu kolektorového proudu tč a doba týlu tt, je možno vyjádřit ztráty za jednu periodu přibližným vztahem WCpř = k . UCC . IC . (tč + tt). ( 3.3 ) Aproximujeme-li exponenciální průběhy proudu ic a napětí uCE přímkami, můžeme snadno odvodit hodnotu konstanty k = 1/6 ≈ 0,167. Střední hodnota kolektorové ztráty je pak dána vztahem PC = UCC /RC . [UCEsat . ti /T + 0,167 . UCC . (tč + tt) . f ] . ( 3.4 ) Doba čela i týlu závisí na hodnotě odporu RC jen velmi málo. Kolektorová ztráta je nepřímo úměrná hodnotě tohoto odporu. Na napětí UCC závisí ztráta výrazně, zejména její dynamická složka je úměrná druhé mocnině napětí. Proto tam, kde jsou ztráty kritickým parametrem, je vhodné volit co nejmenší hodnotu napájecího napětí. Snižování ztrát je jedním z důvodů snahy po zmenšování napájecího napětí. To je dnes patrné u všech nových řad číslicových integrovaných obvodů CMOS. Je-li zátěž spínače induktivní, je situace mnohem složitější. Protože proud v indukční cívce není možno přerušit skokově, je nutno tranzistor chránit proti napěťové špičce při rozepnutí spínače, která by jinak tranzistor mohla poškodit. Pro ochranu se často používá ochranná dioda D podle Obr. 3.6. Je-li časová konstanta L/RL velká, je nutno počítat s pomalým poklesem proudu v cívce L. Přesto je vypínací proces spínače kritický z hlediska spolehlivé funkce tranzistoru. Pohyb pracovního bodu v kolektorových charakteristikách při vypnutí zabíhá do oblasti vysokých hodnot kolektorové ztráty, protože tranzistorem teče plný proud až do té doby, kdy napětí na kolektoru překročí napájecí napětí, kdy proud převezme ochranná dioda. U spínačů s velkými proudy se proto používají různé další ochranné obvody, které podmínky při vypnutí činí pro tranzistor příznivějšími.
30
Evropský polytechnický institut s. r.o, Kunovice UCC
L
D
RL
i
G
RBE 0V
Obr. 3.6: Tranzistorový spínač s induktivní zátěží a s ochrannou diodou. Má-li zátěž kapacitní charakter, dochází naopak při spínání tranzistoru k velkým proudovým špičkám, které mohou rovněž ohrozit tranzistor. V případě potřeby je nutno tyto špičky omezit například vřazením ochranných rezistorů. Nejdůležitější poznatky pro konstrukci tranzistorových spínačů, které byly formulovány v kapitole 2.3, můžeme shrnout takto: • napětí báze-emitor bipolárního tranzistoru v saturaci bývá v rozsahu od 0,6 V až do několika voltů (závisí na proudu kolektoru); • saturační napětí kolektor-emitor bývá pro malé proudy kolektoru (o jeden nebo více řádů menší než jeho mezní hodnota) značně menší než napětí báze-emitor, obvykle jedna až dvě desetiny voltu, což umožňuje přímou vazbu mezi spínacími stupni. Pro proudy srovnatelné s mezní hodnotou však toto napětí může být až několik voltů; • proudový zesilovací činitel na hranici nasycení při velkých proudech kolektoru bývá řádově menší než jeho hodnota v aktivní oblasti, a určuje výkonové poměry v budicím obvodu báze. Má-li spínání probíhat rychle, je důležité zajistit malé hodnoty časových konstant. Dodržet tedy co nejmenší kapacitu CCB mezi uzlem kolektoru a báze a také CCE mezi uzlem kolektoru a emitoru. Volit pokud možno malou hodnotu odporu RC, a zajistit odsávání proudu z uzlu báze při vypnutí spínače. Toho lze dosáhnout volbou dostatečně malé hodnoty odporu RBE. Nejdůležitější je zde splnit požadavky týkající se kapacity CCB a odporu RBE, které rychlost spínání ovlivňují nejvýrazněji. UCC RC
b VST a
Rs
IO D
c
c
0V
Obr. 3.7: Ochrana vstupu IO proti proniknutí nebezpečného napětí. Tranzistor v zapojení shodném se zapojením spínače je možno použít i ve funkci tvarovače signálu, který zaručí, že signál nevybočí z rozsahu vymezeného nulovým a napájecím napětím. To bývá často žádoucí pro ochranu vstupů navazujících integrovaných obvodů (IO). Zapojení je na Obr. 3.7. Rezistor Rs společně spolu s diodou D a přechodem báze-emitor tranzistoru tvoří pasivní oboustranný okrajovač, který zajistí, že se ze vstupní brány a-c na vstup (VST) IO (b-c) nemůže dostat nebezpečné napětí.
Digitální technika
31
Tranzistorové spínače se často používají v integrovaném provedení, a jsou také základem číslicových obvodů a dalších integrovaných obvodů se spínací funkcí. Výkonové ztráty v tranzistorových spínačích pracujících s většími proudy a napětími jsou působeny zejména saturačním napětím sepnutých tranzistorů a výkonovými impulsy vznikajícími při spínání a rozepínání, které jsou, zhruba řečeno, přímo úměrné době trvání těchto procesů, a přirozeně také spínaným hodnotám napětí a proudu.
3.2 Zesilovače impulsových signálů Zesilovače impulsových signálů je možno vytvořit z diskrétních součástek nebo z integrovaných obvodů, nejčastěji z operačních zesilovačů. Vlastnosti obou typů zesilovačů jsou probírány v jiných kursech, takže zde je nebudeme podrobně rozvádět. Stručně se zde zmíníme o parametru operačních zesilovačů důležitém pro impulsové signály - o rychlosti přeběhu výstupního napětí (slew rate). Tato rychlost je projevem nelineárního charakteru vnitřních prvků operačního zesilovače, obvykle tranzistorových zesilovacích stupňů, jejichž zátěž má kapacitní charakter. Zátěž s nejvýraznějším kapacitním charakterem je obvykle spojena s prvky úmyslně zavedenými do struktury zesilovače pro dosažení vhodného průběhu kmitočtové charakteristiky (mohou to být jak vnitřní, tak přídavné vnější kapacitory). Při zesilování signálu se strmými hranami se tyto kapacitory nemohou přebíjet skokově, protože proud dodávaný do nich příslušnými tranzistory je omezen. Připomeňme rychlost přeběhu běžných typů operačních zesilovačů: uA 741, 748 má 1 V/µs, LM 355 má 5 V/µs, LM 357 má 50 V/µs. Existují však i operační zesilovače s rychlostí přeběhu řádu stovek až tisíců V/µs. Dalším parametrem důležitým při zpracování impulsových signálů bývá rozkmit výstupního napětí. Běžné bipolární operační zesilovače mají tento rozkmit typicky o 2 až 4 V menší než je rozsah mezi kladným a záporným napájecím napětím (zaručované hodnoty rozkmitu jsou ještě výrazně menší). To je způsobeno výstupními obvody, jejichž tranzistory (silně zjednodušeně řečeno) potřebují ke správné funkci určitý proud báze, který nelze dodat bez jisté napěťové rezervy. Důležitý bývá také rozsah souhlasného vstupního napětí, kdy je zaručena správná funkce zesilovače. U bipolárních operačních zesilovačů je tento rozsah obvykle podobný jako rozkmit výstupního napětí. Existují také operační zesilovače typu „rail-to-rail“, u nichž rozsah vstupního nebo výstupního napětí, popřípadě obou, sahá téměř k hodnotě obou napájecích napětí (tj. kladného i záporného). Nejčastější je to u operačních zesilovačů v provedení CMOS, např. LMC 660, TLC 274 apod. mají takový rozkmit výstupního napětí při malé zátěži, při větším zatížení se tento rozsah zmenšuje. Vstupní napěťový rozsah těchto zesilovačů může zahrnovat i záporné napájecí napětí a tedy při napájení z jednoho zdroje hodnotu vstupního napětí 0 V. Mají vysoký vstupní odpor, což umožňuje použít velké odpory a malé kapacity v síti zpětné vazby. Zesilovače s podobnými vlastnostmi však můžeme najít i mezi bipolárními zesilovači. Velmi rychlé jsou operační zesilovače s proudovou zpětnou vazbou (např. LH 4117 a LH 4118). Mají nízkoimpedanční invertující vstup a jejich zapojování do obvodu zpětné vazby má určité odlišnosti od způsobů zapojování běžných operačních zesilovačů. Rychlost přeběhu některých typů těchto operačních zesilovačů dosahuje až tisíců V/µs. Podrobné informace o zesilovačích můžete nalézt například v [ 12 ] nebo [ 13 ].
32
Evropský polytechnický institut s. r.o, Kunovice
3.3 Napěťové komparátory Napěťové komparátory jsou obvody, které porovnávají vstupní napětí s určitou referenční hodnotou a podle výsledku porovnání dávají na výstupu signál typu sepnuto – rozepnuto. Vstupní napětí komparátoru se může měnit spojitě, při jeho průchodu referenční hodnotou (rozhodovací úrovní) se mění výstupní hodnota skokově mezi dvěma hodnotami. Komparátor tak často tvoří rozhraní mezi analogovou a číslicovou částí systému. Podle způsobu vytvoření referenční hodnoty napětí můžeme komparátory rozdělit na dvě skupiny: • komparátory s nesymetrickým vstupním obvodem (s jedním vstupem) – takový komparátor porovnává vstupní napětí s napětím vytvořeným uvnitř komparátoru, • komparátory se symetrickým vstupním obvodem (diferenční) - porovnávají vzájemně dvě vstupní napětí, z nichž jedno můžeme považovat za referenční, můžeme však také obě chápat jako rovnocenná vstupní napětí. 3.3.1
Princip funkce
Základem komparátoru je zesilovač s tak velkým zesílením, aby část jeho charakteristiky, kde pracuje jako aktivní prvek, byla dostatečně úzká, aby bylo možno její šířku zanedbat. Na rozdíl od zesilovačů impulsových signálů, jejichž dominantní pracovní oblastí je aktivní oblast, tedy oblast, v níž je vstupní signál zesilován, je dominantní pracovní oblastí u zesilovačů používaných v komparátorech oblast nasycení nebo zahrazení aktivních prvků, kde se tedy výstupní napětí komparátoru nemění při malých změnách vstupního napětí. Tato skutečnost se projevuje v poněkud jiných požadavcích na zesilovač, a proto konstrukční řešení zesilovačů používaných v komparátorech, tzv. komparačních zesilovačů, bývá do jisté míry odlišné od konstrukčního řešení zesilovačů určených pro zesilování impulsových (nebo jiných) signálů. Aktivní oblastí prochází komparační zesilovač pouze při průchodu vstupního napětí referenční úrovní a jeho delší setrvání v této oblasti je většinou nežádoucí. Při pomalém průchodu aktivní oblastí může vlivem parazitních zpětných vazeb dojít k rozkmitání komparátoru, pokud nejsou provedena opatření k tomu, aby se rozkmitání vyloučilo. Nejčastějším takovým opatřením je zavedení kladné zpětné vazby v komparátoru, což má za následek vznik hystereze na převodní charakteristice komparátoru. Kladná zpětná vazba může být zavedena vnějšími součástkami (zpravidla rezistory), což je obvyklé u starších typů komparačních zesilovačů, nebo uvnitř pouzdra (např. u integrovaného obvodu AD 790), které tak představuje úplný integrovaný komparátor. Komparátory bez zpětné vazby se nazývají také komparátory s jednou rozhodovací úrovní, komparátorům s hysterezí se pak říká komparátory se dvěma rozhodovacími úrovněmi. 3.3.2
Jednoduché komparátory s diskrétními tranzistory
Nejjednodušším komparátorem může být prostý tranzistorový zesilovač nebo spínač na Obr. 3.8. Rozhodovací úroveň je dána prahovou hodnotou napětí báze-emitor tranzistoru, Uγ ≈ 0,65 V. Dioda D chrání tento přechod před průrazem při záporných hodnotách vstupního napětí. Napěťové zesílení není vysoké, může mít hodnotu několika desítek. Tomu odpovídá značná šířka aktivní oblasti (až několik desetin voltu), což je nevýhodou tohoto zapojení. Nehrozí zde však rozkmitání obvodu, je-li vstupní napětí v této oblasti. Komparátor podle Obr. 3.8 je vhodný pro velké vstupní signály, kde je přechodový úsek převodní charakteristiky zanedbatelný a nevadí teplotní závislost napětí na přechodu báze-emitor. Prochází-li však vstupní napětí přechodovým úsekem pomalu, mění se i výstupní napětí spojitě, což někdy může být na závadu.
Digitální technika
33 UCC
u2
RC
UCC
Rs u1
u2
D
0V 0
(a )
Uγ
u1
(b )
Obr. 3.8: Tranzistorový zesilovač jako komparátor. a) zapojení, b) jeho převodní charakteristika. Větší zesílení má komparátor s dvoustupňovým zesilovačem na Obr. 3.9. Zde však vzniká nebezpečí rozkmitání obvodu vlivem parazitních jevů. To je možno odstranit zavedením kladné zpětné vazby rezistorem Rv. Je-li zpětná vazba dostatečně silná, je zesílení v aktivní oblasti záporné (otáčí fázi), čemuž odpovídá na Obr. 3.9b část charakteristiky kreslená tečkovaně. Tato část charakteristiky je nestabilní, což způsobí vznik hystereze. Plně je nakreslena charakteristika pro Rv = ∞, čárkovaně pro konečnou hodnotu odporu Rv. Změny stavu výstupního napětí jsou pak skokové bez ohledu na rychlost změny vstupního napětí. Nevýhodou je opět značná teplotní závislost rozhodovacích úrovní odpovídající teplotní závislosti napětí na bázi prvního tranzistoru. Komparátory s diskrétními tranzistory se používají jen v nejjednodušších zapojeních. I když by bylo možné vytvořit tímto způsobem dokonalejší zapojení, používají se dnes pro tyto účely prakticky výhradně integrované obvody určené pro stavbu komparátorů – komparační zesilovače. UCC RC1
Rv
RC2 UCC
Rs u1
u2
u2
D
0V (a )
0
Uγ
(b )
u1
Obr. 3.9: Dvoustupňový zesilovač jako komparátor. a) zapojení, b) převodní charakteristika 3.3.3
Komparátory s komparačními zesilovači
Teplotní závislosti rozhodovacích úrovní se výrazně sníží při použití diferenčního stupně na vstupu zesilovače, kde se změny napětí báze-emitor obou vstupních tranzistorů vzájemně kompenzují. Typické zapojení je nakresleno na Obr. 3.10, které odpovídá známému integrovanému komparačnímu zesilovači LM 311. Za vstupním diferenčním stupněm následuje další diferenční zesilovač převádějící signál do nesymetrické formy a výstupní budič, který má vlastnosti tranzistoru s otevřeným kolektorovým i emitorovým výstupem (ve skutečnosti je jeho zapojení složitější). U zmíněného typu komparačního zesilovače je pracovní rozsah vstupních napětí od UCC- + 0,5 V do UCC+ - 1,5 V. Je-li UCC- = 0 V, je nulová úroveň mimo tento rozsah. Pokud potřebujeme, aby komparátor s tímto zesilovačem zpracovával i napětí v okolí této úrovně, je nutno použít záporného napájecího napětí. Jinak takový komparátor může být napájen i z jediného zdroje, např. +5 V. Modernější
34
Evropský polytechnický institut s. r.o, Kunovice
komparační zesilovače, např. LM 2901, tuto nevýhodu nemají a při jediném napájecím zdroji zahrnuje jejich pracovní rozsah vstupních napětí i nulovou úroveň. Povšimněme si, že vstupní tranzistory jsou typu PNP, takže vstupní proudy jsou záporné. U CC+ i
U CC+
OUT
u1+ u1-
EE
u1+ u1-
OUT
U CC-
(b )
GND
U CC+ u1+
GND
OUT
u1-
UCC-
GND
(a )
(c )
U CC-
Obr. 3.10: Komparační zesilovač LM 311. a) Vnitřní struktura, b) zjednodušené schéma, c) schematická značka. Příklad zapojení komparátoru s komparačními zesilovači běžných typů je nakreslen na Obr. 3.11 Výrazy pro rozhodovací úrovně U1HL a U1LH získáme vyjádřením hodnoty napětí na neinvertujícím vstupu komparačního zesilovače pro obě možné hodnoty výstupního napětí, protože ke změně stavu výstupu dochází při rovnosti napětí na obou jeho vstupech. Je zřejmé, že tyto úrovně můžeme vcelku snadno ovlivnit hodnotami odporů použitých rezistorů. Komparátor podle Obr. 3.11 má invertující charakter. Snadno můžeme získat i neinvertující typ, jestliže zpětnou vazbu zapojíme podobně jako v Obr. 3.9 a invertující vstup komparačního zesilovače připojíme na dělič napětí mezi UCC+ a zem, případně mezi UCC+ a UCC-. Rozhodovací úrovně jsou zde ovlivněny zátěží, což někdy může vadit. Zapojení výstupního stupně s otevřeným kolektorem je u integrovaných komparačních zesilovačů nejběžnější. Toto zapojení umožňuje připojení číslicových obvodů různých typových řad s různým napájecím napětím. Dvojčinné výstupy mají některé, zejména rychlé typy komparačních zesilovačů, určené pro spolupráci s číslicovými obvody určité konkrétní řady. Například komparační zesilovač LT 1016 s dobou sepnutí 10 ns má dvojčinný výstup kompatibilní s řadou TTL 74. U CC+ R1
u2
RC
R2 U CC + R 2 + R1 & ( R v + R C ) R2 & Rv = U CC + R 2 & R v + R1
U 1HL = U 1LH
Rv
U CC+ u2
u1 R2 0V
U CC-
(a )
0
U 1LH
U 1HL
u1
(b )
Obr. 3.11: Komparátor s koparačním zesilovačem. a) typické zapojení, b) převodní charakteristika. Místo komparačního zesilovače lze v komparátoru použít i operační zesilovač (OZ). Běžné OZ však nejsou určeny pro provoz, kde jejich výstupní napětí opouští lineární rozsah. Při návratu z nasycení do lineární oblasti se u mnoha z nich projevuje značné saturační
Digitální technika
35
zpoždění, které není specifikováno výrobcem. Proto se nedoporučuje používat OZ v komparátorech tam, kde záleží na rychlosti reakce obvodu (a to je ve většině aplikací), není-li výrobcem výsloveně stanoveno, že jsou pro toto použití vhodné. Pak u nich bývá specifikováno i saturační zpoždění. Někdy však může být výhodné, že operační zesilovače mají dvojčinný výstup. u2
U CC+ u1
U 2+ U CC+
u2
R2 U 2+ R1 + R2 R2 = U 2− R1 + R2
U 1HL = U 1LH
R1
U CC-
U1LH 0
U 1HL
u1
U 2-
R2 U CC-
0V
(a )
(b )
Obr. 3.12: Komparátor s operačním zesilovačem. a) zapojení, b) převodní charakteristika. Další nevýhodou běžných operačních zesilovačů pro použití v komparátorech je, že jejich výstupní napětí U2+, U2- v saturaci jsou dosti vzdálena od napájecích napětí, typicky 2 až 3 V. Tato vzdálenost nebývá v katalogu přesně specifikována a může se měnit s teplotou, zatížením apod. Tato nepřesnost způsobuje podobnou nepřesnost hodnot rozhodovacích úrovní vstupního napětí, jak vyplývá z výrazů na Obr. 3.12. Pokud je tato nepřesnost nepřípustná, je nutno stabilizovat výstupní napětí operačního zesilovače například pomocí stabilizačních diod. Elegantnějším řešením je použít operačních zesilovačů typu „rail-to-rail“ s rozkmitem výstupního napětí blízkým hodnotám napájecích napětí. U CC u2
R3 u2 T1
T2
U CC
R1
u1 R2 R4 0V
(a )
0 T1 : zahrazen
aktivní
u1
nasycen
(b )
Obr. 3.13: Schmittův klopný obvod. a) zapojení, b) převodní charakteristika. Ve funkci komparátoru může být použit i tzv. Schmittův klopný obvod. Zapojení tohoto obvodu získáme, nahradíme-li v Obr. 3.12 operační zesilovač diferenčním tranzistorovým zesilovačem tak, jak je uvedeno na Obr. 3.13. Hodnoty odporů v tomto obvodu je možno zvolit tak, že oba tranzistory pracují střídavě v aktivní oblasti a v oblasti zahrazení, takže nedochází k saturačnímu zpoždění a spínací časy jsou velmi malé. Jen při velkých hodnotách vstupního napětí přechází tranzistor T1 do saturace. Výstupní napětí v úrovni L pak je ovlivněno úbytkem napětí na emitorovém rezistoru, takže je větší než u komparátorů dříve uvedených. Zařadí-li se do kolektoru tranzistoru T2 rezistor, může být výstupní napětí
36
Evropský polytechnický institut s. r.o, Kunovice
odebíráno odtud. U tohoto klopného obvodu (Obr. 3.13) je nebezpečí vzniku zákmitů při průchodu vstupního napětí rozhodovací úrovní, mění-li se toto napětí pomalu a má-li zdroj vstupního napětí vyšší vnitřní odpor. Proto může být účelné přidat do obvodu báze tranzistoru T1 dělič napětí nebo aspoň rezistor mezi bázi a zem nebo napájecí napětí snižující tuto náchylnost. V technice integrovaných obvodů se často používá zjednodušené zapojení Schmittova klopného obvodu, kde je báze tranzistoru T2 připojena přímo ke kolektoru tranzistoru T1 a dělič je vypuštěn. Výstup je vyveden z kolektoru tranzistoru T2. Převodní charakteristika má pak tvar odpovídající neinvertujícímu zesilovači. Zapojení upraveného obvodu je nakresleno na Obr. 3.14 Obvody tohoto druhu najdeme ve vstupech číslicových integrovaných obvodů TTL jako 7414, 74132 a dalších. Dioda D a rezistor R6 snižují nebo přímo odstraňují náchylnost obvodu k rozkmitání při pomalu se měnícím vstupním napětí a upravují vstupní charakteristiku obvodu na tvar obvyklý u jiných integrovaných obvodů TTL. UCC R6
R5
R3
u2
T2 T1 u1 D R4
0V
Obr. 3.14: Zapojení Schmittova KO pro integrované obvody. Označení Schmittův klopný obvod se původně používalo pro zapojení se zpětnou vazbou zavedenou společným emitorovým rezistorem, jako to je v. obvodech na Obr. 3.13 a Obr. 3.14. Často se však toto označení používá pro jakýkoliv obvod s převodní charakteristikou, která obsahuje hysterezi. Dvojice komparátorů, jejichž výstupní napětí jsou jako logické veličiny zpracována součinovým obvodem, představuje okénkový komparátor na Obr. 3.15a. Na výstupu součinového obvodu je napětí s úrovní H, je-li vstupní napětí v rozsahu od Ur1 do Ur2. Na podobném principu pracuje obvod zapojený podle Obr. 3.15b, který je možno nazvat přesný komparátor s hysterezí. Výstupní signály z dvojice komparátorů jsou zpracovány klopným obvodem RS (podrobnější popis funkce klopného obvodu RS bude uveden později). Tvar převodní charakteristiky tohoto typu komparátoru je podobný jako na Obr. 3.11b. Tento komparátor (Obr. 3.15b) však neinvertuje a rozhodovací úrovně jsou dány referenčními napětími Ur1 a Ur2 a nejsou na rozdíl od zapojení na Obr. 3.11 ovlivněny zátěží. U r2
U r2 & &
u1
u2
u1 &
0V
0V
U r1 (a )
U r1 (b )
Obr. 3.15: Komparátory. a) Okénkový komparátor, b) přesný komparátor s hysterezí.
u2
Digitální technika
37
Přesný komparátor s hysterezí se vyrábí v integrovaném provedení pod označením časovač 555. V zapojení odpovídajícím Obr. 3.15b může být použit jako komparátor s poměrně dobře definovanými prahovými úrovněmi vstupního napětí. Často se používá pro vytváření monostabilních a astabilních klopných obvodů, podrobnější údaje budou ještě uvedeny v příslušné kapitole. Časovač 555 je určen především pro aplikace s nižšími kmitočty, jako generátor pravoúhlých signálů může pracovat až do kmitočtů řádově stovek kHz. O jeden až dva řády rychlejší obvod podobného typu je NE 521. Další informace o komparátorech lze nalézt v literatuře [ 5 ], [ 12 ], [ 13 ] aj. 3.3.4
Shrnutí kapitoly
Komparátory s nesymetrickým vstupem mají obvykle nepříliš stálé rozhodovací úrovně. Ty jsou závislé na teplotě a na dalších veličinách, jako jsou parametry vstupních tranzistorů. U komparátorů se symetrickým vstupem jsou tyto závislosti potlačeny diferenčním vstupním zapojením. V praxi se pro stavbu komparátorů používají nejčastěji speciální integrované obvody – komparační zesilovače. Ty jsou optimalizovány na použití v komparátorech, kde je výstup převážně v některé z krajních úrovní (tranzistory v oblasti nasycení nebo zahrazení), na rozdíl od zesilovačů, které pracují v aktivní oblasti. V katalozích se pro ně udávají parametry, které jsou důležité pro spínací aplikace, na rozdíl od operačních zesilovačů, které jsou obvykle určeny pro činnost (zesilování) v aktivní oblasti a především pro takové aplikace se u nich uvádějí příslušné údaje. U komparátorů s jednou rozhodovací úrovní (bez hystereze) je nebezpečí rozkmitání komparátoru, setrvá-li vstupní napětí v blízkosti této úrovně po nezanedbatelnou dobu. Zavedením hystereze (kladnou zpětnou vazbou) se toto nebezpečí sníží. Je-li vznik zákmitů nepřijatelný, je nutno zajistit určitou minimální rychlost změny vstupního napětí v blízkosti rozhodovacích úrovní, případně učinit další konstrukční opatření.
3.4 Kontrolní otázky 1) Vysvětlete hlavní rozdíly mezi komparačním a standardním operačním zesilovačem. 2) Jaký je účel hystereze u komparátorů? 3) V kterých případech může být účelné použít v komparátoru místo komparačního zesilovače operační zesilovač? 4) Načrtněte a zdůvodněte průběh závislosti odporu na vstupním napětí u jednoduchého spínače s MOSFETem na obr. 2.2? 5) Bylo by možno použít tranzistor s kanálem typu N, místo tranzistoru s kanálem typu P (T1) v Obr. 2.4?
38
Evropský polytechnický institut s. r.o, Kunovice
4 Klopné obvody Cíle kapitoly: Seznámit čtenáře s rozdělením, funkcí, nejdůležitějšími vlastnostmi a obvodovým řešením klopných obvodů. Tyto poznatky jsou pro jednoduchost demonstrovány na zapojeních klopných obvodů s diskrétními tranzistory, a jako typický příklad integrovaného obvodu určeného pro vytváření klopných obvodů je v závěru kapitoly uveden časovač 555. Test předchozích znalostí 1. Definujte pojmy generátor, oscilátor multivibrátor a klopný obvod. 2. Jaké druhy klopných obvodů znáte?
4.1 Princip a dělení Klopné obvody (KO) jsou obvody, které se mohou nacházet ve dvou stabilních rovnovážných stavech, v nichž se obvodové veličiny (napětí, proudy) v obvodu nemění. Tyto stavy mohou být stabilní trvale, tj. obvod z takového stavu přejde do druhého stavu jen na vnější podnět, nebo dočasně, kdy obvod po uplynutí určité doby dané jeho konstrukcí přejde do druhého stavu samovolně. Stav obvodu, kdy se obvodové veličiny mění (při přechodech mezi stabilními stavy), označujeme za nerovnovážný. Kromě těchto dvou stabilních stavů existuje v klopných obvodech ještě nestabilní rovnovážný stav, z něhož se však obvod při sebemenší výchylce vzdálí a přejde do některého z obou stabilních stavů. Podle charakteru stabilních rovnovážných stavů se KO dělí na: • bistabilní KO - oba stavy jsou stabilní trvale, • monostabilní KO - jeden stav je trvale stabilní, druhý je stabilní jen dočasně, • stabilní KO - oba stavy jsou dočasně stabilní. Monostabilní a astabilní KO vytvářejí impulsy s časovými parametry danými jejich konstrukcí, a jsou tedy schopny odměřovat čas. Bistabilní KO reagují okamžitě na vstupní podnět a čas neodměřují, jsou však schopny impulsy počítat a rozšiřovat tak schopnosti obvodů odměřujících čas. Základem KO je zesilovač s kladnou zpětnou vazbou. Zesilovač může být vytvořen z různých prvků. Může to být dvojice jednoduchých tranzistorových zesilovacích stupňů. Samotný jeden stupeň nestačí - neumožňuje vytvořit smyčku kladné zpětné vazby. Nebo jeden zesilovací stupeň a transformátor pro vytvoření kladné zpětné vazby (klopný obvod tohoto druhu se nazývá blokovací generátor) a pod. V číslicové technice se často používají klopné obvody vytvořené z dvojice invertorů nebo logických prvků s podobným chováním. S KO vytvořenými z diskrétních tranzistorů se dnes v praxi setkáme jen výjimečně. Použijeme je však jako příklady pro vysvětlení principů činnosti KO, které dnes bývají konstruovány na základě různých typů integrovaných obvodů. Na konci této kapitoly uvedeme několik zapojení s integrovaným obvodem používaným patrně nejčastěji pro tento účel, a to s časovačem 555. Klopné obvody používané v číslicové technice budou podrobně probrány v kapitolách věnovaných této technice.
4.2 Bistabilní klopný obvod Tento obvod může být složen ze dvou zesilovacích stupňů se stejnosměrnou vazbou. Aby jej bylo možno řídit, je nutno vytvořit v něm řídicí vstupy, které mohou být realizovány
Digitální technika
39
různými způsoby. Jedna z možností je naznačena na Obr. 4.1a, kde je nakresleno tradiční zapojení obvodu s tranzistorovými zesilovacími stupni T1, T2, k nimž jsou připojeny řídicí tranzistory Ta1, Ta2. Obvod má dva výstupy, z nichž jeden s napětím uq můžeme pokládat za hlavní a vzhledem k jeho řízení pak označujeme jeden ze vstupů za vstup nastavovací (SET), druhý za nulovací (RESET). Odpovídající vstupní napětí jsou označena us, ur. Z hlediska logického významu představují oba tranzistory každé poloviny obvodu (zesilovač a příslušný řídicí tranzistor) invertory a jejich propojené kolektory obvod pro realizaci logického součinu. Podle DeMorganova pravidla můžeme logický součinový obvod s invertovanými vstupy nahradit obvodem NOR, tj. součtovým obvodem s invertovaným výstupem. Logickou funkci obvodu pak můžeme vyjádřit logickým schématem podle Obr. 4.1b. Zde jsou na vstupech a výstupech značky logických proměnných s, r, q, q* místo značek napětí. Obvod pak představuje jednobitovou paměť, v níž je uložena informace, která ze vstupních proměnných byla naposled aktivní. Omezíme-li možné hodnoty vstupních proměnných tak, že vyloučíme možnost, kdy by obě byly současně aktivní, je výstupní proměnná q* inverzí proměnné q. Ve skutečnosti však není závažný důvod, proč by v zapojení podle Obr. 4.1b musely vstupní proměnné uvedené omezení respektovat, nepokládáme-li za takový důvod nutnost samostatného označení obou veličin q, q* místo jediné q, s níž při tomto omezení vystačíme.
RC1
u*q
RB2
RB1
UCC
s
1
q*
uq
r
1
q
ST
q /q
RC2
us
ur Ta1
T1
T2
Ta2
(a )
0V
(b ) s r
R
(c )
Obr. 4.1: Bistabilní klopný obvod s řídicími tranzistory. a) Zapojení, b) logické schéma, c) značka. V logických schématech se pro celý KO používá značka podle Obr. 4.1c. Není-li vnitřní struktura obvodu podrobněji specifikována, například doprovodným textem, předpokládá se obvykle, že vstupní proměnné u obvodu kresleného touto značkou nejsou současně aktivní. Podrobnější diskusi uvedeme v kap. 9 věnované číslicovým obvodům. Srovnáme-li bistabilní KO z Obr. 4.1 se zapojením komparátoru podle Obr. 3.9 zjistíme, že zapojení jsou velmi podobná. Je-li v komparátoru zavedena dostatečně silná kladná zpětná vazba, chová se komparátor skutečně jako bistabilní KO, pouze způsob řízení je odlišný. Bistabilní KO jsou součástí mnoha integrovaných obvodů. Jako samostatné integrované obvody jsou vyráběny a široce používány ve známých řadách číslicových integrovaných obvodů. Jednotlivé typy se zde vzájemně liší zapojením přídavných řídicích obvodů, případně v jiných detailech. Bistabilní KO zde představuje jednobitový paměťový prvek. Na použití skupin těchto obvodů jsou založeny složitější sekvenční integrované obvody jako registry, čítače a další.
4.3 Monostabilní klopný obvod V bistabilních KO je vždy smyčka kladné zpětné vazby zapojena tak, že přenáší stejnosměrnou složku signálu (viz. Obr. 4.1). Dáme-li do této smyčky článek přenášející
40
Evropský polytechnický institut s. r.o, Kunovice
pouze střídavou složku, dostaneme monostabilní nebo astabilní KO. Zařadíme-li derivační článek RC do vazby mezi kolektorem tranzistoru T1 a bází tranzistoru T2, pak z Obr. 4.1, dostaneme klasické zapojení tranzistorového monostabilního KO na Obr. 4.2a. Spouštění tohoto obvodu může být uspořádáno jako u bistabilního KO tranzistorem Ta1. Je zřejmé, že v klidovém stavu teče rezistorem RB2 do báze tranzistoru T2 proud ze zdroje napájecího napětí, takže tento tranzistor je v klidovém stavu sepnutý a tranzistor T1 je zahrazený. Aby byl v klidu tranzistor T2 skutečně nasycený, musí platit (symboly β1, β2 značíme proudové zesilovací činitele tranzistorů) ( 4.1 ) RB2 < β2 RC2. Doba trvání impulsu je dána dobou, za kterou napětí na bázi tranzistoru T2 ze své počáteční hodnoty po spuštění (uBEsat - UCC) dosáhne hodnoty, při níž se tranzistor T2 sepne. Z časových průběhů napětí na Obr. 4.2b vyplývá snadným výpočtem přibližný výraz pro tuto dobu (lze-li zanedbat napětí mezi bází a emitorem sepnutého tranzistoru proti napájecímu napětí): ti = RB2C ln 2.
( 4.2 )
Podmínkou pro platnost tohoto vztahu je, aby v době trvání impulsu byl tranzistor T1 nasycen. To je zajištěno, platí-li RB1 + RC2 < β1 RC1.
( 4.3 )
Pokud by vztah (4.3) nebyl splněn, byla by doba impulsu ti závislá na proudovém zesilovacím činiteli β1, což je zpravidla nežádoucí. uC1
0
t
ti uBEsat
0 uB2
UCC RC1
RC2
RB2 C
RB1
t uBEsat - UCC
uB1
u q = u C2
0
us
ti
t
ti
t
uC2
T a1
T1
T2
0V
a)
0
b)
Obr. 4.2: Monostabilní klopný obvod s tranzistory. a) Zapojení se spouštěcím tranzistorem, b) časové průběhy napětí. Z Obr. 4.2 je vidět, že napětí na kolektoru tranzistoru T1 po skončení impulsu nepřejde do neustálené hodnoty okamžitě, ale blíží se k ní exponenciálně. Pokud by přišel nový spouštěcí impuls v době, kdy se toto napětí ještě neustálilo, nezačínal by vzestup napětí báze z hodnoty (uBEsat - UCC), ale z hodnoty vyšší, takže doba impulsu by byla zkrácena, případně by nový impuls nemusel vůbec být spuštěn. V praxi často v takovém případě dochází ke zkrácení každého druhého impulsu. Obvykle není takové chování obvodu přípustné. Proto k novému spuštění nesmí dojít po skončení impulsu za dobu kratší, než odpovídá tzv. době zotavení obvodu. Během trvání impulsu jsou u běžných monostabilních KO, jako je obvod z Obr. 4.2, případné spouštěcí impulsy ignorovány. Doba zotavení je několikanásobkem časové
Digitální technika
41
konstanty exponenciály, podle níž se napětí na kolektoru tranzistoru T1 ustaluje. Z Obr. 4.2 je zřejmé, že tato časová konstanta má hodnotu RC1C. V některých aplikacích jsou užitečné tzv. znovuspustitelné monostabilní KO. Ty jsou charakterizovány náčrtkem na Obr. 4.3. Spouštěcí impulsy jsou zde naznačeny symbolicky bez uvažování jejich skutečné šířky. Přijde-li u takového obvodu nový spouštěcí impuls ještě v době, kdy trvá předcházející výstupní impuls, začne se od tohoto okamžiku počítat nová doba trvání impulsu. I u znovuspustitelného monostabilního KO obvykle existuje doba zotavení, která však zde představuje požadavek, aby k opětnému spuštění nedošlo dříve než za určitou dobu po předcházejícím spuštění, tedy nikoli po skončení předcházejícího impulsu. Pokud doba zotavení není dodržena, obvykle to má za následek, že obvod není znovu spuštěn (předcházející impuls je dokončen bez ovlivnění dalším předčasně přišlým spouštěcím impulsem). Detaily chování obvodu však závisí na jeho zapojení a mohou se více či méně odlišovat od uvedeného popisu. Monostabilní KO se používá nejčastěji tam, kde je potřebné vytvořit impulsy konstantní šířky, jejichž začátek je určen jiným impulsovým signálem. Dnes se používají především monostabilní klopné obvody v integrovaném provedení. K nejznámějším patří v řadách číslicových integrovaných obvodů typy 74221, 4046 (s normálním spouštěním) a 74123 (znovuspustitelný). Pro realizaci MKO se často také používá integrovaný časovač 555. spouštěcí impulsy
t výstup
ti
t
ti
Obr. 4.3: Časové průběhy ve znovuspustitelném MKO.
4.4 Astabilní klopný obvod Astabilní KO získáme z bistabilního, nahrazením obou stejnosměrných vazeb mezi kolektory a bázemi tranzistorů vazbami nepřenášejícími stejnosměrnou složku (články CR) tak jak je ukázáno na Obr. 4.4. Časové průběhy AKO odpovídají periodickému opakování impulsů napětí z MKO uvedených na Obr. 4.2b. UCC RC1 C2
T1
RB2
RB1 C1
T2
RC2 u q = u C2
0V
Obr. 4.4: Zapojení astabilního klopného obvodu. Za stejného předpokladu, jako bylo uvedeno u MKO, platí i zde výraz pro dobu impulsů na kolektorech obou tranzistorů Tj tij = RBjCj ln 2
(j = 1, 2).
( 4.4 )
42
Evropský polytechnický institut s. r.o, Kunovice
Pro nejčastější případ, kdy je obvod souměrný, tj. RB1 = RB2 = RB a C1 = C2 = C, je kmitočet výstupního signálu f = 1/(2RBC ln 2).
( 4.5 )
Uvedené vztahy jsou platné za podmínek podobných vztahům ( 4.1 ) a ( 4.3 ): RC1 < β1 RB1,
RC2 < β2 RB2.
( 4.6 )
Ze vztahů ( 4.6 ) vyplývá, že pokud by se jakýmkoliv způsobem oba tranzistory dostaly současně do nasycení, zůstane obvod v tomto stavu tak dlouho, dokud nějakým vnějším zásahem se v obvodu nerozběhnou kmity. Pravděpodobnost výskytu tohoto klidového stavu je tím větší, čím větší je rezerva, s níž jsou splněny podmínky ( 4.6 ). Obvykle se hodnoty odporů navrhují tak, aby tyto podmínky byly splněny pro všechny tranzistory daného typu, takže rezerva bývá značná. Je-li existence klidového stavu v obvodu nepřijatelná, je vhodnější používat jiná zapojení. V současné praxi se astabilní klopné obvody používají pro generování pravoúhlých signálů, opět převážně v komerčně dostupné integrované formě provedení. UCC R
nulovací komparátor
thr
1
ref
R
out
thr ref trig rst dis ST
- threshold (práh) - reference - triggering (spouštění) - reset - discharge (vybíjení) - Schmitt trigger
dis
nastavovací komparátor
1 THR
/trig
ST
OUT
TRIG
/rst
REF
R 0V
DIS
RST
(a )
(b )
Obr. 4.5: Komerčně dostupný integrovaný časovač. a) Vnitřní zapojení časovače b) jeho schématická značka.
4.5 Použití integrovaného časovače Monostabilní a astabilní KO se dnes často vytvářejí na bázi komerčně dostupných integrovaných obvodů. Jedním z nejpoužívanějších je tzv. časovač všeobecně známý pod označením 555, popřípadě jako dvojitý 556. Z něj po připojení několika rezistorů a kapacitorů může vzniknout řada různých typů obvodů odměřujících čas. Vnitřní zapojení časovače je nakresleno na Obr. 4.5a. Odpovídá obvodu NE 555 firmy Texas Instruments. U výrobků jiných firem mohou být drobné odlišnosti. Dělič, tvořený třemi rezistory R se stejným odporem, vytváří referenční napětí pro oba komparátory, které může být v případě potřeby zevně ovlivněno. Propojí-li se vstupy THR a TRIG, tvoří nulovací a nastavovací komparátor s navazujícím klopným obvodem typu RS přesný komparátor s hysterezí popsaný v kapitole o komparátorech. Obvod je ještě vybaven dalším vstupem umožňujícím vynulování kdykoliv během trvání výstupního impulsu, a vybíjecím tranzistorem (výstup DIS). Podrobnější popis časovače je uveden v literatuře [ 5 ].
Digitální technika
43
K nejjednodušším aplikacím časovače patří monostabilní KO, nakreslený na Obr. 4.6a. V klidu je klopný obvod RS vynulovaný (stav tohoto obvodu označujeme podle signálu na výstupu OUT) a vybíjecí tranzistor je sepnutý, takže napětí uC je nulové. Vstupní napětí u1 musí být v klidu vyšší než 1/3 napětí UCC. Sníží-li se napětí u1 pod tuto hranici, překlopí nastavovací komparátor klopný obvod RS, vybíjecí tranzistor se zahradí a napětí uC začne vzrůstat. Když dosáhne hodnoty 2/3 napětí UCC, nulovací komparátor vynuluje klopný obvod RS a celý obvod se uvede do klidového stavu. Kondenzátor s doporučenou kapacitou 10 nF ve vstupu REF snižuje citlivost obvodu k rušivým signálům. Doba výstupního impulsu je dána vztahem ti = RC ln 3. ( 4.7 ) UCC
R THR
u1
ST
u2
OUT
THR
TRIG
TRIG
10 n DIS
uC C
RST
ur
(a )
OUT
u2
DIS
10 n REF
ur
ST
REF
RB RA
RST
uC (b )
UCC
C
Obr. 4.6: Klopné obvody s časovačem 555. a) Monostabilní KO, b) astabilní KO. Astabilní KO podle Obr. 4.6b pracuje podobně. Spouštěcí signál je zde však odvozen z napětí kondenzátoru C a nabíjecí rezistor tohoto kondenzátoru je rozdělen na dvě části RA a RB. Snadno lze odvodit pro kmitočet výstupního napětí vzorec f = 1/[(2RA + RB)C ln 2].
( 4.8 )
Poměr šířky impulsu k šířce mezery je (RA + RB)/RA, takže impuls je u tohoto zapojení vždy delší než mezera. Toto omezení lze překonat úpravou zapojení, avšak za cenu zvětšení závislosti kmitočtu výstupního signálu na teplotě a na napájecím napětí. Vnitřní struktura časovače 555 je navržena tak, že se závislosti parametrů jeho prvků na teplotě a na napájecím napětí, které mají vliv na časové parametry výstupního signálu, vzájemně kompenzují. Takže časové parametry výstupních signálů uvedených obvodů závisí na velikosti napájecího napětí a na teplotě jen málo. Existuje velké množství dalších zapojení různých obvodů s časovačem 555, blíže viz například [ 5 ]. Obvod 555 se nejčastěji používá pro vytváření monostabilních a astabilních KO. Může však být použit i jako komparátor s hysterezí danou jeho referenčními napětími ve vstupním děliči, tj. hodnotami 2/3 a 1/3 napájecího napětí, pokud vstupní signál přivedeme na propojené vstupy THR a TRIG. Tyto úrovně můžeme pozměnit vhodným zapojením vstupu REF, jak vyplývá z vnitřního zapojení na Obr. 4.6.
4.6 Shrnutí kapitoly Klopné obvody lze rozdělit na obvody bistabilní, monostabilní a astabilní. Bistabilní klopný obvod představuje paměťový prvek a je základem složitějších paměťových struktur používaných zejména v číslicové technice. Monostabilní a astabilní KO jsou obvody, které odměřují čas. Monostabilní KO se používá jako spouštěný generátor jednotlivých impulsů s šířkou danou parametry jeho prvků.
44
Evropský polytechnický institut s. r.o, Kunovice
Astabilní KO vytváří sled impulsů (pravoúhlý signál) s časovými parametry opět určenými hodnotami parametrů jeho prvků. KO se dnes vytvářejí převážně na základě integrovaných obvodů. Příkladem integrovaného obvodu často používaného v analogové technice vhodného pro stavbu monostabilních a astabilních KO je integrovaný časovač 555. Rovněž v číslicové technice se používají specializované integrované obvody jako generátory jednorázových impulsů i pravoúhlých impulsových signálů trvale běžících. Nejčastěji se však zde setkáme s bistabilními klopnými obvody, které představují základ registrů, čítačů a podobných subsystémů. Blíže lze tuto problematiku nastudovat z literatury [ 2 ], [ 5 ], [ 12 ], [ 14 ] aj.
4.7 Kontrolní otázky 1) Existuje nějaká souvislost mezi bistabilními klopnými obvody a komparátory? 2) Jak by se choval monostabilní klopný obvod, u něhož by nebyla splněna podmínka (3.3)? 3) Časovač 555 se obvykle používá jako monostabilní nebo astabilní generátor impulsů. Je možno použít jej i jako bistabilní klopný obvod, případně jako komparátor?
Digitální technika
45
5 Základní pojmy číslicové techniky Cíl kapitoly: Seznámit studenty se základními pojmy číslicové techniky, se způsoby označení logických veličin, s rozdělením digitálních systémů, s různými číslicovými soustavami a se základními druhy kódování.
5.1 Logické proměnné V analogové technice jsme většinou pracovali se spojitými signály. V číslicové technice se používá abstrakce, kdy se signály pokládají za skokově proměnné veličiny, přičemž nabývají dvou možných hodnot, které označujeme jako logická jednička – log I, a logická nula – log O. Tam, kde nebude obava z nedorozumění, budeme označení „log“ vynechávat. Uvedené signály budou popisovány pomocí dvouhodnotových (logických) veličin. Ty mohou být interpretovány několika způsoby. Nejčastěji se používá: • logická interpretace – I, O; • pravdivostní interpretace – výrok pravdivý (I), nepravdivý (O); • interpretace formou binárních číslic – 1 (I), 0 (O) – užívá se hlavně pro vícebitové skupiny; • interpretace vyjadřující aktivní (I) a neaktivní (O) stav určité řídicí veličiny; • další možnosti jsou např. kontaktová interpretace – sepnuto (I), rozepnuto (O) a podobně. V dalším textu budeme používat nejčastěji interpretaci logickou. V některých případech se však používají jiné interpretace, například v programových prostředcích pro počítačový návrh číslicových systémů se setkáme velmi často s interpretací formou binárních číslic. Dvouhodnotové veličiny se v číslicové technice zobrazují nejčastěji těmito způsoby: • zobrazením pomocí úrovně fyzikální veličiny (napětí, proudu) – úroveň H (vyšší hodnota), L (nižší hodnota); • zobrazením pomocí změny takové veličiny. Při vyjadřování dvouhodnotových veličin pomocí elektrických signálů budeme nejčastěji používat úrovňové zobrazení. Přitom je možný dvojí vztah k interpretaci. Vyjadřuje-li úroveň H hodnotu I, jde o kladnou logiku, v opačném případě o logiku zápornou. V číslicové technice pracujeme nejčastěji s kladnou logikou. Vyjadřuje-li se přitom aktivní úroveň řídicí veličiny (I) úrovní L, pak se příslušná proměnná zapisuje jako invertovaná. Tak je tomu například u displeje s diodami LED, jak je naznačeno na Obr. 5.1. Hodnota a = I odpovídá v kladné logice úrovni L signálu /a (lomítkem před proměnnou budeme značit inverzi). Tím vlastně převádíme zápornou logiku na kladnou.
+5 V /a
Obr. 5.1: Příklad označení proměnné s aktivní úrovní L. Poznámka: Inverze (negace) se může značit i jinými způsoby. Často se používá značení pomocí pruhu nad symbolem invertované veličiny či výrazu, například a . V dnešní době však v číslicové technice stále častěji pracujeme s počítačovými návrhovými systémy CAD (Computer Aided Design), u nichž se inverze pokládá za jednu z operací, které se při zápisu vyznačují pomocí operátorů. Ty se v počítačových systémech zapisují užitím vyhrazených
46
Evropský polytechnický institut s. r.o, Kunovice
symbolů do řádků s textem. Autoři tohoto textu se domnívají, že je vhodné, aby si čtenář na tuto konvenci zvykl, a proto zvolili uvedený způsob označení inverze pomocí operátoru „ / “ (lomítka). Navíc je tento systém vhodnější při psaní v běžném textovém editoru (není nutno používat editor rovnic). Zobrazení změnou úrovně se používá především tam, kde je potřebné vyznačit určitý okamžik, např. pro zápis do registru, pro inkrementaci čítače apod. Pak mluvíme o aktivní hraně (vzestupné nebo sestupné) příslušné veličiny (signálu). Logické veličiny mohou být: • logické konstanty (O, I), • logické proměnné, které se označují pomocí identifikátorů. Zde vystačíme většinou s jednopísmenovými identifikátory, které budou v případě potřeby indexovány. Příklad 5.1 Ilustrativní rozhodnutí o zastavení vozidla. Vozidlo jedoucí po ulici musí zastavit když: A) na semaforu svítí červená, B) předepisuje to značka stop nebo jiná pravidla silničního provozu, C) ve vozovce je chodec nebo překážka. Každou z těchto příčin lze chápat jako logickou proměnnou se dvěma stavy ANO-NE (I, O). Jednotlivé proměnné označíme písmeny A, B, C (ve shodě s uvedeným dělením jevů). Všechny možné kombinace příčin zastavení davají osm výroků (pravd), které můžeme zpracovat do tabulky. Výsledkem logického rozhodnutí řidiče (Y) je vyjádření o zastavení vozidla ANO-NE (I, O). Dle správné úvahy napište pravdivostní tabulku tohoto rozhodování.
5.2 Základní logické členy a operátory Dodané informace - logické proměnné zpracovává v nejjednodušším případě logický člen s danou pevnou logickou funkcí (předpisem podle něhož se rozhoduje). Rozhodování podle předpsané logické funkce nazýváme logickou operací. Logické funkce jednotlivých logických členů jsou předem známé a jsou zakódované v označení daného členu. Samotný logický člen plní jen jednodušší úkoly. Známe tři základní logické operátory uvedené v následující Tab. 5. 1. Tab. 5.1: Základní logické operace. Název Logická funkce Zápis Logický součet OR (nebo) Y=A+B+C Logický součin AND (a, i, také) Y=A.B.C Logická negace NOT (inverze) Y = /A Na Obr. 5.2 jsou uvedeny schématické značky logických členů (operátorů) používané u nás. Na levou stranu kreslíme vstupní (A, B) na pravou vstupní (Y) logické veličiny (proměnné). Ve světě jsou používány i jiné značky, viz např. [ 4 ], [ 12 ] aj. 1 A
a) Obr. 5.2: Značky logických členů. a) OR, b) AND, c) NOT.
b)
Y
c)
Digitální technika
47
Ku znázornění funkce OR můžeme použít jednoduchý elektrický obvod na Obr. 5.3a, kde je světelná dioda (LED) napájena ze zdroje (VDC) přes rezistor (R) a tři paralelně zapojené spínače označené vstupními proměnnými (A, B, C). Sepnutí spínače A znamená A = I (log l na vstupu A (B = O, B = O). Rozsvícení diody představuje log l na výstupu. Na Obr. 5.3b je obdobný jednoduchý obvod realizující operaci AND (spínače jsou zapojeny v sérii).
a) b) Obr. 5.3: Elektrické obvody realizující základní logické funkce. a) OR, b) AND, c) NOT.
c)
Příklad 5.2 Elektrický obvod realizující funkci OR. Na základě úvahy kdy v obvodu na Obr. 5.3a světelná dioda svítí a kdy ne napište pravdivostní tabulku tohoto operátoru pro všechny možné stavy sepnutí spínačů. Příklad 5.3 Elektrický obvod realizující funkci AND. Na základě úvahy kdy v obvodu na Obr. 5.3b světelná dioda svítí a kdy ne napište pravdivostní tabulku tohoto operátoru pro všechny možné stavy sepnutí spínačů. Při výrobě logických IO vyvstává přirozený požadavek na minimální počet operátorů k vytvoření úplného systému logických funkcí. Z tohoto důvodu byly zavedeny operátory NOR a NAND s inverzí (negací) na výstupu. Ta značí se kroužkem (obdobně jako na Obr. 5.3c). Příklad 5.4 Operátory NOR a NAND s negací na výstupu. Na základě pravdivostních tabulek operátorů OR a AND, odvozených v předchozích příkladech napište pravdivostní tabulky pro operátory NOR a NAND. Někdy je výhodné nebo dokonce nutné zapojit negaci na vstupy základních operátorů. Příklad 5.5 Operátory OR a AND s negací na vstupech. Z pravdivostních tabulek operátorů OR a AND odvoďte pravdivostní tabulky pro operátory OR a AND s negovanými vstupy. Porovnáním získaných výsledků můžeme učinit závěry vhodné k zapamatování: Dvojice logických funkcí OR – NAND resp. AND – NOR jsou komplementární (vzájemně se doplňují). Libovolnou logickou funkci můžeme vyjádřit v jiném duálním tvaru. Místo součinového členu bude obsahovat člen součtový a obráceně. Logické operátory NOR a NAND tvoří úplný logický systém, každý jeden tento typ umožňuje realizovat všechny základní operátory OR, AND a NOT.
48
Evropský polytechnický institut s. r.o, Kunovice
5.3 Číslicové obvody a systémy Složitější rozhodování zajistí až seskupení různých logických členů tvořící logický obvod. Tyto obvody pak mohou tvořit velký digitální systém. V dalším textu budeme obvykle slovo „logické“ při popisu obvodů, veličin, konstant, proměnných atd. vynechávat, pokud nebude nebezpečí nedorozumění. Číslicové systémy se dělí na dvě velké skupiny, které představují: • systémy kombinační, u nichž hodnoty výstupních veličin závisí jen na okamžitém stavu vstupních veličin, • systémy sekvenční, kde hodnoty výstupních veličin závisí i na předchozích hodnotách vstupních veličin. Tyto systémy tedy obsahují paměť. Většina číslicových systémů jsou systémy sekvenční. Typickým příkladem je třeba počítač. Přesto je užitečné zabývat se nejprve kombinačními systémy, které jsou obecně jednodušší. Jak uvidíme později, mnoho sekvenčních systémů lze vytvořit z kombinačních pouhým přidáním paměťového prvku – registru. Analýza i syntéza sekvenčních systémů pak může být založena na rozkladu těchto systémů na kombinační část a registr, a každá z těchto částí může být zpracována zvlášť.
5.4 Číselné soustavy V běžném životě pro označování kvanta (množství, velikosti, ceny atd.) používáme desítkovou soustavu. Kombinacemi číslic 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 dokážeme vyjádřit libovolné číslo, aniž bychom příliš uvažovali o řádech, o pozičních vahách a o mocninách základu 10. Z metodických důvodů to však nyní učiňme. Příklad 5.6 Číslo v dekadické soustavě. Desítkové číslo 28 073 rozepište podle řádů za pomoci pozičních vah - mocnin základu 10. Řešení: Je naznačeno na Obr. 5.4
Obr. 5.4: Rozepsání dekadického čísla po řádech. V digitální technice jako základní používáme dvojkovou (binární) číselnou soustavu. (jen s čísly 0 a 1). Tato čísla se obdobně násobí určitou váhou, podle dané váhové pozice. V této soustavě jsou poziční váhy mocninami základu 2. Při tomto vyjádření můžeme v každém řádu nepřidat nic nebo jeho jednonásobek. Pak následuje přechod do vyššího řádu (zleva doprava). Na Obr. 5.5 je ve žlutém rámečku zapsáno šestimístné binární číslo 110101. To musíme chápat jako zkrácený součtový zápis podbarvený zeleně. Celková číselná hodnota (zapsána fialově) je pak součtem jednotlivých součinů z pozičních vah. Takto se převádí
Digitální technika
49
libovolné binární číslo na dekadické. V našem příkladu 1101012 = 5310. Pro tuto práci je vhodné si zapamatovat soubor váhových koeficientů (mocnin 2n): 1, 2, 4, 8, 16, 32, 64, 128, … . 110101
1 . 25
+
1 . 24
+
0 . 23
+
1 . 22
+
0 . 21
+
1 . 20
32
+
16
+
0
+
4
+
0
+
1
= 53
Obr. 5.5: Rozepsání binárního čísla do součtového tvaru. Příklad 5.7 Číslo v dekadické soustavě. Převeďte do desítkové soustavy dvojkové číslo 10001112. Výsledek řešení: 10001112 = 7110. Dvojkovému číslu, použitému v našich příkladech, se také říká dvojkové slovo – byte [bajt]. To se skládá z dvojkových číslic (0 a 1) – bitů. Zapamatujme si: Bit je jednotkové množství informace, představuje dvojkové číslice 0 a 1. Byte je dvojkové slovo (číslo) složené z (osmi) bitů V počátcích digitální techniky většina počítačů pracovala s osmi bitovými slovy (byty). Připomeňme klasický mikroprocesor 8080A. Data se přenášela po osmi vodičích a zpracovávala se v délce osmi bitů najednou. Dnes se používají 32 a 64 bitové počítače. Nicméně je v nich zachována možnost zpracování informací po 8 bitových slovech – bytech. To platí i předávání informací mezi procesorem a pamětí. Adresové sběrnice se také používají 8-bitové, 16-bitové atd. Z těchto důvodů se také v digitální technice setkáváme se šestnáctkovou (hexadecimální) soustavou. Ta obsahuje číslice a písmena: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (písmena zde nahrazují chybějící číslice). Data takto vyjádřená se označují dolním indexem 16 nebo písmenem H. Každý znak hexadecimální nahradí čtyři bity dvojkové soustavy, což je značná úspora, urychluje se práce počítače a komunikace s perifériemi (např. tiskárnou). S hexadecimální soustavou se také setkáme v souvislosti s moderními kodéry a dekodéry. Příklad 5.8 Číslo v šestnáctkové soustavě. Převeďte do desítkové soustavy šestnáctkové číslo A8F16. Příklad 5.9 Převod čísla binárního na hexadecimální. Převeďte dvojkové číslo (byt) 11100111 na šestnáctkové. Řešení: Byt 11100111 rozdělíme na dva díly po čtyřech bitech 11102 a 01112. Každému z nich přidělíme dle Tab. 6.6 hexadecimální ekvivalent: 11102 = E16 a 01112 = 716. Výsledkem pak je 111001112 = E716.
50
Evropský polytechnický institut s. r.o, Kunovice
Uvedené číselné soustavy se nazývají polyadické soustavy, kde jednotlivá čísla se dají vyjádřit mnohočlenem z tzv. základu soustavy (viz Obr. 5.5). Takovéto vyjádření se nahrazuje zkráceným tzv. pozičním zápisem, ve formě posloupnosti koeficientů řádových míst, při čemž se musí dodržet dohodnutá poloha řádu. Příkladem nepolyadické soustavy je soustava zbytkových tříd, která je blíže popsána v [ 2 ].
5.5 Převod desítkového čísla na dvojkové Pro převod desítkového čísla (x10) na dvojkové (y2) se používají dva způsoby přepočtu (kódování). První se nazývá metoda postupného odečítání. Ukážeme si ji na následujícím příkladu. Nejdříve se hledá mocnina základu 2n ≤ x10. Nalezená mocnina se odečítá jako první a určuje nejvyšší platný bit (MSB). Rozdíl porovnáváme s další mocninou 2n-1. Je-li rozdíl větší píšeme 1, pro menší 0 a porovnáváme s nižší mocninou. Každý odečet představuje jeden bit dvojkového čísla. Odečítání končíme teprve porovnáním s poslední mocninou 20. Příklad 5.10 Metoda postupného odečítání. Metodou postupného odečítání převeďte desítkové číslo 18010 na dvojkové. Řešení: 2 = 256 >180 27 = 128 <180 26 = 64 25 = 32 24 = 16 23 = 8 22 = 4 21 = 2 20 = 1 8
→ → → → → → → →
180 – 128 = 52 52 < 64 52 – 32 = 20 20 – 16 = 4 4<8 4–4=0 0<2 0<1
1 0 1 1 0 1 0 0
MSB
LSB
Výsledek je: 18010 = 101101002 Kontrola správnosti: 4 + 16 + 32 +128 = 180. Druhou metodou je metoda opakovaného dělení. Desítkové číslo se rozkládá opakovaným dělením dělitelem 2. Zbytek je 1 nebo 0 (bezezbytku). Tímto zbytkem je určena dvojková číslice LSB. Postup si ukážeme na následujícím příkladu. Příklad 5.11 Metoda opakovaného dělení. Metodou opakovaného dělení převeďte desítkové číslo 7210 na dvojkové. Řešení: 72 : 2 = 36 36 : 2 = 18 18 : 2 = 9 9:2=4 4:2=2 2:2=1 1:2=0
zbytek 0 zbytek 0 zbytek 0 zbytek 1 zbytek 0 zbytek 0 zbytek 1
→ → → → → → →
0 0 0 1 0 0 1
(20) LSB (21) (22) (23) (24) (25) (26) MSB
Výsledné dvojkové číslo zapisujeme odspodu 7210 = 10010002
Digitální technika
51
Kontrola správnosti: 64 + 8 = 72. V digitální technice je potřeba převést i desítková čísla s desetinnou čárkou. Tím se mění váhový systém z původního 2n na 2(-n) a při převádění místo dělení postupně násobíme dvěmi. Je-li součin > 1, jedničku odečteme a zapíšeme binární 1. Je-li součin < 1, zapíšeme binární 0. Metoda opakovaného násobení. Příklad 5.12 Metodou opakovaného násobení převeďte desítkové číslo 0,573610 na dvojkové. Řešení: 1,14720 – 1 = 0,1472 →
1,1776 – 1 = 0,1776
→
0,5736 . 2 = 1,1472 0,1472 . 2 = 0,2944 0,2944 . 2 = 0,5888 0,5888 . 2 = 1,1776 0,1776 . 2 = 0,3552
→ → → → →
1 0 0 1 0
(2-1) MSB (2-2) (2-3) (2-4) (2-5) LSB
Výsledek je: 0,573610 = 0,100102
5.6 Kódování a dekódování V předchozí kapitole jsme naznačili, že existují různé číselné soustavy, používané v digitální technice (ne o všech byla zmíňka). Způsob převádění z jedné soustavy do druhé nazýváme konverzí (nejčastěji z binární soustavy do dekadické resp. opačně). V souvislosti se zpracováním dat mluvíme o kódování resp. dekódování. Kódem rozumíme pravidlo, podle něhož určité kombinaci bitů (prvku zobrazovací množiny) přiřadíme odpovídající prvek zájmové (primární) množiny (písmeno abecedy, dekadické číslo nebo také úkon, příkaz či různý jev). Nebo-li prvky primární množiny nahrazujeme (kódujeme) prvky zobrazovacími. Jen málokdy je toto přiřazení takové, že počet prvků obou množin je stejný. Obvykle nahrazujeme jeden zájmový prvek skupinou prvků (znaků) zobrazovacích – značkou (kódovým slovem). Kód se stejným počtem znaků ve všech značkách nazýváme pravidelným (např. BCD kód). Nepravidelným kódem je např. Morseova abeceda. Je výhodné přiřadit nejkratší značky nejčastěji se vyskytujícím prvkům. Vhodnost použitého kódování posuzujeme podle různých hledisek. Především podle účinnosti kódování (u), která je definována jako poměr skutečného a maximálně možného množství informace neseného jedním znakem zobrazovací množiny. Nadbytečnost (redundance) (r) je pak r = 1 – u. Kódování s r = 0 resp u = 1 nazýváme optimální kódování, dosahuje se při něm maximálního zkrácení zprávy a maximální rychlosti přenosu, sníží se však odolnost vůči rušení a poruchám. Výskyt chyb lze snížit několikanásobným opakováním zprávy nebo použitím bezpečnostních kódů. Obě metody však vedou ku snížení účinnosti kódování. Mezi bezpečnostní kódy patří detekční kódy (umožňují detekci chyb) a korekční samoopravné kódy. Podle druhu použitých znaků rozlišujeme kódy: číslicové (numerické), abecední (alfabetické) a smíšené (alfanumerické). Z hlediska použití pak kódy pro přenos zpráv a kódy pro použití v digitální technice (pro strojové zpracování informací). Dvojkové (binární) kódy používají k zakódování libovolných údajů pouze dva znaky (0 a 1). Nejpoužívanějším numerickým binárním kódem je přímý dvojkový kód, který jsme si již osvojily. Vedle něj se používají kódy BCD (binary coded decimal) pro zobrazení desítkových
52
Evropský polytechnický institut s. r.o, Kunovice
číslic pomocí dvojkové soustavy, převodem po jednotlivých číslicích. Pro vyjádření deseti číslic je nutno použít čtyř bitů. Avšak čtyřbitový binární kód má délku 16 slov (24), takže umožňuje vytvořit deset dekadických číslic různou kombinací různě zvoleného základu (celkem lze vytvořit 2,9.1010 takovýchto různých kódů). Přebytek šesti nepotřebných dvojkových kombinací umožňuje sestavit způsob odhalení a opravení chyb. Nejčastěji se používá kód BCD 8421 (někdy také 1242 nebo 1245). Převod je snadný a přehledný. Tato výhoda je zaplacena větším počtem potřebných bitů. Příklad 5.13 Kód BCD. Převeďte desítkové číslo 983 do kódu BCD 8421. Zvláštní formu BCD kódu představuje kód ASCII (Američan standard for information interchange), který se používá pro komunikaci počítače s periferními zařízeními (tiskárna, klávesnice, monitor atd.). Je nejpoužívanějším kódem pro zobrazení alfanumerických znaků a pro sériový přenos dat (prvky této množiny představují určitý znak ne číselnou hodnotu). Pracuje se 7 bity a tedy může znázornit 27 = 128 znaků. Bity jsou rozděleny na dvě skupiny. V první skupině 3 bitů (vlevo) jsou řídící (služební) znaky, nutné pro obsluhu a řízení dané periferie. Druhou skupinu 4 bity (vpravo) tvoří grafické znaky (písmena, číslice, symboly atd.). Tabulku ASCII kódu lze nalézt na www nebo v učebnicích a příručkách, viz např. [ 16 ]. Příklad 5.14 Kód ASCII. Na internetu najděte tabulku kódu ASCII a podle ni zakódujte písmena A, B, C, Y a Z. V kap. 6.3.1 se seznámíte s kódem pro vybavování segmentů sedmisegmentového zobrazovače (Obr. 6.2), který patří mezi účelové kódy používané také v digitální technice. Blíže lze tuto problematiku možno studovat z literatury [ 2 ], [ 4 ], [ 14 ], [ 16 ] aj.
5.7 Kontrolní otázky 1) 2) 3) 4) 5) 6) 7)
Uveďte příklady jednoduchých kombinačních a sekvenčních obvodů. Uveďte různé způsoby interpretace dvouhodnotových logických veličin. Definujte základní logické operace. Vysvětlete rozdíl mezi pojmy bit a byte. Popište hexadecimální soustavu a převod na ni ze soustavy decimální. Popište převod desítkového čísla na dvojkové metodou postupného odečítání. Popište převod desítkového čísla na dvojkové metodou opakovaného dělení.
Digitální technika
53
6 Kombinační logické funkce Cíle kapitoly: Seznámit studenty s nejpoužívanějšími způsoby zápisu a zobrazení kombinačních logických funkcí a s metodami zjednodušování jejich zápisu pomocí logických výrazů jako základního prostředku pro jejich efektivní technickou realizaci.
6.1 Základní pojmy Základním pojmem při úvahách o kombinačních systémech je pojem kombinační logické funkce. Kombinační logická funkce je pravidlo přiřazující každé kombinaci hodnot O a I přiřazených vstupním proměnným z definičního oboru funkce jedinou hodnotu výstupní proměnné. Pro daný počet vstupních proměnných je těchto funkcí konečný počet. Kombinační logické funkce mohou být úplně nebo neúplně určené. Úplně určená kombinační logická funkce je taková funkce, jejíž definiční obor zahrnuje všechny kombinace vstupních proměnných. U neúplně určené funkce její definiční obor nezahrnuje některé tyto kombinace. Kombinací se zde rozumí kombinace hodnot O a I přiřazených jednotlivým vstupním proměnným. Existují čtyři kombinační logické funkce jedné proměnné, které jsou vypsány v Tab. 5.1. Ze způsobu sestavení této tabulky lze snadno zjistit počet možných úplně určených kombinačních logických funkcí určitého počtu proměnných. Tab. 6.1: Kombinační logické funkce jedné vstupní proměnné hodnoty vstupní proměnné x:
O
hodnoty výstupní proměnné y O odpovídající dané funkci y = f(x): O
I O I
I
O
I
I
zápis funkce: y = f0(x) = O
název funkce:
y = f1(x) = x
totožnost, opakování
y = f2(x) = /x
negace, inverze
y = f3(x) = I
jednotková funkce
nulová funkce
Při sestavování podobné tabulky pro n proměnných postupujeme takto: do n řádků nad sebou vypíšeme možné hodnoty vstupních proměnných tak, aby v jednotlivých sloupcích vytvořily všechny možné kombinace hodnot těchto proměnných – např. tak, že tyto sloupce budou představovat n-bitová binární čísla odpovídající pořadí každého sloupce. Počet m těchto kombinací je, jak známo, m = 2n. Nyní pod těmito řádky představujícími vstupní proměnné vytvoříme řádky odpovídající funkčním hodnotám jednotlivých funkcí tak, že do těchto řádků vypíšeme všechny možné kombinace m funkčních hodnot. Těchto řádků a tedy n možných funkcí je nyní 2m, tedy celkem je počet možných funkcí n proměnných 2 2 . Počet úplně určených kombinačních logických funkcí dvou proměnných je tedy 16. V Tab. 6. 2 je naznačeno, jak se tyto funkce mohou výše uvedeným způsobem systematicky vypsat. Uvedeny jsou první čtyři funkce z šestnácti. Nejdůležitější kombinační logické funkce dvou proměnných jsou uvedeny v Tab. 6. 3. Poznamenejme, že pro značení logických operátorů se v literatuře používají i jiné symboly (např. nonekvivalence symbolem $). To je často dáno i možnostmi tisku.
54
Evropský polytechnický institut s. r.o, Kunovice
Tab. 6.2: Kombinační logické funkce dvou proměnných hodnoty vstupních x1: proměnných x: x2:
O O
I
O
I
hodnoty výstupní proměnné y, odpovídající dané funkci y = f(x1, x2)
O
O
O
O
O
O
O
I
O
O
I
O
O
O
I
I
…
…
…
…
O
I
I
zápis funkce:
název funkce:
y = f0(x1, x2) = O
nulová funkce
y = f1(x1, x2) = x1 . x2
logický součin
y = f2(x1, x2) = x1 . /x2 y = f3(x1, x2) = x1
opakování x1
atd.
Z uvedeného je zřejmé, že počet logických funkcí velmi rychle roste s počtem vstupních proměnných. Při vyjádření logických funkcí jedné proměnné jsme vystačili s pouhou inverzí, pro vyjádření funkcí dvou proměnných bylo třeba zavést funkce logického součtu a součinu. Bylo by možno očekávat, že pro vyjádření logických funkcí většího počtu proměnných bude nutno zavádět další složitější základní logické funkce. Ukazuje se však, že tomu tak není. Je možno ukázat, že jakoukoliv kombinační logickou funkci libovolného množství proměnných je možno vyjádřit pomocí několika elementárních logických funkcí. Soubor takových funkcí se nazývá úplný soubor logických funkcí. Tab. 6.3: Nejdůležitější kombinační logické funkce dvou proměnných. zápis funkce: y=a.b
název funkce: logický součin, konjunkce, funkce AND
y = /(a . b)
funkce NAND
y=a+b
logický součet, disjunkce, funkce OR
y = /(a + b)
funkce NOR
y = a ⊕ b = a . /b + /a . b
nonekvivalence, EXCLUSIV-OR, funkce XOR
y = a ⊗ b = /(a ⊕ b) = a . b + /a . /b ekvivalence, funkce XNOR Příklady úplného souboru logických funkcí jsou: • funkce NAND – touto jedinou funkcí můžeme vyjádřit všechny kombinační logické funkce libovolného počtu proměnných; • funkce NOR – platí pro ni totéž co pro funkci NAND; • úplnými soubory funkcí jsou i takové soubory, jimiž lze výše uvedené funkce vyjádřit, tedy například funkce OR spolu s inverzí, funkce AND spolu s inverzí a další.
6.2 Booleova algebra Důležitým nástrojem (matematickým prostředkem) pro práci s logickými výrazy a funkcemi je Booleova algebra. Od běžné algebry se v mnohém liší, protože Booleova algebra je algebrou stavů, nikoliv čísel. Základní zákony této algebry však mají podobný tvar, jako
Digitální technika
55
mají zákony běžné algebry. Booleova algebra pracuje s logickými proměnnými o dvou hodnotách (O, I) a s operacemi logického součtu, součinu a inverze, jak jsme se s nimi seznámili v předchozí kapitole (kap. 5). Nyní stručně uvedeme nejdůležitější pravidla Booleovy algebry, podrobnější rozbor lze nalézt v literatuře [ 2 ], [ 4 ], [ 14 ] aj. Pravidla (zákony) v Booleově algebře, platící pro jednu proměnnou jsou souhrně uvedeny v Tab. 6. 4, pro více proměnných pak v Tab. 6. 5. Zde použité symboly jednotlivých logických operátorů nejsou jediné. V literatuře najdeme i jiné (např. pro nonekvivalenci symbol $). Volba symbolů je často ovlivněna možnostmi tisku. Tab. 6.4: Zákony pro jednu proměnnou. a+O=a a.O=O a+a=a
Vliv konstant a+I=I a.I=a a.a=a
Vliv negace a + /a = I a . /a = O //a = a
Tab. 6.5: Zákony pro více proměnných. Komutativní zákon Asociativní zákon Distributivní zákon
DeMorganovy zákony Další zákony, odvozené z předchozích
komutativnost součtu a+b=b+a komutativnost součinu a.b=b.a asociativnost součtu a + b + c = (a + b) + c = a + (b + c) asociativnost součinu a . b . c = (a . b) . c = a . (b . c) distributivnost součinu a . (b + c) = a . b + a . c vzhledem k součtu distributivnost součtu a + (b . c) = (a + b) . (a + c) vzhledem k součinu /(a + b + c + ….) =/a . /b . /c …. /(a . b . c . ….) =/a + /b + /c+ …. a+a.b=a a . (a + b) = a (a + /b) . b = a . ( /a + b) = a . b (a . /b) + b = a +( /a . b) = a + b
DeMorganovo pravidlo je možno také formulovat následovně. Hodnota logického výrazu s operátory logického součtu a logického součinu se nezmění, jestliže vzájemně tyto operátory zaměníme, invertujeme všechny proměnné a také výsledek. Stručně můžeme říci: negace součtu je rovna součinu negací a duálně negace součinu je rovna součtu negací.
Y=A+B
Y=A.B
Y = A.B
Y=A+B
a)
b)
Y=A+B
Y = A.B
Y =A.B
Y=A+B
c)
d)
Obr. 6.1: Ilustrace DeMorganových zákonů. Má-li se daná složitá logická funkce realizovat prostřednictvím komerčně dostupných operátorů NOR a NAND, musí být tato odpovídajícím způsobem upravena. Vzájemné vztahy
56
Evropský polytechnický institut s. r.o, Kunovice
obou logických operátorů jsou přehledně uvedeny na Obr. 6.1. Tyto ekvivalence vyplynuly z DeMorganových zákonů. Tak se logický operátor s negovanými vstupy nahradí jiným základním operátorem. Kromě Booleovy algebry existují i další typy algebraických systémů pracujících s dvouhodnotovými veličinami. Ty jsou založeny na jiných základních operacích, pro něž se pak zavádějí zvláštní symboly (operátory), jako je operace NAND (Shefferova algebra), a další. Pro technické účely řešené v tomto kurzu je však Booleova algebra plně dostačující. Tab. 6.6: Pravdivostní tabulka převodníku z Obr. 6.2. stav. index (dek)
číslice (hex)
r
vstupy s t u
a
výstupy b c d e
f
g
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 A B C D E F
O O O O O O O O I I I I I I I I
O O O O I I I I O O O O I I I I
I O I I O I I I I I I O I O I I
I I I I I O O I I I I O O I O O
I O O O I I I O I I I I I O I I
O O I I I I I O I I I I O I I I
O O I I O O I I O O I I O O I I
O I O I O I O I O I O I O I O I
I I O I I I I I I I I I O I O O
I O I I O I I O I I O I I I I O
I O I O O O I O I O I I I I I I
6.3 Způsoby zápisu a zobrazení kombinačních logických funkcí Abychom mohli s kombinačními logickými funkcemi pracovat, musíme je nejprve zapsat či zobrazit. Nejčastěji se používají tyto způsoby zápisu resp. zobrazení: • zápis pomocí pravdivostní tabulky, • zápis logickým výrazem, • zobrazení pomocí množinového diagramu, • zobrazení pomocí mapy, • zobrazení pomocí logického schématu. 6.3.1
Zápis kombinačních logických funkcí pomocí pravdivostní tabulky
Jako příklad tohoto zápisu uvedeme popis převodníku čtyřbitového binárního kódu na kód sedmisegmentového displeje s hexadecimálním zobrazením. Náčrt zapojení a zobrazované znaky (hexadecimální číslice) jsou nakresleny na Obr. 6.2. U vstupních proměnných je symbolem MSB (Most Significant Bit) a LSB (Least Significant Bit) označen nejvýznamnější a nejméně významný bit. Funkce převodníku je dána pravdivostní tabulkou Tab. 6. 6.
Digitální technika B/7seg r (MSB) s t u (LSB)
57 a b c d e f g
a f
g
e
b c
Význam logických hodnot proměnných a až g : I - segment svítí O - segment nesvítí
d
Obr. 6.2: Převodník binárního kódu na kód displeje. 6.3.2
Zápis kombinačních logických funkcí logickým výrazem
Logickým výrazem rozumíme zápis skupiny identifikátorů logických proměnných vzájemně oddělených logickými operátory, přičemž se pro vyjádření pořadí provádění operací v případě potřeby používají závorky. Nejpoužívanější operátory pro základní logické operace (logický součet, součin, inverze, fukce XOR) jsme již poznali. V literatuře se setkáme s dalšími operátory pro jiné operace a s alternativními symboly operátorů pro uvedené logické funkce. • • • • •
Zvláštní typy logických výrazů, důležité pro naše účely, jsou: součinový term - obsahuje jen operátory logického součinu (nazývaný též implikant, konjunkce), součtový term - obsahuje jen operátory logického součtu (inhibent, disjunkce), minterm - součinový term obsahující všechny vstupní proměnné (které mohou být přítomny v přímém nebo v inverzním tvaru), maxterm - součtový term obsahující podobně všechny vstupní proměnné, úplný term - minterm nebo maxterm.
Z DeMorganova pravidla přímo plyne, že součtový term sestavený z určité kombinace vstupních proměnných je roven inverzi součinového termu sestaveného z těchže proměnných, které mají opačné znaky inverze, tj. proměnná obsažená v součtovém termu bez inverze je v odpovídajícím součinovém termu invertovaná a naopak. Z definice vyplývá, že logická funkce představovaná mintermem má nulovou hodnotu pro všechny kombinace s výjimkou jediné, u níž jsou vstupní proměnné uvedené v zápisu mintermu s inverzí rovny O a proměnné bez inverze jsou rovny I. Vzhledem k tomu, že při interpretaci zápisu hodnot vstupních proměnných formou binárních číslic představuje číslo vzniklé tímto způsobem hodnotu stavového indexu s, budeme značit příslušný minterm symbolem ks. Podobně funkce představovaná maxtermem má hodnotu rovnou I pro všechny kombinace vstupních proměnných s výjimkou té, pro niž je přiřazení hodnot proměnných opačné než bylo uvedeno u mintermu. Tento maxterm budeme značit symbolem ds, přičemž stavový index s je číslo představované binární interpretací uvedených hodnot vstupních proměnných. Význam tohoto označení mintermů a maxtermů bude ještě lépe zřejmý z jejich zobrazení pomocí mapy (kap. 6.3.3). Při uvedeném označení tedy platí ks = /ds. Jako příklad uveďme sestavení mintermů a maxtermů pro tři vstupní proměnné x3, x2, x1: k0 = /x3 . /x2 . /x1, k1 = /x3 . /x2 . x1 atd., až k7 = x3 . x2 . x1, ( 6.1 ) d0 = x3 + x2 + x1, d1 = x3 + x2 + /x1 atd., až d7 = /x3 + /x2 + /x1. Kombinační logické funkce mohou být zapsány různými způsoby, s použitím různých operátorů. Pro nás budou důležité zejména dva základní způsoby zápisu funkce, a to: • zápis výrazem typu součet součinů (Sum of Products, SOP), • zápis výrazem typu součin součtů (Product of Sums, POS).
58
Evropský polytechnický institut s. r.o, Kunovice
První z těchto typů zápisu je tvořen součtem součinových termů. Jsou-li všechny tyto termy úplné (jsou-li to mintermy), říká se tomuto způsobu zápisu úplný součtový tvar zápisu. Nejsou-li některé termy v tomto zápisu úplné, jde o zkrácený (zjednodušený) součtový tvar zápisu. Výraz typu POS je naopak tvořen součinem součtových termů a podobně jako u předcházejícího způsobu zápisu to může být úplný součinový tvar zápisu (jsou-li všechny tyto termy úplné, tedy jde-li o součin maxtermů), nebo zkrácený (zjednodušený) součinový tvar zápisu v opačném případě. Pro účely realizace kombinačních logických funkcí mají význam minimální tvary zápisu (součtový nebo součinový), za které můžeme pokládat zápis co nejvíce zjednodušený. O metodách zjednodušování pojednáme v dalším textu. Mezi zápisem kombinační logické funkce pomocí pravdivostní tabulky a zápisem této funkce v úplném součtovém nebo součinovém tvaru je úzká souvislost. Tento zápis dostaneme z tabulky snadno tak, že funkci zapíšeme jako součet mintermů odpovídajících řádkům tabulky, pro něž tato funkce má hodnotu I. Pro funkci e z Tab. 6.6 dostaneme takto zápis e = k0 + k2 + k6 + k8 + k10 + k11 + k12 + k13 + k14 + k15, kde
( 6.2 ) k0 = /r . /s . /t . /u, k2 = /r . /s . t . /u atd. Zápis funkce v úplném součinovém tvaru získáme podobně jako součin maxtermů odpovídajících řádkům tabulky, pro něž má funkce hodnotu O. Pro funkci e je tedy e = d1 . d3 . d4 . d5 . d7 . d9, kde ( 6.3 ) d1 = r + s + t + /u, d3 = r + s + /t + /u atd. Snadno lze ukázat, že je-li počet vstupních proměnných n, je celkový počet mintermů z těchto proměnných vytvořených (N),dán jednoduchým vzorcem N = 2n. Totéž platí pro počet maxtermů. Obecně můžeme vyjádřit kombinační logickou funkci v úplném tvaru SOP takto f(xn, ..., x1) = f0 . k0 + f1 . k1 + ... + fN-1 . kN-1.
( 6.4 )
Zde f0, f1, ..., fN-1 jsou hodnoty funkce f odpovídající jednotlivým řádkům funkční tabulky, tedy její hodnoty pro kombinace vstupních proměnných, odpovídající příslušným stavovým indexům, a k0, k1, ..., kN-1 jsou mintermy. V tomto zápisu nabývají symboly f0, f1, ..., fN-1 hodnot O nebo I a po vypuštění nulových součinů dostaneme součet mintermů odpovídajících řádkům tabulky, v nichž je hodnota funkce rovna I. Toto vyjádření platí pro úplně určené funkce. U funkcí neúplně určených zde budou jistě přítomny jen členy s těmi hodnotami stavových indexů, pro něž je funkce definována. Členy s hodnotami stavových indexů, pro něž funkce není definována, mohou a nemusí být v zápisu přítomny, protože na těchto funkčních hodnotách nezáleží. Podobně můžeme funkci f(xn, ..., x1) vyjádřit v úplném tvaru POS f(xn, ..., x1) = (f0 + d0) . (f1 + d1) . ... . ( fN-1 + dN-1).
( 6.5 )
Zde naopak ze součinu zmizí ty závorky, v nichž figuruje hodnota funkce, která je rovna I, a zůstanou maxtermy odpovídající řádkům tabulky, v nichž je funkce nulová. Výrazy typu SOP odpovídají do značné míry analogickým výrazům z běžné algebry (i co do pravidel pro počítání s nimi) a proto se s nimi pracuje nejčastěji. Výraz typu POS je pomocí DeMorganova pravidla možno zapsat jako invertovaný výraz typu SOP, jinak řečeno, jako výraz typu SOP pro inverzi původního výrazu. Jsou tedy oba způsoby zápisu v tomto smyslu ekvivalentní. Pro některé funkce však může být jeden z těchto způsobů jejího zápisu v minimálním tvaru výrazně jednodušší než druhý, zejména je-li při posuzování rozhodující počet termů.
Digitální technika
59
Zápis funkce v úplném součtovém a součinovém tvaru je jednoznačný. Minimálních tvarů však může být pro určitou funkci více. Příklad logické funkce s větším počtem minimálních tvarů bude uveden v kapitole o zjednodušování logických funkcí. Někdy může být potřebné doplnit zkrácený tvar zápisu logické funkce na úplný tvar. Bývá to například při realizaci funkcí pomocí multiplexorů. Úpravu je možno provést tak, že se členy, které neobsahují některé proměnné, doplní činiteli typu (a + /a), kde a je proměnná chybějící v členu. Pro ilustraci uveďme následující příklad a . b . c + /b . c = a . b . c + (a + /a) . /b . c = a . b . c + a . /b . c + /a . /b . c. ( 6.6 ) 6.3.3
Zobrazení kombinačních funkcí pomocí množinového diagramu
Tento způsob grafického zobrazení kombinačních logických funkcí vyniká svou názorností a jednoduchostí. Hodí se však jen pro malý počet proměnných. V literatuře je znám pod názvem Vennův diagram. Každé logické proměnné odpovídá množina, která v diagramu představuje ohraničený prostor, patřící všem bodům pojmenované množiny. Za základní prostor volíme kružnici a přidělení logické úrovně I vyznačíme šrafováním. Šrafováním vnitřku kruhu zobrazíme proměnnou (A) s hodnotou I. Šrafováním vnějšku kruhu zobrazíme proměnnou (/A) s hodnotou O. Společný prostor dvou množin A, B (jejich průnik) představuje logický součin proměnných A . B (Obr. 6.3a). Sjednocením množin A, B zobrazíme logický součet A + B, jak je naznačeno na Obr. 6.3b. A.B
/B
A
B
A
B
/A
a)
b)
Obr. 6.3: Množinové diagramy a) logického součinu, b) logického součtu. Zapamatujme si: Průnik několika množin představuje logický součin. Sjednocení všech množin představuje logický součet Příklad 6.1 Vennův diagram. Pomocí Vennova diagramu znázorněte následující logické vztahy: a) A . (/B), b) A + (/B), c) A + (B.C). Příklad 6.2 Použití množinového diagramu. Pomocí Vennova diagramu posuďte pravdivost zápisu tohoto zjednodušení Y = (/B) . C + A . (/B) + (/A) . (/B) + A . B = A + (/B). 6.3.4
Zobrazení kombinačních logických funkcí pomocí mapy
Ke grafickým metodám zobrazení kombinačních funkcí patří především tzv. mapy. Nejpoužívanějším typem je Karnaughova mapa. Její přednost oceníme při zjednodušování (minimalizaci) logických funkcí. Mapu lze považovat za jiný způsob zápisu pravdivostní
60
Evropský polytechnický institut s. r.o, Kunovice
tabulky. Pro pochopení této souvislosti a následujících tvrzení porovnejte Obr. 6.4 a Tab. 6.6. Mapu tvoří síť políček (buněk), jejíž počet je určen početem vstupních proměnných. Buňky mapy odpovídají řádkům tabulky, a jsou uspořádány tak, že se stavové indexy sousedních buněk při vyjádření v binární soustavě liší vždy v hodnotě jedné vstupní proměnné. Při nákresu mapy na rovinný list je možno tuto podmínku dodržet, není-li počet vstupních proměnných větší než čtyři. Přitom za sousední buňky pokládáme i ty, které jsou umístěny proti sobě při okrajích mapy. Můžeme si to představit tak, že mapu stočíme, aby se protilehlé strany dotkly, a to ve směru obou os. Při pěti vstupních proměnných si můžeme představit dvě vrstvy takové mapy nad sebou, pro více proměnných je již taková interpretace obtížnější. t
u 0
1
3
2
0000
000I
00II
00I0
4
5
7
6
0I00
0I0I
0III
0II0
C
II00
D
II0I
8
9
I000
I00I
F
E
IIII
III0
B
I0II
s
A
I0I0
r
Obr. 6.4: Karnaughova mapa odpovídající pravdivostní tabulce Tab. 6.6. Karnaughova mapa pro čtyři vstupní proměnné (r, s, t, u), odpovídající pravdivostní tabulce Tab. 6.6 má tvar podle Obr. 6.4. Po stranách mapy jsou vyznačeny hodnoty vstupních proměnných, v každé buňce je uveden v hexadecimální formě stavový index. V uvedené mapě jsou vyznačeny i hodnoty stavového indexu v binárním tvaru. Při zobrazení logické funkce pomocí mapy se místo toho do buněk zapisují odpovídající funkční hodnoty. Pro úsporu psaní se často zapisují jen jedničkové nebo jen nulové hodnoty, a pak se u prázdných buněk předpokládá, že obsahují hodnotu opačnou. A
A
A
A
A
A.B A.B A.B A.B
B
B
B
a) b) c) Obr. 6.5: Karnaughova mapa pro dvě vstupní proměnné.
B
d)
B
e)
Pro důkladné pochopení si blíže rozebereme jednoduchou Karnaughovu mapu pro dvě vstupní proměnné A, B (Obr. 6.5). Každé políčko (buňka) mapy odpovídá určitému řádku a určitému sloupci. K nim jsou přiřazeny proměnné A, B v přímé nebo negované formě, jak je vyznačeno na okraji mapy. Buňku tvoří logický součin (minterm) daný průnikem horizontálního a vertikálního směru. Každá buňka proto představuje jinou kombinaci nezávisle proměnných. Pro názornost je to uvedeno na Obr. 6.5a. Běžně se však do buněk zapisují funkční hodnoty závisle proměnné Y (Obr. 6.5b), jakožto výsledek odpovídající danému mintermu. Jak bylo již řečeno v předchozím odstavci, zapisujeme jen log 1. Na Obr. 6.5b je vyznačena smyčka (implikant) se dvěma mintermy, lišící se mezi sebou logickou
Digitální technika
61
úrovní proměnné B. Smyčka představuje logický součet dvou mintermů A . (/B) + A . B. Obdobně je na Obr. 6.5c smyčka dvou mintermů lišící se mezi sebou logickou úrovní proměnné A. Sloučení obou smyček na Obr. 6.5d pak představuje logický součet vyjádřený funkcí F = A + B. Inverzní funkci /F = /(A + B) = /A + /B získáme jako doplňkovou na Obr. 6.5d. Uvedené uspořádání sousedních mintermů dovoluje využít distributivní zákon (vytknutí před závorku) a následně využít zákon s vyloučením třetího (výraz který nabývá hodnot I), např. A + (/A) = I. Příklad 6.3 Karnaughova mapa pro dvě nezávisle proměnné. Pomocí Karnaughovy mapy znázorněte a zjednodušte logickou funkci F = A.(/B)+(/A).B + A.B. Příklad 6.4 Karnaughova mapa pro tři nezávisle proměnné. Pomocí Karnaughovy mapy znázorněte a zjednodušte úplnou součtovou formu logické funkce F = A . B . C + (/A) . B . (/C) + (/A) . (/B) . (/C) + (/A) . C. Příklad 6.5 Použití Karnaughovy mapy. Pomocí Karnaughovy mapy posuďte pravdivost zápisu tohoto zjednodušení Y = (/B) . C + A . (/B) + (/A) . (/B) + A . B = A + (/B). Další příklady zobrazení kombinačních logických funkcí pomocí Karnaughových map budou uvedeny v následujících kapitolách. Nyní se vraťme k našemu příkladu se čtyřmi nezávisle proměnnými, což je převodník čtyřbitového binárního kódu na kód sedmisegmentového displeje (Obr. 6.2), s Karnaughovou mapou na Obr. 6.4. Minterm a maxterm se v mapě zobrazí podle Obr. 6.6. Zde je zobrazen minterm k7 a maxterm d7. Z mapy je zřejmá platnost vztahu ks = /ds., podle něhož minterm a maxterm označený stejným stavovým indexem jsou veličiny komplementární. t
u 0
1
3
2
4
5
7
6
t
u 0
1
3
2
4
5
7
6
s
s
I
O
C
D
F
E
C
D
F
E
8
9
B
A
8
9
B
A
r minterm k = /r . s . t . u 7
r maxterm d = r + /s + /t + /u 7
Obr. 6.6: Minterm a maxterm v Karnaughově mapě. Můžeme také definovat logický součet, resp. součin map, kde výsledná mapa obsahuje v každé buňce logický součet, resp. součin hodnot uvedených v odpovídajících buňkách původních map. Z vyjádření logických funkcí pomocí mintermů a maxtermů je zřejmé, že výsledná mapa představuje součet, resp. součin funkcí představovaných původními mapami. Mapu pro tři proměnné (s, t, u) dostaneme z mapy pro čtyři proměnné na Obr. 6.4, vynecháním dolní poloviny, která odpovídá hodnotě r = I. Podobně mapu pro pět proměnných získáme doplněním původní mapy další mapou, která bude představovat
62
Evropský polytechnický institut s. r.o, Kunovice
zrcadlový obraz původní mapy umístěný například vpravo od ní, a bude odpovídat jedničkové hodnotě nové proměnné. S použitím map se setkáme podrobněji v následujících odstavcích. Karnaughovy mapy jsou výhodné pro zobrazení kombinačních logických funkcí nevelkého počtu vstupních proměnných. Při počtu těchto proměnných větším než 5 až 6 se mapy stávají nepřehlednými a jejich použití je problematické. Mapy však poskytují dobrý základ pro nalezení a osvětlení funkce obecnějších algoritmů, které se dnes používají zejména při počítačovém zpracování kombinačních logických funkcí. 6.3.5
Zobrazení logickými schématy s kombinačními logickými členy
Zápis logické funkce pomocí logického výrazu můžeme snadno převést do grafického tvaru tak, že vstupní a výstupní proměnné naznačíme ve formě vstupních a výstupních signálů logického schématu. Operace prováděné s proměnnými znázorníme pomocí grafických značek logických členů, které najdete v logických schématech uvedených dále. Většinou se používají značky představující jeden druh logické operace – logický součin, součet, operaci XOR atd. Z výstupu jednotlivých logických členů jsou tzv. vnitřní signály vedeny na vstupy dalších členů ve schématu. Tento schématický způsob zobrazení kombinačních logických funkcí není jediný možný, v literatuře najdeme i jiné. Vzájemný převod mezi zápisem logické funkce logickým výrazem a jejím zobrazením pomocí logického schématu je snadný a bude naznačen v kapitole o realizaci kombinačních logických funkcí logickými členy.
6.4 Zjednodušování zápisu kombinačních logických funkcí Při realizaci logických funkcí některými způsoby, jako například při jejich realizaci pomocí základních kombinačních číslicových integrovaných obvodů řady 74, je obvykle výhodné vycházet z minimálního tvaru zápisu funkce, který získáme z jiných tvarů zjednodušením (minimalizací). Ke zjednodušování se používají různé metody, z nichž zde uvedeme metodu algebraických úprav a metodu využívající Karnaughových map. V praxi se dnes zejména pro složitější funkce používají počítačové metody jejich zjednodušování založené na různých principech. Jedna z nejznámějších z těchto metod, zvaná metoda Quineho a McCluskeyho, představuje v podstatě převedení metody používající Karnaughovy mapy do algoritmického vyjádření (některé části této metody jsou zde však zobecněny ve větším rozsahu). I na složitější algoritmy, používané v počítačových programech, můžeme však často bez velké újmy na přesnosti pohlížet jako na algoritmy, které aspoň z hlediska uživatele fungují obdobně jako metody založené na použití Karnaughových map. Pro vyhledání minimálního zápisu kombinační logické funkce s pomocí Karnaughovy mapy byly vypracovány systematické postupy, které lze nalézt například v [ 11 ]. Pro naše účely, kdy se omezíme na minimalizaci funkcí nevelkého množství vstupních proměnných, však vystačíme s intuitivním přístupem. Pro minimalizaci složitějších funkcí se v praxi používají metody využívající počítačové programy. Posouzení složitosti zápisu kombinační logické funkce těsně souvisí se zamýšleným způsobem technické realizace těchto funkcí. Jak uvidíme dále, existuje větší množství způsobů této realizace. Pro každý z nich může být nejvýhodnějším (minimálním) určitý způsob zápisu, tyto způsoby zápisu však nemusí být stejné pro různé způsoby realizace. Použijeme-li k realizaci například číslicové integrované obvody typu NAND nebo NOR, pokládáme obvykle za minimální takový zápis typu SOP nebo POS, který vyžaduje co nejmenší počet potřebných vývodů použitých obvodů, což zhruba odpovídá co nejmenšímu počtu symbolů vstupních proměnných použitých v zápisu funkce. Při realizaci pomocí
Digitální technika
63
programovatelných logických obvodů se však snažíme vyjádřit realizované funkce pomocí co nejmenšího počtu termů (součinových nebo součtových) bez ohledu na počet proměnných obsažených v jednotlivých termech. Algoritmy s funkcí analogickou funkci algoritmů založených na použití Karnaughových map byly vyvinuty pro počítačové zpracování a minimalizaci funkcí velkého množství proměnných. Tyto algoritmy obvykle neposkytují absolutně minimální vyjádření zpracovávané funkce, tedy výsledek, který již není možno dále zjednodušit, rozdíl mezi tímto výsledkem a minimálním tvarem však bývá pro praktické účely obvykle zanedbatelný. Pro funkce s nepříliš velkým počtem vstupních proměnných, které jsou minimalizovatelné použitím Karnaughových map, dávají uvedené algoritmy obvykle výsledek shodný s výsledkem získaným ručním řešením. 6.4.1
Minimalizace úplně určených funkcí
Při zjednodušování pomocí algebraických úprav využíváme nejčastěji vztahu a + /a = I. Obsahuje-li logická funkce zapsaná v součtovém tvaru dva termy, které se vzájemně liší jen v jedné proměnné, je možno zbývající proměnné z jejich součtu vytknout, jak je ukázáno v následujícím ilustrativním příkladu r . s . t . /u + r . s . t . u = r . s . t . ( /u + u ) = r . s . t ( 6.7 ) Tato skutečnost je základem metody zjednodušování logických funkcí pomocí algebraických úprav, která je vhodná pro zjednodušování funkcí, jejichž zápis obsahuje nevelký počet termů. Je-li termů v zápisu více, je zpravidla obtížné hledat dvojice termů vhodné pro takové zjednodušení. Není-li počet vstupních proměnných příliš velký, bývá výhodnější použít při zjednodušování zobrazení funkce pomocí mapy. Dvojice sousedních buněk v mapě odpovídají mintermům, které se liší jen v jedné proměnné. Při zobrazení v mapě jsou takové dvojice mintermů zřejmé na první pohled a jejich sloučení znamená jejich nahrazení termem s počtem proměnných o jednu menším. Podobně dvě takové dvojice spolu sousedících buněk představují čtveřici, vyjadřující term, u něhož je vyloučena proměnná, která v původních termech měla nestejný znak inverze, tj. v jedné vystupovala přímo a v druhé v inverzi. Algebraicky to opět odpovídá vytknutí společných činitelů těchto termů, přičemž v závorce zůstane výraz typu (a + /a), který je roven jedničce a v součinu je pak vynechán. Podobným způsobem lze zjednodušit sousedící čtveřice, osmice atd. buněk mapy. V mapě je možno najít skupiny buněk (mintermů) vhodné pro zjednodušení mnohem snadněji než v algebraickém zápisu (pokud počet proměnných není příliš velký). To je základ pro použití map při zjednodušování zápisu logických funkcí či jejich minimalizaci, tj. nalezení minimálního tvaru jejich zápisu, vycházíme-li ze součtového zápisu funkce. Zcela analogický je postup zjednodušování, vycházíme-li ze součinového zápisu, pouze místo s mintermy pracujeme s maxtermy. Při zobrazení termů v mapě vyznačujeme slučované buňky pomocí smyček. Při zakreslování smyček se snažíme smyčky volit co největší – čím větší je smyčka, tím méně proměnných se vyskytuje v jejím zápisu. Například funkci e z příkladu pro displej můžeme zobrazit dvěma způsoby podle Obr. 6.7. Použijeme-li pro zápis součtový tvar zobrazený mapou na Obr. 6.7a, dostaneme: e = r . s + r . t + t . /u + /s . /u. ( 6.8 ) Z druhé mapy na Obr. 6.7b pak e = ( r + /u ).( r + /s + t ).( s + t + /u ).
( 6.9 )
64
Evropský polytechnický institut s. r.o, Kunovice t
u 0
1
3
I
2
0
I 4
5
7
I
D
s 6
I 8
F
I 9
I
1
3
2
7
6
D
F
E
9
B
A
O
O
4
O
I C
t
u
5
O
E
C
A
8
s
O
I B
I
O
I r
r
a)
b)
Obr. 6.7: Zobrazení a minimalizace funkce e. Příklad mapy logické funkce y se dvěma minimálními součtovými tvary je na Obr. 6.8. Jde o funkci, v níž jsou smyčky zřetězeny. To umožňuje dvojí výběr smyček. t
u 0
I
1
I 4
3
2
I 5
I
0
s 7
I
t
u
I
6
I
y = /t . /u + /s . u + s . t
1
I 4
3
2
I 5
I
s 7
I
6
I
y = /s . /t + t . u + s . /u
Obr. 6.8: Funkce se dvěma minimálními součtovými tvary. 6.4.2
Minimalizace neúplně určených funkcí
Pravdivostní tabulka neúplně určené funkce neobsahuje všechny řádky, které obsahuje tabulka úplně určené funkce se stejným počtem proměnných. Tedy pro některé kombinace vstupních proměnných není hodnota funkce definována. Pro tyto kombinace můžeme hodnotu funkce definovat dodatečně tak, aby vyjádření funkce bylo co nejjednodušší. Při zobrazení funkce mapou píšeme do buněk mapy, v nichž hodnota funkce není definována, symbol X. Zakreslujeme-li pak do mapy smyčky, můžeme, ale nemusíme tyto buňky zahrnout do smyček. Jako příklad uveďme minimální tvary pro funkci e převodníku (Obr. 6.2) kódu BCD na kód displeje. Pro mapu na Obr. 6.9a dostaneme zápis funkce ve tvaru SOP e = (/s) . (/u) + t . (/u).
( 6.10 )
Pro druhou mapu na Obr. 6.9b je výsledkem zápis ve tvaru POS e = (/u) . (/s + t).
( 6.11 )
V tomto případě je u obou zápisů snadno možné vzájemně převést jeden na druhý algebraickou úpravou. To však obecně neplatí. Dodatečná definice hodnot funkce v buňkách obsahujících symbol X může být u obou map různá a počet termů i počet proměnných v odpovídajících zápisech může být výrazně odlišný. Například pro funkci a u téhož převodníku (vyjdeme-li z upravené tabulky Tab. 6.6) dostaneme u mapy se smyčkami zahrnujícími nuly dva termy, v druhém případě se smyčkami zahrnující jedničky budou ve výsledku obsaženy čtyři termy. Podrobné sestavení této mapy přenecháme k procvičení čtenáři.
Digitální technika
65 t
u 0
1
I
3
O 4
5
O X
X 8
9
I
X B
O
A
X
8
X
E
X 9
I
I F
X
X B
O
s 6
O D
X
I 7
O C
2
O 5
O E
X
3
O 4
I F
1
I
s 6
O D
0
I 7
O C
2
O
t
u
A
X
X
r
r
a)
b)
Obr. 6.9: Minimalizace funkce (e), s využitím neúplnosti její definice. V některých nových publikacích se pro označení nedefinované hodnoty funkce místo symbolu X používá jiných symbolů. To je obvyklé zejména v literatuře zabývající se počítačovou podporou návrhu číslicových systémů a jejich simulací, kde se rozlišuje několik dalších typů hodnot logických proměnných. Například v jazyku VHDL je navíc definována „hodnota“ logické proměnné odpovídající konfliktní situaci, kdy dva či více výstupů logických obvodů jsou propojeny paralelně a každý z nich vnucuje tomuto uzlu jinou hodnotu. Tato hodnota se zde značí symbolem X a v angličtině se označuje termínem unknown. Nedefinované hodnotě ve smyslu, který jsme zavedli výše, se zde říká don’t care a pro její označení se užívá pomlčka. 6.4.3
Skupinová minimalizace
Pokud máme najít minimální zápis skupiny kombinačních logických funkcí, můžeme využít v zápisu druhého stupně těchto funkcí, tj. v součtovém stupni funkcí zapsaných ve tvaru SOP a v součinovém stupni funkcí zapsaných ve tvaru POS, všech termů vytvořených v prvním stupni. Tato skutečnost dovoluje zapsat skupinu funkcí úsporněji, než kdyby každá z těchto funkcí byla minimalizována samostatně. Pokud se však minimalizace provádí jako úprava funkce před její realizací, je nutno si uvědomit, že jen některé metody realizace takové využití termů vytvořených v prvním stupni dovolují – jsou to například metody realizace součtovými a součinovými obvody řady 74 nebo obvody PLD se strukturou PLA. Tato úprava však není využitelná například při realizaci funkcí pamětmi PROM nebo obvody PLD se strukturou PAL. Příklad 6.6 Jednoduchý příklad skupinové minimalizace. Podívejme se nejprve na jednoduchý příklad minimalizace funkcí f1 a f2, které jsou zadány mapami na Obr. 6.10. Využijeme přitom poznatků o realizaci kombinačních logických funkcí, které budou podrobněji vyloženy v následující kapitole. f : 1
0
I
1
O 4
I
f :
b
a 3
O 5
I
b
a
2
0
O 7
O
2
O 6
1
O 4
O
O c
3
I 5
I
2
O 7
I
6
O c
Obr. 6.10: Příklad funkcí minimalizovaných společně. Jsou-li funkce vyjádřeny obvyklým způsobem v minimálním součtovém tvaru, tj. každá samostatně, bude toto vyjádření dáno zápisem
66
Evropský polytechnický institut s. r.o, Kunovice f1 = /a . /b + /b . c,
f2 = a . b + a . c.
( 6.12 )
Budou-li tyto funkce realizovány pomocí členů NAND obsažených v pouzdru 7400, bude k realizaci podle tohoto zápisu zapotřebí celkem šest těchto logických členů, tedy jedno a půl pouzdra uvedeného obvodu. Pokud však využijeme skutečnosti, že u obou funkcí je přítomen minterm k5 = a . /b . c, můžeme je zapsat takto f1 = /a . /b + a . /b . c,
f2 = a . b + a . /b . c.
( 6.13 )
V tomto případě budou pro realizaci potřebné čtyři dvouvstupové členy NAND, tedy jedno pouzdro 7400, a jeden třívstupový člen NAND představující jednu třetinu pouzdra 7410. Je tedy zřejmé, že druhý způsob realizace je úspornější. V tomto jednoduchém případě sice není úspora velká, u rozsáhlejších funkcí však může být nezanedbatelná. Na tomto základě můžeme zformulovat následující závěr pro skupinovou minimalizaci kombinačních logických funkcí: při výběru termů pro realizaci musíme uvažovat nejen termy představované smyčkami, které bychom použili při samostatné realizaci každé z funkcí zvlášť, ale také termy, které se vyskytují společně ve více realizovaných funkcích, jako je v uvedeném příkladu term k5 = a . /b . c. Jinak řečeno, musíme vytvořit součiny všech dvojic realizovaných funkcí, součiny všech jejich trojic atd. až součin všech těchto funkcí, a pro výběr termů pro nalezení minimálního zápisu uvažovat i termy, které by byly potřebné pro realizaci těchto součinů. Složitější příklad skupinové minimalizace s náznakem řešení.
Příklad 6.7
Najděte minimální zápis skupiny funkcí f1, f2 a f3 vyjádřených Karnaughovými mapami nakreslenými na Obr. 6.11 f : 1
0
1
3
4
5
2
7
0
4
I D
F
3
c
I C
1
E
5
3
2
I
6
f :
b
a
2
I I
f :
b
a
7
0
4
9
B
I
A
8
I
F
9
E
B
2
C
A
8
I
7
I D
I I
d
5
I D
3
c 6
I 8
1
I
I C
b
a
F
E
I B
I d
I
I 9
c 6
A
I d
Obr. 6.11: Mapy funkcí určených ke skupinové minimalizaci. Řešení: Ze zadaných funkcí (Obr. 6.11) vytvoříme součiny dle Obr. 6.12. V těchto součinech vyznačíme termy (implikanty), které budou připadat v úvahu při vyjádření funkcí v minimálním tvaru tak, jak je naznačeno Obr. 6.13. Označíme je symboly T s příslušným indexem (viz. Obr. 6.13). Implikanty začneme vybírat od součinu f1 . f2 . f3 tak, aby jimi byly realizované funkce pokryty (viz. Obr. 6.14). Termy T2, T3 budou nezbytné pro vyjádření funkcí f1 a f2, zakreslíme je proto do výsledných map (Obr. 6.14). Term T2 bude obsažen v dalších termech, nebude tedy pro vyjádření potřebný. V součinu f1 . f2 je term T4 potřebný pro zápis funkcí f1 . f2, a v součinu f2 . f3 je term T4, který bude použit ve vyjádření funkcí f2 a f3. Zbývá ještě term T6, který je jen ve funkci f3. Bude tedy dostatečné vytvořit v prvním stupni termy T2 až T6.
Digitální technika
67
Výsledný zápis funkcí tedy bude následující f1 = T2 + T3 + T4 = b . /c . d + /a . b . /c + t . /u + a . /b . c, f2 = T2 + T3 + T4 + T5 = b . /c . d + /a . b . /c + t . /u + a . /b . c + /b . c . /d,
( 6.14 )
f3 = T2 + T5 + T6 = b . /c . d + /b . c . /d + b . c. Další příklady na minimalizaci logických funkcí najdeme v literatuře [ 2 ], [ 4 ], [ 14 ] aj. f .f : 1
2
b
a 0
1
3
I
5
2
3
2
I 4
f .f :
7
0
1
3
2
I
c 6
4
I C
b
a
c
5
7
6
D
F
E
I D
F
E
C
I 8
9
B
I
A
8
9
I
B
I
A
I
d f .f : 1
3
b
a 0
1
3
4
5
f .f .f : 1
2
I 7
d 2
3
b
a 0
1
3
2
I
c 6
4
I
c
5
7
6
F
E
I
C
D
8
9
F
B
I
E
C
D
A
8
9
I
B
I d
A
I d
Obr. 6.12: Součiny minimalizovaných funkcí.
6.5 Shrnutí kapitoly Pro zápis a zobrazení kombinačních logických funkcí se nejčastěji používají pravdivostní tabulky, logické výrazy, mapy a logická schémata. Ze zápisu kombinační logické funkce pravdivostní tabulkou přímo vyplývá její vyjádření pomocí úplného součtového a součinového tvaru, tedy pomocí jednoho ze tvarů logického výrazu. Pomocí pravidel Booleovy algebry můžeme takový zápis dále upravovat. Nejčastěji používanou úpravou je zjednodušování (minimalizace) logického výrazu, které umožňuje funkci ekonomicky realizovat. Pro zjednodušování zápisu kombinačních logických funkcí se používají různé metody, které jsou dnes základem počítačového zpracování návrhu číslicových systémů. Při ručním zpracování se v nejjednodušších případech používají úpravy zápisu pomocí pravidel Booleovy algebry, pro složitější funkce je vhodná metoda využívající zobrazení funkce pomocí Karnaughovy mapy. Tuto metodu můžeme použít pro minimalizaci úplně i neúplně určených funkcí. Je však vhodná jen pro omezený počet vstupních proměnných, prakticky nejvýše pro 5 až 6 proměnných. Pro minimalizaci rozsáhlejších kombinačních logických funkcí se používají počítačové minimalizační metody.
68
Evropský polytechnický institut s. r.o, Kunovice f .f : 1
b
a
2
0
1
3
I
5
2
7
b
a
3
2
0
I 4
f .f :
1
2
I
c 6
4
I C
3
c
5
7
6
D
F
E
I D
F
E
C
I
T
5 8
9
B
I
T
A
8
4
I
9
B
I
A
I
d f .f : 1
b
a
3
d
0
1
3
5
1
2
7
b
a
3
2
1
3
2
I
c 6
T
3
0
I 4
f .f .f :
4
c
5
7
6
C
D
F
E
8
9
I
I
C
D
8
9
F
B
I
T
E
1
A
B
I
I
A
I T
d
2
d
Obr. 6.13: Součiny s vyznačenými implikanty. f :
f :
1
a 0
1
3
4
I
5
7
0
c 6
4
I D
F
3
E
5
7
6
0
4
9
B
I
A
8
I
F
9
E
B
2
C
A
8
I
7
I D
I I
d
5
I D
3
c 6
I 8
1
I
I C
b
a
2
I
I C
1
T
3
b
a
2
I
f :
2
b
F
E
I B
I d
I
I 9
c 6
A
I d
Obr. 6.14: Výsledné pokrytí funkcí.
6.6 Kontrolní otázky 1) Je možno v některých případech zjednodušit zápis kombinační logické funkce pomocí pravdivostní tabulky tak, aby nebyla příliš dlouhá při větším počtu vstupních proměnných? 2) Jak by se takové zjednodušení promítlo do Karnaughovy mapy zapsané funkce a do jejího zápisu logickým výrazem? 3) Jakou metodu minimalizace byste použili u složité kombinační funkce desíti proměnných, pro niž je Karnaughova mapa prakticky nepoužitelná?
Digitální technika
69
7 Realizace kombinačních logických funkcí Cíle kapitoly: Poskytnout studentům přehled o současných technických prostředcích pro realizaci kombinačních logických funkcí a metodách této realizace.
7.1 Přehled realizací kombinačních logických funkcí Realizací kombinační logické funkce (KLF) zde budeme rozumět sestavení schématu zapojení obvodu, který ze vstupních proměnných vytvoří výstupní proměnné v souhlasu se zadanou logickou funkcí. Při použití moderních mikroelektronických součástek k této realizaci často postačí jediný integrovaný obvod, který buď najdeme v příslušném katalogu, pokud se vyrábí sériově, nebo můžeme použít programovatelných prostředků (pamětí PROM, obvodů PLD), které programováním nakonfigurujeme tak, aby realizovaly požadovanou funkci. Přesto základním způsobem zůstává realizace kombinačních logických funkcí pomocí kombinačních logických obvodů představujících realizaci základních logických členů v integrované podobě, kdy se vychází ze zápisu logické funkce v některém z výše uvedených tvarů SOP nebo POS. Jak uvidíme, z tohoto způsobu zápisu funkce se vychází i při použití některých moderních součástek s vysokým stupněm integrace, jako jsou například programovatelné logické obvody (PLD). Nejčastěji se v číslicové technice setkáme s těmito způsoby realizace KLF: 1. pomocí číslicových integrovaných obvodů typu NAND, NOR (popřípadě AND, OR) a dalších obvodů realizujících základní kombinační logické funkce – např. XOR aj., 2. pomocí multiplexorů a demultiplexorů, 3. pomocí speciálních kombinačních integrovaných obvodů (převodníky kódu, generátory parity, sčítačky, násobičky a podobně, patří sem i použití multiplexorů a demultiplexorů), 4. pomocí pamětí PROM, 5. pomocí programovatelných logických obvodů (PLD). Ve zvláštních případech je možno k realizaci KLF využít i jiných prostředků (tranzistorů, diod apod.), což může být vhodné například tam, kde nemáme k dispozici vhodný napájecí zdroj pro číslicové obvody a jeho vytvoření by bylo složitější než realizace standardním zde uvedeným způsobem.
7.2 Realizace základními kombinačními číslicovými obvody Při realizaci KLF se obvykle snažíme o co nejúspornější zapojení, které obvykle představuje řešení s co nejmenším počtem použitých pouzder integrovaných obvodů. Přitom může být důležité, je-li potřebné realizovat funkci v přímém tvaru nebo je-li přijatelné realizovat její inverzi. Někdy je dále k dispozici přímý i invertovaný tvar vstupních signálů. V dalším textu budeme předpokládat, že chceme realizovat přímý tvar funkce a že jsou k dispozici oba tvary vstupních signálů. V případě, že jsou požadavky jiné, není obvykle příliš obtížné intuitivně modifikovat dále uvedené postupy tak, aby byly tyto požadavky splněny, tedy například zahrnout do schématu invertory vytvářející potřebný tvar vstupních signálů. Existují však i systematické metody k nalezení minimální formy zápisu i v tomto případě, jak bude uvedeno v závěru příštího odstavce.
70 7.2.1
Evropský polytechnický institut s. r.o, Kunovice Realizace součinovými a součtovými obvody
Při realizaci lze vyjít ze zápisu realizované funkce v součtovém nebo součinovém tvaru. Obvykle bývá výhodné použít pro realizaci logické členy téhož typu, tj. buď součinové nebo součtové členy. Snaha je, aby to byly stejné členy NAND nebo NOR (komerčně dostupné IO v řadách 74.. aj.). Nevyužijeme-li všechny logické členy obsažené v pouzdrech v prvním stupni, můžeme je pak využít ve druhém stupni. To však nelze chápat jako dogma, v některých případech může být vhodné použít i jiných typů integrovaných obvodů. b
a 0
1
I 4
3
2
I 5
c 7
6
I Obr. 7.1: Mapa realizované funkce (y). Realizace funkce součinovými a součtovými obvody. Příklad 7.1 Jako příklad uvažujme funkci y tří proměnných (a, b, c), která je dána mapou podle Obr. 7.1. Tuto funkci máme realizovat součinovými a součtovými obvody. Budeme předpokládat, že jsou k dispozici vstupní veličiny v přímém i inverzním tvaru. Řěšení: Ze zobrazení Karnaughovy mapy na Obr. 7.1 odvodíme zápis požadované funkce y a to v této součtové formě SOP y = a . /c + /a . b . c.
( 7.1 )
Přímá realizace výrazu ( 7.1 ), logickým obvodem na Obr. 7.2, není vhodná, protože schéma obsahuje dva členy AND a jeden OR. My se budeme snažit realizovat zadanou funkci pouze stejnými členy NAND nebo NOR. Pro vhodnou realizaci součinovými členy převedeme pomocí DeMorganova pravidla součet v ( 7.1 ) na tento součin y = /( /( a . /c) . /( /a . b . c)).
( 7.2 )
Výrazu ( 7.2 ) odpovídá logické schéma na Obr. 7.3a, obsahující jen tři stejná hradla NAND.
Obr. 7.2: Nevhodná přímá realizace funkce y. (na základě zápisu ( 7.1 )). Pro realizaci součtovými členy převedeme součiny v ( 7.1 ) na součty následovně y = /( /a + c) + /(a + /b + /c). ( 7.3 ) Při realizaci této funkce členy NOR (Obr. 7.3b) dostaneme její inverzi. Proto je na Obr. 7.3b na výstupu zapojen ještě invertor. Dva členy NOR ve druhém stupni obvodu (na výstupu) realizují potřebný člen OR.
Digitální technika
71
V součinovém tvaru POS je funkce y zapsána takto y = (a + b) . ( /a + /c) . (a + c).
( 7.4 )
Při realizaci součtovými členy zápis upravíme do následujícího tvaru y = /( /(a + b) + /( /a + /c) + /(a + c))
( 7.5 )
Chceme-li použít součinové členy, vyjdeme z dále upraveného zápisu y = /( /a . /b) . /(a . c) . /( /a . /c)
( 7.6 )
Tomu odpovídají další schémata na Obr. 7.3. Zapojení na Obr. 7.3c realizuje zápis ( 7.5 ) a na Obr. 7.3d pak vzorec ( 7.6 ). Všechna tato zapojení splňují podmínku vhodné realizace. a /c
/a b c
/a
& &
1
c
1
y a /b /c
&
1
a) a
b) /a
1
1
c
1
a y
&
1
/a
& 1
c
/c a
&
/b
b /a
y
1
y
&
/c
c) d) Obr. 7.3: Vhodné realizace funkce součinovými a součtovými obvody. a) realizace zadané funkce y členy AND, na základě součinového zápisu ( 7.2 ), b) realizace zadané funkce y členy OR, na základě součtového zápisu ( 7.3 ), c) realizace zadané funkce y členy AND, na základě součinového zápisu ( 7.5 ), d) realizace zadané funkce y členy OR, na základě součtového zápisu ( 7.6 ) V případě, že se má realizovat současně několik funkcí těch samých proměnných, je možné využít termy vytvořené v prvním stupni pro realizaci více funkcí, pokud tyto funkce obsahují společné termy, jak bylo podrobněji uvedeno v kapitole o skupinové minimalizaci. Z uvedeného příkladu můžeme učinit obecnější závěry: Vycházíme-li při realizaci ze součtového tvaru zápisu, je funkce realizována strukturou NAND-NAND nebo NOR-OR. Vyjdeme-li ze součinového tvaru, dostaneme strukturu NOR-NOR nebo NAND-AND. Obě zapojení vycházející z téhož tvaru jsou topologicky stejná, tj. obsahují stejný počet logických členů, které mají stejný počet vstupů. To plyne ze skutečnosti, že při realizaci součinovými nebo součtovými členy na základě určitého tvaru zápisu byly pouze operace jednoho druhu převedeny pomocí DeMorganova pravidla na operace druhého druhu (logický součet na součin či naopak), počet operací potřebný ve funkci však zůstal nezměněn. V konkrétních případech se zapojení vyžadující nejmenší množství spotřebovaných součástek i s ohledem na vyráběné typy obvodů najde tak, že vyzkoušíme všechny varianty a vybereme z nich nejvhodnější. Po krátké praxi není tento způsob optimalizace nesnadný ani zdlouhavý, jak by se mohlo na první pohled zdát, aspoň pro nepříliš složité funkce, pro něž je tento způsob realizace vhodný. Složitější funkce se pak realizují způsoby uvedenými v dalších kapitolách. Například pomocí programovatelných logických obvodů nebo pamětí PROM.
72
Evropský polytechnický institut s. r.o, Kunovice
V předcházející úvaze jsme předpokládali, že máme k dispozici jak přímé, tak invertované hodnoty vstupních proměnných. Někdy však tomu tak není a invertované hodnoty musíme vytvořit z přímých hodnot pomocí invertorů, což zvyšuje spotřebu součástek. Existují metody minimalizace, jejichž pomocí lze najít minimální tvar funkce i v tomto případě. Je to například metoda minimalizace struktury TANT (Three-stage And-Not structure with True inputs), která je zobecněním minimalizačního postupu, uvedeného výše. Invertory, k vytvoření invertovaných vstupních proměnných, se zde považují za třetí stupeň struktury NAND-NAND. Vytvoří se struktura, která v tomto stupni může obsahovat místo invertorů členy NAND, což může přinést zjednodušení. Podobně metodou minimalizace struktury TONT (Three-stage Or-Not structure with True inputs) lze vytvořit optimální strukturu analogickou struktuře NOR-NOR. Tyto metody jsou složitější než ty, které jsme vyložili výše, a jsou popsány například v literatuře [ 10 ], [ 11 ]. 7.2.2
Realizace pomocí členů AND-OR-INVERT
Tyto logické členy se vyrábějí v několika provedeních, která se vzájemně liší počtem součinových sekcí a počtem vstupů v těchto sekcích. Jejich použití je výhodné tam, kde má realizovaná funkce tvar odpovídající těmto počtům. Například obvod 74..51 (Obr. 7.4) je vhodný pro realizaci funkcí, které při vyjádření v součinovém tvaru obsahují dva součtové termy o dvou proměnných. a
& 1
b c
y &
d
Obr. 7.4: Schematická značka obvodu 74..51. Funkci y, kterou obvod realizuje, je možno psát ve tvaru: y = /(a . b + c . d) = /(a . b) . /(c . d) = ( /a + /b) . ( /c + /d).
( 7.7 )
Výhodou je, že signál ze součinové části postupuje do součtové části uvnitř pouzdra, takže je zde menší zpoždění, než kdyby musel procházet přes vývody, zjednoduší se obrazec spojů a dále je možno ušetřené vývody použít pro další vstupy, jak je popsáno v posledním odstavci této kapitoly. Má-li se však realizovat více funkcí těchže proměnných, není možno užít dílčí součiny z prvního stupně pro několik funkcí. Existují metody, jak lze pomocí členů AND-OR-INVERT realizovat i složitější funkce (viz např. [ 15 ]), výhody tohoto způsobu realizace bývají však sporné (je obvykle potřebný větší počet pouzder než při použití jiných způsobů realizace, které budou uvedeny dále). Členy AND-OR-INVERT se dříve vyráběly se dvěma dalšími vývody, k nimž bylo možno připojit tzv. expandéry. To jsou speciální obvody obsahující další přídavné součinové sekce. Expandéry se postupně přestaly používat a vývody pro připojení expandéru byly u některých typů obvodů (např. u obvodu 7451 ve verzi LS) zrušeny – nahrazeny vývody bez vnitřního připojení. U modernějších verzí byly využity k rozšíření počtu vstupů součinových sekcí, takže např. obvod 74HC51 obsahující dva členy AND-OR-INVERT má u jednoho členu třívstupové součinové sekce a u druhé dvouvstupové, zatímco obvod 74LS51 má oba členy shodné se dvouvstupovými součinovými sekcemi a dva vývody bez vnitřního připojení. Podrobnosti u dalších řad je možno najít v katalogových listech.
Digitální technika
73 i0 i1 i2 i3 i4 i5 i6 i7
I0 I1 I2 I3 I4 I5 I6 I7
a2 a1 a0
A2 A1 A0
/s
MX y
S
Obr. 7.5: Schematická značka multiplexoru (74..151).
7.3 Použití multiplexorů a demultiplexorů Multiplexor (Obr. 7.5) je obvod, který má určitý počet datových vstupů (jsou to vstupy I0 až I7 na Obr. 7.5) a jeden výstup (y), popř. dva komplementární výstupy (Obr. 7.5). Má dále adresové vstupy (A0 až A2 na Obr. 7.5), na které se přivádějí adresové signály tvořící binárně zakódovanou adresu. Datové vstupy jsou očíslovány a jejich počet se shoduje s počtem možných adresových kombinací. Signál z datového vstupu s číslem odpovídajícím adrese je multiplexorem převeden na výstup, signály z ostatních datových vstupů nejsou respektovány. Je-li počet adresových vstupů multiplexoru n, je počet jeho datových vstupů 2n. Multiplexor bývá často doplněn výběrovým vstupem (S – select), který hradluje procházející signál. Je-li na tomto vstupu signál s aktivní úrovní, pak signál z vybraného datového vstupu prochází na výstup, v opačném případě je výstupní signál y neaktivní (y = O). Výběrový vstup se používá nejčastěji pro sestavování větších multiplexorů z několika menších, jak je ukázáno např. v [ 2 ]. Funkci multiplexoru z Obr. 7.5 můžeme popsat vztahem y = s . (k0 . i0 + k1 . i1 + ... + k7 . i7), kde k0 = /a2 . /a1 . /a0, k1 = /a2 . /a1 . a0, ... , k7 = a2 . a1 . a0.
( 7.8 )
V kapitole 6.3 byl uveden zápis kombinační logické funkce v úplném součtovém tvaru ( 6.4 ), který pro tři vstupní proměnné x3, x2, x1 je f(x3, x2, x1) = f0 . k0 + f1 . k1 + ... + f7 . k7,
( 7.9 )
kde k0, k1, …, k7 jsou mintermy složené z proměnných x3, x2, x1. Tento výraz je formálně shodný s výrazem v závorce v popisu funkce multiplexoru, ztotožníme-li adresové proměnné a2, a1, a0 multiplexoru s proměnnými x3, x2, x1 (součiny těchto proměnných představují mintermy k0 až k7) a hodnoty i0, i1, ..., i7 s hodnotami f0, f1, ..., f7. Pomocí multiplexoru z Obr. 7.5 můžeme tedy realizovat jakoukoliv funkci tří proměnných f(x3, x2, x1), přivedeme-li na jeho vstupy I0, I1, …, I7 signály s hodnotami f0, f1, ..., f7 (vstupy uzemníme nebo připojíme přes vhodný rezistor ke zdroji napájecího napětí podle toho, je-li příslušná hodnota funkce nulová nebo jedničková). Z vyjádření funkce jsme tak proměnné x3, x2, x1 eliminovali. Podobným způsobem můžeme postupovat i při eliminaci části proměnných u funkcí většího počtu proměnných. Zapíšeme-li funkci f(xn, ..., x1) v úplném součtovém tvaru (mámeli zkrácený tvar jejího zápisu, doplníme jej na úplný podle postupu uvedeného na konci odstavce 6.3), můžeme všechny mintermy seřadit do skupin tak, aby v každé skupině byly např. proměnné x3, x2, x1 ve stejném vyjádření co do přímého nebo inverzního tvaru, a tyto proměnné pak vytknout. Dostaneme pak zápis této funkce ve tvaru
74
Evropský polytechnický institut s. r.o, Kunovice f(xn, ..., x1) = f0 . k0 + f1 . k1 + ... + f7 . k7,
( 7.10 )
kde nyní f0, f1, ..., f7 jsou tzv. zbytkové funkce proměnných xn, ..., x4 (neobsahují již x3, x2, x1). Jsme-li nyní schopni funkce f0, f1, ..., f7 snadno realizovat, pak z nich funkci f(xn, ..., x1) získáme pomocí multiplexoru stejně jako jsme pomocí něho realizovali funkci f(x3, x2, x1), tj. na jeho vstupy I0, I1, …, I7 přivedeme signály s hodnotami zbytkových funkcí f0, f1, ..., f7 a na jeho adresové vstupy přivedeme proměnné x3, x2, x1. Při použití multiplexoru se třemi adresovými vstupy je tento způsob výhodný zejména pro realizaci funkcí čtyř proměnných (obecně u multiplexoru s n adresovými vstupy pro realizaci funkcí n + 1 proměnných), protože pak bude na každém ze vstupů I0, I1, …, I7 multiplexoru některá z těchto hodnot: zbývající proměnná, její inverze, I, O, které jsou bezprostředně k dispozici. Příklad 7.2 Realizace funkce multiplexorem. Jako příklad uveďme realizaci funkce pro segment e převodníku kódu BCD na kód sedmisegmentového displeje (Obr. 6.2). Vyjděme např. z minimálního tvaru zápisu této funkce odvozeného v odstavci 6.3: e = r . s + r . t + t . /u + /s . /u.
( 7.11 )
Eliminujme odtud pomocí adresových vstupů multiplexoru např. proměnné s, t a u. Výraz pro funkci e doplníme tak, aby každý sčítanec obsahoval všechny eliminované proměnné: e = r . s . (t + /t) . (u + /u) + r . (s + /s) . t . (u + /u) + (s + /s) . t . /u + +/s . (t + /t) . /u.
( 7.12 )
Po roznásobení dostaneme výraz, v němž sčítance seskupíme tak, aby bylo možno vytknout součiny eliminovaných proměnných. Toto seskupení je možno nejlépe provést formou tabulky zbytkových funkcí (Tab. 7.1), kde vypíšeme všechny kombinace eliminovaných proměnných (v prvním řádku) a k nim napíšeme, co z jednotlivých sčítanců zbylo po vytknutí (druhý řádek). Roznásobený výraz zde není uveden, ale do tabulky jsou vypsány všechny zbylé proměnné z tohoto výrazu a tam, kde je možné zápis zjednodušit, je připsán i zjednodušený tvar. Tab. 7.1: Tabulka zbytkových funkcí. /s . /t . /u /s . /t . u /s . t . /u /s . t . u r +I+I = I r I O
s . /t . /u r
s . /t . u s . t . /u s . t .u r r+r+I = I r +r = r
Výsledný výraz pro realizaci funkce pomocí multiplexoru tedy je: e = /s . /t . /u . I + /s . /t . u . O + /s . t . /u . I + /s . t . u . r + s . /t . /u . r + s . /t . u . r + s . t . /u . I + s . t . u . r.
( 7.13 )
Odpovídající zapojení je nakresleno na Obr. 7.6. Tento způsob realizace kombinačních logických funkcí s použitím integrovaných multiplexorů byl svého času značně oblíbený. V dnešní době jeho význam poklesl, protože existují způsoby realizace, které bývají obvykle výhodnější, např. realizace s využitím programovatelných logických obvodů. Často se však s multiplexory tímto způsobem použitými setkáme ve strukturách složitějších integrovaných obvodů. Demultiplexor je obvod provádějící opačnou operaci než multiplexor. Stejnou logickou funkci vykonává obvod zvaný dekodér, u něhož však výstupy chápeme jako signál kódovaný v kódu 1 z n. Tento kód se velmi často používá, a proto také dekodér převádějící signál z binárního kódu do kódu 1 z n je v povědomí elektroniků pevně zachycen pod tímto označením.
Digitální technika
75
Pohlížíme-li na tento obvod jako na demultiplexor, pak jednu skupinu jeho vstupů označujeme za adresové vstupy (na Obr. 7.7 jsou to vstupy A, B, C; nejméně významný bit je A, pořadí kreslení je podle ustáleného zvyku opačné než u multiplexoru), které vybírají výstup, na nějž se vede signál z dalšího, tzv. datového vstupu (vstup D z Obr. 7.7a, který však by v tomto pojetí byl inverzní). Často pak mluvíme o adresových vstupech i v souvislosti s dekodérem. +5 V
MX
I0 I1 I2 I3 I4 I5 I6 I7
4K7
r s t u
e
A2 A1 A0 S
Obr. 7.6: Realizace funkce e pomocí multiplexoru. Dekodéry vyráběné jako integrované obvody mají obvykle počet výstupů N = 10, pak jde o převodník kódu BCD na kód 1 z 10, jako tomu na Obr. 7.7a. Nebo je tento počet dán vztahem N = 2n ,
( 7.14 )
kde n je počet adresových vstupů, pak mluvíme o úplném dekodéru. Převodník z Obr. 7.7a může být považován za demultiplexor s osmi výstupy, přičemž za adresové vstupy pak považujeme vstupy A, B, C a vstup D za datový vstup, který je však při této interpretaci inverzní. Výstupy O8 a O9 v tomto případě nejsou využity. B/D
A B C D
(a )
O0 O1 O2 O3 O4 O5 O6 O7 O8 O9
DC a b c
A B C
O0 O1 O2 O3 O4 O5 O6 O7
/y0 /y1 /y2 /y3 /y4 /y5 /y6 /y7
(b )
Obr. 7.7: Převodník kódu BCD na kód 1 z 10 typu 74..42. a) demultiplexor, b) dekodér. Na Obr. 7.7b je nakreslen dekodér s vynechanými nepoužitými vývody (D, O8,.O9). Výstupní proměnné y0 až y7 je možno zapsat takto y0 = /c . /b . /a, y1 = /c . /b . a, ..., y7 = c . b . a.
( 7.15 )
Signály na výstupu dekodéru představují inverzi těchto proměnných. Je-li počet výstupů roven celistvé mocnině čísla 2, můžeme považovat proměnné y0 až y7 za mintermy vytvořené z proměnných na jeho vstupech. To je podstata použití dekodéru pro realizaci kombinačních logických funkcí. Při ní vycházíme z úplného součtového tvaru zápisu realizované funkce, nebo z pravdivostní tabulky. Ty výstupní signály dekodéru, které odpovídají mintermům
76
Evropský polytechnický institut s. r.o, Kunovice
obsaženým v realizované funkci, sečteme logickými členy připojenými k výstupům dekodéru. Má-li dekodér jako na Obr. 7.7b inverzní výstupy, přejde jejich součet podle DeMorganova pravidla v součin. Je přitom výhodné, můžeme-li využít vytvořené mintermy pro více současně realizovaných funkcí. Tab. 7.2: Pravdivostní tabulka pro funkce z1 až z4. c b a z1 z2 z3 z4 O O O I O O I O O I I O O O O I O I I O O O I I O I O O I O O O I I O I O I O O I O I I O O O I I I I I O O O I Příklad 7.3 Realizace funkcí dekodérem. Jako příklad realizujme funkce z1, z2, z3, z4 vstupních proměnných a, b, c dané pravdivostní tabulkou (). Každý z výstupů dekodéru je aktivní pro hodnoty vstupních proměnných odpovídající jednomu řádku pravdivostní tabulky. Součinové členy připojené k jeho výstupům dávají na svých výstupech hodnotu I, je-li některý z výstupů dekodéru, které jsou připojeny k jejich vstupům, v aktivním stavu. Podle pravdivostní tabulky můžeme nyní snadno vybrat výstupy dekodéru, které mají být připojeny k jednotlivým součinovým členům vytvářejícím funkce z1 až z4 (Obr. 7.8). B/D a b c
A B C D
O0 O1 O2 O3 O4 O5 O6 O7 O8 O9
&
z1
&
z2
&
z3
&
z4
Obr. 7.8: Realizace funkcí z1 až z4 s využitím dekodéru.
7.4 Další způsoby realizace kombinačních logických funkcí Pro mnoho často se vyskytujících funkcí se vyrábějí ve známých řadách (74, 4000) speciální číslicové integrované obvody. Tyto obvody se vyrábějí ve velkých sériích, jsou proto levné a dokonale propracované z hlediska funkčních vlastností. Patří mezi ně ve skutečnosti i multiplexory, demultiplexory a dekodéry. Zvláště zaslouží zmínku logický člen s funkcí XOR, dále jsou k dispozici různé enkodéry s funkcí opačnou k funkci dekodérů, generátory parity, sčítačky, aritmeticko-logické jednotky atd. Některé z nich jsou vybaveny speciálními vstupními a výstupními obvody, jako výstupy s větším přípustným proudovým nebo napěťovým zatížením, s otevřeným kolektorovým výstupem, s třístavovým výstupním zesilovačem, se vstupní hysterezí (vybavené Schmittovým obvodem na vstupu) atd.
Digitální technika
77
V některých případech je účelné realizovat dodatečnou logickou funkci pomocí obvodů s otevřeným kolektorovým výstupem. Tyto obvody jsou výhodné zejména tam, kde potřebujeme vytvořit logický součin (nebo s využitím DeMorganova pravidla logický součet) signálů, jejichž počet předem neznáme – může být např. dán počtem použitých zásuvných jednotek v mikropočítači. Vývody na určité pozici konektoru buzené otevřeným kolektorovým výstupem mohou být vzájemně propojeny a odpovídající signály tak budou logicky vynásobeny. Paměti ROM, PROM a jejich různé varianty (EPROM, EEPROM atd.) v naprogramovaném stavu můžeme rovněž pokládat za kombinační logické obvody. Jejich význačnou vlastností je univerzálnost, tj. schopnost vytvořit bez omezení jakoukoliv kombinační logickou funkci svých vstupních proměnných. Jsou proto vhodné tam, kde potřebujeme realizovat složité funkce mnoha proměnných, zejména odpovídá-li počet realizovaných funkcí počtu výstupů vyráběných pamětí. Přístroje pro naprogramování pamětí PROM patří dnes již ke standardní výbavě elektronických laboratoří. Nevýhodou těchto pamětí pro účely realizace KLF je především jejich dostupný sortiment. Vyráběné paměti jsou pro obvyklé KLF většinou příliš velké, takže se zřídka využijí z více než několika procent svých možností. Běžné paměti PROM jsou také zhruba o řád pomalejší než jiné kombinační integrované obvody. Princip přerušitelných propojek zde byl použit jen pro vysvětlení, se dnes již téměř nepoužívá. Na funkci paměti to však nic nemění. Často se používají paměti tohoto typu mazatelné ultrafialovým světlem (EPROM), v nichž programovatelnými prvky jsou tranzistory FET s plovoucím hradlem. Tyto paměti jsou charakteristické křemenným okénkem pro možnost ozáření čipu při mazání. Paměti OTP (One Time Programmable – jednou programovatelné) se vyrábějí se stejným čipem v levnějším pouzdru bez okénka. Stále více se také prosazují paměti mazatelné elektricky (EEPROM, FLASH), jejichž výhodou je mimo jiné značně kratší doba potřebná k jejich vymazání. O pamětích se více dovíte v kap. 14. Programovatelné logické obvody označované zkratkou PLD – Programmable Logic Devices jsou vhodné k realizaci kombinačních logických funkcí podobně jako paměti PROM, nemají však jejich největší nevýhody. U těchto obvodů se nevytvářejí mintermy, ale jen skutečně potřebné termy v programovatelném součinovém poli, které je zapojeno podobně jako pole OR u paměti, diody jsou však v něm pólovány opačně, takže vytvářejí logický součin. Toto pole je zapojeno místo úplného dekodéru. Výstupem pole jsou pak součinové linky, které představují termy. Tato struktura, s programovatelným polem AND a následujícími pevně zapojenými součtovými členy, se nazývá struktura PAL – Programmable Array Logic. Někdy se používá také struktura zvaná PLA – Programmable Logic Array, kde jsou oba stupně programovatelné. U těchto struktur lze při realizaci funkce vycházet z minimálního tvaru zápisu, takže rozsah programovatelného pole může být výrazně menší pro většinu logických funkcí než u struktury PROM. Proto jsou obvody PLD také rychlejší, zpoždění je u nich srovnatelné se zpožděním jiných základních kombinačních obvodů. V obvodech PLD však nemohou být realizovány všechny možné termy, protože jejich počet je pro daný počet vstupů ještě mnohem větší než počet mintermů. Počet součinových linek a tedy největší počet vytvářených termů bývá obvykle od pěti do dvacíti, u obvodů CPLD jich může být až několik desítek. Proto obvody PLD nejsou univerzální, tj. funkce s větším počtem termů v nich nelze realizovat – aspoň ne v jednoprůchodovém zapojení, které odpovídá dvoustupňové realizaci podle kap. 7.2.1. Je však možné složité funkce rozdělit na dílčí jednodušší funkce a ty pak realizovat v prvním průchodu samostatně, a výsledky sloučit v dalším průchodu. Signál pak prochází strukturou vícekrát, což má za následek jeho větší zpoždění.
78
Evropský polytechnický institut s. r.o, Kunovice
Nejjednodušší obvody PLD se vyrábějí s označením GAL. Je však vyráběna i řada složitějších typů, tzv. obvody CPLD – Complex PLD. Jsou vhodné ve většině případů, kde by realizace vyžadovala větší množství pouzder standardních logických obvodů, kde však není nezbytná univerzálnost jako u pamětí PROM. Tyto obvody se dnes vyrábějí v sortimentu, který umožňuje zvolit nejvýhodnější typ obvodu tak, aby byl efektivně využit. Velkou předností obvodů PLD je, že v nich lze realizovat současně bloky kombinačního i sekvenčního charakteru, což přispívá k dalšímu zmenšení potřebného počtu pouzder. Pro realizaci složitých číslicových systémů se dnes používají programovatelné obvody typu FPGA – Field Programmable Gate Arrays, které svou velikostí navazují na obvody CPLD. Obvody PLD a FPGA představují dnes jeden z nejperspektivnějších směrů realizace číslicových systémů. Podrobný popis jednoduchých obvodů PLD a řadu příkladů jejich aplikací lze najít například ve skriptech [ 3 ].
7.5 Shrnutí kapitoly 7 Základní kombinační obvody NAND, NOR a jejich neinvertované verze jsou vhodné pro ty případy, kdy jde o jednoduché funkce, pro jejichž realizaci vystačíme s jedním či dvěma pouzdry. V případě potřeby je možno při tomto způsobu realizace snadno odstranit hazardy, jak bude uvedeno dále. Výhodou je jednoduchost, levnost, malé zpoždění signálu. Nevýhodou je omezený rozsah funkcí ekonomicky realizovatelných a nutnost změny zapojení včetně spoje při změně funkce. Podobné výhody a nevýhody jsou i při použití obvodů AND-ORINVERT. Realizace pomocí multiplexorů je vhodná pro jednu funkci (nebo malý počet funkcí) s nevelkým počtem vstupních proměnných (čtyři až pět, kde lze vystačit s jedním pouzdrem multiplexoru). Mezi výhody patří jednoduchost návrhu, nízká cena, malé zpoždění, možnost změny realizované funkce přestavitelnými propojkami (pokud na ně myslíme při návrhu plošného spoje, dnes tato výhoda ustupuje při možnosti použít programovatelné logické obvody). Jak již bylo řečeno, tento způsob realizace se často používá ve vnitřní struktuře integrovaných obvodů. Dekodéry se rovněž používají k realizaci KLF především v integrovaných obvodech – jsou základním stavebním prvkem pamětí PROM a programovatelných logických obvodů. Použití dekodérů může být efektivní při realizaci více funkcí těchže proměnných, pokud jejich tvar je takový, že nevyžaduje příliš mnoho dalších pouzder IO. Speciální obvody pro realizaci často se vyskytujících funkcí představují obvykle nejvýhodnější řešení, pokud jde právě o funkce, pro něž jsou navrženy. Je-li však nutno doplňovat je dalšími kombinačními obvody, bývá často výhodnější použít programovatelné logické obvody. Paměti PROM jsou nepostradatelné tam, kde jde o realizaci funkcí mnoha vstupních proměnných a je žádána možnost dodatečné změny těchto funkcí zcela libovolným způsobem, pokud není na závadu jejich větší zpoždění. To je zejména případ pamětí programu pro mikropočítače. Paměti PROM však mohou být použity k realizaci složitých KLF i v řadě jiných aplikací. Programovatelné logické obvody (PLD, FPGA) představují zpravidla ekonomicky i technicky vhodné řešení tam, kde ostatní způsoby realizace vyžadují použití příliš velkého počtu pouzder a kde paměti PROM jsou zbytečně velké, popř. příliš drahé nebo pomalé. Tyto obvody umožňují i realizaci sekvenčních systémů.
Digitální technika
79
Postup při volbě způsobu realizace může být následující: nejprve se přesvědčíme, zda se pro uvažovanou aplikaci nevyrábí speciální integrovaný obvod, popř. zda se nějaký takový obvod jednoduchým přizpůsobením nestane vhodným řešením. Není-li tomu tak, pak při realizaci malého počtu jednoduchých funkcí, kde vystačíme s jedním nebo se dvěma pouzdry, použijeme základní kombinační členy (NAND, NOR a další). Vychází-li však potřebný počet pouzder větší, uvážíme možnost použití multiplexoru nebo dekodéru, nebo častěji přímo zkusíme realizaci pomocí obvodů PLD. Přitom máme na paměti, že v těchto obvodech můžeme realizovat i sekvenční bloky v jednom pouzdru s kombinačními, což může zvýšit ekonomičnost řešení. Jde-li o složité funkce mnoha proměnných, na které programovatelné obvody nestačí (to však bývají jen výjimečné případy), nebo je-li nezbytná úplná univerzálnost (možnost zcela libovolné dodatečné změny realizované funkce), pak bývá nejvhodnějším řešením použití paměti PROM.
7.6 Kontrolní otázky 1) Jaký způsob realizace byste použili pro logickou funkci dvou proměnných? 2) Jaké riziko může vzniknout při použití speciálních obvodů pro realizaci kombinačních logických funkcí? 3)
80
Evropský polytechnický institut s. r.o, Kunovice
8 Hazardy u kombinačních logických obvodů Cíle kapitoly: Seznámit studenty s podstatou hazardů a s možností vzniku parazitních impulsů v kombinačních logických obvodech, se způsoby, jak se jim bránit a ukázat, jak je možno hazardy v kombinačních logických obvodech s dvoustupňovou strukturou odstranit.
8.1 Definice hazardu v obvodu Říkáme, že v obvodu je hazard, jestliže v důsledku časového zpoždění při průchodu signálu logickými členy mohou vznikat na jeho výstupu při změnách vstupních signálů přechodné jevy ve tvaru impulsů, které by zde nebyly přítomny, pokud by logické členy byly ideální (bez zpoždění). Hodnota časového zpoždění v logických členech nebývá předem známa přesně, obvykle se v katalozích udává jen jeho hraniční hodnota, a závisí na teplotě, napájecím napětí a podobných veličinách. To zavádí do chování obvodů jistý prvek náhodnosti v tom, zda ke vzniku uvedených impulsů, podmíněnému kombinací vhodných hodnot zpoždění, skutečně dojde nebo ne. Jevy způsobené jinými příčinami než časovým zpožděním se zpravidla označují jinak (metastabilita apod.). Běžná terminologie v českém jazyku je zde poněkud nedokonalá. Slovem hazard se označuje jak výše popsaná situace v logickém obvodu, která je dána jeho zapojením, na jehož výstupu se mohou (ale nemusí) vyskytnout uvedené impulsy, tak často, poněkud nepřesně, i tyto impulsy samy. Přesnější je vyjadřování v angličtině, kde se impuls způsobený hazardem nazývá glitch. Někdy se s tímto výrazem setkáme i v českém slangovém vyjadřování, zde těmto impulsům budeme říkat parazitní impulsy. Hazardy se projevují při změnách vstupních proměnných. Budeme se zabývat především hazardy při změně jen jedné vstupní proměnné. Uvidíme, že parazitní impulsy vznikající v důsledku hazardů při realizaci kombinační logické funkce dvoustupňovým zapojením součtových a součinových logických členů mají předvídatelný charakter a že hazardy je v tomto případě možno úpravou zapojení odstranit. Hazardy mohou být statické nebo dynamické. Statický hazard působí takové chování obvodu, kdy očekávaný výstupní signál má mít stálou úroveň, ale při změně sledované vstupní veličiny může vlivem časových zpoždění v obvodu na výstupu vzniknout parazitní impuls opačné úrovně. Trvání impulsu, popř. skutečnost, zda vůbec k jeho vzniku dojde, závisí na konkrétních hodnotách zpoždění v obvodech, jimiž signál prochází. O dynamickém hazardu mluvíme tam, kde očekáváme při změně vstupní veličiny změnu veličiny výstupní. Zpravidla očekáváme, že jedna změna vstupní veličiny způsobí jednu změnu výstupní veličiny. Je-li však v obvodu dynamický hazard, může se odezva výstupní veličiny skládat z většího lichého počtu změn, tj. k očekávané změně se přidá ještě jeden (nebo i více) parazitních impulsů. Je možno ukázat, že dynamické hazardy se mohou objevit v kombinačních obvodech složených ze součinových a součtových logických členů jen tehdy, je-li zapojení vícestupňové (nikoliv dvoustupňové). Ve dvoustupňovém zapojení, které vznikne realizací kombinační logické funkce pomocí součtových a součinových logických členů na základě zápisu funkce ve tvaru SOP nebo POS, jak jsme ji poznali dříve, mohou vzniknout jen statické hazardy. Pokud se mění současně dvě nebo více vstupních proměnných, musíme počítat s tím, že ve skutečnosti mezi jejich změnami může být sice malá, ale nenulová doba a během ní může na výstupu vzniknout přechodný stav, který lze odstranit jen přesným vyrovnáním jednotlivých zpoždění, což však při změnách těchto zpoždění vlivem teploty, stárnutí
Digitální technika
81
materiálu a podobně je obtížné a nespolehlivé, a proto se takovému postupu snažíme vyhýbat. Hazardy při změně více vstupních proměnných se někdy označují za hazardy souběhové. Parazitní impulsy s velmi malou šířkou, které jsou typickým projevem hazardů, mohou v sekvenčních systémech způsobit, že na ně zareagují jen některé (rychlejší) obvody, jiné (pomalejší) na ně zareagovat nemusí a systém se tak může dostat do nepředvídatelných stavů. Proto se vzniku takových impulsů obvykle snažíme vyhnout. Jejich výskyt můžeme připustit v systémech, které mají čistě kombinační charakter nebo tam, kde jde o jednoduché zapojení, u něhož se úvahou přesvědčíme, že hazardy nemohou způsobit uvedené problémy. Hazardy při změně jedné vstupní proměnné mohou existovat tam, kde se signál větví do dvou nebo více cest, které se později spojují. V takovém zapojení však hazard nemusí nutně být přítomen. Příklad zapojení se statickým hazardem je nakreslen na Obr. 8.1. a
a
KLO 1- τ1 KLO2 - τ 2
f1 (a )
f1 (a )
τ1
f (a ) f2 (a )
KLO3
f2 (a ) τ2 f (a ) τ
Obr. 8.1: Vznik parazitního impulsu při statickém hazardu. Po dobu τ = τ2 - τ1 je na vstupech obvodu KLO3 stav, který neodpovídá ustálenému stavu ani pro a = 0 ani pro a = 1, takže signál na výstupu může mít hodnotu odlišnou od hodnot v obou ustálených stavech. Zda tomu tak skutečně bude, záleží na logické funkci obvodu KLO3. Poměry v obvodu s dynamickým hazardem jsou znázorněny na Obr. 8.2. a a
KLO 1 - τ1 KLO2 - τ 2 KLO3 - τ 3
f1 (a ) f1 (a ) f2 (a ) f3 (a )
KLO4
f (a ) f2 (a ) f3 (a )
f (a )
Obr. 8.2: Vznik parazitního impulsu při dynamickém hazardu. V zapojeních na obou obrázcích (Obr. 8.1 a Obr. 8.2) bude hazard jen tehdy, realizujeli obvod, v němž se signály z větví sdružují, vhodnou funkci – např. to může být funkce odpovídající generátoru parity (zobecnění funkce XOR), která při změně každé vstupní proměnné mění svou hodnotu (v Karnaughově mapě má taková funkce šachovnicovitý obraz) a mají-li zpoždění dílčích obvodů vhodnou velikost, například odpovídající uvedeným obrázkům.
82
Evropský polytechnický institut s. r.o, Kunovice
8.2 Hazardy v dvoustupňové struktuře Analýza hazardů v kombinačních obvodech může být v obecném případě dosti složitá. Omezíme-li se na obvody s dvoustupňovou strukturou NAND-NAND a NOR-NOR, můžeme najít obecná pravidla, která pro hazardy v těchto obvodech platí, umožňují je odhalit a v případě potřeby odstranit. a a
y
& 1
a'
a'
(a ) y
a a
y
1 1
a'
a'
(b )
y
Obr. 8.3: Elementární struktury s hazardem. a) u obvodů s členy NAND, b) u obvodů s členy NOR. Hazardy v těchto obvodech mohou být, jsou-li v nich přítomny tzv. elementární struktury s hazardem. Tyto struktury mohou být vytvořeny i z vícevstupových obvodů. Pokud však posuzujeme hazardy při změně pouze jedné vstupní proměnné, můžeme tyto vícevstupové obvody nahradit jednodušším zapojením (Obr. 8.3). V zapojení s členy NAND vzniká při hazardu parazitní impuls úrovně L při klidové úrovni H, u zapojení se členy NOR je tomu naopak. Jako příklad může posloužit obvod z Obr. 8.4 vytvářející funkci y = a . b + /a . c + d . ( 8.1 ) a
1
a'
b
&
c
&
d
&
y
1
Obr. 8.1: Příklad obvodu s hazardem. Mají-li v Obr. 8.4 proměnné b a c hodnotu I a proměnná d hodnotu O, můžeme pro stanovení účinku změny proměnné a vypustit spoje naznačené tenkou čarou a zůstane pak elementární struktura s hazardem s členy NAND, která je vyznačena silnými spoji, doplněná součinovými členy NAND prvého stupně. Mají-li tyto členy stejné zpoždění, nemusíme k nim při analýze hazardu přihlížet. Způsobí jen to, že parazitní impuls vznikne při sestupném přechodu signálu a místo při vzestupném přechodu.
Digitální technika 8.2.1
83
Algebraický přístup
Obecně, je-li funkce y = f (a,b,...,x) realizována strukturou NAND-NAND, odpovídá tato struktura zápisu funkce y v součtovém tvaru (SOP). Abychom zjistili, je-li v obvodu hazard umožňující vznik parazitního impulsu např. při změně proměnné x, přepíšeme toto vyjádření funkce y takto: y = K1 . x + K2 . /x + K3 ,
( 8.2 )
kde K1 je výraz vzniklý vytknutím proměnné x ze všech členů, které jej obsahují, K2 je výraz podobně vzniklý ze členů obsahujících proměnnou /x a K3 je součet členů, které proměnnou x v přímé ani v invertované podobě neobsahují. Parazitní impuls pak v obvodu může při změně hodnoty x vzniknout jen tehdy, je-li K1 = K2 = I, K3 = O. Hazard můžeme ze zapojení pro funkci y odstranit, přičteme-li k vyjádření funkce součin K1 . K2 – tzv. konsensus. Hodnota funkce se tím nezmění. Mají-li totiž ostatní vstupní proměnné (mimo proměnnou x) takové hodnoty, že platí K1 = K2 = I, je y = I při jakékoliv hodnotě proměnné x, protože některý z výrazů K1 . x, K2 . /x bude roven jedničce a přičtení další logické jedničky (součinu K1 . K2) výsledek nezmění. Je-li však kterýkoli z výrazů K1, K2 nulový, je i jejich součin nulový a jeho přičtení hodnotu funkce y rovněž nezmění. Hazard je podmíněn tím, že při změně proměnné x má při každé její hodnotě vždy jeden z výrazů K1 . x, K2 . /x hodnotu nulovou a druhý jedničkovou. Mění-li se hodnota x, mění se i hodnoty obou těchto součinů. Při změně hodnoty proměnné x se může stát, že se jako první změní hodnota výrazu, který měl dosud hodnotu I, a druhý výraz se v důsledku zpoždění při vytváření inverze proměnné x změní z hodnoty O na I až po uplynutí tohoto zpoždění, takže oba výrazy mají přechodně nulovou hodnotu. To je doba, kdy na výstupu vzniká parazitní impuls úrovně L. Přidání součinu K1 . K2 způsobí, že tento součin s hodnotou I „podrží“ výsledek v hodnotě I po dobu změny proměnné x. Odstraněním hazardů tímto způsobem získáme zápis funkce, který není minimální. To je cena, kterou za odstranění hazardů platíme. Ve výše uvedeném příkladu funkce y = a . b + /a . c + d odstraníme hazard tím, že pro realizaci funkce použijeme zápis ve tvaru y = a . b + /a . c + d + b . c. Obdobně bychom mohli analyzovat hazard v obvodu vzniklého realizací zápisu funkce v součinovém tvaru (POS). Jednodušší je však následující postup: vytvoříme-li inverzi tohoto zápisu, dostaneme DeMorganovou transformací výraz ve tvaru SOP, jehož realizace představuje zapojení topologicky shodné se zapojením vzniklým realizací původního výrazu, pouze se vzájemně zaměněnými součtovými a součinovými logickými členy. Pro toto zapojení můžeme použít výše uvedený postup pro odstranění hazardu. Vrátíme-li se opět DeMorganovou transformací k původnímu vyjádření ve tvaru POS, dostaneme zápis funkce, jehož realizací vznikne zapojení bez hazardu. Algebraický přístup při posuzování hazardů můžeme použít i u složitějších funkcí, než jaké jsou zvládnutelné při zobrazení pomocí Karnaughových map. 8.2.2
Použití Karnaughových map pro analýzu hazardů
Zakreslíme-li vyšetřovanou funkci do Karnaughovy mapy, můžeme v ní hazardy lehce poznat. Například uvažované funkci y odpovídá mapa z Obr. 8.5. Parazitní impuls zde vzniká při změně proměnné a, je-li hodnota y = I způsobována buď jedničkovou hodnotou součinu a . b nebo /a . c, ne však hodnotou proměnné d. To odpovídá přechodu vyznačeném v mapě silnou čarou se šipkami, kde se dotýkají smyčky odpovídající uvedeným součinům, kde ale nejsou překryty smyčkou odpovídající proměnné d. Doplnění mapy o konsensus b . c zavede
84
Evropský polytechnický institut s. r.o, Kunovice
do mapy smyčku, která tento přechod překrývá. Tento doplňkový součin neobsahuje proměnnou a, takže svou jedničkovou hodnotu drží i při změně této proměnné. b
a 0
1
3
2
7
6
I 4
5
I
c
I C
I
D
I 8
I
I F
I 9
I
E
I B
I
A
I d
Obr. 8.2: Mapa funkce s vyznačením hazardu při y = I. Obecně mohou vznikat parazitní impulsy u těch přechodů, kde se v mapě dotýkají dvě sousední smyčky, přičemž tento dotyk není překryt další smyčkou. Takové hazardy se odstraní doplněním smyček, které tyto dotyky překrývají. b
a 0
O
1
O 4
O
3
O 5
O
2
O 7
O
c 6
O
C
D
F
E
8
9
B
A
O O
O
O d
Obr. 8.3: Mapa funkce s vyznačením hazardu při y = O. Zcela podobnou úvahou bychom mohli rozebrat příčiny a způsob odstranění hazardů v zapojeních s obvody NOR. Obraz funkce v mapě odpovídající součinovému tvaru zápisu, kde vzniká parazitní impuls úrovně H při klidové úrovni L, je zcela podobný: impuls vzniká při přechodech mezi smyčkami, které se dotýkají a nejsou překryty další smyčkou. Například funkci y = ( a + b ) . (/a + c ) . d, ( 8.3 ) odpovídá mapa nakreslená na Obr. 8.6. Hazard, který zde způsobuje vznik parazitního impulsu při změně proměnné a, odstraníme přidáním smyčky překrývající dotyk smyček vyznačený silnou čarou se šipkami, které odpovídá součtový term b + c, tedy zápisem funkce ve tvaru y = ( a + b ) . (/a + c ) . d . ( b + c ). ( 8.4 )
8.3 Způsoby zneškodnění hazardů Pokud v navrhovaném zapojení existují hazardy, lze se problémům, které by tyto hazardy mohly způsobit, vyhnout několika způsoby:
Digitální technika
85
1. Hazardy můžeme odstranit výše uvedeným způsobem za cenu poněkud větší složitosti zapojení. Podmínkou je použití dvoustupňového zapojení NAND-NAND nebo NOR-NOR (druhý stupeň může být i bez inverze) složeného ze základních kombinačních logických obvodů. Při realizaci s použitím složitějších obvodů, např. multiplexorů, demultiplexorů a podobně, by bylo nutno analyzovat jejich vnitřní strukturu, což nemusí být jednoduché, a navíc publikovaná zapojení těchto obvodů nemusí vždy odpovídat skutečnosti do takových detailů, které jsou pro tuto analýzu potřebné. Je zde možno použít programovatelné logické obvody, jejichž struktura je v potřebném rozsahu známa, paměti PROM však pro tento účel nejsou vhodné. 2. Hazardy můžeme zneškodnit tím, že výstupní signály využíváme až po uplynutí určité doby po změně vstupních proměnných, kdy již dojde k ustálení výstupů a odeznění parazitních impulsů. Takové vzorkování je typické pro synchronní sekvenční systémy. 3. Parazitní impulsy se nevyskytují na výstupech klopných obvodů používaných v synchronních systémech. Je-li výstup nějakého subsystému (čítače, stavového automatu) registrového typu, nemusíme u něj mít obavy z přítomnosti parazitních impulsů. 4. V některých případech můžeme hazardy připustit, pokud jsme si jisti, že nemohou způsobit nepříjemnosti. Vytváříme-li např. řídicí signál pro nulovací vstup klopného obvodu, který má aktivní úroveň L, pak hazardy u zapojení se strukturou NAND-NAND, při nichž vznikají parazitní impulsy úrovně L, mohou způsobit nežádoucí aktivaci tohoto vstupu. U zapojení typu NOR-NOR nebo NAND-AND však vytváří parazitní impulsy opačné úrovně, které tento účinek mít nemohou. 5. V nejvyšší nouzi je možno použít filtru RC s charakterem integračního článku. Toto řešení však nepatří k těm, která lze obecně doporučit, a může být příčinou jiných problémů souvisejících s prodloužením hran takto upravených signálů. Používá se zpravidla ze zoufalství u zapojení, která konstruktér dostatečně nepromyslil při návrhu, když selhaly všechny ji Příklad 8.1. Najděte minimální vyjádření funkce y dané mapou z Obr. 8.4: funkce y.
Mapa
ve tvaru SOP. Posuďtete, zda jsou v obvodu realizujícím tuto funkci dvoustupňovou strukturou NAND-NAND hazardy a navrhněte jejich odstranění. Řešení: Minimální vyjádření funkce y ve tvaru SOP je: y = a . /b . /d + b . c . /d + a . b . d + /b . c . d.
( 8.5 )
Každý z termů ve vyjádření této funkce představuje jednu ze čtyř smyček s dvojicí jedniček v mapě. Tyto smyčky se vzájemně nepřekrývají. Je zřejmé, že zde existují čtyři hazardy, které se odstraní přidáním jediného termu představujícího konsensus všech uvedených termů (v následujícím výrazu zapsaného tučně): y = a . /b . /d + b . c . /d + a . b . d + /b . c . d + a . c.
( 8.6 )
Je snadné vyjádřit funkci y ve tvaru POS. Zjistíme tak, že počet termů i počet hazardů při tomto vyjádření bude stejný jako při vyjádření ve tvaru SOP a rovněž jejich odstranění bude velmi podobné. Podrobné provedení přenecháme na samostatné promyšlení studentům.
86
Evropský polytechnický institut s. r.o, Kunovice b
a 0
1
3
2
I 4
c 5
I C
I
D
I 8
7
I
6
I F
E
B
A
I 9
I d
Obr. 8.4: Mapa funkce y. Příklad 8.2. Proveďte totéž pro tvar POS a realizaci funkce dvoustupňovou strukturou NOR-NOR. Řešení: Minimální vyjádření funkce y ve tvaru POS je: y = (a + b + d) . (/b + c + d) . (a + /b + /d) . (b + c + /d).
( 8.7 )
Každý z termů ve vyjádření této funkce ( 8.7 ) představuje jednu ze čtyř smyček s dvojicí nul v mapě. Tyto smyčky se opět vzájemně nepřekrývají. Opět zde existují čtyři hazardy, které se odstraní přidáním jediného termu představujícího konsensus všech uvedených termů y = (a + b + d) . (/b + c + d) . (a + /b + /d) . (b + c + /d) . (a + c).
( 8.8 )
8.4 Shrnutí kapitoly 8 Hazardy jsou způsobeny zpožděními signálů v obvodech, kterými tyto signály procházejí. Jejich projevem jsou parazitní impulsy, které mohou, ale nemusí vzniknout na výstupu obvodu s hazardem. To, zda parazitní impulsy skutečně vzniknou, a jejich šířka, závisí na konkrétních hodnotách zpoždění logických členů v obvodu s hazardem. Při realizaci kombinačních logických funkcí dvoustupňovou strukturou (NAND-NAND a další) mají parazitní impulsy, pokud vzniknou při změně jednoho vstupního signálu, definovaný průběh závislý na typu struktury. Za cenu přidání dalších logických členů je možno hazardy z této struktury odstranit. Zjištění, zda v obvodu tohoto druhu je hazard, je snadné při použití Karnaughovy mapy (pokud počet vstupních signálů není příliš velký), a této mapy lze použít i při návrhu úpravy pro odstranění hazardu.
8.5 Kontrolní otázky 1) Jak se přítomnost hazardů v číslicových obvodech projevuje? 2) Je možno bránit se hazardům tím, že dodržujeme pravidla pro konstrukci, například řádně ošetřujeme hrany vstupních signálů a podobně?
Digitální technika
87
9 Základní prvky sekvenčních systémů Cíle kapitoly: Uvést základní typy klopných obvodů se statickým řízením a řízených hranou používané v číslicové technice, jejich vlastnosti a pravidla pro jejich použití v číslicových sekvenčních subsystémech.
9.1 Úvod U sekvenčních systémů na rozdíl od systémů kombinačních závisí hodnoty výstupních signálů nejen na současných hodnotách vstupních signálů, ale i na hodnotách, které tyto signály měly dříve, tedy na posloupnosti (sekvenci) hodnot vstupních signálů. Sekvenční systémy mají tedy jistý druh paměti. Ta může být tvořena: • setrvačnými prvky (L a C), což je typické pro systémy odměřující čas, jako jsou monostabilní a astabilní klopné obvody, • zpětnými vazbami v obvodech, které jinak za setrvačné nepovažujeme, jako jsou zesilovače, komparátory apod. Ty jsou základem bistabilních klopných obvodů, popř. obvodů s větším počtem stavů. Jak již bylo uvedeno v kap. 7, tyto systémy nejsou schopny (aspoň ve své idealizované podobě) samostatně odměřovat čas. Mohou však časové úseky odměřené obvody předcházející skupiny počítat a tak významně rozšiřovat rozsah jejich použitelnosti. Budeme se nyní zabývat sekvenčními systémy, které neodměřují čas. Sekvenční systémy můžeme rozdělit na asynchronní a synchronní. Synchronní systémy mohou měnit svůj stav jen v časových okamžicích, které jsou určeny speciálním, tzv. hodinovým signálem. Klopné obvody, které jsou určeny pro stavbu synchronních systémů, jsou vybaveny zvláštními hodinovými vstupy určenými pro přivedení hodinového signálu. Tyto vstupy jsou u synchronních systémů propojeny paralelně a jsou připojeny ke generátoru společného hodinového signálu. Všechny ostatní systémy jsou asynchronní. Jak poznáme dále, synchronní systémy mají jisté vlastnosti, které způsobují, že jejich návrh je mnohem snadnější a méně náchylný ke konstrukčním chybám než návrh asynchronních systémů. Proto se v běžné konstruktérské praxi doporučuje používat především tyto systémy. Na druhé straně však asynchronní systémy mohou být jednodušší (nepotřebují hodinový signál), popř. rychlejší nebo mohou mít jiné přiznivé vlastnosti než systémy synchronní s obdobnou funkcí. Při stavbě asynchronních systémů je však nutno velmi pečlivě promyslet jejich návrh, což často nebývá snadné. Modifikace asynchronních systémů je obvykle mnohem obtížnější než modifikace synchronních systémů se stejnou funkcí. Bez nebezpečí je možno používat nejjednodušší obecně známé asynchronní obvody, jako jsou klopné obvody RS, asynchronní binární čítače a podobně. Klopné obvody a také složitější celky z nich složené (čítače, registry apod.), které se často používají, se vyrábějí jako integrované obvody. Jsou-li určeny k vytváření synchronních systémů, jsou vybaveny odpovídajícími hodinovými vstupy a označujeme je za synchronní, ostatní za asynchronní. Někdy se však setkáme se sekvenčními systémy, které jsou složeny z klopných obvodů, čítačů apod., které podle uvedeného rozdělení označujeme za synchronní, jejichž hodinové vstupy však nejsou propojeny popsaným způsobem. Obecně takové systémy pokládáme za asynchronní (příkladem je zapojení asynchronního binárního čítače vytvořené jako kaskáda klopných obvodů ve funkci děličů kmitočtu dvěma nebo semisynchronní řazení integrovaných čítačů, jak bude popsáno dále). Jen ve zvláštních případech, kdy je propojení
88
Evropský polytechnický institut s. r.o, Kunovice
hodinových vstupů provedeno u všech těchto základních obvodů stejným způsobem pomocí kombinačních členů se společným zdrojem hodinového signálu, můžeme i tyto systémy pokládat za synchronní. Klopné obvody, čítače a podobné bloky určené pro stavbu synchronních systémů obsahují jednak vstupy, jejichž činnost je vázána na hodinový signál – tzv. synchronní vstupy, používané obvykle při normální funkci systému, jednak vstupy se samostatnou funkcí bez vazby na hodinový signál – asynchronní vstupy, které mohou být užitečné např. pro počáteční definování stavu systému. Celé tyto integrované bloky by bylo správnější označovat jako smíšené, v praxi se jim však říká synchronní obvody s asynchronními vstupy. Bývá dobrým zvykem dodržovat zásadu, že signály určené pro buzení asynchronních vstupů mají být odděleny od signálů svázaných se synchronními vstupy. Potom se zapojení chová jako synchronní, dokud signály na asynchronních vstupech nejsou aktivní. Je-li v některých zvláštních případech nutno tuto zásadu porušit, je nezbytné věnovat při návrhu takovým systémům zvýšenou pozornost (jde pak o asynchronní systémy), jinak se může toto porušení projevit ve snížené spolehlivosti navrženého systému. Tato pozornost by měla být zaměřena zejména na dodržení všech požadavků na časové parametry signálů na vstupech obvodů, zejména na dodržení předstihu, přesahu a minimálních přípustných hodnot šířek impulsů. U některých typů obvodů se setkáme s tím, že např. nulovací vstupy jsou u jednoho podtypu asynchronní (např. u čítače 74..160), u druhého podtypu synchronní (u čítače 74..162). V prvním případě bývají používány pro definici počátečního stavu systému, v druhém mohou být použity i při běžné činnosti, např. pro zkrácení cyklu. Prakticky se dnes setkáme nejčastěji s klopnými obvody se statickým řízením a s klopnými obvody řízenými hranou. První z nich se vyskytují především v podobě obvodů RS a obvodů typu D se statickým řízením, které se sdružují do větších skupin – záchytných registrů. Ostatní typy klopných obvodů, tj. obvody typu JK, T, DE a také obvody typu D, se používají nejčastěji v provedení řízeném hranou hodinového signálu, ať již samostatně nebo jako registr, tj. jako skupina klopných obvodů se společnými řídicími signály. V následujícím textu tyto obvody probereme podrobně. u2
u3 = u 1
u3
C B
u1
1 s
/q u 2
1
q
u3
r
u1
A
u1
a) b) Obr. 9.1: Zesilovač se zpětnou vazbou. a) zapojení, b) převodní charakteristiky pro s = r = O při rozpojeném spínači.
9.2 Jednoduché asynchronní klopné obvody Základním stavebním prvkem všech bistabilních klopných obvodů je zesilovač s kladnou zpětnou vazbou. Na Obr. 9.1 a je vytvořen zesilovač kaskádním spojením dvou součtových logických členů. Neuvažujeme-li vstupy se signály s a r, můžeme logické členy pokládat za invertory. Charakteristiky nakreslené na tomto obrázku (Obr. 9.1b) mohou být naměřeny při rozpojeném spínači. Sepne-li se spínač, musí platit u3 = u1. Obvod se pak může nalézat v tzv. rovnovážných stavech, v nichž je tato podmínka splněna, zobrazených na
Digitální technika
89
převodní charakteristice body A, B nebo C. Je možno ukázat, že bod B představuje nestabilní rovnovážný stav, a body A a C odpovídají stabilním rovnovážným stavům. 9.2.1
Klopné obvody typu RS
Pokud se zesilovač z Obr. 9.1 nachází ve stavu zobrazeném bodem A nebo C, nemůže samovolně změnit svůj stav. Ke změně stavu jej můžeme přinutit zavedením vstupních signálů s a r (set a reset). Aktivuje-li se např. signál s, přejde výstup prvního členu do úrovně L (/q = O) a výstup druhého členu do úrovně H (q = I). Jsou-li oba signály s, r neaktivní, zůstává obvod ve stavu, do něhož se dostal dříve. Paměťová funkce obvodu spočívá v tom, že si obvod pamatuje, který z obou vstupů byl naposled aktivován. Obvod z Obr. 9.1 představuje jedno z možných provedení klopného obvodu typu RS (často se také označuje jako obvod SR). Jiným možným a často používaným provedením je obvod téhož zapojení, v němž jsou však místo členů NOR použity členy NAND. Klopný obvod typu RS s členy NOR se obvykle kreslí některým ze způsobů uvedených na Obr. 9.2. Označení výstupů q, /q vystihuje skutečnost, že tyto výstupy jsou navzájem komplementární. To však platí jen, pokud nejsou oba vstupní signály r, s současně aktivní. Označení vstupů je zkratkou anglických výrazů SET a RESET (nastavení a nulování). Nastavení označuje operaci, při níž se výstupy uvedou do aktivního stavu, při nulování se uvedou do stavu neaktivního. Vstupní signály (r, s) obvodů na Obr. 9.2 jsou aktivní v úrovni H. r s
1
q
1
/q
(a )
r
s
1
q
1
/q
(b )
r
s
1
q
1
/q
r
(c )
s
R T
q /q
S
(d )
Obr. 9.2: Způsoby kreslení obvodů typu RS sestavených z členů NOR. Klopné obvody RS jsme již poznali v kap. 4, kde byly vytvořeny z jednotlivých tranzistorů. Zde budeme předpokládat, že tyto obvody jsou sestaveny z logických obvodů obsažených v číslicových integrovaných obvodech. Z hlediska signálů představujících dvouhodnotové veličiny není vnitřní složení obvodů podstatné. Funkční tabulku obvodu typu RS sestaveného ze členů NOR snadno získáme z pravdivostní tabulky těchto členů. Připustíme-li současnou aktivaci obou vstupních signálů r, s, musíme označit výstupní signály jiným způsobem, který dovolí, aby oba nabývaly stejné hodnoty. V dalším textu je budeme v tomto případě značit symboly q, q*. Bude-li aspoň jedna ze vstupních veličin neaktivní, bude platit q* = /q, v opačném případě bude q* = q. Použijeme-li však pro obvod symbolickou značku podle Obr. 9.2d, kde je vyznačena komplementarita obou výstupů kvalifikátorem tvaru kroužku, pak buď nesmíme připustit, aby byly oba vstupy současně aktivovány, nebo musíme předpokládat, že vnitřní struktura neodpovídá přesně zapojením z Obr. 9.2. Např. můžeme předpokládat, že inverzní výstup je vytvořen z přímého zvláštním invertorem. Obvody typu RS sestavené z členů NOR nebo NAND se kreslí nejčastěji způsoby podle Obr. 9.2a až c, symbolická značka podle Obr. 9.2d se obvykle používá jen při kreslení schémat vyjadřujících vnitřní strukturu složitějších integrovaných obvodů. Funkční tabulka klopného obvodu typu RS je uvedena na Obr. 9.3. Kombinaci vstupních signálů uvedenou v jejím posledním řádku, kdy jsou oba signály r, s aktivní, pokládají někteří autoři za zakázanou. Přitom však jde pouze o problémy s označením signálů
90
Evropský polytechnický institut s. r.o, Kunovice
v tomto stavu, a to není příliš pádný důvod pro takový zákaz. Víme-li, že vnitřní struktura klopného obvodu RS odpovídá např. zapojení z Obr. 9.3, pak můžeme jednoznačně říci, jak se obvod v tomto případě chová. V praxi se kombinace obou aktivních vstupních signálů často vyskytuje s tím, že konstruktér počítá s příslušnými hodnotami výstupních signálů. Jiná situace však může být, používáme-li klopné obvody integrovaného provedení, u něhož výrobce nepublikuje vnitřní strukturu ani hodnoty výstupních signálů v uvedeném případě. Pak je vhodné se takové kombinaci vstupních signálů vyhnout.
r s
1 1
q q*
s
r
q
q*
funkce
O O I I
O I O I
q
q
O I O
I O O
stav pamatování nulování nastavení výstupy obvodu nejsou komplementární
Obr. 9.3: Zapojení a funkční tabulka klopného obvodu RS z členů NOR. Typické časové průběhy signálů u klopného obvodu podle Obr. 9.3 jsou nakresleny Obr. 9.4. Čárkovanými čarami je naznačena časová souvislost signálů. Je zřejmé, ž signál r ovlivňuje přímo výstupní signál q a jeho prostřednictvím pak druhý výstupní signál q*, signál s naopak. Výstupní signály jsou jednoznačně určeny až do okamžiku, kdy se oba vstupní signály s, r mění z hodnoty I do hodnoty O. V tomto okamžiku oba výstupy přecházejí do hodnoty I, pokud je však obvod dokonale souměrný, po přechodu těchto signálů prahovou úrovní (a po uplynutí přenosového zpoždění) oba signály mají snahu se vrátit zpět. Tímto způsobem může vzniknout kmitání v oblasti prahové úrovně – tzv. metastabilní stav. Vlivem nesymetrie obvodu se po jisté době oba výstupní průběhy rozejdou do opačných úrovní, doba trvání metastabilního stavu však není předem známa (prakticky může trvat desítky nanosekund, takže zpoždění při přechodu obvodu do nového stavu je mnohem delší než odpovídá katalogovým hodnotám použitých logických členů), a toto zpoždění může způsobit chybné chování systému. Proto je na místě požadovat, aby současná změna obou vstupních signálů z aktivní do neaktivní úrovně byla pokládána za nepřípustnou. Mezi oběma změnami musí uplynout jistá minimální doba označená v pravé části Obr. 9.4 symbolem tz – doba zotavení. Přejde-li např. signál r jako první do neaktivní úrovně, začne se měnit výstupní signál q. Signál s by měl setrvat v aktivní úrovni aspoň do okamžiku, kdy jeho roli převezme signál q, který dále bude držet druhý výstupní signál q* v hodnotě O. metastabilní stav s r
q q*
tz
Obr. 9.4: Časové průběhy signálů u obvodu z Obr. 9.3. Podobné nepříjemnosti mohou vzniknout, jestliže se na vstup obvodu přivede krátký impuls s aktivní úrovní, jehož trvání nestačí k přechodu obvodu do nového stavu. Pokud impuls skončí v okamžiku, kdy obvod prochází okolím bodu B (Obr. 9.1 b), může opět vzniknout metastabilní stav. Krátké impulsy neaktivní úrovně nejsou na závadu. Krátkými
Digitální technika
91
impulsy se zde rozumí impulsy o šířce srovnatelné s dobou zpoždění signálu, tj. u běžných obvodů řady 74 LS nebo HC řádově nanosekundy, u obvodů řady 4000 o šířce v oblasti desítek nanosekund.
/s /r
/s
&
q
&
/q /r
(a )
&
q
&
/q
/s
/r
(b )
&
q
&
/q
/s /r
(c )
S T
q /q
R
(d )
Obr. 9.5: Způsoby kreslení obvodu typu RS sestavených z členů NAND. Vše, co zde bylo řečeno o klopných obvodech typu RS vytvořených z logických členů NOR, platí i o obvodech složených ze členů NAND s tím, že aktivní úroveň vstupních signálů je L. Obvyklé způsoby kreslení tohoto typu obvodu jsou na Obr. 9.5. Schéma obvodu typu RS vytvořeného z logických členů NAND s označením výstupních signálů dovolujícím uvažovat všechny kombinace hodnot vstupních signálů a funkční tabulka obvodu je uvedena na Obr. 9.6, časové průběhy příslušných signálů jsou nakresleny na Obr. 9.6.
/s /r
& &
q q*
/s /r
q
I I O O
I O I O
q*
funkce
q
q
O I I
I O I
stav pamatování nulování nastavení výstupy obvodu nejsou komplementární
Obr. 9.6: Zapojení a funkční tabulka klopného obvodu RS z členů NAND. metastabilní stav /s
/r q q*
tz
Obr. 9.7: Časové průběhy signálů u obvodu z Obr. 9.6. Často se u klopných obvodů typu RS nevyužívají oba výstupní signály. Vystačíme-li např. se signálem q u obvodů z Obr. 9.3 a Obr. 9.6, stane se z uzlu se signálem q* vnitřní uzel a odpadnou problémy s označováním výstupních signálů v případě současné aktivace obou vstupů. Vyskytne-li se tato kombinace vstupních signálů, pak je výstup řízen tím vstupním signálem, který je přiváděn na logický člen, z něhož je odebírán výstupní signál. Chování obvodu pak můžeme interpretovat tak, že jde o obvod s přednostním nastavením, jeli obvod typu RS vytvořen z logických členů typu NAND, nebo o obvod s přednostním nulováním při použití členů NOR. Funkční tabulky z Obr. 9.3 a Obr. 9.6 zůstanou v platnosti, vynecháme-li sloupec s výstupem q*. V posledním řádku tabulky pak popis funkce nahradíme slovem nulování nebo nastavení podle toho, která operace je přednostní. Klopný obvod s přednostním nastavením je nakreslen na Obr. 9.8.
92
Evropský polytechnický institut s. r.o, Kunovice
/s /r
&
q
&
/s /r
q
funkce
I I O O
q
O I I
stav pamatování nulování nastavení nastavení
I O I O
Obr. 9.8: Zapojení a funkční tabulka KO RS s přednostním nastavením. Pokud chceme použít pro vytvoření klopného obvodu typu RS s přednostním nastavením logické členy NOR, můžeme v Obr. 9.3 vynechat výstup q. Výstup q* je však inverzní. Pro získání přímého výstupu můžeme zařadit na výstup klopného obvodu invertor. Podobným způsobem můžeme vytvořit klopný obvod typu RS s přednostním nulováním z logických členů NAND. Obecně je vždy přednostní ta operace, která odpovídá funkci vstupu členu, z něhož odebíráme výstupní signál. Podobně můžeme změnit aktivní úroveň vstupních signálů zapojením invertorů do vstupů. Přednostního nastavení nebo nulování můžeme dosáhnout i zařazením hradlovacích obvodů do vstupů běžně zapojených klopných obvodů typu RS. Výsledné zapojení je však složitější, a proto se v praxi zpravidla používá zapojení z Obr. 9.8 nebo analogické zapojení s obvody NOR. V řadě 4000 se obvody typu RS s přednostním nastavením vyrábějí s označením 4043, s přednostním nulováním 4044. V řadě obvodů LS TTL se podobný obvod s přednostním nastavením vyrábí s označením 74LS279. Všechny uvedené typy klopných obvodů RS jsou v principu ekvivalentní, což znamená, že je vzájemně můžeme převádět vhodným zařazením invertorů do vstupů nebo výstupů, případně změnou výstupu, z něhož se odebírá signál. Přehled aktivních úrovní vstupů a druhu přednosti klopných obvodů typu RS s jedním výstupem sestavených z obou typů logických členů (bez dodatečných invertorů) je v Tab. 9.1. Tab. 9.1: Aktivní úrovně a typ přednosti u klopných obvodů RS. typ log. členů
aktivní úroveň na vstupech
druh přednosti
NAND
L
přednostní nastavení
NOR
H
přednostní nulování
Podmínky pro spolehlivou funkci obvodů typu RS jsou stejné pro všechny uvedené varianty klopných obvodů a můžeme je shrnout takto: • vstupní signály nesmějí současně přecházet z aktivní úrovně do úrovně neaktivní, • na vstupech se nesmějí vyskytnout krátké impulsy s aktivní úrovní, • jde-li o obvod typu RS v integrovaném provedení (nikoli složený z logických členů NAND nebo NOR) a pokud výrobce neuvádí jeho chování při současné aktivaci obou vstupů, je nutno pokládat tuto kombinaci vstupních signálů za zakázanou. 9.2.2
Klopný obvod typu RS se vzorkovacím vstupem
Někdy je žádoucí, aby klopný obvod typu RS reagoval na vstupní signály jen v době časových okének určených vzorkovacím signálem. To můžeme zajistit použitím klopného obvodu typu RS doplněného vzorkovacím obvodem podle Obr. 9.9. Vzorkovací signál c je zde vhodné chápat jako impulsy s aktivní úrovní H a klidovou úrovní L. Pro jednoduchost předpokládáme, že během trvání vzorkovacích impulsů nemůže dojít k současné aktivaci
Digitální technika
93
obou vstupů s, r. Ten ze signálů s, r, který je v době vzorkovacího impulsu aktivní, vytvoří pro navazující klopný obvod aktivní vstupní signál. Pokud by nebyla splněna uvedená podmínka a během vzorkovacího impulsu byly aktivní oba signály s, r, došlo by na konci vzorkovacího impulsu právě k nedovolenému současnému přechodu vstupních signálů navazujícího klopného obvodu do neaktivní úrovně. S klopným obvodem typu RS tohoto provedení se nejčastěji setkáme jako s prvkem struktury složitějších integrovaných obvodů, a to zejména ve verzi s dynamickým vstupem C (dynamický vstup je řízen hranou vstupního signálu). Klopný obvod tohoto typu může být samozřejmě vytvořen i z logických členů NOR. s
&
&
q
&
&
/q
c r
s c r
q
S T C R
/q
Obr. 9.9: Klopný obvod RS se vzorkovacím vstupem. 9.2.3
Klopný obvod typu D se statickým řízením
Malou úpravou klopného obvodu typu RS se vzorkovacím vstupem vytvoříme klopný obvod typu D se statickým řízením, nazývaný rovněž záchytný registr, který se často používá pro zachycování číslicových signálů (Obr. 9.10). Říká se mu slangově, vlivem anglické terminologie, také transparentní latch. (Pod označením registr se jinak obvykle myslí skupina klopných obvodů se společným vzorkovacím signálem.) Vstupní (datový) signál d se invertorem upravuje pro druhý vstup obvodu, takže nemůže nastat situace, kdy by oba tyto vstupy byly současně aktivovány během vzorkovacího okénka. Během trvání vzorkovacího impulsu prochází vstupní signál d na výstupy. Obvod pracuje jako transparentní (průhledný). Po skončení vzorkovacího impulsu se v obvodu zachytí hodnota vstupního signálu přítomná v okamžiku týlové hrany vzorkovacího impulsu a zůstane na výstupu beze změny až do příchodu dalšího vzorkovacího impulsu, kdy výstup začne opět sledovat stav vstupního signálu. Tento klopný obvod tedy může plnit funkci hradla s pamětí. d
&
&
q
&
&
/q
c
d
&
&
q
d
&
&
/q
c
c
& (a ) (b ) Obr. 9.10: Zapojení klopného obvodu typu D. a) se statickým řízením, b), jeho úspornější verze, c) schematická značka.
D T
q /q
C
(c )
Má-li být zachycená hodnota signálu jednoznačně určena, musí být v okolí týlové hrany vzorkovacího impulsu (v okolí okamžiku zachycení z Obr. 9.11) hodnota vstupního datového signálu d neměnná. Během vzorkovacího impulsu je totiž jeden ze vstupů klopného obvodu typu RS (Obr. 9.10) aktivován. Změní-li se v těsném okolí týlové hrany vzorkovacího impulsu hodnota signálu d, přejde dosud aktivní vstup klopného obvodu do neaktivního stavu a na druhém vstupu se objeví krátký aktivní impuls, který může, ale nemusí klopný obvod překlopit, popř. může způsobit vznik metastabilního stavu. Doba, po kterou má signál d zůstat neměnný, je určena hodnotou předstihu a přesahu. Na Obr. 9.12 je definován předstih (tsetup) a přesah (thold ) datového signálu vzhledem k týlové hraně vzorkovacího impulsu. Tyto doby mívají hodnoty srovnatelné s dobou zpoždění signálu v obvodech příslušné řady (několik
94
Evropský polytechnický institut s. r.o, Kunovice
nanosekund). U KO řízených hranou, mají tyto doby zcela zásadní důležitost a jejich nejmenší přípustné hodnoty bývají udávány v katalozích, kde se často značí i jinými symboly (tsetup = tDVCL, thold = tCLDV). okamžik zachycení c d q přenos signálu ze vstupu na výstup
Obr. 9.11: Časové průběhy u klopného obvodu D se statickým řízením. Zapojení z Obr. 9.10: Zapojení klopného obvodu typu D. je již dosti složité a proto se s ním v praxi sotva setkáme tak, že by bylo sestaveno z jednotlivých logických členů. Velmi často se však používá v integrovaném provedení, a to obvykle v registrech – blocích několika takových obvodů řízených společným hodinovým signálem. Jako příklad uveďme záchytný registr 74..75. Velmi rozšířený je záchytný registr 74..373 nebo 74..573 s osmi datovými signály. V řadě 4000 se vyrábí záchytný registr s označením 4042. Obvody typu D se statickým řízením se používají k zachycování signálu, nelze jich však přímo použít například ve funkci děliče kmitočtu nebo pro čítání. Dosud probrané klopné obvody mohou být vytvořeny ze samostatných logických členů (členů NAND, NOR, invertorů a podobně), i když se s nimi často setkáme i v integrovaném provedení, jako tomu je u zmíněných záchytných registrů. V dalším textu se budeme zabývat klopnými obvody, které již nemohou být snadno vytvořeny tímto způsobem, které však mají jiné výhodné vlastnosti a jsou základem čítačů a podobných subsystémů. data neměnná
c d t setup
t hold
Obr. 9.12: Definice předstihu a přesahu datového signálu.
9.3 Klopné obvody dvoustupňové a řízené hranou Vzorkovacím vstupům klopného obvodu typu RS se vzorkovacím vstupem a záchytného registru se statickým řízením se často říká hodinové vstupy. Jejich existencí se tyto obvody podobají synchronním klopným obvodům, tedy obvodům určeným pro stavbu synchronních systémů. Transparentnost těchto obvodů však neumožňuje například použít jich k vytvoření děliče kmitočtu nebo čítače přivedením signálů odvozených od jejich výstupů na vstupy. To je možné teprve použitím dvoustupňových klopných obvodů a klopných obvodů řízených hranou hodinového signálu, z nichž již můžeme vytvářet synchronní systémy. Řídicímu signálu těchto obvodů budeme říkat hodinový a budeme jej v dalším textu značit symbolem clk.
Digitální technika
95
Obvodů tohoto druhu bylo v průběhu vývoje dnes již ustálených řad číslicových obvodů, zejména řady 74, vyráběno značné množství variant s různými typovými čísly lišících se v detailech reakce na hodinové signály a v uspořádání vývodů. Mnoho z nich již z moderních technologických variant řady 74 i z dalších řad zmizelo. Dnes mají význam především klopné obvody řízené hranou. Některé dvoustupňové obvody však mají vcelku jednoduchou strukturu a umožňují lépe pochopit funkci dnes používaných klopných obvodů, a proto jim věnujeme trochu pozornosti. 9.3.1
Dvoustupňový klopný obvod typu RS
Tento obvod může být zapojen podle Obr. 9.13. Je složen ze dvou klopných obvodů typu RS se vzorkovacím vstupem. Prvnímu se říká řídicí (master), druhému řízený (slave). Hodinový signál je přiveden na vzorkovací vstup řídicího obvodu přímo a na vzorkovací vstup druhého obvodu přes invertor, takže během celé periody tohoto signálu neexistuje okamžik, kdy by datový signál mohl proniknout ze vstupu přímo na výstup. Vhodným sladěním dynamických vlastností a rozhodovacích úrovní je možno dosáhnout toho, že to platí i v době přechodů hodinového signálu. Toto sladění nelze jednoduše provést při sestavování obvodu ze samostatně vyrobených logických členů, je však dobře proveditelné při výrobě obvodu v integrovaném provedení. Stav řídicího klopného obvodu se předává do řízeného obvodu při sestupné hraně hodinového signálu, kdy řídicí obvod přestává reagovat na vstupní signály, které jej ovlivňovaly během hodinového impulsu. Stav výstupu se tedy mění vždy při sestupné hraně hodinového signálu. Jinak je funkční tabulka shodná s funkční tabulkou běžného obvodu typu RS, až na to, že v době sestupné hrany hodinového signálu nesmějí být oba vstupní signály aktivní, má-li být následující stav obvodu jednoznačně určen. Oba výstupy jsou vždy komplementární. s clk r
S T C R
S T C R
q /q
1
Obr. 9.13: Dvoustupňový klopný obvod typu RS. (Jeho spolehlivou funkci lze zaručit pouze v integrovaném provedení!) Z dvoustupňového klopného obvodu typu RS můžeme vytvořit dělič kmitočtu, přivedeme-li na nastavovací vstup (se signálem s) výstupní signál /q a na nulovací vstup signál q. Při každé sestupné hraně signálu clk se pak změní hodnota na výstupu, kde tedy bude signál s kmitočtem poloviny kmitočtu hodinového signálu. 9.3.2
Dvoustupňový klopný obvod typu JK
U obvodu podle Obr. 9.13: Dvoustupňový klopný obvod typu RS. přetrvává nepříjemný požadavek, že při týlové (sestupné) hraně hodinového impulsu nesmějí být oba vstupní signály v aktivním stavu. Tento požadavek je možno odstranit nevelkou úpravou obvodu podle Obr. 9.14. Tak dostáváme dvoustupňový klopný obvod typu JK. Součinové členy ve vstupech řídicího obvodu RS nedovolují, aby se oba tyto vstupy současně dostaly do aktivního stavu, protože výstupy obvodu jsou opět vždy komplementární. Jsou-li oba vstupní signály j, k jedničkové, odpovídá toto zapojení výše popsanému děliči kmitočtu. Jinak jsou vlastnosti tohoto obvodu stejné jako vlastnosti dvoustupňového klopného obvodu typu RS. Pokud hodnota některého ze signálů j, k během trvání hodinového impulsu dosáhne hodnoty I, zaznamená se do řídicího obvodu a následující stav odpovídá jedničkové
96
Evropský polytechnický institut s. r.o, Kunovice
hodnotě tohoto vstupu i v případě, že se jeho skutečná hodnota změní před příchodem týlové hrany hodinového impulsu na nulovou. Schematická značka klopného obvodu JK zde není nakreslena, můžete ji však vidět například na (na tomto obrázku jsou klopné obvody JK s dynamickými hodinovými vstupy). q' : j clk k
&
&
S T C R
q
S T C R
/q
j
O O I I
1
k
j k
q'
O I O I
0
O
q
O I
1
I 4
I
3
I 5
I
2
O 7
O
q 6
O
q
Obr. 9.14: Dvoustupňový klopný obvod typu JK. Funkční tabulka klopného obvodu typu JK (platí i pro jiná provedení tohoto typu klopného obvodu než je uvažované dvoustupňové zapojení) je nakreslena na Obr. 9.14. Symbolem q’ se rozumí hodnota výstupního signálu po týlové hraně hodinového impulsu. Pokládáme-li veličiny j, k a q za nezávislé vstupní veličiny, můžeme funkci q’ z Karnaughovy mapy na tomto obrázku vyjádřit vztahem, kterému se říká charakteristická rovnice klopného obvodu typu JK q’ = j . /q + /k . q .
( 9.1 )
Funkční tabulka a charakteristická rovnice udává stav výstupu klopného obvodu typu JK po skončení hodinového impulsu při známých vstupních signálech a známém dřívějším stavu výstupu. Při syntéze sekvenčních systémů však často potřebujeme znát potřebné hodnoty vstupních signálů, je-li znám současný stav výstupu a jeho žádaný stav po skončení hodinového impulsu. Tyto hodnoty udává tzv. zpětná (reverzní) funkční tabulka, která je na Obr. 9.15. Při jejím odvození se vychází z běžné funkční tabulky rozepsané do tvaru, v němž jsou všechny nezávisle proměnné na levé straně. Je zřejmé, že každý přechod od q ke q’, jemuž odpovídá řádek ve zpětné funkční tabulce, se v ní vyskytuje dvakrát. Jedna z proměnných j, k tedy může mít v každém řádku zpětné tabulky libovolnou hodnotu, která je v tabulce označena symbolem X. j
k q
q'
O O O O I I I I
O O I I O O I I
O I O O I I I O
O I O I O I O I
q q'
j
k
O O I I
O I X X
X X I O
O I O I
Obr. 9.15: Odvození zpětné funkční tabulky klopného obvodu typu JK. Klopné obvody JK vyráběné ve formě integrovaných obvodů mají často u vstupních členů AND více vstupů. Vstupní signály j a k jsou pak představovány součinem signálů na těchto vstupech. Tím lze často zjednodušit vnější kombinační obvody, v nichž se vstupní signály vytvářejí. U všech dosud uvedených klopných obvodů ovlivňují vstupní signály přítomné na datových vstupech (d, r, s, j, k) v době trvání hodinového impulsu následující stav obvodu. Modernější klopné obvody jsou řízeny hranou, tj. následující stav je určen jen datovými signály přítomnými v okamžiku aktivní hrany hodinového signálu. Vstupy s touto vlastností
Digitální technika
97
se nazývají dynamické a značí se indikátorem trojúhelníkového tvaru, jak je vidět např. na Obr. 9.16. 9.3.3
Dvoustupňový klopný obvod typu D
Tento obvod vytvoříme z dvoustupňového klopného obvodu typu RS stejným způsobem, jako jsme dostali z obvodu typu RS se vzorkovacím vstupem staticky řízený klopný obvod typu D (řízený hranou). Zapojení dvoustupňového klopného obvodu typu D je nakresleno na Obr. 9.16. Vstupní signál d se do řídicího obvodu zachycuje v okamžiku sestupné hrany hodinového signálu clk. S nepatrným zpožděním se tato zachycená hodnota signálu objeví na výstupu řízeného obvodu. Je tedy zřejmé, že hodnota výstupního signálu, tj. následující stav obvodu, je určena výhradně hodnotou signálu d v okamžiku sestupné hrany hodinového signálu. Říkáme pak, že tato sestupná hrana je aktivní. d clk
D T
S T C R
C
q
d
/q
clk
D TE
q /q
C
1
Obr. 9.16: Dvoustupňový klopný obvod typu D. Klopné obvody řízené hranou se často používají v zapojeních, kde se na jejich vstupy připojují signály odvozené z jejich výstupních signálů. Jednou ze základních aplikací je například dělič kmitočtu vstupního signálu dvěma (Obr. 9.17). Klopný obvod typu D se statickým řízením pro tento účel nelze použít, protože by v době, kdy má přenášet vstupní signál na výstup, představoval invertor, který obvykle při zapojení do smyčky zpětné vazby kmitá. Aby zde klopný obvod řízený hranou se strukturou podle Obr. 9.16 správně pracoval, musí oba dílčí klopné obvody mít sladěné statické i dynamické parametry. Nesmí se například stát, že by signál d ze vstupu pronikl na vstup druhého obvodu při vzestupné hraně signálu clk v době, kdy ještě druhý obvod přenáší své vstupní signály na výstup, a podobné požadavky musí být splněny i pro jejich chování při sestupné hraně signálu clk. To přirozeně platí i pro ostatní typy dvoustupňových klopných obvodů, které jsme poznali. Pokud bychom tyto obvody chtěli vytvářet z dílčích logických obvodů NAND a podobných, jako jsme to bez problémů mohli učinit u jednostupňových klopných obvodů až po klopný obvod typu D se statickým řízením, mohli bychom si pomoci použitím dvou hodinových signálů, jejichž impulsy se nepřekrývají, každý pro řízení jednoho stupně. Toto dvoufázové řízení klopných obvodů se často používalo před zavedením integrovaných klopných obvodů řízených hranou. Dvoustupňové klopné obvody spolehlivě fungující s jedním hodinovým signálem bychom však tímto způsobem nesestavili. V integrovaném provedení je ale potřebné sladění parametrů obou stupňů proveditelné. Dnes se s dvoustupňovými klopnými obvody sestavovanými ze základních logických obvodů nesetkáme, integrované obvody tohoto typu jsou však velmi rozšířené. D TE clk
C
q
fq = fclk / 2
Obr. 9.17: Zapojení děliče kmitočtu vstupního signálu dvěma. Tak jsme se dostali k moderním typům klopných obvodů, které jsou řízeny hranou. Skutečné vnitřní zapojení klopných obvodů typu D řízených hranou vyráběných v integrovaném provedení bývá odlišné od zapojení podle Obr. 9.16, rozdíly jsou však spíš jen
98
Evropský polytechnický institut s. r.o, Kunovice
technologického charakteru (jiná zapojení umožňují dynamických parametrů a menší potřebné plochy čipu).
například
dosáhnout
lepších
V dnešní době je vyráběno velké množství různých typů integrovaných klopných obvodů. S výjimkou klopných obvodů typu D se statickým řízením používaných v záchytných registrech jsou téměř výhradně řízeny hranou, což platí zejména o moderních variantách řady 74. To znamená, že i u klopných obvodů JK je příští stav obvodu, tedy hodnota výstupních signálů po aktivní hraně hodinového signálu, určen pouze hodnotami vstupních signálů v úzkém časovém okénku kolem této aktivní hrany. V tomto okénku se vstupní signály nesmějí měnit, má-li být reakce obvodu jednoznačná a není-li přípustný vznik metastabilního stavu. Šířka uvedeného okénka je dána požadovným předstihem a přesahem vstupních signálů vzhledem k aktivní hraně hodinového signálu. Definice těchto veličin (pro obvod se sestupnou aktivní hranou) odpovídá náčrtku na Obr. 9.12. Jako příklad uveďme klopný obvod SN 74..74, se schematickou značku na Obr. 9.18. Je to klopný obvod typu D řízený vzestupnou hranou. Jeho vybrané parametry ve verzích ALS a AS jsou v Tab. 9.2. d clk /s /r
D TE C S R
Obr. 9.18: Schematická značka klopného obvodu 74..74. Výrobci klopných obvodů zaručují jejich správnou funkci, jsou-li dodrženy tyto parametry. Povšimněme si nulové hodnoty požadovaného přesahu datového signálu vzhledem k aktivní hraně hodinového signálu. To zaručuje správnou funkci obvodů v zapojeních, kdy se vstupní datový signál obvodu odvozuje od jeho výstupního signálu, jak je tomu např. u zapojení obvodu jako děliče kmitočtu (Obr. 9.17). U některých typů klopných obvodů má přesah udánu nenulovou hodnotu, a pak bývá zaručováno minimální zpoždění takového obvodu, které je větší než tento přesah. Tab. 9.2: Dynamické parametry obvodů 74..74. parametr
SN74ALS74A
SN74AS74 význam
tDVCH
min. 15 ns
min. 4,5 ns předstih d vzhledem k clk
tCHDV
min. 0 ns
min. 0 ns
tCLCH
min. 14,5 ns
min. 5,5 ns šířka mezery clk
tCHCL
min. 14.5 ns
min. 4 ns
šířka impulsu clk
tRLRH, tSLSH
min. 15 ns
min. 4 ns
šířka impulsu r, s
tRHCH, tSHCH
min. 10 ns
min. 2 ns
doba zotavení r, s před aktivní hranou clk
přesah d vzhledem k clk
Uvedený klopný obvod 74..74 je vybaven kromě synchronních vstupů D, C i asynchronními vstupy S, R. Pokud se signál na hodinovém vstupu nemění, tedy v tomto signálu nejsou aktivní hrany, může být klopný obvod použit jako asynchronní obvod typu RS s vlastnostmi, které jsme poznali dříve.
Digitální technika 9.3.4
99
Další typy klopných obvodů řízených hranou
Ve schématech vnitřního zapojení integrovaných obvodů se někdy setkáme s variantou klopného obvodu typu D, označovanou jako typ DE. Vedle vstupu D má tato varianta ještě hradlovací vstup E. Je-li tento vstup aktivován, funguje klopný obvod jako obvod typu D. Není-li vstup E během aktivní hrany hodinového signálu aktivován, zůstává obsah klopného obvodu beze změny. Dalším typem odvozeným od klopného obvodu typu JK je klopný obvod typu T (označení je od anglického výrazu toggle – přepínač). Chová se jako klopný obvod JK se vzájemně propojenými vstupy J, K. Tento vstup se označuje symbolem T. Je-li aktivován, změní se stav obvodu při každé aktivní hraně hodinového signálu. Není-li aktivován, zůstává stav obvodu beze změny. Klopné obvody řízené hranou se vyrábějí v mnoha provedeních, která se vzájemně liší funkcí (typ JK, D atd.), počtem klopných obvodů v pouzdru, počtem výstupů (s jedním výstupem nebo se dvěma komplementárními výstupy), přítomností asynchronních vstupů atd. Vyrábějí se také sdružené do registrů se společným hodinovým vstupem. Tab. 9.3: Přehled nejdůležitějších typů synchronních klopných obvodů. typ KO char. rovnice
popis, komentář stav obvodu udává, který ze vstupů (R, S) byl naposled aktivován
RS
při aktivní hraně se do obvodu zapíše hodnota vstupu d
D
q’ = d
JK
q’ = j . /q + /k . q
T
q’ = t . /q + /t . q
obvod typu JK se spojenými vstupy
DE
q’ = e . d + /e . q
hradlovaný obvod typu D
Jako samostatně pouzdřené se vyrábějí především klopné obvody typu JK a D. Jiné typy klopných obvodů jsou často užívány jako prvky složitějších integrovaných obvodů. Přijdeme s nimi do styku zejména při práci s programovatelnými logickými obvody, popř. s hradlovými poli, kde je potřebné znát jejich funkci a vědět, k čemu je vhodné jednotlivé typy klopných obvodů použít. Přehled nejdůležitějších typů synchronních klopných obvodů je uveden v Tab. 9.3. 9.3.5
Vzájemný převod různých typů klopných obvodů řízených hranou
Jak bylo uvedeno, můžeme na klopný obvod typu T pohlížet jako na obvod typu JK se spojenými vstupy. Podobně je možno synchronní klopný obvod RS pokládat za obvod JK, u kterého je nevyužita kombinace vstupních signálů, které jsou aktivní současně. Není obtížné ukázat, že klopné obvody různých typů je možno vzájemně převádět zařazením vhodného kombinačního obvodu do vstupu. Jako příklad zkusme najít obvod, jehož předřazením před vstup klopného obvodu typu D vznikne klopný obvod typu T. Mluvíme zde o náhradě (emulaci) klopného obvodu typu T obvodem typu D. Budeme uvažovat, že pro emulaci zapojíme před klopný obvod typu D logický člen, jehož funkci stanovíme z požadavku, aby celek pracoval jako klopný obvod typu T (Obr. 9.19). Vzhledem k tomu, že se jedná o sekvenční obvod, bude příští stav obvodu a tedy i hodnota signálu d záviset nejen na vstupním
100
Evropský polytechnický institut s. r.o, Kunovice
signálu t, ale také na současném stavu q. Proto musíme tento signál přivést na vstup vloženého členu spolu se vstupním signálem t.
?
d
t
D
TE
q
t T
TE
q
clk
clk
C
C
Obr. 9.19: Náhrada klopného obvodu T obvodem typu D. Při odvození vyjdeme z požadavku, že signál d na vstupu obvodu typu D představuje příští stav obvodu. Má-li se celek chovat jako klopný obvod typu T, musí vložený logický člen označený otazníkem realizovat logickou funkci danou Tab. 9.4: Tab. 9.4: K odvození náhrady klopného obvodu typu T obvodem typu D. t
q
d = q’
výstup
O
O
O
beze změny
O
I
I
beze změny
I
O
I
změna
I
I
O
změna
V záhlaví tabulky je symbolem q’ označen příští stav výstupu, tj. stav po příchodu aktivní hrany hodinového signálu. Z tabulky je zřejmé, že hledaná logická funkce vloženého členu je funkce XOR. Zcela analogickým způsobem bychom zjistili, že klopný obvod D je možno nahradit obvodem typu T opět s předřazeným členem XOR. I pro náhradu ostatních typů klopných obvodů je možno podobně najít potřebný vložený kombinační obvod. Podobnou transformací je možno převést například klopný obvod typu D na typ JK a naopak. Obecně je možno tímto způsobem vzájemně převádět všechny probrané typy klopných obvodů řízené hranou. Praktický význam této skutečnosti je v tom, že známe-li například zapojení čítače s klopnými obvody typu D, můžeme je vložením členu EX-OR před vstupy klopných obvodů převést na zapojení s klopnými obvody typu T (nebo s obvody JK se spojenými vstupy). Není tedy potřebné odvozovat zapojení každého synchronního subsystému pro různé typy klopných obvodů zvlášť, stačí najít toto zapojení pro jeden typ a zapojení pro jiné typy z něho získáme uvedenou transformací.
9.4 Registry Název registr se používá pro skupinu klopných obvodů stejného typu (nejčastěji bývají typu D), které mají společné řídicí (hodinové, nulovací) signály. Registry se používají k uchování dat, popřípadě mohou sloužit i k jejich jednoduchému zpracování, zejména k převodu paralelního formátu na sériový nebo naopak. Typem registru rozumíme typ klopných obvodů, z nichž je registr složen. Podobně jako tomu je u klopných obvodů, i registry různých typů
Digitální technika
101
řízené hranou lze vzájemně převádět zapojením vhodných kombinačních obvodů do jejich vstupů. Registry mohou být i smíšeného typu. U paralelních registrů představují vstupy i výstupy klopných obvodů, z nichž je registr složen, vstupy a výstupy registru. Používají se zejména k zachycení vstupních údajů v době hodinového impulsu a k jejich využití v následující době, tedy jako záchytné registry. Paralelní registry mohou být řízeny staticky nebo hranou hodinového signálu. Paralelení registry složené z klopných obvodů řízených hranou jsou základním stavebním prvkem synchronních systémů. U sériových (posuvných) registrů jsou klopné obvody uspořádány do řady, kde výstup jednoho klopného obvodu je připojen ke vstupu dalšího. Posuvné registry mohou být jednosměrné nebo obousměrné. Na vstupu každého klopného obvodu je multiplexor, který vybírá vstupní signál v závislosti na požadovaném směru posuvu z výstupů obou sousedních klopných obvodů. Tyto registry se sestavují výhradně z klopných obvodů řízených hranou (popř. z dvoustupňových klopných obvodů), takže každý hodinový impuls posune informaci obsaženou v registru o jeden stupeň. Zařazením multiplexorů do vstupů klopných obvodů sériového registru můžeme umožnit jeho paralelní naplnění. Pak může registr převádět data zachycená paralelním způsobem do sériového formátu. Na výstupu posledního klopného obvodu pak je v každém taktu hodinového signálu jeden z bitů zachycených dat. Toto uspořádání se často používá při sériovém přenosu dat. Vstup prvního klopného obvodu posuvného registru může naopak přijímat sériově přicházející data, a po naplnění registru můžeme z výstupů jednotlivých klopných obvodů data převzít v paralelním formátu. Připojením výstupu posledního klopného obvodu posuvného registru na vstup prvního získáme kruhový registr. Je možno jej použít ke generování periodických průběhů, které jsou dány počátečním naplněním registru.
9.5 Shrnutí kapitoly 9 Nejjednoduššími prvky sekvenčních systémů jsou asynchronní klopné obvody typu RS. Mohou být realizovány z logických členů NAND nebo NOR. Využívá-li se jen jeden jejich výstup, můžeme mluvit o obvodech s přednostním nastavením nebo s přednostním nulováním, podle toho, jak reagují na současnou aktivaci obou vstupů. Klopné obvody typu D se statickým řízením je možno rovněž vytvořit z uvedených logických členů, pro jeho spolehlivou funkci však je nezbytné odstranit hazard. Tyto obvody se obvykle vyskytují v integrovaném provedení, používají se jako záchytné registry. Z uvedených obvodů se statickým řízením není možno sestavit spolehlivě pracující děliče kmitočtu dvěma, čítače a podobně při použití jediného hodinového signálu bez komplikovaného ošetření časových parametrů těchto obvodů. Pro takové aplikace se používají klopné obvody řízené hranou. Klopné obvody řízené hranou se vyskytují v řadě různých variant lišících se vzájemně působením vstupních signálů: obvody typu D, JK, T atd. Tyto obvody jsou v principu ekvivalentní, tj. lze je vzájemně převádět (emulovat) zapojením vhodných kombinačních členů do vstupů. U všech typů klopných obvodů je pro jejich spolehlivou funkci důležité dodržet určité časové požadavky na vstupní signály, jako jsou například u klopných obvodů řízených hranou předstih a přesah datových signálů vzhledem k aktivní hraně hodinového signálu, nejvyšší
102
Evropský polytechnický institut s. r.o, Kunovice
kmitočet hodinového signálu a další. Jejich nedodržení či překročení může znamenat zhoršenou spolehlivost až úplnou ztrátu funkce.
9.6 Příklady a kontrolní otázky ke kapitole 9 Příklad 9.1. Najděte zapojení umožňující nahradit klopný obvodu JK obvodem typu D. Řešení: Před klopný obvod typu D vložíme opět kombinační člen tak, aby výsledné zapojení pracovalo jako klopný obvod typu JK (Obr. 9.20).
? j
d
j
q
TE
D
k
k
J
TE
q
K clk
clk
C
C
Obr. 9.20: Náhrada klopného obvodu typu JK obvodem typu D. Tab. 9.5: K odvození náhrady klopného obvodu typu JK obvodem typu D. q
j
k
d = q’
výstup
O
O
O
O
beze změny
O
O
I
O
nulování
O
I
O
I
nastavení
O
I
I
I
změna
I
O
O
I
beze změny
I
O
I
O
nulování
I
I
O
I
nastavení
I
I
I
O
změna
Požadované chování vloženého obvodu popisuje Tab. 9.5. Pro funkci d sestavíme Karnaughovu mapu, jak je naznačeno na Obr. 9.21. j
k 0
O
1
O 4
I
3
I 5
O
2
I 7
O
q 6
I
Obr. 9.21: Karnaughova mapa pro funkci d. Z mapy na Obr. 9.21 dostaneme vyjádření pro funkci d: d = j . /q + /k . q.
( 9.2 )
Digitální technika
103
Toto vyjádření představuje charakteristickou rovnici klopného obvodu typu JK. Tomu odpovídá zapojení vloženého členu podle Obr. 9.22. Povšimněte si podobnosti vloženého členu se vstupní částí obvodu JK z Obr. 9.14.
j
& &
k
1
&
d D
TE
q
clk C
Obr. 9.22: Zapojení obvodu emulujícího KO typu JK obvodem typu D. Příklad 9.2: Najděte typ vloženého členu, kterým je možno emulovat klopný obvod typu D obvodem typu T (tj. provést zpětný převod jinak než jak je naznačen na Obr. 9. 19).
Kontrolní otázky: 1) V zapojení vloženého členu na Obr. 9.22 je hazard. Při změně kterého signálu může v jeho důsledku vzniknout parazitní impuls? Je pro spolehlivou funkci celého zapojení potřebné tento hazard odstranit? 2) Má závěr, podle něhož je funkce vloženého členu pro emulaci klopného obvodu typu JK obvodem typu D popsána charakteristickou rovnicí klopného obvodu typu JK obecnější platnost?
104
Evropský polytechnický institut s. r.o, Kunovice
10 Čítače a stavové automaty Cíle kapitoly: Uvést nejdůležitější typy čítačů a jejich vlastnosti. Seznámit studenty s metodikou návrhu synchronních čítačů a stavových automatů a s použitím integrovaných čítačů.
10.1 Čítače Čítače tvoří velkou skupinu mezi sekvenčními systémy. Většinu sekvenčních obvodů (které neodměřují čas) můžeme považovat v jistém smyslu za čítače pracující ve vhodném kódu. •
• •
•
Čítače můžeme rozdělit podle mnoha hledisek. Nejobvyklejší způsoby dělení jsou: podle kódu, v němž pracují: • čítače s kódem binárním, • čítače s kódem dekadickým, (BCD aj), • čítače s kódem Grayovým atd. podle způsobu zapojení: • čítače asynchronní, • čítače synchronní, podle směru čítání: • čítače s čítáním vpřed, • čítače s čítáním vzad (používají se i jiné výrazy), • čítače vratné (obousměrné), podle typu klopných obvodů, z nichž jsou sestaveny atd.
Nejčastěji se setkáme s binárními čítači a s čítači dekadickými. Tyto čítače se vyrábějí v integrovaném provedení v šířce čtyř, osmi i více bitů. Čítače sestavené z jednotlivých klopných obvodů najdeme zejména ve struktuře programovatelných logických obvodů a hradlových polí. Integrované čítače bývají vybaveny prostředky pro jejich propojování do kaskády s větším počtem bitů. V našem výkladu se zaměříme především na problémy, které jsou důležité pro pochopení funkce a pro správné použití integrovaných čítačů, zejména pro jejich zmíněné propojování. Čítače představují modelové sekvenční systémy. Problémy, s nimiž se zde setkáme i jejich řešení, mají obecnější charakter. q0
clk
q1
q2
q3
D TE
D TE
D TE
D TE
C
C
C
C
clk q0 q1 q2 q3 stav
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Obr. 10.1: Asynchronní binární čítač s časovými průběhy signálů.
14
15
0
1
Digitální technika
105
10.2 Asynchronní binární čítač Nejjednodušší zapojení binárního čítače spočívá v kaskádním zapojení děličů dvěma. S použitím klopných obvodů typu D dostaneme čítač podle Obr. 10.1. I když se použité klopné obvody typu D označují za synchronní, jejich propojení v tomto případě neodpovídá synchronnímu zapojení. Pro tento typ čítače je charakteristické, že se vstupní signál clk šíří postupně jednotlivými stupni čítače a v každém stupni je zpožděn, takže při dostatečně vysokém vstupním kmitočtu a velkém počtu stupňů čítače může být zpoždění v posledním (nejvyšším) stupni čítače i větší než je perioda vstupního signálu. Proto se takovému čítači v angličtině říká ripple counter (ripple – vlnění). V češtině se používá termín čítač s postupnou vlnou. Chceme-li obsah čítače využít, musíme dříve přerušit čítání a počkat, až se stav čítače ustálí. U takového čítače tedy lze jeho obsah průběžně zachytit a vyhodnocovat za běhu až po ustálení jeho výstupů. Mění-li se například stav čítače z nejvyššího stavu do stavu vynulovaného, prochází přitom čítač řadou mezistavů (Obr. 10.2), které odpovídají postupné změně stavu jednotlivých klopných obvodů. Podobné postupné změny jsou typické pro asynchronní systémy obecně. Na druhé straně je nejvyšší vstupní kmitočet, který tento čítač může zpracovat, nezávislý na počtu stupňů čítače. Tento kmitočet je roven nejvyššímu kmitočtu, při němž ještě pracuje správně první stupeň čítače. Z tohoto hlediska je uvedený typ čítače nejrychlejší ze všech možných. Zapojení čítače z Obr. 10.1 odpovídá zjednodušené vnitřní struktuře integrovaného čítače 74..93 (bez asynchronních nulovacích vstupů). clk q0 q1 q2 q3 stav
15 14 12
8
0
Obr. 10.2: Postupný přechod asynchronního čítače ze stavu 15 do 0. Čítač nakreslený na Obr. 10.1 čítá vpřed. Čítač vzad z něj získáme snadno, když hodinové vstupy klopných obvodů (mimo prvního) připojíme na inverzní výstupy předcházejících stupňů, nebo použijeme-li v témže zapojení klopné obvody řízené vzestupnou hranou. Jednoduchost a přehlednost funkce uvedeného asynchronního čítače vzbuzuje dojem, že jde o obecnější vlastnosti asynchronních systémů. Ve skutečnosti tomu tak není. Pouze malé rozšíření funkce tohoto čítače tak, aby byl vratný, již zdaleka není jednoduché. Další příklady asynchronních čítačů jsou uvedeny v závěru této kapitoly. Problémy, které jsou v těchto příkladech popsány, jsou typické pro asynchronní systémy. Potíže vznikají zejména tehdy, přivádíme-li signály odvozené od hodinového signálu na asynchronní vstupy klopných obvodů, jak tomu bylo u diskutovaného čítače. To však neznamená, že asynchronní systémy nelze navrhnout tak, aby spolehlivě pracovaly. Je ale nezbytné věnovat jejich návrhu dostatečnou pozornost a důkladně jej promyslet. Uvedeným problémům se můžeme vyhnout použitím synchronních systémů, které jsou mnohem méně náročné na podobné detailní rozbory.
106
Evropský polytechnický institut s. r.o, Kunovice
10.3 Synchronní čítače Jak je zřejmé z příkladů analýzy a konstrukce asynchronních čítačů (viz příklady k této kapitole), není návrh asynchronního systému obecně jednoduchou záležitostí. Problémy činí zejména zpoždění obvodových prvků, která při nedostatečně promyšleném návrhu mohou způsobit nesprávnou nebo nespolehlivou funkci navrženého systému (hazardy). Kromě obecného požadavku na dodržení předepsaných hodnot dynamických parametrů použitých obvodů (předstih, přesah apod.) zde není možno stanovit všeobecně platná pravidla, jejichž dodržení při návrhu by zajistilo, že systém bude spolehlivě fungovat. Vyskytne-li se potřeba pozměnit funkci asynchronního systému, je obvykle nutno navrhnout systém zcela znovu, protože i při drobných úpravách zapojení asynchronního systému se můžeme velmi snadno dopustit chyb a nedomyšleností, které naruší spolehlivost jeho funkce. Pravidla zajišťující spolehlivou funkci navrženého systému však lze stanovit u skupiny sekvenčních systémů zvaných synchronní, jejichž zvláštním případem jsou synchronní čítače. Připomeňme, že charakteristickou vlastností těchto systémů je existence speciálního hodinového signálu, který se přivádí na paralelně propojené hodinové vstupy všech klopných obvodů, z nichž je systém složen. Klopné obvody zde tedy tvoří registr. Volba typu registru (D, T, JK a podobně) v určitém konkrétním případě ovlivňuje složitost kombinační části, jinak však jsou různé typy registrů v principu ekvivalentní. Budeme předpokládat, že registr má dynamický hodinový vstup, tj. je řízen hranou hodinového signálu. Kromě registru obsahuje synchronní systém pouze kombinační obvody bez smyček zpětné vazby, které představují kombinační část systému. Pokud má registr také asynchronní vstupy (nulovací, nastavovací apod.), předpokládá se, že se tyto vstupy používají jen pro inicializaci systému a během vlastní jeho činnosti jsou neaktivní. Blokové schéma modelu takového synchronního systému je nakresleno na Obr. 10.3. Do kombinační části přicházejí vstupní signály (u čítačů to mohou být např. signály pro řízení směru čítání, pro jeho synchronní naplnění určitým obsahem a podobně), a vycházejí z ní signály výstupní. Výstupní signály mohou být odebírány i přímo z výstupů registru.
kombinační část
vstupy
registr
stav
výstupy
clk
Obr. 10.3: Model synchronního systému. Proměnné obsažené v registru (Obr. 10.3) představují stav systému. Každá aktivní hrana hodinového signálu způsobí přenos informace ze vstupů registru na jeho výstupy. Tím na výstupech vznikne příští (nový) stav, který představuje vstupní signály pro kombinační část. Signály tohoto nového stavu pak procházejí kombinační částí, v níž mohou být hazardy. Parazitní impulsy jimi způsobené však na vstupy registru přicházejí v době následující po aktivní hraně hodinového signálu, která je vyvolala, a nemají proto na obsah registru žádný vliv. Po uplynutí jisté doby se signály na vstupu registru ustálí a nová aktivní hrana hodinového signálu může bez problémů vyvolat další příští stav. Pro chování synchronního systému je tedy důležitá jen logická funkce realizovaná kombinační částí systému v ustáleném stavu. Přechodné jevy a hazardy mají význam jen z toho hlediska, jak dlouho mohou trvat, což ovlivňuje nejvyšší přípustný kmitočet hodinového signálu – nová aktivní hrana smí přijít
Digitální technika
107
teprve po ustálení výstupních signálů kombinační části. Tato necitlivost synchronních systémů na hazardy je cennou vlastností synchronních systémů a umožňuje jejich bezproblémový návrh, který lze snadno algoritmizovat. Pro asynchronní systémy je typické, že změny stavu klopných obvodů, z nichž je sestaven, probíhají postupně. Příkladem je asynchronní čítač s průběhy výstupních signálů z Obr. 10.1 a Obr. 10.2. Změny stavu na výstupech registru synchronního systému probíhají v mnohem kratším časovém rozmezí, jehož šířka je dána rozptylem časového zpoždění jednotlivých klopných obvodů, z nichž je složen. To je další výhoda synchronních systémů. Pro synchronní systém z Obr. 10.3 můžeme stanovit nejvyšší přípustný kmitočet hodinového signálu, uvážíme-li, že pro správnou funkci registru musí být signály na jeho datových vstupech ustáleny nejméně o dobu předstihu tsetup těchto signálů před následující aktivní hranou hodinového signálu. Označíme-li symbolem tCO zpoždění registru (Clock-toOutput –doba od aktivní hrany hodinového signálu po ustálení jeho výstupů) a symbolem tpd (propagation delay) zpoždění kombinační části, je nejvyšší přípustný kmitočet hodinového signálu možno vyjádřit jako převrácenou hodnotu jeho nejmenší periody, která je rovna součtu těchto časů: fclkmax = 1/(tCO + tpd + tsetup).
( 10.1 )
Tab. 10.1: Srovnání asynchronních a synchronních systémů. Asynchronní systémy: Synchronní systémy: Na změny vstupních signálů reagují okamžitě Reagují až při příchodu aktivní hrany hodinového signálu Mohou být jednodušší, nepotřebují hodinový Vyžadují hodinový signál, který musí mít signál dostatečně vysoký kmitočet, zdroj rušení Postupné šíření změn obvodem, nesoučasné Výstupy registru se překlápějí téměř překlápění klopných obvodů současně, menší možnost vzniku parazitních impulsů Hazardy mohou způsobit nespolehlivou Hazardy neovlivňují funkci, není třeba je funkci, je nutná podrobná analýza odstraňovat Návrh je obtížný, snadno se udělá chyba Návrh je snadný, postup je standardizován, způsobující nespolehlivou funkci s rozsáhlou podporou u systémů CAD Změny funkce jsou obtížné, často malá změna Změny se provedou úpravou kombinační vynutí kompletní rekonstrukci systému části, což je poměrně snadné 10.3.1 Binární synchronní čítače Tyto čítače pracují v binárním kódu. Zapojení můžeme odvodit z Chyba! Nenalezen zdroj odkazů., ze které je zřejmé, že se u čítače vpřed mění bit čítače tehdy, jsou-li všechny jeho nižší bity nastaveny. Z toho plyne, že pro vytváření čítačů tohoto druhu jsou vhodné klopné obvody typu T (popř. JK se spojenými vstupy, které jsou klopným obvodům typu T ekvivalentní). Na vstup každého klopného obvodu bude přiveden součin všech výstupů klopných obvodů představujících nižší bity. U čítače vzad se bit čítače mění, jsou-li všechny jeho nižší bity vynulovány, a jeho zapojení bude podobné s tím rozdílem, že místo součinu přímých výstupů bude použit součin výstupů inverzních. Zapojení čítače s klopnými obvody typu D můžeme získat náhradou klopných obvodů typu T podle odst. 9.3.5. Čtyřbitový binární synchronní čítač vpřed je nakreslen na Obr. 10.4. Signál na vstupech T klopných obvodů je vytvářen u každého obvodu zvlášť součinovým členem, na který jsou přivedeny paralelně všechny výstupní signály předcházejících stupňů. Proto je tento signál
108
Evropský polytechnický institut s. r.o, Kunovice
zpožděn za aktivní hranou hodinového signálu u všech klopných obvodů stejně, nezávisle na počtu stupňů čítače. Tento signál je analogií přenosového bitu u binárních sčítaček a proto se mu v souhlasu se způsobem jeho vytvoření říká signál paralelního přenosu. Výhodou tohoto způsobu vytvoření přenosu je to, že nesnižuje dosažitelný kmitočet vstupního hodinového signálu. Tab. 10.2: Binární kód. stav
q3
q2
q1
q0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
O O O O O O O O I I I I I I I I
O O O O I I I I O O O O I I I I
O O I I O O I I O O I I O O I I
O I O I O I O I O I O I O I O I
q0
q1
q2
q3
en
& T0 T
T1 TE
&
T
T2 TE
&
T
rco
T3 TE
& T
C
C
C
C
R
R
R
R
TE
clk /rst
Obr. 10.4: Binární synchronní čítač s paralelním přenosem. Vstupní signály klopných obvodů na Obr. 10.4 jsou ještě vynásobeny signálem en (Enable). U integrovaných čítačů se příslušný vstup označuje symbolem EN. Je-li tento vstup aktivován, pak je čítač každým hodinovým impulsem inkrementován, v opačném případě se jeho obsah nemění. Při zvětšování počtu stupňů čítače rychle roste potřebný počet vstupů u součinových členů. Další komplikací je velké množství spojů, které musí být vedeno k vyšším stupňům čítače, což omezuje možnost spojování takových čítačů do kaskády. Proto se u integrovaných čítačů s tímto zapojením vytváří logický součin všech výstupů, představující signál přenosu (Ripple Carry Output – signál rco na Obr. 10.4) do vyššího řádu čítače. Odpovídající výstup čítače se obvykle značí symbolem RCO nebo stručně CO. Při spojování více čítačů do kaskády se pak tento přenosový signál připojí na vstup EN čítače vyššího řádu. Při využívání výstupů typu RCO musíme počítat s tím, že na takových výstupech mohou vznikat při změnách stavu čítače parazitní impulsy způsobené časovými rozdíly ve změnách stavu jednotlivých stupňů čítače. Tyto impulsy budou sice mnohem kratší
Digitální technika
109
než podobné impulsy vznikající při dekódování výstupů asynchronních čítačů, zcela vyloučit jejich vznik však nemůžeme. Nejvyšší kmitočet hodinového signálu, který je čítač podle Obr. 10.4 schopen správně zpracovat, je podle vztahu ( 10.1 ) roven fparmax = 1/(tCO + tpdAND + tsetup). ( 10.2 ) Zde hodnota tpdAND je zpoždění součinových členů zapojených ve vstupech klopných obvodů. Zapojíme-li do kaskády více čtyřbitových čítačů zapojených podle tohoto obrázku způsobem popsaným v předcházejícím odstavci, musíme k tomuto zpoždění přidat zpoždění všech součinových členů, jimiž signály z nižších stupňů kaskády procházejí k nejvyššímu stupni čítače. q0
q1
en
&
q2 &
T0
q3 & rco
&
T1
T2
q &
T3
T TE
T TE
T TE
T TE
C
C
C
C
C
R
R
R
R
R
clk /rst
=1
D TE
(a)
(b)
Obr. 10.5: Binární synchronní čítač. a) se sériovým přenosem vedeným do datových vstupů, b) zapojení jednoho stupně čítače s klopným obvodem typu D. Méně náročné na propojení mezi stupni je zapojení čítače se sériovým (postupným) přenosem podle Obr. 10.5a. Přenos od prvního stupně se zde šíří součinovými členy postupně a na poslední stupeň se dostane až za dobu odpovídající součtu zpoždění všech součinových členů, takže s rostoucím počtem bitů čítače zde klesá nejvyšší přípustný kmitočet hodinového signálu. Příklad náhrady klopného obvodu typu T obvodem typu D u jednoho stupně čítače je nakreslen na Obr. 10.5b. q0
q1
q2
q3
et
&
ep
T0 T
clk
rco
& T1 TE
&
T
T2 TE
&
T
T3 TE
&
T
C
C
C
C
R
R
R
R
TE
1
/rst
Obr. 10.6: Čítač se vstupy ET a EP. Vytváří-li se čítač s větším počtem bitů sestavením kaskády z integrovaných čítačů zapojených podle Obr. 10.4, dochází zde k podobnému jevu jako u čítače z Obr. 10.5 tj. přenos mezi jednotlivými pouzdry čítačů se zpožďuje, což omezuje nejvyšší hodinový kmitočet sestaveného čítače. Aby se toto omezení odstranilo nebo aspoň zmenšilo, používá se v integrovaných čítačích struktura podle Obr. 10.6. Zde jsou pro šíření přenosového signálu z předcházejících stupňů použity dva signály označené ep (Enable Parallel) a et (Enable
110
Evropský polytechnický institut s. r.o, Kunovice
Trickle). Čítače tohoto druhu vyráběné v řadě 74 mají obvykle aktivní vzestupnou hranu hodinového signálu, což naznačuje invertor v tomto vstupu. Zapojení šestnáctibitového čítače složeného ze čtyř čtyřbitových sekcí se strukturou podle Obr. 10.6 je nakresleno na Obr. 10.7. Signál rco z výstupu CO první sekce je aktivní v posledním taktu této sekce po dobu jedné periody hodinového signálu. Na konci této periody budou měnit stav i vyšší stupně čítače, pro něž platí, že všechny nižší stupně jsou nastaveny. Uvedený signál rco je připojen ke všem vstupům EP následujících stupňů, takže se na vstupy součinových členů u jednotlivých klopných obvodů dostává impuls aktivní úrovně tohoto signálu se zpožděním nezávislým na počtu použitých sekcí. Výstupy CO dalších sekcí již mají zpoždění úměrné počtu sekcí, jimiž prochází signál z výstupu CO druhé sekce. Šířka impulsu s aktivní úrovní na tomto výstupu druhé sekce je však šestnáctkrát větší než šířka podobného impulsu z první sekce, takže jeho zpoždění je mnohem méně kritické. Proto není na závadu, že se tento impuls šíří sériově způsobem podobným jako u čítače na Obr. 10.5. Dosažitelný kmitočet hodinového signálu by se snižoval, až kdybychom vytvářeli čítač složený z několika desítek čtyřbitových sekcí. I I
ET EP C R
CT2
CO Q0 Q1 Q2 Q3
rco
I
q0 q1 q2 q3
ET EP C R
CT2
CO Q0 Q1 Q2 Q3
q4 q5 q6 q7
ET EP C R
CT2
CO Q0 Q1 Q2 Q3
q8 q9 q 10 q 11
ET EP C R
CT2
CO Q0 Q1 Q2 Q3
q 12 q 13 q 14 q 15
clk /rst
Obr. 10.7: Šestnáctibitový čítač složený ze sekcí se strukturou z Obr. 10.6. Strukturu podle Obr. 10.6 obsahují integrované čítače 74..161 a 74..163. Tyto čítače mají ještě další funkci umožňující paralelní naplnění čítače zadaným obsahem. Způsob propojování jejich pouzder do vícebitových celků odpovídá zapojení na Obr. 10.7 a je stejný i u dekadických čítačů 74..160 a 74..162. Rovněž vratné čítače 74..168 a 74..169 se propojují tímto způsobem. Jsou možné i jiné způsoby propojování, přičemž vlastnosti výsledného zapojení vyplývají ze struktury čítačů. Tyto způsoby mohou být i jednodušší, pokud se omezíme na nižší hodinové kmitočty. U všech těchto čítačů je aktivní vzestupná hrana hodinového signálu. Dalším zapojením užívaným u integrovaných čítačů je zapojení čítače s hodinovým signálem, který je hradlován přenosem. Toto zapojení je podrobněji popsáno v následujícím odstavci, který je věnován vratným čítačům. 10.3.2 Vratné binární čítače. Jak již bylo zmíněno, zapojení čítačů čítajících vzad se od čítačů čítajících vpřed liší jen tím, že signály přenosu jsou u nich odvozeny z inverzních výstupů jednotlivých stupňů místo z přímých. Používají se dva způsoby řízení směru čítání. Při prvním způsobu se směr čítání řídí úrovňovým signálem, který se označuje u/d (Up/Down). Hodinový signál je u tohoto způsobu řízení jen jeden a směr přechodu čítače při každé jeho aktivní hraně je určen hodnotou signálu u/d v době této aktivní hrany. Druhý způsob spočívá v použití dvou hodinových signálů označovaných cu, cd (Count Up, Count Down), z nichž každý odpovídá jednomu směru čítání.
Digitální technika
111
Vratné čítače obsahují struktury kombinační části pro signál přenosu v obou směrech čítání. U prvního způsobu řízení směru čítání (Obr. 10.8) se signál na vstupech klopných obvodů vytváří jako logický součet dílčích přenosových signálů pro oba směry čítání, přičemž dílčí přenosový signál pro čítání vpřed je násoben signálem u/d a dílčí přenosový signál pro čítání vzad je násoben inverzí signálu u/d. Při každé aktivní hraně hodinového signálu se tedy uplatňuje přenos odpovídající směru zvolenému signálem u/d. Tomuto zapojení odpovídá struktura binárních vratných čítačů 74..191 a dekadických čítačů 74..190. Hodinové signály obou těchto čítačů mají aktivní vzestupnou hranu. q0
q1
q2
q3 &
u/d
& 1
/en
&
clk
T TE
& 1
T TE
& 1
T TE
& 1
T TE
C
&
C
&
C
&
C
T0
T1
T2
T3
1
/rco
&
1
Obr. 10.8: Vratný čítač s řízením směru čítání signálem u/d. (signál /rco bývá někdy označován /cco) V signálu /rco je u čítačů 74..190 a 74..191 jako činitel zahrnut i hodinový signál. Tento součin se někdy (výstižněji) značí symbolem /cco (Clocked Carry Output). U uvedených čítačů je jako výstup vyveden i signál max/min (na Obr. 10.8 není naznačen), který je aktivní v poslední periodě každého čítacího cyklu (odpovídá signálům rco u předcházejících obrázků). Přítomnost obou těchto signálů umožňuje uživateli volit podle potřeby řazení pouzder do větších celků užitím přenosového signálu /cco synchronním způsobem (s hodinovými vstupy propojenými paralelně) nebo způsobem semisynchronním, jak je uvedeno dále, nebo pomocí vnějších součinových členů a signálu max/min vytvořit strukturu odpovídající struktuře EP, ET z Obr. 10.8. q0 cu
q2
q3 &
/co
&
/bo
1 I 1
cd
q1
1
T TE C
T0
I & 1
T TE C
& T1
I & 1
T TE C
&
& 1
I
C
&
T2
T TE
T3
Obr. 10.9: Vratný čítač s hodinovými signály hradlovanými přenosem. Vratný čítač s druhým způsobem řízení směru je nakreslen na Obr. 10.9. Zde je každý z obou hodinových signálů hradlován přenosovým signálem, který odpovídá příslušnému směru čítání, a oba hodinové signály se pak logicky sčítají. Hodinové impulsy obou signálů cu, cd se nesmějí vzájemně překrývat. Při pohledu na schéma se zdá, že tento typ čítače
112
Evropský polytechnický institut s. r.o, Kunovice
neodpovídá představě o synchronním čítači. Protože je však v cestě hodinových signálů u všech klopných obvodů zařazen jeden logický člen, je zpoždění tohoto signálu pro všechny stupně stejné a zapojení se skutečně chová jako synchronní čítač. Signály /co, /bo (Carry Output, Borrow Output) slouží jako hodinové signály, které lze přímo připojit na odpovídající vstupy čítače v dalším stupni. Tento další stupeň je však již připojen typicky asynchronním způsobem. Čítačům sestaveným tímto způsobem ze sekcí (integrovaných čítačů) zapojených podle Obr. 10.9, které samy o sobě jsou synchronní, se říká semisynchronní. Schéma na Obr. 10.9 odpovídá principiálně vnitřnímu zapojení čítačů 74..193 (binární čítač) ve verzích Standard, L a LS. Tyto čítače jsou doplněny o nulovací vstup a možnost naplnění zadaným obsahem. Podobný princip je použit i u dekadických čítačů 74..192. Všechny uvedené konkrétní typy čítačů, které byly uváděny jako příklady použití probíraných struktur, mají vnitřní zapojení shodné s popsaným zapojením zpravidla jen v určitých technologických verzích (LS, ALS, HC apod.). Jiné verze mohou mít v některých případech pozměněné vnitřní zapojení, odlišnosti mohou být i mezi stejně označenými produkty různých výrobců. Vnějším chováním se však zpravidla neliší (popř. odlišnosti jsou nepodstatné). Pokud nás však zajímá zcela detailní popis chování určitého konkrétního typu, technologické verze a od určitého výrobce, je nutno prostudovat údaje, které bývají uvedeny v katalozích jednotlivých výrobců. 10.3.3 Dekadické synchronní čítače a synchronní čítače s jinými kódy Binární čítače popsané v předcházejícím textu jsou příkladem synchronních systémů, u nichž je výhodné používat registr s klopnými obvody typu T (viz model synchronního systému z Obr. 10.3). Při stanovení logické funkce kombinační části se její výstupní signály v obecném případě získají pomocí zpětné funkční tabulky použitých klopných obvodů (příklad tohoto postupu je v závěru této kapitoly, viz Příklad 10.3). V mnoha jiných aplikacích je však výhodnější zvolit registr s klopnými obvody typu D. Registry tohoto typu jsou obsaženy v nejobvyklejších typech programovatelných logických obvodů (PLD) – např. v GAL 16V8 a dalších. V tomto případě má model systému (Obr. 10.10) ještě těsnější vztah k logickému schématu systému. Registr typu D totiž při příchodu aktivní hrany hodinového impulsu prostě přepisuje signály ze svého vstupu na výstupy. Pokládáme-li signály na jeho výstupech za stav systému, pak výstup kombinační části představuje příští stav, do něhož systém přejde po následující aktivní hraně hodinového impulsu. Z vyjádření jednotlivých stavů můžeme tak snadno určit logickou funkci kombinační části.
D1 TE Q1 Q2 D2
kombinační část
Dn příští stav
C
Qn současný stav
vstupy
výstupy
clk
Obr. 10.10:
Model synchronního systému s registrem typu D.
Registr s klopnými obvody typu D můžeme použít i u binárních čítačů, zapojení kombinační části systému je zde ale složitější než při použití registru s klopnými obvody typu T (viz Obr. 10.5). U jiných sekvenčních systémů (například u čítačů pracujících v jiných
Digitální technika
113
kódech) však registr typu D může představovat nejvýhodnější řešení. Pro vytváření čítačů se dnes často používají obvody PLD. U většiny moderních obvodů PLD (zejména u složitějších obvodů CPLD s blokovou strukturou) je možno zvolit typ klopných obvodů použitých v registru. Počítačové návrhové systémy pro tyto obvody obsahují programové bloky, které umožňují optimalizaci typu klopných obvodů. Chceme-li tento typ optimalizovat při ručním návrhu, pak musíme návrh provést pro oba typy a z nich vybrat ten, který vychází výhodněji. Příklady analýzy a návrhu čítačů budou uvedeny v příkladové části této kapitoly. 10.3.4 Integrované synchronní čítače vyráběné v řadě 74.. V předcházejícím textu byly popsány struktury, které se využívají v nejznámějších integrovaných čítačích. V řadě 74.. se vyrábějí integrované synchronní čítače, které jsou doplněny některými dalšími funkcemi. K nim patří zejména možnost naplnění zadaným obsahem (zvaná též předvolba, přednastavení, anglicky load), nulování (anglicky reset, clear) a třístavové výstupy. Naplnění a nulování může být asynchronní (při aktivaci příslušného řídicího vstupu čítač okamžitě reaguje) nebo synchronní (k naplnění či vynulování čítače dojde až při příchodu aktivní hrany hodinového signálu, je-li v té době – s dostatečným předstihem a přesahem – aktivován odpovídající řídicí vstup). Funkce asynchronních vstupů je tedy vyvolána jediným řídicím signálem na rozdíl od synchronních vstupů, které spolupracují s hodinovým vstupem. Synchronní naplnění a nulování se využívá např. při zkracování cyklu čítačů, asynchronní operace tohoto typu se používají zejména pro počáteční nastavení stavu čítačů po resetu nebo po připojení napájecího napětí. Čítače s možností naplnění mají ke každému svému bitovému výstupu odpovídající vstup pro přivedení signálu, kterým se tento bit čítače plní. Některé čítače, které mají výstup typu RCO (Ripple Carry Output), mají ještě další výstup podobného charakteru, který představuje součin signálu z uvedeného výstupu a hodinového signálu, přesněji řečeno jeho inverze. Tyto výstupy se anglicky nazývají ripple clock output nebo clocked carry output. Jsou aktivovány v době, kdy má hodinový signál úroveň předcházející aktivní hraně a nejsou na nich tedy parazitní impulsy, které by se mohly objevit u signálu rco (ty zde mohou vzniknout vždy těsně po aktivní hraně hodinového signálu). Přehled nejznámějších integrovaných synchronních čítačů z řady 74.. je uveden v následující tabulce (Tab. 10.3). Tam je uveden i stručný přehled vlastností nejznámějších integrovaných synchronních čítačů z řady 74.. (popř. 54.., v níž jsou tytéž obvody s větším dovoleným pracovním rozsahem teplot). Obecně platí, že čítače se sudým typovým číslem (např. 74..160) jsou dekadické, čítače s lichým číslem (např. 74..161) jsou binární. Všechny uvedené čítače jsou čtyřbitové až na čítače 74..867 a 74..869, které jsou osmibitové.
Vysvětlivky k Tab. 10.3: U/D, D/U … úroveň H na tomto vstupu vyvolá směr čítání podle prvního písmene, * … znamená kódování směru čítání, nulování a naplnění dvěma výběrovými vstupy, / … před údajem znamená signál aktivní v úrovni L, RCO … ripple carry output – zapojení z Obr. 10.6 (u čítačů ..190, 191 značení MAX/MIN), CCO … clocked carry output, EP, ET … zapojení podle Obr. 10.6.
114
Evropský polytechnický institut s. r.o, Kunovice
Tab. 10.3: Přehled integrovaných synchronních čítačů z řady 74. 3stav. vstupy typ výstupu výstupy pro kask. přenosu
směr čítání
nulování
naplnění
..160, ..161 vpřed
/asynchr.
/synchronní ne
EP, ET
RCO
..162, ..163 vpřed
/synchr.
/synchronní ne
EP, ET
RCO
..168, ..169 U/D
není
/synchronní ne
/EP, /ET /RCO
..190, ..191 D/U
není
/asynchr.
ne
ET
RCO, /CCO
/asynchr.
ne
nejsou
/CO, /BO
ano
EP, ET
RCO, CCO
Typ 74..
..192, ..193 /CU, /CD asynchr. ..560, ..561 vpřed
/syn., /asyn. /syn.,
pozn.
asynchr. kaskád.
/asyn. ..568, ..569 U/D
/syn., /asyn. /synchronní ano
/EP, /ET /RCO, /CCO
..867
*vratný
*asynchr.
*synchr.
ne
/EP, /ET /RCO
8bitový
..869
*vratný
*synchr.
*synchr.
ne
/EP, /ET /RCO
8bitový
10.4 Zkracování cyklu a nepracovní stavy u čítačů Počet různých možných kombinací nul a jedniček v n-bitové skupině bitů je 2n. Čítač s n bity může mít tedy až 2n stavů. Takovým čítačům se říká čítače s úplným cyklem. Někdy však potřebujeme, aby čítač pracoval s cyklem kratším, jak je tomu např. u dekadických čítačů. Pak stojíme před požadavkem zkrátit cyklus čítače. Jeden způsob zkrácení cyklu čítače je popsán v Příklad 10.2. Ke zkrácení cyklu jsou zde použity asynchronní vstupy – v tomto případě nastavovací vstupy klopných obvodů. Jedná se o asynchronní čítač, ale u synchronních čítačů se může postupovat podobně. Podrobnějším rozborem je však v tomto příkladu ukázáno, že bez zvláštních opatření (např. bez zkrácení nastavovacího impulsu monostabilním klopným obvodem) nejsou dodrženy požadavky na časování signálů v čítači, takže jeho funkce nemusí být spolehlivá. V literatuře se uvádí více různých způsobů, jak lze zkrátit cyklus integrovaných čítačů. U mnoha z nich mohou nastat podobné problémy. Proto se doporučuje při přebírání tzv. osvědčených zapojení postupovat obezřetně a dokonale promyslet funkci takových zapojení. Pokud je to možné, je obvykle jistější použít synchronní čítače. Často se setkáváme s pokusy o zkracování cyklu integrovaných synchronních čítačů založenými na dekódování stavu čítačů a na využití jejich asynchronních vstupů (Obr. 10.11, kde je posledním stavem čítače stav 12). Ani zde však není funkce takto upraveného čítače zcela spolehlivá, protože šířka impulsu, který se vytváří součinovým členem v okamžiku, kdy čítač z tohoto obrázku přejde do stavu 13, je určena jen dobou zpoždění ve smyčce čítač – součinový člen. Pokud by některý z klopných obvodů ve struktuře čítače byl pomalejší než ostatní, nemusel by se spolehlivě vynulovat. Pravděpodobnost takového rozptylu parametrů klopných obvodů, z nichž je čítač složen, není sice velká, nelze však zaručit, že se nezhorší spolehlivost funkce obvodu. Ještě větší zhoršení spolehlivosti můžeme očekávat, použijeme-li tento princip pro zkrácení cyklu u čítače složeného z více pouzder integrovaných čítačů. Jde o zapojení, v němž jsou signály přiváděné na asynchronní vstupy odvozeny z datových
Digitální technika
115
(synchronních) signálů. Zapojením tohoto druhu bychom se měli vyhýbat, máme-li v úmyslu vytvářet systémy, jejichž spolehlivost není nevhodným zapojením snížena. clk I
CU CT2 CO CD BO A B C D
I
Obr. 10.11:
QA QB QC QD
&
L R
Příklad nevhodného způsobu zkrácení cyklu čítače 74..193.
Náprava je velmi jednoduchá. Stačí místo čítače 74..193 použít např. čítač 74..161, jehož vstup L má synchronní funkci, tj. při jeho aktivaci dojde k vynulování až při příchodu aktivní hrany hodinového signálu. Je ale nutno signál pro vstup L vytvořit tak, aby byl aktivní v posledním platném stavu čítače, v tomto případě ve stavu 12. Čítač 74..163, který je pro tento účel rovněž vhodný, má synchronní i nulovací vstup. Problémy s impulsy o neurčité šířce při použití těchto čítačů zcela odpadají. Jde tedy o přechod od asynchronního zapojení k zapojení synchronnímu. Jiným možným „čistým“ řešením je použití obvodů PLD, což je vhodné zejména v případě vícebitových čítačů, kdy již může být poněkud vyšší cena vynahrazena menším počtem potřebných pouzder. U čítačů se zkráceným cyklem se vyskytují stavy, které byly vyloučeny z pracovního cyklu jeho zkrácením. Těmto stavům říkáme nepracovní stavy, někdy se nazývají také ilegální nebo zakázané. Příkladem jsou stavy 10 až 15 u dekadického čítače. Při konstrukci takového čítače bývá někdy zadáno, jak se v nepracovních stavech má čítač chovat, jindy je toto chování ponecháno na konstruktérovi. Několik příkladů je uvedeno na konci této kapitoly. U návrhu asynchronního čítače (Příklad 10.3) je pouze konstatováno, že v případě, kdy čítač například vlivem rušení přejde do některého z těchto stavů, vrátí se do pracovního cyklu nejdéle po dvou krocích. Naproti tomu je u dalšího návrhu čítače (Příklad 10.4) již v zadání určeno, jak se má čítač v nepracovních stavech chovat. Pokud bychom chování čítače v nepracovních stavech nevěnovali pozornost, může se například stát, že u navrženého čítače bude existovat uzavřený cyklus složený z nepracovních stavů. Pokud by se čítač do některého z těchto stavů dostal, zůstal by v oběhu tímto cyklem až do té doby, kdy by například působením asynchronních vstupů nebyl převeden do pracovního cyklu. To může v některých aplikacích představovat poruchový stav, jehož možný výskyt se při nedokonalém promyšlení návrhu nemusí během vývoje systému vůbec objevit, podle zákona schválnosti se však jistě projeví v nejméně vhodném okamžiku. Proto bývá vhodné při návrhu čítačů se zkráceným cyklem jejich chování v nepracovních stavech promyslet a v případě potřeby zapojení modifikovat tak, aby odpovídalo konkrétním potřebám.
10.5 Stavové automaty Čítače jsou základním prvkem mnoha sekvenčních systémů. Pokud mají takové systémy reagovat na větší počet vnějších podnětů nebo mají-li složitější strukturu přechodů, může se stát, že u nich začne převažovat činnost, kdy vlastní čítání již není dominantním režimem, takže původní charakter čítače ustupuje do pozadí. Sekvenčním obvodům tohoto typu se říká
116
Evropský polytechnický institut s. r.o, Kunovice
stavové automaty. Stavové automaty můžeme tedy chápat jako zobecnění čítačů, a čítače jako zvláštní skupinu stavových automatů, u nichž je dominantním režimem čítání. Podobně jako jiné sekvenční systémy mohou být i stavové automaty asynchronní a synchronní. Obecné vlastnosti těchto typů sekvenčních systémů byly probrány dříve. V dalším textu budeme uvažovat pouze synchronní stavové automaty. Model synchronního systému (Obr. 10.3 a Obr. 10.10) může být chápán jako model synchronního stavového automatu. Registr se v tomto případě nazývá stavový registr. Podle způsobu vyjádření výstupních signálů automatu pak rozeznáváme dva základní typy stavových automatů: • stavové automaty Moorova typu, u nichž výstupní signály závisí pouze na stavu, tj na výstupních signálech stavového registru; • stavové automaty Mealyho typu, jejichž výstupní signály závisí i na vstupních signálech. 9
8
7
6
5
0
1
2
3
4
10
11
12
13
14
15
Stavový diagram popisující dekadický čítač. s přechodem z nepracovních stavů do nuly (stavový automat Moorova typu) Nejběžnější způsob popisu stavových automatů představují stavové diagramy. Jako příklad uveďme stavový diagram dekadického čítače, který z nepracovních stavů (stavy 10 až 15) přechází v následujícím taktu hodinového signálu do nulového stavu (Obr. 10.12). Výstupní signály tohoto čítače jsou totožné s výstupními signály stavového registru. Stavy automatu jsou představovány uzly stavového diagramu (kroužky na Obr. 10.12), a přechody mezi stavy představují jeho větve (šipky). Čísla v uzlech značí obsah stavového registru (na Obr. 10.12 je tento obsah vyjádřen dekadicky). Obr. 10.12:
Popis šipek u diagramu: rst
čítač s dekodérem
rst / výstup výstup
clk
I /seg r 0
O /seg 0
I /seg r 1
O /seg 1
I /seg r 2
O /seg 2
I /seg r 15
O /seg F
Obr. 10.13: Čítač s dekodérem pro zobrazovač jako stavový automat. a) schéma (stavový automat Mealyho typu), b) jeho stavový diagram. Výstupní signály automatu Moorova typu mohou být i kombinačními funkcemi výstupních signálů stavového registru. V tomto případě bývají často stavové signály pouze pomocnými veličinami a z hlediska vnějšho chování čítače jejich konkrétní hodnoty nejsou podstatné. Příkladem takového automatu je čítač s dekodérem pro zobrazovač stavu se sedmisegmentovým displejem. Ve stavovém diagramu se výstupní signály zobrazují zpravidla
Digitální technika
117
v uzlech spolu s obsahem stavového registru ve tvaru zlomku, jehož čitatel značí stav, jmenovatel představuje výstupní signály automatu (podobně jako je to například na Obr. 10.14). Při sestavování stavového diagramu na základě zadání jeho funkce bývají často stavy označeny obecnými symboly, jako je to například na tomto obrázku, a teprve při návrhu zapojení automatu se stavy zakódují vhodným způsobem. Jednoduchým příkladem automatu Mealyho typu může být čítač s dekodérem pro sedmisegmentový zobrazovač, který je vybavený vstupem synchronního nulování (signál rst). Není-li tento vstup aktivován, pracuje čítač běžným způsobem. Je-li nulovací vstup aktivován, zobrazí se na zobrazovači po dobu aktivace tohoto vstupu symbol r. Přijde-li v této době hodinový impuls, způsobí přechod čítače do nulového stavu. Stavový diagram popisující čítač s touto funkcí je nakreslen na Obr. 10.13. Označení výstup představuje signály potřebné pro zobrazení hexadecimálních symbolů 0 až F, popř. r na displeji, které jsou ve stavovém diagramu označeny seg0 až segF, popř. segr. Ke každé větvi představující přechody mezi stavy je připsána hodnota signálu rst, která příslušný přechod podmiňuje, a rovněž odpovídající hodnota proměnné výstup, tedy seg0 až segF pro rst = O, segr pro rst = I. Realizace uvedeného automatu je jednoduchá. Čítač může být realizován kterýmkoliv čtyřbitovým integrovaným čítačem, který má synchronní nulovací vstup, např. 74..163, nebo synchronní vstup pro naplnění, přičemž vstupy dat pro naplnění budou uzemněny. Dekodér bude mít kromě čtyř vstupů připojených k výstupům čítače ještě další vstup, na který bude přiveden signál rst. Může být realizován některou z metod probraných v části věnované kombinačním systémům. K nejvýhodnějším způsobům realizace bude patrně patřit použití obvodů PLD. Použijeme-li některý z obvodů CPLD, můžeme v jednom pouzdru realizovat celý stavový automat – čítač i dekodér. Uvedený stavový automat má pouze kombinační výstupy (signály pro buzení zobrazovače), které reagují asynchronně na signál rst. Obecně mohou mít automaty Mealyho typu i registrové výstupy, tj. za kombinační část automatu může být zařazen registr, takže se tyto výstupy mohou měnit jen v okamžicích stanovených hodinovým signálem. Výhodou registrových výstupů je, že u nich nevznikají parazitní impulsy, takže odpovídající signály mají charakter blížící se ideálním průběhům. Nemohou však reagovat na změny vstupních signálů bez zpoždění, které je určeno intervalem mezi aktivními hranami hodinového signálu. Ve stavovém diagramu bývají výstupní proměnné odpovídající registrovým výstupům označeny např. čárkou, která znamená, že se příslušná hodnota na výstupu objeví až po aktivní hraně hodinového signálu. Při realizaci stavového automatu obvykle vycházíme ze slovního zadání, z něhož sestavíme stavový diagram. Máme-li automat popsán stavovým diagramem se symbolickým označením stavů, musíme jednotlivé stavy zakódovat, tj. přiřadit jim vhodné stavové signály, které v binárním vyjádření představují příslušný obsah stavového registru. Potom sestavíme tabulku automatu, v níž každému současnému stavu a odpovídajícím vstupním signálům přiřadíme hodnoty proměnných představující příští stav a výstupní signály. Tyto signály vyjádříme jako funkce vstupních a stavových signálů. Použijeme-li registr typu D, získáme tím přímo popis kombinační části obvodu, kterou realizujeme některou ze známých metod. Při použití jiného typu registru musíme ještě odvodit potřebné vstupní signály registru (například pro registr typu JK pomocí zpětné funkční tabulky – Obr. 9.15). Podobně jako u čítačů může zde nastat problém nepracovních stavů, který je třeba posoudit v souhlasu s tím, co bylo řečeno v příslušné kapitole. Příklad 10.1
Syntéza stavového automatu.
118
Evropský polytechnický institut s. r.o, Kunovice
Typickým příkladem použití stavových automatů jsou detektory posloupností bitů. Jako ukázku konstrukce takového detektoru sestavme automat s následující funkcí. Na vstup automatu přicházejí sériově bity. Bit je přijat v okamžiku aktivní hrany hodinového signálu. Každá sekvence bitů se stejnou hodnotou (O nebo I) se označuje jako dávka. Výstupní signál y automatu označuje stav, kdy byla právě ukončena dávka a přitom v ní byl přijat lichý počet nul nebo sudý počet jedniček (v následujícím taktu je y = I, jinak y = O). Řešení: Stavy automatu označíme symbolem „s“ následovaným dvěma číslicemi. První číslice označuje hodnotu naposled přijatého bitu, druhá číslice pořadové číslo stavu. Tato číslice bude lichá, byl-li v dávce dosud přijat lichý počet bitů, a sudá v opačném případě. Zvláštní označení má stav s0, který je počátečním stavem (po připojení napájecího napětí), což je ve stavovém diagramu na Obr. 10.14 vyznačeno dvojitým kroužkem. O s01/ O
O
O O
s02/ O
O
s03/ I
O
O s0/O
I
I
I
I
s11/ O
I s12/ O
I
s13/ I
I
Obr. 10.14: Stavový diagram detektoru posloupnosti bitů. (U větví je uvedena hodnota přijatého bitu, v uzlech je symbolické označení stavu lomené hodnotou výstupního signálu y). Každý přijatý bit způsobí přechod automatu ze současného stavu do určitého příštího stavu. Uvažujme, že se automat nachází v počátečním stavu s0. Přicházejí-li pak v současné dávce nuly, přejde automat nejprve do stavu s01 a dále přechází mezi stavy s01 a s02. Druhá číslice v označení stavu udává, zda v dávce přišel lichý nebo sudý počet nul. Přijde-li nyní jednička, znamená to ukončení dávky nul a podle toho, zda byl jejich počet sudý nebo lichý, bude v následujícím stavu nastavena odpovídající hodnota výstupní proměnné y. V prvním případě automat přejde do stavu s11, v němž je y = O, v druhém do stavu s13, kde y = I. Zcela podobně se automat chová při dávce jedniček a při jejím ukončení. Je zřejmé, že tímto způsobem sestavený automat je Moorova typu. Nyní zvolíme kódování jednotlivých stavů. Je zřejmé, že stavový registr musí mít nejméně tři bity, jimiž lze zakódovat až osm stavů. Označme tyto bity c, b, a. Pokusíme se zvolit kódování tak, aby některý stavový bit přímo odpovídal výstupní proměnné y. Pokud se nám to podaří, ušetříme tím logické členy, které by jinak byly potřebné pro její vytvoření ze stavových proměnných. Z Obr. 10.14 je zřejmé, že ve stavech s0 a s02 má výstupní proměnná stejnou hodnotu a rovněž přechody z obou stavů vedou do stejných nových stavů. Nachází-li se tedy automat v určitém okamžiku v některém z těchto dvou stavů, bude jeho chování navenek v následujících taktech zcela stejné (nerozlišitelné), bez ohledu na to, ve kterém z nich se automat na počátku nacházel. Stavy s0 a s02 jsou tedy ekvivalentní. Můžeme je nyní ztotožnit, čili přiřadit jim stejné kódování. Pro přehlednost je však můžeme ve stavovém diagramu dále značit zvláštními kroužky. Vyhledáním ekvivalentních stavů a jejich ztotožněním můžeme získat automat se shodným chováním jako původní automat, u něhož je menší počet stavů. To může někdy snížit potřebný počet stavových bitů. Tato úspora však obvykle nebývá velká, i když v někte-
Digitální technika
119
rých případech může například dovolit realizaci automatu s menším (a levnějším) stavovým registrem. Pokud chceme, aby po připojení napájecího napětí (tzv. stav power-up) zaujal automat stav s0 a aby na výstupu automatu byla ihned správná (tj. nulová) hodnota výstupních signálů, musíme přiřadit stavu s0 kód, který odpovídá počátečnímu stavu stavového registru. Pokud bychom automat sestavovali z integrovaných obvodů řady 74.., bylo by vhodné jako stavový registr použít některý z integrovaných registrů řízených hranou, např. 74..175. Je to registr obsahující čtyři klopné obvody typu D se společným hodinovým a nulovacím vstupem řízený vzestupnou hranou hodinového signálu. Výstupy jsou přímé i inverzní, takže počáteční stav můžeme zvolit libovolně. Signál /rst pro počáteční vynulování je možno vytvořit monostabilním klopným obvodem spouštěným náběhem napájecího napětí. Zapojení této verze detektoru je nakresleno na Obr. 10.15. Jinou vhodnou možností je použít programovatelné logické obvody, např. obvod GAL 16V8. U tohoto obvodu je stav po připojení napájecího napětí určen tím, že klopné obvody obsažené v pouzdru jsou v tomto stavu vynulovány. Mezi výstupy klopných obvodů a vývody pouzdra jsou zde však ještě zapojeny invertory, takže stavu power-up odpovídá stav I na všech výstupech. Zvolme tedy počáteční stav [c,b,a] = [I, I, I], použitelný v obou případech. Stavy pak mohou být kódovány dle Tab. 10.4 (stav s02 bude totožný se stavem s0). Tab. 10.4: Kódování stavů. stav: s0 s01 s02 s03 s11 s12 s13 [c,b,a]: [I, I, I] [I, I,O] [I, I, I] [O, I, I] [I,O,O] [I,O, I] [O, I,O] Výstupní signál y je tedy roven inverzi bitu c. Na základě tohoto zakódování a stavového diagramu můžeme nyní sestavit tabulku automatu (Tab. 10.5). /c' komb. /b' část /a' x c /rst
Obr. 10.15:
D1 TE Q1 D2
Q2
D3
Q3
D4
Q4
y c b a
C R
Zapojení detektoru posloupnosti bitů. Registr je typu 74..175.
Aby byly dodrženy zvolené logické úrovně, jsou za stavové bity pokládány inverzní výstupní signály registru. Po vynulování registru budou tyto bity nastaveny na zvolenou hodnotu I, výstupní signál y bude vynulován. Inverze prováděná registrem musí být brána v úvahu při stanovení požadované funkce kombinační části, která musí na vstupech registru vytvářet inverze příštích hodnot stavových bitů. Z tabulky automatu dostaneme např. pro bit /c’ výraz v úplném součtovém tvaru /c’ = c . b . /a . x + /c . b . a . x + c . /b . a . /x ( 10.3 ) a podobně pro další bity. Dokončení návrhu spočívá již ve známém postupu realizace kombinační části.
120
Evropský polytechnický institut s. r.o, Kunovice
Tab. 10.5: Tabulka automatu pro detektor posloupnosti bitů. vstupy současný stav [c,b,a]
výstupy x
příští stav [c’,b’,a’]
s0 ≡ s02
[I,I,I]
O I
s01 s11
[I,I,O] [I,O,O]
s01
[I,I,O]
O I
s02 s13
[I,I,I] [O,I,O]
s03
[O,I,I]
O I
s02 s13
[I,I,I] [O,I,O]
s11
[I,O,O]
O I
s01 s12
[I,I,O] [I,O,I]
s12
[I,O,I]
O I
s03 s11
[O,I,I] [I,O,O]
s13
[O,I,O]
O I
s01 s12
[I,I,O] [I,O,I]
10.6 Shrnutí kapitoly 10 Nejjednodušším zapojením binárního čítače je asynchronní zapojení složené z kaskádního propojení děličů kmitočtu vstupního signálu dvěma. Jeho nevýhodou je postupný charakter ustalování výstupních signálů. Při dekódování stavu tohoto čítače tak vznikají dlouhé přechodné úseky, kde je na výstupu dekodéru neplatný stav. Čím je počet bitů čítače větší, tím jsou tyto jevy výraznější. U synchronních čítačů dochází k ustálení výstupů ve výrazně kratší době nezávislé na počtu bitů čítače. Vnitřní signály čítače se však mohou ustalovat výrazně déle. Tím je také omezen nejvyšší přípustný kmitočet hodinového signálu. Existuje několik verzí zapojení, které se liší dobou ustalování těchto vnitřních signálů a také nejvyšším přípustným kmitočtem, přičemž zapojení s vyšším tímto kmitočtem je náročnější na počet či velikost použitých součástek než zapojení s nižším kmitočtem. U integrovaných synchroních čítačů vzniká problém možnosti jejich propojení do kaskády tak, aby tím nedocházelo ke snižování jejich nejvyššího kmitočtu. Ten se řeší například použitím signálů zvaných Enable Parallel a Enable Trickle. Při zkracování cyklu čítačů musíme dbát na to, abychom se nevhodným propojením řídicích vstupů čítače nedopustili narušení podmínek pro správnou činnost jeho klopných obvodů. To se snadno může stát, zkracujeme-li cyklus využitím asynchronních vstupů čítače, čímž se naruší synchronní charakter čítače a obvykle tak vznikne zapojení se sníženou spolehlivostí. Pro zkracování cyklu je proto vhodné používat integrované čítače se synchronními vstupy pro nulování (naplnění). Pro vytváření čítačů s podobnými úpravami bývá často vhodné použít programovatelných logických obvodů. Zobecněním čítačů jsou stavové automaty. Pro popis jejich funkce se často používají stavové diagramy. Stavové automaty patří k nejobecnějším číslicovým subsystémům. Podobně jako u čítačů existují také asynchronní a synchronní varianty stavových automatů,
Digitální technika
121
přičemž návrh synchronního stavového automatu je při dodržení jednoduchých pravidel platných obecně pro návrh číslicových soustav mnohem snazší a není zde nebezpečí skrytých chyb návrhu způsobujících snížení spolehlivosti funkce. Proto se synchronním automatům dává všeobecně přednost a s asynchronními variantami se setkáme jen ve výjimečných případech. Tento závěr platí samozřejmě nejen pro stavové automaty, ale obecně pro sekvenční systémy, s výjimkou nejjednodušších klopných obvodů (RS a podobně).
10.7 Příklady ku kapitole 10 Asynchronní binární čítač.
Příklad 10.2
Nakreslete zapojení vratného asynchronního binárního čítače naznačené v závěru podkapitoly 10.2, tj. hodinové vstupy klopných obvodů z Obr. 10.1 budou přes multiplexor připojeny na přímé nebo na inverzní výstupy předcházejících klopných obvodů. Výběrovým signálem, který je společný všem multiplexorům, se volí směr čítání. Odpovídalo by chování takového čítače běžné představě o funkci vratného čítače? Asynchronní binární čítač.
Příklad 10.3
Posuďte chování asynchronního dekadického čítače zapojeného podle Obr. 10.16. q0
q1
q2
q3 & /s
74..112 I
clk
J TE K
I
J TE K
I
J TE K
I
J TE K
C
C
C
C
S R
S R
S R
S R
T0
T1
T2
T3
/rst
Obr. 10.16: Asynchronní dekadický čítač. se zkrácením cyklu pomocí nastavovacích vstupů (funkce není spolehlivá!). Řešení: Součinový člen NAND vytváří nastavovací signál /s při příchodu hodinového impulsu v posledním pracovním stavu čítače. Charakteristické časové průběhy signálů u tohoto čítače jsou na Obr. 10.17. Po vynulování čítá čítač běžným způsobem až do stavu 9, kdy se při příchodu hodinového impulsu aktivuje signál /s. Ten způsobí přechod čítače do stavu 15, po němž následuje přechod na začátek cyklu. Je tedy závěr cyklu čítače „obohacen“ o tento stav, což může, ale nemusí být na závadu. Prověřme nejprve možnost vzniku parazitních impulsů v signálu /s. Tyto impulsy by mohly vznikat při změnách stavu čítače, pokud by na jeden ze vstupů tohoto členu nebyl přiveden hodinový signál. Změny stavu čítače však nastávají po sestupné hraně hodinového signálu, takže tímto signálem je držen výstup členu NAND v úrovni H v době změn stavu čítače. Tím je vznik parazitních impulsů znemožněn.
122
Evropský polytechnický institut s. r.o, Kunovice /rst clk q0 q1 q2 q3 stav
0
1
2
7
8
9
15
0
/s
Obr. 10.17:
Charakteristické průběhy signálů u čítače z Obr. 10.16.
Nyní se zaměříme na prověření časových požadavků klopných obvodů. V Obr. 10.17 je vidět, že impuls aktivní úrovně signálu /s končí v okamžiku aktivní hrany hodinového signálu clk, který má čítač převést ze stavu 15 do stavu 0. Přesněji řečeno, končí po této hraně se zpožděním, které vzniká průchodem této hrany součinovým členem NAND, který tento signál vytváří, jak je podrobněji nakresleno na Obr. 10.18. Aktivní hrana hodinového signálu klopného obvodu T1, vytvářená výstupem q0 klopného obvodu T0 při přechodu čítače ze stavu 15 do stavu 0, je zpožděna za uvažovanou aktivní hranou hodinového signálu clk o dobu průchodu signálu klopným obvodem T0. Rozdíl mezi touto dobou průchodu a zpožděním členu NAND vytváří dobu zotavení tSHCL potřebnou pro spolehlivé vynulování klopného obvodu T1. V zapojení na Obr. 10.16 však nelze zajistit, aby doba zotavení měla potřebnou velikost, protože vzájemné poměry mezi oběma dobami zpoždění nejsou zaručeny. Proto funkce čítače není spolehlivá. To zpravidla představuje mnohem závažnější nedostatek, než přídavný stav 15 na konci cyklu. Náprava by byla možná např. zařazením monostabilního klopného obvodu do cesty signálu /s, čímž by se impuls tohoto signálu zkrátil. Toto řešení však klade omezení na dobu impulsu hodinového signálu, který pak musí být delší než zkrácený impuls signálu /s. Je zřejmé, že zajištění spolehlivé funkce nebude jednoduché a elegantní, „čisté“. zpoždění obvodu T0 clk zpoždění členu NAND q0 /s t
Obr. 10.18:
SHCL
pro obvod T 1
Poměry v čítači na konci cyklu čítání.
Příklad 10.4
Návrh asynchronního dekadického čítače.
Pro ilustraci uveďme příklad kompletního návrhu čtyřbitového asynchronního dekadického čítače. Místo použití asynchronních vstupů k ukončení cyklu se budeme snažit využít možností, které nám dává vhodné použití vstupů J, K klopných obvodů. Blokové schéma a požadované průběhy signálů jsou nakresleny na Obr. 10.19.
Digitální technika
123 q0 T0
clk
q1 T1
q2
q3
T2
T3
clk q0 q1 q2 q3 stav
Obr. 10.19: Řešení:
0
1
2
3
4
5
6
7
8
9
0
1
2
Schéma čítače a požadované průběhy signálů.
Z Obr. 10.19 vidíme, že výstup q0 se mění při každé sestupné hraně hodinového signálu clk. Proto tento signál přivedeme na hodinový vstup klopného obvodu T0 a na jeho vstupech J, K bude trvale I. Tím je zapojení prvního stupně navrženo. Výstup q1 se mění jen při sestupných hranách signálu q0. Pohledem na průběh signálu q3 zjistíme, že ke změně signálu q1 nedojde, je-li signál q3 v hodnotě I. To snadno zajistíme, přivedeme-li na vstupy J, K klopného obvodu T1 signál /q3. Druhý stupeň je tak vyřešen. Bude však nutno zkontrolovat předstih a přesah tohoto signálu vzhledem k aktivní hraně hodinového signálu tohoto stupně při přechodech 7 → 8 a 9. → 0. Snadný je i návrh třetího stupně, uvědomíme-li si, že se signál q2 mění při každé sestupné hraně signálu q1. Na vstupech J, K klopného obvodu T2 bude tedy trvale I, na hodinový vstup přivedeme signál q1. Návrh posledního stupně je poněkud složitější. Na hodinový vstup přivedeme signál q0. Pro zjištění potřebných hodnot signálů j, k na vstupech J, K použijeme zpětnou funkční tabulku, která byla odvozena v Obr. 10.15. Pro přehlednost ji znovu uvádíme i s Karnaughovou mapou pro hledané signály j, k na Obr. 10.20. Signály j, k budou záviset jen na hodnotách proměnných q1 až q3. Při přechodu ze stavu 1 do stavu 2 má proměnná q3 hodnotu O v současném i v příštím stavu. Řádku O, O ve zpětné funkční tabulce odpovídají hodnoty O, X proměnných j, k. Tyto hodnoty zapíšeme do Karnaughovy mapy na pozici, která odpovídá uvažovanému přechodu, tj. nulovým hodnotám proměnných q1 až q3. Podobným způsobem zapíšeme do mapy hodnoty odpovídající ostatním přechodům čítače. Protože se stavy 11 až 15 v čítači nevyskytují, můžeme hodnoty v odpovídajících pozicích pokládat za nedefinované, a označíme je symbolem – (pro naše účely je ekvivalentní symbolu X, X). Z mapy získáme pro proměnnou j tohoto stupně vyjádření j3 = q1 . q2, proměnná k3 bude rovna I. Výsledné zapojení je nakresleno na Obr. 10.21. přechod: q q'
j k
O O I I
O I X X
O I O I
X X I O
signály j, k pro obvod T 3: přechod:
1>2 3>4 q1
7>8
5>6
O,X
O,X
I,X
O,X
X,I
-
-
-
q2 q3
9>0
Obr. 10.20: Klopný obvod typu JK. a) Funkční tabulka, b) Karnaughova mapa pro proměnné j, k klopného obvodu T3.
124
Evropský polytechnický institut s. r.o, Kunovice
Nyní je třeba zkontrolovat, zda jsou dodrženy podmínky předstihu a přesahu signálů na vstupech J, K vzhledem k hodinovému signálu. Připomeňme, že předstih znamená dobu, po kterou jsou ustáleny vstupní signály před příchodem aktivní hrany hodinového signálu, a přesah představuje dobu, po jejímž uplynutí od této aktivní hrany se tyto vstupní signály změní. Předstih se tedy zmenšuje s rostoucím kmitočtem hodinového signálu, zatímco přesah se se změnou tohoto kmitočtu nemění (jsou-li vstupní sigály odvozeny od výstupu téhož klopného obvodu, je přesah určen zpožděním tohoto obvodu). U klopných obvodů T0 a T2 jsou signály na synchronních vstupech konstantní, takže je u nich vše v pořádku. U obvodů T1 a T3 určuje požadovaná hodnota předstihu nejvyšší přípustnou hodnotu hodinového kmitočtu. Je-li skutečný kmitočet nižší, je předstih vždy dostatečný. Co se týká přesahu, u klopných obvodů novějších řad (např. pro M74HC112 firmy SGS Thomson nebo MM74HC112 firmy National Semiconductor) stačí, je-li nezáporný. Klopné obvody T1 a T3 mají společný hodinový signál a jejich vstupní signály jsou odvozeny z jejich výstupů, takže se tyto signály nemohou měnit před aktivní hranou jejich hodinového signálu a podmínka pro přesah je tedy vždy splněna. Kdyby však například byly vstupy obvodu T2 připojeny na výstup obvodu T0, měnila by se hodnota signálu na jeho vstupech před aktivní hranou na hodinovém vstupu a přesah by tedy byl záporný. Z toho plyne, že podmínky přesahu obecně nemusí být splněny automaticky a je nutno je kontrolovat. q0
q1
q2
q3
74..112 I
J TE K
I
J TE K
J TE K
J TE K
&
clk C
C
C
C
I S R
I S R
T0
S R T1
S R T2
T3
/rst
Zapojení navrženého čítače.
Obr. 10.21:
Dále by ještě bylo vhodné zjistit, co by se stalo, kdyby se čítač náhodně dostal do některého z nepracovních stavů 10 až 15. Postup může být následující: je-li čítač v některém ze sudých stavů, tj. q0 = O, přechází v následujícím stavu tento signál do hodnoty I. To znamená, že navazující klopné obvody svůj stav nemění, protože jejich hodinové vstupy reagují jen na sestupnou hranu. Ve stavech 10, 12 a 14 tedy čítač inkrementuje – přechází do stavů 11, 13 a 15. Ve stavu 11 (IOII – pořadí od q3 do q0, tedy opačné než je pořadí klopných obvodů na Obr. 10.21) ze schématu vidíme, že je j1 = k1 = O, tedy klopný obvod T1 zůstává nastavený. Podobně zjistíme, že klopný obvod T2 zůstává vynulovaný a klopný obvod T3, který byl nastaven, se nuluje. Ze stavu 11 (IOII) tedy čítač přechází do stavu OOIO, tj. do stavu 2. Analogicky můžeme zjistit chování čítače ve zbývajících lichých stavech. Výsledek můžeme zakreslit do stavového diagramu na Obr. 10.22.
Obr. 10.22:
0
1
2
3
4
5
10
11
12
13
14
15
Stavový diagram čítače z Obr. 10.21
6
7
8
9
Digitální technika
125
Čítač se tedy v každém případě dostane nejvýše po dvou krocích do pracovního cyklu. Tím můžeme návrh pokládat za ukončený. Zapojení navrženého čítače odpovídá struktuře integrovaného čítače 74..90 (s výjimkou asynchronních vstupů, které mají u čítače 74..90 poněkud složitější funkci). Příklad 10.5 Stavový diagram čítače. Sestavte stavový diagram čítače navrženého v předcházejícím Příklad 10.4 Pokyn: Přechody ze stavů 0 až 9 jsou dány konstrukcí čítače. Pro zbývající stavy 10 až 15 sestavte nejprve tabulku těchto stavů čítače, v každém stavu zapište hodnoty signálů na vstupech jednotlivých klopných obvodů, z funkční tabulky klopných obvodů najděte jejich příští stav a z jejich souhrnu zapište příští stav čítače. Výsledek vyjádřete graficky. Ruční řešení není složité, je však poněkud zdlouhavé a pracné. Výhodnější je získat tento výsledek simulací na počítači – lze použít například program PSpice nebo některý z návrhových systémů pro programovatelné logické obvody, například WebPACK. Pro úplné posouzení spolehlivosti jednoznačné funkce čítače i v těchto stavech by bylo ještě potřebné zkontrolovat v nich předstih a přesah podobně jako to bylo učiněno pro druhý stupeň čítače v pracovním cyklu. V našem případě není tato kontrola obtížná a přenecháváme ji čtenáři. Příklad 10.6 Analýza zapojení čítače. Stanovte chování čítače, jehož schéma je nakresleno na Obr. 10.23. Chování čítače je nejlépe patrné z jeho stavového diagramu, takže tento diagram budeme považovat za žádaný výsledek analýzy. &
&
q 2'
q2
C
& &
D TE
&
q 1'
D TE
q1
C
& & &
q 0'
D TE
q0
C
& clk
Obr. 10.23:
Zapojení analyzovaného čítače.
Řešení: Ze zapojení čítače stanovíme výrazy pro signály q2’, q1‘, q0‘ na vstupech klopných obvodů, z nichž je složen registr čítače. Při použití registru typu D to budou signály představující příští stav čítače. Z nich můžeme sestavit tabulku stavů čítače, tj. tabulku, v níž ke každému současnému stavu čítače bude přiřazen jeho příští stav. Na základě této tabulky již snadno nakreslíme stavový diagram. Signály q2’, q1‘, q0‘ z Obr. 10.23 se vyjádří následujícími vztahy
126
Evropský polytechnický institut s. r.o, Kunovice q2’ = /q1 . q0 + q2 . /q0, q1’ = q1 . q0 + q2 . /q0,
( 10.4 )
q0’ = q2 . q1 + /q2 . /q1 + /q2 . /q0. Na základě těchto vztahů sestavíme tabulku stavů čítače (Tab. 10.6). Tab. 10.6: Tabulka stavů analyzovaného čítače. současný stav
příští stav
stav. index
q2
q1 q0
0 1 2 3 4 5 6 7
O O O O I I I I
O O I I O O I I
stav. index
q2 ’
q1 ’ q0 ’
1 5 0 2 6 4 7 3
O I O O I I I O
O O O I I O I I
O I O I O I O I
I I O O O O I I
Stavový diagram čítače tedy bude mít podobu naznačenou na Obr. 10.24.
0
Obr. 10.24:
1
5
4
6
7
3
2
Stavový diagram čítače z Obr. 10.23
Tab. 10.7: Tabulka stavů navrhovaného čítače současný stav
příští stav
stav. q q q q stav. q ’ q ’ q ’ q ’ 3 2 1 0 3 2 1 0 index index 0 8 12 14 15 7 3 1 2 4 5 6 9 10 11 13
O I I I I O O O O O O O I I I I
O O I I I I O O O I I I O O O I
O O O I I I I O I O O I O I I O
O O O O I I I I O O I O I O I I
8 12 14 15 7 3 1 0 15 15 15 15 15 15 15 15
I I I I O O O O I I I I I I I I
O I I I I O O O I I I I I I I I
O O I I I I O O I I I I I I I I
O O O I I I I O I I I I I I I I
Poznámka: Zcela podobným způsobem se analyzují stavové automaty, kde se však vyskytují také vstupní signály, které musí být uvedeny v tabulce. Tabulka takového automatu
Digitální technika
127
má potom tolik řádků, kolik je možných kombinací hodnot O a I pro všechny stavové i vstupní signály. Příklad 10.7
Příklad návrhu čítače
Navrhněme zapojení čtyřbitového synchronního čítače pracujícího ve zpětném Johnsonově kódu (Tab. 10.7). Stavy jsou v tabulce tentokráte uvedeny v pořadí, v němž za sebou následují při čítání. Pracovní cyklus čítače tvoří prvních 8 stavů z této tabulky. Chceme, aby čítač z každého nepracovního stavu, tj. ze stavů počínaje v Tab. 10.7 stavovým indexem 2, přecházel přímo do stavu (IIII). Stavový diagram čítače je nakreslen na Obr. 10.25. Řešení: Blokové schéma čítače bude zcela odpovídat modelu na Obr. 10.10 (vstupy mimo hodinového zde nebudou a výstupy budou představovány výstupem registru), přičemž registr bude obsahovat čtyři klopné obvody. Může být použit např. typ 74..175. Návrh se tedy redukuje na sestavení kombinační části obvodu. 8
12
14
15
0
1
3
7
2
4
5
6
13
11
9
10
Obr. 10.25: Stavový diagram popisující čítač. Pracující v Johnsonově kódu (Tab. 10.7) s přechodem z nepracovních stavů do stavu (IIII). Označíme-li jednotlivé bity značící současný stav q3, q2, q1, q0 a bity představující příští stav q3’, q2’, q1’, q0’, můžeme napsat pravdivostní tabulku pro bity příštího stavu jako funkce bitů současného stavu, jak je to uvedeno ve sloupcích pod nadpisem „příští stav“ v Tab. 10.7. Například pro bit q3’ (nebo lépe pro jeho inverzi) odtud dostaneme vyjádření představující součet mintermů příslušných k nulovým hodnotám tohoto bitu /q3’ = k1 + k3 + k7 + k15,
( 10.5 )
a podobně vyjádříme ostatní bity příštího stavu pomocí bitů současného stavu. Kombinační část nyní realizujeme některým z dříve probraných způsobů. Chceme-li například použít tradiční způsob realizace pomocí základních kombinačních logických členů, najdeme známými metodami (např. pomocí Karnaughovy mapy) minimální tvar funkcí q3’, q2’, q1’, q0’. Při sestavování Karnauhgovy mapy je nutno dát pozor na to, že se hodnoty funkcí musí zapisovat do buněk mapy odpovídajích hodnotám stavových indexů, které v tabulce následují po sobě v pořadí odpovídajícím pořadí stavů čítače, nikoli v přirozené číselné řadě. (Pořadí řádků v tabulce můžeme libovolně měnit; přiřazení příštího stavu současnému, přiřazení stavových indexů hodnotám proměnných a samozřejmě i tvar mapy však přitom zůstávají zachovány.) Dostaneme tak následující vyjádření q0’ = /q3 . /q2 . /q1 + q3 . /q1 . /q0, q1’ = /q3 . /q2 . q0 + /q2 . /q1 . /q0, ( 10.6 ) q2’ = /q3 . /q2 . /q1 + /q3 . q1 . q0, q3’ = /q3 . /q2 . q0 + q2 . q1 . q0.
128
Evropský polytechnický institut s. r.o, Kunovice
Tyto funkce pak realizujeme známým postupem. Pokud bychom chtěli použít jiného typu registru, museli bychom při sestavování výrazů pro signály na jeho vstupu vzít v úvahu vztah mezi jeho vstupními signály a jeho příštím stavem, jako to bylo pro klopné obvody typu JK naznačeno v příkladu návrhu asynchronního dekadického čítače. V praxi by však bylo zřejmě výhodnější použít některého z programovatelných logických obvodů, např. typu GAL 16V8. Princip návrhu však zůstává i v tomto případě stejný. Totéž platí pro konstrukci čítačů v jiných kódech, popř. s různým počtem stavů.
10.8 Kontrolní otázky 1) Jaké druhy čítačů se používají? Poprovnejte jejich vlastnosti. 2) Co jsou to stavové automaty? 3) Je potřebné odstraňovat hazardy v kombinační části synchronních čítačů a stavových automatů?
Digitální technika
129
11 Generátory pravoúhlých signálů v číslicové technice Cíle kapitoly: Uvést základní poznatky o generátorech pravoúhlých signálů, používaných v digitální technice. Seznámit studenty s výběrem nejpoužívanějších typů těchto generátorů s důrazem na spolehlivost jejich funkce.
11.1 Generátory v digitální technice Tyto generátory patří mezi sekvenční systémy odměřující čas. Rozeznáváme dva základní typy generátorů pravoúhlých signálů: • autonomní, tj. nespouštěné generátory, neboli astabilní klopné obvody, • spouštěné generátory, čili monostabilní klopné obvody. Obecné úvahy o těchto generátorech byly uvedeny v kap. 4, pojednávající o klopných obvodech. Zde uvedeme některé poznatky týkající se generátorů číslicových signálů.
11.2 Autonomní generátory Autonomní generátory se používají pro vytváření hodinových signálů a podobných periodických průběhů. Obvyklé požadavky na generátory jsou: • spolehlivost funkce, • stabilita kmitočtu, • nízká citlivost na vlivy teploty, napájecího napětí apod. V některých případech bývá důležitá možnost přelaďování, změny střídy atd. Posouzení všech těchto aspektů je dosti složité. Uvedeme zde několik příkladů jejich realizace a u nich si všimneme především spolehlivosti jejich funkce, jejich náchylnosti na vysazení kmitů, popř. jejich nenasazení při připojení napájecího napětí a podobně. Možnost vzniku takových problémů naznačuje úvaha o funkci tranzistorového astabilního klopného obvodu v kap. 4.4. V době počátečního rozvoje techniky číslicových integrovaných obvodů se začala používat zapojení generátorů využívající ve funkci aktivních prvků logické členy. Principiální zapojení generátoru tohoto druhu, který je dodnes často používán, je nakresleno na Obr. 11.1. R
C
1
R
1
výstup
C
Obr. 11.1: Generátor se dvěma invertory. (vhodný jen pro nenáročné aplikace) Funkce tohoto generátoru spočívá v kombinaci účinku kladné zpětné vazby pro střídavou složku signálu ve smyčce generátoru, která umožňuje vznik rychlých přechodů mezi oběma dočasně stabilními stavy, a záporné zpětné vazby zavedené v obou stupních rezistory R, která zajišťuje nastavení klidového pracovního bodu invertorů do oblasti jejich převodní charakteristiky, v níž je jejich zesílení dostatečně velké. Odpor R by měl být takový, aby vstupní napětí v klidu (před nasazením kmitů) sledovalo výstupní napětí. Úbytek napětí vytvořený na rezistorech vstupním proudem invertorů by tedy měl být zanedbatelný. Proto je zde vhodnější používat invertory z řady obvodů CMOS než z řad TTL, protože vstupní proud obvodů CMOS je mnohem menší než vstupní proud obvodů z bipolárních řad. Příliš malá
130
Evropský polytechnický institut s. r.o, Kunovice
hodnota odporu R může způsobit, že zesílení ve smyčce generátoru nebude dostatečné pro vznik kmitů, protože záporná zpětná vazba snižuje zesílení obou stupňů. Perioda vytvářeného signálu je srovnatelná s hodnotou součinu RC. Kmitočet však závisí i na parametrech invertorů, zejména na jejich schopnosti dodávat výstupní proud pro nabíjení a vybíjení obou kondenzátorů, tedy na jejich výstupním napětí a výstupním odporu v obou stavech výstupu, který může být dosti proměnlivý a teplotně závislý, a na průběhu jejich převodních charakteristik. Stabilita kmitočtu není tedy příliš velká. Výhodou je především jednoduchost zapojení a levnost použitých prvků. Pokud se však zajímáme o spolehlivost funkce, zjistíme u zapojení z Obr. 11.1 závažné nedostatky. Invertory jsou vyráběny a zkoušeny ve výrobních závodech pro jinou funkci než mají zde a parametry důležité pro uvedené zapojení nejsou udávány, tím méně zaručovány. Při změnách teploty a napájecího napětí, popřípadě při znečištění konstrukce usazeným prachem a podobně může dojít k takové změně poměrů, že kmity vysadí nebo se po připojení napájecího napětí nerozběhnou. Ve starší literatuře se setkáme s obvody podobného druhu, které mají úpravy pro zdokonalený (spolehlivější) start, tím však se ztrácí hlavní (a snad jediná) přednost tohoto zapojení, a to je jeho jednoduchost. Navíc nelze jednoduše zajistit, aby rozkmit vstupního napětí invertorů během činnosti obvodu nevybočil z rozsahu napětí mezi nulou a napájecím napětím, čímž se překračují mezní hodnoty tohoto napětí, které jsou obvykle pro číslicové integrované obvody uváděny. Proto jsou zapojení tohoto druhu použitelná s výhradami pro zkušební konstrukce a v nenáročných aplikacích. V konstrukcích vážnějšího charakteru, zejména aspirují-li na označení „profesionální“, by měla být nahrazena spolehlivějšími zapojeními. Ještě jednodušší zapojení, které však nemá největší nevýhody předešlého, je nakresleno na Obr. 11.2. Toto zapojení používá invertor s vnitřní kladnou zpětnou vazbou, která se projevuje vznikem hystereze na převodní charakteristice (říká se mu také invertor se vstupem Schmittova typu, krátce Schmittův obvod – viz kap. 4). Opět jsou zde vhodné invertory vyráběné v technologii CMOS. V řadě 74 se tyto invertory vyrábějí pod označením například 74HC14, nebo je možno použít součinový člen 74HC132. Funkce je patrná z Obr. 11.2. Perioda kmitů závisí na hodnotách napětí U1HL a U1LH, na hodnotách výstupního napětí invertoru v obou stavech a na součinu RC. S výjimkou součinu RC mohou tyto hodnoty do značné míry záviset na napájecím napětí a na teplotě, takže stabilita kmitočtu nebude příliš velká, ale invertor zde pracuje v podmínkách, pro něž je vyráběn, takže lze očekávat spolehlivější funkci než u zapojení z Obr. 11.1. Spolehlivost funkce tohoto generátoru je obvykle vyhovující, pokud je hodnota kapacity C výrazně větší než hodnota parazitních kapacit v obvodu, tedy řádově stovky pF a více. Samozřejmým požadavkem je, že rezistor R nesmí přetížit výstup invertoru. Tím je hodnota odporu R zdola omezena, což také znamená omezení kmitočtu výstupního signálu. u2
u1 , u2
R U u1
1
u2
1HL
výstup
u1
U
1LH
u2
C 0
U
1LH
U
u1
0
1HL
a) b) c) Obr. 11.2: Generátor se Schmittovým obvodem. a) Zapojení, b) převodní charakteristika, c) časové průběhy napětí.
t
Digitální technika
131
Tam, kde není požadováno přelaďování v širokém rozsahu, se v dnešní době pro vytváření pravoúhlých signálů používají nejčastěji různá zapojení s časovačem 555, jehož funkce a vnitřní struktura byla podrobněji popsána v kap. 4.5. Časovač spolehlivě pracuje až do kmitočtů řádu stovek kHz a lze jej zejména pro nižší kmitočty doporučit i u profesionálních aplikací. Pro vyšší kmitočty se vyrábějí v řadě TTL integrované napětím řízené generátory 74LS624 až 74LS629, které mohou být řízeny i krystalem. Jak časovač 555, tak i uvedené obvody z řady 74LS jsou výrobcem určeny a testovány pro toto použití a jejich konstrukce omezuje vliv změn teploty a napájecího napětí na kmitočet generovaného signálu. Časovač 555 může být napájen napětím v širokém rozsahu (4,5 až 18 V, někdy i v širším podle specifikace výrobce) a jeho konstrukce zajišťuje, že výstupní kmitočet jen velmi málo závisí na aktuální hodnotě napájecího napětí. Pro generování signálů vyšších kmitočtů s vysokými požadavky na stabilitu kmitočtu a spolehlivost funkce se vyrábějí integrované krystalem řízené oscilátory v pouzdrech podobných pouzdrům číslicových obvodů, přirozeně s odpovídající vyšší cenou. Známým výrobcem těchto generátorů je například firma Seiko Epson. Přeladitelné generátory se dnes často realizují na principu kmitočtové syntézy, viz např. [ 16 ], nebo s použitím integrovaných funkčních generátorů popsaných blíže v kap. 12.4.
11.3 Spouštěné generátory Spouštěné generátory představují z hlediska své funkce monostabilní klopné obvody (kap. 4.3). Monostabilní klopný (MKO) obvod se v klidu (bez působení vnějších podnětů) nachází v trvale stabilním stavu. Vnějším podnětem (např. spouštěcím impulsem) jej lze převést do dočasně stabilního stavu, v němž pak setrvá po určitou dobu, která je určena jeho zapojením a hodnotami parametrů součástek. Během tohoto stavu je vytvářen výstupní impuls. V akumulačním prvku, který je součástí struktury obvodu, nastává postupná změna nahromaděné energie – nejčastěji elektrické energie v kondenzátoru, což se projevuje změnou napětí na něm. Dosáhne-li toto napětí určité hodnoty, která je dána strukturou obvodu, dojde k ukončení impulsu a k návratu obvodu do trvale stabilního stavu, v němž obvod setrvá až do opětného spuštění. V kap. 4.3 jsme poznali MKO s běžným spouštěním, které nereagují na spouštěcí impuls přivedený na vstup v době, kdy se obvod nachází v dočasně stabilním stavu (tj. během trvání výstupního impulsu), a znovuspustitelné MKO, které umožňují opětné spuštění během trvání impulsu. Charakteristické časové průběhy signálů u znovuspustitelného MKO jsou nakresleny na Obr. 11.3. Pokud je interval mezi okamžiky spuštění širší než je doba impulsu vytvářeného obvodem, probíhá vše stejně jako u běžného MKO. Je-li však tento interval kratší, začíná na výstupu obvodu při každém opětném spuštění nový impuls, takže se jednotlivé impulsy spojí do jednoho, který trvá tak dlouho, dokud je obvod spouštěn. spouštěcí impulsy t výstup MKO ti
ti
t
Obr. 11.3: Časové průběhy signálů u znovuspustitelného MKO. V řadě 74.. se vyrábějí integrované monostabilní klopné obvody, z nichž nejznámější jsou typy 74..221 a 74..123. První z nich je běžného provedení, druhý je znovuspustitelný.
132
Evropský polytechnický institut s. r.o, Kunovice
Pouzdro obou typů obsahuje dva klopné obvody. Schematická značka integrovaného obvodu 74..123, který je doplněn vnějšími součástkami potřebnými pro jeho funkci jako monostabilní klopný obvod, je nakreslena na Obr. 11.4. Na výstupu Q se objeví impuls, je-li splněna některá z těchto podmínek: a) je-li na vstupu R napětí s úrovní H, tj. /rst = I, a = O a na vstup B přijde vzestupná hrana; b) je-li na vstupu R napětí s úrovní H, tj. /rst = I, b = I a na vstup A přijde sestupná hrana; c) je-li a = O, b = I a napětí na vstupu R přejde z úrovně L do úrovně H. a b /rst
A B R
ST Q R RC C
+5 V
C D
Obr. 11.4: MKO vytvořený z integrovaného obvodu 74..123. Vstup R může být využit k ukončení právě probíhajícího impulsu (k vynulování obvodu). V podrobnostech se obvody vyráběné různými výrobci mezi sebou poněkud odlišují, i když tyto odlišnosti nejsou velké. Pro dobu impulsu uvádí např. firma SGS Thomson u svého obvodu M74HC123 přibližný vztah, který platí pro dostatečně velké hodnoty R, C, kdy lze zanedbat parazitní efekty ti = 0,46 . RC.
( 11.1 )
V klidovém stavu je u tohoto obvodu napětí na vývodu RC nulové a kondenzátor C je nabit na plnou hodnotu napájecího napětí. Pokud by měl kondenzátor C dostatečně velkou kapacitu, mohlo by se při odpojení napájecího napětí stát, že by se tento kondenzátor vybíjel přes vnitřní strukturu obvodu, což by ji mohlo poškodit. Proto se doporučuje při použití větších hodnot kapacit C – obvykle řádu mikrofaradů nebo větší – přemostit rezistor R diodou D, jak je nakresleno na Obr. 11.4. Pro malé kapacity není dioda D nutná. Jiní výrobci udávají někdy poněkud odlišné funkční detaily, zvláště pro obvody vyrobené jinými technologiemi. Další možností vytvoření spolehlivého monostabilního klopného obvodu je použití integrovaného časovače 555, podobně jak bylo uvedeno v odstavci o autonomních generátorech. Příklad zapojení byl uveden v kap. 4. Pro vytváření krátkých impulsů se v číslicové technice často používá zapojení podle Obr. 11.5, které využívá zpoždění signálu v invertoru. Tímto způsobem je vhodné vytvářet impulsy o šířce nejvýše několik desítek až stovek nanosekund (čím rychlejší jsou použité obvody, tím kratší musí být vytvářené impulsy), jinak může dojít ke vzniku zákmitů při jeho týlové hraně, která je odvozena od hrany zpomalené článkem RC. Šířka výstupního impulsu závisí na parametrech použitých obvodů, jako je rozhodovací úroveň součinového obvodu a podobně, a závisí tedy značně na teplotě. Odpor R se volí tak, aby úbytek napětí na něm způsobený vstupním proudem součinového obvodu nepřesáhl hodnotu, kdy by byly narušeny správné úrovně vstupního napětí tohoto obvodu. Pro obvody TTL LS to bývá několik stovek ohmů. Teoreticky by obvod měl fungovat i bez článku RC, případně s lichým počtem invertorů zapojených do kaskády místo něj. Šířka vytvářeného impulsu by však byla dána jen zpožděním invertoru, které nelze nastavit, a s jedním invertorem bývá obvykle příliš malá, nebo se impuls vůbec nestačí vytvořit. Obvod s uvedeným zapojením je vhodné používat především tam, kde je hlavním kritériem cena. Další informace lze nalézt v literatuře [ 5 ], [ 6 ], [ 7 ], [ 12 ] aj.
Digitální technika
133 u 1a
u 1a
& 1
R
u 1b
u2
0
t
u 1b C
0
t
u2
0
t
Obr. 11.5: Obvod pro vytvoření krátkého impulsu. a) Zapojení spouštěné vzestupnou hranou, b) časové průběhy.
11.4 Shrnutí kapitoly 11 Autonomní generátory slouží k vytváření trvale běžících pravoúhlých signálů a z obvodového hlediska to jsou astabilní klopné obvody, případně oscilátory doplněné tvarovačem. Mezi nejběžnější spolehlivé typy generující signály s kmitočty řádově do oblasti 1 MHz patří generátory využívající integrované obvody vyráběné pro tyto účely, jako je časovač 555. Pro generátory signálů s pevným vyšším kmitočtem se často používají krystalem řízené generátory vyráběné v integrovaném provedení. Přeladitelné generátory se často realizují na principu kmitočtové syntézy, případně s využitím integrovaných funkčních generátorů. Je-li kladen důraz na spolehlivost funkce, doporučuje se používat generátory založené na integrovaných obvodech určených k tomuto účelu, nikoli různá zapojení s obvody určenými k jiným účelům. I když tato zapojení jsou také schopna příslušné signály vytvářet, parametry takto vytvořených signálů je zpravidla obtížné zaručit a rovněž spolehlivost jejich funkce nebývá velká. Spouštěné generátory vytvářejí jednorázové impulsy. Opět je pro jejich stavbu vhodné používat integrované obvody určené k tomuto účelu, jako je časovač 555 nebo obvody z číslicových řad 74 nebo 4000. Existují zde varianty s možností spouštění až po skončení předcházejícího impulsu nebo znovuspustitelné. Pro vytváření krátkých impulsů s nízkými nároky na stabilitu doby trvání impulsu se v číslicových systémech často používá jednoduché zapojení založené na zpoždění signálu v invertoru doplněného integračním článkem.
11.5 Kontrolní otázky 1) Jaké druhy generátorů se v digitální technice používají? Poprovnejte jejich vlastnosti. 2) Vysvětlete pojem znovuspustitelný MKO. 3) Jak se realizují přeladitelné generátory?
134
Evropský polytechnický institut s. r.o, Kunovice
12 Generátory tvarových kmitů Cíle kapitoly: Uvést stručně nejpoužívanější typy generátorů tvarových kmitů s odkazy na podrobnější prameny v literatuře.
12.1 Úvod Pod názvem generátory tvarových kmitů obvykle rozumíme generátory, které kromě pravoúhlých signálů vytvářejí také signály s různým zadaným tvarem, například trojúhelníkovým, pilovitým a podobně. Někdy tyto generátory vyrábí takové signály přímo, jindy je vytvářejí ze základního pravoúhlého nebo harmonického signálu. Pokud generátor vytváří přímo harmonický signál, nazývá se oscilátor. Generátory vyrábějící přímo pilovité, trojúhelníkovité a podobné kmity se často nazývají relaxační generátory a příslušným kmitům se říká relaxační kmity. K nejjednodušším takovým generátorům patří obvod zapojený podle Obr. 11.2. Generátory tvarových kmitů mohou pracovat jako autonomní (bez vnějšího spouštěcího signálu) nebo jako spouštěné. Mezi autonomní relaxační generátory můžeme zařadit již probrané astabilní klopné obvody, ke spouštěným generátorům lze počítat monostabilní klopné obvody. Zvláštní a velmi univerzální skupinou jsou generátory pracující na číslicovém principu.
12.2 Analogové generátory Principiální schéma jednoduchého autonomního generátoru tvarových kmitů je nakresleno na Obr. 12.1. Komparátor přepíná spínač vstupního napětí integrátoru P, takže rozkmit výstupního napětí je dán hysterezí komparátoru. Na výstupu integrátoru je trojúhelníkovitý průběh napětí, na výstupu komparátoru je napětí s obdélníkovým (pravoúhlým) tvarem. Je-li výstupní napětí uobd souměrné vůči nulovému napětí, je možno toto napětí použít přímo jako přepínané vstupní napětí místo zdrojů s napětím U1 a přepínače P. Kmitočet výstupního napětí zde závisí na rozhodovacích úrovních komparátoru a na hodnotě výstupního obdélníkového napětí v obou jeho úrovních. Má-li obvod generovat signály s vyšším kmitočtem, je nutno také vzít v úvahu spínací časy komparátoru. utroj U1
R P
C uobd
U1 0V
Obr. 12.1: Principiální zapojení autonomního generátoru tvarových kmitů. Pokud se jako komparátor v zapojení podle Obr. 12.1 použije běžný operační zesilovač, je zde problém spočívající v tom, že čas potřebný k přechodu zesilovače z nasycení do aktivní oblasti nebývá obvykle udáván výrobcem. Rovněž úrovně výstupního napětí zesilovače bývají specifikovány se značně širokými tolerancemi. Ve funkci komparátoru je možno výhodně použít časovač 555 napájený ze zdroje ± 5 V, takže rozkmit trojúhelníkovitého napětí je napětí ± 1,67 V. Ve verzi CMOS jsou při malém zatížení úrovně jeho výstupního napětí velmi blízké hodnotám napájecích napětí, takže je možno toto napětí přímo využít jako vstupní napětí integrátoru.
Digitální technika
135
Signál s harmonickým (sinusovým) průběhem je možno získat tvarováním trojúhelníkového signálu generovaného například obvodem z Obr. 12.1. Praktické zapojení tvarovače je nakresleno na Obr. 12.2. Je to diodový tvarovač se dvěma zdroji napětí ± 2,6 V, které jsou realizovány tranzistory s funkcí emitorových sledovačů. Je-li rozkmit trojúhelníkovitého vstupního napětí ± 5 V, je amplituda výstupního sinusového napětí přibližně (2/π) . 5 V a při pečlivém nastavení lze dosáhnout zkreslení výstupního signálu pod 0,5%. UCC+ 220R
270R
7K8 u1
150R
+2,6 V
2K1
2K2
220R
u2 270R
150R
-2,6 V 0V
UCC+
Obr. 12.2: Zapojení tvarovače trojúhelníkovitého napětí na sinusové. Řadu dalších námětů i s podrobnějším rozborem a s příklady návrhu lze najít například v literatuře [ 13 ].
12.3 Číslicové generátory Blokové schéma generátoru pracujícího na číslicovém principu je nakresleno na Obr. 12.3. Kmitočet výstupního signálu je určen kmitočtem hodinového signálu, který řídí binární čítač. Paměť PROM připojená na jeho výstup obsahuje funkční hodnoty výstupního signálu v číslicovém tvaru odpovídající časovým okamžikům příslušným k hodinovým impulsům. Při použití běžných osmibitových pamětí dostaneme rozlišení 256 úrovní výstupního napětí, které má skokový průběh. Velikost skoků je dána počtem úrovní, tedy počtem bitů, v nichž je okamžitá hodnota signálu kódována. Skokový charakter výstupního napětí, který představuje přídavný – tzv. kvantovací – šum, je možno potlačit filtrem. Mezi přednosti tohoto řešení generátoru patří snadná přeladitelnost, možnost generovat libovolné tvary napětí a snadná jejich změna úpravou obsahu paměti PROM. Použité součástky jsou zcela standardní a cenově příznivé.
clk
čítač
paměť PROM
převodník D/A
filtr
výstup
Obr. 12.3: Blokové schéma generátoru pracujícího na číslicovém principu.
12.4 Speciální integrované obvody pro stavbu generátorů tvarových kmitů Dalším výhodným prostředkem pro vytváření tvarových signálů jsou monolitické integrované obvody – integrované funkční generátory. Jejich funkce bývá založena na
136
Evropský polytechnický institut s. r.o, Kunovice
principu znázorněném na Obr. 12.1, nemusí to však být vždy přesně tak. Příkladem může být integrovaný obvod MAX038 vyráběný firmou Maxim. Představitelem obvodu se složitější strukturou je další rozšířený integrovaný obvod XR 2206 firmy Exar. Po doplnění několika pasívními součástkami mohou uvedené obvody pracovat mimo jiné jako: • generátor sinusového, trojúhelníkovitého, pilovitého a pravoúhlého signálu, • generátor amplitudově nebo kmitočtově modulovaného signálu, • převodník napětí na kmitočet, • generátor kmitočtově klíčovaného signálu, • oscilátor řízený napětím pro fázové závěsy. Kmitočtový rozsah generovaného signálu je velmi široký. Dolní mez je dána jen hodnotami vnějších součástek a bez větších problémů může být v oblasti zlomků Hz, horní mez je uváděna v oblasti kolem jednotek až desítek MHz. Podrobnější popis funkce a odkazy na další literaturu lze najít například v pramenech [ 6 ], [ 7 ], [ 12 ] aj.
12.5 Shrnutí kapitoly 12 Analogové generátory jsou často založeny na principu integrátoru a tvarovače. Číslicové generátory umožňují zpravidla snadnější dosažení větší přeladitelnosti a dalších nastavitelných parametrů generátoru při vysoké přesnosti časových parametrů vytvářeného signálu, který může být odvozen od základního přesného kmitočtového zdroje (například oscilátoru řízeného krystalem). Často se pro stavbu generátorů tvarových kmitů používají specializované integrované obvody.
12.6 Kontrolní otázky 1) Vysvětlete pojmy: generátor, relaxační generátor, oscilátor, multivibrátor, klopný obvod. 2) Jaké druhy generátorů tvarových kmitů se v digitální technice používají? 3) Na dvou příkladech vysvětlete princip získání tvarových kmitů pomocí tvarovačů.
Digitální technika
137
13 Technická realizace číslicových obvodů Cíle kapitoly: Uvést přehled nejpoužívanějších řad číslicových integrovaných obvodů bipolárních a CMOS, jejich vnitřní strukturu a z ní vyplývající nejdůležitější vlastnosti těchto obvodů. Upozornit čtenáře na nejdůležitější pravidla pro jejich použití a na způsoby propojování obvodů různých řad.
13.1 Přehled integrovaných číslicových obvodů Číslicové obvody se dnes vyrábějí téměř výhradně jako monolitické integrované obvody. Ty mohou být vyráběny v technologiích pracujících s bipolárními tranzistory, s tranzistory unipolárními nebo i s oběma typy. Číslicové obvody se vyrábějí v „rodinách“ (anglicky family) - třídách, jejichž členy mají shodné či podobné základní vlastnosti (princip funkce, napájecí napětí apod.). V rámci těchto tříd jsou číslicové obvody členěny do technologických variant (řad) vzájemně kompatibilních (propojitelných) obvodů. Kompatibilita obvodů různých řad může být omezená, i když ne vždy tomu tak je. K nejznámějším rodinám číslicových obvodů patří: • třída TTL (bipolární) s řadami Standard (STD), L, H, S, LS, ALS, AS, F atd. U těchto řad pak jsou varianty s různým pracovním rozsahem teplot, popř. dalších podmínek (varianta 74 – tzv. komerční, 84 – průmyslová, 54 – vojenská); • třída ECL (bipolární) s řadami 10 000, 100 000; • třída CMOS (unipolární) – nejstarší je řada 4000. Novější jsou řady 74HC, 74HCT, 74AC, 74ACT a nejnověji 74AHC, 74AHCT (s příslušnými průmyslovými a vojenskými variantami). Význam označení je: L: Low-power; H: High-speed; S: Schottky (s antisaturačními diodami); LS: Low-power Schottky; AS: Advanced Schottky; ALS: Advanced LS, HC: High-speed CMOS; HCT: HC, TTL compatible (se vstupními napětími řad TTL). A: u řad TTL i CMOS značí Advanced, F: značí FAST (Fairchild Advanced Schottky TTL). Dříve byla nejrozšířenější řada TTL, která se dnes pro odlišení od ostatních řad nazývá standardní – STD (7400 atd.). Dnes jsou nejpoužívanější řady LS (74LS00 atd.) a řada HC, popř. HCT. Často se používá i řada 4000, jejíž vrchol však již přešel. V blízké budoucnosti to patrně budou řady ALS a F společně s řadami CMOS, zejména HC/HCT, popř. AHC/AHCT. Tyto řady se někdy souhrnně označují jako řada 74 (na rozdíl od řady 4000), i když ve skutečnosti jde o celý soubor řad číslicových obvodů vyráběných odlišnými technologiemi, a to pro zdůraznění skutečnosti, že obvody řady 74 se shodným číselným označením mají stejnou funkci a jsou vývodově kompatibilní. V současné době vzrůstá rozšíření a význam obvodů CMOS s nižším napájecím napětím, zejména 3,3 V. Existuje mnoho jejich variant od různých výrobců, a jsou často označovány symbolem 74LV (ale i jinak). Trend ke snižování napájecího napětí u obvodů řad CMOS je vynucen probíhajícím zvyšováním hustoty součástek na čipu, kdy se odvod tepla působeného výkonovými ztrátami na čipu stává omezujícím faktorem, a také tím, že se zmenšováním struktur se zmenšují izolační vzdálenosti. Význam má i menší potřebný počet napájecích článků při bateriovém napájení obvodů s nižším napětím. Ztrátový výkon je úměrný součinu napájecího napětí a stejnosměrné složky proudového odběru z napájecího zdroje. Podstatnou částí proudového odběru jsou proudy vznikající nabíjením a vybíjením parazitních kapacit. Náboj, který se při jednom nabití a vybití takové kapacity C při napájecím napětí UCC svede na zem, je určen vztahem
138
Evropský polytechnický institut s. r.o, Kunovice Q1 = C . UCC,
( 13.1 )
a odpovídající proud je roven součinu tohoto náboje a počtu nabití a vybití za sekundu. Dynamická složka ztrátového výkonu PD je tedy PD = C . UCC2 . f,
( 13.2 )
takže tato složka roste se čtvercem napájecího napětí. Proto i nevelké snížení tohoto napětí má značný vliv na zmenšení problémů s odvodem tepla z čipu. Typické hodnoty napájecích napětí, s nimiž se setkáme, jsou: 12 V, popř. 15 V – používá se u řady CMOS 4000, 5 V – napájení bipolárních obvodů TTL a mnoha dalších kompatibilních obvodů, 3,3 V – používá se pro mnoho nových typů číslicových obvodů, a to jak pro novější verze řad 74 (například 74LV a další), tak pro programovatelné obvody, obvody FPGA a ASIC, 2,5 V – především u speciálních obvodů LSI, procesorů, obvodů FPGA a ASIC, 1,8 V – podobně jako u předchozí hodnoty napětí. Obecně lze říci, že obvody s vyšší hustotou prvků na čipu (s vyšším stupněm integrace) jsou zpravidla napájeny nižším napětím. Podobný trend bude patrně pokračovat i nadále.
13.2 Řady TTL Dnes se používají převážně obvody se Schottkyho diodami ve struktuře (písmeno S v označení – S, LS, ALS a podobně). Podstata účinku těchto diod spočívá v jejich využití k vyloučení saturace tranzistorů zapojením antisaturační Schottkyho diody mezi bázi a kolektor tranzistorů, spolu s dalšími úpravami zapojení. Těchto dalších úprav je u novějších řad velké množství. Jejich podrobná znalost však není pro běžného uživatele nezbytná a zájemce odkazujeme na speciální literaturu věnovanou mikroelektronice. Běžnému uživateli stačí znalost charakteristik a parametrů obvodů, které jsou uvedeny v technických listech (katalozích) výrobců nebo v podobných souhrných publikacích, jako je [ 8 ], [ 9 ] aj. V současné době jsou velkým zdrojem těchto informací internetové stránky výrobců. Vnitřní struktura číslicových obvodů určuje jejich nejdůležitější charakteristiky i parametry. Z uvedených důvodů se s ní zde seznámíme jen stručně v rozsahu, který umožní lepší pochopení souvislostí, a to pro obvody řady TTL STD. I když dnes obvody této řady patří k zastaralým, jejich vnitřní struktura je nejjednodušší a vcelku snadno pochopitelná. V dobrém přiblížení lze vystačit s představou, že se celek u obvodů této řady chová tak, jako by byl složen z běžných tranzistorů, rezistorů a diod. Okolnost, že tyto prvky jsou ve skutečnosti integrovány na společném čipu, nevede k nesrovnalostem, které by měly značný význam pro běžného uživatele. Obvody dalších řad TTL se po stránce charakteristik a parametrů liší od obvodů řady STD spíše kvantitativně, základní proporce zůstávají zachovány. Vstupní, převodní a odběrová charakteristika invertoru se strukturou odpovídající obvodu z Obr. 13.1 je nakreslena na Obr. 13.2. Z obrázku je zřejmé, že vstupní proud v úrovní L je v absolutní hodnotě mnohem větší než vstupní proud v úrovni H. To odpovídá skutečnosti, že v úrovni L je emitorový přechod tranzistoru T1 polarizován v propustném směru a vstupem protéká proud omezený rezistorem R1 s hodnotou kolem 1 mA. V úrovni H teče do vstupu jen malý zbytkový proud tohoto přechodu řádu desítek µA. Povšimněme si, že vstupní charakteristika protíná vodorovnou osu přibližně při napětí u1 = 1,4 V. To je typická hodnota vstupního napětí nezapojeného vstupu. Je to hodnota, která leží v zakázaném pásmu mezi úrovněmi L a H.
Digitální technika
139 U R1 4K0
(a )
R2 1K6
R4 130R
CC
a
T3
y
D3
T2
T1
&
b
y = /( a . b ) T4 ua
ub
D1
uy
R3 1K0
D2
(b ) 0V
Obr. 13.1: Logický člen NAND – TTL STD. a) Obvodová struktura, b) schematická značka. i 1 [mA]
0
1
2
-1
3
4
4 u [V] 2
5 u1 [V]
3
(a)
2
u2 4 [V] 3
výstup v úrovni H 1
2
(b) výstup nezatížen
1
0
1
2
3
4
-15
-10
-5
0
5
10
15
i 2 [mA]
(d)
5 u1 [V]
UCC = 5 V
i
CC
i CC 4
i
[mA] 3 2
(c) výstup nezatížen
1
0
výstup v úrovni L
1
2
3
4
5 u1 [V]
1
i 1
u1
2
u2
(e)
Obr. 13.2: Charakteristiky invertoru TTL STD. a) Vstupní, b) převodní, c) odběrová, d) výstupní, e) bránové veličiny. Hodnotám vstupních proudů v obou úrovních vstupního napětí odpovídá také průběh výstupní (zatěžovací) charakteristiky. V úrovni L je tato charakteristika dána kolektorovou charakteristikou sepnutého tranzistoru T4, takže výstupní napětí má malou hodnotu blízkou saturačnímu napětí tohoto tranzistoru. V úrovni H je rozdíl mezi hodnotou UCC a výstupním napětím dán úbytkem napětí na tranzistoru T3 a s ním sériově zapojené diody D3. Ten je mnohem větší než saturační napětí a také výstupní odpor je výrazně vyšší než v úrovni L. Proto bývá účelné, pokud výstup číslicových obvodů má budit nezanedbatelnou zátěž, připojovat tuto zátěž mezi výstup a napájecí napětí (výstupy obvodů TTL jsou „silnější“ v úrovni L). Výstupní tranzistory logických obvodů jsou navrženy tak, aby dovolily připojení určitého počtu vstupů obvodů téže řady. Tomuto počtu se říká výstupní větvení nebo logický zisk a pro řady TTL je obvykle 10. Vzhledem k rozmanitosti typů číslicových obvodů je však tato hodnota u některých členů těchto řad odlišná a pro konkrétní obvody je třeba najít příslušné údaje v katalogu. U novějších řad TTL je obvyklé, že pro úroveň H, v níž jsou menší hodnoty vstupních proudů, se zaručuje logický zisk větší (typicky 20). Diody D1 a D2 z Obr. 13.1, tzv. záchytné diody, jsou určeny k potlačení přechodných jevů při přenosu číslicových signálů delšími vodiči, které již mají charakter dlouhého vedení. Nedoporučuje se využívat jich jako omezovacích prvků pro signály, které vybočují do
140
Evropský polytechnický institut s. r.o, Kunovice
záporných hodnot napětí po delší dobu než odpovídá trvání těchto přechodných jevů, tj. po dobu řádově nanosekund. Na odběrové charakteristice vidíme výrazný proudový vrchol s hodnotou mnohem vyšší než odpovídá proudům při vstupním napětí v úrovni L nebo H. Ten odpovídá vstupnímu napětí, při němž oba výstupní tranzistory T3 a T4 mění svůj stav a procházejí oba aktivní oblastí. Pro zmenšení tohoto vrcholu je v emitoru tranzistoru T3 zapojena dioda D3. Přesto vrchol proudu může dosáhnout hodnot řádově až desítek mA. Navíc v aktivní oblasti tranzistorů T3 a T4 má obvod charakter zesilovače s vysokým mezním kmitočtem. Vlivem parazitních kapacit a indukčností může dojít k jeho rozkmitání, pokud vstupní napětí prochází zakázanou oblastí příliš pomalu. Proto je důležité dodržet určitou minimální rychlost změny vstupního napětí při jeho průchodu touto oblastí. Proudové impulsy odebírané z napájecího zdroje mohou být při nevhodném konstrukčním řešení přívodu napájecího napětí příčinou rušení. Je proto nezbytné udržet impedanci napájecích přívodů na co nejnižší úrovni a v blízkosti napájecích vývodů číslicových integrovaných obvodů je třeba umístit kondenzátory s co nejmenší indukčností, které jsou schopny tyto proudové impulsy dodat. Z Obr. 13.2 je také zřejmé, že napětí, které se ustálí na vstupu, který je ponechán bez připojení, je velmi blízké oblasti vrcholu proudu ICC. Je tedy nevhodné ponechávat jakékoliv vstupy číslicových obvodů neošetřeny, i když třeba jde o vstupy logických členů, které nejsou využity. Tato praxe, která je dosti rozšířena, může přinejmenším způsobovat zhoršení odolnosti proti rušení, poněvadž kapacitní vazbou mohou na tyto nepřipojené vstupy pronikat rušivé signály, které jsou pak obvodem zesilovány a špičky napájecího proudu tím vznikající (viz odběrovou charakteristiku) zbytečně přispívají k neklidu zemnicího a napájecího vodiče.
13.3 Řady CMOS Technologie výroby obvodů těchto řad prodělala dlouhý vývoj, během něhož bylo vyráběno větší množství komerčně více či méně úspěšných řad. Jednou z prvních je řada 4000, která je dodnes v modifikované verzi 4000B dodávána na trh a k její oblíbenosti přispívá i cena jejích prvků, která patří mezi nejnižší. Písmeno B v označení znamená, že vlastní členy realizující logickou funkci jsou u této varianty doplněny výstupními zesilovači (buffer), které zajišťují větší zatížitelnost výstupů a zlepšují průběh převodní charakteristiky, který má u verze B téměř ideální tvar. V katalozích prodejců se však označení B často vynechává, i když jde o obvody modifikované verze. UDD i DD T1
ui
T2
uo 0V
Obr. 13.3: Struktura invertoru CMOS. Struktura invertoru v provedení CMOS je nakreslena na Obr. 13.3. Převodní a odběrová charakteristika invertoru CMOS původní verze (bez přídavného výstupního zesilovače) je pro dvě hodnoty napájecího napětí nakreslena na Obr. 13.4a, převodní charakteristika pro verzi B při napájecím napětí UDD1 na Obr. 13.4b. Odběrová charakteristika u verze B má průběh podobný jako na Obr. 13.4a, je však výrazně užší.
Digitální technika
141
Podobný průběh mají charakteristiky jiných logických členů těchto řad. Z obrázku je zřejmé, že odběr z napájecího zdroje je nepatrný, je-li vstupní napětí blízké nulové hodnotě nebo hodnotě napájecího napětí. Vstupy logických obvodů CMOS mají velmi vysokou impedanci. Pokud bychom je ponechali nepřipojené (jde zejména o vstupy nevyužitých logických členů), ustálilo by se na nich napětí dané svodovými odpory. Lze tedy očekávat, že by toto napětí mohlo být v rozsahu, kde příslušný logický člen odebírá ze zdroje značný proud. Vlivem parazitních vazeb může dojít i k jeho rozkmitání a tedy zvýšení hladiny rušivých signálů. Proto je u logických členů těchto řad obzvláště důležité ošetřovat nevyužité vstupy připojením na zem nebo na napájecí napětí, což se týká i nevyužitých logických členů.
Obr. 13.4: Charakteristiky invertoru CMOS. a) Převodní a odběrové charakteristiky původní verze 4000 (pro dvě hodnoty napájecího napětí UDD1, UDD2), b) převodní charakteristika modifikované verze 4000B. Obvody z řady 4000 (původní i modifikované verze) mají ve srovnání s řadou 74 odlišné číselné označení jednotlivých typů logických obvodů, např. čtveřice členů NAND v provedení TTL má označení 7400, v CMOS verzi 4011. Rovněž rozložení vývodů je odlišné, i když to není z funkčního hlediska nutné. Velká obliba obvodů TTL v době rozvoje řad CMOS vedla k tomu, že byla vytvořena řada CMOS s označením 74C a nověji 74HC, u níž je označení typů i rozložení vývodů shodné s řadou TTL. Ostatní vlastnosti obvodů CMOS jsou zde zachovány, pouze napájecí napětí je odlišné. Naopak se v řadě HC (HCT) vyrábějí některé obvody vývodově kompatibilní s řadou 4000, např. 74HC4002 a další. Vzhledem k nepatrným vstupním proudům obvodů CMOS je počet vstupů, které můžeme z hlediska zatížitelnosti připojit k jednomu výstupu těchto obvodů řádově větší než u bipolárních řad. Vstupy však mají určitou kapacitu, která se u propojených vstupů sčítá a větvení omezuje. Prakticky se uvádí, že na výstup je možno připojit 10 až 20 vstupů bez nebezpečí přílišného zpomalení hran signálů. V roce 1997 ohlásila firma Texas Instruments novou řadu obvodů CMOS s označením 74AHC a 74AHCT. Podle předběžných údajů jsou obvody této řady 3x rychlejší a mají poloviční odběr než obvody řady HC (HCT), cena má zůstat stejná. Podobně inovují sortiment řad CMOS i další firmy. Řady logických obvodů CMOS mají dovolen větší rozsah napájecího napětí než řady TTL. U řady 4000 je to 3 až 15 V, rozsah u řady 74HC je 2 až 6 V. Obvody těchto řad mají i při napájecím napětí 5 V odlišné vstupní úrovně od obvodů řad TTL (vyžadují vyšší vstupní napětí v úrovni H). Aby byla umožněno připojení obvodů řady 74HC, AC a dalších řad CMOS k výstupům obvodů řady TTL, byla vytvořena řada 74HCT (HC TTL compatible), popř. ACT a další, u nichž jsou úrovně vstupního napětí posunuty proti úrovním řad HC, AC atd. tak, že souhlasí s úrovněmi bipolárních řad TTL. Cenou za tento posun je mírně zhoršená odolnost proti rušení. Je tedy vhodné, používat obvody z řad HCT (ACT) pouze na pozicích, které navazují na předcházející logické obvody, s výstupními úrovněmi odpovídajícími bipolárním řadám TTL, a dále již zařadit obvody z řad HC (AC). Pokud se vstupní napětí
142
Evropský polytechnický institut s. r.o, Kunovice
logických obvodů z řad HCT (ACT) pohybuje v hodnotách vzdálených od nuly nebo napájecího napětí, jak je tomu například při připojení takového vstupu k výstupu obvodu TTL v úrovni H, odebírají tyto obvody podobně jako obvody řady HC (AC) zvýšený proud z napájecího zdroje, výstupní úrovně obvodu TTL však vyhodnocují správně. Odběr obvodů CMOS z napájecího zdroje. Statický odběr logických obvodů CMOS je zanedbatelný. Při každém přechodu logické úrovně však vstupní napětí prochází pásmem výrazně zvýšeného odběru (viz Obr. 13.4). Střední hodnota odběru z napájecího zdroje má tedy složku, která je přímo úměrná kmitočtu vstupního signálu. Podobná složka je přítomna i u logických obvodů TTL, ta je však při nižších kmitočtech vstupního signálu zanedbatelná proti statickému odběru. Srovnání stejnosměrné složky odběru obou řad ukazuje Obr. 13.5. Z tohoto obrázku je zřejmé, že se při určitém kmitočtu (obvykle řádu jednotek až desítek MHz) odběr obou typů obvodů sbližuje, protože se zde i u obvodů TTL uplatňují proudové špičky při přepínání. Při vysokém kmitočtu mohou mít dokonce obvody CMOS větší odběr než bipolární obvody TTL – nemusí to však platit pro všechny řady. odběr TTL
CMOS
0
f
Obr. 13.5: Srovnání odběru řady TTL a CMOS. (Závislosti odběru dvou stejných obvodů sestavených z řad TTL a CMOS na kmitočtu.) Pro návrh napájecího zdroje je potřebné mít aspoň přibližnou představu o proudové spotřebě navrhovaného zařízení. Je-li toto zařízení složeno z obvodů CMOS běžných řad, je tento odhad možno získat následujícím způsobem, který je uváděn v aplikačních zprávách výrobců (viz jejich www stránky např. [ 18 ], [ 19 ] aj.). Odběr proudu má tři složky: • statickou složku, která bývá obvykle zanedbatelná, jsou-li hodnoty vstupních napětí obvodu blízká nulovému nebo napájecímu napětí (s odchylkou nejvýše několik desetin voltu – to jsou typické úrovně výstupních napětí obvodů CMOS, a dále takové úrovně napětí budeme nazývat úrovně CMOS), není však zanedbatelná, není-li tato podmínka dodržena; • dynamickou složku odběru samotného obvodu způsobenou přechody obvodu mezi oběma úrovněmi napětí – stejnosměrná hodnota této složky odpovídá časovému integrálu okamžité hodnoty proudu, který dostaneme jako časový průběh odběru podle odběrové charakteristiky, podělenému periodou signálu; • dynamickou složku způsobenou nabíjením a vybíjením parazitních a zatěžovacích kapacitorů. Statickou složku IDD1 vyjádříme pro číslicový obvod řady HCT s napájecím napětím 5 V, u něhož je N vstupů buzeno výstupy předcházejících obvodů s vlastnostmi odpovídajícími výstupům obvodů TTL, tj. které mají v úrovni H výstupní napětí typicky kolem 3,5 V. Tato složka je dána výrazem IDD1 = IDD(CMOS) + N ⋅ ∆IDD ⋅ (tH/T), kde jednotlivé symboly mají následující význam:
( 13.3 )
Digitální technika
143
IDD(CMOS) – odběr obvodu v případě, že na všech vstupech jsou napětí s úrovněmi CMOS, tj. nulové nebo napájecí napětí, který bývá uváděn v katalogu; N – počet vstupů buzených výstupy TTL; ∆IDD – hodnota odběru pro vstupní napětí úrovně H získaného z výstupu TTL, daná odběrovou charakteristikou – tato hodnota bývá uváděna v katalogu; tH/T – střída vstupního napětí. Pro jiné obvody než obvody řady HCT je tato složka rovna odběru IDD(CMOS), který se uvádí v katalogu (za předpokladu vstupních napěťových úrovní CMOS). Její hodnotu je nutno brát v úvahu zejména v aplikacích kritických z hlediska napájecího proudu (bateriové přístroje apod.), je-li činnost obvodu převážně statická (kdy zbývající dvě složky jsou malé). Dynamická složka způsobená nabíjením a vybíjením zatěžovacích kapacitorů se určí z náboje, který se těmito kapacitory odebere z napájecího zdroje s napětím UDD během jedné periody vstupního signálu. Má-li obvod několik výstupů, na nichž jsou signály s různými kmitočty (to je typické například pro čítače), je náboj odebraný jedním kapacitorem CL při jedné periodě výstupního signálu roven součinu CL ⋅ UDD, a tato složka je tedy: IDD3 = ΣCLi ⋅ UDD ⋅ fOi,
( 13.4 )
kde se sčítají příspěvky všech výstupů (vyjádřeno indexem i) zatížených kapacitory CLi a s kmitočty výstupních signálů fOi. Dynamická složka odběru samotného obvodu má charakter podobný jako předcházející složka, tedy jsou to proudové impulsy vznikající při změnách úrovně vstupních napětí. Pokud je obvod částí většího celku, takže můžeme předpokládat, že doba hrany vstupních napětí je rovna charakteristické době hrany pro příslušnou řadu, můžeme vyjádřit proud odebíraný z napájecího zdroje při kmitočtu vstupního napětí fI výrazem ( 13.5 ) IDD2 = Cpd ⋅ UDD ⋅ fI, kde Cpd (tzv. power dissipation capacity) je fiktivní kapacita vyjadřující typickou velikost náboje odebraného z napájecího zdroje během jedné periody vstupního napětí přepočtená pro napájecí napětí 1 V. Tato kapacita je udávána v katalozích výrobců číslicových obvodů. Celkový odběr obvodu získáme součtem těchto tří složek: IDD = IDD1 + IDD2+ IDD3.
( 13.6 )
I když uvedená metodika nemůže postihnout všechny myslitelné situace, dává představu o problematice a návod, jak postupovat v konkrétních případech. Zpoždění u obvodů CMOS výrazně závisí na napájecím napětí. Je to způsobeno tím, že tranzistory MOS mají přibližně kvadratickou převodní charakteristiku, takže při větším napájecím napětí jsou schopny dodat výrazně větší proud než při jeho menší hodnotě a nabíjení parazitních kapacit je tak rychlejší. Typická závislost zpoždění na napájecím napětí u obvodů řady 4000 je nakreslena na Obr. 13.6, u jiných řad je tato závislost podobná. zpoždění [ns]
200
100
5
10
Obr. 13.6: Závislost zpoždění obvodů řady 4000 na UDD.
15
UDD [V]
144
Evropský polytechnický institut s. r.o, Kunovice
Efekt latch-up. U obvodů CMOS existuje efekt zvaný latch-up. Ve struktuře CMOS jsou tranzistory s kanálem P i N blízko sebe a za určitých okolností se tato struktura může chovat jako tyristor. Přivedeme-li na vývody obvodu CMOS napětí přesahující rozsah vymezený napájecími přívody, může dojít k sepnutí této parazitní tyristorové struktury, takže obvodem začne protékat velký proud vedoucí k jeho přehřátí a obvykle i ke zničení. Tomuto efektu se můžeme bránit nejlépe tak, že nepřipustíme, aby se na vývody obvodů CMOS dostalo napětí vybočující ze zmíněného rozsahu (i během nabíhání napájecího napětí!). Srovnání obvodů TTL a CMOS. Nejdůležitější vlastnosti obvodů CMOS ve srovnání s obvody TTL jsou: • nepatrný klidový odběr, • větší rozsah napájecího napětí – řada 4000: 3 až 15 V, – řada 74HC: 2 až 6 V, • nepatrné vstupní proudy, • logický zisk omezen spíš dynamickými parametry než poměrem výstupních a vstupních proudů, • závislost odběru na kmitočtu vstupního signálu je výraznější ve srovnání s obvody TTL, • výstupy novějších obvodů CMOS jsou souměrné (stejná zatížitelnost v úrovni L i H), rozkmit výstupního signálu je blízký rozsahu od nuly do napájecího napětí – „rail-torail“, • odolnost proti rušení je obecně větší (řada 4000 je pomalejší – větší dynamická odolnost; u řad HC a AC je převodní charakteristika symetrická, takže úrovně H a L jsou více vzdáleny od prahové úrovně), • zpoždění klesá s rostoucím napájecím napětím, u dolní hranice pracovního rozsahu tohoto napětí je výrazně zvětšené, • problémy se statickou elektřinou jsou větší, vstupy je třeba proti ní chránit, • existence efektu latch-up. Ochrany vstupů a výstupů obvodů CMOS. Vstupy obvodů CMOS jsou vysokoimpedanční – hradla tranzistorů MOS představují vůči ostatnímu obvodu prakticky izolovaný uzel. Izolaci zajišťuje tenká vrstvička oxidu, která je mnohem citlivější na průraz než přechody P-N, které jsou na vstupech bipolárních obvodů. Zatímco průraz přechodu P-N bývá vratný (nemusí při něm dojít k jeho destrukci, i když opakované průrazy mohou způsobit jeho degradaci), znamená průraz oxidové vrstvy tranzistoru MOS úplné zničení její funkce. Vzhledem k nepatrné kapacitě vstupů – řádově pikofarady – je pro ně velmi nebezpečný dotyk s elektrostaticky nabitými předměty, které mívají kapacitu proti zemi řádově vyšší a napětí, na něž bývají nabity, bývá řádu stovek voltů až kilovoltů. Výstupní vývody jsou na podobné zevně přivedené napětí přesahující rozsah mezi zemnicím vývodem a napájecím napětím rovněž citlivé – tato napětí mimo jiné mohou být příčinou vzniku efektu latch-up. Proto se u vstupů i výstupů obvodů CMOS používají různé ochranné struktury, které mají tyto obvody chránit. Je však nutno říci, že žádná z těchto ochran není za všech okolností stoprocentně účinná a pokud chceme stavět spolehlivá zařízení, je vhodné se snažit, abychom jich vlastně nevyužívali, i když ve srovnání s obvody CMOS z doby počátků této technologie je citlivost moderních obvodů CMOS na uvedené nebezpečné podmínky nesrovnatelně menší. Podrobnosti vnitřní struktury ochranných obvodů jsou podobně jako zbytek struktury obvodů předmětem ochrany výrobního tajemství výrobců. Publikují se zpravidla údaje, které dávají přibližnou představu o chování vstupů a výstupů z hlediska uživatele. Nejčastěji se setkáme se dvěma hlavními typy ochran: ochrana typu záchytných diod běžného typu a ochrana typu stabilizačních diod. Skutečné zapojení však bývá složitější, zejména u druhého
Digitální technika
145
typu ochrany, protože ochrana nesmí zhoršovat parametry obvodů a musí být kompatibilní po stránce technologie výroby se zbytkem obvodu, což běžné stabilizační diody neumožňují. Tento typ ochrany byl zaveden v souvislosti s výrobou obvodů s napájecím napětím 3,3 V a používá se především u vstupů, případně u třístavových výstupů. Princip obou typů ochran je nakreslen na Obr. 13.7. Z nákresu na tomto obrázku vidíme, že první typ ochrany nemůže být použit u obvodů, u nichž je žádoucí, aby bylo možno vstup připojit na výstup obvodu s vyšším napětím než je UDD, jinak by do napájecího zdroje UDD mohl připojeným výstupem ve stavu H téci přes ochrannou diodu proud omezený pouze nepříliš přesně definovaným výstupním odporem. Obvody s napájecím napětím 3,3 V (případně nižším), které mají mít vstupy tolerantní k připojení na výstupy obvodů s napájecím napětím 5 V, mívají proto ochranný obvod podle Obr. 13.7b. UDD vstup
výstup
U DD vstup
výstup
0V (a)
0V (b)
Obr. 13.7: Ochrana vstupů a výstupů IO. a) záchytnými běžnými diodami, b) ochrana vstupů stabilizačními diodami.
13.4 Ošetření nevyužitých vstupů číslicových obvodů Jak již bylo řečeno, nevyužité vstupy číslicových obvodů je třeba ošetřit, tj. zajistit, aby na nich byly úrovně napětí odpovídající „dobré“ hodnotě O nebo I. Jde-li o nevyužité vstupy obvodů, které jsou v zapojení použity – například potřebujeme-li vytvořit šestivstupový člen NAND nebo nevyužíváme-li asynchronních vstupů klopných obvodů typu 7474, musíme dbát na to, jaká je vhodná úroveň napětí pro ošetření. Bývá to obvykle neaktivní úroveň, za kterou u součinových členů můžeme považovat úroveň odpovídající hodnotě I, u součtových členů hodnotě O, a u zmíněných asynchronních vstupů, které jsou inverzní, to bude úroveň H. V některých případech, můžeme dosáhnout podobného výsledku, připojením nevyužitého vstupu k jinému (využitému) vstupu. Úroveň L můžeme snadno zavést na nepoužité vstupy jejich uzemněním. Úroveň H by bylo možno analogicky zavést připojením vstupů na napájecí napětí. Při tom je nutno uvážit, zda tím nezhoršíme spolehlivost. Některé číslicové obvody (řady TTL STD aj.) mají uvedenu mezní hodnotu napájecího napětí vyšší než je mezní hodnota napětí na vstupech. Pro obvody TTL STD je to 7 V a 5,5 V. Připojením vstupů přímo na napájecí napětí se připravíme o rezervu, která v napájecím napětí je 2 V a snížíme ji na pouhých 0,5 V. Proto se doporučuje vřadit do spoje mezi ošetřovaným vstupem a vodičem napájecího napětí ochranný rezistor. Jeho odpor nesmí být větší než odpovídá úbytku napětí způsobeného maximální hodnotou vstupního proudu tak, aby na příslušném vstupu byla zajištěna správná hodnota H i při nejnižší přípustné hodnotě napájecího napětí. Při vstupním proudu nejvýše 40 µA tak vychází nejvyšší přípustná hodnota ochranného odporu kolem 50 kΩ, pro zajištění přiměřené rezervy se obvykle volí odpor s hodnotou 4,7 kΩ. Příklad vytvoření invertoru nevyužitím jednoho ze vstupů dvouvstupového obvodu NAND a NOR je nakreslen na Obr. 13.8.
146
Evropský polytechnický institut s. r.o, Kunovice U
CC
u1 u1
4K7
u2
1
u2
1
u1
&
u2
u1
&
u2
Obr. 13.8: Příklad vytvoření invertoru z obvodu NOR a NAND. Požadavky na hrany signálů. Průchody vstupního napětí číslicových obvodů přechodovou oblastí (oblastí napětí mezi L a H) mají být tak rychlé, aby nemohlo dojít ke vzniku zákmitů během těchto průchodů. Vzniknou-li zákmity, mohou u sekvenčních obvodů vyvolat nedefinované stavy. Nejvhodnější doba průchodů odpovídá tzv. vlastní době hrany, která je charakteristickou veličinou pro každou řadu číslicových obvodů. Vlastní doba hrany je doba hrany, která prošla několika obvody příslušné řady (prakticky jedním až dvěma, nevznikly-li přitom zákmity). Je-li na vstupu číslicového obvodu přechod rychlejší, než odpovídá vlastní době hrany, zpomalí se tato hrana při průchodu obvodem vlivem jeho konečného mezního kmitočtu. Je-li naopak hrana na vstupu pomalejší, zrychluje se při průchodu vlivem velkého zesílení obvodu. Pro určitou řadu číslicových obvodů můžeme vlastní dobu hrany experimentálně stanovit pomocí tzv. kruhového oscilátoru, který můžeme sestavit např. ze tří invertorů příslušné řady (Obr. 13.9). Má-li např. napětí u1 úroveň H, projde prvním invertorem s odpovídajícím zpožděním a vytvoří napětí u2 s úrovní L a s dalším zpožděním napětí u3 s úrovní H. Po uplynutí dalšího zpoždění přejde napětí u1 do úrovně L, takže se v obvodu vytvoří kmity. V kruhovém oscilátoru mají hrany trvání odpovídající vlastní době hrany a doba půlperiody kmitů odpovídá trojnásobku zpoždění použitých invertorů, takže můžeme tyto veličiny snadno změřit. Přivádíme-li na vstupy číslicových obvodů vnější signály s dobou hran podstatně větší než je vlastní doba hrany, je potřebné tyto signály upravit např. Schmittovým klopným obvodem, čímž se nebezpečí vzniku zákmitů odstraní. u1
1
u2
1
u3
1
Obr. 13.9: Kruhový oscilátor.
13.5 Zvláštní typy výstupů číslicových obvodů Vedle běžného uspořádání výstupů s dvojčinným charakterem se v číslicové technice používají i obvody s otevřeným kolektorem, u nichž je výstupu pouze tranzistor připojený mezi výstup a zem. Také obvody s třístavovým výstupem, u nichž je možno oba výstupní tranzistory zvláštním řídicím signálem zahradit (výstup chová jako rozpojený obvod). Úroveň H na výstupech obvodů s otevřeným kolektorem je nutno zajistit připojením vnějšího tzv. zdvihacího rezistoru Rp, mezi výstup a přívod napájecího napětí (Obr. 13.10). Číslicové obvody s otevřeným kolektorem poskytují některé dodatečné možnosti: • možnost realizace dodatečné logické funkce (montážní součin), • možnost propojení předem nespecifikovaného počtu výstupů (např. ke sběrnici), • možnost vytvoření výstupu s odlišným výstupním napětím v úrovni H než je napájecí napětí – převod signálu na vyšší nebo nižší napěťovou hodnotu v této úrovni.
Digitální technika
147 U
CC
U
CC
R1 4K0
a
R2 1K6
Rp
ua
ub
D1
D2
uy 0V
(a )
y
(b ) T4
R3 1K0
&
b
T2
T1
Rp
y = /( a.b)
a b /oe
&
y
OE
(c )
Obr. 13.10: Logický člen NAND – TTL STD. a) Obvodová struktura s otevřeným kolektorem (s naznačeným zdvihacím rezistorem), b) jeho schematická značka, c) schematická značka třístavového obvodu. Jejich nevýhodou je pomalý přechod do úrovně H (proud tekoucí rezistorem Rp je obvykle menší než proud tekoucí tranzistorem u dvojčinného výstupu, parazitní kapacity se tedy nabíjejí pomaleji) a zvýšený odběr při výstupu v úrovni L představovaný tímto proudem. Výstupy třístavových číslicových obvodů mohou být podobně jako výstupy obvodů s otevřeným kolektorem propojovány do sběrnicového uspořádání. Výhodný je zde rychlejší přechod do úrovně H a nezvýšený odběr v úrovni L. Komplikací je nutnost vytvořit řídicí signály pro výstupní zesilovače (signál /oe, tj. output enable na Obr. 13.10) a možnost poškození výstupů při konfliktu, aktivuje-li se při chybném řízení najednou více vzájemně propojených výstupů, které se snaží vytvořit odlišné výstupní úrovně.
13.6 Vazba mezi číslicovými obvody různých řad Obvykle se snažíme používat v jednom systému číslicové obvody jedné řady. Pak máme zaručeno, že pokud dodržíme zatížitelnost výstupů (a nedopustíme se nějaké konstrukční chyby), budou obvody správně pracovat. Pokud však musíme v jednom systému použít obvodů různých řad, je nutno přizpůsobit úrovně napětí. Požadavky na spolehlivé propojení obvodů s různým napájecím napětím lze rozdělit na statické a dynamické. Dynamické požadavky se týkají především strmosti hran signálů, jak bylo uvedeno výše. Není-li dostatečná, je možno použít například obvody se vstupem typu Schmittova klopného obvodu. Statické požadavky přestavují: • požadavky na správné úrovně napětí (L, H), • požadavky na zajištění dostatečného proudového vybuzení navazujících obvodů, • požadavky na dodržení mezních hodnot vstupních napětí. První dva z těchto požadavků úzce souvisejí, protože při přetížení výstupů obvykle dochází i k narušení napěťových úrovní. Třetí požadavek se týká především případů, kdy se přechází z části s vyšším napájecím napětím na část s nižší hodnotou tohoto napětí. Napěťové úrovně v řadách obvodů CMOS s napájecím napětím 5 V (4000 a 74HC), TTL STD a s napětím 3,3 V jsou uvedeny na Obr. 13.11. Tyto údaje jsou dány standardy pro číslicové integrované obvody [ 17 ]. Vstupní úrovně u řady 74HCT odpovídají úrovním TTL STD, výstupní úrovně této řady souhlasí s úrovněmi 5V CMOS.
148
Evropský polytechnický institut s. r.o, Kunovice 5V 4,44 V
VCC VOHmin
3,5 V
VIHmin
2,5 V
VT
1,5 V 0,5 V 0V
VCC
3,3 V
V
VILmax
2,4 V 2,0 V 1,5 V
VOHmin VIHmin VT
2,4 V 2,0 V 1,5 V
VOHmin VIHmin VT
VOLmax
0,8 V 0,4 V
VILmax VOLmax
0,8 V 0,4 V
VILmax VOLmax
GND
5V CMOS
Obr. 13.11:
5V
0V
GND
0V
TTL STD
CC
GND
LVTTL standard JEDEC 8-B
Napěťové úrovně v základních řadách číslicových obvodů.
Nejprve si blíže probereme propojení bipolárních obvodů řady TTL na obvody CMOS řady 4000 a řady 74HC a naopak. Přechod TTL (bipolární) → CMOS: • při společném napájecím zdroji – je nutno respektovat odlišné logické úrovně u řad TTL a CMOS 4000, HC (viz Obr. 13.11): − na výstup TTL je možno zapojit vstup 74HCT – vstupy obvodů řady 74HCT jsou kompatibilní s výstupy TTL, výstupy této řady jsou kompatibilní se vstupy obvodů CMOS řady 74HC a řady 4000 s napájecím napětím 5 V (při úrovni H odpovídající výstupnímu napětí TTL je zvýšen odběr navazujícího obvodu HCT z napájecího zdroje), nebo − užitím zdvihacího (pull-up) rezistoru lze zvýšit napětí na výstupu TTL tak, aby úroveň H odpovídala požadavkům obvodů CMOS (musíme počítat s nezanedbatelným odběrem tohoto propojení z napájecího zdroje v úrovni L); • při napájecích zdrojích s odlišným napětím (předpokládáme, že jde o přechod na obvody řady 4000 s vyšším napájecím napětím) – je třeba užít na výstupu TTL oddělovací člen s otevřeným kolektorem a s dostatečným dovoleným výstupním napětím, např. 74..06, ..07 (s povoleným napětím 30 V pro obvody řady LS). Přechod CMOS → TTL (bipolární): • při společném napájecím zdroji: obvody řady 4000 při napájení 5 V nedávají dostatečné výstupní proudy pro přímé připojení obvodů řady 74 standard, 74LS i mnohých dalších řad. Jako vazebního členu je zde možno použít např. oddělovače 4049 nebo 4050, které dovolují vyšší proudové zatížení než běžné obvody řady 4000. K výstupům obvodů řady 74HC nebo HCT je možno vstupy obvodů TTL připojit přímo; • při napájecích zdrojích s odlišným napětím: vstupy obvodů TTL (a většiny jiných číslicových obvodů) nesmějí být připojeny k výstupům obvodů s napětím vyšším než je jejich napájecí napětí. Oddělovače 4049 a 4050 jsou však na to konstruovány a je možno je k takovým výstupům připojit. Jejich napájecí napětí v tomto případě může být odebíráno ze zdroje napájení navazujících obvodů TTL. UDD
UCC R 1>
1 0V
CMOS 4000
4049, 4050
TTL 74
74..06, 74..07
CMOS 4000
Obr. 13.12: Vazba mezi obvody TTL a CMOS 4000. (Napájecí napětí UCC a UDD mohou mít odlišné hodnoty, často UDD ≥ UCC. Hodnota odporu R se volí zpravidla několik kiloohmů.)
Digitální technika
149
Často se dnes setkáme s požadavkem na přechod z části napájené ze zdroje 5 V na část s napájecím napětím 3,3 V a naopak. Zásady jsou zde podobné jako u přechodu z části CMOS s vyšším napájecím napětím na část s napájením 5 V a zpět. Některé řady s napájením 3,3 V však mají vstupy dovolující připojení přímo k výstupům obvodů napájeným ze zdroje 5 V. Takové vstupy se označují jako vstupy tolerující napětí 5 V (5 V tolerant inputs). Je to například řada 74LVX.. firmy SGS Thomson a další řady. Neumožňují to však všechny řady a při volbě typu je nezbytné ověřit potřebné údaje například na internetu. Podobné vlastnosti mají často i vstupy a výstupy složitějších obvodů, zejména obvodů PLD a FPGA. Velké obvody tohoto typu mají obvykle dva (nebo více) oddělené vývody napájecího napětí. Jeden z nich napájí tzv. jádro a další přivádí napájecí napětí k vstupněvýstupním blokům. Ty mohou mít odlišné napájecí napětí a lze je přímo připojit k napájecímu zdroji navazujících obvodů. Je-li takových vstupně-výstupních bloků v obvodu více, může se tak snadno propojovat několik částí s různými napájecími napětími, pro každý blok může být použito jiné napájení. Opačný přechod z části napájené napětím 3,3 V na část napájenou ze zdroje 5 V nečiní problémy, jsou-li navazující obvody takového typu, kde nemůže dojít k proniknutí napětí 5 V na budicí výstupy části s napájením 3,3 V. Běžné vstupy bipolárních obvodů TTL mají na nepřipojených vstupech napětí kolem 1,5 V, takže tuto podmínku splňují, a podle Obr. 13.11 jsou kompatibilní i napěťové úrovně, takže propojení může být přímé. Navazuje-li na část napájenou ze zdroje 3,3 V část CMOS s napájením 5 V, je vhodné použít k přizpůsobení napěťových úrovní například vložených členů typu HCT.
13.7 Požadavky na rozvod napájecího napětí v číslicových systémech Rozvod napájecího napětí má velký význam pro spolehlivou funkci číslicových systémů. Zde má klíčovou pozici stabilita nulového napětí (zemnicího přívodu) – bez splnění tohoto požadavku má stěží smysl mluvit o napěťových úrovních v systému. Proto je nutné dělat zemnicí přívody co nejširší. Ideální je jako zemnicí přívod použít celou jednu vrstvu vícevrstvého plošného spoje. To dnes je již téměř samozřejmým požadavkem v systémech využívajících moderní součástky – větší obvody PLD, mikropočítače a zejména velké obvody FPGA, ASIC a podobně. Pokud je to možné, je vhodné další vrstvu spoje vyhradit na přívod napájecího napětí, případně s jejím částečným využitím pro vedení krátkých spojů, které nebylo možno umístit do jiných vrstev. Z toho vyplývá požadavek pro použití aspoň čtyřvrstvových desek plošných spojů. Jsou sice výrazně dražší než dvouvrstvé, ale pokud se započítá do nákladů pracnost oživení a rekonstrukce případných nefunkčních vzorků nebo vzorků s projevy rušení, často se zjistí, že se šetření na nepravém místě nevyplácí. U moderních pouzder s malou roztečí vývodů se často ani nepodaří na dvouvrstvé desce realizovat všechny spoje a přitom dodržet výše uvedený požadavek na dostatečnou integritu přívodů napájecího napětí. Použití celé jedné vrstvy pro zemnicí přívod má i další výhody z hlediska rušení. Není v tomto případě složité dodržet požadavek na fyzicky blízké vedení zemnicí vrstvy a přívodů napájecího napětí, což zajišťuje malou možnost indukce nežádoucích rušivých signálů do těchto přívodů. Totéž však platí i o signálových spojích, které mají v tomto případě vcelku dobře definovanou hodnotu charakteristické impedance, která je důležitá zejména u moderních rychlých systémů s malou dobou hran signálů, a rovněž snížení možnosti ovlivnění rušivými signály a nežádoucími vazbami je zde velmi příznivé. Přesto i zde je potřebné používat pro snížení střídavé složky impedance napájecích přívodů blokovací kondenzátory – doporučuje se obvykle jejich vzájemná vzdálenost u hustě osazené desky
150
Evropský polytechnický institut s. r.o, Kunovice
kolem 3 cm, k citlivým bodům (napájecím přívodům obvodů s očekávanými většími skoky spotřeby a zejména s proudovými špičkami, jako je to u budičů sběrnic a podobně) dát takové kondenzátory do těsné blízkosti. Kondenzátory musí mít nepatrnou indukčnost a dobré vysokofrekvenční vlastnosti, nejčastěji se používají keramické kondenzátory v provedení SMD s kapacitou 10 až 100 nF. Na desku je pak nejlépe do blízkosti přívodu napájecího napětí desky vhodné umístit elektrolytický kondenzátor s kapacitou kolem 10 µF pro filtraci pomalejších složek napětí. Pokud se z jakýchkoliv důvodů rozhodneme pro desku s menším počtem vrstev než 4, je nezbytné snažit se aspoň co nejvíce se přiblížit popsanému provedení se čtyřvrstvou deskou. To znamená, že napájecí a zejména zemnicí vodiče by měly být co nejširší a jejich vzájemná vzdálenost co nejmenší, pokud možno by měly vést ke každému obvodu těsně vedle sebe. Blokovací kondenzátory a jejich vhodné rozmístění jsou pak ještě důležitější než u vícevrstvé desky.
13.8 Vlastnosti reálných spojů Rychlost šíření signálů běžnými izolovanými vodiči je cca 22 cm/ns, tj. 1 m za 4,5 ns; na plošném spoji je cca 16 cm/ns, tj. 1 m za 6 ns (nižší hodnota je způsobena dielektrickými vlastnostmi materiálů, na nichž jsou spoje realizovány). Je-li vzdálenost mezi zdrojem signálu a přijímacím obvodem taková, že doba šíření signálu tam a zpět je srovnatelná s dobou trvání nejstrmější hrany, je nutno na spoj pohlížet jako na dlouhé vedení. Aby v tomto případě nedošlo ke vzniku rušivých efektů vlivem odrazů, je potřebné, aby bylo vedení aspoň na jednom konci impedančně přizpůsobené. Vhodnější je dodržet délku menší. Orientační přehled největší délky spojů (lk), které je možno pokládat za krátké vedení, a typická doba trvání hran (thr) je uvedena v Tab. 13.1. Tab. 13.1: Maximální délka spojů a typická doba trvání hran. Řada: Označení: lk [m] thr [ns] TTL standard SN 74XX 0,5 5 TTL LS SN 74LSXX 0,6 6 TTL ALS SN 74ALSXX 0,4 5 TTL AS SN 74ASXX 0,15 1,8 CMOS HC SN 74HCXX 0,55 6 CMOS 4000B (5 V) CD 40XX 3 30 Výstupní impedance bipolárních číslicových integrovaných obvodů i obvodů CMOS mívá hodnotu desítek ohmů. Vstupní impedance bipolárních obvodů bývá řádu kiloohmů a více, u obvodů CMOS bývá prakticky nekonečná. Obvyklé hodnoty charakteristické impedance běžně provedených spojů jsou uvedeny v Tab. 13.2. Tab. 13.2: Charakteristická impedance běžných spojů. cca 150 Ω cca 70 Ω cca 200 Ω cca 600 Ω Přizpůsobení můžeme provést na výstupu budicího obvodu spoje nebo na vstupu přijímacího obvodu (za předpokladu, že spoj můžeme pokládat aspoň zhruba za homogenní vedení, tj. že spoj není rozvětvený či jinak není narušen jeho charakter jako homogenního vedení). náhodně vedené vodiče izolovaný vodič položený na zemnicí desce tentýž vodič 3 mm nad deskou tentýž vodič 6 m nad deskou
Digitální technika
151
Přizpůsobení na výstupu: do série s výstupem zařadíme rezistor s odporem cca 50 Ω. Tím se výstupní odpor přiblíží hodnotě charakteristické impedance. Tento způsob přizpůsobení je nejjednodušší a často vyřeší problémy zejména při přenosu signálů plochými vodiči (kabely PNLY a podobně), nepožadují-li se vysoké rychlosti přenosu. Na přijímací straně bývá vhodné použít obvody se vstupní hysterezí. Pro omezení přeslechů se doporučuje prokládat v kabelu sousední vodiče zemnícími vodiči, spojenými se zemí na obou koncích. Přizpůsobení na vstupu: je několik používaných možností, jako použití děliče 2x220 ohmů z VCC na zem, se středem připojeným ke vstupu. K buzení spoje pak musí být použit výkonový obvod. Nevýhodou je zvýšení odběru z napájecího zdroje. Také záchytné diody na vstupech, jako jsou diody D1 a D2 na Obr. 13.7, přispívají k potlačení odrazů. Pro realizaci delších spojů se používají speciální budiče a přijímače, jako obvody 75107 až 75110 a řada dalších. Tyto obvody nazývané obvody pro interface tvoří významnou část sortimentu číslicových obvodů a jejich popis i s aplikačními příručkami je možno získat například z internetu. Tab. 13.3: Přehled vlastností základních řad číslicových obvodů Tech nolo gie
Řada
Bipolární TTL
STD Schottky Lowpower Schottky Adv. LS Fast
Bipol. ECL
Unipolární CMOS
Adv. Schottky CD 4000
Označení 74XX 84XX 54XX 74SXX 84SXX 54SXX 74LSXX 84LSXX 54LSXX 74ALSXX 54ALSXX 74FXX 54FXX 74ASXX 54ASXX
HEF 4000B C
74CXX
HC HCT
74HCXX 74HCTXX
AC ACT
74ACXX 74ACTXX
AHC AHCT
74AHCXX 74AHCTXX
LV LVC ALVC LVT
74LV245 74LVC245 74ALVC245 74LVT245
spotřeba stat./100 kHz [mW/hradlo]
zpoždění typ.[ns]
spotř. zpožd. [pJ]
rozsah Ucc [V]
max.zatěž.(vst.) proud [mA]
-0,4/16 (0,04/-1,6)
V
-1/20 (0,05/-2)
IV-V
-0,4/8 (0,02/-0,4)
III (-IV)
-0,4/8 (0,02/-0,1) -1/20 (0,02/-0,6) -2/20 (0,02/-0,5)
II-III
10
10
100
19
3
57
2
10
20
1,2
4
4,8
4,75-5,25 4,75-5,25 4,5-5,5 4,75-5,25 4,75-5,25 4,5-5,5 4,75-5,25 4,75-5,25 4,5-5,5 4,5-5,5
3,5
2,3
8
4,5-5,5
8
1,7
13,6
4,5-5,5
0,001/0,1
75 (15V) 130 (5V) 20 (15V) 55 (5V) 35 (10V) 60 (5V) 45 (2V) 8 (6V) 10 6 (3V) 5 (5V) 5 5,5 (3,3V) 3,7 (5V) 5 9 4 2 2,4
0,1
3-15 3-15
IOH/IOL (IIH/IIL)
vývoj. fáze
II-III
V -/+2,4 (15V) -/+0,36 (5V)
III (-IV)
3-15
0,025
2-6 4,5-5,5 2-6 4,5-5,5 2-5,5 4,5-5,5 2,7-3,6 2,7-3,6 2,7-3,6 2,7-3,6
10 000
25
2
50
100 000
36
0,75
27
-/+0,02 (2V) -/+4 (4,5V) -/+4 -/+12 (3,3V) -/+24 (5V) -/+24 -/+4 (3,3V) -/+8 (5V) -/+8 -/+8 -/+24 -32/64
III
II-III
II II
152
Evropský polytechnický institut s. r.o, Kunovice
13.9 Přehled vlastností číslicových integrovaných obvodů V Tab. 13.3 jsou uvedeny hlavní vlastnosti základních řad číslicových integrovaných obvodů. Parametry, které jsou u různých členů jedné řady odlišné, jako zpoždění a podobně, jsou v tabulce uvedeny pro jednoduché logické obvody této řady (například pro dvouvstupové obvody NAND). Hodnoty parametrů je nutno chápat jako orientační, u různých výrobců se mohou i pro stejně označené řady v určité míře lišit. U bipolárních obvodů jsou uvedeny přípustné zatěžovací (výstupní) proudy a v závorce vstupní proudy ekvivalentních jednotkových vstupů (platné např. pro vstupy základních kombinačních obvodů). Zatěžovací proudy výkonových obvodů, popř. některých dalších složitějších obvodů se mohou lišit od hodnot uvedených v tabulce. Totéž platí o vstupních proudech, které u složitějších bipolárních obvodů mohou být násobkem uvedených hodnot. U obvodů CMOS jsou vstupní proudy nepatrné a v tabulce jsou uvedeny jen výstupní proudy; v závorce je uvedena hodnota napájecího napětí, při níž jsou obvody schopny dodat příslušný proud. LS 1
HC ALS 4000
04 04 04 GM GM TI
4049, 4069 GM
1
05 05 GM NS
.
1
14 14 . GM GM
LS
HC ALS 4000
00 00 00 GM GM TI
4011 GM
&
03 03 03 GM GM TI
.
4584 GM
&
37 . GM
.
.
02 02 02 GM GM TI
4001 GM
&
38 . GM
38 TI
.
33 . GM
33 TI
.
&
28 . GM
.
.
05 TI
&
LS
LS
HC ALS 4000
& 20 20 20 GM GM TI
HC ALS 4000
=1
86 86 86 GM GM TI
4030, 4070 GM
1
136 . GM
.
.
51 51 . GM GM
.
58 . GM
.
4012 GM
&
1
1
22 . GM
.
.
& 1 & & 1
&
132 132 . GM GM
4093 GM
08 08 08 GM GM TI
4081 GM
40 . GM
.
.
&
& 1 1
1
32 32 32 GM GM TI
4071 GM
&
&
09 09 GM TI
.
& 21 21 21 GM GM TI
4082 GM
&
.
& 1
. & &
1
27 27 27 GM GM TI
4025 GM
1
&
& .
.
.
4002 GM &
1 260 . GM
.
10 10 10 GM GM TI
12 . GM
.
. 11 11 11 GM GM TI
13 . GM
4023 GM
.
4073 GM
.
. & 1 &
& 30 30 30 GM GM TI (8 vstupů)
.
.
.
.
.
.
& 1 &
&
& 15 . GM
.
4068 GM
. &
55 . GM
133 133 133 . GM GM TI (13 vstupů)
&
.
64 TI (vyrábí se v řadě F)
& .
.
(8 vstupů)
Obr. 13.13:
.
4078 GM
Přehled logických členů vyráběných jako integrované obvody.
Na Obr. 13.13 jsou nakresleny kombinační logické členy vyráběné jako monolitické integrované obvody. Jsou zde uvedeny členy vyráběné v rámci dnes nejrozšířenějších řad: • v bipolární technologii: v řadách LS, ALS, • v technologii CMOS: v řadách HC, HCT a v řadě 4000. Některé tyto logické členy se nevyrábějí ve všech zmíněných řadách. Přehled o skutečně vyráběných logických členech lze získat z katalogů výrobců a distribučních firem. Výrobci uvádějí obvykle ve svých katalozích pouze ty členy, které sami vyrábějí. Na obrázku
Digitální technika
153
jsou nakresleny členy uvedené v katalogu distribuční firmy GM Electronic (označení GM), dále členy uvedené v katalogu Advanced Digital Logic Guide firmy Texas Instruments (označení TI) a v katalogu CMOS Logic Databook firmy National Semiconductor (označení NS). Logické členy, které v těchto pramenech nejsou uvedeny, jsou označeny tečkou. Jiné firmy mohou vyrábět i tyto obvody, popřípadě i některé další. Rovněž v průběhu doby lze očekávat určité změny ve výrobním programu jednotlivých výrobců, nebudou však patrně velké, nabídka je již vcelku ustálená.
13.10 1.
2.
3.
4.
5.
6. 7.
8.
Kritéria pro volbu řady číslicových obvodů
Při volbě typu číslicových obvodů pro určitou aplikaci jsou důležitá tato hlediska: Rychlost reakce. Je určena zpožděním tpd. U současných řad je zpoždění řádově jednotky až desítky nanosekund. Odběr z napájecího zdroje, tj. příkon p. Souvisí s potřebou nabití, popř. vybití parazitních kapacit. Čím větší je nabíjecí proud, tím rychlejší je obvod. Souhrnné kritérium – součin (p ⋅ tpd ). Při dané technologii výroby (tloušťka čáry apod.) je přibližně stejný při různých úrovních impedance v obvodu. Zvýšením odběru (např. snížením všech odporů) lze dosáhnout menšího zpoždění. Je však třeba zdůraznit, že nezávislost uvedeného součinu na úrovni impedance je pouze přibližná, ve skutečnosti je u různých řad lišících se touto úrovní (např. STD, H, L) hodnota součinu p ⋅ tpd dosti proměnná. Přesto se toto kritérium používá pro orientační hodnocení kvality různých řad číslicových obvodů. Odolnost proti rušení. Odolnost statická, daná rozdílem mezi hodnotami úrovní vstupních a výstupních napětí Odolnost dynamická, u níž se bere v úvahu i doba, za kterou je obvod schopen reagovat na rušivý impuls. Pomalejší obvody mají tedy větší dynamickou odolnost proti rušení než rychlejší obvody se stejnými statickými charakteristikami. Proto je vhodné volit v určité aplikaci řadu číslicových obvodů jen s takovou rychlostí, jaká je opravdu potřebná (pokud je taková řada dostupná). Logický zisk (zatížitelnost) je důležitá zejména tam, kde mají výstupy číslicových obvodů napájet zátěž odlišného charakteru, než jsou vstupy číslicových obvodů, například mají-li budit zobrazovače. Je-li k výstupu připojena zátěž kapacitního charakteru (rozsáhlejší sběrnice apod.), je zatížitelností určena rychlost změny napětí na zátěži, která někdy může být rozhodujícím požadavkem. Necitlivost na změny napájecího napětí. Popřípadě správná funkce v širokém rozsahu napájecího napětí. Komerční dostupnost a složení příslušné řady obvodů. existence vyráběných funkčních bloků, a to v celé předpokládané době výroby a života zařízení, nejen v době jeho vývoje. Cenová kalkulace.
Typický časový průběh života jednotlivých typových řad ČIO, tj. vyráběné množství za jednotku času a cena typického členu řady, je naznačen na Obr. 13.14.
154
Evropský polytechnický institut s. r.o, Kunovice I
II
III
IV
V
vyráběné množství za čas
cena
čas
Obr. 13.14:
Relace mezi vyráběným množstvím a cenou číslicových obvodů.
I – první vzorky, novinka předstihující současný stav, II – vzrůstající sériovost výroby, vylepšení technologie, III – hromadná výroba, dokonale propracovaná technologie, IV – snižování sériovosti, řada je nahrazována novějšími typy, V – zastaralost, výroba jen pro údržbu existujících zařízení. Rozhodujeme-li se, který typ číslicových obvodů pro určitou aplikaci použít, měli bychom vzít v úvahu předpokládanou dobu, během níž se zařízení bude vyrábět a provozovat. Proto bychom pro nové konstrukce měli zpravidla volit typ obvodů, které v době návrhu v etapě odpovídají skupině II nebo počátku skupiny III. Zvolíme-li obvody v pokročilejší fázi vývojové křivky, může se stát, že časem jejich cena vzroste a zhorší se jejich dostupnost a celková efektivnost se tím sníží, i když v době návrhu byly zvoleny obvody cenově nejpříznivější. V současné době prodělává číslicová technika prudký rozvoj, který se z hlediska uživatele týká především zvyšování rychlosti a snižování napájecího napětí. Nejnovější informace o nových řadách číslicových obvodů je možno najít na internetových stránkách výrobců. Význam těchto informací je nedocenitelný!
13.11
Shrnutí kapitoly 13
Pro vytváření číslicových systémů se používají IO vycházející z koncepce řad číslicových obvodů. Z nich nejznámější jsou řady patřící k bipolární třídě TTL a k třídě CMOS. Parametry základních řad těchto tříd, zejména napěťové úrovně, představují dnes standard, který zajišťuje propojitelnost mezi obvody standardu odpovídajícími. Charakteristiky obvodů bipolárních řad se přes různé technologické zvláštnosti jednotlivých řad vzájemně liší převážně jen kvantitativně. Pro bipolární obvody TTL je charakteristická hodnota napájecího napětí 5 V a skutečnost, že jejich převodní charakteristika a další s ní související charakteristiky jsou v napěťovém rozsahu daném nulovým a napájecím napětím položeny nesouměrně, s rozhodovací úrovní kolem 1,5 V. Mezi napájecím napětím a typickými hodnotami výstupního napětí úrovně H je rozdíl více než 1 V. Logický zisk (počet vstupů připojitelných k jednomu výstupu) je zde dán staticky, především poměrem mezi hodnotou vstupních a výstupních proudů propojovaných obvodů. U řad CMOS jsou tyto charakteristiky přibližně souměrné ke středu uvedeného napěťového intervalu. U nezatížených výstupů je výstupní napětí v obou úrovních blízké příslušné krajní hodnotě napětí. Vstupní proudy obvodů řad CMOS jsou obvykle řádu mikroampérů a méně, obvykle tedy zanedbatelné. Logický zisk je dán spíše požadavkem na dodržení dynamických vlastností signálů, tedy budicí schopností výstupu a parazitní kapacitou připojených vstupů včetně kapacity spojů. Pro spolehlivou funkci číslicových systémů je nezbytné dodržovat při jejich konstrukci určitá základní pravidla. K nejdůležitějším z nich patří požadavek na dodržení správných
Digitální technika
155
logických úrovní na vstupech, a to i u nevyužitých vstupů a u vstupů případných nevyužitých logických členů. Zejména u obvodů řad CMOS má nedodržení tohoto požadavku za následek přinejmenším výrazné zvětšení odběru z napájecího zdroje, u všech řad přitom lze očekávat zhoršení odolnosti proti rušení. Velmi důležitým je také požadavek na stálost napájecího napětí a zejména na udržení dostatečně nízké střídavé složky impedance napájecího zdroje, což lze zajistit připojením filtračních kondenzátorů do přívodů tohoto napětí. U obvodů vysoké integrace (FPGA, ASIC aj) je vhodné přinejmenším pro zemnicí přívod vyhradit jednu vrstvu plošného spoje, a pro napájecí napětí pokud možno druhou vrstvu. Další informace lze najít v citované literatuře [ 8 ], [ 9 ], [ 12 ], [ 16 ]. Dále pak v technických listech ([ 18 ], [ 19 ]) a aplikačních bulletinech výrobců. Nejnovější informace o nových řadách číslicových obvodů je možno hlavně najít na internetových stránkách výrobců.
13.12
Kontrolní otázky
1) Jakou řadu číslicových obvodů byste použili pro konstrukci číslicového systému tam, kde je požadován co nejmenší odběr z napájecího zdroje? 2) Co je potřebné u těchto obvodů dodržet, aby se spotřeba zbytečně nezvyšovala? 3) Které obvody jsou nejcitlivější na statickou elektřinu?
156
Evropský polytechnický institut s. r.o, Kunovice
14 Polovodičové paměti Cíle kapitoly: Poskytnout studentům přehled o principu, vlastnostech a základních parametrech polovodičových pamětí používaných v současných číslicových obvodech.
14.1 Základní pojmy V předchozích kapitolách jsme se již seznámili s číslicovými obvody, které uchovávají zpracovávané informace. Nejjednodušší (jednobitovou) paměť lze realizovat bistabilním klopným obvodem. Větší paměť lze pak realizovat paměťovým registrem, sestaveným z více KO. Paměťové členy můžeme sestavit do pravidelných řad a sloupců, tvořící matici (pole). Při čemž přístup do jednotlivých buněk zajistí doplňkové kombinační obvody. To je základ složitých komerčně dostupných IO, které lze nazvat polovodičovými paměťmi. Polovodičové paměti mají následující rozlišovací znaky. V prvé řadě záleží na principu činnosti, výrobní technologii, způsobu ukládání informací, možnosti zápisu a čtení dat, organizaci přístupu do paměti aj. Základními parametry pamětí jsou: kapacita (množství informace v bitech), počet bitů ve slovech nebo-li šířka sběrnice, doba cyklu (nejkratší možný čas mezi opětovným vyvoláním stejné adresy), doba přístupu (Read Access Time), doba dekódování adresy (Address SetupTime), délka zápisového cyklu (Write Cycle Time), doba zápisu (Data Wrote Time) a vybavovací doba čtení.
14.2 Rozdělení pamětí Polovodičové paměti dělíme na tyto základní skupiny: 1) RVM (Read Write Memory), a. RAM (Random Acces Memory), i. SRAM (Static RAM), ii. DRAM (Dynamic RAM), b. FIFO (First In - First Out), c. LIFO (Last In - First Out), 2) ROM (Read Only Memory), a. PROM (Programable ROM), b. EPROM (Erasable ROM), c. PEROM, d. EEPROM (Electrically Erasable ROM), e. FLASH. RVM je skupina pamětí určených pro čtení a zápis. Po vypnutí napájecího zdroje uložená data se neuchovají (následným zapnutím se objeví náhodné rozložení dat). Doba zápisu a čtení jsou přibližně stejně dlouhé. v mikropočítačových systémech pro dočasný zápis a uložení výsledků operací. Z nich RAM se používají nejčastěji. Umožňují snadnou operaci s daty (zapsat, číst, smazat, nahradit) s rychlým přístupem na libovolné místo paměti. Odpojením napájecího napětí se však veškerá data ztratí. RAM se používají jako operační nebo vyrovnávací paměti. Statické paměti SRAM patří mezi standardní prvky ČIO. Paměťovou buňku zde tvoří KO realizovaný BJT nebo FETy. Výhoda SRAM oproti DRAM je v tom, že není nutno obsah paměti oživovat. V současnosti se SRAM vyrábějí již se značnou kapacitou, avšak menší než u DRAM. Na čipu SRAM zabírají více místa a mají větší odběr výkonu z DC zdroje než
Digitální technika
157
DRAM. Přístupová doba je krátká. U dynamických pamětí DRAM tvoří paměťovou buňku pracovní kapacitory (využívají se parazitní CGS MOSFETů) a nositeli informací jsou jejich náboje. Ty však nemají trvalý charakter a musí být v pravidelných intervalech obnovovány (refresh). DRAM se v současnosti nejvíce používají k dosažení obrovské kapacity operační paměti počítače. Dosahují vysoké hustoty integrace. Vyžadují složitější řízení a komplikovanější napájení. V současnosti se vyrábějí jako čtyřbitové. Typ paměti FIFO se vyznačuje tím, že data mohou být z paměti čtena pouze v tom pořadí, v jakém byla uložena (první dovnitř, první ven). U typu LIFO je tomu opačně. U těchto pamětí není třeba externího adresování buněk. Každou zapsanou informaci je možné přečíst pouze jednou, pak je ztracena. FIFO se používají jako různé paměti na krátkou dobu, např. registrová paměť, vyrovnávací paměť komunikačních nebo periferních kanálů, k realizaci systému front apod. LIFO se převážně používá jako vratný zásobník. Od předchozích pamětí se skupina ROM výrazně liší tím, že slouží pouze ku čtení pevně uložených dat. Je předurčena k úschově dat různých programů a konstant, k realizaci převodníků kódů, generátorů znaků apod. Po odpojení napájecího napětí se data neztrácí. Je pevně naprogramována z výroby (složitý časově náročný proces). PROM se dodává jako naprogramována a programuje si ji až zákazník (ve zvláštním zařízení). Pak se chová jako ROM a nejde ji znovu naprogramovat. U paměti EPROM lze uložená data vymazat (jako celek) ultrafialovým zářením a paměť znovu naprogramovat. Paměťové buňky zde tvoří MOSFETy, opatřené tzv. plovoucí bránou P (nemá přívodní vodič), která je odizolována od kanálu FETu i od vstupní elektody G. Při programování se přivede napětí mezi elektrody G a D. Následkem lavinovitého jevu proniknou elektrony přes vrstvičku oxidu k bráně P, kde se shromáždí záporný náboj. Tím se posune prahové napětí FETu a indukuje se vodivá cesta mezi elektrodami S a D, takže FET je otevřen. V předchozím stavu, bez zmíněného náboje byl FET nevodivý. Při mazání ultrafialové záření (přivádí se přes okénko z křemenného skla) indukuje do P energii, umožňující postupné (řádově desítky minut) rozptýlení shromážděných elektronů. Tento úkon se provádí po vyjmutí EPROM se zařízení. Paměť EPROM můžeme přímo nahradit typem PEROM (je s ní kompatibilní). Rozdíl je mezi nimi v mazání. PEROM se maže elektronicky v daném zařízení vybaveným příslušným softwarem. U typu EEPROM není třeba při mazání a programování vyjímat paměť ze systému. Proces probíhá přímo na čipu, bez pomocného zařízení. Vnitřní uspořádání je však mnohem složitější, čemuž odpovídá i větší velikost pouzdra IO. Významný pokrok ve vývoji pamětí EEPROM je typ FLASH (mžiková paměť). Liší se hlavně kratší dobou zápisu a jednodušší vnitřní strukturou. Je považována za nejperspektivnější druh, s využitím hlavně pro externí paměti v přenosných zařízeních. Blíže jednotlivé typy pamětí rozebereme v následujících kapitolách.
14.3 Realizace paměťových buněk RAM Základním elementem pamětí je paměťová buňka. Z metodických důvodů si její činnost objasníme na dnes již klasické SRAM vyrobené bipolární technologii. Buňka na obr je tvořena bistabilním KO (kap. Xx), který je složen ze dvou víceemitorových BJT. Více emitorů je potřeba k řízení funkce tohoto obvodu, aby bylo možno vybrat jistou konkrétní buňku z matice buněk. To se řídí sběrnicemi adres X, Y, které jsou uspořádány vzájemně kolmo. Řádkům matice je přidělena adresa X, sloupcům adresa Y. Přivedeme-li úroveň H na jistou konkrétní sběrnici X a také na jistou Y (ostatní budou mít úroveň L), pak pouze u jednoho KO (jisté jediné buňky) budou mít tranzistory na odpovídajících dvou emitorech úroveň H (nebudou zemněny). Jestliže i některý třetí emitor připojený na datové sběrnice (D, E ) bude mít také úroveň H, bude tento tranzistor nevodivý (např. T2). Díky kladné zpětné vazbě (viz princip KO) je druhý tranzistor (T1) stržen do vodivého stavu a sběrnicí D teče
158
Evropský polytechnický institut s. r.o, Kunovice
proud. Sběrnicí E připojenou k zavřenému T2 naopak proud neteče. Zesilovač připojený k datovým sběrnicím zaregistruje tento stav a předá tuto informaci dalším obvodům. Tak došlo k procesu čtení buňky.
Realizace paměťové buňky SRAM technologii BJT.
Realizace paměťové buňky SRAM technologii CMOS.
s dvojicí víceemitorových BJT u bipolární technologie nebo 4 až 6 MOS FETů v unipolární technologii
14.4 Kontrolní otázky 4) Jaký způsob realizace byste použili pro logickou funkci dvou proměnných? 5) Jaké riziko může vzniknout při použití speciálních obvodů pro realizaci kombinačních logických funkcí?
Digitální technika
159 programovatelné pole OR
y výstupní
m
ym - 1
zesilovač
N
k xn
úplný
=2
y2
n
y1
N -1
kN - 2
součtové linky pole OR
dekodér
x2 x1
k
1
k0
vstupní linky pole OR (mintermy)
Obr. 14.1: Principiální struktura paměti PROM. Princip paměti PROM je naznačen na Obr. 14.1. Ze vstupních proměnných x1, x2, ..., xn se úplným dekodérem vytvářejí všechny mintermy představující vstupní linky pole OR, jejichž počet je N = 2n pro n vstupů. Z těchto mintermů se diodovými obvody vytvářejí v součtových linkách jejich logické součty. V sérii s každou diodou je zapojena propojka, která se při programování může přerušit nebo ponechat. Mintermy, jejichž propojka byla přerušena, se ve výsledném součtu neobjeví. Můžeme si tak vybrat, které mintermy při programování paměti do součtu zařadíme, takže principiálně pro naprogramování stačí, máme-li požadovanou funkci zadánu pravdivostní tabulkou. Funkce se tedy realizuje na základě úplného součtového tvaru zápisu. Není ji třeba minimalizovat, což však znamená, že tato realizace je značně neúsporná, protože značný počet mintermů zůstává vždy nevyužitý. Aby se vytvořené mintermy lépe využily, bývá v pouzdru realizováno obvykle více součtových linek, takže mintermy jsou užity ve všech z nich pro realizaci tolika funkcí, kolik součtových linek je v poli vytvořeno (na Obr. 14.1 je to m funkcí, nejčastěji to bývá 8 funkcí). Nákres na Obr. 14.1 vystihuje jen princip funkce paměti. Ve skutečnosti by realizace programovatelného pole ve tvaru dlouhého úzkého pruhu byla technologicky obtížná. Proto se využívá složitějších obvodových uspořádání, které dovolují pole vytvořit tak, aby se jeho tvar blížil čtvercovému. Přesto uvedený náčrt vystihuje vlastnosti paměti PROM uspokojivě.
160
Evropský polytechnický institut s. r.o, Kunovice
15 Literatura [1]
KOLOUCH, J. Impulsová a číslicová technika. Elektronická skripta FEKT VUT v Brně, 2002.
[2]
MIKULA, V., VRBA, K.: Impulsová a číslicová technika. Skriptum VUT v Brně. Brno, 1995.
[3]
KOLOUCH, J.: Programovatelné logické obvody a modelování číslicových systémů v jazycích ABEL a VHDL. Skriptum ÚREL FEI VUT v Brně. Brno, 2000. PINKER, J. POUPA, M.: Číslicové systémy a jazyk VHDL. BEN – technická literatura, Praha, 2006.
[4] [5]
HÁJEK, J.: Časovač 555 – praktická zapojení. BEN – technická literatura, Praha 1998.
[6]
HUMLHANS, J.: Monolitické IO pro funkční generátory I. Rádio plus KTE, č. 9, 1999, s. 22.
[7]
HUMLHANS, J.: Monolitické IO pro funkční generátory III. Rádio plus KTE, č. 11, 1999, s. 28.
[8]
JEDLIČKA, P.: Přehled obvodů řady TTL 74 – I. a II. díl. BEN – technická literatura, Praha 1998.
[9]
JEDLIČKA, P.: Přehled obvodů řady CMOS 4000 – I. a II. díl. BEN – technická literatura, Praha 1998.
[ 10 ] JÁNEŠ, V.: Logické systémy I. Skriptum FE ČVUT v Praze. Ediční středisko ČVUT Praha, 1986. [ 11 ] EYSSELT, M.: Logické systémy. Učební text FEI VUT v Brně. Ediční středisko VUT, Brno 1990. [ 12 ] TIETZE, U., SCHENK, CH.: Electronic Circuits Design and Applications. SpringerVerlag Berlin, Heidelberg 1991. [ 13 ] PUNČOCHÁŘ, J.: Operační zesilovače v elektronice. BEN – technická literatura, Praha 1999. [ 14 ] MALINA, V.: Poznáváme elektroniku VIII – digitální technika. Kopp nakladatelství, České Budějovice, 2006. [ 15 ] PODLEŠÁK, J., SKALICKÝ, P.: Spínací a číslicová technika. Skriptum ČVUT v Praze, Ediční středisko ČVUT Praha, 1994 [ 16 ] WAKERLY, J. F.: Digital design – principles and practices. Prentice Hall, New Persey 2001 [ 17 ] Interface Standard for Nominal 3V/3.3V Supply Digital Integrated Circuits. JEDEC - developer of standards for the solid-state industry, dokumenty jesd8b.pdf a jesd36.pdf, dostupné na: http://www.jedec.org/download/search/jesd8b.pdf. [ 18 ] TTL ALS, AS Data Book. Texas Instruments, dostupné na: http://www.ti.com. [ 19 ] CMOS Logic Databook. National Semiconductor, dostupné na: http://www.national.com.