STEDNÍ PRMYSLOVÁ ŠKOLA, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7. (studijní text)



Podobné dokumenty
MIKROPOČÍTAČOVÉ SYSTÉMY


Mikroprocesor Intel 8051

Vývoj výpočetní techniky. Rozdělení počítačů. Blokové schéma počítače

STEDNÍ PRMYSLOVÁ ŠKOLA, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7. (studijní text)

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Asynchronní pevodník RS-232 /485 s automatickým ízením penosu a galvanickým oddlením rozhraní ELO E069. Uživatelský manuál

Architektura počítače

Univerzální jednočipový modul pro řízení krokových motorů

NÁVOD K OBSLUZE NEZÁVISLÉHO NAFTOVÉHO TOPENÍ S RUNÍM OVLÁDÁNÍM III

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš

PROTOKOL O LABORATORNÍM CVIČENÍ

Jednočipové mikropočítače (mikrokontroléry)

Procesory z řady 8051

M-BUS P EVODNÍK/ZESILOVA EQUOBOX LC1

1 VERZE DOKUMENTU VERZE SOFTWARE ZÁKLADNÍ POPIS ZÁKLADNÍ P EHLED HYDRAULICKÝCH SCHÉMAT HYDRAULICKÁ SCHÉMATA...

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Obvody a architektura počítačů. Jednoprocesorové počítače

Mikrořadiče řady 8051.

Síový analyzátor / rekordér pechodových jev

Instrukce pro obsluhu a montáž

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

Paměti a jejich organizace

Historie osmibitových mikroprocesoru a mikroradicu ZILOG.

Malý distribuovaný I/O modul

Operační paměti počítačů PC

Zemní ochrana rotoru generátoru ve spojení proudové injektážní jednotky PIZ 50V a ochrany REJ 521

Dokumentaní píruka k aplikaci. Visor: Focení vzork. VisorCam. Verze 1.0

Kompaktní procesní stanice

evodníky Univerzita Tomáše Bati ve Zlíně Ústav elektrotechniky a měření Přednáška č. 14 Milan Adámek adamek@fai.utb.cz U5 A

