ST EDNÍ PR MYSLOVÁ ŠKOLA, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
(studijní text)
µ-PROCESOROVÁ TECHNIKA
Studijní text smí být používán pouze k výuce µ-procesorové techniky v SPŠ, Ostrava – Moravská Ostrava, Kratochvílova 7. Není dovoleno dokument jakkoliv upravovat a samostatn používat jeho ásti.
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
1
2
3
4
5
6
7
8
9
Struktura monolitického mikropo íta e typu 8051........................................................................................ 3 Základní charakteristika............................................................................................................................ 3 Blokové schéma........................................................................................................................................ 3 Organizace vývod pouzdra ..................................................................................................................... 5 Otázky k probrané kapitole ....................................................................................................................... 5 Organizace pam tí a registry speciálních funkcí ........................................................................................... 6 2.1 Pam programu a pam dat ................................................................................................................... 6 2.2 Speciální funk ní registry (SFR) .............................................................................................................. 7 2.3 Funkce n kterých registr z prostoru SFR................................................................................................ 8 2.4 Otázky k probrané kapitole ....................................................................................................................... 8 asování CPU a provád ní instrukcí ............................................................................................................. 9 3.1 asové pr b hy signál a druhy instrukcí ................................................................................................ 9 3.2 Zapojení a funkce oscilátoru CLK ............................................................................................................ 9 3.3 Otázky k probrané kapitole ......................................................................................................................10 P erušovací systém µ-po íta e 8051 ............................................................................................................11 4.1 Popis p erušovacího systému (základní principy a ovládání) ..................................................................11 4.2 Vektory p erušení, blokové schéma k popisu funkce ..............................................................................12 4.3 P íklad použití p erušovacího systému ....................................................................................................14 4.4 Otázky k probrané kapitole ......................................................................................................................14 íta e a asova e monolitického mikropo íta e ..........................................................................................15 5.1 Objasn ní základních pojm ....................................................................................................................15 5.2 Nastavení „režim “ a „mód “ íta / asova .....................................................................................18 5.3 Otázky k probrané kapitole ......................................................................................................................18 innost port a styk s vn jší pam tí .............................................................................................................19 6.1 innost port (zjednodušen ) ..................................................................................................................19 6.2 Praktická realizace pracovního rezistoru .................................................................................................22 6.3 Otázky k probrané kapitole ......................................................................................................................22 Sériové rozhraní............................................................................................................................................23 7.1 Popis funkce sériového kanálu.................................................................................................................23 7.2 Módy sériového kanálu............................................................................................................................24 7.3 Otázky k probrané kapitole ......................................................................................................................25 Rozší ení systému na bázi µ-po íta e 8051..................................................................................................26 8.1 Uvedení do problematiky.........................................................................................................................26 8.2 Praktická realizace multiprocesorové komunikace ..................................................................................26 8.3 Otázky k probrané kapitole ......................................................................................................................27 Vývojové prost edky pro návrh systému s obvodem 8051...........................................................................28 9.1 Úvod do problematiky .............................................................................................................................28 9.2 Editor, p eklada , programátor ................................................................................................................29 9.3 Ukázky.....................................................................................................................................................29 9.4 Otázky k probrané kapitole ......................................................................................................................29 1.1 1.2 1.3 1.4
2 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
1 Struktura monolitického mikropo íta e typu 8051 Klí ové pojmy: Monolitický mikropo íta , ROM, RWM, SFR, alternativní funkce. 1.1
Základní charakteristika
Mikropo íta 8051 / 8052 je výkonný monolitický mikropo íta doporu ený k aplikacím v „reálném ase“ v oblasti m ící techniky, ízení a jako inteligentní po íta ová periferie po íta t ídy PC. V sou asné dob je monolitický mikropo íta vyráb n adou výrobc v r zných variantách (liší se velikosti pam ti programu i dat, po tem vstupn výstupních bran, po tem a druhy hardware-ových modul ( íta e / asova e, analogov digitální p evodníky, sériové kanály, p erušovací systém, pulsn ší ková modulace, …)). Základní model (ze kterého byly odvozeny sou asn vyráb né typy) vyvinutý v 80-tých letech minulého století firmou Intel lze charakterizovat následujícími technickými daty: pam pro program 4 kB (8052 ~ 8 kB); pam pro data 128 B (8052 ~ 256 B); ty i banky pracovních registr (po 8-mi bajtech); 128 p ímo adresovatelných bit ; 32 vstupn výstupních linek (organizovaných do ty skupin po osmi); dva 16 b íta e / asova e (8052 ~ t i íta e / asova e); 6 maskovatelných zdroj p erušení (8052 ~ 7); sériový vstupn výstupní kanál USART; oscilátor CLK integrovaný na ipu; pracovní kmito et fCLK ÷ 33 MHz; napájecí nap tí 5V; pouzdro DIL 40 (Dual In Line). Mikropo íta je v sou asné dob vyráb n jak v provedení OTP (One Time Programming) (nízká cena) tak v provedení Flash (jako EEPROM, ale zrychlený zápis dat po blocích). astým dopl kem bývá EEPROM pro data (energeticky nezávislá pam
k uložení d ležitých dat).
N kte í výrobci upravili ALU systému (dopln ny rozší ené aritmetické operace) - Siemens 80C537. Jiní znovu navrhli procesorové jádro (odlišné interní asování) a dosáhli tak vyšší výkon p i stejném kmito tu CLK – Dallas DS80C320. Možným dopl kem jsou i hodiny a kalendá .
1.2
Blokové schéma
Uvedené blokové schéma obsahuje hlavní funk ní moduly monolitického mikropo íta e 8051 a jejich vzájemné vazby. Legenda: CPU ~ Central Processor Unit (procesorové jádro); oscilator, generator CLK ~ zdroj synchroniza ního signálu využívaný pro funkci mikropo íta e; master control ~ systém ízení funkce mikropo íta e; ROM, PROM, EPROM, EEPROM ~ pam k uložení programu; RWM ~ pam k uložení dat; SFR ~ speciální funk ní registry; counter/timer ~ íta e / asova e; control interrupt ~ ízení p erušení; control external bus ~ ízení vn jší sb rnice (sériová, paralelní); parallel I/O ~ vstupn výstupní brány; serial I/O ~ sériový kanál.
3 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7 Údaje v závorce ozna ují funkce, které jsou realizovány alternativním zp sobem prost ednictvím I/O bran. Apostrof vyjad uje negaci (signál je aktivní p i logické úrovni L). tok ).
Jednotlivé funk ní bloky jsou propojeny spole nou interní sb rnicí (šipky vyzna ují sm r informa ních
XTAL1 XTAL2
oscillator, generator CLK
CPU
EA'
RST
ALE PSEN'
(T0)
master control
RWM
ROM (EPROM)
(T1)
counter/timer
SFR
internal control
internal bus
control interrupt
control external bus
parallel I/O
serial I/O
P3
P2
P1
(WR') (RD')
P0
internal INT
(address)
(INT0')(INT1')
(data)
TO T1 SIO
Blokové schéma monolitického mikropo íta e 8051
4 / 31
(RxD)
(TxD)
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
1.3
Organizace vývod pouzdra
Monolitický µ-po íta Intel 8051 je umíst n v pouzdru DIL 40 a využití vývod pouzdra je popsáno následujícími tabulkami. Ozna ení a funkce vývod pouzdra DIL 40 vývod XTAL1 XTAL2 PSEN´ ALE EA´ RST P0 P1 P2 P3 UCC USS
alternativní funkce PROG´ UPP UPD adresa data (1) adresa (1) -
pozice na pouzdru 19 18 29 30 30 31 31 9 9 39÷32 39÷32 39÷32 1÷8 21÷28 21÷28 10÷17 40 20
popis funkce vstup oscilátoru (invertující zesilova ) výstup oscilátoru (invertující zesilova ) Program Store Enable (p ipojuje externí pam k datové sb rnici) Address Latch Enable (k zachycení nižšího bajtu adresy) vstup programovacích puls External Access ( tení programu z vn jší pam ti) p ivedení programovacího nap tí 21 V inicializace systému napájení v režimu Power Down (archivace obsahu RWM) 8-mi bitová obousm rná brána s „otev eným kolektorem“ nižší bajt adresy 8-mi bitová data 8-mi bitová kvazi obousm rná brána 8-mi bitová kvazi obousm rná brána vyšší bajt adresy 8-mi bitová kvazi obousm rná brána napájecí nap tí +5 V GND – záporný pól napájení
Poznámka: (1) ~ alternativní funkce jsou uvedeny v následující tabulce Alternativní funkce bran P1 a P3 vývod P1.0 P1.1 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
alternativní funkce T2 T2EX RxD TxD INT0´ INT1´ T0 T1 WR´ RD´
popis funkce vn jší vstup C/T2 (pouze u 8052 a jeho nástupc ) synchroniza ní vstup C/T2 (pouze u 8052 a jeho nástupc ) vstup dat (asynch.), vstup / výstup dat (synch.) výstup dat (asynch.), výstup „posouvacích puls “ (synch.) žádost o p erušení, hradlování C/T0 žádost o p erušení, hradlování C/T1 vn jší vstup C/T0 vn jší vstup C/T1 ídící signál pro zápis do vn jší pam ti ídící signál pro tení z vn jší pam ti
V sou asné dob jsou monolitické mikropo íta e umis ovány i do jiných pouzder.
1.4
Otázky k probrané kapitole Vysv tlete vztah mezi pojmy mikroprocesor a monolitický mikropo íta . Popište vlastnosti von Neumann-ovy architektury po íta e. Objasn te pojem alternativní funkce v návaznosti na vstupn výstupní brány.
5 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
2 Organizace pam tí a registry speciálních funkcí Klí ové pojmy: Interní pam , externí pam , SFR. 2.1
Pam
programu a pam
dat
Monolitický µ-po íta 8051 má odd lené adresové prostory pro data a program. P ístup k t mto prostor m je realizován r znými instrukcemi. Uvedené prostory lze dále d lit na vnit ní a vn jší. K selekci zdroje programu slouží signál EA. <=> EA=0 ~ (program je ten výhradn z vn jší pam ti), <=> EA=1 ~ (pro adresy 0000H ÷ 0FFFH je program ten z vnit ní pam ti a z adres 1000H ÷ FFFFH z pam ti vn jší). FFFFH
externí EA=0 nebo EA=1
1000H 0FFFH
externí EA=0
interní EA=1
0000H
Pam
programu
Jak je vid t z následujícího schématu adresový prostor SFR se p ekrývá s vn jší RWM a (u 8052) i s rozší enou RWM. K zajišt ní jednozna nosti adresy je p ístup do SFR ešen odlišným zp sobem adresování (pro vnit ní pam se používá adresa p ímá nebo nep ímá, pro SFR pouze adresa p ímá, pro rozší enou pam pouze adresa nep ímá). P ístup do externí pam ti dat je ešen odlišnou instrukcí. FFFFH
FFH 80H 7FH
SFR
rozší ená interní
externí
základní interní
00H
0000H
Pam
dat
Vnit ní pam ový prostor pro data je rozd len takto: 0 ÷ 7 ~ nultá banka registr 8 ÷ 15 ~ první banka registr 16 ÷ 23 ~ druhá banka registr 24 ÷ 31 ~ t etí banka registr 32 ÷ 47 ~ 128 p ímo adresovatelných bit (1) 48 ÷ 127 ~ zásobník a uživatelská pam pozn.: (1)
po et bajt =
po et bit 128 = = 16 po et bit v bajtu 8
6 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7 Dno zásobníku je implicitn nastaveno na adresu 07. Hodláme–li využívat jinou než nultou banku registr musíme dno zásobníku p esunout, aby nedošlo ke kolizi obsahu zásobníku s obsahem registr . Samostatné bity jsou adresovány adresami (00H ÷ 7FH). Adresy (80H ÷ FFH) jsou využity pro bity v prostoru SFR. S vn jší pam tí dat lze komunikovat využitím nep ímého adresování. K tomu lze využít ukazatel datové pam ti DPTR (DPH, DPL) nebo registry R0 a R1 aktuální registrové banky. Horní bajt adresy lze pak p ímo odeslat na port 2. Dojde tak k výb ru jednoho z až 256 blok vn jší pam ti. Velikost každého bloku je 256 B.
2.2
Speciální funk ní registry (SFR)
Všechny informace o innosti procesorového jádra, ale i periferních obvod , které se nacházejí na ipu s µ-procesorem jsou soust ed ny do SFR. U základního typu jsou k dispozici následující registry.
P3 ÷ P0 DPH DPL SBUF, SCON TH1, TL1 TH0, TL0 TCON, TMOD PCON IE, IP SP PSW A B
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
registry I/O bran horní bajt ukazatele datové pam ti dolní bajt ukazatele datové pam ti innost sériového kanálu dva bajty 16-ti bitového C/T1 dva bajty 16-ti bitového C/T0 ízení funkce C/T0 C/T1 (a další) ízení napájení (a další) nastavení p erušení ukazatel zásobníku (transformace RAM → LIFO) stavové slovo procesoru akumulátor (ozna ován též ACC) pomocný registr
Po inicializaci systému jsou registry nulovány. Výjimku tvo í SP, který obsahuje hodnotu 7 (dno zásobníku). Druhou výjimkou jsou registry I/O bran, které obsahují hodnoty FFH (11111111B). Tím je zajišt no, že všechny porty jsou nastaveny do vstupního režimu.
UCC fiktivní rezistor 20-40k
P1.X
N
zápis
tení
Schéma k objasn ní I/O režimu brány Popis funkce obvodu I/O brány: 1. Je-li na výstup odeslána úrove L, pak tranzistor N je otev en, ale p i tení vn jšího signálu v tomto p ípad bude vždy tena úrove L (protože otev ený tranzistor svádí vstupní signál k zemi). 2. Je-li však na výstup odeslána úrove bezproblémové.
H, pak tranzistor N je uzav en a
7 / 31
tení vstupního signálu je
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
2.3
Funkce n kterých registr z prostoru SFR
Zde bude objasn na funkce n kterých speciálních funk ních registr . Funkce ostatních registr bude vysv tlena v souvislosti s popisem hardware-ových modul monolitického µ-po íta e. A
~ akumulátor (st ada ) je základní registr aritmetické jednotky. Obsahuje jeden operand a ukládá se zde výsledek operace. Vyžadují-li n které instrukce p ímou adresu, lze použít ozna ení ACC.
B
~ pomocný registr. P i instrukcích násobení a d lení obsahuje druhý operand a po jejich provedení i ást výsledku. Lze jej však použít i jako univerzální registr.
DPTR ~ slouží k nep ímému 16-ti bitovému adresování (Data PoinTeR). SP
~ ukazatel zásobníku (Stack Pointer). Umožní vytvo it pam LIFO v pam ti RAM. Zásobník slouží k uložení návratových adres p i volání a obsahu d ležitých bun k pam ti nap íklad p i obsluze p erušení.
PC
~ íta instrukcí (Program Counter) je 16-ti bitový registr uchovávající adresu provád né instrukce.
PSW
~ stavové slovo µ-po íta e.
b7
b6
b5
b4
b3
b2
b1
b0
C
AC
F0
RS1
RS0
OV
-
P
Význam jednotlivých bit je následující: C
~ p íznak p enosu (Carry) m že být nastaven p i aritmetických operacích (p i „p enosu“ z bajtu), p i n kterých instrukcích pro porovnání a p i rotacích.
AC
~ p íznak áste ného p enosu (Auxiliary Carry) je nastaven p i p enosu z dolní tetrády. Je využíván dekadickou korekcí p i operacích v kódu BCD.
F0
~ uživatelský p íznak. Je k dispozici programátorovi – lze zde poznamenat d ležitou informaci.
RS1(0) ~ výb r banky registr (Register Select). RS1
RS0
banka
0
0
0
0
1
1
1
0
2
1
1
3
OV
~ p íznak p ete ení (OVerflow). Indikuje p ete ení p i operacích sou tu a rozdílu. Je využíván považujeme-li operandy za ísla se znaménkem.
P
~ paritní bit. Je-li v akumulátoru lichý po et „jedni ek“ => je P=1.
2.4
Otázky k probrané kapitole Objasn te pojmy energeticky závislá a energeticky nezávislá pam . Popište rozdíly v adresování základní a rozší ené pam ti pro data a adresování registr z prostoru SFR. Vysv tlete co zp sobuje menší náro nost monolitického mikropo íta e na systémové prost edky.
8 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
3
asování CPU a provád ní instrukcí
Klí ové pojmy: Instruk ní cykl, strojový cykl, stav, fáze. 3.1
asové pr b hy signál a druhy instrukcí
µ-po íta 8051 je synchronní obvod. Jeho innost je synchronizována hodinovými impulsy CLK a probíhá v asových úsecích (kvantech): instruk ní cykl
~
doba pot ebná k provedení instrukce
strojový cykl (Takt)
~
ást nebo celý instruk ní cykl (existují instrukce jedno, dvou a ty taktové)
stav (State)
~
ást taktu (takt obsahuje šest stav )
fáze (Phase)
~
ást stavu (stav obsahuje dv fáze)
Aritmetické a logické operace probíhají b hem první fáze a p esuny dat mezi interními registry b hem druhé fáze. Informace o pr b hu innosti µ-po íta e lze získat na základ signálu XTAL2 (výstup oscilátoru CLK) a signálu ALE (Address Latch Enable), který bývá aktivován dvakrát v pr b hu taktu. T
CLK P S
1
2 1
1
2 2
1
2 3
1
2
1
4
2 5
1
2 6
ALE t
asování CPU Druhy instrukcí (s ohledem na dobu pot ebnou k provedení a místo pot ebné v pam ti) Instrukce jedno bajtová, jedno taktová ~ v S1 probíhá tení opera ního kódu, v S4 tzv. prázdné tení (není inkrementován íta instrukcí) (P .: inkrementace akumulátoru) Instrukce dvou bajtová, jedno taktová ~ v S1 probíhá tení opera ního kódu, v S4 tení druhého bajtu instrukce (P .: p i tení datové konstanty k akumulátoru) Instrukce jedno bajtová, dvou taktová ~ v S1 probíhá tení opera ního kódu, v S4 prvního taktu a v S1 i S4 druhého taktu tzv. prázdné tení. (P .: inkrementace ukazatele datové pam ti, nebo p esun dat z vn jší pam ti – v tomto p ípad je ale potla en první signál ALE ve druhém taktu) Instrukce dvou bajtová, dvou taktová registru v aktuální registrové bance)
~ (P .: p esun obsahu pam ové bu ky vnit ní pam ti do
Instrukce t í bajtová, dvou taktová pam ové bu ky vnit ní pam ti)
~ (P .: p esun obsahu pam ové bu ky vnit ní pam ti do jiné
Instrukce jedno bajtová, ty taktová
3.2
~ (P .: sou in nebo podíl akumulátoru a registru B)
Zapojení a funkce oscilátoru CLK Z následujícího schématu je z ejmá funkce oscilátoru hodinového signálu.
Oscilátor využívá hradlo NAND jako invertující zesilova . Rezistory R1 a R2 upravují stupe zp tné vazby mezi vstupní a výstupní ásti obvodu. Kondenzátory C1 a C2 jsou osazeny za ú elem kompenzace parazitních kmit . Diody D1 a D2 zamezují nap ovým špi kám. Krystal realizuje asovou prodlevu ve zp tné vazb . Je-li signál PD aktivní, pak na výstupu NAND je trvale úrove H a signál CLK není generován.
9 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
PD
&
VCC CLK
D1 D2
R2
R1
XTAL1
XTAL2 X
C1
C2
Zjednodušené schéma zapojení oscilátoru CLK V n kterých p ípadech je vhodné použít ke generování CLK externí oscilátor. Takto generovaným signálem pak lze synchronizovat v tší po et obvod . Použijeme-li ke generování CLK nap íklad generátor s fázovým záv sem, lze snadno podle pot eby ídit rychlost zpracování programu. Toto mimo jiné vede k výrazným úsporám energie.
8051
VCC
5k6
1
fO
XTAL2 XTAL1
3.3
Otázky k probrané kapitole Objasn te d vody použití synchronního režimu innosti u monolitického mikropo íta e. Definujte pojmy fáze, stav a takt. Popište funkci interního generátoru CLK ve vztahu k režimu PD.
10 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
4 P erušovací systém µ-po íta e 8051 Klí ové pojmy: Kanál p erušení, priorita p erušení, vektor p erušení. 4.1
Popis p erušovacího systému (základní principy a ovládání)
V pr b hu vykonávání programu se mohou vyskytnout interní, nebo externí události ovliv ující další innost systému. 8051 je vybaven hardware-ovými prost edky, které tento zásah do b žícího programu bez zvláštních software-ových nárok realizují tak, že je do asn p erušeno provád ní hlavního programu a systém zpracuje sekvenci, která byla iniciována událostí. Výhoda takového ešení spo ívá v tom, že nejsou erpány software-ové prost edky k testování okamžiku vzniku sledované události. S ohledem na po et nezávislých kanál se jedná o více vstupý, z hlediska volby priority dvouúrov ový a s ohledem na ízení maskovatelný p erušovací systém: Nezávislé signály zpracované p erušovacím systémem: •
Dva vn jší signály p ivedené prost ednictvím vstup INT0 a INT1 (pracují v negativní logice).
•
Dva signály od C/T0 a C/T1 (požadavek p erušení je generován p i p epln ní ítacích registr ).
•
Dva požadavky od sériového kanálu (vysílání a p íjem). Rozlišení p vodce p erušení je však v tomto p ípad nutno provést software-ov .
Po íta opat ený jediným procesorem m že v jediném okamžiku provád t pouze jedinou operaci (zde neuvažujeme funkce hardware-ových modul ). Vznikne li v „jediném“ okamžiku více požadavk na p erušení, pak musí být stanoveno po adí jejich zpracování. Toto po adí je stanoveno implicitn , ale lze je omezeným zp sobem pozm nit (viz. schéma uvedeno dále). Každý z požadavk (jak jsou uvedeny výše) m že být povolen nebo zablokován (maskován). Globáln lze povolit nebo zakázat všechny požadavky na p erušení hlavního programu. P erušovací systém lze ovládat prost ednictvím registr v prostoru SFR:
IE (Interrupt Enable Control) b7
b6
b5
b4
b3
b2
b1
b0
EA
-
-
ES
ET1
EX1
ET0
EX0
EA
globální povolení p erušení
-
nevyužité
ES
povolení p erušení od sériového kanálu
ET1(0)
povolení p erušení od íta
EX1(0)
povolení p erušení od vn jších zdroj
/ asova
IP (Interrupt Priority Control) b7
b6
b5
b4
b3
b2
b1
b0
-
-
-
PS
PT1
PX1
PT0
PX0
- nevyužité PS
nad azení sériového kanálu
PT1(0)
nad azení íta e / asova e
PX1(0)
nad azení vn jšího zdroje
11 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
TCON (Timer Control) b7
b6
b5
b4
b3
b2
b1
b0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TF1(0)
P íznak p epln ní íta e asova e (C/T1, C/T0). P íznak je nastaven v „okamžiku“ p epln ní C/T a nulován (samo inn ) p i obsluze p erušení.
IE1(0)
P íznaky p erušení od vn jších zdroj . P íznak je nastaven prost ednictvím vn jšího signálu a nulován (rovn ž samo inn ) p i obsluze p erušení.
IT1(0)
Volba reakce systému na sestupnou hranu / úrove (1 / 0) požadavku vn jšího zdroje.
Ostatní bity p ímo nesouvisí s inností p erušovacího systému.
SCON (Serial Control) b7
b6
b5
b4
b3
b2
b1
b0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
TI
P íznak dokon ení vysílání datového rámce sériovým kanálem (požadavek p erušení). P íznak je generován samo inn , nulován však musí být software-ov .
RI
P íznak dokon ení p íjmu datového rámce sériovým kanálem (požadavek p erušení). P íznak je generován samo inn , nulován však musí být software-ov .
Ostatní bity p ímo nesouvisí s innosti p erušovacího systému.
4.2
Vektory p erušení, blokové schéma k popisu funkce
Každý nezávislý zdroj p erušení má sv j p erušovací vektor (výjimku tvo í pouze sériový kanál – oba požadavky na p erušení mají vektor spole ný). P erušovací vektor je v podstat ta adresa v pam ti programu, na niž bude p edáno ízení p i obsluze daného p erušení. V p ípad , že je vektor p erušení spole ný je nutné p vodce p erušení zjistit software-ov . Žádosti o p erušení jsou vzorkovány (testovány) ve druhé fázi pátého stavu každého taktu. V následujícím taktu je žádost vyhodnocena a v pr b hu dalších dvou takt obslužného podprogramu p erušení.
je realizováno volání
Uvedený postup nebude dodržen v p ípad že: 1)
Je práv realizováno p erušení shodné nebo vyšší priority.
2)
Práv provád ná instrukce doposud nebyla dokon ena.
P ed p echodem k obsluze p erušení je práv provád ná instrukce dokon ena. Po návratu z obsluhy p erušení nebo po zásahu do registru IE p ípadn IP se provede vždy alespo jedna instrukce z hlavního programu.
12 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
EX0
žádost o p erušení
1 2 3 4 5
EA
vektor p erušení vyšší úrove
(INT0) IE0
1
IT0
PX0 ET0
(C/T0) TF0 PT0 EX1 (INT1) IE1
1
IT1
PX1 ET1
(C/T1) TF1 (RxD) RI
nižší úrove
ES
>1
PT1
(TxD) TI
PS
žádost o p erušení
1 2 3 4 5
vektor p erušení
Schéma k objasn ní funkce p erušovacího systému adresa podprogramu
priorita
(p erušovací vektor)
(implicitn )
IE0
h´03
1
C/T0
TF0
h´0b
2
INT1
IE1
h´13
3
C/T1
TF1
h´1b
4
RXD
RI
h´23
5
TXD
TI
h´23
5
zdroj p erušení
p íznak p erušení
INT0
Adresy po átk podprogram p erušení (p erušovací vektory). Poznámka: Nižší cifra znamená vyšší prioritu (p ednost p i vykonávání programu).
13 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
4.3
P íklad použití p erušovacího systému
P edpokládejme, že k brán P1 (P1.0 ÷ P1.7) jsou p ipojeny spína e ovliv ující funkci systému. Obslužný podprogram p erušení zjiš uje, zda a který spína byl sepnut. +5 V S0 P1.0
S7 P1.7 R8
R72
8051
R01
R02
R71
INT0
T0
T7
Testování sepnutí spína e využitím p erušovacího systému Sepnutím kteréhokoliv spína e dojde k otev ení p íslušného tranzistoru a tím ke generování žádosti o p erušení. Výhoda popsaného zp sobu ešení spo ívá v tom, že hlavní program nemusí periodicky testovat spína e (=> hlavní program je jednodušší, kratší a tedy i rychlejší). Požadavek p erušení je generován hardware-ov a zp sobí nastavení p íslušného p íznakového bitu (požadavku p erušení). P íznakový bit je nulován samo inn p i obsluze p erušení. K samo innému nulování p íznakového bitu nedochází v p ípad požadavku od sériového kanálu proto, že program musí vyhodnotit p vodce p erušení (došlo k dokon ení vysílání nebo k dokon ení p íjmu). P erušovací vektor je v tomto p ípad spole ný a k vyhodnocení p vodce p erušení je nutno testovat p íznakové bity. K nastavování p íznakových bit dochází i v p ípad , že p íslušná p erušení jsou zakázána. Této vlastnosti p erušovacího systému lze v p ípad pot eby využít.
4.4
Otázky k probrané kapitole Objasn te pojem p erušení hlavního programu. Uve te d vody zavedení vektor p erušení. Na zvoleném p íkladu ukažte zpracování p erušení od vn jšího zdroje.
14 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
5
íta e a asova e monolitického mikropo íta e
Klí ové pojmy: Režim íta , režim asova , hradlování provozu íta e / asova e. 5.1
Objasn ní základních pojm
Monolitický µ-po íta 8051 má ve výbav dva 16-ti bitové íta e / asova e, které mohou být využity nap íklad k: M ení asových interval . M ení ší ky impuls . ítání vn jších událostí (náhodného charakteru). ítání periodických žádostí o p erušení. íta e jsou ozna eny C/T0 a C/T1 (u systému 8052 i C/T2) a mohou pracovat v n kolika „režimech“ a „módech“: o
Režim asova ~ ítání hodinových puls odvozených od generátoru CLK.
o
Režim íta ~ ítání událostí p ivedených na vstupy P3.4 ~ C/T0 a P3.5 ~ C/T1. 8 bit
Tn
CLK
TLx (5 bit)
Clk / 12
THx (8 bit)
C/T
&
TRn
1 GATE
>1 INTn
íta e / asova e v módu 0 C/T1 m že být využit jako generátor asových puls ke stanovení rychlosti sériového kanálu. •
Mód 0 ~ jedná se o 8-mi bitový íta nebo asova s 5-ti bitovým p ed lením. Protože (25 = 32) ítací registr je inkrementován každým t icátým druhým impulsem. Mód je aplikovatelný u obou C/T.
•
Mód 1 ~ jedná se o 16-bitový íta nebo asova . Mód je aplikovatelný u obou C/T.
•
Mód 2 ~ jedná se o 8-bitový íta nebo asova se samo inným nastavením po áte ního stavu. Mód je aplikovatelný u obou C/T.
•
Mód 3 ~ Mód je aplikovatelný pouze u C/T0. Z íta e / asova e vzniknou dva 8-mi bitové systémy. Jeden m že pracovat jako íta nebo asova a druhý pouze jako asova . C/T1 m že
15 / 31
TFn
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7 pracovat v módech 0 ÷ 2, ale negeneruje žádost o p erušení (viz. schéma). C/T1 lze za této situace využit nap íklad k ízení rychlosti sériového kanálu. 8 bit
8 bit
TLx (8 bit)
THx (8 bit)
Tn
CLK
Clk / 12
TFn
C/T
&
TRn
1 GATE
>1 INTn
íta e / asova e v módu 1 8 bit Tn
CLK
TLx (8 bit)
Clk / 12
C/T
key
&
TRn
THx (8 bit)
1 GATE
>1
8 bit
INTn
íta e / asova e v módu 2
16 / 31
TFn
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
&
TR1
1 GATE
>1
8 bit
INT1 TH0 (8 bit)
TF1
8 bit T0
CLK
TL0 (8 bit)
Clk / 12
TF0
C/T
&
TR0
1 GATE
>1 INT0
íta / asova 0 v módu 3 V okamžiku p epln ní ítacího registru p íslušného íta e / asova e je nastaven odpovídající p íznakový bit (TF0 nebo TF1). K nulování p íznakového bitu dojde samo inn p i obsluze požadavku p erušení. Je-li C/T0 p eveden do módu 3, dojde ke spušt ní C/T1 (ovládací prvek TR1 je za t chto okolností využit pro C/T0 viz. schéma).
17 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
5.2
Nastavení „režim “ a „mód “ íta
/ asova
íta e / asova e lze ovládat prost ednictvím registr TMOD a TCON.
TMOD (Timer Mod) b7
b6
b5
b4
b3
b2
b1
b0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
GATE
Hradluje (umožní pozastavit a znovu spustit) provoz C/T. Jeho vliv je z ejmý z p edchozích schémat a lze jej popsat takto:
C / T _ on = GATE * TRx + GATE * TRx * INTx C/T M1, M0
Volba režimu innosti (C/T=0 ~ asova , C/T=1 ~ íta ) viz schéma. Volba mód v souladu s následující tabulkou: M1
M0
mód
0
0
0
0
1
1
1
0
2
1
1
3
Ozna ení bit v horní a dolní tetrád je shodné. Bity horní tetrády mají vztah k C/T1 a bity v dolní tetrád k C/T0. Dále je z ejmé, že jednotlivé bity registru TMOD nelze z d vodu nejednozna nosti adresovat samostatn , ale pouze bajtovou adresou.
TCON (Timer Control) b7
b6
b5
b4
b3
b2
b1
b0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TF1(0)
P íznak p epln ní íta e asova e (C/T1, C/T0). P íznak je nastaven v „okamžiku“ p epln ní C/T a nulován (rovn ž samo inn ) p i obsluze p erušení.
TR1(0)
Spušt ní a zastavení b hu íta e / asova e (C/T0, C/T1). TRx=1 ~ zapnuto. p epln ní C/T a nulován (rovn ž samo inn ) p i obsluze p erušení.
Ostatní bity p ímo nesouvisí s innosti íta
5.3
/ asova .
Otázky k probrané kapitole Objasn te pojem modul ítání a popište funkci íta e. Vysv tlete jak m že íta / asova ovlivnit výpo etní výkon po íta e. Uve te p íklad pro použití hradlování íta e / asova e v režimu asova .
18 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
6
innost port a styk s vn jší pam tí
Klí ové pojmy: Vstupní režim, výstupní režim, alternativní funkce. 6.1
innost port (zjednodušen )
Monolitický µ-po íta Intel 8051 je vybaven ty mi 8-mi bitovými obousm rnými vstupn výstupními branami. Každý kanál je ešen prost ednictvím záchytného registru ozna eného shodn s portem, registry lze využívat jako 32 samostatných bit , nebo jako ty i bajty. N které brány mají další funkce. Brány P1, P2 a P3 mají vnit ní posilovací obvody (ke zvýšení logického zisku). Každá vstupn výstupní linka m že být nezávisle na ostatních využívána ve vstupním, nebo výstupním režimu. Využití bran P0 a P2 je omezeno v p ípad , že je pot eba komunikovat s externí pam tí. Je-li linka využita jako vstupní, pak musí být na její výstup zapsána úrove H.
1
adresa - data
tení z registru
ízení
UCC
&
P P0.x vnit ní sb rnice signál zápisu
D
Q
C
Q
N
tení z brány
Zjednodušené schéma zapojení brány P0 Popis funkce I/O brány P0: 1)
Výstupní režim. Hlavní, nebo alternativní funkce je volena signálem „ ízení“. Je-li signál „ ízení“ = 0, pak tranzistor P je trvale uzav en a p epína je p epnut v zakreslené poloze ~ port je využíván k p enosu informací jako standardní port. Je-li signál „ ízení“ = 1, pak stav tranzistoru je závislý na signálu „adresa – data“ a p epína je p epnut v opa né poloze ~ port je využíván k p enosu adresy nebo dat. 1) Alternativní funkce (p enos adresy nebo dat). Má-li adresa (nebo data) hodnotu 0, pak na ídící elektrod tranzistoru N je úrove 1 a tranzistor N je otev en. Na ídící elektrod tranzistoru P je za této situace rovn ž úrove 1 a tento tranzistor P je uzav en. Na výstupu (P0.X) je vytvo ena úrove L. Má-li adresa (nebo data) hodnotu 1, pak na ídící elektrod tranzistoru N je úrove 0 a tranzistor N je uzav en. Na ídící elektrod tranzistoru P je za této situace rovn ž úrove 0 a tranzistor P je otev en. Na výstupu (P0.X) je vytvo ena úrove H.
19 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7 2)
Hlavní funkce.
Tranzistor P je v tomto režimu vždy uzav en. Signál z vnit ní sb rnice je p enesen na výstup obvodu „D“ „signálem zápisu“. Je-li na vnit ní sb rnici úrove 0, je na ídící elektrod tranzistoru N úrove 1 a tranzistor N je otev en. Na výstupu je vytvo ena úrove L. Je-li na vnit ní sb rnici úrove 1, je na ídící elektrod tranzistoru N úrove 0 a tranzistor N je uzav en. Na výstupu je vytvo en stav vysoké impedance (tranzistor P je rovn ž uzav en). Úrove H je na výstupu tohoto portu prezentována jako stav vysoké impedance. 2)
Vstupní režim.
Jak již bylo uvedeno d íve, podmínkou pro korektní funkci vstupního režimu je p edchozí zápis úrovn H na I/O bránu. P enos informací (data nebo tení z portu) je realizován prost ednictvím ventilu ovládaného signálem „ tení z brány“. Je-li vn jšími obvody p iveden na bránu signál L nebo H, pak prost ednictvím zmi ovaného ventilu je tento logický signál p enesen na vnit ní sb rnici. Je-li aktivován signál tení z registru, je na vnit ní sb rnici p enesena logická hodnota, která byla jako poslední p enesena na výstup (bez ohledu na stav vn jších obvod ).
tení z registru
UCC
RP vnit ní sb rnice signál zápisu
D
Q
C
Q
P1.x
N
tení z brány
Zjednodušené schéma zapojení brány P1 Popis funkce I/O brány P1: Zapojení brány P1 bylo odvozeno z brány P0. Krom jiného zde chybí tranzistor typu P. Tento tranzistor byl ve zjednodušeném schématu nahrazen tzv. pracovním rezistorem (ve skute nosti se jedná o zapojení t í tranzistor , jejich funkce bude objasn na pozd ji). Brána P1 není (u 8051) vybavena alternativními funkcemi a popis její innosti je analogický jako u brány P0.
20 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
tení z registru
adresa
ízení
UCC
RP vnit ní sb rnice signál zápisu
D
Q
C
Q
P2.x
1
N
tení z brány
Zjednodušené schéma zapojení brány P2 Popis funkce brány P2: Brána P2 plní alternativní funkci (generování horního bajtu adresy). Schéma zapojení brány je op t z ásti podobné jako zapojení bran P0 a P1. Funkce brány je analogická jako v p edchozích p ípadech. Signál „ ízení“ ur uje, zda port bude využíván v hlavním nebo alternativním režimu innosti.
tení z registru
speciální výstupní funkce
UCC
RP vnit ní sb rnice signál zápisu
D
Q
C
Q
P3.x
&
N
tení z brány
speciální vstupní funkce Zjednodušené schéma zapojení brány P3 Popis funkce brány P3: Brána P3 plní adu alternativních funkcí ve vstupním i výstupním režimu. Hodláme-li využívat alternativní výstupní funkce, je nutno uvést bránu do stavu H (v opa ném p ípad by totiž tranzistor N byl trvale otev en a výstupní funkce by nebyly realizovány). Schéma zapojení brány je i v tomto p ípad podobné jako v p edchozích p ípadech.
21 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
6.2
Praktická realizace pracovního rezistoru
Obvod, který je v p edchozích schématech nahrazován tzv. pracovním rezistorem RP má zajistit odolnost portu proti p etížení p i p ipojení zát že ke GND a dostate n rychlý náb h nap tí p i p echodu L → H. UCC
1 zpožd ní dva cykly
>1
T1
T2
P
T3
P
P PX.Y
T4
výstup z obvodu "D"
N
1 vnit ní sb rnice tení z portu
Schéma k objasn ní funkce pracovních rezistor P edpokládejme na výstupu brány výchozí stav L a zárove p edpokládejme, že tento stav trvá déle než dva cykly: Tranzistor T4 je otev en, tranzistory T1, T2 a T3 jsou uzav eny. V okamžiku vygenerování úrovn H a v dob prvních dvou cykl po této události: Tranzistor T4 je uzav en, T1 je p echodn otev en, T2 a T3 jsou otev eny. Po uplynutí dvou cykl : Dojde k uzav ení tranzistoru T1. Tento tranzistor byl tedy otev en pouze p i p echodu L → H a jeho úkolem je zajistit dostate nou strmost vzestupné hrany na portu ve výstupním režimu. P i zvýšení zát že (vlivem vn jších obvod ) dojde k poklesu nap tí na výstupní svorce a to m že vyvolat uzav ení tranzistoru T3 (omezení výstupního proudu na únosnou mez). Kanál tranzistoru T2 je opat en odporem (tímto tranzistorem protéká jen malý proud). Ú elem tranzistoru T2 je obnovení úrovn H na výstupní svorce p i poklesu zát že.
6.3
Otázky k probrané kapitole Vysv tlete jaké d vody vedly k zavedení multiplexovaného p enosu adresy a dat. Popište vazby vstupn výstupní brány a externích periferních obvod . Objasn te vstupní a výstupní režim bran.
22 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
7 Sériové rozhraní Klí ové pojmy: SBUF, mód sériového kanálu. 7.1
Popis funkce sériového kanálu
Sou ástí architektury 8051 je i sériový I/O kanál. Tento komunika ní kanál m že pracovat v synchronním polo duplexním režimu, nebo v asynchronním pln duplexním režimu. Sériový kanál bývá využíván ke spojení s externími periferními obvody nebo pro multiprocesorovou komunikaci. P ijímací i vysílací registr je umíst n v SFR pod souhrnným ozna ením SBUF. Výb r odpovídajícího registru se d je samo inn v závislosti na zvolené operaci (operace zápis ~ využívá vysílací registr, operace tení ~ využívá p ijímací registr). informace k odeslání
8b
zápis devátého bitu
TB8
7b
6b
5b
4b
3b
2b
1b
0b
odesílání informace
vysílací regist
p íjem informace
RB8
samo inný p epis informace
7b
6b
5b
latentní p ijímací registr
8b
samo inný p epis 9-tého bitu
4b
3b
2b
1b
0b
8b
transparentní p ijímací registr
tení 9-tého bitu
tení p ijaté informace
Schéma k objasn ní funkce sériového kanálu P ijímací kanál je vybaven vyrovnávacím registrem, do kterého je samo inn uložena práv p ijatá hodnota a je tak umožn n okamžitý p íjem další informace. (Toto ešení poskytne systému mnohem delší dobu k p e tení práv p ijaté informace.) P ijatá informace musí být p e tena d íve, než je dokon en p íjem následující hodnoty (jinak dojde k p epsání p edchozí hodnoty). Sériový kanál nesignalizuje p epsání hodnoty ani chybu parity (tyto okolnosti je nutno realizovat software-ov ).
23 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7 Sériový kanál lze ovládat prost ednictvím registr v prostoru SFR:
SCON (Serial Control) b7
b6
b5
b4
b3
b2
b1
b0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
SM0(1)
Konfigura ní bity. Slouží k volb módu.
SM2
Povolení multiprocesorové komunikace.
REN
Povolení p íjmu sériovým kanálem.
TB8
Devátý bit ur ený k odeslání.
RB8
Devátý bit p ijatý sériovým kanálem.
TI
P íznak dokon ení vysílání datového rámce sériovým kanálem (požadavek p erušení). P íznak je generován samo inn , nulován však musí být software-ov .
RI
P íznak dokon ení p íjmu datového rámce sériovým kanálem (požadavek p erušení). P íznak je generován samo inn , nulován však musí být software-ov .
PCON (Power Control) b7
b6
b5
b4
b3
b2
b1
b0
SMOD
-
-
-
GF1
GF0
PD
IDL
SMOD
ízení rychlosti p enosu dat sériovým kanálem.
Ostatní bity p ímo nesouvisí s innosti p erušovacího systému.
7.2
Módy sériového kanálu
mód 0 Sériová data jsou vysílána (p ijímána) branou P3.0 (RxD) synchronn s „posouvacím“ signálem. Synchroniza ní signál je vysílán branou P3.1 (TxD). Data jsou p enášena v 8-mi bitových blocích po ínaje bitem s nejnižší váhou (LSb) a kon e bitem s nejvyšší váhou (MSb). P enosová rychlost je nem nná a je dána vztahem:
fS =
f CLK 12
mód 1 Informace je vysílána kanálem TxD a p ijímána kanálem RxD v 8-mi bitových blocích. P enášené bloky navíc obsahují „start bit“ (=0) a „stop bit“ (=1). Celková délka bloku je tedy 10 bit . Na p ijímací stran se hodnota stop bitu samo inn ukládá do RB8 (v registru SCON). Rychlost p enosu je možno volit. Je ur ena periodou p ete ení C/T1 a hodnotou bitu SMOD (v registru PCON). Pracuje-li C/T1 v módu 2, lze p enosovou rychlost ur it z následujícího vztahu:
fS =
2 SMOD * f CLK 32 * 12 * (256 − TH 1)
mód 2 K vysílání a p íjmu informace je využito TxD a RxD jako v p edchozím p ípad . Na devátou pozici je však vložena hodnota TB8 (z registru SCON). Celková velikost bloku je v tomto p ípad 11 bit . Na p ijímací stran je p enesená hodnota TB8 zapsána do RB8 (9-tý bit lze využít nap íklad k jednoduché kontrole parity). Rychlost p enosu je závislá na hodnot bitu SMOD a je rovna:
fS =
2 SMOD * f CLK 32
24 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7 mód 3 P enos dat je realizován obdobn jako v p edchozím p ípad . P enosová rychlost je však ur ena jako v módu 1 (je závislá na etnosti p ete ení C/T1 a hodnot bitu SMOD). P íjem v módu 0 je zahájen vynulováním p íznaku RI za p edpokladu, že bit REN je nastaven. V ostatních módech je p íjem datového rámce zahájen po detekci start bitu za p edpokladu, že bit REN je nastaven. Z popisu funkce v jednotlivých módech je z ejmé: P enos informací v módu 0 je realizován synchronn . P enos informací v módu 1, 2 a 3 je asynchronní.
7.3
Otázky k probrané kapitole Popište vlastnosti sériového kanálu použitého u jádra 8051. Uve te p íklady použití sériového kanálu. Na základ výpo tu zvolte krystal umož ující p enos rychlostí 19 200 bps.
25 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
8 Rozší ení systému na bázi µ-po íta e 8051 Klí ové pojmy: Master, slave. 8.1
Uvedení do problematiky
Tzv. distribuované zpracování informací nabízí v mnoha p ípadech mnohem výkonn jší systému, než p i použití osamoceného po íta e. po íta
innost
Hierarchie vzájemn propojených po íta z nichž každý má vlastní I/O brány je taková, že hlavní µídí v tší po et pod ízených µ-po íta tak, aby pracovaly na svých samostatných ástech programu.
Tato forma (distribuované zpracování) je vhodná zejména tam, kde ízení proces je ve fyzicky vzdálených místech. (P .: sledování životních funkcí pacient na ARO a jejich vyhodnocení a signalizace na centrálním panelu, v oblasti spoj použití tzv. inteligentních MUX a DEMUX k p enosu dat, p ípadn komplexní zabezpe ení objektu (alarm, požár, …) a další). Komunikace mezi po íta i se realizuje využitím sériového kanálu. Bit SM2 (z registru SCON) povolí vytvo ení multiprocesorové sb rnice v módu 2 nebo 3. Je-li v t chto módech SM2=1 a RB8=0 není nastaven p íznak RI (není generován požadavek p erušení). V módu 1 lze bit SM2 využít ke kontrole platnosti stop bitu. V módu 0 se SM2 nevyužívá. Poznámka: V synchronním módu 0 lze levn realizovat rozší ení po tu I/O linek využitím TTL nebo CMOS posuvných registr (p i fCLK = 12 MHz je rychlost p enosu 1 Mbit/sec). P i multiprocesorové komunikaci je prost ednictvím sériové linky propojeno v tší množství µ-po íta . Jeden z µ-po íta v roli „master“, ostatní v roli „slave“. Master ídí využití spole né sériové sb rnice, zadává úkoly pod ízeným a realizuje sb r výsledk jejich innosti.
8.2
Praktická realizace multiprocesorové komunikace
Z následujícího schématu je z ejmé, že k p enosu informací od po íta e master k po íta m slave slouží jediný kanál a od všech po íta slave k po íta i master taktéž. Aby komunikace mohla úsp šn probíhat, musí být dodržována ur itá „káze “. Komunikaci ídí master, jeho vysílací kanál je fyzicky neustále spojen s p ijímacími kanály všech slave. K výb ru požadovaného po íta e slave slouží adresa. Obecn (s ohledem na p ipojení po íta slave k po íta i master) platí, že v každém okamžiku m že informaci vysílat nanejvýš jediný slave. MA RxD
SL1 TxD
RxD
SL2 TxD
RxD
SL3 TxD
RxD
TxD
Praktická realizace multiprocesorové komunikace Multiprocesorová komunikace m že probíhat nap íklad takto: Adresový rámec odeslaný po íta em master obsahuje v 9-tém bitu „1“, datové rámce „0“ (nevyužívá se kontrola paritou). Všechny slave mají bit SM2 ve výchozím stavu nastaven a proto p i p íjmu dat nebudou slave generovat p íznak RI. Každý po íta slave bude pracovat na svém programu. P edpokládejme, že každý slave má p id lenou v systému jedine nou adresu. Vyšle-li master adresu po ízeného (9-tý bit je nastaven), všechny slave vygenerují p íznak RI a jejich procesorová jádra p ijatou adresu vyhodnotí. µ-po íta , který byl „osloven“ vynuluje sv j bit SM2 (bude schopen p ijímat i informace s nulovým 9tým bitem (data)). Ostatní slave budou data stejn jako doposud ignorovat.
26 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7 Slave mohou mít p id len i v tší po et adres (1. adresa vyzve slave k p íjmu informací, 2. adresa jej vyzve k odeslání informací, m že existovat i adresa spole ná pro všechny slave (využije se nap íklad k hromadné konfiguraci), …). K realizaci multiprocesorové komunikace se využívají i jiné komunika ní protokoly (n které z nich umožní, aby master byl zastoupen n kterým ze slave. Tímto zp sobem se zvyšuje odolnost systému (v p ípad poruchy nebo zni ení ásti za ízení nebo propojovacího vedení).
8.3
Otázky k probrané kapitole Objasn te pojem „distribuované zpracování“. Uve te p íklad úloh vhodných pro distribuované zpracování. Popište innost prvk systému p i multiprocesorové komunikaci.
27 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
9 Vývojové prost edky pro návrh systému s obvodem 8051 Klí ové pojmy: Algoritmus ešení, editor, p eklada , programátor. 9.1
Úvod do problematiky
souvisí:
Návrh systému s monolitickým µ-po íta em lze pomysln rozd lit do dvou ástí, které spolu úzce 1)
Návrh hardware-ové struktury (propojení jednotlivých prvk systému)
2)
Návrh software (program ídící chod systému)
P i návrhu je pot eba rozhodnout jaké informace z okolního prost edí bude systém ke své innosti využívat. V jaké form a kterými vstupy budou do po íta e p ivád ny (porty, p erušovací systém, íta e, asova e, sériový kanál, analogové veli iny, …). Dále je pot eba rozhodnout, které parametry a jakým zp sobem bude µ-po íta ovliv ovat, tomu bude pod ízeno zapojení výstupních obvod (tranzistory, relé, display-e, D/A p evodníky, …). Na základ uvedených úvah bude sestaveno zapojení obvodu a algoritmus ešení, který bude v dalších krocích využit k realizaci programu. (1)
(2)
(3)
(4)
operace
spln na podmínka ?
start
stop
Prvky používané k sestavování algoritm K sestavení algoritmu ešení používáme zde uvedené prvky: ad (1)
Prvek ozna uje za átek celého programu, programového segmentu nebo obslužného podprogramu p erušení. Prvek má pouze výstup.
ad (2)
Prvek ozna uje konec celého programu, programového segmentu nebo obslužného podprogramu p erušení. Prvek má pouze vstup.
ad (3)
Prvek se využívá k ozna ení jakékoli akce (p esun informací, aritmetické nebo logické operace, nastavení obsahu registru, …). Prvek má vstup i výstup.
ad (4)
Prvek se využívá k realizaci rozhodovacího procesu a následn k v tvení programu. Prvek má jeden vstup a dva výstupy. Je-li odpov na otázku v prvku záporná postupuje se dále po trase za „negovaným“ výstupem ( v p ípad kladné odpov di po trase za výstupem „p ímým“). Pro jednotlivé fáze návrhu a „lad ní“ systému se dnes již výlu n využívají r zné vývojové prost edky:
Nep ímé programy ~ slouží k tvorb a lad ní aplika ního software na tzv. hostitelských po íta ích t ídy PC. Jejich programové vybavení zajiš uje nezávisle na typu µ-procesoru použitého v PC tvorbu tzv. zdrojového programu (forma zápisu vhodná pro lov ka), p eklad zdrojového programu do strojového kódu (forma programu vhodná k zápisu do programové pam ti monolitického µ-po íta e). Dále je umožn na software-ová simulace b hu programu (virtuáln bez fyzické p ítomnosti objektu ízení). Hledání chyb prost ednictvím debugger-ú. Ve spojení s obvodovým emulátorem i dolad ní navrhovaného systému s ízeným obvodem. Teprve v poslední fázi lze strojový kód umístit do pam ti monolitického µ-po íta e a ten osadit do navrhovaného za ízení.
28 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
9.2
Editor, p eklada , programátor
Proces tvorby software je zapo at jeho zápisem ve zdrojové form . Editor, který slouží k zápisu programu asto nemá vazbu na p eklada a neumož uje pr b žnou (simultánní) kontrolu syntaktických („pravopisných“) chyb. P i psaní programu musíme dodržovat ur itá pravidla zápisu. P íkazová ádka bývá složena ze ty polí: 1.
Náv stí
2.
Mnemonický kód
3.
Operand(y)
4.
Komentá
O p ípadné syntaktické chyb v zápisu programu jsme informováni až v dalším kroku ~ p eklad zdrojového programu do strojového kódu. P eklada obvykle oznámí, ve které ádce a sloupci chybu nalezl. Úsp šný p eklad programu je nutnou, ne však posta ující podmínkou k tomu, aby program v µ-po íta i ádn fungoval. Krom chyb syntaktických m že program obsahovat i chyby sémantické („logické“). Na tento druh chyb p eklada neupozorní. K odstran ní sémantických chyb lze využít simulátoru. Ten umožní sledovat b h programu, po adí provád ných instrukcí a obsah pam ových míst. Nefunk nost systému m že být zp sobena i špatnými hardwarovými vazbami nebo špatn p edvídanou odezvou ízeného objektu. Chyby tohoto druhu lze lokalizovat a odstranit využitím obvodového emulátoru. Jedná se o obvod propojující hostitelský po íta s aplikací ~ supluje funkci monolitického µ-po íta e. V poslední fázi se již funk ní program zapíše do programové pam ti monolitického µ-po íta e. K zápisu je použit programátor p ipojený k hostitelskému po íta i prost ednictvím rozhraní LPT, COM n kdy USB. V sou asné dob se asto využívá možnost programovat µ-po íta technikou LVP (Low Voltage Programming) p ímo v aplikaci.
9.3
Ukázky
Na dalších stránkách jsou uvedeny ukázky ešení jednoduchého algoritmu, prost edí pro zápis zdrojového programu a simulátor.
9.4
Otázky k probrané kapitole Objasn te význam algoritmizace pro vývoj systému s monolitickým mikropo íta em. Zakreslete a popište algoritmus zvolené jednoduché funkce. Popište postup p i návrhu systému s monolitickým mikropo íta em.
29 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
Podprogram zpož ovací smy ky (algoritmus možného ešení) volání zpož ovací smy ky
výchozí nastavení konstant k realizaci zpožd ní
--bu ka 1
bu ka 1 == #0
--bu ka 2
bu ka 2 == #0
--bu ka 3
bu ka 3 == #0
návrat do hlavního programu
30 / 31
SPŠ, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7
31 / 31