2017.05.07.
NORMÁL BCD KÓD
DIGITÁLIS TECHNIKA Dr. Lovassy Rita Dr. Pődör Bálint
Természetes kód - Minden számjegyhez a 4-bites bináris kódját rendeli - Természetes helyérték: 8 4 2 1
Óbudai Egyetem KVK Mikroelektronikai és Technológia Intézet
Érvényes kódszavak
d = 8a4 + 4a3 + 2a2 +1a0
3. ELŐADÁS
A hat nem megengedett kombináció (1010, ... 1111) neve pszeudotetrád. Nem használt, illetve érvénytelen kódszavak 1
2
PSZEUDOTETRÁDOK AZONOSÍTÁSA A KARNAUGH TÁBLÁN
BCD (8421) ÖSSZEADÁS
C
Példa:
B 1
1
1
1
A
Minimalizálás után
decimális
P=AB +AC
427 + 131 —— 558
Hibajelző:
A B
1 D
1
A
0100 0010 0111 + 0001 0011 0001 ———————— 0101 0101 1000
Mivel egyetlen helyértéken sem volt az összeg 9-nél nagyobb, ezért korrekcióra nem volt szükség
& 1 &
C
3
BCD ÖSSZEADÁS: +6 KORREKCIÓ 789 + 213 —— 1002
BCD
4
BCD (8421) ÖSSZEADÁS ALGORITMUSA
0111 1000 1001 + 0010 0001 0011 ———————— 1001 1001 1100 + 0110 +6 korrekció ———————— 1001 1010 0010 + 0110 +6 korrekció ———————— 1010 0000 0010 + 0110 +6 korrekció ———————— 1 0000 0000 0010
ABCD +BCD BBCD = ABCD +bin BBCD ha ABCD +bin BBCD ≤ 9 ABCD +BCD BBCD = ABCD +bin BBCD +bin 6BCD ha ABCD +bin BBCD > 9
5
6
1
2017.05.07.
BCD KÓDÚ ÖSSZEADÁS Átvitel két dekád között
ELŐÍRT TANKÖNYV-IRODALOM
Decimális 6 (bináris 0 1 1 0) korrekció
A + B > 9. érvénytelen kódszó
Sorrendi hálózatok, flip-flopok, regiszterek, számlálók, stb. C4
B3 B2 B1 B0
B3 B2 B1 B0
C4
„0”
&
„0”
Bináris összeadó A3 A2 A1 A0
A3 A2 A1 A0
1
C0
Arató: Logikai rendszerek ..., 158-189.old.
B3 B2 B1 B0
Zsom: Digitális technika I, 318-345 old.
Bináris összeadó
&
A3 A2 A1 A0
S3 S2 S1 S0
„0”
C0
S3 S2 S1 S0
Rőmer: Digitális rendszerek ..., 98-116 old.
S3 S2 S1 S0
Rőmer: Digitális ... példatár, 30-36 old.
„0”
7
8
ELEMI SZINKRON TÁROLÓELEM (FLIP-FLOP) MŰKÖDÉSE
ELEMI SORRENDI HÁLÓZATOK Kombinációs hálózatok: elemi kombinációs hálózatokból azaz kapukból építhetők fel.
A logikai vezérlés hatása mindaddig nem érvényesül a kimeneten, amíg az órajel el nem indítja a flip-flop belső állapotváltozásait.
Sorrendi (szinkron és aszinkron) hálózatok: szintén felépíthetők elemi sorrendi hálózatokból (is). Elemi sorrendi hálózatok: önmagukban igen egyszerű logikai feladatok megoldására képesek csak, egy szekunder változójuk van. Tehát csak két állapotuk van, bemeneteik száma egy vagy kettő. Nevük billenőkör, bistabil multivibrátor, tároló, vagy flip-flop.
Ezen tranziens folyamat ideje alatt nem szabad a hálózat logikai vezérlését változtatni. Az órajel periódusideje hosszabb legyen mint a leghosszabb tranziens ideje.
9
FLIP-FLOPOK (TÁROLÓK)
FLIP-FLOPOK (TÁROLÓK) MŰKÖDÉSE
Kétállapotú billenő elemek, flip-flop-ok (bistabil multivibrátor, billenőkör). Leggyakrabban használt flip-flopok (logikai működés szerint): S-R (vagy R-S) flip-flop J-K flip-flop T flip-flop D flip-flop
10
set-reset
- Az aszinkron működésű tárolók állapotváltozása a bemenetre adott vezérlőjel hatására közvetlenül jön létre a késleltetési idő elteltével. - A szinkron (órajellel vezérelt) flip-flopok állapotváltozása csak akkor jön létre, ha a szinkronizáló (óra, CLOCK) bemenetükre megérkezik az órajel.
toggle delay, data
Mindegyik szinkron módon működik, de az S-R flip-flop működhet aszinkron módon is. 11
12
2
2017.05.07.
TÁROLÓK ÉS FLIP-FLOPOK: JELÖLÉSEK
FLIP-FLOPOK: STATIKUS ÉS DINAMIKUS VEZÉRLÉS
Q
D CK
A FF-ok vezérlése kétféle lehet: statikus vagy dinamikus.
CK
- A statikus vezérlő bemenetekre a vezérlési táblázat szerint logikai 0 vagy logikai 1 egyenszinteket kell adni az állapotváltozás létrehozására. - Dinamikus vezérlés: a FF billenése a dinamikus vezérlő bementre adott jel meghatározott irányú változásának hatására jön létre (“élre” billenő, edge-triggered).
Q
D
D
>CK
(b)
Q
>CK
(c)
(d)
Amplitude
(a) CK: órajel
Q
D
Time Cycle time = 25 ns
13
(a) CK=1, (b) CK=0 szint esetén írja be D-t, (c) CK emelkedő, (d) CK lefelé menő élénél. Sokszor S (set, PR preset), R (reset,CLR clear) be- és Q# kimenet is van.
14
SET-RESET (S-R) FLIP-FLOP (1)
S-R FLIP-FLOP: BEVEZETÉS Az S-R (set-reset) flip-flop a digitális rendszerekben használt egyik legegyszerűbb tároló, amely egy kombinációs hálózat direkt visszacsatolásával, azaz aszinkron sorrendi hálózattal valósítható meg.
Egyszerű igazságtábla S R Qn+1 —————— 0 0 Qn 0 1 0 1 0 1 1 1 X
- Két bemenet: set, reset és két kimenet - Visszacsatolt kapcsolás - Három megengedett és egy tiltott állapot - A megengedett állapotok stabilak - A tiltott állapot instabil lehet
15
S-R FLIP-FLOP S = R = 1 ESET
SET beírás, RESET törlés, függetlenül attól, mi volt az előző állapota. Definiált működés: S = 1 a FF állapotát 1-re állítja be, a vezérlés megszűnése után is 1-ben marad R = 1 a FF állapotát 0-ra állítja be, és 0ban is marad Ha egyidejűleg S és R értéke 0 akkor az állapot nem változik (billenés nem történik), a flip-flop az előző állapotát tárolja, (állapotmegőrzés).
Ha S és R egyidejűleg 1 akkor a FF működése definiálatlan, tehát ez a vezérlési mód logikailag tiltott.
16
S-R FLIP-FLOP (2) Összetett igazságtábla
S = R = 1 esetén nincs definiálva a kimenet, ezért ez a bemeneti kombináció nem megengedett. Ennek ellenére egy adott implementáció nyilván jól definiált értéket produkál a kimeneteken. Pl. a NOR alapú megoldás mindkét kimeneten 0-át a NAND alapú megoldás 1-t azonban mindkét esetben a két kimenet nem lesz egymás komplemense, mindkettő 1 illetve 0 lesz.
17
S R Qn Qn+1 —————————— 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 tiltott 1 1 1 tiltott 18
3
2017.05.07.
J-K FLIP-FLOP (1)
J-K FLIP-FLOP (2)
- Bizonyos szempontból az RS FF tovább bővített változata.
S
J
R
K
Definiált működés: J K Qn+1 —————— 0 0 Qn 0 1 0 1 0 1 _ 1 1 Qn
- Vezérlési funkciót rendel az RS FF tiltott vezérlési kombinációjához is. - Megfeleltetés:
Egyszerű igazságtábla
J = 1 a FF állapotát 1-re állítja be, K = 1 a FF állapotát 0-ra állítja be, Ha J és K értéke egyidejűleg 0 akkor az állapot nem változik.
Ha J és K egyidejűleg 1 akkor megcseréli (komplementálja) a FF megelőző tartalmát. 19
J-K FLIP-FLOP (3)
20
J-K FLIP-FLOP: IDŐDIAGRAM
Összetett igazságtábla J K Qn Qn+1 —————————— 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0
állapotmegőrzés állapotmegőrzés nullázás nullázás beírás beírás komplementálás komplementálás 21
T (TOGGLE) FLIP-FLOP T A T (TOGGLE, ~ kb. ide-oda billen) flip-flop egyetlen vezérlő bemenettel rendelkező tároló elem. A T bemenetre jutó aktív vezérlés a tároló állapotát az ellenkezőjére változtatja. A J-K FF-ból származtatható, ha a J és K bemeneteket összekötve képzeljük.
22
A D FLIP-FLOP (1) J y
Z
K
T Qn Qn+1 ———————— 0 0 0 0 1 1 1 0 1 1 1 0
A D (DELAY) flip-flop Q kimenetének állapota az (n+1)-ik ütemben az lesz, ami a D előkészítő bemenet állapota volt az n-edik ütemben: Qn+1 = Dn
23
24
4
2017.05.07.
A D FLIP-FLOP (3)
A D FLIP-FLOP (2)
- flip-flopot valamilyen értéket megtartó regiszter (latch) felépítésére használják.
Igazságtábla és karakterisztikus egyenlet n-edik
(n+1)-edik ütem
Qn+1 = D
D Qn Qn+1 ———————— 0 0 0 0 1 0 1 0 1 1 1 1
- Pl. egy digitális mérőműszer egy kijelzésének megtartására mindaddig, amíg a műszer egy újabb mérést nem produkál.
Az (n+1)-edik ütemben felvett állapot független attól, hogy mi volt a FF állapota az n-edik ütemben. A FF nem emlékszik az előző állapotára!
25
26
2 független D flip-flop: MSI Vcc 14
13
12
D
FLIP-FLOPOK A GYAKORLATBAN
11
10
CLR Q
D
>CK #Q
2
3
8
CLR Q
>CK #Q
PR
1
9
PR
4
5
6
7
GND 27
Közös CK-val vezérelt 8 bites D flip-flop: regiszter Vcc
20
19
18
17
16
15
14
13
12
D Q
D Q
D Q
D Q
>CK
>CK
>CK
>CK
CLR
CLR
CLR
CLR
28
FÉLVEZETŐS REGISZTEREK: BEVEZETÉS
11
• Funkciójuk több bitnyi, rövid ideig rendelkezésre álló információ tárolása egy meghatározott ideig (tároló regiszterek). • A flip-flopok 1 bit információ tárolására alkalmasak, tehát egy n bit információ tárolásra alkalmas regiszter n db flip-flopból áll.
1
CLR >CK
CLR
CLR
CLR
>CK
>CK
>CK
D Q
D Q
D Q
D Q
2
3
4
5
6
7
8
• Az információt csak folyamatos, megadott tűréshatáron belüli tápfeszültség érték mellett tudják megőrizni. 9
10 29
30
GND
5
2017.05.07.
BEÍRÁS ÉS KIOLVASÁS MÓDJAI (1) • A regiszterek olyan szekvenciális hálózatok,amelyekbe az adatokaz órajel segítségével sorosan és/vagy párhuzamosan beírhatók. • •Az adatokkal relatív helyváltoztatást tudnak elvégezni (shift-léptetés), és az adatok belőlük sorosan és/ vagy párhuzamosan kiolvashatók. • •A regiszterrel elvégzendő műveletet pl.: beírás, léptetés, rotálás, stb. • •A regiszterek megvalósításához általában átlátszó, vagy élvezérlésű D vagy J-K tárolókat használnak.
párhuzamos beírás és kiolvasás
soros-párhuzamos bemenet, soros kimenet
Soros bemenet illetve kimenet: az információ hely-értékről helyértékre továbbítódik, így a szomszédos helyértékek között áramköri kapcsolat van. 32
BEÍRÁS ÉS KIOLVASÁS MÓDJAI (2)
REGISZTEREK FAJTÁI Felhasználás és felépítés szerint két csoport:
soros beírás, párhuzamos kiolvasás
- tároló regiszterek; - léptető regiszterek (shift register).
soros bemenet és kimenet
soros-párhuzamos bemenet és soros-párhuzamos kimenet
A beírandó, illetve a kiolvasandó információt kapuzni is lehet: 33 kapuzott be-, illetve kimenetű regiszter.
TÁROLÓ REGISZTEREK ALKALMAZÁSA
TÁROLÓ REGISZTEREK
D1
Q1
D2
Q2
D3 D4
Q3 Q4
CLR CLK
34
• Feladatuk adott, rövid ideig meglévő több bites információ tárolása. Az információ bitjei a kimeneten egyenként, közvetlenül és folyamatosan hozzáférhetők. • Félvezetős integrált (MSI) regiszterek az információt csak folyamatos, megadott tűréshatáron belüli tápfeszültségérték mellett tudják megőrizni.
Két szám soros összeadása.
B m CLR Cp B
n 35
A
n Cp A
Σ (bin)
1. B regiszter nullázása (CLR B); 2. A regiszter feltöltése az első összeadandóval m (Cp A); 3. Az eredmény betöltése Összeg a B regiszterbe (Cp B); 4. A regiszter feltöltése a következő összeTúlcsor- adandóval (Cp A); 5. A 3. és 4. pont dulás ismétlése, amíg van összeadandó. 36
6
2017.05.07.
TÁROLÓ REGISZTEREK: FELHASZNÁLÁSI TERÜLETEK • A léptetőregiszter flip-flopok olyan lánca, amely lehetővé teszi, hogy a bemenetére adott információ minden egyes órajel hatására egy flip-floppal tovább lépjen. A bemeneti jel késleltetve, de változatlanul jelenik meg a kimeneten.
• aritmetikai egységekben, számlánc és kijelző között; • kód és jelkonverziós műveleteknél; • μP-os áramkörök input/output tárolóiként; • aritmetikai/logikai egységek (ALU) közbenső tárolóiként; • egyéb tárolást igénylő helyeken.
• A léptetőregiszterek esetén a soros és párhuzamos beírás és kiolvasás, valamint a kétféle léptetési irány miatt sokféle típus állítható elő.
37
LÉPTETŐ REGISZTER (D-FF) ALKALMAZHATÓ TÁROLÓK A léptetőregiszterekben az ún. közbenső tárolású típusú flipflopok (pl. master-slave) alkalmasak. Az ún. átlátszó tárolótípus erre a célra nem felel meg, mert a bemenetre adott információ azonnal végigfutna az egész regiszteren már az első órajel hatására. A megfelelő működés érdekében (minden léptetési parancsra egy és csakis egy léptetés) feltétlenül órajelvezérelt flip-flopokat kell alkalmazni.
39
40
JOBBRA LÉPTETŐ REGISZTER J-K FLIP-FLOPOKBÓL A
B
C
SHIFTREGISZTER MINT SZÁMLÁLÓ Léptető regiszterből sokféle módon lehet számlálót kialakítani.
D
DATA IN JA
Q
CP KA
JA
Q
CP _ Q
KA
JA
Q
CP _ Q
KA
JA
Q
• Gyűrűs számláló • Johnson számláló • Álvéletlenszám generátor
CP _ Q
KA
_ Q
Közös alapelv: a léptető regiszter kimeneteit egy kombinációs hálózaton keresztül visszavezetik a soros bemenetre.
CLK CLR 41
42
7
2017.05.07.
SZÁMLÁLÓK TULAJDONSÁGAI
ASZINKRON ÉS SZINKRON SZÁMLÁLÓK Csoportosítás működés
Számlálási irány:
⊙ - ból:
• előre vagy felfele számláló (up counter): minden bemenő impulzus eggyel növeli a tárolt értéket;
• Aszinkron számláló:
• hátra vagy lefele számláló (down counter): minden bemenő impulzus eggyel csökkenti a tárolt értéket;
A számlálandó jel csak elindítja a soron következő állapotváltozást. Az egyes flip-flopok egymást vezérlik, billentik. Az óra-impulzusok sorosan terjednek.
• kétirányú (fel-le vagy reverzibilis) számláló (up-down counter): a beérkező impulzusokat a vezérléstől függően előre vagy visszafelé számolja.
• Szinkron számláló: Az egyes flip-flopok egymást kapuzzák, a számlálandó impulzusok párhuzamosan a közös szinkronbementre jutnak. Az órajel a kapuzástól független. 43
44
SZÁMLÁLÓK FELHASZNÁLÁSI TERÜLETEI
GYŰRŰS REGISZTER (1)
• számlálás;
adat
X3
X2
X1
X0
• frekvenciaosztás;
léptetés • sorrendi áramkörök vezérlése; A gyűrűs regiszter jellemzője a visszacsatolás, utolsó bit kimenete az első bit bemenetére van kötve. Az egyszer beleírt értékét minden órajelnél a következő bit helyre lépteti. A recirkulációs (gyűrűs) regiszterben az órajel cirkulációban tartja a bináris információt, melyet párhuzamosan lehet beírni. Nevezik gyűrűs számlálónak is.
• matematikai műveletvégzés stb.
45
GYŰRŰS SZÁMLÁLÓ
Sok fontos áramkör vezérlőjeként nyer felhasználást.
46
GYŰRŰS SZÁMLÁLÓ
A gyűrűs számlálónál a visszacsatoló kombinációs hálózat egy darab drót.
Ilyen jelsorozatokkal pl. vezérlési feladatok oldhatók meg. Hasonló kimeneti sorozatot pl. egy számlálóval címzett dekóderrel is elő lehet állítani, azonban ennek hátránya, hogy a dekóder bementén egynél nagyobb Hamming távolságúak is lehetnek ez egymást követő címek így ezeknél az átmeneteknél funkcionális hazárd léphet fel (tranziensnyi időre olyan kimenet is aktivizálódhat, amelynek nem kellene).
Kódolás: Qa
Qb
Qc
Qd
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1 47
48
8
2017.05.07.
JOHNSON (MÖBIUS) SZÁMLÁLÓ
JOHNSON (MÖBIUS) SZÁMLÁLÓ
A visszacsatoló hálózat egyetlen inverter. Így 0 kezdeti érték mellet a számláló először feltölti magát egyesekkel, majd nullákkal. Kódolás:
Állapot dekódolás: két-bementű ÉS kapu és inverterek. __ __ Pl. 0000 (0) Qa Qd __ 1000 (1) QaQb stb. Az így előállított kimenet nem lesz hazárdos, mivel az egymást követő kódok szomszédosak.
Qa, Qb, Qc, Qd: 0000, 1000, 1100, 1110, 1111, 0111, 0011, 0001
49
50
ÁLVÉLETLENSZÁM GENERÁTOR • Egy n bites léptető regiszterből a maximális (2n-1) hosszúságú moduló számláló nem mindig a soros bemenettől legtávolabbi két bit KIZÁRÓ-VAGY kapcsolatából áll elő. Vannak ettől eltérő esetek is, amikor két közbenső bit visszacsatolása adja a
=1
A 0
B 0
C 0
D 1
legnagyobb hosszt.
Szekvencia: (1) 0001, (8) 1000, (4) 0100, (2) 0010, (9) 1001, (12) 1100, (6) 0110, (11) 1011, (5) 0101, (10) 1010, (13) 1101, (14) 1110, (15) 1111, (7) 0111, (3) 0011.
ÁLVÉLETLENSZÁM GENERÁTOR A kódszavak sorrendje véletlenszerű. Fokozatok száma 3 4 5 6 7
Állapotok száma 3 15 31 63 127
Visszacsatolás helye 3, 2 4, 3 5, 3 6, 5 7, 6
(ld. Benesóczky Z., Digitális tervezés funkcionális elemekkel ...) A 16-bit Fibonacci LFSR http://en.wikipedia.org/wiki/Linear_feedback_shift_register
54
9