PK Design. MB-ATmega16/32 v2.0. Uživatelský manuál. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (21.12.

DOPRAVNÍ INŽENÝRSTVÍ

Mikrořadiče pro přístrojovou techniku

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

4.2 Paměti PROM NiCr. NiCr. Obr.140 Proudy v naprogramovaném stavu buňky. Obr.141 Princip PROM. ADRESOVÝ DEKODÉR n / 1 z 2 n

Rozšiřující modul s protokolem MODBUS

Řídící jednotka pro 2 čtečky SL20

Základní uspořádání pamětí MCU

Rozhraní mikrořadiče, SPI, IIC bus,..

UDAQ-1216A UDAQ-1416A. multifunkèní modul pro rozhraní USB

PROCESOR. Typy procesorů

4 - Architektura poítae a základní principy jeho innosti

ROZHRANÍ 4 VSTUPŮ/VÝSTUPŮ. 4x OPTICKY ODDĚLENÉ LOG. VSTUPY 4x RELÉ SPÍNACÍ VÝSTUPY OVLÁDÁNÍ: LINKA RS232

Technické prostředky počítačové techniky

Alfanumerické displeje



Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

Microchip. PICmicro Microcontrollers

Způsoby realizace paměťových prvků


Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC


Mikrořadiče fy ATMEL

Informační a komunikační technologie

enos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p

MIDAM UC 101 modbus regulátor topení, teplota, 1x DO, 1x DI, RS485

Vestavné systémy BI-VES Přednáška 5

19 Jednočipové mikropočítače

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností, budoucností a hlavními parametry.

Mikroprocesory v přístrojové technice

Podstanice DESIGO PX Modulární řada s rozšiřujícím modulem

MIDAM MW 240 modbus 2 x DI, 2 x DO

Pedstavení procesor s architekturou ARM

Ekvitermní regulátor teploty TERM2.2

Podrobný obsah CHARAKTERISTIKA A POROVNÁNÍ ØADY PIC16F87X A PIC16F87XA TYPY POUZDER A PØIØAZENÍ VÝVODÙ PIC16F87X TYPY POUZDER A PØIØAZENÍ

Maturitní témata - PRT 4M

Regulátor prostorové teploty s tíbodovým výstupem

Měřič krevního tlaku. 1 Měření krevního tlaku. 1.1 Princip oscilometrické metody 2007/

GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY


Analýza dějů na rozhraní RS 232 C

Integrované obvody. Obvody malé, střední a velké integrace Programovatelné obvody

2. Prehľad vlastností jednočipových mikropočítačov (I-8048, I-8051, I-80196)

Generátor pulsů GP1v2. Stavební návod.

ZADÁVACÍ DOKUMENTACE VE EJNÉ ZAKÁZKY

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/

Komunikativní regulátor fancoilu s ventilátorem

1 KOMBINATORIKA, KLASICKÁ PRAVDPODOBNOST

R1C - monitorovací jednotka odvadìèe kondenzátu Pøedpis instalace a údržby

Typ Napětí Hmotnost kg

PŘEVODNÍKY SÉRIOVÝCH ROZHRANÍ NA OPTICKÉ VLÁKNO OPTO 485 E170, E171 UŽIVATELSKÝ MANUÁL

Miroslav Flídr Počítačové systémy LS /21- Západočeská univerzita v Plzni

dtron 16.1 Kompaktní mikroprocesorový regulátor

FMS OEM CHIP V3+ ZÁKLADNÍ POPIS 2 INTEGRACE FMS CHIPU DO SYSTÉMU 3 SPI INTERFACE 5 PÍKAZ SETTINGS 8 PÍKAZ READ 8 READ: FIRMWARE 8

MSP 430F1611. Jiří Kašpar. Charakteristika


SINEAX V604s Programovatelný multifunkční převodník

JUMO mtron T Měřicí, regulační a automatizační systém

Ladící pípravek DisplayKit

3. REALIZACE KOMBINAČNÍCH LOGICKÝCH FUNKCÍ

Opakovač sériového rozhraní RS-485 ELO E123 Pro Profibus Uživatelský manuál

1. Co je elektrický proud? Elektrický proud je projev pohybu elektrického náboje. Vyjadujeme ho jako celkový náboj, který projde za jednotku asu.

Univerzální regulační systém TERM 4M. Technická data vstupy Pt100. proud (IMEA) binární (BIN) výstupy binární: (OUTPUTS)

Krokové motory. Klady a zápory

CQ485. Opakovač a převodník linek RS485 a RS422. S aktivní i pasivní obnovou dat

Transkript:

STEDNÍ PRMYSLOVÁ Š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.

1 Struktura monolitického mikropoítae typu 8051... 3 1.1 Základní charakteristika... 3 1.2 Blokové schéma... 3 1.3 Organizace vývod pouzdra... 5 1.4 Otázky k probrané kapitole... 5 2 Organizace pamtí a registry speciálních funkcí... 6 2.1 Pam programu a pam dat... 6 2.2 Speciální funkní registry (SFR)... 7 2.3 Funkce nkterých registr z prostoru SFR... 8 2.4 Otázky k probrané kapitole... 8 3 asování CPU a provádní instrukcí... 9 3.1 asové prbhy signál a druhy instrukcí... 9 3.2 Zapojení a funkce oscilátoru CLK... 9 3.3 Otázky k probrané kapitole...10 4 Perušovací systém µ-poítae 8051...11 4.1 Popis perušovacího systému (základní principy a ovládání)...11 4.2 Vektory perušení, blokové schéma k popisu funkce...12 4.3 Píklad použití perušovacího systému...14 4.4 Otázky k probrané kapitole...14 5 ítae a asovae monolitického mikropoítae...15 5.1 Objasnní základních pojm...15 5.2 Nastavení režim a mód íta / asova...18 5.3 Otázky k probrané kapitole...18 6 innost port a styk s vnjší pamtí...19 6.1 innost port (zjednodušen)...19 6.2 Praktická realizace pracovního rezistoru...22 6.3 Otázky k probrané kapitole...22 7 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 8 Rozšíení systému na bázi µ-poítae 8051...26 8.1 Uvedení do problematiky...26 8.2 Praktická realizace multiprocesorové komunikace...26 8.3 Otázky k probrané kapitole...27 9 Vývojové prostedky pro návrh systému s obvodem 8051...28 9.1 Úvod do problematiky...28 9.2 Editor, peklada, programátor...29 9.3 Ukázky...29 9.4 Otázky k probrané kapitole...29 2 / 31

1 Struktura monolitického mikropoítae 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 doporuený k aplikacím v reálném ase v oblasti mící techniky, ízení a jako inteligentní poítaová periferie poíta tídy PC. V souasné dob je monolitický mikropoíta vyrábn adou výrobc v rzných variantách (liší se velikosti pamti programu i dat, potem vstupn výstupních bran, potem a druhy hardware-ových modul (ítae / asovae, analogov digitální pevodníky, sériové kanály, perušovací systém, pulsn šíková modulace, )). Základní model (ze kterého byly odvozeny souasn vyrábné 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); tyi 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 ítae / asovae (8052 ~ ti ítae / asovae); 6 maskovatelných zdroj perušení (8052 ~ 7); sériový vstupn výstupní kanál USART; oscilátor CLK integrovaný na ipu; pracovní kmitoet f CLK 33 MHz; napájecí naptí 5V; pouzdro DIL 40 (Dual In Line). Mikropoíta je v souasné dob vyrábn 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 doplkem bývá EEPROM pro data (energeticky nezávislá pam k uložení dležitých dat). Nkteí výrobci upravili ALU systému (doplnny rozšíené aritmetické operace) - Siemens 80C537. Jiní znovu navrhli procesorové jádro (odlišné interní asování) a dosáhli tak vyšší výkon pi stejném kmitotu CLK Dallas DS80C320. Možným doplkem jsou i hodiny a kalendá. 1.2 Blokové schéma Uvedené blokové schéma obsahuje hlavní funkní moduly monolitického mikropoítae 8051 a jejich vzájemné vazby. Legenda: CPU ~ Central Processor Unit (procesorové jádro); oscilator, generator CLK ~ zdroj synchronizaního signálu využívaný pro funkci mikropoítae; master control ~ systém ízení funkce mikropoítae; ROM, PROM, EPROM, EEPROM ~ pam k uložení programu; RWM ~ pam k uložení dat; SFR ~ speciální funkní registry; counter/timer ~ ítae / asovae; control interrupt ~ ízení perušení; control external bus ~ ízení vnjší sbrnice (sériová, paralelní); parallel I/O ~ vstupn výstupní brány; serial I/O ~ sériový kanál. 3 / 31

Údaje v závorce oznaují funkce, které jsou realizovány alternativním zpsobem prostednictvím I/O bran. Apostrof vyjaduje negaci (signál je aktivní pi logické úrovni L). tok). Jednotlivé funkní bloky jsou propojeny spolenou interní sbrnicí (šipky vyznaují smr informaních XTAL1 XTAL2 EA' RST ALE PSEN' (T0) (T1) CPU oscillator, generator CLK master control ROM (EPROM) RWM SFR counter/timer internal control internal bus control interrupt control external bus parallel I/O serial I/O TO T1 SIO (INT0')(INT1') internal INT (data) (address) (WR') (RD') P0 P1 P2 P3 (RxD) (TxD) Blokové schéma monolitického mikropoítae 8051 4 / 31

1.3 Organizace vývod pouzdra Monolitický µ-poíta Intel 8051 je umístn v pouzdru DIL 40 a využití vývod pouzdra je popsáno následujícími tabulkami. Oznaení a funkce vývod pouzdra DIL 40 vývod alternativní pozice na funkce pouzdru popis funkce XTAL1-19 vstup oscilátoru (invertující zesilova) XTAL2-18 výstup oscilátoru (invertující zesilova) PSEN - 29 Program Store Enable (pipojuje externí pam k datové sbrnici) ALE - 30 Address Latch Enable (k zachycení nižšího bajtu adresy) - PROG 30 vstup programovacích puls EA - 31 External Access (tení programu z vnjší pamti) - U PP 31 pivedení programovacího naptí 21 V RST - 9 inicializace systému - U PD 9 napájení v režimu Power Down (archivace obsahu RWM) P0-39 32 8-mi bitová obousmrná brána s oteveným kolektorem adresa 39 32 nižší bajt adresy data 39 32 8-mi bitová data P1 (1) 1 8 8-mi bitová kvazi obousmrná brána P2-21 28 8-mi bitová kvazi obousmrná brána - adresa 21 28 vyšší bajt adresy P3 (1) 10 17 8-mi bitová kvazi obousmrná brána U CC - 40 napájecí naptí +5 V U SS - 20 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 alternativní funkce popis funkce P1.0 T2 vnjší vstup C/T2 (pouze u 8052 a jeho nástupc) P1.1 T2EX synchronizaní vstup C/T2 (pouze u 8052 a jeho nástupc) P3.0 RxD vstup dat (asynch.), vstup / výstup dat (synch.) P3.1 TxD výstup dat (asynch.), výstup posouvacích puls (synch.) P3.2 INT0 žádost o perušení, hradlování C/T0 P3.3 INT1 žádost o perušení, hradlování C/T1 P3.4 T0 vnjší vstup C/T0 P3.5 T1 vnjší vstup C/T1 P3.6 WR ídící signál pro zápis do vnjší pamti P3.7 RD ídící signál pro tení z vnjší pamti V souasné dob jsou monolitické mikropoítae umisovány i do jiných pouzder. 1.4 Otázky k probrané kapitole Vysvtlete vztah mezi pojmy mikroprocesor a monolitický mikropoíta. Popište vlastnosti von Neumann-ovy architektury poítae. Objasnte pojem alternativní funkce v návaznosti na vstupn výstupní brány. 5 / 31

2 Organizace pamtí 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á oddlené adresové prostory pro data a program. Pístup k tmto prostorm je realizován rznými instrukcemi. Uvedené prostory lze dále dlit na vnitní a vnjší. K selekci zdroje programu slouží signál EA. <=> EA=0 ~ (program je ten výhradn z vnjší pamti), <=> EA=1 ~ (pro adresy 0000 H 0FFF H je program ten z vnitní pamti a z adres 1000 H FFFF H z pamti vnjší). FFFF H 1000 H externí EA=0 nebo EA=1 0FFF H 0000 H externí EA=0 interní EA=1 Pam programu Jak je vidt z následujícího schématu adresový prostor SFR se pekrývá s vnjší RWM a (u 8052) i s rozšíenou RWM. K zajištní jednoznanosti adresy je pístup do SFR ešen odlišným zpsobem adresování (pro vnitní 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í pamti dat je ešen odlišnou instrukcí. FFFF H FF H 80 H SFR rozšíená interní externí 7F H základní interní 00 H 0000 H Pam dat Vnitní pamový prostor pro data je rozdlen takto: 0 7 ~ nultá banka registr 8 15 ~ první banka registr 16 23 ~ druhá banka registr 24 31 ~ tetí banka registr 32 47 ~ 128 pímo adresovatelných bit (1) 48 127 ~ zásobník a uživatelská pam poet bit 128 pozn.: (1) poet bajt = = = 16 poet bit v bajtu 8 6 / 31

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 pesunout, aby nedošlo ke kolizi obsahu zásobníku s obsahem registr. Samostatné bity jsou adresovány adresami (00 H 7F H ). Adresy (80 H FF H ) jsou využity pro bity v prostoru SFR. S vnjší pamtí dat lze komunikovat využitím nepímého adresování. K tomu lze využít ukazatel datové pamti 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ýbru jednoho z až 256 blok vnjší pamti. Velikost každého bloku je 256 B. 2.2 Speciální funkní 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 soustedny 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é pamti dolní bajt ukazatele datové pamti 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í perušení ukazatel zásobníku (transformace RAM LIFO) stavové slovo procesoru akumulátor (oznaová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 FF H (11111111 B ). Tím je zajištno, že všechny porty jsou nastaveny do vstupního režimu. U CC zápis fiktivní rezistor 20-40k N P1.X tení Popis funkce obvodu I/O brány: Schéma k objasnní I/O režimu brány 1. Je-li na výstup odeslána úrove L, pak tranzistor N je oteven, ale pi tení vnjšího signálu v tomto pípad bude vždy tena úrove L (protože otevený tranzistor svádí vstupní signál k zemi). 2. Je-li však na výstup odeslána úrove H, pak tranzistor N je uzaven a tení vstupního signálu je bezproblémové. 7 / 31

2.3 Funkce nkterých registr z prostoru SFR Zde bude objasnna funkce nkterých speciálních funkních registr. Funkce ostatních registr bude vysvtlena v souvislosti s popisem hardware-ových modul monolitického µ-poítae. A B ~ akumulátor (stada) je základní registr aritmetické jednotky. Obsahuje jeden operand a ukládá se zde výsledek operace. Vyžadují-li nkteré instrukce pímou adresu, lze použít oznaení ACC. ~ pomocný registr. Pi instrukcích násobení a dlení 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 PC PSW ~ ukazatel zásobníku (Stack Pointer). Umožní vytvoit pam LIFO v pamti RAM. Zásobník slouží k uložení návratových adres pi volání a obsahu dležitých bunk pamti napíklad pi obsluze perušení. ~ íta instrukcí (Program Counter) je 16-ti bitový registr uchovávající adresu provádné instrukce. ~ stavové slovo µ-poítae. 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 AC F0 ~ píznak penosu (Carry) mže být nastaven pi aritmetických operacích (pi penosu z bajtu), pi nkterých instrukcích pro porovnání a pi rotacích. ~ píznak ásteného penosu (Auxiliary Carry) je nastaven pi penosu z dolní tetrády. Je využíván dekadickou korekcí pi operacích v kódu BCD. ~ uživatelský píznak. Je k dispozici programátorovi lze zde poznamenat dležitou informaci. RS1(0) ~ výbr banky registr (Register Select). RS1 RS0 banka 0 0 0 0 1 1 1 0 2 1 1 3 OV P ~ píznak peteení (OVerflow). Indikuje peteení pi operacích soutu a rozdílu. Je využíván považujeme-li operandy za ísla se znaménkem. ~ paritní bit. Je-li v akumulátoru lichý poet jedniek => je P=1. 2.4 Otázky k probrané kapitole Objasnte pojmy energeticky závislá a energeticky nezávislá pam. Popište rozdíly v adresování základní a rozšíené pamti pro data a adresování registr z prostoru SFR. Vysvtlete co zpsobuje menší náronost monolitického mikropoítae na systémové prostedky. 8 / 31

3 asování CPU a provádní instrukcí Klíové pojmy: Instrukní cykl, strojový cykl, stav, fáze. 3.1 asové prbhy 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): instrukní cykl ~ doba potebná k provedení instrukce strojový cykl (Takt) ~ ást nebo celý instrukní cykl (existují instrukce jedno, dvou a tytaktové) stav (State) ~ ást taktu (takt obsahuje šest stav) fáze (Phase) ~ ást stavu (stav obsahuje dv fáze) Aritmetické a logické operace probíhají bhem první fáze a pesuny dat mezi interními registry bhem druhé fáze. Informace o prbhu innosti µ-poítae 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 prbhu taktu. T CLK P 1 2 1 2 1 2 1 2 1 2 1 2 S 1 2 3 4 5 6 ALE asování CPU t Druhy instrukcí (s ohledem na dobu potebnou k provedení a místo potebné v pamti) Instrukce jedno bajtová, jedno taktová ~ v S1 probíhá tení operaní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í operaního kódu, v S4 tení druhého bajtu instrukce (P.: pitení datové konstanty k akumulátoru) Instrukce jedno bajtová, dvou taktová ~ v S1 probíhá tení operaního kódu, v S4 prvního taktu a v S1 i S4 druhého taktu tzv. prázdné tení. (P.: inkrementace ukazatele datové pamti, nebo pesun dat z vnjší pamti v tomto pípad je ale potlaen první signál ALE ve druhém taktu) Instrukce dvou bajtová, dvou taktová registru v aktuální registrové bance) Instrukce tí bajtová, dvou taktová pamové buky vnitní pamti) ~ (P.: pesun obsahu pamové buky vnitní pamti do ~ (P.: pesun obsahu pamové buky vnitní pamti do jiné Instrukce jedno bajtová, ty taktová ~ (P.: souin nebo podíl akumulátoru a registru B) 3.2 Zapojení a funkce oscilátoru CLK Z následujícího schématu je zejmá funkce oscilátoru hodinového signálu. Oscilátor využívá hradlo NAND jako invertující zesilova. Rezistory R 1 a R 2 upravují stupe zptné vazby mezi vstupní a výstupní ásti obvodu. Kondenzátory C 1 a C 2 jsou osazeny za úelem kompenzace parazitních kmit. Diody D 1 a D 2 zamezují napovým špikám. Krystal realizuje asovou prodlevu ve zptné 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

PD & V CC CLK D 1 D 2 R 1 R 2 XTAL1 X XTAL2 C 1 C 2 Zjednodušené schéma zapojení oscilátoru CLK V nkterých pípadech je vhodné použít ke generování CLK externí oscilátor. Takto generovaným signálem pak lze synchronizovat vtší poet obvod. Použijeme-li ke generování CLK napíklad generátor s fázovým závsem, lze snadno podle poteby ídit rychlost zpracování programu. Toto mimo jiné vede k výrazným úsporám energie. V CC f O 1 5k6 8051 XTAL2 XTAL1 3.3 Otázky k probrané kapitole Objasnte dvody použití synchronního režimu innosti u monolitického mikropoítae. Definujte pojmy fáze, stav a takt. Popište funkci interního generátoru CLK ve vztahu k režimu PD. 10 / 31

4 Perušovací systém µ-poítae 8051 Klíové pojmy: Kanál perušení, priorita perušení, vektor perušení. 4.1 Popis perušovacího systému (základní principy a ovládání) V prbhu vykonávání programu se mohou vyskytnout interní, nebo externí události ovlivující další innost systému. 8051 je vybaven hardware-ovými prostedky, které tento zásah do bžícího programu bez zvláštních software-ových nárok realizují tak, že je doasn perušeno provádní 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é prostedky k testování okamžiku vzniku sledované události. S ohledem na poet nezávislých kanál se jedná o více vstupý, z hlediska volby priority dvouúrovový a s ohledem na ízení maskovatelný perušovací systém: Nezávislé signály zpracované perušovacím systémem: Dva vnjší signály pivedené prostednictvím vstup INT0 a INT1 (pracují v negativní logice). Dva signály od C/T0 a C/T1 (požadavek perušení je generován pi peplnní ítacích registr). Dva požadavky od sériového kanálu (vysílání a píjem). Rozlišení pvodce perušení je však v tomto pípad nutno provést software-ov. Poíta opatený jediným procesorem mže v jediném okamžiku provádt pouze jedinou operaci (zde neuvažujeme funkce hardware-ových modul). Vznikne li v jediném okamžiku více požadavk na perušení, pak musí být stanoveno poadí jejich zpracování. Toto poadí je stanoveno implicitn, ale lze je omezeným zpsobem pozmnit (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 perušení hlavního programu. Perušovací systém lze ovládat prostednictvím registr v prostoru SFR: IE (Interrupt Enable Control) b7 b6 b5 b4 b3 b2 b1 b0 EA - - ES ET1 EX1 ET0 EX0 EA ES ET1(0) EX1(0) globální povolení perušení - nevyužité povolení perušení od sériového kanálu povolení perušení od íta / asova povolení perušení od vnjších zdroj IP (Interrupt Priority Control) b7 b6 b5 b4 b3 b2 b1 b0 - - - PS PT1 PX1 PT0 PX0 PS PT1(0) PX1(0) - nevyužité nadazení sériového kanálu nadazení ítae / asovae nadazení vnjšího zdroje 11 / 31

TCON (Timer Control) b7 b6 b5 b4 b3 b2 b1 b0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF1(0) IE1(0) IT1(0) Píznak peplnní ítae asovae (C/T1, C/T0). Píznak je nastaven v okamžiku peplnní C/T a nulován (samoinn) pi obsluze perušení. Píznaky perušení od vnjších zdroj. Píznak je nastaven prostednictvím vnjšího signálu a nulován (rovnž samoinn) pi obsluze perušení. Volba reakce systému na sestupnou hranu / úrove (1 / 0) požadavku vnjšího zdroje. Ostatní bity pímo nesouvisí s inností perušovacího systému. SCON (Serial Control) b7 b6 b5 b4 b3 b2 b1 b0 SM0 SM1 SM2 REN TB8 RB8 TI RI TI RI Píznak dokonení vysílání datového rámce sériovým kanálem (požadavek perušení). Píznak je generován samoinn, nulován však musí být software-ov. Píznak dokonení píjmu datového rámce sériovým kanálem (požadavek perušení). Píznak je generován samoinn, nulován však musí být software-ov. Ostatní bity pímo nesouvisí s innosti perušovacího systému. 4.2 Vektory perušení, blokové schéma k popisu funkce Každý nezávislý zdroj perušení má svj perušovací vektor (výjimku tvoí pouze sériový kanál oba požadavky na perušení mají vektor spolený). Perušovací vektor je v podstat ta adresa v pamti programu, na niž bude pedáno ízení pi obsluze daného perušení. V pípad, že je vektor perušení spolený je nutné pvodce perušení zjistit software-ov. Žádosti o peruš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 prbhu dalších dvou takt je realizováno volání obslužného podprogramu perušení. Uvedený postup nebude dodržen v pípad že: 1) Je práv realizováno perušení shodné nebo vyšší priority. 2) Práv provádná instrukce doposud nebyla dokonena. Ped pechodem k obsluze perušení je práv provádná instrukce dokonena. Po návratu z obsluhy perušení nebo po zásahu do registru IE pípadn IP se provede vždy alespo jedna instrukce z hlavního programu. 12 / 31

(INT0) IE0 IT0 1 EX0 EA PX0 1 2 3 4 5 žádost o perušení vektor perušení vyšší úrove ET0 (C/T0) TF0 PT0 EX1 (INT1) IE1 IT1 1 PX1 ET1 (C/T1) TF1 (RxD) RI (TxD) TI >1 ES PT1 PS 1 2 3 4 5 nižší úrove žádost o perušení vektor perušení Schéma k objasnní funkce perušovacího systému zdroj perušení píznak perušení adresa podprogramu (perušovací vektor) priorita (implicitn) INT0 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 Adresy poátk podprogram perušení (perušovací vektory). Poznámka: Nižší cifra znamená vyšší prioritu (pednost pi vykonávání programu). 13 / 31

4.3 Píklad použití perušovacího systému Pedpokládejme, že k brán P1 (P1.0 P1.7) jsou pipojeny spínae ovlivující funkci systému. Obslužný podprogram perušení zjišuje, zda a který spína byl sepnut. +5 V S 0 P1.0 R 02 R 01 S 7 P1.7 8051 R 8 R 72 R 71 INT0 T 0 T 7 Sepnutím kteréhokoliv spínae dojde k otevení píslušného tranzistoru a tím ke generování žádosti o perušení. Výhoda popsaného zpsobu ešení spoívá v tom, že hlavní program nemusí periodicky testovat spínae (=> hlavní program je jednodušší, kratší a tedy i rychlejší). Požadavek perušení je generován hardware-ov a zpsobí nastavení píslušného píznakového bitu (požadavku perušení). Píznakový bit je nulován samoinn pi obsluze perušení. K samoinné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 pvodce perušení (došlo k dokonení vysílání nebo k dokonení píjmu). Perušovací vektor je v tomto pípad spolený a k vyhodnocení pvodce perušení je nutno testovat píznakové bity. K nastavování píznakových bit dochází i v pípad, že píslušná perušení jsou zakázána. Této vlastnosti perušovacího systému lze v pípad poteby využít. 4.4 Otázky k probrané kapitole Objasnte pojem perušení hlavního programu. Uvete dvody zavedení vektor perušení. Testování sepnutí spínae využitím perušovacího systému Na zvoleném píkladu ukažte zpracování perušení od vnjšího zdroje. 14 / 31

5 ítae a asovae monolitického mikropoítae Klíové pojmy: Režim íta, režim asova, hradlování provozu ítae / asovae. 5.1 Objasnní základních pojm Monolitický µ-poíta 8051 má ve výbav dva 16-ti bitové ítae / asovae, které mohou být využity napíklad k: Mení asových interval. Mení šíky impuls. ítání vnjších událostí (náhodného charakteru). ítání periodických žádostí o perušení. ítae jsou oznaeny C/T0 a C/T1 (u systému 8052 i C/T2) a mohou pracovat v nkolika režimech a módech : o o Režim asova ~ ítání hodinových puls odvozených od generátoru CLK. Režim íta ~ ítání událostí pivedených na vstupy P3.4 ~ C/T0 a P3.5 ~ C/T1. 8 bit Tn CLK Clk / 12 TLx (5 bit) THx (8 bit) TFn C/T TRn & 1 GATE >1 INTn ítae / asovae 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 pedlením. Protože (2 5 = 32) ítací registr je inkrementován každým ticá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 samoinným nastavením poáteního stavu. Mód je aplikovatelný u obou C/T. Mód 3 ~ Mód je aplikovatelný pouze u C/T0. Z ítae / asovae 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

pracovat v módech 0 2, ale negeneruje žádost o peruš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 Tn CLK Clk / 12 TLx (8 bit) THx (8 bit) TFn C/T TRn & 1 GATE >1 INTn ítae / asovae v módu 1 8 bit Tn CLK Clk / 12 TLx (8 bit) TFn C/T key TRn & 1 THx (8 bit) GATE >1 8 bit INTn ítae / asovae v módu 2 16 / 31

TR1 & 1 GATE >1 8 bit INT1 TH0 (8 bit) TF1 8 bit T0 CLK Clk / 12 TL0 (8 bit) TF0 C/T TR0 & 1 GATE >1 INT0 íta / asova 0 v módu 3 V okamžiku peplnní ítacího registru píslušného ítae / asovae je nastaven odpovídající píznakový bit (TF0 nebo TF1). K nulování píznakového bitu dojde samoinn pi obsluze požadavku perušení. Je-li C/T0 peveden do módu 3, dojde ke spuštní C/T1 (ovládací prvek TR1 je za tchto okolností využit pro C/T0 viz. schéma). 17 / 31

5.2 Nastavení režim a mód íta / asova ítae / asovae lze ovládat prostednictví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 zejmý z pedchozích schémat a lze jej popsat takto: C / T _ on = GATE * TRx + GATE * TRx * INTx C/T Volba režimu innosti (C/T=0 ~ asova, C/T=1 ~ íta) viz schéma. M1, M0 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 Oznaení 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 zejmé, že jednotlivé bity registru TMOD nelze z dvodu nejednoznanosti 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) TR1(0) Píznak peplnní ítae asovae (C/T1, C/T0). Píznak je nastaven v okamžiku peplnní C/T a nulován (rovnž samoinn) pi obsluze perušení. Spuštní a zastavení bhu ítae / asovae (C/T0, C/T1). TRx=1 ~ zapnuto. peplnní C/T a nulován (rovnž samoinn) pi obsluze perušení. Ostatní bity pímo nesouvisí s innosti íta / asova. 5.3 Otázky k probrané kapitole Objasnte pojem modul ítání a popište funkci ítae. Vysvtlete jak mže íta / asova ovlivnit výpoetní výkon poítae. Uvete píklad pro použití hradlování ítae / asovae v režimu asova. 18 / 31

