1. fejezet: bevezetésmazsola.iit.uni-miskolc.hu/~vajo/digitalia/eloadasfoliak/dd2e_vahid...miért...
TRANSCRIPT
1
Digitális Rendszerek
1. Fejezet: Bevezetés
Slides to accompany the textbook Digital Design, with RTL Design, VHDL, and Verilog, 2nd Edition,
by Frank Vahid, John Wiley and Sons Publishers, 2010. http://www.ddvahid.com
Copyright © 2010 Frank Vahid
Instructors of courses requiring Vahid's Digital Design textbook (published by John Wiley and Sons) have permission to modify and use these slides for customary course-related activities, subject to keeping this copyright notice in place and unmodified. These slides may be posted as unanimated pdf versions on publicly-accessible course websites.. PowerPoint source (or pdf with animations) may not be posted to publicly-accessible websites, but may be posted for students on internal protected sites or distributed directly to students by other electronic means. Instructors may make printouts of the slides available to students for a reasonable photocopying charge, without incurring royalties. Any other use requires explicit permission. Instructors may obtain PowerPoint source or obtain special use permissions from Wiley – see http://www.ddvahid.com for information.
2
Miért Tanuljuk meg a Digitális Rendszereket?• Ha a számítógép dobozát kinyitjuk, akkor:
– Megértjük az egységek közötti kapcsolatot --=> Önbizalom a „belső szervek műtétjénél”, => programozáskor a hardver ismerete előny
• Egyre nagyobb méreteket ölt digitalizált világ– Egyre nagyobb fokú integráltság– Lehetőség:
• Jobb minőségű eszközök: hang rögzítők, videokamerák, autók, telefonok, orvosi műszerek,...
• Új lehetőségek: Video játékok, simogatós-telefönök, ...
– Más ismert elnevezés: „Beágyazott Rendszerek”• Évi több millió termék• Tervező mérnökök hiánya: potenciális karrier
lehetőség.
1995
Hordozhatólejátszók
1997
Műhold
1999
Mobil Telefonok
2001
DVDlejátszó
Videórrögzítés
Elektronikushangszerek
2003
Kamerák TVk ???
2005 2007• A megjelenés éve és elterjedésük
1.1
3
Mit jelent a “Digitalális” Szó?• Analóg jel
– Folytonos jel• Pl: A mikrofon kimenetén
megjelenő váltakozó feszültség
valu
e
time
valu
etime
microphone
Soundwaves
which movesthe magnet,
which createscurrent in the nearby wire
move themembrane,
Analóg jel
3 421
2 Digitális jel
• Digitális jel– Véges (két) értékű jel
• Pl: billentyűzet nyomógombjának állapota
01234
Lehetséges értékek:1.00, 1.01, 2.0000009, ... infinite possibilities
Lehetséges értékek :0, 1, 2, 3, or 4.That’s it.
1.2
a
a
4
Két (2) értékű Bináris Jelek• Binary – bináris - digitális jel – csak
két lehetséges értéke van– Általában 0 és 1 értékű jel– Egy binary digit – bináris digit az egy bit– A továbbiakban csak bináris digitális
jelekkel foglalkozunk– A bináris jel közkedvelt mert:
• Az áramkörök alapvető eleme a Tranzisztor, kapcsoló üzemű működése során csak 2 feszültség értéket veszünk figyelembe (lásd Chpt. 2)
• Két feszültség érték tárolása/továbbítása sokkal könnyebb mint három vagy több értéké (azaz, hangos beep vagy halk beep, visszaverődés vagy elnyelés)
valu
e
time
10
5
Digitalizálás Előnyei
• Az analóg jel minősége csökkenhet (e.g., audio, video)– A feszültség értékek mentése,
másolása, továbbítása nem tökéletes
• A Digitalizált jel mentése, másolása, továbbítása majdnem tökéletes.– Mintavételezéssel (megfelelő T
mintavételezési periódus)“ csökkenti a minták számát és a mintavételezés gyakoriságát
– A Feszültség szintek egy adott intervallumban mozognak
– Ezért megkülönböztethető a 0 és az 1
time
Vol
ts
01
2
3
original signal
leng
thy
tran
smis
sion
(e.g
, cel
l pho
ne)
time01
2
3
received signal
How fix -- higher, lower, ?
leng
thy
tran
smis
sion
(e.g
, cel
l pho
ne)
01 10 11 10 11
same
01 10 11 10 11
Vol
ts
digitized signal
time0
1
a2d
Vol
ts
01
2
3d2aMegfelelő kódólással:
1 V: “01” 2 V: “10” 3 V: “11”
time
Can fix—distinguish 0s/1s, restore
0
1
Nagyobb mintavételezési gyakoriságÉs jobb minőségű (több bites) kódolás javítja a Jel visszaállítás minőségét
a
A jel visszaállítása nem tökéletesAz adott minta miatt a2d and d2a
6
Digitization Benefit: Can Store on Digital Media
10 100100 11 11 11 01 10 10 000
1
2
3
Volts
analog signalon wire
time
0001101011111101101000
analogtodigitalconverter
samples
digitized signalmicrophone
wire
(a)
0001101011111101101000 read from tape, CD, etc.
digitaltoanalogconverter
wire
speaker
10 100100 11 11 11 01 10 10 000
1
3
Volts
analog signalreproduced fromdigitized signal
time
2
(b)
a
Store on CD, USB drive, etc. No deterioration.
7
Digitalizált Hang: A tömörítés előnyei• A digitalizált hang
tömörítehető– lásd MP3– Tömörítés nélkül legalább 20
dal írható CD-re– Tömörítéssel nagyjából 200
dal írható a CD-re
• Az adatok tömörítését digitalizált képek tárolásánál is alkalmazzuk (jpeg), (mpeg), stb.
• A digitalizálásnak egyéb előnye is van.
0000000000 0000000000 0000001111 1111111111
10000001111
Example compression scheme:00 means 000000000001 means 1111111111
1X means X
a
00 00 01
8
Hogyan ábrázoljuk (kódoljuk) a digitális rendszer adatait?
• Egyes bemenetek természetükből eredően binárisak– nyomógomb: not pressed
(0), pressed (1)• Egyes bemenetek
természetükből eredően digitálisak– Értelemszerűen binárisan
kódoljuk– Pl.: még több nyomógomb
kód: red=001, blue=010, ...• Más bemenetek: analóg
– analóg-digitális átalakítás– Lásd előző fóliákat –
mintavételezés kódolás
0
button
1
green blackbluered
0 00
red
0 10
green blackblue
1 00
green blackbluered
temperaturesensor
air
0 0 1 10 0 0 0
33 degrees
a
Érzékelők ésbemenetek
Digitális rendszer
Végrehajtó elemekés kimenetek
A2D
D2A
analógJel/jelenség
villamosjelek
digitálisjelek
digitálisjelek
villamosjelek
digitálisjelek
digitállisjelek
9
Szöveg ábrázolása (kódolása): ASCII, Unicode• ASCII: karakterek,
szimbólumok 7 vagy 8 bites kódolása
• Unicode: egyre népszerűbb 16 bites kódolás– Különböző
nyelvek (abc) kódolása
Kérdés: Mit jelent a következő ASCII szekvencia?
1010010 1000101 1010011 1010100
R E S Ta
Sample ASCII encodingsSymbolEncoding
010 0000 <space>␠010 0001 !010 0010 "010 0011 #010 0100 $010 0101 %010 0110 &010 0111 '010 1000 (010 1001 )010 1010 *010 1011 +010 1100 ,010 1101 010 1110 .010 1111 /
SymbolEncoding100 1110 N100 1111 O101 0000 P101 0001 Q101 0010 R101 0011 S101 0100 T101 0101 U101 0110 V101 0111 W101 1000 X101 1001 Y101 1010 Z
100 0001 A100 0010 B100 0011 C100 0100 D100 0101 E100 0110 F100 0111 G100 1000 H100 1001 I100 1010 J100 1011 K100 1100 L100 1101 M
SymbolEncoding
SymbolEncoding
011 0000 0011 0001 1011 0010 2011 0011 3011 0100 4011 0101 5011 0110 6011 0111 7011 1000 8011 1001 9
110 0001 a110 0010 b ...111 1001 y111 1010 z
10
Számok bináris ábrázolása - számrendszerek• A helyérték egy adott mennyiséget
képvisel (x1; x10; stb); az adott helyértéken lévő szimbólum = azt adott mennyiség hányszorosa– Tízes „alapú” (decimális - decimal)
• Tízes szimbólumok: 0, 1, 2, ..., 8, és 9• Ha K> 9 – a következő helyértéken
ábrázoljuk– => minden helyérték 10 hatványa
• A 10-es számrendszert azért használjuk, mert 10 ujjunk van. (?!)
– Kettes számrendszer (binary-bináris)• 2 szimbólum: 0 és 1• Ha K>1 – következő helyértéken
ábrázoljuk– Tehát minden helyérték 2 hatványa
szerinti
24 23 22
1 0 1
21 20
104 103 102
5 2 3
101 100
Q: How much?+ =
4 1 5+ =
a
11
Digitális adatok használata a Digitális Rendszerekben
temperature sensor
0 0 1 10 0 0 0 "33"
Digital System
display N
"N"1 0 00 1 1 1
if (input <= "00100000") // "32"
output = "1000110" // "F"
else if (input >= "11010100") // "212"
output = "1000010" // "B"
else
output = "1001110" // "N"
• Digitális Hőmérséklet mérés – az mérés eredménye bináris
• A rendszer beolvassa a hőmérséklet bináris értékét, az eredményt ASCII kódban ábrázoljuk:– “F” – hideg - freezing (0-32)– “B” – forró - boiling (212 < T)– “N” - normális - normal
• A kijelző átalakítja (convert) az ASCII kódot a megfelelő kijelző szimbólumra
a
12
Konverzió: Bináris szám => Decimális szám• Összeadjuk a súlyozás értékeit ahol 1-es van
– 12 = 1*20, vagy 110.
– 1102 =1*22 + 1*21 + 0*20, vagy 610. hatványra emelés után:
1*4 + 1*2 + 0*1, or 6. – 100002 = 1*16 + 0*8 + 0*4 + 0*2 + 0*1, vagy 1610.
– 100001112 = 1*128 + 1*4 + 1*2 + 1*1 = 13510. Megjegyzés: kihagytuk a 0 értékű „súlyokat”
– 001102 egyenértékű 1102 — a nagyobb helyértéken lévő 0 nem változtatja a számértéket.
a
24 23 22 21 2029 28 27 26 25
16 8 4 2 1512256128 64 32
16 8 4 2 1512 256 128 64 32Gyakorlat teszi a mestert! Hatványozzunk! 2n
„Hasznos” hatványok 2:a
13
Konverzió: Decimális szám => Bináris szám
• 2k hatványú helyértékre 1-et írunk. A 2k hatványú összeg = N-el A helyértékeket összegezzük
16 18 4 20
16 18 4 28
1
16 18 4 212
1 1
16 18 4 2vége 1 1 00
016 > 12, too big;A 24 helyérték 0
8 <= 12, tehátA 23 helyérték 1,Összeg = 8
8+4=12 <= 12, tehát22 helyérték 1,Összeg = 12
Konverzió vége N = 12,21 = 0 és 20 = 0
Decimális számN: 12
Összegsum
Binárisszám
(a)
(d)
(c)
(b)0
0
0
a
14
Konverzió: Decimális szám => Bináris szám
• Példa egy kompakt ábrázolásra
• 23-• 16• 7-• 4• 3-• 2• 1-• 1• 0
16 18 4 20
1
Decimálisszám: 23
Binárisszám
(a)
(d)(c)
(b)
sum:16
0
1620
1 1
2223
1
(e)
a
15
Példa: DIP-Switch által vezérelt csatorna• A ventilátor
vevőjének címe gyári beállítás szerint “73”
• Csak akkor érzékel ha cím= 73
• A vezérlés engedélyezés a DIP kapcsoló bináris értékétől függ (73)
channel receiver
Ventilátorvezérlő
0
if (InA = InB) Out = 1else Out = 0
0 1 0 10 1 0 0"73"
DIP switch
10
0 0 1 00 0 0 1
InA InB
Out
Desired value: 73
4
0 0
2
1
116
0
8
1
32
0
64
1
128
0
64 72 73sum:
"34"
(b)(a)
(c)
a
Q:
16
Hexadecimális számrendszer (16 alapú)
• Elönyos a 4 bites ábrázolás miatt • A Bináris számok tömör ábrázolása• hexadecimal, vagy hex
164 163 162
8 A F
8
100010101111
A F
161 160
0000
0001
0010001101000101
01100111
0
1
2345
67
hex binary
1000
1001
1010101111001101
11101111
8
9
ABCD
EF
hex binary
Q: Write 11110000 in hex
F 0 a
Q: Convert hex A01 to binary
1010 0000 0001
a
17
Konverzió: Decimális szám => Hex szám• Módszer: előszőr felírjuk a szám bináris értékét, majd
átalakítjuk hex – re
Példa: 9910 = ? H
1. lépés: Bináris konverzió:0 1 10 011
4 2 116 83264128
0
2. lépés: Bináris => hex:
6 3
(Ellenőrzés - Quick check: 6*16 + 3*1 = 96+3 = 99)
a
a
a
18
Példa Hex ábrázolásra: RFID bélyeg• Elektromágneses tér által táplált bélyeg –
rádiófrekvenciás azonosító RFID– Egyedi azonosító számot küld– Példa: 32 bites azonosító (id)
• 8-bit tájegység száma, 8-bit ország száma, 16-bit állat száma• A bélyeg binárisan tárolja az adatokat• DE a programozók a HEX-et használják írásra/olvasásra
writing/reading
RFIDtag
Province # City # Animal #
Province: 7 City: 160 Animal: 513
1010000000000111 00000010 00000001
A007 02 01
Tag ID in hex: 07A00201
(a)
(b)
(c)(d)
(f)
(e)
19
Konverzió: Binaris -ról/ra: összegezés módszere
BinaryDecimal
16 8 4
0 1 0
2 1
1 1
16 + 8 + 2
To decimal
To hex
1 1010
= 2610
= 1A16
To octal
11 010= 328
2610
To binary
4
0 1
2
0
116
1
8
1
1616+8= 24 24 24+2
= 26
20
Általános Konverzió: Osztással – Automatikus átalakítási módszer• A Hányadost addig osztjuk kettővel míg nulla nem lesz• Decimális szám konverziója binárisra (példa)
1. Divide decimal number by 2 Insert remainder into the binary number Continue since quotient (6) is greater than 0
2. Divide quotient by 2 Insert remainder into the binary number Continue since quotient (3) is greater than 0
01
18
14
02
01
14
02
01
01
02
Decimal Binary
122–12
0
6
62–6
0
3
3. Divide quotient by 2 Insert remainder into the binary number Continue since quotient (1) is greater than 0
32–2
1
1
4. Divide quotient by 2 Insert remainder into the binary number Quotient is 0, done
12–0
1
0
(current value: 12)
(current value: 4)
(current value: 0)
(current value: 0)
Note: Works for any base N—just divide by N instead
21
Byte, Kilobyte, Megabytes, és a többi• Byte: 8 bit• Nagyobb egységek:
– kilo (ezer vagy 103), mega (millió vagy 106), giga (milliárd vagy 109), és tera (trilliárd vagy 1012), pl.: kilobyte vagy KByte
• DE!!! A metrikus töbszörösöket helytelenül használják mert:– 216 = 65536 = “64 Kbyte”– Tipikus használati hiba a memória kapacitás leírásánál
• Megkülönböztetjük a “KB” = kilobyte és “Kb” = kilobit fogalmakat. FIGYLELJÜNK ODA!
22
Digitális Rendszerek megvalósítása: Microprocesszor programozás vagy Digitális áramköri tervezés?
• Mikroprocesszor gyakori választás a digitális feladatok megvalósításában– Könnyű programozni– olcsó (ár < $1)– Kereskedelemben
kapható
I3I4I5I6I7
I2I1I0
P3P4P5P6P7
P2P1P0 void main()
{ while (1) { P0 = I0 && !I1; // F = a and !b, }}
0F
b
a
1
0
10
1
6:00 7:057:06 9:009:01 time
Feladat: Éjszakai mozgásérzékelőMikroprocesszoros
megvalósításMegvalósítás
digitális áramkörrel
1.3
23
Digitális Tervezés: Amikor a Microprocesszor (uP) nem a jó megoldás
• uP olcsó, elérhető DE:– Nem mindig gyors– Vagy túl nagy– Vagy melegszik (nagy a
disszipált teljesítmény)– Vagy drága
– Jelőlés: IC – integrated Circuit– Azaz integrált áramkör
Feladat: Szárny dőlésszög vezérlő
• uP-vel a szükséges számítási idő 50 ms
• Digitális IC-vel a szükséges számítási idő 5 ms
Ha 100 végrehajtási ciklus/s akkor:
• 100 * 50 ms = 5000 ms = 5.0 s
• 100 * 5 ms = 500 ms = 0.5 s
A Mikroprocesszor túl lassú, IC JÓ (OK).
24
Digitális Tervezés: Amikor a Microprocesszor (uP) nem a jó megoldás• Rendszerfeladatok felosztása
mikroprocesszor feladatok, digitális áramköri feladatok:
• Pl. fényképezés (a)
Micro-processor
(Read,Compress,and Store)Memory
Image Sensor
(b)
(c)
Kép mintavételezési feladat (kép/s) :
Q: How long for each implementation option?
a
5+8+1=14 sec
.1+.5+.8=1.4 sec
.1+.5+1=1.6 sec
Good compromise
Readcircuit
Compresscircuit
Memory Storecircuit
Image Sensor
Compresscircuit
Microprocessor
(Store)
Memory
Image Sensor
Readcircuit
Task Microprocessor
Custom Digital Circuit
Olvasás 5 0.1
Tömörítés 8 0.5
Tárolás 1 0.8
25
Összefoglalás - Chapter Summary• A Digitális rendszerek mindenhol ott vannak
– (Sz)ámítógépek– Minden elektronikus eszközben ott vannak (beágyazott rendszerek)
• A Digitális rendszerek a bináris rendszeret használják (0 és 1)– Analóg jelek átalakítása digitálissá – elönyök/ hátrányok
• Pl: audió — jobb átviteli minőség tárolás/átvitel, tömörítés, stb.
– Kódolás 0 és 1: bináris számok
• Mikroprocesszorok (digitális gép) nagyon sok digitális rendszert valósít meg - könnyen és olcsón
• A uP nem mindig jó megoldás — felhasználó által tervezett áramkörök