Vysoká škola bá ská – Technická univerzita Ostrava
íslicová a mikroprocesorová technika u ební text
Petr Palacký
Ostrava 2007
Mikropo íta ové ídicí systémy I. .
Recenze: Ing. Martin Kucha , Ph.D.
Název: %íslicová a mikroprocesorová technika Autor: Petr Palacký Vydání: první, 2007 Po et stran: 122 Náklad: Vydavatel a tisk: Edi ní st edisko VŠB – TUO Studijní materiály pro studijní obor Elektronika fakulty Elektrotechniky a informatiky Jazyková korektura: nebyla provedena. Ur eno pro projekt: Opera ní program Rozvoj lidských zdroj9 Název: E-learningové prvky pro podporu výuky odborných a technických p edm;t9
%íslo: CZ.O4.01.3/3.2.15.2/0326 Realizace: VŠB – Technická univerzita Ostrava Projekt je spolufinancován z prost edk9 ESF a státního rozpo tu %R © Petr Palacký © VŠB – Technická univerzita Ostrava ISBN 978-80-248-1494-0
2
Mikropo íta ové ídicí systémy I. .
POKYNY KE STUDIU Mikropo íta ové 1ídicí systémy I Pro p edm;t Mikropo íta ové ídicí systémy I 5. semestru oboru Elektronika jste obdrželi studijní balík obsahující • • • • •
integrované skriptum pro distan ní studium obsahující i pokyny ke studiu CD-ROM s doplHkovými animacemi vybraných ástí kapitol harmonogram pr9b;hu semestru a rozvrh prezen ní ásti rozd;lení student9 do skupin k jednotlivým tutor9m a kontakty na tutory kontakt na studijní odd;lení
Prerekvizity Pro studium tohoto p edm;tu se p edpokládá absolvování p edm;tu Elektronika Cílem p1edm4tu je seznámení se základními pojmy Mikroprocesor, mikropo íta , ídicí systém apod. Po prostudování modulu by m;l student být schopen provést analýzu a syntézu mikropo íta ových ídicích systém9. Pro koho je p1edm4t ur en Modul je za azen do bakalá ského studia obor9 Elektrické stroje p ístroje a pohony a Aplikovaná a komer ní elektronika studijního programu Elektrotechnika Elektrotechnika, sd;lovací a výpo etní technika , ale m9že jej studovat i zájemce z kteréhokoliv jiného oboru, pokud splHuje požadované prerekvizity. Skriptum se d;lí na ásti, kapitoly, které odpovídají logickému d;lení studované látky, ale nejsou stejn; obsáhlé. P edpokládaná doba ke studiu kapitoly se m9že výrazn; lišit, proto jsou velké kapitoly d;leny dále na íslované podkapitoly a t;m odpovídá níže popsaná struktura. P1i studiu každé kapitoly doporu ujeme následující postup:
as ke studiu: xx hodin Na úvod kapitoly je uveden as pot ebný k prostudování látky. %as je orienta ní a m9že vám sloužit jako hrubé vodítko pro rozvržení studia celého p edm;tu i kapitoly. N;komu se as m9že zdát p íliš dlouhý, n;komu naopak. Jsou studenti, kte í se s touto problematikou ješt; nikdy nesetkali a naopak takoví, kte í již v tomto oboru mají bohaté zkušenosti.
Cíl: Po prostudování tohoto odstavce budete um;t • • •
popsat ... definovat ... vy ešit ...
3
Mikropo íta ové ídicí systémy I. .
Ihned potom jsou uvedeny cíle, kterých máte dosáhnout po prostudování této kapitoly – konkrétní dovednosti, znalosti.
1.1.1 VÝKLAD Následuje vlastní výklad studované látky, zavedení nových pojm9, jejich vysv;tlení, vše doprovázeno obrázky, tabulkami, ešenými p íklady, odkazy na animace.
Na záv r kapitoly jsou zopakovány hlavní pojmy, které si v ní máte osvojit. Pokud n kterému z nich ješt nerozumíte, vra te se k nim ješt jednou.
Pro ov; ení, že jste dob e a úpln; látku kapitoly zvládli, máte k dispozici n;kolik teoretických otázek.
Úlohy k 1ešení Protože v;tšina teoretických pojm9 tohoto p edm;tu má bezprost ední význam a využití v databázové praxi, jsou Vám nakonec p edkládány i praktické úlohy k ešení. V nich je hlavní význam p edm;tu a schopnost aplikovat erstv; nabyté znalosti p i ešení reálných situací hlavním cílem p edm;tu.
1.1.2 KLÍ K =EŠENÍ Výsledky zadaných p íklad9 i teoretických otázek výše jsou uvedeny v záv;ru u ebnice v Klí i k ešení. Používejte je až po vlastním vy ešení úloh, jen tak si samokontrolou ov; íte, že jste obsah kapitoly skute n; úpln; zvládli.
Úsp;šné a p íjemné studium s touto u ebnicí Vám p eje autor výukového materiálu Petr Palacký
4
Mikropo íta ové ídicí systémy I. .
Obsah ÍSLICOVÁ A MIKROPROCESOROVÁ TECHNIKA............................... 1 Petr Palacký......................................................................................................................................... 1
PREREKVIZITY ................................................................................................ 3 CÍLEM P=EDMDTU ......................................................................................... 3 1.1.1 VÝKLAD ........................................................................................................................ 4 Úlohy k ešení ..................................................................................................................................... 4 1.1.2 KLÍ% K PEŠENÍ............................................................................................................. 4
1
ZÁKLADNÍ POJMY ÍSLICOVÉ TECHNIKY ..................................... 8 Výklad ............................................................................................................................................. 8 1.1 Logické funkce a jejich zápis .................................................................................................. 8 1.2 Minimalizace prost ednictvím Karnaughových map ............................................................ 10 Shrnutí pojm9 1................................................................................................................................. 12 Otázky 1 ............................................................................................................................................ 12
2
REALIZACE LOGICKÝCH LENI A JEJICH VLASTNOSTI ....... 13 Výklad ........................................................................................................................................... 13 2.1 Šumová imunita..................................................................................................................... 16 2.2 Zásady práce s obvody TTL.................................................................................................. 17 2.2.1 Ošet#ení nevyužitých vstup& .......................................................................................... 17 2.2.2 P#ipojování vstup& nevyužitých logických obvod&........................................................ 17 2.2.3 Úpravy vstupních logických signál&.............................................................................. 17 2.2.4 Tvarovací obvody .......................................................................................................... 18 2.2.5 Výstupy logických /len& ................................................................................................ 19 2.2.6 Rozvod logických úrovní................................................................................................ 20 2.2.7 Rozvod spole/ného vodi/e............................................................................................. 21 2.2.8 Buzení dlouhého vedení................................................................................................. 22 Shrnutí pojm9 2................................................................................................................................. 24 Otázky 2 ............................................................................................................................................ 24
3
POJEM MIKROPO ÍTA A MIKROPROCESOR............................. 26 Výklad ........................................................................................................................................... 26 3.1 Základní struktura mikropo íta e.......................................................................................... 26 3.2 Struktura mikroprocesoru...................................................................................................... 27 3.2.1 6adi/.............................................................................................................................. 28 3.2.2 Soubor registr&.............................................................................................................. 28 3.2.3 Aritmeticko-logická /ást................................................................................................ 29 3.3 Základní innost mikroprocesoru.......................................................................................... 30 3.3.1 :asování mikroprocesoru ............................................................................................. 30 3.3.2 Instruk/ní soubor........................................................................................................... 30 3.3.3 Zp&soby adresování....................................................................................................... 32 3.4 P erušení................................................................................................................................ 34 Shrnutí pojm9 3................................................................................................................................. 36 Otázky 3 ............................................................................................................................................ 36
4
SBDRNICE .................................................................................................. 37 Výklad ........................................................................................................................................... 37 4.1 Adresová sb;rnice ................................................................................................................. 37 4.2 Pídicí sb;rnice....................................................................................................................... 38 4.3 Datová sb;rnice ..................................................................................................................... 38 Shrnutí pojm9 4................................................................................................................................. 42 Otázky 4 ............................................................................................................................................ 42
5
ADRESNÍ DEKODÉRY ............................................................................ 43 5
Mikropo íta ové ídicí systémy I. . Výklad ........................................................................................................................................... 43 5.1 Dekodér pro úplné dekódování adresy .................................................................................. 44 5.2 Adresový dekodér s neúplným dekódováním adres.............................................................. 45 5.3 Adresový dekodér s lineárním p i azením adresy ................................................................. 46 Shrnutí pojm9 5................................................................................................................................. 49 Otázky 5 ............................................................................................................................................ 49
6
VZÁJEMNÝ STYK MIKROPO ÍTA E S PERIFERIEMI................ 50 Výklad ........................................................................................................................................... 50 6.1 Pízení komunikace ................................................................................................................ 50 6.2 Programové ízení komunikace............................................................................................. 51 6.3 Pízení komunikace pomocí p erušení ................................................................................... 52 Shrnutí pojm9 6................................................................................................................................. 53 Otázky 6 ............................................................................................................................................ 54
7
DRUHY P=ENOSU DAT .......................................................................... 55 Výklad ........................................................................................................................................... 55 7.1 Obvody vstupu a výstupu ...................................................................................................... 57 7.2 Chyby p enosu a jejich redukce ............................................................................................ 58 7.3 Sériová rozhraní .................................................................................................................... 59 7.3.1 Rozhraní RS232............................................................................................................. 59 7.3.2 Rozhraní RS422............................................................................................................. 60 7.3.3 Rozhraní RS485............................................................................................................. 61 7.3.4 Proudová smy/ka .......................................................................................................... 61 7.3.5 Rozhraní USB ................................................................................................................ 62 7.3.6 Rozhraní SPI.................................................................................................................. 64 7.3.7 Rozhraní I2C .................................................................................................................. 65 Shrnutí pojm9 7................................................................................................................................. 68 Otázky 7 ............................................................................................................................................ 68
8
POLOVODI OVÉ PAMDTI .................................................................... 69 Výklad ........................................................................................................................................... 69 8.1 Rozd;lení pam;tí podle p ístupu........................................................................................... 69 8.2 Rozd;lení podle možnosti zápisu/ tení ................................................................................. 70 8.3 Rozd;lení pam;tí podle principu elementární pam;Rové buHky........................................... 72 Shrnutí pojm9 8................................................................................................................................. 73 Otázky 8 ............................................................................................................................................ 73
9
STYK MIKROPO ÍTA E S ANALOGOVÝM PROST=EDÍM ........ 74 Výklad ........................................................................................................................................... 74 9.1 Analogový výstup mikropo íta e.......................................................................................... 74 9.1.1 :íslicov analogový (D/A) p#evod ................................................................................ 76 9.2 Analogový vstup mikropo íta e............................................................................................ 78 9.2.1 Analogov /íslicový (A/D) p#evod................................................................................. 80 9.3 Kódy pro A/D a D/A p evody ............................................................................................... 83 9.3.1 Vyjád#ení /ísel v /íslicových systémech ........................................................................ 84 9.3.2 Vyjád#ení znaménka ...................................................................................................... 85 Shrnutí pojm9 9................................................................................................................................. 87 Otázky 9 ............................................................................................................................................ 87
10 MIKROPROCESORY, MIKROPO ÍTA E A MIKROPO ÍTA OVÉ SYSTÉMY............................................................... 87 Výklad ........................................................................................................................................... 88 10.1 Rozd;lení procesor9 .............................................................................................................. 88 10.1.1 První zp&sob d lení:...................................................................................................... 88 10.1.2 Druhý zp&sob d lení...................................................................................................... 89 10.1.3 D lení podle architektury.............................................................................................. 91 6
Mikropo íta ové ídicí systémy I. . Shrnutí pojm9 10............................................................................................................................... 93 Otázky 10 .......................................................................................................................................... 94
7
Základní pojmy íslicové techniky
1
Základní pojmy íslicové techniky as ke studiu: 1,5 hodin
Cíl
Po prostudování tohoto odstavce budete um;t • definovat logickou funkci • princip minimalizace logických funkcí
Výklad Signály, které se vyskytují v íslicové technice, mohou nabývat pouze dvou možných hodnot, které ozna ujeme jako logická jedni ka - log. 1, a logická nula - log. 0. Uvedené signály budou popisovány pomocí dvouhodnotových veli in. Dvouhodnotové veli iny se v technice digitálních integrovaných obvod9 zobrazují nej ast;ji t;mito zp9soby: •
zobrazením pomocí úrovn; fyzikální veli iny (nap;tí, proudu) - úroveH H (vyšší hodnota), L (nižší hodnota);
•
zobrazením pomocí zm;ny takové veli iny.
Digitální systémy se d;lí na dv; velké skupiny: •
systémy kombina ní, u nichž hodnoty výstupních veli in závisejí jen na okamžitém stavu vstupních veli in,
•
systémy sekven ní, kde hodnoty výstupních veli in závisejí i na p edchozím stavu systému, tyto systémy tedy obsahují pam;Rový prvek.
1.1 Logické funkce a jejich zápis Základním pojmem p i úvahách o kombina ních systémech p edstavuje pojem kombina ní logická funkce. Kombina/ní logická funkce je pravidlo p i azující každé kombinaci hodnot 0 a 1 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é kombina/ní logické funkce její defini ní obor nezahrnuje n;které tyto kombinace. Kombinací se zde rozumí kombinace hodnot 0 a 1 p i azených jednotlivým vstupním prom;nným. Úpln; ur eným funkcím se n;kdy íká úplné funkce, funkcím neúpln; ur eným pak neúplné funkce. V technice íslicových obvod9 se využívá tzv. Booleovy algebry, kterou m9žeme chápat jako algebru na množin; dvou prvk9 B = { 0; 1 } se t emi operacemi: logický sou in, logický sou et a negace. Booleovské prom;nné ( logické prom;nné ), vyjád ené nap . x,y, mohou nabývat pouze hodnoty n;kterého prvku z množiny B = { 0; 1 }. Booleovská funkce ( logická funkce ) n prom;nných je definována jako jednozna ná funkce booleovských prom;nných x1; x2,.... xn na množin; B = { 0; 1 }.
8
Základní pojmy íslicové techniky Logická funkce m9že být zadána pravdivostní tabulkou, p i emž každou booleovskou funkcí je možné vyjád it v kanonickém tvaru jako sou et sou in9 (minterm9) – úplná disjunktivní normální forma (ÚDNF):
f ( x1 , x 2 ...x n ) = x1 x 2 ...x n 1 x n + x1 x 2 ...x n 1 x n + x1 x 2 ...x n 1 x n nebo v kanonickém tvaru jako sou in sou t9 (maxterm9) – úplná konjunktivní normální forma (ÚKNF):
f ( x1 , x 2 ...x n ) = ( x1 + x 2 + ... + x n 1 + x n )( x1 + x 2 + ... + x n 1 + x n )( x1 + x 2 + ... + x n 1 + x n ) V praxi mohou být logické funkce zadány dále stavovými indexy S. Stavový index je dekadické vyjád ení dvojkového ísla pro p íslušnou vstupní prom;nnou. Nap . kanonické vyjád ení logické funkce pomocí ÚDNF, resp. ÚKNF:
f ( x1 , x 2 , x 3 ) = x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 f ( x1 , x 2 , x 3 ) = ( x1 + x 2 + x 3 )( x1 + x 2 + x 3 )( x1 + x 2 + x 3 ) lze zapsat pravdivostní tabulkou (tab. 1.1):
S
X3
X2
X1
f(x1,x2,x3)
0
0
0
0
1
1
0
0
1
1
2
0
1
0
0
3
0
1
1
0
4
1
0
0
1
5
1
0
1
1
6
1
1
0
0
7
1
1
1
1
Tab. 1.1 Pravdivostní tabulka úpln zadané logické funkce
a pomocí stavových index9 pro ÚDNF: f ( x1, x 2 , x 3 ) = (0,1,4,5,7 ) Píší se indexy S, pro které nabývá logická funkce hodnot 1, resp. pro ÚKNF f ( x1 , x 2 , x 3 ) =
( 2,3,6) ,
které nabývá logická funkce hodnot 0. V p ípad;, že funk ní hodnota logické funkce pro ur itou kombinaci vstupních logických prom;nných není jednozna n; definována, tzn. m9že nabývat obou hodnot z množiny [0,1], hovo íme o tzv. neúpln; zadané logické funkci (viz. výše a tab. 1.1). Zápis neúpln; zadané logické funkce pomocí 9
Základní pojmy íslicové techniky stavových index9 provedeme tak, že stavové indexy odpovídající neur eným stav9m uvedeme v závorce. Logický obvod nemusí být popsán jedinou logickou funkcí. P i technické realizaci logické funkce však žádáme co nejmenší po et logických len9, a proto se snažíme nalézt vyjád ení logické funkce o nejmenším po tu logických sou t9, sou in9, negací a logických prom;nných. Takovému postupu íkáme minimalizace logické funkce. Výsledkem je minimální disjunktivní normální forma (MDNF), resp. minimální konjunktivní normální forma (MKNF). Obecný postup, jímž se hledají minimální normální formy, nazýváme minimalizací logické funkce. Pešení vhodné pro minimalizaci logických funkcí s menším po tem nezávislých logických prom;nných m9žeme provád;t pomocí algebraických úprav s využitím v;t Booleovy algebry nebo pomocí tzv. Karnaughových map.
1.2 Minimalizace prost1ednictvím Karnaughových map Karnaughovy mapy vycházejí z Vennova diagramu, známého z teorie množin, vhodn; upraveného do sít; polí. Karnaughova mapa je uspo ádána do tverce nebo obdélníku, p i emž má tolik polí, kolik je kombinací vstupních nezávisle prom;nných. Každé pole je možné popsat jeho stavovým indexem. Sousední pole se liší pouze v jedné prom;nné. P íklady Karnaughových map pro 2 až 5 prom;nných s ozna ením polí stavovými indexy ukazuje obr. 1.1. Vstupní prom;nné jsou vyzna eny pruhem nad p íslušným ádkem i sloupcem mapy, p i emž pruh ozna uje ást mapy, v níž uvedená prom;nná nabývá hodnoty 1. V ostatní ásti mapy nabývá tato prom;nná hodnoty 0. Funk ní hodnoty logické funkce se zapíší do mapy tak, že pro každou kombinaci vstupních prom;nných se do odpovídajícího pole v map; zapíše 1 (je-li funk ní hodnota rovna 1 ), 0 (je-li funk ní hodnota neur ena ). Sousední pole lze spojovat do v;tších útvar9 tzv. smy ek. Zjednodušování logické funkce v p ípad; hledání minimální disjunktivní normální formy MDNF se potom provádí tak, že je nutné pokrýt všechny jedni ky soustavou co nejmenšího po tu co nejv;tších smy ek, p i emž smy ky mohou ( ale nemusí ) zahrnovat p ípadné neur ené stavy. Mezi sousední pole se po ítají taky pole v rozích mapy. V p ípad; hledání minimální konjunktivní normální formy MKNF pokrýváme smy kami všechny nuly, p ípadn; neur ené stavy.
10
Základní pojmy íslicové techniky
X2 X1
X1
X2
0
1
2
3
X3
0
1
3
2
4
5
7
6
X5 X2
X2 X1
X1
X3 X4
0
1
3
2
4
5
7
6
12
13
15
14
8
9
11
10
X3 X4
X1
0
1
3
2
18
19
17
16
4
5
7
6
22
23
21
20
12
13
15
14
30
32
29
28
8
9
11
10
26
27
25
24
Obr. 1.1 Karnaughovy mapy pro 2 až 5 prom nných
Jako p íklad si uvedeme zjednodušení p edcházející logické funkce zadané tabulkou 1.1. Zápis logické funkce f ( x1, x 2 , x 3 ) = (0,1,4,5,7 ) do Karnaughovy mapy bude tedy vypadat následovn;:
X2
X2
X1
X3
X1
1
1
0
0
1
1
1
0
X3
1
1
0
0
1
1
1
0
Z mapy lze vid;t, že k pokrytí všech jedni ek je zapot ebí dvou smy ek. Ve smy ce ze ty polí z9stává stále stejná prom;nná x 2 v obou sloupcích smy ky, kdežto prom;nná x1 se m;ní, což je totéž, jako bychom p i algebraické úprav; provedli spojení ( x1 + x1 ) = 1 . Totéž platí v ádcích smy ky pro prom;nnou x 3 , neboR se také m;ní - ( x 3 + x 3 ) = 1 . Výsledek ze smy ky je tedy x 2 . Obdobn; lze provést rozbor pro malou smy ku, pro kterou platí výsledek x1 x3 . Minimální disjunktivní normální forma má potom tolik implikant9 (p ípadn; degenerovaných implikant9), kolika smy ek bylo zapot ebí k pokrytí všech jedni ek v map;. 11
Základní pojmy íslicové techniky Výsledná funkce je tedy f ( x1, x 2 , x3 ) = x 2 + x1 x3
X2 X1
X3
1
1
0
0
1
1
1
0
V p ípad; ur ení minimální konjunktivni normální formy MKNF pro uvedený p íklad jsou k pokrytí všech nul nutné dv; smy ky. V první smy ce se m;ní prom;nná x 3 . Smy ka pak bude popsána sou tem negací prom;nných, které se ve smy ce nem;ní. Pro druhou smy ku m9žeme obdobn; napsat. Výsledná funkce je tedy f ( x1, x 2 , x3 ) = ( x1 + x 2 ) ( x 2 + x 3 )
Shrnutí pojmV 1 Klí ová slova: Logická funkce, minimalizace logické funkce, Karnaughova mapa
Otázky 1 1. Vysv;tlete pojem logická funkce 2. Popište možné zápisy logické funkce 3. Jakými zp9soby provádíme minimalizaci logické funkce 4. Co je to Karnaughova mapa 5. Vysv;tlete princip minimalizace logických funkcí s pomocí Karnaughových map
12
Realizace logických len9 a jejich vlastnosti
2
Realizace logických lenV a jejich vlastnosti as ke studiu: 2 hodiny Cíl
Po prostudování tohoto odstavce budete um;t • definovat zásady práce s obvody TTL • popsat princip logických obvod9 • vy ešit propojování logických obvod9
Výklad P i návrhu logických obvod9 v;tšinou sta í, známe-li jejich logické funkce. Jestliže však chceme navržený logický obvod za lenit do obvodové struktury složit;jšího systému, je pak již nutné znát i jeho elektrické vlastnosti a parametry. S rozvojem automatického ízení výrobních proces9 a tím i nutným rozvojem mikropo íta ové techniky byl vyvozován neustálý tlak na zv;tšování po tu logických funkcí na jednotku objemu p i stoupající spolehlivosti. Technologie výroby k emíkových polovodi 9 se tak zdokonalila, že na jednom substrátu bylo možné vytvo it velké množství polovodi ových prvk9. Postupn; byla vyvinuta ada logických stavebnic, které realizovaly základní funkce. Nejv;tší rozší ení a uplatn;ní dosáhla tranzistor-tranzistorová logika TTL (tranzistor na vstupu, tranzistor na výstupu) a její modifikace. Jediným vážným konkurentem bipolárních obvod9 TTL jsou unipolární obvody CMOS, které mají ve statickém provozu zanedbatelnou spot ebu. S rostoucím kmito tem se spot eba zvyšuje a p i kmito tech kolem 1Mhz je spot eba srovnatelná s obvody LSTTL. Jednou z nejrozší en;jších ad logických obvod9 je notoricky známá ada 74… Podle výrobce se pak liší ozna ením p ed tímto íslem. Osvojování této ady šlo tak daleko, že se jednotlivé ady r9zných výrobc9 mezi sebou neliší ani parametry ani polohou vývod9, ale dokonce ani topologií substrátu. Výhodou je pak naprostá zam;nitelnost a rovnocennost obvod9 od jednotlivých výrobc9. Celá ada se vyzna uje až na nepatrné výjimky jednotným obvodovým ešením vycházejícím z hradla NAND. Zapojení hradla je zachyceno na obr. 2.1 a je dobré pro další návrhy zapojení znát jeho obvodovou innost. Znalost funkce je pak velmi užite ná i v p ípadech diagnostiky poruch v logických systémech. Logický návrh se musí pod izovat vlastnostem integrovaných obvod9. Opa ná cesta vede k okamžitému i pozd;jšímu neúsp;chu. Bude-li alespoH na jednom ze vstup9 A, B úroveH L, pak emitorovým p echodem tranzistoru T1 bude protékat proud v nazna eném sm;ru ze vstupu do vn;jšího obvodu. Tranzistor T1 bude tedy sepnut, p i emž na bázi tranzistoru T2 bude malé nap;tí (UCEST1) a tranzistor T2 bude uzav en. Tranzistor T3 je zapojen jako emitorový sledova , takže na vstupu získáme nap;tí menší o úbytek na p echodu bázeemitor T3 a propustn; polované diod; D1; tedy úroveH H. Zvyšováním vstupního nap;tí se od hodnoty asi 0,7 V za ne otevírat tranzistor T2, nap;tí na jeho kolektoru za ne klesat. P i hodnot; vstupního nap;tí cca 1,4 V se za íná otevírat i tranzistor T4, nap;tí na jeho kolektoru za íná rychle klesat. Rezistor R3 je p emost;n malým odporem p echodu báze-emitor tranzistoru T4, p i emž zesílení stupn; s tranzistorem T2 prudce stoupá a urychluje se pokles nap;tí na bázi tranzistoru T3. Tranzistor T3 se uzavírá. Dalším zvyšováním vstupního nap;tí se uzavírá p echod emitor-báze tranzistoru T1. Bází tranzistoru T1 protéká proud, jehož velikost je cca ( UCC - UBC1 - UBC2 - UBE4)/R1 a uzavírá se p es propustn; polovaný p echod báze-kolektor T1 a emitorové p echody T2 a T4. Na výstupu je nap;tí 13
Realizace logických len9 a jejich vlastnosti UCES sepnutého tranzistoru T4 a do vstupu lenu te e malý proud. Obr. 2.4. ukazuje p evodní charakteristiku lenu NAND TTL. P ivedeme-li na vstup záporné nap;tí, pak p i nap;tí UI- -0,7 V se otevírá parazitní dioda kolektor T1 podložka ( árkovan;). Jestliže proud touto diodou nebude omezen na hodnotu maximáln; 15 mA, dojde ke zni ení obvodu. P ivedením vstupního nap;tí v;tšího než 8 V dochází k pr9razu p echodu báze-emitor vstupního tranzistoru a v p ípad;, že proud tranzistorem nebude omezen (cca 1 mA), dojde k jeho poškození. Obr. 2.2 ukazuje vstupní charakteristiku lenu NAND.
Ucc 4k T1 A B
1k
130
T3 D Y
T4
1k 0 Obr. 2.1 Zapojení hradla NAND
Obr. 2.2 Vstupní charakteristika hradla
Obr. 2.3 Výstupní charakteristiky
14
Realizace logických len9 a jejich vlastnosti
Obr. 2.4 P#echodová charakteristika hradla hradla
Obr.
2.5
Odb rová
charakteristika
P i p echodu lenu TTL z úrovn; L do úrovn; H jsou tranzistory T3, T4 na okamžik oba otev eny, p i emž hodnota je omezena na hodnotu asi 30 mA odporem R4. Odb;rová charakteristika lenu NAND TTL (obr. 2.5) zahrnuje uvedený jev. Bude-li zm;na na vstupu lenu NAND TTL dostate n; strmá, pak odb;rová špi ka bude trvat n;kolik ns a p íkon lenu nebude znateln; ovlivn;n. Ovšem vlivem rychlých zm;n proudu, zejména m;ní-li se stav výstupu mnoha len9 sou asn;, mohou vzniknout na nevhodn; navrženém napájecím vedení nap;Rové špi ky ( desetiny až jednotky volt9 ), které mohou znemožnit správnou innost obvod9, p ípadn; je i zni it. Vzhledem k velice strmým zm;nám proudu ( spektrum kmito tu stovky a více MHz ) je nutné uvažovat napájecí vedení za vedení s charakteristikou impedancí. Je mylné uvažovat p i složitých aplikacích jen ohmický odpor napájecího vedení, který bývá v;tšinou zanedbatelný. Ur itého zlepšení je možné dosáhnout zapojením blokovacích kondenzátor9 ve vhodném míst; napájecího vedení, ímž se sníží jeho charakteristická impedance. P i návrhu je tedy mít na z eteli n;kolik okolností: •
P i logické nule na vstupech te e proud z hradla ven.
•
Výstupní odpor p i logické jedni ce je odlišný než výstupní odpor p i logické nule a oba jsou dány parametry vnit ních sou ástek.
•
Jestliže se dostane na výstup záporné nap;tí, sepne se tranzistor T3
Standardní ada obvod9 TTL, která není nijak zvlášR ozna ována, byla a je modifikována, aby bylo vyhov;no r9zným požadavk9m. Tak vznikla rychlá ada H, (74H04) a ada s nízkým p íkonem „L“ 74L04. Zm;ny bylo dosaženo v podstat; jen zm;nou vnit ních odpor9. U ady „L“ zvýšením jejich hodnot, což ale vedlo ke snížení rychlosti, a u ady „H“ snížením jejich hodnot. Dalšího zlepšení bylo dosaženo použitím Schottkyho diod ve struktu e n;kterých tranzistor9, které zabraHují jejich saturaci ( ada „S“ – rychlá, „LS“ – rychlá s nízkým p íkonem). Dalším vylepšením vznikla ada „AS“ – rychlá, „ALS„ rychlá s nízkým p íkonem. Poslední zmiHované ady využívají jednoemitorového vstupního tranzistoru. Pom;rn; novou adou je ada „F“ s novým obvodovým ešením a menší teplotní a nap;Rovou závislosti. Je rychlejší než ada „S“ p i 3 až 4 x menším p íkonu.
15
Realizace logických len9 a jejich vlastnosti Typ logiky
Napájecí nap;tí
Logický zisk
Zpožd;ní hradla
Max. frekvence
P íkon hradla
[V]
[-]
[ns]
[MHz]
[nW]
CMOS 4000
3 až 15
50
40 až 20
8 až 16
10
CMOS 74C
3 až 15
50
50 až 30
3 až 8
10 až 30
CMOS 74SC
3 až 7
50
36
30
10
CMOS 74HC
2 až 6
10
6
60
10
CMOS 74HCT
5
10
6
60
103
CMOS 74HCU
2 až 6
10
6
60
103
TTL 74
5±5%
10
10
35
107
TTL 74L
5±5%
10
33
3
106
TTL 74S
5±5%
10
3
125
1,9*107
TTL 74LS
5±5%
20
10
45
2*106
TTL 74AS
5±5%
20
1,5
200
2,2*107
TTL 74ALS
5±5%
20
4
50
106
Tab. 2.1 Shrnutí n kterých parametr& obvod&
2.1 Šumová imunita Z charakteristik se rovn;ž m9že odvodit tzv. šumová odolnost. Je to úroveH nap;tí, která ješt; m9že vniknout do spoj9 mezi integrovanými obvody, aniž by došlo k reakci na tento parazitní signál. Podle katalogových údaj9 jsou u hradel TTL zaru ovány následující hodnoty nap;tí logických úrovní:
Obr.2.6 Podmínky napojení dvou hradel TTL
LOG 0
LOG 1
VSTUP
0÷0,8
2÷UCC
VÝSTUP
0÷0,4
2,4÷UCC
Tab.2. 2 Hodnoty logických úrovní hradla TTL
16
Realizace logických len9 a jejich vlastnosti Napojíme-li na sebe dv; hradla vzniká tedy nap;Rová rezerva. Z této rezervy pak ur ujeme šumovou imunitu obvodu a v daném p ípad; je její zaru ená velikost 0,4 V. Tato hodnota je sice malá, avšak vzhledem k tomu, že impedance hradel je rovn;ž malá, nemohou se kapacitní p eslechy uplatnit. Rovn;ž induktivní p eslechy jsou vzhledem k úrovní p enášených proud9 zanedbatelné.
2.2 Zásady práce s obvody TTL P i návrhu elektronických p ístroj9 s logickými obvody je nutno dodržet požadované nap;Rové úrovn; vstupních signál9 a p i v;tších vstupních proudech n;kterých logických obvod9 (až IL = 2 mA u STTL) respektovat také omezení velikosti vnit ního odporu zdroje signálu. Krom; statických parametr9 je rovn;ž pot eba respektovat minimální p ípustnou strmost hran vstupního logického signálu (nap . v katalogu se uvádí limit 1 V/ds pro b;žné obvody TTL a až 1 V/s pro obvody s hysterezní p evodní charakteristikou).
2.2.1 Ošet ení nevyužitých vstup U vícevstupových logických obvod9 se musí v;novat pé e vstup9m, které nejsou funk n; využity. Nepoužité vstupy zásadn; nelze ponechávat nep ipojené, neboR za t;chto podmínek není p esn; definována jejich vstupní logická úroveH. U standardních obvod9 TTL se sice nep ipojený vstup nej ast;ji chová jako by byl nastaven na úroveH H, ale má v tomto p ípad; velmi nízkou odolnost proti rušení. U požadavk9 na rychlost odezvy t;chto obvod9 se navíc m9že projevit nežádoucím zp9sobem i zpožd;ní zp9sobené nabíjecím procesem, vázaným na parazitní kapacitu nep ipojeného vstupu (emitoru víceemitorového vstupního tranzistoru T1 obvodu TTL). %asové zpožd;ní reakce výstupu iní u obvod9 TTL p ibližn; 1 ns na každý nep ipojený vstup. Proto platí zásada neponechávat nevyužité vstupy logických obvod9 TTL nep ipojeny. V podstat; p ipojíme nevyužitý vstup na zdroj nap;tí definované úrovn; L nebo H tak, aby nebyla narušena logická funkce ošet ovaného obvodu. U vícevstupového obvodu NAND nebo AND musíme tedy nevyužité vstupy budit úrovní H. M9žeme to ud;lat nap . tak, že p ipojíme nevyužité vstupy p es rezistor s odporem R < 15 kf (v rušeném prost edí rad;ji R < 5 kf). Nevyužitý vstup lze p ipojit p ímo na rozvod napájecího nap;tí UCC = 5 V, pokud je zaru eno, že toto nap;tí v žádném p ípad; nep ekro í mezní hodnotu 5,5 V (tedy ani p i zapínání a vypínání). M9žeme je však p ipojit i k výstupu nepoužitého invertoru, jehož vstup jsme p ipojili na spole ný vodi . V nejjednodušším p ípad; m9žeme spojit nevyužité vstupy se vstupy použitými. U obvod9 NOR nebo OR je to jinak: aby nebyla narušena jejich logická funkce, je nutno jejich nepoužité vstupy p ipojit na úroveH L, obvykle tak, že je p ipojíme na spole ný vodi . M9žeme ovšem stejn; jako v p edchozím p ípad; p ipojit jednoduše nevyužité vstupy paraleln; k použitým.
2.2.2 P ipojování vstup nevyužitých logických obvod . P i návrhu elektronického p ístroje se m9že stát, že na desce s plošnými spoji z9stane nevyužit jeden nebo dokonce více logických len9. V tomto p ípad; je vhodné p ipojit vstupy t;chto nevyužitých obvod9 na takovou úroveH, aby spot eba t;chto obvod9 byla minimální. Nap íklad obvod NAND standardní TTL má proudovou spot ebu asi 1 mA p i výstupní úrovni H a spot ebu asi 3 mA p i výstupní úrovni L. Proto je vhodné vstupy nevyužitých obvod9 NAND p ipojit na zem, ímž šet íme 2 mA na každý logický len [x].
2.2.3 Úpravy vstupních logických signál %asto se vstup logického obvodu ovládá mechanickým kontaktem – nej ast;ji tla ítkem. P i sepnutí tla ítka v;tšinou dochází k zakmitávání kontakt9 => vícenásobná zm;na logické úrovn;. Zakmitávání je nutné odstranit korek ním obvodem. Nej ast;ji používanými obvody jsou R-S klopný obvod a monostabilní kopný obvod. Pokud jsou nap;Rové úrovn; vyšší než p edepsané, je nutné použít p evodník9 logických úrovní. Možná zapojení t;chto p evodník9 jsou uvedeny na obr. 2.7. Na obr. 2.8 je zapojení univerzálního p evodníku pro nap;tí až ±100V. Použije-li se v tomto zapojení místo diody Zenerova dioda, je možné zpracovávat vstupní signály se stejnosm;rnou složkou. 17
Realizace logických len9 a jejich vlastnosti Tento p evodník nalezne uplatn;ní všude tam, kde ovládací nap;tí 5V je nedostate né (zaoxidované kontakty pot ebují k protla ení proudu mnohem vyšší, nap . 24V). Jinou možností je pak použití relátek v pouzdru DIL. Tyto relátka navíc poskytují i galvanické odd;lení. R1
R1 R2
ZD
Obr. 2.7 Snížení vstupního nap tí ve stavu H
R3 R1
D R2
Obr. 2.8 Univerzální p#evodník pro vstupní signály v rozmezí ±100V Další p izp9sobení je nutné provést p i kombinaci logických obvod9 r9zných technologií. Unipolární integrované obvody CMOS jsou schopny pracovat v širokém rozmezí napájecích nap;tí UDD = 3 až 18 V, pop . u moderních ad UDD = 2 až 6 V. Lze je tedy provozovat i p i napájecím nap;tí UDD = 5 V a dalo by se o ekávat, že budou schopny v tomto p ípad; p ímé spolupráce s obvody TTL. Avšak odlišné elektrické vlastnosti a provozní vlastnosti tuto spolupráci zt;žují.
Obr. 2.9 Vzájemné propojení obvodu TTL a CMOS
2.2.4 Tvarovací obvody Signály, které získáme z p evodník9 nap;tí, obvykle nemají p íliš strmé hrany, a proto je nutné obnovit strmost hran. Tvarova e musíme bezpodmíne n; použít, budí-li signály vstupy klopných obvod9 (n;které vstupy externího p erušení u mikroprocesor9), a všude tam, kde hrany logického signálu jsou delší než 400ns. Nejjednodušším obvodem je zapojení kaskády hradel, obr. 2.10. Zapojení se m9že vylepšit úpravou na obr. 2.11 Do obvodu je zavedena kladná zp;tná vazba, která urychlí p echod hradla p es rozhodovací úroveH. Toto zapojení lze použít pro signály s hranou asi do 1 µs. 18
Realizace logických len9 a jejich vlastnosti
A
B
A
C
B C Obr. 2.10 Tvarování signálu hradly
2k2
22
A
B
C
Obr. 2.11 Tvarování signálu hradly s kladnou zp tnou vazbou
Ke tvarování signál9 s delšími hranami používáme Schmitové klopné obvody (nap 74132 nebo analogové). Další možnost tvarování signálu pomocí D klopného obvodu je na obr. 2.12. Nevýhodou je však nutnost buzení hodinovými pulsy. 7474 D
Q
D
T
C CP Q
Q
Obr. 2.12 Tvarování signálu D – klopným obvodem
2.2.5 Výstupy logických (len Každé za ízení musí n;jakým zp9sobem zajišRovat styk s ízeným objektem, informovat okolí o svých vnit ních stavech a v mnoha p ípadech také využít zpracovaných logických signál9 k ízení ak ního za ízení. K tomu je zapot ebí obvykle vyšší energetická úroveH signál9, než kterou jsou schopny dodat samotné integrované obvody eventueln; vstup/výstupní port mikropo íta e. Nej ast;ji používaným výstupním prvkem je relé nebo výkonový tranzistor. Pro sepnutí relé se používá tranzistorový zesilova napojený na integrovaný obvod. Je t eba si uv;domit, že proud do báze je omezen pouze vnit ním odporem hradla. Podle toho je t eba volit i typ tranzistoru. Napojíme-li však výstup z hradlo p ímo do báze tranzistoru, nelze pak již použít tento výstup k buzení vstupu dalšího hradla. Jedno z možných zapojení výstupních len9 je na obr. 2.13. 19
Realizace logických len9 a jejich vlastnosti
R Rb
Obr. 2.13 Zapojení výstupního /lenu P i buzení výkonové zát;že z výstupu logického obvodu p i aktivní úrovni L použijeme pon;kud odlišná zapojení. V nejjednodušších p ípadech m9žeme p ipojit zát;ž mezi sb;rnici napájecího nap;tí a výstup logického obvodu. Jako p íklad je uvedeno na obr. 2.14 p ipojení budicí cívky relé k výstupu výkonového logického lenu NAND. Nejv;tší proud tekoucí zát;ží nesmí být v;tší než mezní hodnota výstupního proudu hradla. Paraleln; k induk ní zát;ži zapojujeme ješt; ochrannou diodu D, která ochrání výstup logického obvodu proti nebezpe ným nap;Rovým špi kám, vznikajícím p i odpojení zát;že.
Obr. 2.14 výkonové zát že p#i aktivní úrovni L
2.2.6 Rozvod logických úrovní Pro správnou innost za ízení sestaveného z íslicových integrovaných obvod9 je d9ležité dodržovat pravidla ur ená pro vzájemné propojování t;chto prvk9 mezi sebou. Jde hlavn; o problémy rozvodu napájecích nap;tí a rozvodu logických signál9 na vzdálenost v;tší než 25cm. Strmosti hran u obvod9 TTL ady 74… jsou v okolí 10 ns. Z harmonické analýzy plyne, že to jsou sinusové kmito ty ádov; desítky MHz; jsou to tedy problémy spadající do oblastí p enosu vf signálu. Pro správnou funkci integrovaných obvod9 je t eba p edevším zajistit napájení. Zde se uplatHují dva požadavky: 1. Požadavek malého inného odporu vedení a zdroje 2. Požadavek malé impedance vedení a zdroje pro vf signál Požadavek 1. je nutný pro proudové špi ky, které se u TTL obvod9 vyskytují p i p echodu ze stavu „L“ do stavu „H“ a opa n;. Tento stav se zhoršuje, jsou-li vstupy obvod9 buzeny signálem, který nemá strmé hrany. Pracuje-li n;kolik logických len9 synchronn;, jsou i tyto špi ky synchronní. I toto je d9vod, pro se t;sn; k napájecím vývod9m pouzdra obvodu p ipojuje paraleln; kondenzátor. Požadavek 2. je co do velikosti ur en p edevším induk nostmi p ívod9. Proto se snažíme, aby jednotlivé napájecí ásti tvo ily malé smy ky. Smy ky se pak ješt; zmenšují zapojením kapacit, které p9sobí jako vf zkrat. 20
Realizace logických len9 a jejich vlastnosti Vzájemné propojování hradel mezi sebou se uskute Huje více zp9soby. Základní propojení se provádí plošným spojem. Mimo desku se mohou použít vodi e, souosé kabely, plošné spoje atd. U vedení musíme vždy po ítat s tím, že na každém vedení mohou nastat tyto stavy: 1. signál se pr9chodem zpožiuje 2. na vedení dochází k odraz9m 3. vedení se nabíjí a vybíjí 4. vedení se mohou navzájem ovlivHovat Stav 1 vychází z rovnice pro ší ení signálu po vedení. M9žeme uvažovat, že zpožd;ní na 1 m délky vedení je asi 5 ns. Srovnáme-li tento as s dobou zpožd;ní hradla vidíme, že oba asy jsou srovnatelné. Stav 2 vyplývá z teorie vf vedení. Odraz9m na vedení lze zabránit jen správným p izp9sobením dlouhého vedení. To se obvykle provádí tak, že se toto vedení zakon uje inným odporem o velikosti rovné charakteristické impedanci vedení Z0. Není-li tomu tak, dochází k odraz9m. Z charakteristik TTL obvod9 vyplývá, že pro každý stav vstupu a výstupu je jiná impedance hradla. Proto je nutné u dlouhých vedení budit vždy jen jeden vstup jednoho hradla a ostatní vstupy mají být s tímto vstupem spojeny a nemají se využívat jako vstupy další logické prom;nné. Dlouhé vedení se v9bec nesmí napojovat na vstupy klopných obvod9, pokud to není výslovn; povoleno výrobcem. Stav 3 zp9sobuje kapacita vedení, jež se musí nabíjet a vybíjet. Takto vzniklé proudy mohou na impedancích p ívod9 napájení zp9sobit nap;Rové špi ky a ty pak mohou následn; porušit šumovou imunitu obvodu. Zde je patrný další d9vod p ipojování kondenzátor9 k napájecím vývod9m hradla. Stav 4 má základní vlastnosti velmi jednoduché, ale v praxi nám iní nejv;tší potíže. Jedná se o p eslechy na vedení. Pro delší napojení je tento problém možno vy ešit použitím souosých kabel9 nebo twist vedení. Jednotlivými vodi i, jsou-li umíst;ny proti zemní desce, je možné p enášet signály na vzdálenost asi 0,5m. Jednotlivé vodi e se nesnažíme svazovat do svazku, neboR klesá vzájemná impedance jednotlivých vodi 9. Velmi dobré výsledky poskytuje metoda ovíjených spoj9. P i napojení jednotlivých obvod9 TTL se m9žeme setkat ješt; s dalším neduhem a to jsou hazardní signály. Tyto vznikají vlivem asového rozptylu pr9chodu signálu. Ve skute ných logických sítích se m9že vyskytovat celá kombinace základních hazardních stav9. Jeden z p ípad9 je zachycen na obr. 2.15. 1 A
/ C
B
/B
/
0
/B
1 0
C
1 0
Obr. 2.15 Hazardní stav
2.2.7 Rozvod spole(ného vodi(e V mnoha p ípadech je tento aspekt podceHován, ale špatn; navržený rozvod m9že být zdrojem mnoha ne ekaných závad p i uvád;ní za ízení do chodu. V zásad; by m;l být spole ný vodi realizován tak (aR už drátem nebo m;d;nou fólií na desce s plošnými spoji), aby m;l co nejmenší odpor a zanedbatelnou induk nost. T;mto požadavk9m vyhoví vodi e s velkým pr9 ezem. P i návrhu plošných spoj9 se proto vždy snažíme navrhovat rozvody zemí co nejširší. Pokud se v za ízení krom; logických obvod9 vyskytují také další typy obvod9, nap . lineární integrované obvody, výkonové 21
Realizace logických len9 a jejich vlastnosti leny s relé apod., je nutné každý typ t;chto obvod9 propojovat samostatným spole ným (zemním) vodi em. Tyto skupinové vodi e zemí pak propojíme v jediném míst; za ízení, nej ast;ji u zemnicí svorky nejkriti t;ji provozovaného opera ního zesilova e (který zpracovává nejmenší úrovn; signálu) nebo u napájecích zdroj9. P i dimenzování spole ného vodi e musíme uvažovat i maximální proudy, které jím mohou protékat. Nejsou vzácností desky plošných spoj9 s odb;ry až n;kolik ampér9. Ze stejných d9vod9 jsou kladeny p ísné nároky také na minimální p echodové odpory použitých konektor9 a na spoje zemí mezi jednotlivými konektory v p ístrojové sk íni.
2.2.8 Buzení dlouhého vedení Jak již bylo e eno výše, podle doby ší ení signálu po vedení a doby jeho náb;žných resp. sestupných hran rozlišujeme vedení na krátká a dlouhá. U rychlých TTL obvod9 je nutné vedení signálu na vzdálenost v;tší než 25 cm považovat za dlouhé vedení. V koaxiálním kabelu je rychlost ší ení asi 5 ns na metr a v kroucené dvojlince (twisted pair, twist) asi 6 ns na metr. Každé vedení má svou charakteristickou impedanci Z0, která je dána mechanickým uspo ádáním a použitým dielektrikem. Koaxiální kabel má charakteristickou impedanci Z0 = 50, 75, 90 , twist kolem 120 , spoj ší e 2 mm po obou stranách plošného spoje tloušRky 1 mm 50 , vodi o pr9m;ru 1 mm a 1 mm nad vodivou deskou 50 . Dlouhé vedení by m;lo být impedan n; p izp9sobené, tj.zakon ené impedanci Z0. Pokud není, tak na konci vedení dochází k odraz9m, které se superponují na p enášený signál a zkreslují jeho pr9b;h (vznikají i záporné nap;Rové špi ky). Z odraz9 na vedení vyplývá, že z výstupu jednoho hradla je možné budit pouze jedno dlouhé vedení.P i zapojení n;kolika vedení jsou impedance Z0 zapojeny paraleln;. P i r9zných délkách vedené k tomu ješt; p istupuje další vlastnost, že odezvy z t;chto vedení jsou r9zné, ímž vznikají složité p echodové jevy. se všemi d9sledky na funkci logiky. Na vstup jednoho hradla má být zapojeno pouze jedno dlouhé vedení. Ostatní vstupy mají být s tímto vstupem propojeny a nemají se používat jako vstup další logické úrovn;.
A
B
C
D
Z0 Obr. 2.16 P#enos pomocí dlouhého vedení D9sledky nep izp9sobeného vedení zachycuje obr. 2.17. P i vedení do délky 25 cm vidíme, že pr9b;hy nejsou deformovány. Uplatní se pouze zpožd;ní vlivem délky vedení. Pro delší vedení (v našem p ípad; 2 m) si m9žeme všimnout, že z9stává nezm;n;n budicí signál v bod; A a D. V bodech B a C se vlivem odraz9 signál zna n; deformuje. Strmé z9stávají sestupné hrany, neboR výstupní impedance hradla je v tomto režimu velmi malá; pouze v bod; C se objeví záporná špi ka 1, neboR zde je vedení (z hlediska praxe) ve stavu, jako by bylo naprázdno, a nap;tí se tedy odráží v opa né fázi. Amplituda je však omezena na hodnotu asi -1,5 V, což zp9sobí substrátová dioda. Tato dioda vznikne automaticky topologickým uspo ádáním vlastního integrovaného obvodu; je však na pr9raz citlivá, její proražení zp9sobí výpadek innosti hradla. Odraz od výstupu hradla se projeví jako špi ka 2. Amplituda této špi ky je asi 0,4 V, a tedy na mezi šumové imunity. Její velikost je podmín;na amplitudou špi ky 1 a pom;rem výstupní impedance hradla a impedance Z0 vedení. Maxima dosahuje pro impedanci Z0 = 75 f. Dalším charakteristickým bodem je bod 3. Tento schod má amplitudu danou pom;rem výstupní impedance hradla k impedanci Z0 vedení. Délka schodu je pak dána dvojnásobkem zpožd;ní na jedné délce vedení. Amplitudu schodu m9žeme zv;tšit, budeme-li vedení budit výkonovým hradlem MH7440. Další schod nastává v míst; 4. Tento schod, protože je závislý na velikosti schodu 3, musí být nad úrovní 2,5 V a nemá tedy žádný vliv na pr9b;h v bod; D. 22
Realizace logických len9 a jejich vlastnosti
4
4
2
2
A
-2
-2
4
4
2
2
B
0 -2
2
2
0
0
4 2
-2
C
B
-2 4
4
4
2
2
C
1
D
0
D
0
3
0
4
-2
A
0
U [V]
U [V]
0
-2
-2 0
40
80
0
120 160
40
80
120 160 t [ns]
t [ns]
Obr. 2.17 Pom ry na vedení do 20cm (vlevo) a 2m (vpravo) Vedení zakon ené vstupem obvodu TTL je vzhledem k jeho velké vstupní impedanci impedan n; nep izp9sobené. P izp9sobovací obvody jsou na obr. 2.18 Nejvhodn;jší pro p enos na v;tší vzdálenosti je koaxiální kabel (velká odolnost proti rušení –p eslech9m), do t í metr9 lze použít twist, vodi t;sn; nad vodivou deskou do 50cm, drátové a plošné spoje do 30cm.
23
Realizace logických len9 a jejich vlastnosti
+Ucc +Uc R1
2Z0 = R1 = R2
R2
Koax Z0
P ípadné strobování
a)
+Uc +Uc Z0 = R0
R
Koax Z0
P ípadné strobován í
b)
Obr. 2.18 P#izp&sobení dlouhého vedení
Shrnutí pojmV 2 Klí ová slova: Hazardní stav, Hradlo TTL, Šumová imunita
Otázky 2 1.
Vysv;tlete princip hradla NAND
2.
Uveite napájecí nap;tí logických obvod9
3.
Co je to šumová imunita
4.
Uveite n;které zásady práce s obvody TTL
5.
Popište princip rozvodu logických úrovní na velké vzdálenosti 24
Realizace logických len9 a jejich vlastnosti 6.
Co je to hazardní stav
7.
Navrhn;te výstupní obvod pro napájení žárovky obvodem TTL
8.
Jaké jsou zásady buzení dlouhého vedení obvody TTL
25
Pojem mikropo íta a mikroprocesor
3
Pojem mikropo íta a mikroprocesor as ke studiu: 3 hodiny Cíl
Po prostudování tohoto odstavce budete um;t
• • • •
vysv;tlit pojmy mikroprocesor a mikropo íta popsat princip a innost mikroprocesoru popsat zp9soby adresování vysv;tlit princip a použití p erušení
Výklad 3.1 Základní struktura mikropo íta e Obvody mikropo íta e m9žeme rozložit do p;ti ástí, jak je zobrazeno na obr. 3.1. Data jsou mikropo íta em zpracovávána po slovech. V daném asovém okamžiku (takt procesoru) mikropo íta pracuje s jedním slovem. Typická délka slova je 8, 16, 32 nebo 64 bit9. Nejrozší en;jší jsou mikropo íta e s délkou slova 8 a 16 bit9. Osmibitové slovo nazýváme bajt.
Generátor taktV Generuje hodinový (taktovací, synchroniza ní) signál, který synchronizuje innost samotného procesoru a také jeho spolupráci s ostatními ástmi mikropo íta e. U sou asných typ9 mikroprocesoru bývá již tento generátor jejich sou ástí.
Mikroprocesor Je základním prvkem mikropo íta e. Pídí jeho celou innost. ZajišRuje provád;ní instrukcí uložených v pam;ti, ídí toky dat ze vstupních ástí mikropo íta e tyto data zpracovává a následn; ídí tok dat sm;rem k výstupním port9m.
Pam4W ROM Obsahuje ve v;tšin; p ípad9 instrukce, které zajišRují realizaci daného algoritmu ízení pro p izp9sobení mikropo íta e ur ité aplikaci. Dále pam;R m9že obsahovat konstanty a nem;nné tabulky používané v programu. Z této pam;ti lze pouze íst, programuje se p i výrob;. Ur itými variantami pam;ti ROM jsou pam;ti PROM, EPROM, o kterých bude zmínka v dalším textu.
Pam4W RWM Ozna ována n;kdy také RAM zajišRuje do asné uložení dat zpracovávaných mikroprocesorem. Data do pam;ti m9že mikroprocesor uložit a op;t zp;tn; vyzvednout. Do této pam;ti lze tedy i zapisovat.
26
Pojem mikropo íta a mikroprocesor
ROM
RAM
DMA
TIM
I/O
AB CPU
DB CB
Obr. 3.1 Blokové schéma mikropo/íta/e
Vstupní a výstupní porty UmožHují spojení mikropo íta e s okolním prost edím (klávesnice, display, výkonové ak ní leny atd.). Tyto však n;kdy nemusí být sou ástí každého mikropo íta e. Pak je spojení s vn;jším prost edím provedeno jiným zp9sobem, což bude vysv;tleno dále. T;chto p;t ástí tvo í nutný základ mikropo íta e. Mikropo íta však m9že být tvo en i dalšími ástmi, jež zefektivHují jeho práci. O t;chto bude rovn;ž hovo eno pozd;ji.
3.2 Struktura mikroprocesoru Termín mikroprocesor ozna uje ve v;tšin; p ípad9 integrovaný obvod vyrobený technologií vysoké hustoty integrace. U starších typ9 mikroprocesoru nebyly vždy sou ástí mikroprocesoru všechny jeho nezbytné ásti jako jsou nap . generátor hodinového signálu, obvody pro ízení sb;rnice a jiné. Výrobci k t;mto mikroprocesor9m dodávali specializované obvody, které doplHovaly mikroprocesor o tyto ásti. Tyto obvody pak tvo ily spolu s mikroprocesorem tzv. skupinu mikroprocesoru. Sou asné typy vyráb;ných mikroprocesor9 jsou již t;mito pot ebnými ástmi vybaveny p ímo na ipu. Zjednodušené blokové schéma blíže nespecifikovaného mikroprocesoru je na obr.2.2. Toto schéma je sestaveno jen pro naše ú ely a obsahuje všechny základní ásti. Konkrétní mikroprocesory se mohou od této sestavy odlišovat. Každý mikroprocesor obsahuje 1adi , který ídí chod celého mikroprocesoru a je tvo en registrem instrukcí, obvodem pro dekódování instrukce a ídicím obvodem, což souhrn; nazýváme 1ídicí ástí. Další ástí mikroprocesoru je aritmeticko-logická jednotka, soubor registr9 – tzv. pam4Wová ást a sb;rnice, které všechny tyto ásti propojují.
27
Pojem mikropo íta a mikroprocesor
Budi
Budi Vnit ní sb;rnice
A
F P ALU
IR
R0 R1
DI
R2
PADI%
Registr
PC SP
Budi Aritmeticko -logická
ídicí ást
Pam;Rová ást
Obr. 3.2 P#íklad vnit#ního blokového schématu mikroprocesoru
3.2.1 1adi( Pídí a koordinuje innost všech ostatních ástí mikroprocesoru. Podílí se i na vytvá ení vn;jších signál9 ídicí sb;rnice celého mikropo íta e. Jeho hlavní inností je na ítat instrukci po instrukci z pam;Rových míst a po dekódování ji zpracovat. Adresa, odkud má danou instrukci na íst, se p i každém instruk ním cyklu nachází v programovém íta i ( Program Counter-PC nebo Istruction Pointer-IP) jehož obsah se po provedené instrukci nej ast;ji modifikuje prostou inkrementací. To je v p ípad;, že jsou instrukce v pam;ti uloženy postupn; za sebou. N;kdy je obsah programového íta e modifikován napln;ním jinou hodnotou, než která by vznikla inkrementací. Je to v p ípadech, kdy je t eba provést jinou instrukci, která p ímo nenásleduje za práv; provedenou. Takový p ípad nastává po instrukcích skoku (v;tvení), volání podprogramu, p erušení atd. Adresu pak musí adi zp ístupnit pam;Rovému místu, kde je uložen program - tedy instrukce - nebo data. V n;kterých p ípadech instrukce zabírá více než jedno pam;Rové místo. Pak jsou její jednotlivé ásti uloženy v pam;ti postupn; za sebou. Sou asn; jsou adi em generovány v pot ebné asové posloupnosti i signály pot ebné k ízení pam;ti. Ta po té vystaví pot ebnou instrukci nebo její ást na datovou sb;rnici (viz níže), odkud si ji adi vyzvedne a uloží do registru instrukcí (IR). V tomto registru z9stává instrukce po celou dobu jejího výkonu.
3.2.2 Soubor registr Tvo í tzv. pam;Rovou ást mikroprocesoru. Jsou to v podstat; samostatné izolované pam;Rové buHky, které jsou vytvo eny p ímo ve struktu e mikroprocesoru a jsou adresovatelné p ímým zapsáním dat. Tento zp9sob adresace zajišRuje velkou rychlost p ístupu dat bez použití adresových a ídicích sb;rnic. Tuto pam;Rovou ást mikroprocesor využívá k do asnému uchování informací - dat v pr9b;hu vykonávání operací nebo je využívána programem, tedy vlastn; uživatelem. R9zné typy mikroprocesor9 se liší také po tem registr9. N;kdy bývá uspo ádání takové, že existuje jakási základní sada registr9, tzv. banka a další registry jsou tvo eny stejnými názvy p epnutím další banky. Jinými slovy je v každém okamžiku (strojovém cyklu) p ístupná pouze jedna sada registr9. P i požadavku p ístupu do jiné banky je nutno danou banku nastavit jako aktuální. Toto je jeden z mnoha možných zp9sob9 uspo ádání pam;Rové ásti mikroprocesoru nikoliv mikropo íta e. 28
Pojem mikropo íta a mikroprocesor
3.2.3 Aritmeticko-logická (ást Je další d9ležitou ástí mikroprocesor9. Tvo í ji aritmeticko-logická jednotka a podílí se na vykonávání všech aritmetických a logických operací mikroprocesoru. U jednoduchých procesor9 umožHuje s ítat a od ítat, u výkonn;jších typ9 pak m9že provád;t násobení, d;lení a posuvy slov ve dvojnásobné p esnosti. Oproti kalkula kám mají tedy mnohem menší matematickou vybavenost a složit;jší matematické operace je t eba ešit prost ednictvím numerických algoritm9 v programu. Mikropo íta e, které jsou p edur eny pro vykonávání složit;jších nebo p esn;jších matematických operací v krátkých asech, je vhodné doplnit dalšími technickými prost edky (nap . koprocesory). N;které složit;jší mikroprocesory mohou již tyto technické prost edky obsahovat ve své struktu e. P edstaviteli t;chto mikroprocesor9 jsou nap . signálové procesory. Obsahují nap . na ipu implementovanou hardwarovou násobi ku, která umožHuje vynásobit dv; ísla v jednom strojovém cyklu. N;které aritmeticko-logické jednotky ke své innosti vyžadují tzv. st ada (akumulátor), t.j. registr, ve kterém je ve v;tšin; p ípad9 uložen jeden z operand9 vstupujících do matematické operace. další operand je po té k dispozici bui p ímo z opera ního kódu (opcode) instrukce anebo se m9že nacházet v n;jakém registru i pam;ti mikropo íta e. Je-li p ítomen st ada , pak u takových mikroprocesor9 se vždy ú astní matematických operací. Výsledek je po té uložen zp;t do st ada e. Tento zp9sob užívání st ada e m9že n;kterým uživatel9m pon;kud komplikovat práci nezbytnými p esuny p i p ísunu dat, která se stávají operandy jednotlivých operací a p i úklidu výsledk9, který je nutný, abychom si je nep epsali. N;které typy mikroprocesor9 však mohou provád;t matematické operace bez ú asti st ada e (u takových pak st ada v9bec neexistuje) a to tak, že pro tyto operace využívá bui soubor registr9 na ipu nebo p ímo pam;Rové pozice. Takové mikroprocesory se vyzna ují v;tšími možnostmi z hlediska uživatele pro vývoj programu. Menší nevýhodou p i využívání pam;ti pro matematické operace je doba p ístupu do pam;ti. Ta m9že mít za následek zmenšení výpo etní rychlosti. Pak je v tomto p ípad; vhodné využívat pam;tí (nap . umíst;ných p ímo na ipu, pokud jsou ve struktu e mikroprocesoru obsaženy), které nezat;žují mikroprocesor svou p ístupovou dobou. Sou ástí aritmeticko-logické ásti je tzv. p íznakový registr (Flags). Jednotlivé jeho bity nám dokumentují provád;né matematické operace, informují nás o významných vlastnostech výsledk9. Na základ; t;chto bit9 m9žeme pak provád;t modifikaci daného algoritmu nap . prost ednictvím podmínek v programu. Toto je základní struktura obecného, blíže nespecifikovaného mikroprocesoru. Na tento popis základních ástí a obr.3.2 se budeme ješt; dále v textu odvolávat. Nyní si ješt; popíšeme základní parametry, podle kterých je možné mikroprocesory dále d;lit. Prvním parametrem je ší ka vnit ní sb;rnice, jinými slovy kolikabitový je . V n;kterých p ípadech platí, že ší ka vnit ní sb;rnice mikroprocesoru (jeho vnit ní sb;rnice dat) je shodná se ší kou datové sb;rnice mikropo íta ové struktury s tímto procesorem. V jiných je typické, že mikroprocesor obsahuje bloky, které jsou kv9li zvýšení výkonnosti uvnit vícebitové. Ší ka vn;jší sb;rnice je v takovém p ípad; redukovaná. Obvykle se tedy ší ka vnit ní sb;rnice mikroprocesor9 posuzuje podle ší ky slova registr9 eventueln; st ada e. Druhým parametrem je rychlost mikroprocesoru posuzována podle frekvence krystalu (oscilátoru), lépe však podle výkonu mikroprocesoru daným po tem vykonaných instrukcí za sekundu. Tento údaj se udává v tzv. MIPSech, t.j. miliónech instrukcí za sekundu. Vzhledem k tomu, že instrukce trvají r9zný po et strojových cykl9, je tento údaj ur itým pr9m;rem. U mikroprocesor9 dnešní doby trvá provedení v;tšiny instrukcí pouze jeden strojový takt. Dalšími parametry m9že být nap . velikost adresovatelného prostoru, údaje o technologii výroby, které mají vliv na napájecí nap;tí a proud, apod.
29
Pojem mikropo íta a mikroprocesor
3.3 Základní innost mikroprocesoru 3.3.1 6asování mikroprocesoru U mikroprocesor9 je asování odvozeno z hodinových signál9, které mikroprocesor synchronizují. Ve v;tšin; p ípad9 je to signál vzniklý d;lením frekvence krystalového oscilátoru. Základní asovou jednotkou je tedy perioda tohoto signálu zvaná takt. Každá instrukce se potom vykonává ur itý po et takt9 (dob), celý tento as nazýváme instruk ní cyklus. Délka instruk ního cyklu se m9že lišit podle složitosti instrukce. N;které instrukce, ve v;tšin; p ípadech instrukce s podmínkou, mají prom;nnou délku instruk ního cyklu. Podle délky instruk ních cykl9 jednotlivých instrukcí jsme však schopni ur it délku trvání jednotlivého programu. Toto nap . vyžadujeme u výpo tu programového zpožd;ní. S r9stem výkonnosti mikroprocesor9 se však výrobci snaží o efektivn;jší innost mikroprocesoru, což vede k tomu, že n;které bloky pracují vlastn; paraleln; a jednotlivé instruk ní cykly se p ekrývají - tzv.pipelining. Pak je výpo et doby programu velmi problematický, ne-li nemožný. Mezi instruk ním cyklem a jednotlivými takty ješt; obvykle rozeznáváme tzv. strojové cykly. Jsou to díl í operace, ze kterých se instruk ní cyklus sestává a obvykle souvisejí s innostmi, které prob;hnou mezi mikroprocesorem a jeho okolím. Prvním strojovým cyklem každého instruk ního cyklu je ve v;tšin; p ípadech na tení opera ního kódu instrukce do instruk ního registru IR. Dalším strojovým cyklem se instrukce dekóduje na daný opera ní kód, v dalších strojových cyklech nastává tení operand neboli dat a vykonání instrukce. Strojový cyklus se pak skládá z jednotlivých takt9 a je jednozna n; stanoveno, jakou innost mikroprocesor v každém taktu vykonává, kdy generuje které ídicí signály, kdy naopak ídicí signály testuje. V manuálech jednotlivých mikroprocesor9 jsou asové posloupnosti uvedeny v asových diagramech zápisu a tení z a do pam;ti, periférií apod.
3.3.2 Instruk(ní soubor Již bylo e eno, že adi na ítá do registru instrukcí jednotlivé instrukce z n;jakého pam;Rového místa. Tyto jsou však v pam;ti uloženy v tzv. binární form;, tedy ve form; nul a jedni ek. Je z ejmé, že tato forma zápisu není pro p ípravu programu vhodná. I kdybychom p evedli tuto formu na hexadecimální a tedy daleko p ehledn;jší, stále není nejvhodn;jší. Snahou je vyjád it instrukce i jejich adresy n;jakou vhodnou, p ehlednou a pro uživatele p ijatelnou formou. Jedním z takových vhodných zp9sob9 zápisu programu je tzv. Jazyk symbolických adres (JSA). Každý typ mikroprocesoru má jazyk symbolických adres definovaný výrobcem a soupis instrukcí v tomto zápisu bývá sou ástí každého manuálu. Nic však nebrání tomu, abychom použili pro stejný typ mikroprocesoru jazyk symbolických adres sv9j nebo vypracovaný jinými uživateli. Výrobci taktéž dodávají i ásti programového vybavení a pomocné prost edky pro vývoj programového vybavení a potom tedy použití stejného JSA usnadHuje a asto i podmiHuje užívání t;chto prost edk9. V jazyce symbolických adres je každá instrukce tvo ena krátkým snadno zapamatovatelným jménem (mnemonickou zkratkou), které bývá tvo eno zkrácením popisu funkce instrukce. Instrukce se skládá jak už bylo e eno z jednoho nebo n;kolika slov. Obsahuje vždy nejprve opera ní kód instrukce (Opcode). N;kterým instrukcím to sta í, jiné obsahují bezprost edn; v sob; data nebo adresu, které, pokud se nevejdou do jednoho slova, jsou uloženy v dalších slovech. Ší ka slova v této kapitole je v podstat; shodná s ší kou datové sb;rnice mikroprocesoru. N;kdy bývá zvykem nazývat slovem 16 bit9. Instrukce m9žeme rozd;lit podle jejich inností do n;kolika skupin.
Instrukce p1esunV Tato skupina instrukcí je vlastn; základní. Je nutno mít možnost p esouvat data mezi jednotlivými ástmi mikroprocesoru i mikropo íta e. Tyto instrukce p esouvaná data neovlivHují. K p esun9m dochází mezi jednotlivými registry mikroprocesoru, mezi pam;Rovými buHkami i mezi sebou navzájem. K t;mto instrukcím rovn;ž adíme i ty, které daný registr nebo pam;Rovou buHku naplHují novými daty. Dále do této skupiny také adíme instrukce pro práci se zásobníkem (podrobn;ji o 30
Pojem mikropo íta a mikroprocesor zásobníku viz. kap.3.4). Mikroprocesor obvykle dovoluje p esuny tolikabitových dat, kolikabitový sám je. Nabízí i n;kolik instrukcí ve dvojnásobné délce. Tyto pak vlastní p esun provád;jí nadvakrát. Dalším typem instrukcí p esunu jsou pak instrukce p esunu bloku dat. U v;tšiny mikroprocesor9 tyto instrukce neovlivHují p íznaky. Nelze tedy data p esunou a ihned testovat, zdali jsou nap . nulové. Je nutno provést instrukci, která tyto p íznaky nastaví. Není to však pravidlem a je tedy t eba se podrobn; seznámit s daným typem mikroprocesoru a jeho instruk ním souborem.
Instrukce aritmetické Mezi tyto pat í instrukce provád;né v aritmeticko-logické jednotce. Mikroprocesory jsou vybaveny pouze jednoduššími operacemi (s ítání, od ítání, násobení a d;lení) v délce slova odpovídající mikroprocesoru a n;kolika instrukcemi v dvojnásobné p esnosti. Zpracování složit;jších operací, jak už bylo e eno, je provád;no numerickými algoritmy nebo je p enecháno r9zným matematickým koprocesor9m. Podle t;chto instrukcí také snadno zjistíme, zda se u mikroprocesoru podílí na matematických operacích st ada anebo zda mikroprocesor dovoluje umíst;ní operand9 a výsledku i v jiných registrech i pam;Rových buHkách. Tyto instrukce zpravidla ovlivHují p íznakový registr, který vlastn; obsahuje další informace o výsledku.
Instrukce logické Tyto instrukce eší logické operace jako je nap . logický sou et, sou in apod. s daty. V;tšinou se tyto instrukce vztahují na celé slovo. Taktéž tyto instrukce mohou ovlivHovat n;které p íznaky.
Instrukce posuvu a rotace Provád;jí posun jednotlivých bit9 binárního ísla (slova) o jeden doleva nebo doprava. U posuv9 je charakteristické, že bit, který opustí nejvyšší nebo nejnižší pozici slova se ztrácí a na druhé stran; je nahrazen nej ast;ji nulou nebo jedni kou podle druhu posuvu. U t;chto instrukcí se velmi asto s výhodou využívá skute nost, že posuv doprava s dopln;ním nejvyšší pozice nulou p edstavuje d;lení dv;ma a posuv doprava s dopln;ním nejnižší pozice nulou p edstavuje naopak násobení dv;ma. U rotace probíhá taktéž posun s tím, že bit který opouští nejvyšší pozici je za azen na pozici nejnižší a naopak. Rotace je provád;na s p íznakovým bitem CY nebo bez n;j podle použité instrukce.
Instrukce skoku (v4tvení) Tato skupina instrukcí ovlivHuje programový íta , což ve své podstat; zp9sobí, že program nepokra uje následující instrukcí ale instrukcí, která se nachází na adrese, jež je uvedena jako parametr instrukce skoku. Rozeznáváme n;kolik druh9 instrukcí skoku.
Nepodmín4ný skok Nastavuje vždy programový íta na hodnotu danou parametrem instrukce. Parametr je v zápisu programu uveden ve v;tšin; p ípadech jako náv;ští, které udává adresu, kde má daný program pokra ovat. Toto náv;ští se pak v zápisu programu umísRuje p ed danou ást programu.
Podmín4ný skok Vykoná skok pouze je-li spln;na ur itá podmínka op;t uvedena v parametrech instrukcí. Není-li spln;na podmínka, program pokra uje následující instrukcí.
Volání podprogramu
31
Pojem mikropo íta a mikroprocesor Funkce této instrukce je podobná nepodmín;nému skoku s tím rozdílem, že p ed modifikací programového íta e novou hodnotou se p9vodní hodnota uloží do tzv. zásobníkové pam;ti (viz. kap.8). Tím se pak umožní návrat na instrukci následující za instrukcí volání poddprogramu po návratu z podprogramu.
Návrat z podprogramu Tato instrukce modifikuje programový íta hodnotou, která byla poslední uloženou v zásobníkové pam;ti. Program dále pokra uje v míst; hlavního programu, ve kterém nastalo volání podprogramu viz. p edchozí instrukce. Poslední dv; instrukce mohou být podmín;né - jsou tedy vykonány pouze p i spln;ní podmínky v parametru instrukce.
Instrukce 1ídicí Zde m9žeme za adit instrukce, které v mikroprocesoru n;co nastavují. Jsou to nap . povolení a zákaz p erušení, výb;r bank registr9, pam;tí, nastavení nebo nulování bit9 n;kterých registr9 atd.
3.3.3 Zp soby adresování Jak již bylo e eno, v;tšina instrukcí vykonává innosti s ur itými daty. Tyto data jsou ve své podstat; operandy instrukce. Adresování pak eší, jakým zp9sobem se mikroprocesor k t;mto dat9m dostává. Je d9ležitou informací p i seznamování se s inností mikroprocesoru a p ibližn; nastiHuje filozofii jeho práce. Nap . u instrukcí p esunu musí mikroprocesor adresovat jak zdroj dat této operace, tak i cíl, takže adresuje dvakrát. Toto m9že provád;t r9znými metodami. Celou adu t;chto metod m9žeme spolu kombinovat, což n;kdy vytvá í pom;rn; komplikované, ale velmi efektivní vytvá ení adresy. N;které instrukce adresují implicitn;, což znamená, že adresa nebo adresy jsou již ukryty v opera ním kódu instrukce. Nej ast;ji je toto adresování typické pro instrukce pracující se st ada em. I když se m9že uživateli p i psaní programu v jazyce symbolických adres zdát, že je tento operand vyjád en explicitn;, jedná se o implicitní vyjád ení adresy. Pozn.: Pro ilustraci uvádíme zám;rn; více instrukcí od r9zných mikroprocesor9, které vykonávají stejnou innost.
Bezprost1ední adresování U tohoto adresování není uvedena adresa operandu v pravém slova smyslu, nýbrž po opera ním znaku následuje bezprost edn; sám operand. Je vlastn; sou ástí instrukce nebo-li opera ního kódu (Opcode). Jako p íklad m9žeme použít instrukce, které naplní registr B hodnotou 0A3h. Zápisy pak mohou vypadat: MVI B,0A3h MOV B,#0A3h LD B,0A3h LACC #1024 podle typu procesoru. Bezprost edním operandem je zde íslo 0A3h. Operand je zapsán v hexadecimálním kódu, o emž informuje písmeno h za íslem. Zápis nuly p ed íslem je nutný pro v;tšinu p eklada 9, za íná-li íslo písmenem. Cíl dat, tedy registr B, je adresován implicitn;, defacto je dán instrukcí, resp. opera ním kódem. Toto adresování je též n;kdy nazýváno Adresa nultého #ádu. 32
Pojem mikropo íta a mikroprocesor
P1ímé adresování Adresa se u tohoto zápisu nachází ihned za opera ním kódem instrukce. Jako p íklad uveime instrukci p esunu obsahu pam;Rové buHky z adresy 2000h do st ada e: LDA 2000h, MOV A, 2000h ... u I8086 x LACC 2000h ... u DSP TMS 320C50 Opera ní pam;R Adresa obsah 1FFEh 345 1FFFh 12 2000h 58 2001h 10 2002h 0
Instrukce LDA 2000h Obsah st ada e (registru A) p ed provedením instrukce 10 po provedení instrukce 58
Registrované adresování Instrukce se v;tšinou skládá ze dvou ástí. Z opera ního znaku, který ur uje co má procesor vykonávat a z adresové ásti, která obsahuje adresy nebo operandy nebo oboje. N;které instrukce však sestávají pouze z opera ního znaku a p esto explicitn; ur ují adresy operand9. Operandy se nacházejí v registru. Instrukce pak obsahuje název tohoto registru. Uvedený zp9sob adresování lze tedy také ozna it jako p ímé registrové adresování. MOV R0,R1 MOV A,B
Nep1ímé adresování P i tomto zp9sobu adresování se v parametru instrukce nachází odkaz na registr nebo adresu, kde teprve je uložena adresa operandu. Nej ast;ji se tento zp9sob vyskytuje v podob; nep ímého registrového adresování. I když se tento zp9sob zdá na první pohled pon;kud komplikovaný, jedná se o dosti asto využívaný zp9sob adresování. N;kdy se také m9žeme setkat s názvem adresa druhého ádu. ADD A, @R0 ADD * ADD M Opera ní pam;R Adresa obsah 33h 345 32h 12 31h 58 30h 10 2Fh 0
Obsah registru R0 30h Instrukce ADD A, @R0 Obsah st ada e (registru A) p ed provedením instrukce 1 po provedení instrukce 11
Jak již bylo e eno, jedná se o asto využívaný zp9sob adresování. Nap . pouhou inkrementací registru R0 a opakováním instrukce ADD pak m9žeme k akumulátoru p i íst obsah dalšího pam;Rového místa. 33
Pojem mikropo íta a mikroprocesor
Relativní adresování Adresová ást instrukce, tedy její parametr neur uje v tomto p ípad; p ímo adresu pam;ti, ale p edstavuje tzv. posunutí (relativní adresu). Úplnou absolutní adresu obdržíme teprve p i tením relativní adresy ke vztažné (bázové) adrese, která je uložena v bázovém registru. Bází m9že být rovn;ž i programový íta a díky tomu m9žeme provád;t i relativní skoky. V tomto p ípad; se jedná o tzv. autorelativní adresování. Nap . instrukce JMP +5 k obsahu programového íta e p i te 5. Toto provede skok v programu o p;t adresových míst vp ed. Tato vlastnost relativního adresování umožHuje p esunout program do jiných oblastí pam;tí aniž bychom museli m;nit adresy u skokových a jiných instrukcí s relativním adresováním. Program psaný s takovými instrukcemi je tedy bez úprav p emístitelný.
Stránkové adresování Jedná se v podstat; o slou ení adresování p ímého a relativního. Abychom mohli zkrátit relativní adresu obsaženou v instrukci, rozd;líme pam;R na menší celky. Bázová adresa ur uje po átek stránky a relativní adresa pak ur uje pozici na stránce. Nap . u šestnáctibitového adresování m9žeme pam;R rozd;lit na osmibitové adresované stránky. Stránkový registr pak obsahuje horních 8 bit9 a spodních 8 je obsaženo v parametru instrukce - p ímá adresa. B;žné instrukce dovolují pohyb pouze po práv; vybrané stránce, p echod na jinou stránku je proveden tzv. dlouhým skokem, kdy se m;ní nejen ukazatel v rámci stránky, ale i obsah stránkového registru. Tento zp9sob adresování zkracuje délku instrukcí.
Segmentové adresování Využívá obdobných princip9 výše uvedených adresování. M9že vypadat tak, že všechny instrukce mikroprocesoru jsou schopny adresovat pouze ást adresového prostoru, tzv. segment. Segmentových registru m9že být n;kolik, jeden je ur en pro program, druhý pro data, další pro zásobník a dle pot eby i další. Po átek segmentu nám pak ur uje obsah odpovídajícího segmentového registru p íslušného pam;Rového prostoru. Relativní zp9soby adresování se s výhodou používají pro práci s tabulkami nebo pro hromadné p enosy dat.
Bitové adresování N;které mikroprocesory mají podporu pro vykonávání jednobitových logických operací rozší enu také o schopnost adresovat ást pam;ti po jednotlivých bitech. V takovém p ípad; hovo íme o bitovém adresování. Jde v podstat; o jistý druh p ímého nebo registrového adresování s tím, že se jedná o možnost podrobn;jšího adresování uvnit pam;Rové buHky.
Adresování dat v zásobníku Ve strukturách mikroprocesoru se ve v;tšin; p ípad9 vyskytuje tzv. zásobníková pam;R. Tato má pro innost mikroprocesoru velký význam, protože se do ní ukládají tak d9ležité informace, jako jsou návratové adresy z podprogram9, stavové informace (stavové slovo - p íznakový registr), st ada , bity ur ující výb;r bank apod. O této pam;ti a její adresování budeme podrobn;ji hovo it v následující kapitole.
3.4 P1erušení Systém p erušení zajišRuje rychlou reakci mikroprocesoru a mikropo íta e na n;jaký podn;t bui z okolí mikropo íta e, nap . sepnutí havarijního spína e nebo p ímo z technického vybavení mikropo íta e i mikroprocesoru, nap . p ete ení asova e, chyba d;lení nulou atd. Tém; naprostá v;tšina mikroprocesor9 je vybavena možnosti tzv. p erušení. Tato možnost podporována 34
Pojem mikropo íta a mikroprocesor hardwarovým uspo ádáním mikroprocesoru je pak v mikropo íta ovém systému rozší ená o celý systém p erušení. Tento systém pak obsahuje ve své struktu e n;kolik vstup9 žádosti o p erušení. Na tyto vstupy mohou být p ipojeny nejr9zn;jší zdroje p erušení, které mohou aktivovat žádost o p erušení v libovolných okamžicích. První innost, kterou s t;mito žádostmi systém provede, je výb;r t;ch žádostí, které mají v daný okamžik význam. Ostatní mohou být zakázány. V mikropo íta ové terminologii se tomuto výb;ru íká maskování zdroj9 p erušení. Dále pak je t eba vy ešit otázku priority, to znamená v p ípad; více žádostí o p erušení rozhodnout, která bude obsloužena jako první. Na základ; toho pak vzniká žádost o p erušení práv; probíhajícího programu mikroprocesoru. V p ípad; p ijetí žádosti, což ješt; také m9že záviset na aktuálním stavu innosti mikroprocesoru, informuje tímto signálem na ídicí sb;rnici a následuje fáze identifikace zdroje. p erušení, b;hem které je stanovená adresa, na které se za ne vykonávat obslužný podprogram p erušení. Tato adresa je potom na tena do programového íta e. Zde je tedy innost p9vodního programu p erušena a chystá se na p edání ízení jinam. Je však ješt; nutno provést velmi d9ležitou úschovu n;kolika informací, jež nám pozd;ji umožní po vykonání obslužného programu p erušení vrátit se k provád;ní p9vodního programu. Ješt; p ed provedením první instrukce obslužného podprogramu je nutno uložit obsah programového íta e, který ur uje návratovou adresu. To však v;tšinou zajišRují technické prost edky daného mikroprocesoru. Krom; obsahu programového íta e obvykle také uschováváme obsahy dalších registr9 zejména t;ch, které využívá jak p erušovaný, tak p erušující program. Toto již však v;tšinou provádíme instrukcemi v obslužném programu p erušení. Po vykonání vlastního algoritmu obslužného programu je pak nutné všechny uchované informace vrátit do p9vodních prostor9 (registr9). Obsah programového íta e se posléze obnovuje automaticky vykonáním instrukce návratu z p erušení. Více žádosti o p erušení m9že být obsluhováno postupn; tak, že žádost pozd;ji aktivovaná je obsloužena až po skon ení obslužného programu p edchozího p erušení. Takovému zpracování p erušení íkáme jednoúrov ová p1erušení. Druhou možností je p erušit i obslužný podprogram p erušení. Takový p ípad m9že nastat v p ípad; dalšího výskytu žádosti o p erušení s vyšší prioritou. Nastává pak p erušení v p erušení neboli víceúrov ové p1erušení. P i více zdrojích p erušení se pak celá situace m9že zkomplikovat neboR p i astých žádostech o p erušení m9že dojít k zablokování takového systému anebo v lepších p ípadech k neobsloužení p erušení s nižší prioritou. Návrh systému a software pak vyžaduje nutnost možnosti dynamického p i azování priorit jednotlivým zdroj9m. Zbývá ješt; objasnit, kam se ukládají ony informace p i obsluhování jednotlivých p erušení. Pro úschovu t;chto informací je tém; každý mikropo íta ový systém vybaven tzv. zásobníkem. Ten je sou ástí bui samotného mikroprocesoru nebo pam;ti mikropo íta e. U n;kterých typ9 mikroprocesor9 se dokonce vyskytují tzv. stínové registry n;kterých d9ležitých registr9, do nichž se pak obsahy registr9 p i obsluhách p erušení ukládají automaticky. Zásobníková pam;R (stack nebo sklípek) je v podstat; pam;R typu LIFO neboli pam;R se sériovým p ístupem. P i používání této pam;ti se již nestaráme o to, kam se daná data ukládají, pouze se musí zabezpe it správný sled výb;ru. Adresa je v;tšinou ur ována obsahem registru SP (Stack Pointer), jehož po áte ní obsah je také možno u n;kterých mikropo íta 9 nastavit softwarov;. Jeho další modifikaci již pak zabezpe ují v;tšinou instrukce ukládání do zásobníku (instrukce PUSH) a výb;r ze zásobníku (instrukce POP). Vzhledem k tomu, že u v;tšiny mikropo íta 9 je tento zásobník sou ástí b;žné opera ní pam;ti RAM, je nutné hlídat nebo se na základ; struktury programu ujistit, aby obsah registru SP nedosáhl dna pam;ti anebo aby naopak nep etekl do té ásti pam;ti RAM, která je ur ena nap . pro program. Celá ada mikroprocesor9 opušt;ní tohoto prostoru nehlídá.
35
Pojem mikropo íta a mikroprocesor
Shrnutí pojmV 3 Klí ová slova: Mikroprocesor, mikropo íta , 1adi , registr, p1erušení, adresování
Otázky 3 1. Vysv;tlete pojem mikroprocesor 2. Vysv;tlete rozdíl mezi mikropo íta em a mikroprocesorem 3. Co tvo í mikropo íta 4. Vysv;tlete pojmy adi , registr, aritmeticko-logická jednotka 5. Popište základní innost mikroprocesoru 6. Co je to instruk ní soubor 7. Objasn;te n;které zp9soby adresování 8. Vysv;tlete princip p erušení
36
Adresní dekodéry
4
Sb4rnice as ke studiu: 1,5 hodin Cíl
Po prostudování tohoto odstavce budete um;t
• • • •
vysv;tlit princip innosti spole né sb;rnice vysv;tlit stav vysoké impedance popsat p enos informace po spole né sb;rnici druhy sb;rnic v mikropo íta ových systémech
Výklad Jak již bylo zmín;no v úvodu p edchozí kapitoly, jsou nedílnou sou ástí každého mikropo íta e, ale i samotného mikroprocesoru, sb;rnice. Jejich úkolem je p enášet informace mezi mikroprocesorem a ostatními ástmi mikropo íta e (pam;ti, port apod.) eventueln; mezi ástmi uvnit mikroprocesoru ale i mezi mikropo íta em a okolím. Z t;chto možností využití sb;rnic pak také vyplývá jedno z kritérií d;lení sb;rnic. Než p ejdeme k samotnému d;lení je nejd íve nutno si ud;lat p edstavu o principu p enosu informace po sb;rnici. V b;žných logických sítích je obvyklé, že výstupní signál jednoho obvodu je p iveden na jeden nebo n;kolik vstup9 dalších obvod9. Tedy jinak e eno, k vodi i, jimž se p enáší informace, je p ipojen pouze jeden její zdroj (budi ) a n;kolik sníma 9. V technice mikropo íta 9 je využit jiný princip. Všechny bloky mikropo íta e jsou paraleln; propojeny souborem vodi 9 – spole nou sb;rnicí (Bus). Tyto bloky však mají však schopnost informaci jak snímat, tak ji na sb;rnici p edávat. Ke sb;rnici je tedy p ipojeno n;kolik zdroj9 informace a aby p enos m;l smysl a aby nedošlo ke kolizi, je t eba ur it: •
Který blok bude informaci na sb;rnici dodávat a který snímat.
•
Kdy je informace na sb;rnici platná
Jedním z ú astník9 každého p enosu na sb;rnici, jak bude vysv;tleno v dalších kapitolách, bývá až na výjimku samotný mikroprocesor. Ten v t;chto p ípadech rovn;ž ur uje sm;r p enosu, druhého ú astníka p enosu, kdy má být informace na sb;rnici platná a další nutné údaje o p enosu. Z výše uvedeného pak vyplývá první z kritérií d;lení sb;rnic. V technice mikropo íta 9 tedy rozeznáváme: •
Datové sb;rnice
•
Adresové sb;rnice
•
Pídicí sb;rnice
4.1 Adresová sb4rnice Pokud chce mikroprocesor íst data z n;jakého bloku nebo je zapisovat, musí n;jakým zp9sobem sd;lit místo tení i zápisu. Toto místo je identifikováno tzv. adresou, která se p enáší po adresové sb;rnici. Zdrojem této informace jak již bylo e eno je mikroprocesor. Po et bit9 adresové sb;rnice (po et vodi 9) odpovídá po tu bit9 adresy, kterou je schopen mikroprocesor vytvo it a ur uje maximální využitelný adresovatelný prostor. Nap . osmibitová adresová sb;rnice adresuje maximáln; 28 = 256 adres, šestnáctibitová adresuje 65536, tj. 64k adres. 37
Adresní dekodéry T;chto prostor9 m9že být ovšem více, což pak závisí na architektu e samotných mikroprocesor9. Univerzální mikroprocesory mají obvykle dva adresové prostory – pro adresování pam;ti a pro adresování vstup9 a výstup9. Každý blok, který s mikroprocesorem komunikuje, musí být umíst;n v n;kterém z t;chto dvou prostor9. Tyto dva prostory nejsou rovnocenné, rozlišení adresovatelného prostoru zajišRuje ídicí sb;rnice.
4.2 =ídicí sb4rnice Je spíše souhrnem individuálních signál9 aktivních v r9zných okamžicích s r9zným významem. Jednotlivé signály mají též r9zné zdroje. N;které jsou generovány mikroprocesorem, n;které mohou být ovlivHovány jinými bloky. K jednotlivým blok9m jsou pak p ivedeny jen ty signály, které se jich týkají. N;které z typických signál9 ídicí sb;rnice jsou uvedeny níže. RESET Signál, kterým je vybaven každý mikroprocesor a který ho uvádí do základního (výchozího) stavu. Aktivuje ho buM uživatel nebo je generován p#ídavným obvodem nap#. p#i zapnutí napájení. Tímto signálem mohou být uvád ny do základního stavu i jiné bloky mikropo/íta/e. MR (RD) Memory Read (Read) – signál /tení z pam ti (/tení z blok&) Signály zabezpe/ující /asování p#enosu informací z pam tí /i jiných blíže nespecifikovaných blok& do mikroprocesoru nebo mikropo/íta/e. MW (WR, WE) Memory Write (Write, Write Enable) – zápis do pam ti (zápis do blok&) Signály zabezpe/ující /asování p#enosu informací do pam tí /i jiných blíže nespecifikovaných blok& z mikroprocesoru nebo mikropo/íta/e. IOW/IOR – Input-Output Write/Read – zápis//tení do/z výstupu N které architektury mikroprocesor& /i mikropo/íta/& podporují odd lené instrukce pro zápis do periferních blok&. Pak jejich #ídicí sb rnice obsahují signály IOW/IOR pro /asování p#enosu do/z t chto blok&. READY – p#ipravenost obvodu N kdy je nutno k mikroprocesoru p#ipojit obvody, které s hlediska svého /asování nevyhovují a nestíhají požadovanou /innost. V takovém p#ípad musí být možnost pozastavit /innost mikroprocesoru nap#íklad tak, že p#ed svou další /inností vloží tzv. /ekací smy/ky (Wait stavy) a nap#. p#i /tení z pam ti si na platná data po/ká. Musí být však informován o žádosti pozastavení práv signálem READY. Pídicí sb;rnice m9že dále obsahovat alespoH jeden hodinový signál pro pot eby jednotlivých blok9. Uvedené ídicí signály se u r9zných mikroprocesor9 liší.
4.3 Datová sb4rnice Po této sb;rnici probíhá p enos všech dat v mikropo íta i. Data se p enášejí vždy mezi dv;ma bloky mikropo íta e – nap íklad z pam;ti do mikroprocesoru a podobn;. Jak již bylo e eno ú astní se mikroprocesor až na výjimku jako p ijíma a vysíla všech p enos9 v mikropo íta i. Zám;rn; jsme popis této sb;rnice ponechali až na konec tohoto kritéria d;lení sb;rnic, neboR je nutné si nyní vysv;tlit princip obousm;rného a n;kolika blokového p enosu informací po této sb;rnici. Z výše uvedeného vyplývá, že p i této úvaze je nutné, aby v jakémkoliv okamžiku byl aktivní pouze jeden vysíla , jinak e eno budi sb;rnice. P i nedodržení této podmínky by na datové sb;rnici došlo k neur itosti signálu, v horším p ípad; pak ke zni ení jednoho nebo obou vysílacích obvod9. Proto je tedy nutné vybavit bloky p ipojované na datovou sb;rnici obvody, jež umožní odpojení tohoto bloku od datové sb;rnice, je-li to s hlediska p enosu informace (tj. když se zrovna neú astní p enosu) nutné. Takové obvody nazýváme t ístavovými budi i sb;rnice. Jejich princip a realizace je na obr. 4.1. P íklad jednoho vodi e obousm;rné datové sb;rnice s t ístavovými budi i je na obr. 4.2. V okamžiku zachyceném na tomto obrázku probíhá p enos logické nuly z bloku 1 do bloku 3, ostatní budi e i sníma e jsou odpojeny. Obrázek 4.3. zachycuje dv; obvyklá ozna ení t ístavových budi 9. 38
Adresní dekodéry Ovládání t etího stavu n;jakého bloku vybaveného t ístavovým budi em je provedeno signálem CS (CE) Chip Select (Chip Enable).
Výstup
Pízení
T etí stav (stav vysoké impedance)
Výstup
Výstup
Výstup v log. 0
Výstup v log. 1
Výstup
Realizace
Obr. 4.1 Obousm rná datová sb rnice
1
2
3
&
&
& 0
0
0
1
Obr. 4.2 P#íklad vedení v jednom sm ru
S
A
S
B
A
B
Obr. 4.3 Zna/ení t#ístavových budi/& D9ležitým parametrem datové sb;rnice je její po et bit9 (její tzv. ší ka). Tento parametr má vliv na rychlost komunikace, neboR udává, kolik bit9 se p enáší najednou. Nemá však smysl, aby tento po et byl v;tší, než kolikabitový je mikroprocesor. 39
Adresní dekodéry V souvislosti s ší kou adresové a datové sb;rnice se nabízí, že celkový po et bit9 pam;Rového prostoru (pam;ti) získáme vynásobením obou ší ek. U n;kterých mikroprocesor9 to však není pravda. Pam;Rové buHky z9stávají osmibitové i u šesnáctibitových mikroprocesor9 (mikropo íta 9). Je tak umožn;n p ístup i k menším jednotkám. Tak je možno šet it pam;R pro „kratší“ data, ale významn;jším d9vodem je kompatibilita vyšších typ9 mikroprocesor9 s nižšími p i zm;n; po t9 bit9. Maximální délka sb;rnic je omezena bezproblémovým p enosem signál9 p i dané frekvenci p enosu a nep íznivých vlivech jako je vzájemná kapacita vodi 9, parazitní induk nosti atd. Bývá nejvýše desítky centimetr9. V n;kterých p ípadech je vhodné šet it po et vodi 9 a proto se provádí tzv. multiplexování sb;rnic. Signály dvou sb;rnic (nej ast;ji datové a adresové) jsou vedeny ve spole ných vodi ích tak, že jsou aktivní v r9znou dobu. Jaký význam mají práv; p enášená data na multiplexované sb;rnici se pozná podle signál9 ídicí sb;rnice. U n;kterých mikroprocesor9 bývá po et vodi 9 (bit9) datové sb;rnice nižší než adresové, ímž se mohou multiplexovat jen dolní bity adresové sb;rnice s datovými. Další d9ležitou úlohu p i p enosu informace po sb;rnicích má tzv. asování. Z t;chto d9vod9 každý výrobce mikroprocesorových komponent uvádí v manuálech asovací diagramy. Tyto diagramy jsou také velmi d9ležité pro návrhy a realizace mikroprocesorových ídicích systém9. Používané zna ení v t;chto diagramech pak vysv;tluje obr. 4.4.
1
2
3
2
1
Obr. 4.4 :asovací diagram Úseky 1 informují o stavu vysoké impedance, tedy že všechny budi e jsou odpojené od sb;rnice. V úsecích 2 se informace na vodi ích m;ní. V úseku 3 jsou pak data na sb;rnici platná, informace je ustálená. T ístavové budi e sb;rnice mohou být tedy jednosm;rné nebo obousm;rné. Tyto budi e mají tedy ješt; krom; schopnosti odd;lovat od sb;rnice také d9ležitou úlohu spo ívající ve výkonovém posílení. Obvykle je t;mito budi i již vybavována naprostá v;tšina pam;tí, obvody vstupu a výstupu, adi 9 p erušení, íta 9 apod. Tam, kde implementovaný budi nesta í pro p ipojený po et blok9, posiluje se sb;rnice vložením dalších budi 9. Je ovšem nutné mít na pam;ti, že každé vložení jakéhokoliv prvku do cesty signálu zp9sobuje jeho zpožd;ní dané zpožd;ním hradel v signálové cest; a možný výskyt problém9 p i asování sb;rnic. Další kritérium d;lení sb;rnic pak souvisí s architekturou mikropo íta ových ídicích systém9. Rozeznáváme pak: •
Vnit ní sb;rnice mikroprocesoru
•
Vnit ní sb;rnice mikropo íta e
•
Vn;jší sb;rnice mikropo íta e
Mikroprocesor m9žeme v prvém p iblížení chápat jako ernou sk íHku se známým vn;jším chováním vzhledem k signál9m a instrukcím programu a jeho vnit1ní sb4rnice mikroprocesoru nás tém; nebude zajímat. Její architektura je dána p evážn; architekturou mikroprocesoru. Vnit1ní sb4rnice mikropo íta e nám pak propojuje mikroprocesor s ostatními prvky mikropo íta e a dovoluje nám tedy vytvá et r9zná uspo ádání mikropo íta e, optimální cenov; a funk n; pro danou aplikaci. 40
Adresní dekodéry Vn4jší sb4rnice mikropo íta e nebo také sb;rnice styku s okolím i sb;rnice multiprocesorového systému má adu zvláštností, vyplývající z charakteru okolí. Ve složit;jších systémech, sestavených z n;kolika mikropo íta 9, je okolím jednoho mikropo íta e jiný mikropo íta . Sb;rnice jsou pro takový ú el pon;kud rozší eny a upraveny, neboR je t eba navíc rozhodovat o priorit; pod ízených mikropo íta 9. Priorita se m9že v pr9b;hu algoritmu dynamicky m;nit podle okamžitých pot eb systému. Jindy se pomocí vn;jší sb;rnice mikropo íta e p ipojují k danému mikropo íta i další p ídavná za ízení. V malých systémech jsou tato za ízení p ipojována ke spole n; sdílené vnit ní sb;rnici mikropo íta e, ve velkých systémech jsou p ídavná za ízení p ipojována k vn;jší sb;rnici prost ednictvím adi e této sb;rnice. (Sb;rnice MULTIBUS, ISA atp.)
Pozn.: S rozvojem po íta e se standard9 vyst ídalo n;kolik, n;které byly tak úsp;šné, že ješt; dnes se p es všechny své ne esti používají, na jiné se velmi rychle a ochotn; zapomn;lo. ISA Ve zkratce z „industry standard architecture“ p edstavuje nejstarší ze standard9, datovaných z dob po íta ového st edov;ku – procesoru 286. Frekvence, na kterém sb;rnice pracuje d;lá o n;co více než 8 MHz. Data mohou v ší ce šestnácti bit9. Typická p enosová rychlost d;lá asi 5 MB/s. ISA je zatím nejslavn;jší se sb;rnic, neboR i dnes, po více než desítce let se stále slot ISA na základních deskách nachází. D9vod9 je více, ale mezi ty hlavní asi pat í skute nost ze karet pracujících na principech ISA je sále moc, a ISA je na výrobu nejlevn;jší ze sb;rnic. EISA (extended ISA) je prvním rozší ením ISA. Rozeznat od ISY lze tak, že uvnit jejího konektoru jsou dv; ady kontakt9, nikoli jediný jako u ISY. D9vod je jednoduchý: do EISA m9žeme umístit kartu ISA. P enosová rychlost se zvýšila na 33 Mb/s a ší ka dat na 32 bit9. Frekvence musela z9stat kv9li kompatibilit; s ISOU stejná. VESA neboli „video equipment standards association“ byla zkonstruována za éry procesoru 486. Jedná spíše o další rozší ení ISY, protože VESA je umíst;na p9l centimetru za ISOU a karta pracující na principu ISA tedy m9že využívat služeb sb;rnice VESA. K tomu musí být karta o n;co delší. Frekvenci VESY lze nastavit v rozsazích 25 – 50 MHz. PCI Byl a dosud je p evratnou novinkou v oblasti systémové sb;rnice. Frekvence práce PCI sb;rnice se pohybuje v intervalu 25 – 33 MHz. Ší ka p enášených dat se vyšplhala na 64 bit9, a typická p enosová rychlost m; í 132 Mb/s. Zdaleka nejv;tší novinkou je konfigurace typu „Plug & Play“, kdy uživatel nemusí zadávat (jako nap . u ISY) adresu karty, volné IRQ nebo DMA. Pro instalaci karty PCI ji sta í zastr it do (vypnutého!) po íta e a systém by m;l zkonfigurovat zbytek automaticky. AGP Pochází stejn; jako PCI z dílny Intelu. Jedná se o speciální „klon“ PCI, jíž mohou proudit pouze data pro grafický adaptér. AGP (accelerated graphic port) je p ímo propojen s pam;tí, takže data nemusí proudit p es systémovou sb;rnici. Tento zp9sob m9že p enos dat zvýšit více než dvojnásobn;. Typická p enosová rychlost AGP je 264 Mb/s. Vylepšením AGP (postupn; 2x a 4x – stejn; jako u cdromu) se p enosová rychlost stále zvyšuje. PCMCIA „Personal computer memory card association“ - Byla navržena hlavn; pro notebooky. Jedná se o velmi malý externí konektor, do kterého se zasunují externí rozši ovací karty. Její princip je podobný s ISA, až na tom, že vlastní rozší ení se mohou instalovat i za b;hu po íta e, takže sb;rnice pot ebuje i speciální software. USB Neboli Universal Serial Bus n;kdy z legrace p ekládaná jako univerzální sériová budoucnost, je pom;rn; novým konektorem, který p inesl spoustu zm;n. Nap íklad se p es jediný konektor m9že p ipojit 127 r9zných za ízení, ta je možno p ipojovat a odpojovat za chodu po íta e, a použít bez restartu systému. Napájení pro za ízení jsou integrovány p ímo v USB kabelu, což velmi „zelegantní“ vzhled PC.
Záv;rem Oblast systémové sb;rnice byla delší dobu p ehlížena, a tak se zdá, že si to hardwarové vývojové týmy v poslední dob; vynahrazují. Nap . relativn; nové USB už utrp;lo upgrade na USB 2.0 jehož rychlost je nyní
41
Adresní dekodéry srovnatelná s rozhraním FireWire. Nedovoluji si odhadnout kam až by mohl vývoj v tomto sm;ru jít, ale p ihlédneme-li k tomu, že ješt; na kartách ISA bylo zapot ebí p epínat switche, a dnes sta í za b;hu sytému p ipojit t eba skener, snad se do káme t eba doby, kdy nebude nic výjime ného že nebudeme muset pro konkrétní za ízení instalovat ovlada e, ale systém si je jednoduše p ímo stáhne z instalovaného za ízení.
Shrnutí pojmV 4 Klí ová slova: Sb4rnice, Stav vysoké impedance – t1etí stav
Otázky 4 1. Vysv;tlete pojem spole ná sb;rnice 2. Vysv;tlete princip p enosu dat po sb;rnici. 3. %ím je charakterizován stav vysoké impedance 4. Vyjmenujte n;které signály ídicí sb;rnice
42
Adresní dekodéry
5
Adresní dekodéry as ke studiu: 2 hodiny
Cíl
Po prostudování tohoto odstavce budete um;t
• • • •
vysv;tlit pojem adresní dekodér popsat princip a innost úplného a neúplného dekodéru adres vysv;tlit pojem mapování periferií vysv;tlit princip univerzálního dekodéru
Výklad Abychom mohli vysv;tlit princip adresních dekodér9 nutných k návrhu v;tšiny ídicích mikropo íta ových systém9, bude nutno n;kolika v;tami objasnit chování a innost mikroprocesoru p i p enosech dat na sb;rnicích, tj. p enosech mezi registry a pam;tmi a p i I/O operacích. P enosy informací na sb;rnicích se mohou uskute nit programovým ízením a nebo ízením technickými prost edky. Pízení p enosu technickými prost edky se využívá pro p enosy velkých blok9 dat, nap . pro p enos dat z p ídavných za ízení do pam;ti RAM. Na tomto p enosu informace se podílí mikroprocesor jen áste n; nebo je úpln; vy azen. Takový p enos je ízen adi em p ímého p ístupu do pam;ti (DMA). Problematice DMA je v;nována samostatná kapitola. P i p enosu dat s programovým ízením se na tomto p enosu podílí výhradn; mikroprocesor tím, že postupn; provádí instrukce ú eln; se azené do segmentu ídicího programu. Výhodou je levná realizace a snadná zm;na algoritmu p enosu zm;nou p íslušného segmentu ídicího programu. Nevýhodou je pak u pomalejších mikroprocesor9 celkov; pomalý p enos a tudíž jej lze použít jen pro pomalá p ídavná vn;jší za ízení. P enos dat s programovým ízením je obecn; p enosem mezi dv;ma registry. U mikroprocesoru probíhá velmi asto mezi n;kterými vnit ními registry, p ípadn; mezi vnit ním registrem a buHkou vn;jší pam;ti (tj. v podstat; také registrem). Z pohledu instruk ního souboru m9žeme p enosy mezi vnit ními a vn;jšími registry rozd;lit na p enosy pam;Rové a I/O. To znamená, že umožHuje-li architektura mikroprocesoru oba tyto p enosy, mívají pak tyto dva adresové prostory – pro adresování pam;ti a pro adresování vstup9 a výstup9. Výb;r prostoru je pak ur en p íslušnými instrukcemi pro daný prostor. U mikropo íta 9 vybavených mikroprocesory s ob;ma t;mito adresovými prostory pak záleží na hardwareovém návrhu, zda periferní za ízení umístíme do prostoru vstup9 a výstup9 (I/O) nebo do prostoru pam;Rového. Pak se ovšem o tento prostor d;lí s fyzickými pam;tmi. Tato nevýhoda je však zanedbatelná, neboR v;tšina periferií resp. jejich záchytné registry zabírají jen minimální adresový prostor. Umíst;ní periferních za ízení do n;kterého z t;chto prostor9 se nazývá mapování. Výhoda mapování periferií do I/O prostru spo ívá v rychlejším p ístupu do tohoto prostoru, zpravidla instrukcemi IN a OUT. Výhoda mapování do pam;Rového prostoru pak ve v;tším množstvím použitelných instrukcí pro p enos dat (k dispozici jsou všechny instrukce používané pro práci s pam;tmi). U mikropo íta 9, které jsou osazeny mikroprocesory pouze s pam;Rovým adresovým prostorem, je nutno periferní za ízení namapovat vždy do pam;Rového prostoru. U takového konkrétního mikropo íta e nás pak zajímá obsazení pam;Rového prostoru, jež je možno znázornit tzv. mapou pam;ti, do které se 43
Adresní dekodéry zakresluje obsazení díl ích úsek9 pam;Rového prostoru jednotlivými pam;tmi, které úseky jsou neobsazeny, kde jsou adresovány periferní za ízení atd. Nyní se dostáváme k samotným adresovým dekodér9m. Vzhledem k tomu, že pam;Rový prostor mikroprocesoru bývá obsazen více než jednou fyzickou pam;tí eventueln; periferními za ízeními, je nutné p i p enosech dat s mikroprocesorem rozhodnout, které za ízení je ke komunikaci ur eno. Tento úkol plní práv; adresový dekodér. Jeho výstupy jsou v podstat; signály Chip Select (CS) pro jednotlivé obvody. Signál CS, jak již víme z p edchozí kapitoly, p ipojuje daný obvod k datové sb;rnici tak, že jeho sb;rnici p epne ze stavu vysoké impedance do aktivního stavu. Adresový dekodér m9že být stav;n jako dekodér pro: -
úplné dekódování adresy neúplné dekódování adresy lineární p i azení adresy univerzální p i azení dekódovaných adres
5.1 Dekodér pro úplné dekódování adresy P i úplném dekódování je jisté unikátní adrese ADRi p i azen pouze jeden signál DEADRi a obrácen;: jistému signálu DEADRi odpovídá pouze jedna adresa ADRi. Pro jednoduchost zapojení budeme u následujících schémat p#edpokládat ší#ku adresové sb rnice 8 bit&. A0 A1 A2 A3 A4 A5 A6 A7
& DEADR\
1
Obr. 5.1 Úplné dekódování adres Na obr. 5.1 je zapojení adresového dekodéru s úplným dekódováním adresy ADR1 = 11101111 =0Efh. Dekodér je jednoduchý, ale dokážeme ihned posoudit, jak rychle by nar9stal po et IO pro v;tší po et adres. V takovém p ípad; dáváme p ednost n;kterému z vyráb;ných dekodér9 typu „1 z N“, nap . 74LS138. Na obr. 5.2 je p íklad zapojení dekodéru s úplným dekódováním adresy s obvodem 74138. 74LS138 A0 A1 A2 A3 A4 A5 A6 A7
1 2 3 4
1 A 2 B 3 C
& 6 4 G1 /G2 5 /G3
6,11,12 5V
0 1 2 3 4 5 6 7
74LS30
Obr. 5.2 Dekodér adresy Pro tento dekodér platí následující p i azení:
44
15
DEADR0\
7
DEADR7\
Adresní dekodéry DEADR0 = 0F8h, DEADR1 = 0F9h, . . . DEADR7 = 0Ffh, tedy op;t jedine né adresy.
5.2 Adresový dekodér s neúplným dekódováním adres P i neúplném dekódování nejsou uvažovány n;které ády adresy s tím, že jistému signálu DEADRi p ísluší adresový prostor ADRk , kde k = 1, 2, 3.... Takto postavený adresový dekodér je levn;jší, ale vyžaduje pozorné p i azování adres k jednotlivým adresovaným obvod9m. Vizuáln; dv; zcela odlišné adresy v programu mohou ve skute nosti adresovat tentýž obvod. Na obr. 5.3 je zapojení adresového dekodéru s neúpln; dekódovanou adresou. Výstupní signál DEADR0 je generován pro každou adresu mající AB0 až AB2 = 0. Nap íklad adresy 00h, 08h, 10h atd. jsou rovnocenné adresy a pat í do téhož adresového prostoru. Je tedy lhostejné, kterou z nich použijeme v programu, výsledkem bude výb;r stejného obvodu. 74LS138 A0 A1 A2 A3 A4 A5 A6 A7
1 A 2 B 3 C
0 1 2 3 4 5 6 7
5V
15
DEADR0\
7
DEADR7\
6 G1 4 /G2 5 /G3
Obr. 5.3 Neúplné dekódování adresy Další možnost zapojení dekodéru s neúplným adresováním je na obr. 5.4. Výb;rové signály ur ují následující oblasti adresového prostoru:
CS 0 = 00h ÷ 1Fh CS1 = 20h ÷ 2Fh CS 2 = 30h ÷ 3Fh A0 A1 A2 A3 A4 A5 A6 A7
74LS138 1 A 2 B 3 C 5V
0 1 2 3 4 5 6 7
15 /CS0 14 /CS1 13 /CS2
6 4 G1 /G2 5 /G3
Obr. 5.4 Neúplné adresování – další #ešení
45
Adresní dekodéry Tyto dekodéry se velmi asto využívají pro p id;lování pam;Rových prostor9 pro jednotlivé typy pam;tí (EPROM. RAM, FLASH atd.) eventuéln; p ídavných periférií v mikropo íta ovém systému. N;které složit;jší podp9rném vstup-výstupní obvody, zejména programov; nastavovatelné, mají n;kolik vnit ních registr9 a vestav;ný adresový dekodér s úplným dekódováním adresy. V takovém p ípad; m9žeme úplného dekódování adres dosáhnout i s vn;jším neúplným dekodérem tím zp9sobem, že neúpln; dekódujeme adresový prostor s velikostí úm;rnou prostoru vnit ního dekodéru. Na obr. 5.5 je uveden jeden takový p íklad úplného dekódování adres pro podp9rný integrovaný obvod pro sériový vstup-výstup, s nímž se seznámíme v další kapitole. Vn;jší dekodér s integrovaným obvodem 74LS138 je neúplný, neboR neuvažuje adresní bity AB0 a AB1. A0 A1
9
PA
74LS138
A2 A3 A4 A5 A6 A7
D
A0 8 A1 1 A 2 B 3 C 1
&
2 3
74LS10
0 1 2 3 4 5 6 7
6
15
5 36
CS
RD WR
PB
6 G1 4 /G2 5 /G3
PC 35
R
8255
Obr. 5.5 Závislé dekódování adresy
5.3 Adresový dekodér s lineárním p1i1azením adresy U t;chto dekodér9 jsou jednotlivé ády adresy pokládány p ímo za výstupní výb;rové signály dekodéru. Platí: DEADRi = ADRi a žádný adresový dekodér není t eba realizovat. je to tedy nejlevn;jší adresový dekodér. Jeho nevýhodou je možnost p ipojit pouze m p ídavných za ízení u adresy s m ády. Jeden z velmi asto využívaných dekodér9 s lineárním p i azením adresy je na obr. 5.6. U n;j je využit 15 bit adresy k rozd;lení 64 kB adresového prostoru na dv; poloviny. Nejedná se o lineární p i azení pro oba tyto prostory, ale jen pro prostor 0h až 7FFFh. Dekódování druhé poloviny pak vyžaduje použití invertoru 74LS04. Pam;ti mohou být nap . typu 27C256 a 62256.
46
Adresní dekodéry A1÷A14
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15
RAM
D1÷D8
/OE /WE /CE
1
EPROM
A1÷A14
D1÷D8
/OE /CE
Obr. 5.6 P#íklad využití lineárního adresového dekodéru (viz text) V praxi používané adresové dekodéry jsou ve v;tšin; p ípad9 kombinacemi zde uvedených typ9 dekodér9. Jinak se sestaví dekodér pro p edem známou aplikaci s kone nou více nerozši ovanou sestavou mikropo íta e a jinak pro p edem neznámé aplikace s požadavkem modulové rozší itelnosti mikropo íta e – v takovém p ípad; jde o maximální univerzálnost. Univerzální ešení je zpravidla složit;jší a dražší. Jeden z takových univerzálních adresových dekodér9 je na obr. 5.7. V každé adresní lince Ai je vložen invertor a vhodn; konstruovaným p epína em P (nap . DIP) m9žeme libovoln; zvolit skute nou vstupní adresu. Vzhledem k tomu., že toto nastavování v;tšinou probíhá jen p ed zasunutím modulu do rozši ovaného mikropo íta e, je možné p epína adres nahradit pájenými propojkami. P
1
A1
B1
A2
B2
DEADRi
Dosud uvažované dekodéry
Obr. 5.7 Princip univerzálního dekodéru adresy Na obr 5.8 je pak vysv;tlen princip využití adresového dekodéru pro adresaci pam;tí v jednoduchém mikropo íta ovém systému s asováním jednotlivých signál9 p i tení i zápisu z/do pam;ti.
47
Adresní dekodéry
Adresový dekodér
CSROM A12÷A15
CSRAM
RAM WE OE
A0÷A12
D0÷D15
Datová sb;rnice R/W
OE
A0÷A12
Adresová sb;rnice
CPU TMS 320C50
ROM
WR
RD
D0÷D15
Pídicí sb;rnice
Obr. 5.8 Princip využití dekodéru Jako adresový dekodér m9že být použit jeden s výše uvedených adresových dekodér9. V tomto systému je spole ná datová i programová pam;Rová ást, jedná se tedy o strukturu Von Neumann. Pam;ti se zde d;lí o celkový pam;Rový prostor nabízený mikroprocesorem. Další signály /CS by mohly být použity k adresování p ídavných periferií, jež by také využívaly spole ný pam;Rový prostor. Na dalších obrázcích (5.9, 5.10) je znázorn;no asování jednotlivých signál9 p i tení resp. zápisu z/do pam;ti. P i tení nap . z pam;ti ROM je nejprve generována adresa jednotlivých dat. Z této adresy dekóduje adresový dekodér s ur itým zpožd;ním signál /CS. Toto zpožd;ní pak závisí na zpožd;ní jednotlivých komponent9, ze kterých je daný dekodér sestaven. Dále následuje signál RD generovaný mikroprocesorem. Po ur ité dob; závisející na p ístupové dob; pam;ti ROM se na datové sb;rnici objeví data. U zápisu do pam;ti je asování obdobné jen s vyjímkou signálu WR, který mikroprocesor aktivuje až po vystavení dat na datovou sb;rnici. Je nutné si uv;domit, že sled signál9 generovaných mikroprocesorem je dán výrobní technologií daného mikroprocesoru a tudíž je pot eba osazovat adresové dekodéry sou ástkami s rychlostmi, odpovídající asovým diagram9m jednotlivých mikroprocesor9. Tato skute nost se n;kdy stává zdrojem obtíží p i návrhu mikropo íta ových systém9. N;které mikroprocesory jsou vybaveny možností prodlužovat asový sled t;chto signál9 generováním tzv. wait stav9. Využití této možnosti p i návrhu pak ale zp9sobí zpomalení celkové innost daného systému.
A0÷A15
A0÷A15 Zpožd;ní dekodéru
Zpožd;ní dekodéru
CS
CS
RD
WR
D0÷D15 %tení dat
Obr. 5.9 :tení z pam ti
Zápis dat
Obr. 5.10 Zápis do pam ti 48
Adresní dekodéry
Shrnutí pojmV 5 Klí ová slova: Adresový dekodér, mapování periferií a pam4ti, „wait“ stavy
Otázky 5 1. Vysv;tlete pojem adresový dekodér 2. Popište možnosti p ipojení periferních za ízení k mikroprocesoru. 3. Vyjmenujte druhy adresových dekodér9 4. K emu je využíván signál „Chip Select“
49
Vzájemný styk mikropo íta e s periferiemi
6
Vzájemný styk mikropo íta e s periferiemi as ke studiu: 1,5 hodiny
Cíl
Po prostudování tohoto odstavce budete um;t
• vysv;tlit princip ízení komunikace • popsat princip a innost adi e p erušení • vysv;tlit pojem periodické testování
Výklad Má-li mít mikropo íta v ur ité aplikaci praktický význam, musí k n;mu být p ipojena periferní za ízení, umožHující styk mikropo íta e s okolním prost edím. Vzhledem k mikropo íta i je sou ástí okolního prost edí jednak lov;k, jednak vlastní fyzikální okolí, se kterým má mikropo íta spolupracovat. Mezi nejb;žn;jší periferie, umožHující styk po íta e s lov;kem m9žeme za adit nap íklad alfanumerickou klávesnici, obrazovkový displej, tiskárnu, ale i specializovanou tla ítkovou klávesnici ur itého p ístroje ízeného mikropo íta em, i jeho displej. Další, nejv;tší skupinu, tvo í periferní za ízení umožHující p ipojení mikropo íta e na ízený proces nebo na zkoumané prost edí. Zde pat í všechny druhy A/D a D/A p evodník9, zesilova e, íta e, tvarova e a mnoho dalších za ízení sloužící k rozmanité transformaci veli in. Tato za ízení jsou nej ast;ji umíst;na vn; mikropo íta e, n;které ovšem mohou být tvo eny i vlastními obvody mikropo íta e. Jejich p ipojení a komunikaci eší uživatel mikropo íta e pro každý konkrétní p ípad. Tyto periférie se obvykle p ipojují k mikropo íta i prost ednictvím tzv. stykových obvod9. Stykový obvod m9že být rovn;ž sou ástí daného periferního za ízení a musí zejména zajišRovat: • • • •
dekódování instrukcí pro styk s okolím a ízení odpovídajících díl ích inností v pot ebných asových souvislostech dekódování adresy jisté ásti okolí, se kterou práv; probíhá styk mikropo íta e do asné uchování informace ve vyrovnávací pam;ti konverzi informaci pro ú ely styku
6.1 =ízení komunikace Existují dva p ípady zahájení komunikace mikropo íta e nebo mikroprocesoru s periferiemi: Zahájení komunikace z iniciativy programu Toto je p ípad, kdy p íkaz k zahájení komunikace je v podstat; sou ástí instrukcí probíhajícího programu, nap . když algoritmus programu pot ebuje informace z okolí, eventueln; chce vyslat n;jaký výsledek do okolí. Zde ovšem musí být zajišt;no, že daná periferie je schopna p ijmout informaci v daný okamžik anebo musí informaci v okamžik ur ený mikropo íta em vystavit. Jako p íklad t;chto periferií si m9žeme p edstavit stavové spína e nebo sd;lova e (signaliza ní za ízení). Zahájení komunikace z iniciativy periférie Nastává v p ípad;, že jistá periferie chce poslat svou informaci do mikropo íta e nebo naopak pro svou innost pot ebuje informaci z mikropo íta e. Zde nastává však problém v navázání komunikaci, neboR se mikropo íta m9že nacházet v innosti, kdy ihned nem9že s periferií komunikovat. 50
Vzájemný styk mikropo íta e s periferiemi Mikropo íta se však n;jakým zp9sobem musí dozv;d;t, že je vyžadována komunikace a která periferie je iniciátorem výzvy. Pokud tedy komunikace je aktivovaná nikoliv mikropo íta em nýbrž periferií, lze postupovat v zásad; ty mi zp9soby: Obvodové ešení daného periferního za ízení je voleno tak, že ur itou operaci m9že uskute nit, aniž by o tom musel vlastní mikropo íta v;d;t. Toto ešení ovšem jde p ímo proti filozofii „minimum obvodového ešení – maximum programového zabezpe ení“, kterou se v n;kterých p ípadech, když je to možné, snažíme v technice mikropo íta 9 ídit. Nicmén;, pokud operace vyžaduje rychlejší odezvu než m9žeme zajistit n;kterým ze t í následujících zp9sob9 ešení, stejn; nám nezbývá asto nic jiného, než použít p ídavného obvodového ešení pomocí obvod9 nízké a st ední integrace. Za ízení které chce inicializovat n;jakou operaci, použije p íznakový bit (Flag) nebo skupinu p íznakových bit9. Mikropo íta pak m9že programov; hodnotu p íznakového bitu íst a testovat a ur itou operaci inicializovat pouze, když je jeho hodnota „1“. Pomocí p íznakových bit9 oznamuje vlastn; periferní za ízení sv9j stav (p ipraven, zaneprázdn;n, porucha atd.), skupina p íznakových bit9 vytvá í stavové slovo (Status Word). Mikropo íta tedy nejprve p e te stavové slovo dodané periferií a na základ; analýzy tohoto slova rozhodne o další innosti. Tomuto ízení budeme íkat programové ízení nebo n;kdy také metoda periodického testování. Za ízení, které chce inicializovat n;jakou operaci, pomocí speciálního signálu procesoru p eruší práv; probíhající program. Procesor p eruší to, co práv; d;lal, vykoná požadovanou akci komunikace, potom se vrátí zp;t, kde byl p erušen a pokra uje v p9vodní innosti. K obsluze komunikace více za ízení tímto zp9sobem musí mít mikroprocesor nebo mikropo íta k dispozici obsáhlejší systém p erušení. Pokud operace, kterou chce periferní za ízení inicializovat, spo ívá v p enosu bloku dat z periferního za ízení do pam;ti mikropo íta e nebo naopak, m9že se tato operace uskute nit pomocí tzv. p ímého p ístupu do pam;ti (DMA). V rámci t;chto text9 se budeme podrobn;ji zabírat programovým ízením komunikace a ízením pomocí p erušení.
6.2 Programové 1ízení komunikace P i použití tohoto principu je komunikace mezi mikroprocesorem nebo mikropo íta em a periferiemi ízena výhradn; programovými prost edky, tedy s využitím instrukcí pro vstup a výstup ve spojení s instrukcemi, které umožHují testování logických prom;nných a instrukcemi skok9. Použití principu programového ízení je velmi jednoduché u t;ch mikropo íta 9, které mají p ímo vn;jší vstup p íznakového (stavového) bitu a instrukce podmín;ných skok9, umožHující v;tvení programu podle hodnoty p íznakového bitu. Nap íklad jedno ipový mikropo íta 8048 má dva vstupní signály T0 a T1 p ímo testovatelné instrukcemi podmín;ných skok9. Stejn; tak signálový procesor TMS 320C50 disponuje vstupem BIO se stejným významem. Takových mikroprocesor9 a mikropo íta 9 však není mnoho a tak nezbývá nic jiného než stavový bit p ivést na jeden z pin9 vstup-výstupní brány nebo stavovým bit9m i stavovému slovu v;nujeme jeden ze I/O port9. Stavovou informaci pak mikroprocesor te b;žnými instrukcemi a na jejím základ; pak zahajuje a ídí komunikaci s danou periferií. Nyní vzniká otázka, jakým zp9sobem zorganizovat celkové programové vybavení obsluhy komunikace tak, aby hodnoty stavových bit9 byly v as zjišt;ny. Typickým p ípadem informace nevyžadující p íliš astou pozornost mikroprocesoru jsou data z klávesnice. Platnost znaku p i stisknutí klávesy m9žeme indikovat nastavením stavového bitu. Tento stavový bit se s ohledem na rychlost innosti mikroprocesoru (1MIPS) m;ní velmi pomalu, protože víme, že lov;k m9že zadat z klávesnice jen n;kolik znak9 za vte inu. Bude-li mikroprocesor sledovat tento stavový bit jednou za 0,1 až 0,5 s, nem;l by minout žádný znak. %asto lze program ur itého za ízení sestavit tak, že opakovan; vykonává ur itou posloupnost instrukcí. Tato posloupnost je vzhledem k rychlosti dnešních mikroprocesor9 a mikropo íta 9 natolik krátká, že by nem;lo init 51
Vzájemný styk mikropo íta e s periferiemi problémy snímat stavový bit mnohem ast;ji nap . co 10ms. Pokud však doba trvání je delší, dá se toto testování za adit vícekrát (nap . voláním podprogramu) do posloupností instrukcí algoritmu programu. Jsou ovšem p ípady, kdy mikroprocesor spustí ur itou fázi komunikace s periferním za ízením a ví, že po ur ité krátké dob; toto za ízení nastaví stavový bit a bude vyžadovat rychlou odezvu na tento stav. Tento p ípad se pak u programového ízení eší tzv. ekací smy kou, tzn. že po íta testuje daný stavový bit, dokud nebude nastaven. Toto však m9že v n;kterých p ípadech zp9sobit kolizi programu, když z jakéhokoliv d9vodu není stavový bit nastaven. Pak program v takovéto ekací smy ce uvázne. Samoz ejm; se i toto dá ešit programový zp9sobem, nap . za azením po itadla do této ekací smy ky.
6.3 =ízení komunikace pomocí p1erušení Systém p erušení mikroprocesoru významn; usnadHuje programové ízení spolupráce s periferními za ízeními p edevším ve fázi zjišRování žádosti o obsluhu. Jakmile periferní za ízení (pro jednoduchost zatím p edpokládáme pouze jedno) požaduje od mikropo íta e obsluhu (díl í p enos dat, r9zná hlášení atd.), aktivuje p erušovací signál vstupující do mikroprocesoru. Procesor po zjišt;ní žádosti o obsluhu p eruší práv; probíhající program a p ejde do obslužného programu. Po jeho provedení se procesor vrátí do p9vodního místa v programu, kde byl p erušen a pokra uje v dalším provád;ní hlavního programu. U tohoto ízení však nastává pon;kud problém p i obsluze více za ízení. Jak již bylo výše uvedeno, je bez dalších obvodových úprav pot eba rozsáhlejšího p erušovacího systému. N;které mikroprocesory však mají mén; p erušovacích vstup9 než kolik bude k n;mu p ipojeno periferních za ízení. Žádáme-li tedy obsluhu n;kolika periferních za ízení, m9žeme zv;tšovat po et p erušovacích vstup9 do procesoru, nebo použít jednoho spole ného p erušovacího vstupu a p i vybavení žádosti o p erušení vhodným zp9sobem zjistit, které za ízení o obsluhu žádalo. Tato informace je nej ast;ji mikroprocesoru poskytnuta ve form; tzv. vektoru p erušení, tj. v podstat; adresa p íslušného obslužného podprogramu.
N4které možnosti identifikace za1ízení: 1. Požadavky na obsluhu od za ízení jsou logicky se teny a procesor p e te stavové slovo, které bude obsahovat identifika ní znak za ízení, které žádá o obsluhu. Jinými slovy, p i požadavku na obsluhu si procesor v programu obsluhy p erušení otestuje nap . jednotlivé bity brány, ke které jsou p ipojena žádosti o p erušení všech periferních za ízení a podle programového nastavení ur í skok do p íslušného podprogramu obsluhy daného za ízení. P ijetí požadavk9 o obsluhu od dvou i více za ízení najednou, je t eba programov; ošet it. Tento zp9sob je schematicky nazna en na obr. 6.1. žádosti o p erušení datová sb;rnice
vstupní brána
vektor p erušení generátor vektoru
INTA
1 INT
Obr. 6.1 Identifikace zdroje p#erušení programovými prost#edky 52
Vzájemný styk mikropo íta e s periferiemi 2. Požadavky na obsluhu za ízení jsou op;t logicky se tena a signál potvrzení žádosti od mikroprocesoru je sériov; veden p es všechna periferních za ízení. Priorita je tedy dána za azením jednotlivých za ízení v9 i tomuto signálu. Pokud nastane žádost o p erušení, procesor vyšle potvrzující signál nejprve prvnímu za ízení (tedy za ízení s nejvyšší prioritou) a to, pokud nežádalo o p erušení, propustí tento signál dál. Jakmile signál dojde k za ízení jež požadavek o p erušení vydalo, je nutné zabránit dalšímu pr9chodu tohoto signálu k dalším za ízením a dále je nutno procesoru p edat tzv. vektor p erušení, tj. adresu, na které se nachází obslužný podprogram. Tento zp9sob již vyžaduje p ídavné ešení technickými prost edky. 3. Použití tzv. adi e p erušení, který jednak po p ijetí žádosti o p erušení vysílá identifika ní znak daného za ízení, jednak p i azuje priority a jejich dynamickou zm;nu jednotlivým za ízením p i více žádostech najednou a také zajišRuje maskování zdroj9. Podrobn;jší blokové schéma takového adi e je na obr.6.2. Žádosti o p erušení jsou nejprve konfrontovány s registrem masky, který vlastn; rozhoduje o jejich maskování. Dále jsou žádosti zapamatovány v registru žádosti o p erušení. Blok priorit rozhoduje o priorit; jednotlivých žádostí. Základní inností je tedy p ijmout požadavky na p erušení, roz adit je podle jejich priority, vybrat jeden požadavek se sou asn; nejvyšší prioritou a poslat procesoru kompletní informace o adrese, na které je program obsluhy p erušení. Obvod je p ed inností naprogramovat. Programováním se nastavují priority jednotlivých zdroj9, masky, a v neposlední ad; i adresy obsluhy p erušení p íslušným zdroj9m. U n;kterých adi 9 lze naprogramovat dynamicky prom;nnou prioritu žádostí. Sekvence ošet ení žádosti p erušení vypadá zjednodušen; následovn;: • • • • • • •
Jedna nebo více žádostí nastaví náb;žnou hranou odpovídající bity v registru žádostí p erušení Padi vyhodnotí žádosti o p erušení a posílá signál žádost o p erušení do procesoru Procesor po akceptaci posílá signál o p ijetí žádosti Padi generuje na sb;rnici instrukci CALL. Tato instrukce je akceptována mikroprocesorem Vykonání instrukce zp9sobí generování dalšího signálu do adi e Padi posílá na datovou sb;rnici vektor p erušení odpovídající žádosti. Mikroprocesor vykonává instrukci CALL s daným vektorem p erušení Budi IR1 IR2 IR3 IR4 IR5 IR6 IR7 IR8
Registr žádostí p erušen
Registr priority p erušen
Registr masky p erušen
Registr obsluhy p erušen
Pídicí logika CB Obr. 6.2 Zjednodušené blokové schéma #adi/e p#erušení
Shrnutí pojmV 6 Klí ová slova: Metoda periodického testování 53
DB
Vzájemný styk mikropo íta e s periferiemi
Otázky 6 1. Vysv;tlete pojem periodické testování 2. Popište princip komunikace pomocí adi e p erušení.
54
Druhy p enosu dat
7
Druhy p1enosu dat as ke studiu: 2 hodiny
Cíl
Po prostudování tohoto odstavce budete um;t
• vysv;tlit rozdíl mezi paralelním a sériovým p enosem • vysv;tlit rozdíl mezi asynchronním a synchronním p enosem • popsat chyby p enosu a jejich eliminaci
Výklad Mezi charakteristikami mikropo íta e a ovládaného okolí je zna ný nesoulad. Úkolem stykových obvod9 je vylou ení tohoto nesouladu, který se projeví odlišným asováním p enosu, rychlostí p enosu, zobrazením a kódováním informace atd. K mikropo íta i budeme p ipojovat jak moderní tak i starší a mén; moderní za ízení. P i posuzování komunikace mikropo íta e se za ízením se významn; uplatní: •
Zp9sob asového p id;lení sb;rnic Trvale p ipojená jednouú elová sb;rnice Do asn; p id;lená víceú elová sb;rnice
•
Zp9sob asování p enosu Asynchronní Synchronní
•
Ší ka datové (p enosové sb;rnice) Paralelní p enos Sériový p enos
P enos každé informace musí být definován v ase synchroniza ními signály s r9zným stupn;m volnosti vzájemné funk ní vazby. Synchronní p1enos je charakterizován vazbou na pevný asový úsek (takt) b;hem celého p enosu, s výhodou se využívá hodinový signál mikroprocesoru. Komunikující ásti systému a okolí jsou stejn; rychlé. Pokud není rychlost komunikace stejná, je možné využít princip9 z kapitoly 6. Asynchronní p1enos je z asového hlediska opakem synchronního, rozborem asovacích signál9 obecn; nezjistíme žádný pravidelný asový interval. %asování je pln; pod ízeno funk ním charakteristikám pomalejšího za ízení. Ší1ka sb4rnice bezprost edn; souvisí s mnoha požadovanými charakteristikami p enosu, zejména se spolehlivostí, p ípustnými náklady a výkonem. Sb;rnici vytvá í soubor linek, který by m;l být optimální. Realizace každé linky vyžaduje p íkon, prostor a náklady p ímo úm;rné délce linky. P i p enosu na v;tší vzdálenosti proto dáváme p ednost sériovému p enosu s malým po tem linek. Základní zp9soby zmenšení po tu linek vždy souvisí se zp9sobem kódování a zobrazení p enášené informace. Paralelní p1enos má nejv;tší p enosový výkon, jeho realizace je nejdražší a existuje nebezpe í vzájemného rušení jednotlivých linek. Považuje se proto za vhodný pro p enos na krátké vzdálenosti 55
Druhy p enosu dat p i vysokém p enosovém výkonu. Sb;rnice uvnit mikropo íta e jsou p evážn; ešeny pro paralelní p enos. • Jednoslovní synchronní paralelní p#enos Ší ka datové sb;rnice stykových obvod9 je zpravidla totožná s ší kou vnit ní datové sb;rnice mikropo íta e. P enos je asován signály, které jsou totožné s vnit ními synchroniza ními hodinovými signály mikropo íta e nebo jsou z nich asov; odvozeny. P enos je úpln; ízen programem a je tedy použitelný pro pomalá za ízení, která jsou v libovolném okamžiku schopna komunikovat v synchronismu s mikropo íta em. Taková situace je možná v p ípad; ovládaného okolí, jež má dynamický charakter a pracuje synchronn; s mikropo íta em anebo má okolí statický charakter a je tém; lhostejné, ve kterém okamžiku komunikace prob;hne. Synchronizace m9že být také provedena obvodovým ešením zastavení mikroprocesoru signálem READY nebo programovými ekacími stavy (WAIT STATE). •
Jednoslovní asynchronní paralelní p#enos Jedná se o typ p enosu, který je vhodný pro malé vzdálenosti a pomalá za ízení, jež nejsou schopna komunikace v libovolném okamžiku. P enos je tedy zahájen až po spln;ní základní podmínky p enosu: Za ízení je schopno komunikace. ZjišRováním této podmínky se tento p enos liší od synchronního, proto bývá n;kdy nazýván podmín;ným jednoslovním paralelním p enosem. P enos je ízen programem a jeho algoritmus provádí nejprve zjišRování spln;ní podmínek pro zahájení p enosu a provedení vlastního p enosu. V n;kterých p ípadech se tento typ komunikace nazývá „Handshaking“.
Sériový p1enos je v podstat; zvláštní typ paralelního p enosu se ší kou datové sb;rnice 1 bit. Vyzna uje se levn;jší realizací a menším nebezpe í vzájemného rušení. Považuje se proto za vhodný pro p enos na v;tší vzdálenosti, p ípadn; v prost edích se siln;jším rušením. U malého po tu linek je únosné dobré obvodové ešení linky s ú inným potla ením rušení. P enášenou informaci je nutno na stran; vysíla e zakódovat do asové posloupnosti bit9 – nulových a jedni kových logických impuls9, a na stran; p ijíma e op;t p evést do paralelní formy. Základními ástmi sériového vstupn; výstupního kanálu bude tedy obvod, jenž p evádí paralelní informaci na sériovou a opa n;. Nositelem informace bývá stejn; jako u paralelního p enosu amplitudov; (dvouhodnotov;) modulované elektrické nap;tí, pro sériový p enos pon;kud vyšší nap;Rové úrovn; viz násl. kapitola. Rychlost sériového p enosu se udává v po tech bit9 za sekundu tzv. Baudech (Bd). Rychlost dále také závisí na tom, kolika bity je daná informace reprezentována. Z asového hlediska m9že být sériový p enos bui synchronní nebo asynchronní. V obou p ípadech musíme do vysílané informace vkládat dodate nou synchroniza ní informaci. P ijíma musí nejen íst bity se stejnou frekvencí jakou jsou vysílány, ale musí rovn;ž každý bit íst p ibližn; ve st edu intervalu pro n;j vymezeného – hrany signálu mohou být totiž deformovány. •
Synchronní p#enos Používá se pro rychlejší p enos a umožHuje vyšší vytížení p enosové linky. Jednotlivé znaky zprávy nejsou odd;leny synchroniza ní obálkou a následují bezprost edn; za sebou. Synchronizace je zajišt;na pomocí synchroniza ních znak9, které jsou vysílány v dohodnutém tvaru spolu s informacemi. Synchronizace je spole ná pro vysíla i p ijíma . P enášený znak m9že být dopln;n paritním bitem.
•
Asynchronní p#enos Uskute Huje synchronizaci p ijíma e a vysíla e na za átku každého p enášeného znaku, reprezentovaného podle volby p;ti až osmi bity. Jednotlivé znaky nemusí tedy na sebe bezprost edn; navazovat, mohou být mezi nimi libovolné mezery. P íklad p enosu je na obr. 6.1.
56
Druhy p enosu dat
D0
D1
D2
D3
Start bit
D4
D5
D6
D7
D8 Parity Stop bit(y bit bit(y)
Data (znak) -
Obr. 7.1 Asynchronní p#enos V mezerách mezi znaky je na signálovém vodi i úroveH logická „1“. P enos znaku je zapo at startbitem úrovn; logické „0“. Sestupná hrana tohoto bitu slouží pro synchronizaci vysíla e s p ijíma em. Pak následuje p enos informace v dohodnutém formátu – tzv. protokol p enosu. Ve v;tšin; p ípadech se p enáší jako první nejnižší bit. Za posledním bitem znaku m9že následovat paritní bit a posléze dohodnutý po et stop-bit9 úrovn; logická „1“. Po et stop-bit9 tak vymezuje minimální mezeru mezi vysílanými znaky informace. Volitelné parametry p enosu jako jsou po et p enášených bit9 znaku, parita lichá, sudá i žádná, rychlost p enosu atd. se nastavuje p ed zahájením p enosu shodn; u vysíla e i p ijíma e.
7.1 Obvody vstupu a výstupu Mnoho výrobc9 polovodi ových sou ástek dodává mimo vlastních mikroprocesor9 a pam;tí taktéž ješt; celou adu specializovaných obvod9 rovn;ž vysokého stupn; integrace, sloužící k snadné realizaci vstupních a výstupních port9. Tyto obvody jsou velmi asto programovatelné, tzn. Že procesor p ed vlastním použitím t;chto obvod9 jako V/V kanál9 vysílá do ídicích registr9 t;chto obvod9 tzv. ídicí a povelová slova, která nastaví tyto obvody do ur itého režimu. Mezi nej ast;ji používané obvody V/V pat í programovatelný paralelní V/V obvod, programovatelný obvod pro asynchronní nebo synchronní sériový p enos USART a programovatelný asova PIT. Mezi specializované pak pat í adi DMA, ídicí obvod klávesnice, adi e disk9 ídicí obvody sb;rnice a další. DATA BUDI%
BRÁNA 1
PÍZENÍ
PÍDICÍ REGISTR
RD WR RS
BRÁNA 2
CLK A0
PÍZENÍ VYSÍLÁNÍ
PÍZENÍ PÍZENÍ PPÍJMU
PÍDICÍ A STAVOVÝ REGISTR
BRÁNA 3
Obr. 7.2 Paralelní V/V obvod
DATA
BUDI%
RD WR RS A0 A1
VYSÍLA%
DATA
PPIJÍMA%
DATA
Obr. 7.3 Sériový V/V obvod
V dnešní dob; jsou však tyto obvody ve v;tšin; p ípadech implementovány p ímo na ip samotného mikroprocesoru.
57
Druhy p enosu dat
7.2 Chyby p1enosu a jejich redukce Na každý p enosový kanál p9sobí poruchy, které mohou zkreslit p enášenou informaci takovou m;rou, že se p ijatá informace liší od vyslané. P i p enosu m9že tedy docházet k chybám. Poruchy m9žeme kategorizovat: •
podle jejich charakteru na o fluktua ní o harmonické o impulsní
•
podle jejich zdroje na o p írodního p9vodu o pr9myslového p9vodu o vznikající v za ízení
•
podle asového výskytu o do asn; p9sobící o trvale p9sobící
Podrobn;jším rozborem bychom však došli k zjišt;ní, že vznik poruchy je náhodný proces, který nelze p edvídat a kterému nelze zabránit. Padou opat ení však m9žeme ú inn; omezit vliv poruch na p enos informace. Možná a prakticky realizovatelná opat ení budou pat it do dvou oblastí: • •
správné ešení stykových obvod9 a p enosového vedení volba vhodného kódového zabezpe ení
P enosové vedení je p i vyšších kmito tech a krátkých hranách impulsního signálu nutno chápat jako elektrické vedení, u kterého m9že docházet k odraz9m, p eslech9m a k rušení cizími elektromagnetickými poli. Proto je nutno v;novat pozornost tomu, aby • • •
vedení byla pokud možno fyzicky krátká, homogenní a na obou koncích impedan n; správn; zakon ena soub;žné linky m;ly pokud možno malou kapacitní vazbu funk ní bloky mikropo íta e a stykových obvod9 byly správn; zemn;ny s d9sledným rozlišením vysokofrekven ní (signálové) zem; a p ístrojové zem; (kostry).
Informace se p enáší kódovan;. Kódem rozumíme p i azení dvou množin. Vhodn; zvolené kódování m9že zabezpe it p enášenou informaci proti chybám. Zabezpe ené kódy d;líme na kódy: • zjišRující chybu (detek ní) • umožHující chybu opravit (samoopravné) Kód se schopností zjistit k-chyb musí mít m k + 1 . Kód umožHující opravit k-chyb musí mít m 2k + 1 . Nejznám;jším p ípadem detek ního kódu je kód zabezpe ený paritou. Vznikne dopln;ním jistého kódu o jeden paritní bit, do kterého umístíme kontrolní íslici. Hodnota paritního bitu se vytvá í v závislosti na po tu jedni ek v doplHovaném kódovém slov;. U liché parity musí být po et všech jedni ek (v etn; paritního bitu) lichý, u sudé parity sudý. Paritní kódy mají m = 2 a jsou tedy schopny detekovat jednu chybu eventueln; lichý po et chyb. Nesouhlas parity upozorní na chybu, ale nelze již z n;j nijak vyvodit umíst;ní chyby ve slov;. Zabezpe ení paritou je velmi rozší ené u mikroprocesor9 a ve v;tšin; p ípadech je u nich p izp9soben jejich instruk ní soubor. Velmi zajímavé jsou cyklické kódy, které se uplatní p i p enosu po dávkách. Užívají se u magnetických diskových pam;tí a v n;kterých komunika ních protokolech. Zabezpe ení dávky 58
Druhy p enosu dat cyklickým kódem vychází z myšlenky nezabezpe ovat jednotlivá slova dávky, ale vypo ítávat na základ; jejich hodnoty doplHkové kontrolní slovo pro celou dávku. K výpo tu kontrolního slova (CRC) dochází v pr9b;hu vysílání slov dávky, záv;rem je vysíláno CRC. Na p ijímací stran; se vypo te nové CRC ze zabezpe ené dávky a z výsledku se usuzuje na bezchybnost p enosu.
7.3 Sériová rozhraní Sériová komunika ní rozhraní se v mikropo íta ové technice používají ke dv;ma základním ú el9m: 1.
Ke komunikaci mezi jednotlivými mikropo íta ovými moduly. Typická délka vedení je zde v ádu jednotek až stovek metr9, takže fyzická vrstva v r9zné mí e eší i problémy odolnosti proti rušení atd. Krom; známých a rozší ených rozhraní (RS232, RS485) se používají i specializovaná rozhraní resp. sb;rnice (CAN, TTP). P i rostoucích nárocích na p enosovou kapacitu se pro toto propojení asto používá i Ethernet.
2.
Ke komunikaci mezi integrovanými obvody, p ípadn; ke komunikaci mezi mikropo íta ovými moduly na krátkou vzdálenost. Typická délka vedení zde nep esahuje jednotky metr9. %asto používaná rozhraní pro komunikaci mezi jednotlivými IO jsou rozhraní Microwire, SPI a I2C.
D9vodem používání sériové komunikace mezi jednotlivými obvody je p edevším zmenšení po tu vývod9 jejich pouzder. P i použití sériových pam;tí se zredukuje množství adresních, datových a ídicích vývod9 obvyklé (nikoliv sériové) pam;ti na t i až ty i vývody. To umožHuje zmenšit rozm;ry pouzdra i spojové desky, protože odpadá prostorov; náro né propojování velkým po tem vodi 9. Další výhodou m9že v n;kterých p ípadech být možnost p ipojení obvod9 se sériovým rozhraním i k mikrokontrolér9m bez vyvedené vnit ní sb;rnice, v krajním p ípad; i bez p íslušného adi e sériového rozhraní. Funkce adi e je potom realizována programov; s využitím n;kolika vývod9 vhodného portu mikrokontroléru. Nelze tak v;tšinou dosáhnout plné rychlosti daného rozhraní, ale tato skute nost nemusí být v n;kterých p ípadech na závadu. [x] Jak již bylo výše uvedeno, využívá se z d9vodu v;tší odolnosti proti rušení p enosu informace fyzikální úprava nositele informace a ur itého zp9sobu realizace p enosových (stykových) obvod9. Pro sériové p enosy pak vznikly r9zné standardy, které odpovídají ur itému normalizovanému p edpisu.
7.3.1 Rozhraní RS232 RS 232 používá dv; nap;Rové úrovn;. Logickou 1 a 0. Log. 1 je n;kdy ozna ována jako marking state nebo také klidový stav, Log. 0 se p ezdívá space state. Log. 1 je indikována zápornou úrovní, zatímco logická 0 je p enášena kladnou úrovní výstupních vodi 9. Povolené nap;Rové úrovn; jsou uvedeny v tabulce. Úrove Log. L Log. H Nedefinovaný
Vysíla P ijíma +5 V to +15 V +3 V to +25 V -5 V to -15 V -3 V to -25 V -3 V to +3 V
Nejb;žn;ji se pro generování nap;tí používá nap;Rový zdvojova z 5 V a invertor. Logické úrovn; jsou potom p enášeny nap;tím +10 V pro log. 0 a –10 V pro log. 1. Standard RS 232 uvádí jako maximální možnou délku vodi 9 15 metr9, nebo délku vodi e o kapacit; 2500 pF. To znamená, že p i použití kvalitních vodi 9 lze dodržet standard a p i zachování jmenovité kapacity prodloužit vzdálenost až na cca 50 metr9. Kabel lze také prodlužovat p i snížení p enosové rychlosti, protože potom bude p enos odoln;jší v9 i velké kapacit; vedení. Uvedené parametry po ítají s p enosovou rychlostí 19200 Bd.
59
Druhy p enosu dat Texas Instruments uvádí jako výsledek pokusných m; ení následující délky vodi 9 v závislosti na p enosové rychlosti. Vzhledem k „laboratorním“ podmínkách tohoto m; ení je t eba brát tyto údaje pouze jako orienta ní. V praxi je t eba po ítat s rušením atd. Používají-li se v za ízení TTL nebo CMOS obvody, bude nutno jejich výstupní úrovn; upravit na požadované nap;Rové úrovn; RS232. K tomuto ú elu složí p evodníky RS232 nap . od firmy MAXIM MAX232. Jedná se o p evodník TTL na RS232. Obsahuje dv; dvojice odd;lova 9 konvertujících nap;Rové úrovn;. Nap;tí pro RS 232 se získává pomocí nábojové pumpy, a výstupní nap;tí proto zna n; závisí na kvalit; použitých kondenzátor9, která u elektrolytických kondenzátor9 asem zna n; klesá. Nap;tí je možno získat na pinech 2 a 6 a použít pro další obvody. Vzhledem k úsp šnosti MAX232 za/alo mnoho firem vyráb t obvody pinov kompatibilní v nižší cenové hladin . U jednoho z t chto výrobc& (tuším AD232), které u nás svého /asu prodávalo GM, je pot#eba opa/n polarizovat jeden z elektrolyt&, tak uvádí firemní katalogový list. Vzhledem k p#edpokládané kompatibilit to však mnoho vývojá#& neov #uje, a potom vznikají /asem velmi komplikované závady. Doporu/ujeme proto používat buM originální obvody MAXIM, nebo dob#e prostudovat “substitu/ní“ obvody vzhledem k p#edpokládaným odlišnostem.
Obr. 7.4 Vnit#ní zapojení a pouzdro p#evodníku TTL/RS232
7.3.2 Rozhraní RS422 Linka RS422 používá jeden pár vodi 9 pro signál RxD a druhý pro signál TxD. Z toho vyplývá, že použijeme-li linku RS422 k prodloužení p enosové vzdálenosti místo “t ídrátové” RS232 (RxD, TxD, GND), nic se nemusí na zp9sobu komunikace m;nit a není tedy t eba ani zásah do software. Každý ze signál9 linky je p enášen po dvojici vodi 9, nejlépe v provedení twistový pár. Vodi e ozna ované a a b jsou vysíla em buzeny v protifázi a p ijíma vyhodnocuje jejich nap;Rový rozdíl. Tímto principem se odstraní sou tové (aditivní) rušení. Linky mohou být vedeny až na vzdálenost 1600m (vodi e s kapacitou do 65pF/m) a lze je v;tvit.
Obr. 7.5 Schéma zapojení linky RS422 60
Druhy p enosu dat
7.3.3 Rozhraní RS485 Narozdíl od linky RS-422 používá rozhraní RS-485 jen jeden pár vodi 9 pro oba sm;ry toku dat. Je tedy t eba sm;r komunikace p epínat a to m9že být problém zvlášt; v p ípadech, kdy s touto možností software nepo ítá. P epínání sm;ru komunikace jist; bude vy ešeno u za ízení, které obsahuje už standardn; linku RS485. Pokud však používáme za ízení s vyvedenou linkou RS-232 (nap íklad po íta PC) a následným p evodníkem RS-232/RS-485, je t eba p epínání sm;ru zajistit. Nejvhodn;jší zp9sob je použít pro p epnutí n;který volný ídící signál linky RS-232 (nap íklad DTR nebo RTS), jeho ovládání však musí umožHit použitý program (pozor p i psaní takového programu pro PC – díky r9zným buffer9m na nových motherboardech to není úpln; jednoduché). Jestliže není signál pro p epnutí k dispozici, je jedinou možností použít p evodník linky RS232 na RS485 s automatickým p epínáním. I to má však úskalí. Takový p evodník je stále p epnut na p íjem z linky RS485 a p i zjišt;ní dat vysílaných ze strany linky RS232 se p epne na vysílání. V režimu vysílání však p evodník z9stane ješt; po n;jakou dobu (protože nem9že p esn; identifikovat konec dat). Jestliže b;hem této doby za ne na linku vysílat n;kdo jiný, dojde ke kolizi a data nejsou p ijata. Problémy s p epínáním lze však po prozkoumání konkrétní situace tém; vždy vy ešit. Poslední možností je použít linku RS422, která p epínání nepot ebuje. U rozv;tvených linek m9že být po et za ízení na lince maximáln; 16, avšak existují p ijíma e s menší zát;ží, takže jich m9že být až 128. Linka by m;la být provedena jako linie s krátkými odbo kami, ne jako strom nebo hv;zda.
Obr. 7.6 Schéma zapojení linky RS 485
7.3.4 Proudová smy(ka Pro komunikaci na v;tší vzdálenosti se ob as používá také proudová smy ka 0/20 mA (pozor, nezam;Hovat se smy kou 0(4) až 20 mA pro p enos analogových veli in). Proudová smy ka je vysoce odolná proti rušení, neboR smy kou bui te e, nebo nete e proud 20 mA. P evod je relativn; jednoduchý a dosah se ádov; zvýší na stovky metr9, zatímco komunika ní rychlost z9stane zachována. Z ekonomických d9vod9 se na proudovou smy ku p evád;jí pouze signály RxD a TxD z plného rozhraní RS232. Pokud pot ebujete p enášet ješt; n;jaké signály (RTS, CTS / DTR, DSR), použijte 2kanálovou verzi p evodníku. Délka vedení je omezena kapacitou a ohmickým odporem vedení. V praxi je rozhodujícím faktorem jen odpor. U b;žn; užívaných proudových smy ek bývá povolený odpor vedení do 200f. Proudové smy ky se od sebe liší provedením vysíla 9 a p ijíma 9. Mohou být aktivní nebo pasivní, p ímé nebo galvanicky odd;lené. Galvanické odd;lení m9že být i tím hlavním d9vodem, který vede k použití proudové smy ky. Vedení proudové smy ky se realizuje velmi jednoduše, v minimálním p ípad; sta í ty i vodi e, které ani nemusí být zkrouceny (ve v;tšin; p ípad9 stejn; budou, použijeme-li sériov; vyráb;ný kabel). Propojuje se vzájemn; vždy jeden vysíla s jedním p ijíma em, a to v kombinaci aktivní vysíla – pasivní p ijíma nebo pasivní vysíla – aktivní p ijíma .
61
Druhy p enosu dat
7.3.5 Rozhraní USB Rozhraní USB se b;hem posledních let stalo zcela b;žnou sou ástí spot ební elektroniky p ipojitelnou k po íta i a svými vlastnostmi zcela zastínilo klasický sériový port RS-232. Tento standard vznikl v roce 1995 a byl vyvinutý ve spolupráci spole ností Compaq, Intel, IBM, Microsoft, NEC a dalších. Podpora USB se poprvé objevila u opera ního systému Windows 95 OEM Service Release 2.1 (ozna ovaná jako 4.000.111) a stala se b;žnou sou ástí všech dalších opera ních systém9. Podpora formátu USB 2.0 je dostupná v aktualizujících servisních balí cích pro systémy Windows 2000 a XP. Základní parametry rozhraní USB: • Komunika ní rychlost od 1,5 Mbit/s do 480Mbit/s • Komunika ní vzdálenost do 5m • Možnost p ipojení více za ízení • Rozhraní obsahuje 5V napájení • Lze p ipojit až 127 za ízení pomocí jednoho typu konektoru. • USB zajišRuje správné p id;lení prost edk9 (IRQ, DMA, ...).
Elektrické parametry USB USB rozhraní používá dva typy konektor9. Plochý konektor "typ A" je dnes obsažen na základní desce každého PC, vyrobeného v posledních n;kolika letech a to v po tu minimáln; dvou. Nejnov;jší základní desky mají ko enový HUB rozší en o další integrovaný HUB a celkem tak poskytují až osm port9 USB. Druhý konektor "typ B" je ur en pro periferní za ízení, ímž je zároveH definován standard propojovacího kabelu. Oby typy konektor9 jsou znázorn;ny na obr. 7.7 a popis vodi 9 je uveden v tab. 7.1
Obr. 7.7 Konektory USB
íslo
Jméno
Barva
Popis
1
V bus
%ervená
Napájecí nap;tí
2
D-
Bílá
Data (-)
3
D+
Zelená
Data (+)
4
GND
erná
Zem
Tab. 7.1 Popis pin& USB konektoru 62
Druhy p enosu dat
sériový port
115 kb/s
USB 1.1 Low Speed
1,5 Mb/s
USB 1.1 Full Speed
12 Mb/s
paralelní port ECP/EPP
24 Mb/s
FireWire IEEE 1394
400 Mb/s
USB 2.0 High Speed
480 Mb/s
Tab. 7.2 Porovnání rozhraní
Komunikace Všechny t i verze USB, dané p enosovými rychlostmi (Low Speed, Full Speed, High Speed), mohou být použity a provozovány sou asn; pro p ipojení r9zných typ9 periferií k jednomu po íta i. Uvedené verze se od sebe liší jak provedením kabelu, tak elektrickými parametry rozhraní p ipojeného za ízení. P enos je diferen ní s nap;Rovými úrovn;mi kompatibilními s TTL: •
log. 1 se p enáší tak, že vodi D+ je na nap;Rové úrovni 2,8V a sou asn; vodi D- je na úrovni 0,3V,
•
log. 0 je ešena opa n;, ili D- je na nap;Rové úrovni 2,8V a D+ je na úrovni 0,3V.
Pro využití maximální p enosové rychlosti v režimu High Speed (až 480Mb/s) m9že být kabel dlouhý nejvíce 5 metr9, p i emž musí být stín;ný a kroucený (twisted). V nejpomalejším režimu Low Speed (do 1,5Mb/s) je možné použit i nestín;ný a nekroucený kabel, ale u tohoto kabelu je maximální délka pouze 3 metry. Nejlepších výsledk9 je vždy dosaženo p i použití stín;ného krouceného kabelu. P enosová impedance kabelu je v obou p ípadech 60f. Pro ob; zmín;né varianty je použito shodné zapojení vysíla 9, uvedené na obr.7.8. Minimální diferen ní vstupní nap;tí p ijíma e je 200mV a to p i souhlasném rušivém nap;tí až 2,6V aniž by se omezila funk nost systému.
D+
data
27f CS
výstupní impedance 3÷15f 27f D-
Obr. 7.8 Zapojení vysíla/& Rozhraní USB obsahuje vlastní rozvod napájecího nap;tí o hodnot; 5V a 0,25V. Za ízení mohou být napájena p ímo z USB sb;rnice, pokud jejich proudový odb;r nep ekro í 100mA. Požadavek na v;tší odb;r (až 500mA) musí být ohlášen p i enumeraci (rozpoznání) za ízení. Vyšší odb;r než je 100mA, m9že mít nejvýše jedno za ízení na celé USB sb;rnici a p i nedostatku rezerv m9že systém toto za ízení odmítnout. Pokud mají USB za ízení vlastní zdroj (nap . po íta má vlastní systém pro distribuci napájení nezávislý na USB), je ízen USB sb;rnicí (zapínání, vypínání, "stand-by" mód 63
Druhy p enosu dat atd.). Každý segment USB umožHuje omezený p enos výkonu pro napájení USB za ízení, p i emž za ízení m9že být sou asn; napájeno z vlastního zdroje.
7.3.6 Rozhraní SPI Rozhraní SPI je ur eno p edevším pro p ipojení vn;jších pam;tí, A/D p evodník9 a dalších obvod9 k mikrokontroléru, p ípadn; pro vzájemnou komunikaci mezi mikrokontroléry. U n;kterých mikrokontrolér9 je SPI využíváno i pro programování jejich vnit ní pam;ti Flash. Základní koncepce systému využívajícího sb;rnici SPI je následující (viz Obr. 7.9): V systému mohou být zapojeny dva nebo více obvod9. Jeden z obvod9, obvykle procesor, je typu Master, ostatní jsou typu Slave. Jednotlivé obvody jsou propojeny ty mi vodi i: •
Datový výstup MOSI (Master Out, Slave In) obvodu Master je p ipojen na vstupy MOSI všech obvod9 Slave
•
Datový vstup MISO (Master In, Slave Out) obvodu Master je propojen s výstupy MISO všech obvod9 Slave.
•
Výstup hodinového signálu SCK je p ipojen na vstupy SCK všech obvod9 Slave.
•
Každý obvod Slave má vstup SS (Slave Select) pro výb;r obvodu. Je-li SS v neaktivní úrovni, je rozhraní SPI daného obvodu neaktivní a jeho výstup MISO je ve vysokoimpedan ním stavu. Vstupy SS jednotlivých obvod9 jsou samostatnými vodi i propojeny s obvodem Master. Je-li obvodem Master mikrokontrolér, bývají tyto vodi e p ipojeny k n;kterému z jeho port9. Tak lze snadno vybírat obvod, se kterým má být v daném okamžiku vedena komunikace.
P enosy na sb;rnici SPI probíhají vždy mezi obvodem Master a n;kterým z obvod9 Slave. Oba obvody obsahují posuvné registry, které jsou v okamžiku komunikace propojeny tak, jak je schematicky nazna eno na obr. xxxxx Slave MOSI MISO SCLK SS
MASTER
Slave
MOSI MISO SCLK
MOSI MISO SCLK SS
CS1 CS2 CSn
Slave MOSI MISO SCLK SS
Obr. 7.9 koncepce systému se sb rnicí SPI Obvod Master generuje hodinový signál, který ídí posouvání obou posuvných registr9. Klidová úroveH signálu SCK a vztah mezi datovým a hodinovým signálem je dán parametry CPOL a CPHA. Pokud je rozhraní SPI realizováno specializovaným adi em, je obvykle možné tyto parametry v adi i 64
Druhy p enosu dat nastavit. Je-li rozhraní SPI realizováno programov;, musí být okamžiky zm;ny úrovn; datových a hodinových signál9 zvoleny tak, aby p ijímající obvod vzorkoval ustálená data.
Obr. 7.10 :tení z pam ti (SPI p#enos)
Obr. 7.11 Zápis do pam ti (SPI p#enos)
7.3.7 Rozhraní I2C Zatím co RS232 je stále jeden z nejpoužívan;jších prost edk9 komunikace mezi PC a jedno ipem, pro komunikaci mezi ipy samotnými se spíše používá I2C. Jedná se obousm;rnou komunikaci pomocí dvou drát9, kterou pro svá za ízení navrhl Philips. Nechal si ji patentovat (patent íslo 9398 393 40011), a tak z d9vodu patentových poplatk9 n;kte í výrobci nehovo í o I2C (Inter IC), nýbrž nap . o TWI (Two Wire Serial Interface - dvoudrátové sériové rozhraní). Asi základní rozdíl od RS232 je zavedení adresace už do samotného protokolu a prom;nná rychlost komunikace. U RS-232 ob; za ízení mohla mluvit sou asn; — to není u I2C možné, a tak vždy pouze jedno za ízení „mluví“ na datové lince (SDA) a „rychlost mluvy“ je ur ena pulzy na druhé, asové lince (SCL). I2C pak eší problémy pokud n;který z ú astník9 nestíhá, p ípadn; pokud by cht;lo „mluvit“ p íliš mnoho za ízení sou asn;. Stejn; jako RS-232 má i I2C n;kolik možných variant, z nichž se detailn;ji budeme v;novat pouze jediné. Jednotlivé varianty se liší zp9sobem adresace za ízení (7 vs. 11 bitová adresa), rychlostí komunikace (maximální frekvence 100kHz vs. 400kHz; existují i 1 MHz) a zda se jedná o komunikaci s jedním i více za ízeními typu master.
65
Druhy p enosu dat
Koncepce rozhraní Jednotlivé stanice rozhraní I2C jsou propojeny jedním datovým vodi em (SDA) a jedním hodinovým vodi em (SCL). UCC
SCL SCL SDA
MASTER/ SLAVE
SCL
SDA
MASTER/ SLAVE
SCL
SDA
SCL
MASTER/ SLAVE
SDA
MASTER/ SLAVE
Obr. 7.12 Celková koncepce sb rnice I2C Z elektrického hlediska jsou oba vodi e typu otev ený kolektor. Jejich maximální délka je dána jejich nejvyšší p ípustnou kapacitou 400 pF. Oba vodi e jsou p ipojeny p es pull-up odpory p ipojeny k napájecímu nap;tí 5V.
Komunikace Formát rámce se sedmibitovou adresou p i p enosu na I2C je na Obr. 7.13. Každému p enosu p edchází vyslání podmínky START. Potom je vysílána 7bitová adresa p íjemce a jeden bit R/W, který indikuje požadovanou operaci ( tení/zápis). Další bit ACK je vysílán s úrovní L a je ur en k potvrzení p ijímací stanicí. Dále jsou p enášena data ve sm;ru ur eném p edchozím bitem R/W. Každý byte je následován jedním bitem ACK. Po ukon ení p enosu je vyslána podmínka STOP.
Obr. 7.13 Protokol komunikace I2C Podmínka START je vygenerována zm;nou úrovn; z H na L na datové lince SDA, STOP podmínka pak p i zm;n; z L na H p i úrovni H na lince SCL. Potvrzení ACK je generováno úrovní L na lince SDA p i L na SCL. V klidovém stavu jsou na obou vodi ích SDA i SCL úrovn; H. Platí pravidlo, že data na lince SDA se mohou m;nit jen když je na lince SCL úroveH L. Výjimkou jsou výše uvedené p ípady. Poté co byla zapo ata komunikace podmínkou start, p íslušný vysíla vyšle na datovou linku SDA postupn; osm datových bit9, které se posouvají hodinovými impulsy na lince SCL, vysílanými 66
Druhy p enosu dat prvkem master. P1enos za íná bitem s nejvyšší váhou. Poslední (devátý) bit slouží pro potvrzení(acknowledge) p íjmu od p íslušného p ijíma e pomocí nízké úrovn;. Toto potvrzení zároveH znamená, že obvod je schopen p ijímat další byte. Pokud je zde logická jedni ka, obvod nebyl správn; adresován, došlo k chyb;, nebo prost; sd;luje, že již nebude p ijímat. Pokud master te data z obvodu slave, p enos je stejný až na to, že data generuje SLAVE, podle toho, jak se m;ní hodiny generované masterem. Pokud již MASTER nepot ebuje íst data (chce ukon it p enos), nem9že toho dosáhnout jednoduchou STOP podmínkou, ale p i tení posledního bytu ponechá potvrzovací bit ACK v logické jedni ce ( ímž nedojde k potvrzení) a obvod SLAVE uvolní datovou linku. Vlastní ukon ení p enosu se poté dosáhne podmínkou stop.
Arbitrace U rozhraní I2C existuje i režim MULTI-MASTER. Tento režim je zvláštní v tom, že na jedné sb;rnici m9že být více obvod9 master, kte í si toto postavení vzájemn; p edávají. To znamená, že v jednom okamžiku m9že být na sb;rnici jen jeden master a ostatní jsou slave. Poté se t eba tento master stane slavem a p edá se ízení jinému obvodu, který bude nyní master. Pro arbitraci se na I2C používá metoda s detekcí kolize. Každá ze stanic m9že zahájit vysílání, je-li p edtím sb;rnice v klidovém stavu. B;hem vysílání musí neustále porovnávat vysílané bity se skute ným stavem SDA. Je-li zjišt;n rozdíl mezi o ekávaným a skute ným stavem linky SDA, je to indikace kolize mezi n;kolika stanicemi. Vzhledem k charakteru sb;rnice (otev ené kolektory) m9že k této situaci dojít, pokud ur itá stanice vysílá úroveH H, zatímco jiná stanice vysílá úroveH L. Stanice, která na lince zjistí úroveH L zatímco sama vysílá H musí vysílání okamžit; ukon it (viz Obr. 7.14).
Obr. 7.14 Arbitrace na I2C K arbitraci v;tšinou dochází b;hem vyslání n;kolika prvních bit9, kdy je vysílána adresa p ijímací stanice. Pokud by se nap . dv; stanice sou asn; pokusily o zápis do stejného obvodu, nastane kolize až p i p enosu vlastních zapisovaných dat. V krajním p ípad;, kdy n;kolik stanic sou asn; zapisuje stejná data na stejnou adresu, nemusí být kolize v9bec detekována. Adresování Každá stanice (v praxi nap . každý integrovaný obvod) p ipojená na I2C má p id;lenou 7bitovou adresu. Po zachycení podmínky START porovnávají všechny obvody svou adresu s adresou, která je vysílána na sb;rnici. Zjistí-li n;který z obvod9 shodu, je vysílání ur eno práv; jemu a musí p ijetí adresy potvrdit bitem ACK. Potom p ijímá resp. vysílá další data. Popisované adresování se týká adresy jednotlivých stanic na I2C. Je-li stanicí nap . pam;Rový obvod, jedná se o adresu celého obvodu. Adresa jednotlivých slov v pam;ti a požadovaná operace se do pam;ti p enáší v datové ásti rámce I2C.
67
Druhy p enosu dat Potvrzování Každý vysílaný byte (v etn; adresy) je následován vysláním jednoho bitu ACK. Vysílající stanice jej vysílá v úrovni H. P ijímající stanice potvrzuje p ijetí tím, že v dob; vysílání ACK p ipojí SDA na úroveH L (viz Obr. 7.15). Pokud vysílající stanice nedostane potvrzení p íjmu, ukon í vysílání podmínkou STOP.
Obr.7.15 potvrzování p#íjmu sb rnice I2C
Shrnutí pojmV 7 Klí ová slova: Paralelní a sériový p1enos, Handshaking, Baud
Otázky 7 1. Vysv;tlete pojem sériový p enos 2. Popište rozdíl mezi asynchronním a synchronním p enosem 3. V em se vyjad uje rychlost sériového p enosu 4. Jaké chyby se vyskytují u p enos9 dat a jakým zp9sobem je možné je eliminovat 5. K em slouží sériová rozhraní. 6. Jakým zp9sobem je ešena arbitrace u I2C p enosu
68
Polovodi ové pam;ti
8
Polovodi ové pam4ti as ke studiu: 1,5 hodiny
Cíl
Po prostudování tohoto odstavce budete um;t
• vysv;tlit kritéria rozd;lení polovodi ových pam;tí • popsat základní vlastnosti polovodi ových pam;tí • princip programování pam;tí typu EPROM, EEROM, FLASH
Výklad Abstraktní pojetí pam;ti jako schopnosti se uplatHuje i v technice, ale v rámci mikropo íta 9 p ikládáme slovu pam;R obvykle význam konkrétní, neboR ozna uje neživý hmotný objekt, který má tuto schopnost. Jinak e eno slovo pam;R se užívá jako ozna ení pam;Rového za ízení libovolného typu, p ípadn; i pam;Rové sou ástky. Nejhrubší d;lení pam;tí je na vnit ní a vn;jší pam;ti mikropo íta e. Vnit ní pam;ti jsou zpravidla polovodi ové a vn;jší obsahují obvykle pohyblivé ásti. V této kapitole se budeme v;novat práv; polovodi ovým pam;tem.
8.1 Rozd4lení pam4tí podle p1ístupu P ístupem (access) k pam;ti rozumíme zápis dat do ur itého místa v pam;ti nebo tení dat z tohoto místa, s cílem uložit data z procesoru nebo periferního za ízení do pam;ti, nebo je naopak p enést z pam;ti opa ným sm;rem.
Pam4ti s libovolným p1ístupem Tyto pam;ti jsou ozna ovány zkratkou RAM (Random Access Memory). U pam;tí RAM nazýváme p ístup libovolným, resp. náhodným proto, že jednotlivá místa takové pam;ti se od sebe liší jen adresou, kterou lze volit p i každém p ístupu libovoln; a nezávisle na adresách použitých p i p edchozích nebo následujících p ístupech. Pam;Rová místa jsou si rovnocenná co do trvání p ístupu i zp9sobu ízení
Pam4ti se sériovým p1ístupem Sériový neboli sekven ní p ístup vede na zkratku SAM (Serial Access Memory). Sériový p ístup znamená, že adresy nelze generovat libovoln;, ale sekven n; v souladu s posloupností uložených dat v pam;Rových místech. V oblasti polovodi ových pam;tí je klasickým p edstavitelem posuvný registr. Pat í sem i n;které pam;ti se speciálním p ístupem, viz. následující kapitola. Tento druh pam;tí nelze však zam;Hovat s pam;tmi RAM, u nichž je zápis a tení provád;no po jednom vodi i. Adresa a data jsou zde p enášeny bit po bitu.
Pam4ti se speciálními zpVsoby p1ístupu a) Dvoubránové a vícebránové pam;ti b) Asociativní pam;ti, resp. pam;ti CAM – pam;ti adresované obsahem 69
Polovodi ové pam;ti c) Pam;ti typu zásobník, nazývané též sklípková pam;R, Stack nebo LIFO (Last In – First Out) d) Pam;ti typu fronta, ozna ované jako FIFO (First In – First Out) e) Pam;ti s kombinovaným ízením, které umožHují libovolný p ístup a v zásad; pat í mezi RAM, ale jejich obvody umožHují p epnutí na automatickou inkrementaci/dekrementaci adresy. Pak dovolují po dodání jediné adresy realizovat rychlý sekven ní p ístup k celé posloupnosti sousedních pam;Rových míst (p enos bloku dat).
8.2 Rozd4lení podle možnosti zápisu/ tení Prakticky každá pam;R ve vztah9 k dat9m plní t i funkce: • • •
zápis pamatování tení
Jsou však pam;ti, které za b;žných provozních podmínek jsou schopny jen posledních dvou funkcí. Zápis je proveden jen jednou.
Pam4ti pro záznam a tení RWM (Read Write Memory) U t;chto pam;tí je možno zapisovat i íst za b;žného provozu, kdy záznam i tení trvají p ibližn; stejnou dobu. Polovodi ové pam;ti RWM bývají energeticky závislé, tj. po vypnutí se uchovávaná informace ztratí. Pro trvalé uchování informace je nutno tyto pam;ti nap;Rov; zálohovat. Dnes již zastaralý typ feritových pam;tí byl typem RWM ale nebyl energeticky závislý.
Obr. 8.1 Realizace pam iRWM
Pevné, resp. permanentí pam4ti ROM U t;chto pam;tí je možno za provozu jen íst. Data však z nich nezmizí ani p i ztrát; napájení a tato energetická nezávislost je jednou a možná i jedinou z hlavních p edností t;chto pam;tí. Tyto pam;ti pak ješt; d;líme na: a) ROM – informace se do této pam;ti zaznamenává p i výrob;. Tyto druhy pam;ti nalézáme p edevším u jedno ipových mikropo íta 9 používaných v aplika ních za ízeních.
70
Polovodi ové pam;ti
Obr. 8.2 Realizace pam ové buWky ROM b) PROM, ili programovatelná ROM – informaci do ní m9že zaznamenat uživatel.
Obr. 8.3 Realizace pam ové buWky PROM c) EPROM, mazatelné a znovu programovatelné ROM – informaci do ní programuje uživatel a navíc se tato m9že vymazat pomocí ultrafialového zá ení p es okénko na pouzd e. Pak je možno do této pam;ti op;t zaznamenat další informaci. d) EEPROM, elektricky mazatelná a programovatelná ROM – informace m9že být v této pam;ti p episována p i zachování elektrické nezávislosti p i uchovávání informace. P i sou asném stupni vývoje však m9že d;lat zápis jen ve speciálním režimu se zvýšeným nap;tím signál9 a p edevším výrazn; pomaleji než probíhá tení. Vývoj však sp;je k tzv. bleskovým EEPROM (Flash Memory), které tuto z ejmou nevýhodu potla ují. Data lze p episovat sice mnohem pomaleji než íst, ale podstatn; rychleji než u dosavadních EEPROM a to ve standardním režimu bez zvyšování nap;tí signál9. Rovn;ž po et možných cykl9 p episování je mnohem v;tší.
Obr. 8.4 Realizace pam ové buWky EEPROM 71
Polovodi ové pam;ti
8.3 Rozd4lení pam4tí podle principu elementární pam4Wové bu ky Pam4ti SRAM (Static Random Access Memory) Pam;ti SRAM uchovávají informaci v sob; uloženou po celou dobu, kdy jsou p ipojeny ke zdroji elektrického napájení. Pam;Rová buHka SRAM je realizována jako bistabilní klopný obvod, tj. obvod, který se m9že nacházet vždy v jednom ze dvou stav9, které ur ují, zda v pam;ti je uložena 1 nebo 0. U SRAM pam;tí se používá dvou datových vodi 9. Vodi Data je ur ený k zápisu do pam;ti. Vodi ozna ený jako \Data se používá ke tení. Hodnota na tomto vodi i je vždy opa ná než hodnota uložená v pam;ti. Takže na konci je nutno ji ješt; negovat. P i zápisu se na adresový vodi umístí hodnota logická 1. Tranzistory T1 a T2 se otev ou. Na vodi Data se p ivede zapisovaná hodnota (nap . 1). Tranzistor T1 je otev en, takže jedni ka na vodi i Data otev e tranzistor T4 a tímto dojde k uzav ení tranzistoru T3. Tento stav obvodu p edstavuje uložení hodnoty 0 do pam;ti. Zcela analogicky tato buHka pracuje i p i zápisu hodnoty 1. Rozdíl je pouze v tom, že tranzistor T4 z9stane uzav en a to zp9sobí otev ení tranzistoru T3.
a)
b)
Obr. 8.5 Realizace jedné buWky SRAM v technologii a) MOS; b) TTL P i tení je op;t na adresový vodi p ivedena hodnota logická 1, což op;t zp9sobí otev ení tranzistor9 T1 a T2. Jestliže byla v pam;ti zapsána hodnota 1, je tranzistor T4 otev en (tj. na jeho výstupu je hodnota 0). Tuto hodnotu obdržíme na vodi i \DATA. Op;t zcela analogicky v p ípad; uložené hodnoty 0, kdy tranzistor T4 je uzav en (tj. na jeho výstupu je hodnota 1). Poznámka: Tranzistory T5 a T6 plní pouze funkcí rezistor9. Pam;ti SRAM je možné uskute nit i v technologii TTL. BuHka takovéto pam;ti pracuje na podobném principu jako buHka v technologii MOS
Pam4ti DRAM (Dynamic Random Access Memory) V pam;ti DRAM je informace uložena pomocí elektrického náboje na kondenzátoru. Tento náboj má však tendenci se vybíjet i v dob;, kdy je pam;R p ipojena ke zdroji elektrického napájení. Aby nedošlo k tomuto vybití a tím i ke ztrát; uložené informace, je nutné periodicky provád;t tzv. refersh, tj. oživování pam;Rové buHky. Tuto funkci plní n;který z obvod9 ipové sady.
72
Polovodi ové pam;ti
Obr. 8.6 Realizace jedné buWky pam ti DRAM v technologii TTL P i zápisu se na adresový vodi p ivede hodnota logická 1. Tím se tranzistor T otev e. Na datovém vodi i je umíst;na zapisovaná hodnota (nap . 1). Tato hodnota projde p es otev ený tranzistor a nabije kondenzátor. V p ípad; zápisu nuly dojde pouze k p ípadnému vybití kondenzátoru (pokud byla d íve v pam;ti uložena hodnota 1). P i tení je na adresový vodi p ivedena hodnota logická 1, která zp9sobí otev ení tranzistoru T. Jestliže byl kondenzátor nabitý, zapsaná hodnota p ejde na datový vodi . Tímto tením však dojde k vybití kondenzátoru a zni ení uložené informace. Jedná se tedy o buHku, která je destruktivní p i tení a p e tenou hodnotu je nutné op;t do pam;ti zapsat. BuHka pam;ti DRAM je velmi jednoduchá a dovoluje vysokou integraci a nízké výrobní náklady. Díky t;mto vlastnostem je používána k výrob; opera ních pam;tí. Její nevýhodou je však vyšší p ístupová doba (60 - 70 ns) zp9sobená nutností provád;t refresh a asem pot ebným k nabití a vybití kondenzátoru.
Shrnutí pojmV 8 Klí ová slova: Polovodi ová pam4W
Otázky 8 1. Vysv;tlete princip polovodi ové pam;ti 2. Vysv;tlete rozdíl mezi pam;tmi RWM a ROM 3. Jaký je principielní rozdíl mezi statickými a dynamickými pam;tmi
73
Styk mikropo íta e s analogovým prost edím
9
Styk mikropo íta e s analogovým prost1edím as ke studiu: 3 hodiny
Cíl
Po prostudování tohoto odstavce budete um;t
• • • •
zp9soby napojení mikropo íta e na analogové prost edí principy D/A p evod9 principy A/D p evod9 zp9soby zobrazení ísel v mikropo íta i
Výklad Mnoho zdroj9 informace v okolí mikropo íta e má spojitý, analogový výstup. Abychom íslicovému rozhraní mikropo íta e umožnili zpracování t;chto informací, musíme realizovat p edevším p evod analogových signál9 na íslicové. Podobn; pro ízení analogových ak ních len9, které má mikropo íta ovládat, musíme jeho rozhraní vybavit p evodníky íslicových signál9 na analogové. Pro napojení mikropo íta e na analogové prost edí, však ješt; musíme tyto p evodníky doplnit dalšími obvody, jež budou muset zajišRovat n;které z následujících inností: •
zesílení energie signálu
•
p evod signálu z jiného fyzikálního nositele
•
linearizaci idla
•
potla ení souhlasného signálu a šumu
•
izolaci r9znorodých zemí
•
úpravu kmito tového spektra signálu – filtraci
•
volbu m; icího kanálu – multiplex
•
normování úrovn; signálu
•
vzorkování signálu
N;které z operací pak nelze ešit jinak než použitím specializovaných obvod9. Jiné úlohy mohou být ešeny diskrétními prvky anebo do jisté míry jej lze ešit i softwarov;. Volba hranice mezi hardwarovým a softwarovým ešením obsluhy styku mikropo íta e s analogovým okolím závisí p edevším na zvážení asové náro nosti operace realizované jedním z uvedených zp9sob9 a na stupni využití mikropo íta e jinými úlohami. Vysoký stupeH integrace však dovoluje ešit tyto obvody p ímo v rámci ipu mikropo íta e.
9.1 Analogový výstup mikropo íta e Pešení výstupních analogových kanál9 je možné ešit dv;ma zp9soby: •
paralelním azením více D/A p evodník9
•
centrálním D/A p evodníkem s demultiplexovanými výstupy ve form; analogových pam;tí
74
Styk mikropo íta e s analogovým prost edím Možnosti jsou blokov; znázorn;ny na obr. 9.1 resp. obr. 9.2. Výstupní signál bývá zpravidla normován do úrovní ±10V eventueln; 0÷20mA. Další úprava – nap . výkonové zesílení – je pak v;cí místního ak ního lenu, který je výstupem ovládán.
DB RG1
D/A 1
RG2
D/A 2
RGn
D/A n
U1
U2
AB CB
Dekodér adres
Un
Obr. 9.1 Analogové výstupy s odd lenými D/A p#evodníky
DB
S/H 1
RG
D/A S/H 2
AB CB
Dekodér adres a ízení
S/H n
Obr. 9.2 Analogové výstupy s využitím vzorkovacích zesilova/& Jako analogový výstup mikropo íta e je samoz ejm; použitelná jakákoliv jiná jednotka s íslicovým vstupem a analogovým výstupem. P íkladem mohou být programovatelné zdroje nap;tí, proudu, kmito tu atd. Jejich spojení a komunikaci s mikropo íta em pak ešíme jako p ipojení íslicových výstup9. 75
Styk mikropo íta e s analogovým prost edím
9.1.1 6íslicov= analogový (D/A) p evod Je ada možností, jak p evést íslicovou veli inu na analogovou a naopak. V jednoduchých aplikacích, kdy není mikropo íta využit ízeným procesem, m9že se více i mén; využít pro díl í funkce p evodníku (viz. p evodník tvo ený filtrací digitálního výstupu na n;mž je signál s prom;nnou st ídou, které je pak úm;rná velikost analogového signálu). V ast;jších p ípadech, zejména kdy je mikropo íta pln; vytížen, jsou p evody zajišRovány vn;jšími obvody – p evodníky – a vhodnými vazebními obvody. P i realizaci D/A p evodu musíme p i adit n-bitovému íslu 2n hodnot analogové veli iny. Využijeme toho, že celé íslo si m9žeme rozd;lit na jednotlivé bity, které mají svou váhu a íslo je tak vyjád eno sumou:
x=
n 1 i =0
ai 2 i
Nahradíme-li íselnou váhu jednotlivých bit9 odpovídajícími kvanty, nap . el. proudu, sta í proudové zdroje doplnit spína i ovládanými p íslušnými bity p evád;ného ísla, se tením vytvo it výsledný proud a p evodník je v principu hotov. Doplníme ho ješt; obvykle p evodníkem proud-nap;tí. Princip takového p evodníku je uveden na obr. 9.3.
In-1
an-1
I/2
an-2
I/2n-2
a1
I/2n-1
a0
I
Uvýst U
Obr. 9.3 Princip /íslicov -analogového p#evodníku
P evod probíhá podle vztahu:
I výst . =
n 1 i =0
ai
I 2
n i 1
Praktická realizace p evodníku je trochu jiná. Zdroje proudu jsou nahrazeny jedním referen ním nap;tím a váhovými odpory spínanými jednotlivými bity na vstup opera ního zesilova e. P evodník s takovouto odporovou sítí je na obr. 9.4.
76
Styk mikropo íta e s analogovým prost edím R0
Uref
R
an-1
2R
an-2
2n-2R
a1
n-1
2 R
Uvýst
a0
Obr. 9.4 D/A p#evodník s odporovou váhovou sítí Výstupní nap;tí p evodníku pak odpovídá hodnot; p evád;ného ísla.
U výst = U ref
n 1
R0 2n 1 R
i =0
ai 2 i
R -Uref
R0
Uref
R
an-1
2R
an-2
2n-2R
a1
n-1
2 R
Uvýst
a0
Obr. 9.5 Oboupolaritní D/A p#evodník P i praktické realizaci p evodníku jako jediného integrovaného obvodu ješt; vadí velký rozdíl hodnot váhových odpor9 od R do 2n-1R. Proto se s výhodou využívá kombinované odporové sít; R-2R, jejíž uspo ádání je na obr. 9.6. Uref R
R
R0
2R
an-1
2R
an-2
2R
a1
2R
a0
Uvýst
2R
Obr. 9.6 D/A p#evodník s odporovou sítí R-2R 77
Styk mikropo íta e s analogovým prost edím Pro výstupní proud a nap;tí platí:
I výst =
n 1 i =0
ai
U ref 2R 2
U výst = U ref
n i 1
n 1
R0 2
n
=
R
i =0
U ref 2
n
R
n 1 i =0
ai 2i
ai 2 i
Pro praktické využití p evodník9 je nezbytné porozum;t jejich parametr9m a uvést je do souvislosti s požadavky ešené aplikace.
Rozlišovací schopnost Je jedním z nejd9ležit;jších parametr9. Vyjad ujeme ní po et diskrétních stupH9 výstupního analogového nap;tí. Rozlišovací schopnost je v p ímé souvislosti s po tem bit9, ze kterých sestává p evád;né slovo. Nap . osmibitový p evodník má 28 = 256 stupH9, což odpovídá rozlišovací schopnosti 100/256 = 0,4%.
P1esnost Je dalším d9ležitým parametrem D/A p evodníku. V praxi se skute ná p evodní charakteristika m9že lišit od ideální v d9sledku r9zných vliv9. Celková p esnost p evodníku podstatn; závisí na stabilit; referen ního nap;tí. Statická nestabilita referen ního nap;tí ovlivHuje p esnost, nemá však vliv na linearitu a rozlišovací schopnost.
Rychlost p1evodu Je ur ena po tem vstupních slov p evodníku, která mohou být tímto p evodníkem p evedena na analogové nap;tí nebo proud za jednotku asu. N;kdy se též uvádí doba p evodu, což je reciproká hodnota rychlosti p evodu – je to doba mezi p ivedením vstupního slova na p evodník a okamžikem dosažení ustáleného nap;tí nebo proudu.
Rozsah Je definován jako maximální nap;Rový rozkmit p evodníku bui jedné nebo obou polarit. Výstupní nap;tí D/A p evodníku je schodovité, jeho hodnoty mohou nabývat jen diskrétních hodnot. Zm;na jednoho diskrétního stupn; odpovídá nejnižšímu bitu vstupního slova. Chyba zp9sobená diskrétními úrovn;mi výstupního nap;tí m9že dosáhnout maximáln; ±1/2hodnoty odpovídající nejnižšímu bitu vstupního slova. P ipojení D/A p evodníku k datové sb;rnici mikropo íta e je realizováno prost ednictvím registru, který vlastn; funguje jako výstupní brána a zároveH jako vyrovnávací registr pamatující si poslední hodnotu. Starší p evodníky tento registr nem;ly a bylo tedy nutné jej tímto registrem doplnit. Dnes jsou b;žné monolitické p evodníky zahrnující jak tento registr tak i p esný zdroj referen ního nap;tí v jednom pouzd e. N;které jedno ipové mikropo íta e obsahují již ve své struktu e D/A p evodník. Není to však tak b;žné jako p ítomnost A/D p evodníku na ipu.
9.2 Analogový vstup mikropo íta e Pídicí mikropo íta ový systém bývá mnohdy ešen jako decentralizovaný systém, který s výhodou využívá možnosti íslicového p enosu dat mezi odlehlými zdroji a p íjemci informace. Malé rozm;ry a spolehlivost mikropo íta 9 umožnily p iblížit zpracování analogových vstupních veli in místu jejich vzniku a zvýšit tak jejich p esnost a spolehlivost m; ení.
78
Styk mikropo íta e s analogovým prost edím Zdroji analogové informace – zpravidla proudu nebo nap;tí – jsou idla fyzikálních veli in umíst;ná v ízeném okolí. Výstupní signály z idel je t eba zesílit a normovat do konven ních rozsah9 el. veli in. V míst; idla pak m9že být realizován i A/D p evod. Toto ešení je vhodné pro rozsáhlé systémy. Místní p evodník bývá vybaven výstupním registrem, jehož obsah je neustále obnovován. P enos výstupních dat z p evodníku do mikropo íta e je v;tšinou sériový. DB
idlo 1 A/D
RG
A/D
RG
idlo 2 AB
M9že být i na spole ném ipu
Dekodér adres CB
idlo n RG
A/D
Pízené okolí
Mikropo íta
Obr. 9.7 Decentralizované analogové vstupy mikropo/íta/ového systému V prostorov; soust ed;ných soustavách, vybavených idly stejného druhu, je vhodné tato idla p ipojit na analogový vstup mikropo íta e pomocí vhodného multiplexoru. A/D p evodník pak bývá jen jeden a postupn; p evádí jednotlivé m; icí kanály. Toto ešení pak nazývá centralizovaný systém. Velmi asto je tento systém patrný u jedno ipových mikropo íta 9 s integrovaným A/D p evodníkem na ipu. Bývá jen jeden s možností n;kolika m; ených kanál9. N;kdy bývá nutno u tohoto ešení provést zachycení všech veli in v jeden okamžik. To pak vyžaduje vzorkovací obvod pro každý m; ený obvod zvlášR.
79
Styk mikropo íta e s analogovým prost edím
idlo 1
DB
idlo 2 úprava úrovní, ochrany, odd;lení
MUX
S/H
A/D
Vzorkování Start p evodu
Pízení
idlo n
CB
Dekodér adres Okolí
AB
Mikropo íta
Obr. 9.8 Centralizovaná vstupní jednotka s A/D p#evodníky
9.2.1 Analogov= (íslicový (A/D) p evod. Analogov; íslicový p evodník je obvod, který generuje výstupní íslo odvozené ze vstupního analogového signálu vzhledem k analogové referen ní veli in;. Výstupní íslo m9že být udáno v paralelním nebo sériovém tvaru. Používané kódy jsou stejné jako u D/A p evodník9 (viz násl. podkap.). Vstupním analogovým nap;tím je zpravidla nap;tí. Analogová reference bývá v;tšinou pevná, mén; asto prom;nná (pom;rový A/D p evodník). Existuje celá ada princip9 p evodu.
Paralelní A/D p1evodník Jeho princip je velmi jednoduchý. Vytvo íme tolik referen ních nap;tí, kolik hodnot chceme rozeznávat.
Uref
K D E K O D E R
K Uvst
K
Obr. 9.9 Paralelní A/D p#evodník 80
Xvyst
Styk mikropo íta e s analogovým prost edím Pak ur íme, mezi kterými je dané p evád;né nap;tí. Realizace je nazna ena na obr. 9.9. Referen ní nap;tí rozd;líme odporovým d;li em složeným ze shodných odpor9 na kvanta odpovídají hodnot; jednoho bitu. Odpor9 bude 2n. P evád;né nap;tí je p ivád;no na vstup každého komparátoru, na jejichž druhý vstup je zaveden p íslušný díl referen ního nap;tí. Komparátor vyhodnocuje, které nap;tí na jeho vstupu je v;tší. Nejvyšší p eklopený komparátor ur uje výsledek p evodu. Výstupy z komparátoru jsou p ivedeny na kodér, jenž vytvá í z dané kombinace vstupu n-bitové íslo. P evodníky se vyzna uje velmi vysokou rychlostí, nevýhodou je pak velký po et komparátor9 (2n-1). V sou asné dob; se vyskytují tyto p evodníky v monolitické form; se všemi komparátory na ipu. Jejich rychlost se pohybuje v jednotkách nanosekund.
Kompenza ní A/D p1evodík Druhou skupinu p evodník9 tvo í p evodníky kompenza ní. Jeho princip je vyzna en na obr. 9.10. Sou ástí tohoto p evodníku je D/A p evodník, jehož výstup je porovnáván v komparátoru s p evád;ným vstupním signálem. Vstup tohoto D/A p evodníku je p ipojen k ídicímu lenu, jehož úkolem je vytvá et takové íslo, které po p evedení na analogovou hodnotu D/A p evodníkem je stejné s hodnotou vstupního signálu. Existuje n;kolik strategií, jak se ídicí len k takovému íslu p ibližuje.
CLK
Pídicí len Xvyst
D/A
K
Uvst
Obr. 9.10 Princip kompenza/ního A/D p#evodníku
Metoda vzestupného ítání – inkrementa ní Pídicím lenem je vzestupný íta , který p i každém p evodu za íná ítat od nuly. S nar9stáním jeho obsahu roste i nap;tí na výstupu D/A p evodníku a jakmile je dosaženo stejného nap;tí jako je m; ené (p evád;né), dojde k p eklopení komparátoru, což je signál zp;tn; pro ídicí len k ukon ení ítání. Nyní je možné íst na výstupu íta výsledek p evodu. Doba p evodu je úm;rná velikosti p evád;ného nap;tí a je k-násobkem periody hodinového pulsu íta e, kde k je po et krok9 nutných k uskute n;ní p evodu. Variantou této metody je metoda dekrementa ní.
Metoda sledovací P edchozí metodu lze pom;rn; jednoduše modifikovat tak, že použijeme obousm;rný íta , který snižuje i zvyšuje svou hodnotu podle stavu komparátoru. P es pom;rn; malou zm;nu má p evodník podstatn; jiné vlastnosti. Pídicí len se na po átku nenuluje, ale vychází z po áte ní hodnoty dané výsledkem p edchozího kroku p evodu. P evodník tak sleduje trvale p evád;ný signál a dává tém; okamžité výsledky. Výjimkou je start p evodníku a stavy, kdy se signál m;ní 81
Styk mikropo íta e s analogovým prost edím rychleji než je schopen p evodník sledovat. Tuto vlastnost pak s výhodou využijeme tak, že navrhneme p evodník podle nejvyšší strmosti signálu, která se m9že vyskytnout. P evodník pak nebude reagovat (nebo jen minimáln;) na krátké rušivé signály.
Metoda postupné aproximace Také tato metoda odstraHuje neur itou dobu p evodu u inkrementa ní metody. Vychází vlastn; z itera ní metody p9lení intervalu. Pídicí blok, který se nazývá registr postupných aproximací, nastaví nejprve nejvyšší bit na „1“ a ostatní na „0“ Tak vlastn; vytvo í na výstupu D/A p evodníku polovinu maximálního nap;tí. Komparátor rozhodne, ve které polovin; intervalu se nachází p evád;ný signál a podle toho se nejvyšší bit nuluje nebo nechává nastaven a sou asn; se nastavuje druhý nejvyšší bit. Algoritmus se opakuje. Takto je v n krocích realizován n-bitový p evodník. Pro b;žné p evodníky se doba p evodu pohybuje v jednotkách mikrosekund n;kdy i stovkách nanosekund. Tento typ p evodník9 je nej ast;ji používán práv; ve spojení s mikropo íta ovým ídicím systémem. Jeho rychlost i p esnost vyhovuje v;tšin; ídicích aplikací.
Umax Uvst
Uvst
Uvst
doba p evodu
další p evod
a) inkrementa ní
t
t b) sledovací
t c) aproxima ní
Obr. 9.11 Zp&soby #ízení kompenza/ních A/D p#evodník&
Integra ní p1evodník Tyto p evodníky m9žeme charakterizovat pom;rn; dlouhou dobou p evodu ádu 1 až 10 ms, zna nou dosažitelnou p esností a obvodovou jednoduchostí. Setkáváme se s nimi p edevším v m; icí technice. P evodník pracuje zpravidla ve dvou nebo t ech krocích. Základem p evodníku je integrátor I, který integruje m; ený signál Uvst. po konstantní dobu danou napln;ní n-bitového íta e % hodinovými pulsy frekvence f. Velikost výstupního nap;tí integrátoru je úm;rná st ední hodnot; m; eného (p evád;ného) nap;tí. Po napln;ní íta e se p epne vstup integrátoru k referen nímu nap;tí opa né polarity a íta odm; uje as, za který dosáhne výstup integrátoru nulové hodnoty. Pak se ítání zastaví a obsah íta e je v podstat; výsledné p evedené íslo N. Tato hodnota je úm;rná st ední hodnot; vstupního p evád;ného nap;tí. Princip p evodníku ilustruje obr. 9.12.
82
Styk mikropo íta e s analogovým prost edím
f Uvst>Uvst*
Uvst Uref
N I
K
Uvst*
&
t1z2n
t2zN
t
Obr. 9.12 Princip integra/ního p#evodníku Jako pomocný t etí krok m9že p edcházet vynulování zbytkových nap;tí integrátoru, komparátoru a vstupního zesilova e. Typickými p edstaviteli t;chto p evodník9 jsou monolitické obvody ICL7106, ICL7107, ze starších pak velmi populární C520D. Tyto pracují se t emi až ty mi m; eními za sekundu umožHují oboupolaritní vstupní signál a jejich výstup p ímo podporuje napojení zobrazovacích LCD nebo LED jednotek. A/D p evodníky charakterizují nejd9ležit;jší dva parametry.
Rychlost p1evodu Z hlediska dynamických chyb je vhodné odd;lit p evodníky integra ního typu od ostatních. U integra ních p evodník9 lze s výhodou využít jejich filtra ních vlastností. Potla ují totiž periodické pr9b;hy s násobkem periody rovným dob; integrace. Protože se nám zpravidla jedná o filtraci rušivých nap;tí elektrovodné sít;, které se superponují na m; ený signál, budeme volit dobu integrace nap . 20ms. Doba p evodu je pak dána dobou integrace a dobou trvání ostatních takt9 p evodu (integrace reference, nulování offsetu apod.)Rychlost p evodu je obrácená hodnota doby p evodu. V p ípad; požadavku na p evod okamžitých hodnot analogové vstupní veli iny použijeme neintegra ní typ p evodníku, dopln;ný vstupním vzorkováním a pam;Rovým obvodem.
Rozlišovací schopnost Je ur ena po tem úrovní, na n;ž jsme rozd;lili rozsah vstupní analogové veli iny; udává se zpravidla p ibližn; výrazem 1/2n, kde n je po et bit9 výstupního slova
Kvantiza ní chyba Je v p ímé souvislosti s po tem úrovní kvantování. Dosahuje hodnoty ±1/2 LSB výstupního slova p evodníku.
Linearita Rozumíme jí maximální odchylku od p ímky, spojující dva koncové body p evodní charakteristiky vstup – výstup. Vyjad uje se ve zlomcích LSB. Je neovlivnitelným parametrem A/D p evodníku. Chyby vznikající nap;Rovým posunem nebo zm;nou m; ítka p evodu je možné kompenzovat nastavovacími prvky p evodníku (nastavením nuly a zisku).
9.3 Kódy pro A/D a D/A p1evody 83
Styk mikropo íta e s analogovým prost edím Pro kódování analogových hodnot v íslicových systémech se využívá n;kolik možností. Pro názornost je nutné objasnit zobrazení ísel v mikropo íta ových systémech
9.3.1 Vyjád ení (ísel v (íslicových systémech Pro zobrazení hodnot signál9 íslicového systému je možné použít libovolné íselné soustavy. S ohledem na rozvoj a realizaci íslicových obvod9 se dv;ma stabilními stavy, má praktický význam se zabývat pouze soustavou dvojkovou. Dvojková binární soustava je íselná soustava jejíž základem je hodnota B = 2. Jako v každé jiné soustav; je íslo tvo eno posloupností íslic (bit9), které nabývají pouze dvou hodnot 0 nebo . Nyní se seznámíme s vyjád ením kladných i záporných ísel s pevnou ádovou árkou.
Nezáporná celá ísla Tato interpretace je nejp irozen;jší a na první pohled jediná rozumná. Popišme si nyní, jak jsou tato ísla v po íta i p i azena dvojkovým ísl9m. Každému bitu p i adíme ur itou váhu vyjád enou jako mocnina dvou. Nejmén; významný bit a0 má váhu 20 další bit a1 má váhu 21 atd. %íselnou hodnotu n-bitového ísla pak vyjád íme vztahem:
x=
n 1 i =0
a i 2i
Stanovme pak další informace: •
nejmenší íslo
0
•
nejv;tší íslo
2n-1
•
rozdíl dvou sousedních ísel
1
•
po et rozlišitelných ísel
2n
Tato ísla bývají ozna ována jako INTEGER bez znaménka
Nezáporná reálná ísla Rozší ením oboru zpracovávaných ísel na ísla reálná je nesporn; užite né. Dosáhneme ho tak, že nejnižšímu bitu nep i adíme váhu 20, ale 2-m, kde m je celé kladné íslo. Tím jsme vlastn; dovnit dvojkového ísla vložili ádovou árku tak, že vpravo od ní z9stává m bit9, jejichž váha je tvo ena zápornými mocninami 2 tj. zlomkovými ísly ½, ¼ atd. Vztah pro výpo et hodnoty, kterou pak íslo v mikropo íta i p edstavuje bude
x=
n 1
a i 2i
m
i =0
A op;t: •
nejmenší íslo
0
•
nejv;tší íslo
2-m.(2n-1)
•
rozdíl dvou sousedních ísel
2-m
•
po et rozlišitelných hodnot
2n
Poznámka:
84
Styk mikropo íta e s analogovým prost edím Pokud si zkusíte takto pro n;jaké m p evést do dekadického tvaru n;jaké binární íslo, zjistíte, že m9že mít v desítkové interpretaci hodn; desetinných míst. Neznamená to ovšem, že by se zvýšila p esnost, ale je to zp9sobeno tím, že rozdíl dvou sousedních ísel má tolik desetinných míst, kolik iní hodnota m. Celkový po et rozlišitelných hodnot se pochopiteln; nem;ní, takže do binárního tvaru lze p esn; p evést pouze omezený po et ísel reálných (2n). Vzniká tak celá ada možností, jak interpretovat ísla v mikropo íta i. Prakticky se využívají pouze dv; hodnoty m. Pro m = 0 získáváme již známá ísla INTEGER bez znaménka. Pro m = n dostaneme tzv. ísla FRACTION, pro která platí:
x=
n 1 i =0
a i 2i
n
nejmenší íslo
0
nejv;tší íslo
1-2-n
rozdíl dvou sousedních ísel
2-n
po et rozlišitelných hodnot
2n
Tato ísla jsou tedy menší než jedna a používají se tam, kde nap . z asových d9vod9 nestihne mikroprocesor zpracovat ísla v pohyblivé ádové árce tj. nap íklad v n;kterých ídicích aplikacích zvlášt; s jednoduššími procesory. Práce s ísly FRACTION vyhovuje pro výpo ty p ipravené v pom;rných hodnotách. Dále je pom;rn; užite né, že tato ísla jsou odolná proti p ete ení p i násobení (oba initelé jsou menší než jedna).
9.3.2 Vyjád ení znaménka Doposud jsme hovo ili pouze o vyjád ení kladných ísel s pevnou ádovou árkou. Pot ebujeme-li zobrazovat ísla se znaménkem je z ejmé, že po et bit9 rezervovaných na rozsah ísel bude nutno zv;tšit o jeden bit, který ponese informaci o znaménku. %ty i nejpoužívan;jší vyjád ení ísel v pevné ádové árce, která si nyní popíšeme, jsou graficky zobrazena na obr. 9.13.
Vyjád1ení ± absolutní hodnota P i tomto vyjád ení p edstavuje nejvyšší bit znaménko (obvykle 0...+, 1...-) a zbývajících b-1 bit9 ur uje absolutní hodnotu zobrazovaného ísla. Vyjad ujeme-li celá ísla a máme k dispozici b bit9, pak m9žeme zobrazovat kladná i záporná ísla v intervalu <0, 2b-1-1>. Ve vyjád ení existují dv; nuly, z nichž použití záporné nuly 1000...000 se v;tšinou zakazuje. Tento kód se asto využívá u A/D p evodník9, které asto pracují v okolí nulového nap;tí, neboR se snadno uskute ní p echod z malého kladného nap;tí na malé záporné a opa n;. V tomto kódu se nem;ní v;tší po et údajových bit9 p i p echodu nulovou úrovní.
Vyjád1ení záporných ísel jednotkovým dopl kem U tohoto vyjád ení jsou kladná ísla vyjád ena stejn; jako ve tvaru ± absolutní hodnota. Záporná ísla jsou v jednotkovém doplHku, který ozna ujeme 1x a vypo teme z následujícího vztahu: 1
x = 2b 1 x = 2b 1
b 2 i =0
a i 2i
b
Hodnota 2 -1 p edstavuje íslo, které má na všech n bitech samé jedni ky. Ode teme-li od této hodnoty b-1 bitové íslo X, získáme íslo mající oproti íslu X všechny bity negované. Vyjad ujeme-li 85
Styk mikropo íta e s analogovým prost edím celá ísla a máme k dispozici b bit9, m9žeme zobrazovat ísla kladná i záporná v intervalu <0, 2b-1-1>. Nejvyšší bit zna í znaménko (0...+, 1...-). Ve vyjád ení op;t existuje kladná (000...0) i záporná (111...1) nula. Jednotkový dopln;k se používá (ale mén; než dvojkový) v íslicových za ízeních, které uskute Hují aritmetické operace. Pomocí jednotkového doplHku se uskute Huje ode ítání s ítáním tak, že se vytvo í jednotkový dopln;k menšitele, který se p i te k menšenci a k výsledku se p i te jedni ka v nejnižším dvojkovém ád;. Toto nazýváme kruhovým p enosem
Vyjád1ení záporných ísel dvojkovým dopl kem Záporná ísla ve dvojkovém doplHku, který ozna ujeme 2X, vypo teme z následujícího vztahu 2
X=2
b
X = 1+ X = 2 1
b
b 2 i =0
a i 2i
Jak vyplývá z p edešlého textu, získáme dvojkový dopln;k tak, že všechny bity ísla X znegujeme (jednotkový dopln;k) a pak k n;mu p i teme jedni ku na nejnižší pozici. Vyjad ujeme-li celá ísla a máme k dispozici b bit9, m9žeme zobrazovat kladná ísla v intervalu <0,2b-1-1> a záporná ísla v intervalu <-1,-2b-1>. Nejvyšší bit op;t zna í znaménko (0…+, 1…-). Ve vyjád ení již existuje jen jedna nula (000…0). Budeme-li vytvá et dvojkový dopln;k ísla se zlomkovou ástí, potom jedni ku p i ítáme k bitu s nejmenší váhou 2-n. Jedná se nej ast;ji používaný zp9sob zobrazení ísel v technických realizacích.
Vyjád1ení 1/2 intervalu %íslo v tomto vyjád ení dostaneme ze vztahu 1/ 2
X =2 b 1 + X = 2 b 1 +
b 2 i =0
a i 2i
Bit s nejvyšší váho op;t zna í znaménko s tím ale, že je 0…- a 1…+. Stejn; jako ve dvojkovém vyjád ení má toto vyjád ení jen jednu nulu. U tohoto kódu je velmi jednoduchý p evod na dvojkový dopln;k. Nevýhodou je zm;na ve všech dvojkových ádech p i p echodu z nuly na nejmenší záporné íslo. U A/D p evodník9 bývá zm;na analogového nap;tí v okolí nuly pom;rn; dosti astá.
86
Styk mikropo íta e s analogovým prost edím 0
255
0h
FFh
-127
-1
80h
FEh FFh
-128
-127
80h
81h
-0
0
1
127
0h
1h
7Fh
-1
0
1
127
FFh
0h
1h
7Fh
-127
-1
-0
0
1
127
FFh
81h 80h
0h
1h
7Fh
-128
-127
-1
0
1
127
0h
1h
7Fh
80h
81h
FFh
P ímý kód bez znaménka
Jednotkový dopln;k
Dvojkový dopln;k
+/- Absolutní hodnota
+/- 1/2 intervalu (nap;Rový posun)
Obr. 9.13 Grafické znázorn ní rozsahu kladných a záporných /ísel v základních formátech pro 8 bit&.
Shrnutí pojmV 9 Klí ová slova: A/D p1evod, D/A p1evod
Otázky 9 1. Popište zp9soby p ipojení mikropo íta e k analogovému prost edí 2. Popište principy D/A p evodu 3. Popište principy A/D p evod9 4. Jakým zp9sobem je možné vyjád it znaménko v mikropo íta ovém systému
10 Mikroprocesory, mikropo íta e a mikropo íta ové systémy as ke studiu: 1,5 hodiny 87
Cíl
Po prostudování tohoto odstavce budete um;t
• zp9soby rozd;lení mikroprocesor9 • vysv;tlit rozdíl mezi architekturou Von Neumann a Harvardskou • vysv;tlit rozdíl mezi architekturou CISC a RISC
Výklad Historie mikroprocesor9 za íná na za átku sedmdesátých let, kdy se vývojový pracovník firmy Intel rozhodl, že jednu se zadaných úloh nebude ešit n;kolika specializovanými obvody, jak se p edpokládalo, ale že vytvo í obvod programovatelný tak, aby mohl s jeho pomocí ešit úloh n;kolik. Tak byl položen základ k prvnímu ty bitovému mikroprocesoru I 4004. %ty bitové mikroprocesory vyráb;la celá ada firem zejména pro použití v kalkula kách a hrách a další jednoduchých aplikacích. Nejvýznamn;jším výrobcem v této oblasti se stala firma Texas Instruments. Avšak prvním skute n; masov; užívaným mikroprocesorem se stal mikroprocesor I 8080. Ten p edstavoval sv;tov; užívaný standard v oblasti osmibitových mikropo íta 9. V dob; svého vzniku byl zhruba desetkrát výkonn;jší než jiné typy. Zajímavé je, že ve stejném roce (1974) byl uveden na trh nejen konkuren ní osmibitový mikroprocesor firmy Motorola – 6800, ale i první šestnáctibitový mikroprocesor na jednom ipu. Z mikroprocesoru I 8080 vychází i mikroprocesor Z 80 firmy Zilog, vytvo ený v roce 1974 n;kolika pracovníky, kte í firmu Intel opustili. O rok pozd;ji je p edstaven zlepšený I 8085. Jmenované mikroprocesory prakticky obsadily trh a v n;kterých p ípadech jsou využívány dodnes. Další vývojový krok p edstavují šestnáctibitové mikroprocesory, které se staly základem komer n; úsp;šných osobních po íta 9. Také zde byla úsp;šná firma Intel s typem I 8086. Ta dále pokra uje s dalšími typy ´286, ´386, ´486, Pentium atd. Spole n; s ní zaujímá nejvýznamn;jší místo na trhu firma Motorola, jejíž mikroprocesory jsou nap íklad základem osobních po íta 9 Apple – MacIntosh. Nutno p ipomenout, že rozvoj mikroprocesor9 musel být doprovázen rozvojem i dalších obvod9, zejména pam;tí a vývojových prost edk9. Již s vývojem šestnáctibitových mikroprocesor9 bylo jasné, že tyto p esáhnou své p9vodní ur ení jednoduchého automatiza ního prost edku. P itom bylo výrobc9m jasné, že opustit tuto oblast by bylo neuvážené, protože p edstavuje ohromný trh. Pokladny v obchodech, po ítadla benzínových pump, domácí elektronika, íslicov; ízené obráb;cí stroje a další, to jsou jen namátkov; vybrané p íklady uplatn;ní. P itom užití výkonných mikroprocesor9 by zde nebylo ú elné. Proto vznikly monolitické mikropo íta e tzv. jedno ipové mikropo íta e, jež mají v;tšinu podp9rných obvod9 a blok9 mikropo íta e p ímo v jedné sou ástce, na jednom ipu. Jsou nabízeny op;t celou adou firem. Když nahlédneme k firm; Intel jsou to typy 8048, 8051, 8096 atd.
10.1 Rozd4lení procesorV Procesory se mohou d;lit podle r9zných hledisek do r9zných skupin. Tyto skupiny se samoz ejm; dají dále rozd;lit do r9zných podskupin podle dalších hledisek, jako je nap íklad architektura mikroprocesoru, koncepce apod. N;které skupiny se vzájemn; p ekrývají jako jsou RISC a CISC architektury.
10.1.1 První zp sob d=lení: a) CPU (Central Processor Unit) Mikroprocesory, jak je známe asi všichni, jsou srdcem našich osobních po íta 9, aR PC nebo MAC9 a také jakýchkoliv jiných stolních po íta 9. Jejich hlavní vlastnosti jsou: • otev enost procesoru, který neobsahuje žádná periferní za ízení p ímo v sob; (na jednom ipu) a všechny periferie musí být p ipojeny extern;. Nap . pam;R, vstupn;-výstupní za ízení (sériové porty, paralelní porty, USB, zvuková karta. 88
• • • •
vysoká cena; oproti ostatním typ9m mikroprocesor9 se cena ídí p edevším trhem vysoký výkon; v podstat; jsou CPU svým výkonem daleko p ed jedno ipovými mikropo íta i, dnes velmi asto i p ed DSP. vysoká spot eba a ztrátový výkon, tyto mikroprocesory se velmi zah ívají a ve v;tšin; p ípadech pot ebují velmi ú inné chlazení. Má to souvislost p edevším s výpo etním výkonem mikroprocesoru a jeho vysokým odb;rem (až jednotky ampér). velké rozm;ry pouzdra
b) MCU (Micro Controller Unit) Spíš nesou ozna ení jako jedno ipové mikropo íta e, i když si každý výrobce své „brouky“ nazývá podle svého a tak ob as nastává trochu zmatek. Tento typ se používá tém; kdekoliv; po ínaje osobním po íta em (klávesnice), ídicí jednotka v automobilech, v n;kterých m; icích p ístrojích apod. Hlavní výhody: • • • •
nízká cena; nejlevn;jší mikro adi e se dají dnes po ídit i do 50 k , ty nejdražší cca kolem 1 000 K . nízká spot eba v klidovém režimu se m9že pohybovat v jednotkách µA, za chodu kolem stovek µA. malé rozm;ry mikropo íta e menší možnost rozší ení
c) DSP Ur itým kompromisem mezi klasickým CPU a mikropo íta em je signálový procesor. Jak jeho název napovídá, je ur en p edevším ke zpracování signál9. Stru n; e eno slouží signálový procesor k tomu, aby data, která do n;j vstoupí, zpracoval a co nejrychleji je p edal na výstup. Jeho výhody: • • • •
Vysoká rychlost zpracování íslicových dat. Velmi rychlé matematické operace jak v plovoucí, tak v pevné desetinné árce. Sou asná hodnota, kterou dosahují kvalitní DSP, se pohybuje kolem 60 MFLOPS (60 milión9 operací v plovoucí desetinné árce za sekundu). Schopnost zpracovávat velké objemy dat. Signálový procesor je již speciální variantou, kde ostatní hlediska jako spot eba, cena atd. závisí na aplikacích, ve které je procesor použit. Pomocí DSP se dosahuje ve vašich SoundBlasterech a podobných zvukových kartách efekt9 se zvukem. Stejn; tak m9že DSP zajišRovat kompresi zvuku, obrazu apod. Dále se používají u HDD u tecích hlav jako D/A p evodník. Signálové procesory jsou velmi náro né na p ístupovou rychlost pam;tí, které požívají. Je to práv; proto, že se pracuje s velkým objemem dat, na n;ž se navíc aplikují funkce jako je rychlá Fourierova transformace (nap . spektrální analyzátor)
10.1.2 Druhý zp sob d=lení Mezi návrhá i po íta 9 byl dlouho všeobecn; rozší en názor, že ím bohatší instruk ní sada procesoru, tím výkonn;jší po íta . Výrobci procesor9 se pak doslova p edhán;li v tom, kolik složitých instrukcí p idají do svých procesor9. Doufali, že tyto složité instrukce budou programátory bezezbytku využívány a že se postupn; n;jaký jazyk vysoké úrovn; stane p ímo strojovým kódem. P edpoklad výrobc9 mohl snad být oprávn;ný v dob;, kdy se programy psaly pouze v assembleru a byly zároveH šity na míru konkrétním procesor9m. Pozd;ji však rozsáhlé testy velkého vzorku typických program9 prokázaly, že a koli návrhá asto vynaloží zna né úsilí p i ešení problému, jak implementovat universáln; p ijatelnou instrukci, pouze n;kolik málo tv9rc9 p eklada 9 ji dokáže využít. V praxi je totiž nakonec využívána jen jistá podmnožina instruk ního souboru a adresních režim9 procesoru. Nejvíce je využívána skupina jednoduchých instrukcí, zatímco ostatní relativn; složit;jší instrukce se používají jen málo. Procesor, obsahující veliké množství složitých instrukcí a zp9sob9 adresování, je více komplikovaný a v d9sledku toho i nevýkonný. Provedení i t;ch nejzákladn;jších a nejjednodušších instrukcí trvá u takového procesoru déle, než by mohlo trvat jednoduššímu procesoru, který nemá tak obsažnou sadu 89
instrukcí. Vedle toho mají složit;jší procesory komplikovan;jší vývoj. Uživatel také draze platí za nevyužité technické prost edky. Na základ; výše uvedených rozpor9 je možno rozd;lit teorie struktury procesor9 do dvou základních sm;r9. První z nich, p9vodní teorie, je známa pod názvem CISC (Complex Instruction Set Computer) neboli po íta s kompletním souborem instrukcí. Snahou výrobc9 t;chto procesor9 je tedy vybavovat procesory co nejširší sadou instrukcí. Pravým protipólem CISC je skupina procesor9 známá jako RISC (Reduced Instruction Set Computer) neboli po íta s redukovaným souborem instrukcí. Jejich výrobci se naopak snaží maximáln; omezit instruk ní sadu procesor9. Klí ovou je myšlenka o p enesení n;kterých výpo etních funkcí procesoru z technických prost edk9 na programové. Jednodušší technické prost edky tak umožní vykonávat dané funkce realizované programovými prost edky rychleji než složité technické prost edky. Instruk ní sada t;chto procesor9 je tedy redukována pouze na jednoduché a rychle provád;né instrukce, na ty, které bývají nejvíce využívány. ZároveH jsou tyto instrukce implementovány tak, aby mohly být provád;ny, co nejrychleji. Koncepce RISC se však netýká jen pouhého redukování instruk ního souboru. Je to spíše celá soustava názor9 a p edstav o tom, jak by m;l být po íta realizován a jak by m;l fungovat.
Definice RISC Architektura RISC realizuje na první pohled paradoxní požadavek: v;tší výpo etní výkon za nižší cenu a s jednodušším instruk ním souborem. Procesory RISC fungují na t ech základních principech: • Regularita a jednoduchost souboru instrukcí, které dovolují opakované použití jednoduchých blok9 obvod9 pro provád;ní v;tšiny instrukcí. • V každém strojovém cyklu pokud možno kon í provedení jedné instrukce. Žádná instrukce nem9že po ítat adresy svých vlastních operand9 a realizuje pouze operace nad registry Load a Store. • Instrukce mají pevnou délku a nem;nný formát Charakteristické znaky: • • • • • • • • • •
minimální instruk ní soubor (80 - 150 instrukcí) jednoduché zp9soby adresování jeden nebo málo formát9 instrukcí ízení jednoduchou pevnou logikou jednocyklové strojové operace (v;tšina instrukcí se provádí b;hem jednoho taktu) styk s pam;tí výhradn; prost ednictvím operací Load a Store (strojové instrukce pracující p ednostn; s lokálními registry procesoru) datové operace pouze nad registry rychlé pam;ti na uložení program9 a operand9 (pam;R cache b;žící na stejné frekvenci jako vlastní procesor, velký po et programov; p ístupných registr9 pro operandy) z et;zená realizace instrukcí optimalizující kompilátor - spole ný vývoj architektury procesoru a optimalizujícího kompilátoru.
Definice CISC Systémy s rozsáhlým komplexním souborem instrukcí jsou založeny na architektu e CISC (Complex Instruction Set Computer). Jsou to nap . procesory VAX firmy Digital Equipment, série mikroprocesor9 80X86 Intel a 680X0 firmy Motorola. Pro tyto procesory je typická implementace architektury pomocí mikroprogramování. Výsledkem je velký po et specializovaných typ9 instrukcí, z asového pohledu mohou trvat až 300 strojových cykl9. Mikroprogramování poskytuje možnost nabízet spektrum stroj9 se stejnou architekturou, ale p esto rozdílnou hardwarovou realizací. S rostoucím objemem sady instrukcí však bylo pro p eklada e p ekládající programy do strojového kódu využít celou škálu speciálních instrukcí. Z toho vyplývá, že komplexní instrukce jsou používány jen z ídka. P i zpracování programu z vyššího programovacího jazyka se velká ást asu spot ebuje na tení informace z pracovní pam;ti a naopak. 90
Charakteristické znaky: • • • • • •
velké množství instrukcí (100-250) n;které instrukce vykonávají speciální funkce velké množství adresovacích mód9 instrukce o prom;nné délce instrukce pracují s operandy v pam;ti mnoho a složité zp9soby adresování
10.1.3 D=lení podle architektury Pojem architektura mikropo íta e je chápán jako obor studující strukturu, organizaci, realizaci a funkci po íta 9. Struktura popisuje propojení jednotlivých funk ních blok9, organizace eší dynamické interakce t;chto blok9 a ízení styku mezi nimi, realizace se zabývá návrhem vnit ních obvod9 daného funk ního bloku a funkce uvádí chování po íta e jako celku navenek. Základní architektonické koncepce byly postupn; p evzaty i do návrhu mikroprocesorových obvod9. Pot eba r9znorodosti zpracování vyvolala nejprve modifikace a pak i nové myšlenky v uspo ádání jednotlivých složek architektury technického za ízení. V mikroprocesorové technice rozeznáváme dva základní druhy architektur:
Architektura Von Neumann
PADI%
SPOLE%NÁ
ALU
SB•RNICE
Stala se základem v;tšiny mikroprocesor9, další architektury se pak lišily v jednotlivých ástech. Základními body jsou:
PAM•€
I/O
Obr. 10.1 Architektura von Neuman • • • • • •
Mikroprocesor se skládá ze 4 funk ních blok9: pam;ti, adi e, aritmeticko-logické jednotky (ALU) a vstupních a výstupních jednotek. Struktura za ízení je nezávislá na typu ešení úlohy, innost mikroprocesoru je ízena obsahem pam;ti Instrukce a operandy jsou uloženy v téže pam;ti. Pam;R je rozd;lena do bun;k stejné velikosti, jejichž po adová ísla se používají jako adresy Program je tvo en posloupností elementárních p íkaz9 (instrukcí), v nichž zpravidla není obsažena hodnota operandu (uvádí se pouze jeho adresa), takže program se p i zm;n; dat nem;ní. Instrukce se provád;jí jednotliv; v po adí, v n;mž jsou zapsány do pam;ti. Zm;na po adí provád;ní instrukcí se vyvolá instrukcí podmín;ného nebo nepodmín;ného skoku. 91
•
Pro reprezentaci instrukcí a ísel (operand9, výsledk9, adres) se používá dvojkové signály a dvojková íselná soustava.
Výhody: • plynule se dá m;nit velikost prostoru pro data a program v pam;ti Nevýhody: • všechny operace procházejí p es spole nou sb;rnici, což zpomaluje proces • možnost p episu programu daty a naopak
Harvardská architektura Vychází z architektury von Neuman. Jejím hlavním znakem je odd;lení pam;ti dat od pam;ti programu.
I/O
ALU
PAM•€ DATA
PADI%
PAM•€ PROGRAM
Obr. 10.2 Harvardská architektura Výhody: • daty nelze p epsat program • každá pam;R je p ipojena k ALU p es vlastní sb;rnici • umožHuje paralelní p enos dat a instrukcí v;tší rychlost Nevýhody: • p i návrhu nutno znát p edem, kolik bude pot eba prostoru pro data a program (mapování pam;ti) Mikroprocesory by se ješt; dále mohly z hlediska architektury d;lit na dv; skupiny podle možnosti p ipojení periferních obvod9. V kapitole 4 byly popsány dva zp9soby styku – klasické – tj. mapování do I/O prostoru nebo neklasické – mapování do pam;Rového prostoru. První zp9sob lze využít pouze u mikroprocesor9, které jsou vybaveny I/O adresovým prostorem a odpovídajícími instrukcemi pro adresování tohoto prostoru (v;tšinou OUT a IN). Poznámka: RISC nebo CISC?
Nejprve – spíše pro po#ádek – si pov zme, co v&bec znamenají zkratky RISC a CISC. RISC = Reduced Instruction Set Computing = výpo/et s redukovaným po/tem instrukcí, kdežto CISC = Complex Instruction Set Computing = výpo/et s úplným po/tem instrukcí. V tev vývoje procesor&, se za/ala d lit n kdy po dvanácti letech od uvedení prvních /ip&. Zatímco procesory CISC pracují s velkým množstvím instrukcí pot#ebných pro zpracování nejr&zn jších úloh, procesory RISC jsou vybaveny pouze základní sadou nej/ast ji 92
používaných instrukcí. V p#ípad , že je t#eba, aby RISCový procesor provedl složit jší operaci, musí ji sestavit z instrukcí, kterými je vybaven – tzv. instrukce základní sady. Má – li však být taková instrukce složena, je t#eba dát k tomu n jaký podn t. Ten musí p#ijít “zvenku” tedy od opera/ního systému nebo od aplikace napsané p#ímo pro daný procesor. Procesory RISC jsou navrženy tak, že tyto elementární instrukce zpracovávají velmi rychle. Nár&st výkonu, kterého je dosaženo zrychlením nejpoužívan jších instrukcí, pak zna/n p#evyšuje /asové ztráty vzniklé skládáním složit jších instrukcí. Z hlediska výhodnosti a nevýhodnosti jednotlivých architektur nelze opomenout ani to, že procesory RISC pot#ebují p#i zachování stejného výkonu mnohem mén tranzistor& integrovaných na jednom k#emíku. Konkrétn procesoru CISC s 3,1milionem tranzistor& odpovídá RISC s 1,2milionem tranzistor&. Z této skute/nosti plyne, že /ipy CISC jsou v tší, nákladn jší na výrobu a náro/n jší na spot#ebu elektrické energie (proto se t#eba v malých palmtopech používají výhradn procesory s architekturou RISC), která se m ní v teplo a tím vznikají další problémy. K rozší#ení CISC procesor& – v šedesátých a sedmdesátých letech - vedla zejména jejich nenáro/nost na kapacitu pam ti (pam ové moduly byly v té dob drahé a m ly omezenou kapacitu, já osobn si pamatuji dobu, kdy 1MB pam ti RAM stál 1000,- ). Konstrukce mnoha procesor& vycházela v té dob z požadavku minimalizace pam ových nárok& program&. Jediným východiskem vedoucím k omezení t chto nárok& bylo maximální zjednodušení aplikací (softwaru) za cenu zvýšení složitosti procesoru. Významné zm ny kapacity, dostupnosti a ceny pam tí v osmdesátých a zejména v devadesátých letech však p#inutily vývojá#e procesor& k p#ehodnoceni jejich koncepcí. Architektura RISC má tedy sice v tší požadavky na pam a vyžaduje složit jší kompilátory, ale to už v sou/asné dob není rozhodující. Myslím, že prvotní otázka “RISC nebo CISC?” by m la znít spíše “Kdy definitivn RISC?” Už dnes se v Pentiích nepoužívá /istá architektura CISC, ale využívá se jakéhosi “vývojového” mezistupn k RISC. Typickými zástupci RISCových procesor& jsou klasické serverové procesory – Alpha na 575MHz se 4MB pam ti cache, dále UltraSPARC- II na 400MHz také se 4MB cache a SGI MIPS R10000 nebo R12000 na 300MHz s 8MB cache. Tyto procesory se využívají nej/ast ji v paralelním zapojení pro dosažení maximálního výkonu. Takto lze vedle sebe zapojit nap#. 128, ale i více procesor&. Úpln jinou kapitolou procesor& s architekturou RISC jsou palmtopy, herní konzole (mezi nejznám jší pat#í SONY Playstation), satelitní p#ijíma/e apod. Zde trh s procesory pln ovládla firma MIPS (dce#inná spole/nost SGI). D&vody pro použití architektury RISC jsou myslím jasné z p#edchozích #ádk&: menší požadavky na elektrickou energii, menší rozm ry, nižší tvorba tepla, nenáro/ná výroba (z d&vodu nižšího po/tu základních instrukcí) a z toho plynoucí nižší cena.
Shrnutí pojmV 10 Klí ová slova: Architektura Von Neumann, Harvardská architektura 93
Otázky 10 1. Popište zp9soby d;lení mikroprocesor9 2. Popište rozdíly, výhody a nevýhody architektury Von Neumann a Harvardské. 3. Vysv;tlete princip architektury CISC a RISC
94