6 innost port a styk s vnjší pamtí 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 tymi 8-mi bitovými obousmrnými vstupn výstupními branami. Každý kanál je ešen prostednictvím záchytného registru oznaeného shodn s portem, registry lze využívat jako 32 samostatných bit, nebo jako tyi bajty. Nkteré brány mají další funkce. Brány P1, P2 a P3 mají vnitní 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 poteba komunikovat s externí pamtí. Je-li linka využita jako vstupní, pak musí být na její výstup zapsána úrove H. adresa - data 1 ízení U CC tení z registru & P P0.x vnitní sbrnice D Q signál zápisu C Q N tení z brány Popis funkce I/O brány P0: Zjednodušené schéma zapojení 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 uzaven a pepína je pepnut v zakreslené poloze ~ port je využíván k penosu informací jako standardní port. Je-li signál ízení = 1, pak stav tranzistoru je závislý na signálu adresa data a pepína je pepnut v opané poloze ~ port je využíván k penosu adresy nebo dat. 1) Alternativní funkce (penos adresy nebo dat). Má-li adresa (nebo data) hodnotu 0, pak na ídící elektrod tranzistoru N je úrove 1 a tranzistor N je oteven. Na ídící elektrod tranzistoru P je za této situace rovnž úrove 1 a tento tranzistor P je uzaven. Na výstupu (P0.X) je vytvoena úrove L. Má-li adresa (nebo data) hodnotu 1, pak na ídící elektrod tranzistoru N je úrove 0 a tranzistor N je uzaven. Na ídící elektrod tranzistoru P je za této situace rovnž úrove 0 a tranzistor P je oteven. Na výstupu (P0.X) je vytvoena úrove H. 19 / 31

2) Hlavní funkce. Tranzistor P je v tomto režimu vždy uzaven. Signál z vnitní sbrnice je penesen na výstup obvodu D signálem zápisu. Je-li na vnitní sbrnici úrove 0, je na ídící elektrod tranzistoru N úrove 1 a tranzistor N je oteven. Na výstupu je vytvoena úrove L. Je-li na vnitní sbrnici úrove 1, je na ídící elektrod tranzistoru N úrove 0 a tranzistor N je uzaven. Na výstupu je vytvoen stav vysoké impedance (tranzistor P je rovnž uzaven). Ú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 pedchozí zápis úrovn H na I/O bránu. Penos informací (data nebo tení z portu) je realizován prostednictvím ventilu ovládaného signálem tení z brány. Je-li vnjšími obvody piveden na bránu signál L nebo H, pak prostednictvím zmiovaného ventilu je tento logický signál penesen na vnitní sbrnici. Je-li aktivován signál tení z registru, je na vnitní sbrnici penesena logická hodnota, která byla jako poslední penesena na výstup (bez ohledu na stav vnjších obvod). tení z registru U CC R P P1.x vnitní sbrnice D Q signál zápisu C Q N tení z brány Popis funkce I/O brány P1: Zjednodušené schéma zapojení 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 skutenosti se jedná o zapojení tí tranzistor, jejich funkce bude objasnna pozdji). Brána P1 není (u 8051) vybavena alternativními funkcemi a popis její innosti je analogický jako u brány P0. 20 / 31

tení z registru adresa ízení U CC vnitní sbrnice D Q R P P2.x signál zápisu tení z brány C Q 1 N Popis funkce brány P2: Zjednodušené schéma zapojení brány P2 Brána P2 plní alternativní funkci (generování horního bajtu adresy). Schéma zapojení brány je opt z ásti podobné jako zapojení bran P0 a P1. Funkce brány je analogická jako v pedchozích pípadech. Signál ízení uruje, zda port bude využíván v hlavním nebo alternativním režimu innosti. tení z registru speciální výstupní funkce U CC vnitní sbrnice D Q R P P3.x signál zápisu tení z brány C Q & N speciální vstupní funkce Popis funkce brány P3: Zjednodušené schéma zapojení 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 opaném pípad by totiž tranzistor N byl trvale oteven a výstupní funkce by nebyly realizovány). Schéma zapojení brány je i v tomto pípad podobné jako v pedchozích pípadech. 21 / 31

6.2 Praktická realizace pracovního rezistoru Obvod, který je v pedchozích schématech nahrazován tzv. pracovním rezistorem R P má zajistit odolnost portu proti petížení pi pipojení zátže ke GND a dostaten rychlý nábh naptí pi pechodu L H. U CC 1 zpoždní dva cykly >1 T 1 P T 2 P T 3 P PX.Y výstup z obvodu "D" T 4 N vnitní sbrnice 1 tení z portu Pedpokládejme na výstupu brány výchozí stav L a zárove pedpokládejme, že tento stav trvá déle než dva cykly: Tranzistor T 4 je oteven, tranzistory T 1, T 2 a T 3 jsou uzaveny. V okamžiku vygenerování úrovn H a v dob prvních dvou cykl po této události: Tranzistor T 4 je uzaven, T 1 je pechodn oteven, T 2 a T 3 jsou oteveny. Po uplynutí dvou cykl: Schéma k objasnní funkce pracovních rezistor Dojde k uzavení tranzistoru T 1. Tento tranzistor byl tedy oteven pouze pi pechodu L H a jeho úkolem je zajistit dostatenou strmost vzestupné hrany na portu ve výstupním režimu. Pi zvýšení zátže (vlivem vnjších obvod) dojde k poklesu naptí na výstupní svorce a to mže vyvolat uzavení tranzistoru T 3 (omezení výstupního proudu na únosnou mez). Kanál tranzistoru T 2 je opaten odporem (tímto tranzistorem protéká jen malý proud). Úelem tranzistoru T 2 je obnovení úrovn H na výstupní svorce pi poklesu zátže. 6.3 Otázky k probrané kapitole Vysvtlete jaké dvody vedly k zavedení multiplexovaného penosu adresy a dat. Popište vazby vstupn výstupní brány a externích periferních obvod. Objasnte vstupní a výstupní režim bran. 22 / 31

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 komunikaní 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. Pijímací i vysílací registr je umístn v SFR pod souhrnným oznaením SBUF. Výbr odpovídajícího registru se dje samoinn v závislosti na zvolené operaci (operace zápis ~ využívá vysílací registr, operace tení ~ využívá pijímací registr). zápis devátého bitu informace k odeslání 8 b TB8 7b 6b 5b 4b 3b 2b 1b 0b odesílání informace vysílací regist píjem informace samoinný pepis 9-tého bitu samoinný pepis informace 8 b latentní pijímací registr RB8 7b 6b 5b 4b 3b 2b 1b 0b transparentní pijímací registr 8 b tení 9-tého bitu tení pijaté informace Schéma k objasnní funkce sériového kanálu Pijímací kanál je vybaven vyrovnávacím registrem, do kterého je samoinn uložena práv pijatá hodnota a je tak umožnn okamžitý píjem další informace. (Toto ešení poskytne systému mnohem delší dobu k petení práv pijaté informace.) Pijatá informace musí být petena díve, než je dokonen píjem následující hodnoty (jinak dojde k pepsání pedchozí hodnoty). Sériový kanál nesignalizuje pepsání hodnoty ani chybu parity (tyto okolnosti je nutno realizovat software-ov). 23 / 31

Sériový kanál lze ovládat prostednictví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) SM2 REN TB8 RB8 TI RI Konfiguraní bity. Slouží k volb módu. Povolení multiprocesorové komunikace. Povolení píjmu sériovým kanálem. Devátý bit urený k odeslání. Devátý bit pijatý sériovým kanálem. Píznak dokonení vysílání datového rámce sériovým kanálem (požadavek perušení). Píznak je generován samoinn, nulován však musí být software-ov. Píznak dokonení píjmu datového rámce sériovým kanálem (požadavek perušení). Píznak je generován samoinn, 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 penosu dat sériovým kanálem. Ostatní bity pímo nesouvisí s innosti perušovacího systému. 7.2 Módy sériového kanálu mód 0 Sériová data jsou vysílána (pijímána) branou P3.0 (RxD) synchronn s posouvacím signálem. Synchronizaní signál je vysílán branou P3.1 (TxD). Data jsou penášena v 8-mi bitových blocích poínaje bitem s nejnižší váhou (LSb) a kone bitem s nejvyšší váhou (MSb). Penosová rychlost je nemnná a je dána vztahem: f = S f CLK 12 mód 1 Informace je vysílána kanálem TxD a pijímána kanálem RxD v 8-mi bitových blocích. Penášené bloky navíc obsahují start bit (=0) a stop bit (=1). Celková délka bloku je tedy 10 bit. Na pijímací stran se hodnota stop bitu samoinn ukládá do RB8 (v registru SCON). Rychlost penosu je možno volit. Je urena periodou peteení C/T1 a hodnotou bitu SMOD (v registru PCON). Pracuje-li C/T1 v módu 2, lze penosovou rychlost urit z následujícího vztahu: f S SMOD 2 * fclk = 32 *12 *(256 TH1) mód 2 K vysílání a píjmu informace je využito TxD a RxD jako v pedchozí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 pijímací stran je penesená hodnota TB8 zapsána do RB8 (9-tý bit lze využít napíklad k jednoduché kontrole parity). Rychlost penosu je závislá na hodnot bitu SMOD a je rovna: f = S SMOD 2 CLK * f 32 24 / 31

mód 3 Penos dat je realizován obdobn jako v pedchozím pípad. Penosová rychlost je však urena jako v módu 1 (je závislá na etnosti peteení C/T1 a hodnot bitu SMOD). Píjem v módu 0 je zahájen vynulováním píznaku RI za pedpokladu, že bit REN je nastaven. V ostatních módech je píjem datového rámce zahájen po detekci start bitu za pedpokladu, že bit REN je nastaven. Z popisu funkce v jednotlivých módech je zejmé: Penos informací v módu 0 je realizován synchronn. Penos 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. Uvete píklady použití sériového kanálu. Na základ výpotu zvolte krystal umožující penos rychlostí 19 200 bps. 25 / 31

8 Rozšíení systému na bázi µ-poítae 8051 Klíové pojmy: Master, slave. 8.1 Uvedení do problematiky Tzv. distribuované zpracování informací nabízí v mnoha pípadech mnohem výkonnjší innost systému, než pi použití osamoceného poítae. Hierarchie vzájemn propojených poíta z nichž každý má vlastní I/O brány je taková, že hlavní µ- poíta ídí vtší poet 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 penosu dat, pípadn komplexní zabezpeení objektu (alarm, požár, ) a další). Komunikace mezi poítai se realizuje využitím sériového kanálu. Bit SM2 (z registru SCON) povolí vytvoení multiprocesorové sbrnice v módu 2 nebo 3. Je-li v tchto módech SM2=1 a RB8=0 není nastaven píznak RI (není generován požadavek peruš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í potu I/O linek využitím TTL nebo CMOS posuvných registr (pi f CLK = 12 MHz je rychlost penosu 1 Mbit/sec). Pi multiprocesorové komunikaci je prostednictvím sériové linky propojeno vtší množství µ-poíta. Jeden z µ-poíta v roli master, ostatní v roli slave. Master ídí využití spolené sériové sbrnice, zadává úkoly podízeným a realizuje sbr výsledk jejich innosti. 8.2 Praktická realizace multiprocesorové komunikace Z následujícího schématu je zejmé, že k penosu informací od poítae master k poítam slave slouží jediný kanál a od všech poíta slave k poítai master taktéž. Aby komunikace mohla úspšn probíhat, musí být dodržována uritá káze. Komunikaci ídí master, jeho vysílací kanál je fyzicky neustále spojen s pijímacími kanály všech slave. K výbru požadovaného poítae slave slouží adresa. Obecn (s ohledem na pipojení poíta slave k poítai master) platí, že v každém okamžiku mže informaci vysílat nanejvýš jediný slave. MA SL1 SL2 SL3 RxD TxD RxD TxD RxD TxD RxD TxD Praktická realizace multiprocesorové komunikace Multiprocesorová komunikace mže probíhat napíklad takto: Adresový rámec odeslaný poítaem 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 pi píjmu dat nebudou slave generovat píznak RI. Každý poíta slave bude pracovat na svém programu. Pedpokládejme, že každý slave má pidlenou v systému jedinenou 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 pijatou adresu vyhodnotí. µ-poíta, který byl osloven vynuluje svj bit SM2 (bude schopen pijímat i informace s nulovým 9- tým bitem (data)). Ostatní slave budou data stejn jako doposud ignorovat. 26 / 31

Slave mohou mít pidlen i vtší poet adres (1. adresa vyzve slave k píjmu informací, 2. adresa jej vyzve k odeslání informací, mže existovat i adresa spolená pro všechny slave (využije se napíklad k hromadné konfiguraci), ). K realizaci multiprocesorové komunikace se využívají i jiné komunikaní protokoly (nkteré z nich umožní, aby master byl zastoupen nkterým ze slave. Tímto zpsobem se zvyšuje odolnost systému (v pípad poruchy nebo zniení ásti zaízení nebo propojovacího vedení). 8.3 Otázky k probrané kapitole Objasnte pojem distribuované zpracování. Uvete píklad úloh vhodných pro distribuované zpracování. Popište innost prvk systému pi multiprocesorové komunikaci. 27 / 31

9 Vývojové prostedky pro návrh systému s obvodem 8051 Klíové pojmy: Algoritmus ešení, editor, peklada, programátor. 9.1 Úvod do problematiky Návrh systému s monolitickým µ-poítaem lze pomysln rozdlit do dvou ástí, které spolu úzce souvisí: 1) Návrh hardware-ové struktury (propojení jednotlivých prvk systému) 2) Návrh software (program ídící chod systému) Pi návrhu je poteba rozhodnout jaké informace z okolního prostedí bude systém ke své innosti využívat. V jaké form a kterými vstupy budou do poítae pivádny (porty, perušovací systém, ítae, asovae, sériový kanál, analogové veliiny, ). Dále je poteba rozhodnout, které parametry a jakým zpsobem bude µ-poíta ovlivovat, tomu bude podízeno zapojení výstupních obvod (tranzistory, relé, display-e, D/A pevodní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) start operace splnna podmínka? stop ad (1) ad (2) ad (3) ad (4) Prvky používané k sestavování algoritm K sestavení algoritmu ešení používáme zde uvedené prvky: Prvek oznauje zaátek celého programu, programového segmentu nebo obslužného podprogramu perušení. Prvek má pouze výstup. Prvek oznauje konec celého programu, programového segmentu nebo obslužného podprogramu perušení. Prvek má pouze vstup. Prvek se využívá k oznaení jakékoli akce (pesun informací, aritmetické nebo logické operace, nastavení obsahu registru, ). Prvek má vstup i výstup. Prvek se využívá k realizaci rozhodovacího procesu a následn k vtvení 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é odpovdi po trase za výstupem pímým ). Pro jednotlivé fáze návrhu a ladní systému se dnes již výlun využívají rzné vývojové prostedky: Nepímé programy ~ slouží k tvorb a ladní aplikaní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 lovka), peklad zdrojového programu do strojového kódu (forma programu vhodná k zápisu do programové pamti monolitického µ-poítae). Dále je umožnna software-ová simulace bhu programu (virtuáln bez fyzické pítomnosti objektu ízení). Hledání chyb prostednictvím debugger-ú. Ve spojení s obvodovým emulátorem i doladní navrhovaného systému s ízeným obvodem. Teprve v poslední fázi lze strojový kód umístit do pamti monolitického µ-poítae a ten osadit do navrhovaného zaízení. 28 / 31

9.2 Editor, peklada, programátor Proces tvorby software je zapoat jeho zápisem ve zdrojové form. Editor, který slouží k zápisu programu asto nemá vazbu na peklada a neumožuje prbžnou (simultánní) kontrolu syntaktických ( pravopisných ) chyb. Pi psaní programu musíme dodržovat uritá pravidla zápisu. Píkazová ádka bývá složena ze ty polí: 1. Návstí 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 ~ peklad zdrojového programu do strojového kódu. Peklada obvykle oznámí, ve které ádce a sloupci chybu nalezl. Úspšný peklad programu je nutnou, ne však postaující podmínkou k tomu, aby program v µ-poítai ádn fungoval. Krom chyb syntaktických mže program obsahovat i chyby sémantické ( logické ). Na tento druh chyb peklada neupozorní. K odstranní sémantických chyb lze využít simulátoru. Ten umožní sledovat bh programu, poadí provádných instrukcí a obsah pamových míst. Nefunknost systému mže být zpsobena i špatnými hardwarovými vazbami nebo špatn pedví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ítae. V poslední fázi se již funkní program zapíše do programové pamti monolitického µ-poítae. K zápisu je použit programátor pipojený k hostitelskému poítai prostednictvím rozhraní LPT, COM nkdy USB. V souasné 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, prostedí pro zápis zdrojového programu a simulátor. 9.4 Otázky k probrané kapitole Objasnte význam algoritmizace pro vývoj systému s monolitickým mikropoítaem. Zakreslete a popište algoritmus zvolené jednoduché funkce. Popište postup pi návrhu systému s monolitickým mikropoítaem. 29 / 31

Podprogram zpožovací smyky (algoritmus možného ešení) volání zpožovací smyky výchozí nastavení konstant k realizaci zpoždní --buka 1 buka 1 == #0 --buka 2 buka 2 == #0 --buka 3 buka 3 == #0 návrat do hlavního programu 30 / 31

31 / 31