Ústav radioelektroniky

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

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

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Úvod do mobilní robotiky AIL028

Mikroprocesorová technika (BMPT)

SEKVENČNÍ LOGICKÉ OBVODY

Řízení IO přenosů DMA řadičem

Pohled do nitra mikroprocesoru Josef Horálek

Struktura a architektura počítačů (BI-SAP) 10

Bloková struktura mikrokontrolérů Mikroprocesorová technika a embedded systémy

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

Principy komunikace s adaptéry periferních zařízení (PZ)

Struktura a architektura počítačů (BI-SAP) 7

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

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

Úvod do mobilní robotiky NAIL028

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

Systém řízení sběrnice

Profilová část maturitní zkoušky 2014/2015

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

ČEMU ROZUMÍ MIKROPROCESOR?

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

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

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

Profilová část maturitní zkoušky 2015/2016

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

Procesor z pohledu programátora

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Registry a čítače část 2

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Princip funkce počítače

Praktické úlohy- 2.oblast zaměření

5. A/Č převodník s postupnou aproximací

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Návrh konstrukce odchovny 2. dil


PROCESOR. Typy procesorů

Konfigurace portů u mikrokontrolérů

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

PCKIT LPT MODUL SBĚRNICE IOBUS PRO PC LPT. Příručka uživatele. Střešovická 49, Praha 6, s o f c o s o f c o n.

velikosti vnitřních pamětí? Jaké periferní obvody má na čipu a k čemu slouží? Jaká je minimální sestava mikropočítače z řady 51 pro vestavnou aplikaci

Přerušovací systém s prioritním řetězem

Typy a použití klopných obvodů

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

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

Strojový kód. Instrukce počítače

od jaké adresy bude program umístěn? Intel Hex soubor, co to je, z čeho a jak se získá, k čemu slouží? Pseudoinstrukce (direktivy) překladače ORG, SET

požadovan adované velikosti a vlastností Interpretace adresy POT POT

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88

PROTOKOL O LABORATORNÍM CVIČENÍ

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

V PRAZE Fakulta elektrotechnická Katedra teorie obvodů. Úvod do mikrokontrolérů ATMEL AVR Konkrétn. ATmega. Martin Pokorný 31SCS 2004

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

Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů )

Použití programovatelného čítače 8253

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Procesory z řady 8051

Architektura počítače

SHIFTIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...}) SPIIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...})

Periferní operace využívající přímý přístup do paměti

Technická kybernetika. Obsah. Klopné obvody: Použití klopných obvodů. Sekvenční funkční diagramy. Programovatelné logické automaty.

Mikroprocesorová technika a embedded systémy. doc. Ing. Tomáš Frýza, Ph.D.

Číslicové obvody základní pojmy

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Dekódování adres a návrh paměťového systému

Čísla, reprezentace, zjednodušené výpočty

Metody připojování periferií BI-MPP Přednáška 1

Přerušení na PC. Fakulta informačních technologií VUT v Brně Ústav informatiky a výpočetní techniky. Personální počítače, technická péče cvičení

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta informačních technologií

Vstupně - výstupní moduly

uz80 Embedded Board ver. 1.0 uz80 Vestavná Řídící Deska ver. 1.0

Architektura procesoru ARM

Registrový model HDD

Základy digitální techniky

Komunikace procesoru s okolím

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Jízda po čáře pro reklamní robot

RISC a CISC architektura

Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.

Cíle. Teoretický úvod

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Sekvenční logické obvody

Rozhraní SCSI. Rozhraní SCSI. Architektura SCSI

Přerušovací systém 12.přednáška

Programování PICAXE18M2 v Assembleru


Ústav radioelektroniky

Čísla, reprezentace, zjednodušené výpočty

Direct Digital Synthesis (DDS)

Microchip. PICmicro Microcontrollers

Architektury počítačů a procesorů

Program "Světla" pro mikropočítač PMI-80

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Transkript:

Ústav radioelektroniky Vysoké učení technické v Brně Komunikace zařízení po sběrnici Mikroprocesorová technika, přednáška č. 3 Ing. Frýza Tomáš, Ph.D. 10. října 2007

Obsah přednášky Základní pojmy a terminologie z mikroprocesorové techniky Obecné časové průběhy Obvody s tří-stavovým výstupem Komunikace po sběrnici Adresní, datová a řídicí sběrnice Bloková struktura řady 51, AVR Ukázka programu v JSA a v C pro ATmega16 Ovládání vstupně/výstupního portu Zdroje informací Otázky a příklady k procvičení

Obsah přednášky Základní pojmy a terminologie z mikroprocesorové techniky Obecné časové průběhy Obvody s tří-stavovým výstupem Komunikace po sběrnici Adresní, datová a řídicí sběrnice Bloková struktura řady 51, AVR Ukázka programu v JSA a v C pro ATmega16 Ovládání vstupně/výstupního portu Zdroje informací Otázky a příklady k procvičení

Základní pojmy mikroprocesorové techniky Bit zkratka Binary Digit, tj. jeden symbol v binární soustavě Jednotka b. Např. 8b, Nastavení hodnoty bitu (set bit) hodnota bitu = 1 (vysoká úroveň), Nulování hodnoty bitu (clear bit) hodnota bitu = 0 (nízká úroveň). Pamět ová buňka zařízení nebo elektrický obvod pro uchování hodnoty 1 bitu (klopný obvod, stav tranzistoru, jeden spot na CD, magnetický náboj,...). Pamět ové slovo množina pamět ových buněk určité velikosti (registr z osmi klopných obvodů,...); typická velikost od 4 do 64 bitů. Pamět součástka, umožňující uložení programu nebo dat v binární podobě. Soubor určitého počtu pamět ových slov.

Základní pojmy mikroprocesorové techniky Registr skupina pamět ových buněk k uložení binární informace. Snazší/rychlejší přístup než u ostatních pamět ových slov. Šířka registru - počet bitů v registru. Registrový pár dvojice registrů. Pin vodič vyvedený vně součástky. Port skupina pinů (nejčastěji 8), umožňující vstupně/výstupní komunikaci mikrokontroléru s okoĺım. Sběrnice skupina vodičů umožňující propojení vstupů a výstupů několika zařízení, registrů, apod.

Základní pojmy a terminologie Jednotka B. Byte [bajt] slovo o šířce 8 bitů; jedno z nejpoužívanějších pamět ových slov v mikroprocesorové technice Např. 16B, Nibl [nibl] slovo o šířce 4 bitů; polovina bytu; dříve hojně využíváno. MSB (Most Significant Bit/Byte) - nejvýznamnější bit/byte. LSB (Least Significant Bit/Byte) - nejméně významný bit/byte. Pamět ová kapacita celkový počet bitů v paměti, nebo v systému. Udává se ve tvaru počet slov šířka slova Např. 8k 16, 1k 8, 512 8. Pozn.: Pracujeme ve dvojkové soustavě, proto 1k [kilo] = 2 10 = 1 024 (pozor: 1k 1 000), 1M [mega] = 2 20 = 1 048 576, 1G [giga] = 2 30 = 1 073 741 824.

Základní pojmy a terminologie Příklad Co představuje zápis pamět ové kapacity 4 096 20? Řešení Počet slov = 4 096 (4k), Šířka slova, tj. počet bitů na slovo = 20b. Příklad Necht je pamět ová kapacita vyjádřena hodnotou 2k x 8 a) Kolik slov obsahuje tato součástka? (2 048), b) Jaká je šířka jednoho slova? (8 bitů), c) Jaký je celkový počet bitů v pamět ové součástce? (2 048 8 = 16 384 bitů).

Základní pojmy a terminologie, paměti Adresa index, který identifikuje pozici slova v paměti; každé slovo má unikátní adresu; nejčastěji se udává v šestnáctkové soustavě (prefix 0x nebo $). Čtení z paměti (anglicky fetch) operace, při které je binární slovo (např. slovo 10 na obrázku) vyzvednuto z konkrétní adresy v paměti (0x0a) a přeneseno na jiné místo. Zápis do paměti (anglicky store) operace, při které je nové slovo (např. slovo 1 na obrázku) přeneseno na konkrétní pozici v paměti (0x01); původní informace je ztracena. Obrázek: Uspořádání paměti

Ukázka adresování pamět ového slova Ukázka adresování 8bitového slova pomocí 16bitové adresy. MSB tvoří vyšší byte adresy, LSB tvoří nižší byte adresy MSB: 0b00101010 @ $2a, LSB: 0b01110011 @ $73. Všechna pamět ová slova jsou stejně široká. Adresovaná data 0b00010111 @ $17. Obrázek: Adresování pamět ového slova

Obsah přednášky Základní pojmy a terminologie z mikroprocesorové techniky Obecné časové průběhy Obvody s tří-stavovým výstupem Komunikace po sběrnici Adresní, datová a řídicí sběrnice Bloková struktura řady 51, AVR Ukázka programu v JSA a v C pro ATmega16 Ovládání vstupně/výstupního portu Zdroje informací Otázky a příklady k procvičení

Časové průběhy obecně Časové průběhy (diagramy) jsou základním nástrojem pro pochopení funkce číslicových systémů a pro kontrolu správné činnosti při návrhu. Diagramy znázorňují změnu vybraných signálů v čase, i případné závislosti mezi změnami jednotlivých signálů. Ukázka: Časové průběhy vstupů a výstupů převodníku 3bitového čísla na kód 7segmentového displeje. Svislý marker na obrázku Vstup = 0b011 @ 3 Výstup = pouze signály F a E na vysoké úrovni, tj. nesvítí. Obrázek: Průběhy převodníku kódu

Základní časové diagramy Přehled základních situací Systémy s tří-stavovým výstupem mohou nabývat stavů: L (v okoĺı 0V), H (v okoĺı napájecího napětí) a vysoká impedance, Přechody signálů z nízké do vysoké úrovně (L H) a naopak, Přechod svazku paralelních signálů (sběrnice) z jednoho stavu do druhého (úspornější způsob zobrazení několika vodičů), Signál ve stavu vysoké impedance (plovoucí signál).

Základní časové diagramy, pokračování Přehled základních situací, pokračování Paralelní signály ve stavu vysoké impedance, Změna stavu jednoho signálu může způsobit přechod jiného signálu(ů); viz. obr. přechod L H způsobil přechod H L jiného signálu, typickým příkladem jsou obvody řízené hranou, Více než jedna podmínka může způsobit změnu stavu na sběrnici; viz. obr. výstup 3bitového čítače reaguje na hodinový signál i na signál určující směr čítání.

Obsah přednášky Základní pojmy a terminologie z mikroprocesorové techniky Obecné časové průběhy Obvody s tří-stavovým výstupem Komunikace po sběrnici Adresní, datová a řídicí sběrnice Bloková struktura řady 51, AVR Ukázka programu v JSA a v C pro ATmega16 Ovládání vstupně/výstupního portu Zdroje informací Otázky a příklady k procvičení

Komunikace mezi zařízeními Typická komunikace uvnitř mikrokontroléru, ale i mezi mikrokontrolérem a zařízeními probíhá po paralelním vedení, tj. po sběrnici (u 8bitových systémů tvořena zpravidla 8 vodiči). Všechna zařízení obsahují 8bitový vstupně/výstupní port, pomocí něhož jsou připojena na jedinou skupinu vodičů sběrnici. Nejedná se tedy o spojení point-point. Aby byly eliminovány kolize na sběrnici, kdy několik zařízení vysílá současně stav na sběrnici je dán kombinací více signálů; data jsou nečitelná se používají systémy s tří-stavovými výstupy, příp. oddělovací bufery s třístavovým výstupem. Tří-stavový výstup je řízen povolovacím vstupem (Enable), který zajistí aktivaci vždy jen jednoho zařízení, výstupy ostatních jsou ve stavu vysoké impedance.

Tří-stavový výstup Výstupy obsahují kromě stavu HIGH a LOW také stav vysoké impedance. Řízení režimu pomocí řídicího signálu ENABLE (E). Ukázka: Symbolická značka části tří-stavového buferu 74HC125 (Philips) Pouzdro obsahuje celkem 4 takové buňky, Trojúhelníček znamená tří-stavový výstup, Malé kolečko u řídicího vstupu E informuje, že aktivní úroveň je nízká, Některé 3stavové bufery mají aktivní úroveň vysokou (74HC126), příp. invertují výstupní hodnotu. Obrázek: Symbolická značka tří-stavového buferu 74HC125

Tří-stavový výstup, pokračování Popis činnosti E = 1; výstup ve stavu vysoké impedance výstup se chová jakoby fyzicky odpojený od sběrnice, E = 0; bufer pracuje v normálním režimu, tj. výstup X je napět ový ekvivalent vstupu A. Tří-stavové obvody jsou již obsaženy v klopných obvodech, registrech, pamět ových součástkách, a téměř ve všech mikrokontrolérech.

Tří-stavový výstup, dokončení Tří-stavové bufery se často používají k připojení několika zařízení/signálů ke sběrnici. Obrázek: Tři odlišné bufery pro signály A, B a C V případě vysílání více zařízení, dojde ke kolizi na sběrnici (nežádoucí). Řídicí signály EN musí zajistit, aby ke sběrnici bylo připojeno jen jedno zařízení.

Obsah přednášky Základní pojmy a terminologie z mikroprocesorové techniky Obecné časové průběhy Obvody s tří-stavovým výstupem Komunikace po sběrnici Adresní, datová a řídicí sběrnice Bloková struktura řady 51, AVR Ukázka programu v JSA a v C pro ATmega16 Ovládání vstupně/výstupního portu Zdroje informací Otázky a příklady k procvičení

Paralelní přenos dat mezi registry Registry hrají významnou úlohu v mikroprocesorové technice. Ze softwarového pohledu je mikrokontrolér systémem registrů, mezi kterými je binární informace přesunována a zpracovávána. Existují dva způsoby přesunu dat mezi registry Paralelní, Sériový. Obrázek: Paralelní přenos dat Ukázka: Dvojice 3bitových registrů X a Y, které jsou tvořeny klopnými obvody typu D, řízených hranou. Přesun dat je řízen hodinovým signálem CLK.

Paralelní a sériový přenos dat mezi registry Symbolický zápis přenosu dat: [X] [Y] (přesun obsahu registru X do registru Y). Hodinový pulz aplikován na vstupy CLK způsobí přesun dat z výstupů X 2, X 1, X 0 (vstupy D Y ) na výstupy Y 2, Y 1, Y 0. Jedná se o paralelní přesun, protože celý obsah registru X se překopíruje do Y najednou (pomocí jedné hrany řídicího signálu). Ukázka: Sériový přenos dat prostřednictvím 3bitového posuvného registru (klopné obvody typu JK, řízené hranou). Obrázek: Posuvný (shift) registr

Sériový přenos dat mezi registry Obrázek: Sériový přenos dat Při aktivní hraně signálu CLK jsou hodnoty vstupních signálů klopných obvodů překopírovány na výstupy (tj. na vstupy obvodů vpravo). Data z výstupu posledního KO jsou ztracena. Sériový přenos vyžaduje více času (jeden bit vyžaduje jeden pulz), ale méně vodičů.

Sériový přenos dat mezi registry, příklad Příklad Přenos dat [X] [Y]; necht [X]=101, [Y]=011 a S = 0 Řešení 1. pulz: [X]=010, [Y]=101 2. pulz: [X]=001, [Y]=010 3. pulz: [X]=000, [Y]=101 Tabulka: Postupné posouvání dat S X 2 X 1 X 0 Y 2 Y 1 Y 0 0 1 0 1 0 1 1 před 1. pulzem 0 0 1 0 1 0 1 po 1. pulzu 0 0 0 1 0 1 0 po 2. pulzu 0 0 0 0 1 0 1 po 3. pulzu

Komunikace mezi zařízeními Příklad Jakým způsobem zajistit bezpečný přenos dat ze zařízení č. 2 do řídicí jednotky? (Necht řídicí jednotka v tomto případě shromažd uje informace od jednotlivých zařízení). Příklad Jaké napět ové úrovně budou na datové sběrnici v případě, že všechny zařízení budou ve stavu vysoké impedance? Obrázek: Komunikace po sběrnici

Příklad přenosu dat po sběrnici Příklad zapojení tří 4bitových registrů 74173 (4bitový 3stavový klopný obvod typu D) na 4bitovou sběrnici, tvořenou vodiči DB 3 -DB 0. Registry obsahují tři řídicí signály IE (Input Enable) nízká úroveň aktivuje vstupní obvody, OE (Output Enable) nízká úroveň aktivuje výstupní obvody, CLK hodinový signál. Příklad Zajistěte přenos dat z registru B do registru A, [B] [A]. Necht [B] = 1100. Obrázek: 4bitové registry 74173

Příklad přenosu dat po sběrnici, řešení Řešení Výstupy Pouze registr B musí mít aktivní výstupní obvody, tj. OE A = 1, OE C = 1, OE B = 0, Obsah registru B je tím zapsán na datovou sběrnici. Vstupy Pouze registr A musí mít aktivní vstupní obvody, tj. IEA = 0, IE B = 1, IE C = 1. Následující aktivní hrana hodinového signálu zajistí přenos (přečtení) dat ze sběrnice do klopných obvodů registru A. Přenos dat je tedy zajištěn generováním korektní posloupností řídicích signálů zajišt uje řídicí jednotka.

Příklad přenosu dat po sběrnici, řešení Řešení Platná data jsou v registru A přeneseny v časovém intervalu t 1 t 2. Příklad Proč je aktivní úroveň řídicích signálů v nízké úrovni? Obrázek: Časové průběhy

Rozšíření sběrnice Běžně se používá větší počet registrů než 3. Obecně lze na sběrnici připojit libovolný počet registrů. Zvyšuje se tím ale počet řídicích signálů OE, IE a vstupně/výstupních vodičů. Obdobně jako u 4bitové sběrnice fungují sběrnice 8bitové, 16bitové, nebo 32bitové. Zobecněný princip Jeden registr (zařízení) má aktivovány výstupní obvody a zapisuje data na sběrnici, Jiný registr (zařízení) má aktivovány vstupní obvody, čímž může data ze sběrnice číst, Při aktivní hraně hodinového signálu dojde k zápisu dat do registru.

Rozšíření sběrnice, pokračování Šířka sběrnice (počet vodičů) je dána šířkou datového slova, přenášeného v systému. 8bitové slovo 8 vodičů, 16bitové slovo 16 vodičů,... Některé systémy obsahují kombinací několika různě-širokých sběrnic. Počet zařízení, připojených na sběrnici je rozdílný případ od případu. Závisí na velikosti paměti systému a na počtu vstupních a výstupních zařízeních, které musí s CPU komunikovat po sběrnici. Všechna zařízení musí být připojena přes 3stavové bufery Některá zařízení tyto bufery již obsahují přímo na čipu, např. registry 74173 (viz. výše), Ostatní zařízení musí být ke sběrnici připojeny přes tzv. řadič sběrnice (bus driver).

Řadič sběrnice Řadič sběrnice obsahuje 3stavový výstup s velmi nízkou výstupní impedancí, což způsobuje rychlé nabíjení a vybíjení celkové kapacitní reaktance (odpor) sběrnice krátké doby přechodu. (Řadič sběrnice tedy nezhoršuje doby přechodu.) Kapacitní odpor je tvořen kumulací parazitních kapacitancí všech vstupů a výstupů, připojených ke sběrnici a může zhoršit doby přechodu. Příklad řadiče sběrnice 8bitový 74HC541.

Využití řadiče sběrnice Připojení výstupu 8bitového A/D převodníku k datové sběrnici pomocí 74HC541. Tabulka: Funkční tabulka OE 1 OE 0 A n Y n 0 0 0 0 0 0 1 1 1 X X Z X 1 X Z Obrázek: Řadič sběrnice

Zjednodušená reprezentace časových průběhů Časové průběhy jednotlivých signálů na sběrnici lze z důvodu přehlednosti zápisu sdružit do jediného průběhu výhodné u systémů s 8, 16, nebo s 32 vodiči. Ukázka: Přenos dat ze zařízení B do A, viz. předešlý případ [B]=1100 OEB = 0; IE A = 0, Ostatní řídicí vstupy/výstupy nejsou zakresleny. Platná data na sběrnici v době trvání aktivní úrovně hodinového impulsu (interval t 2 t 1 ). Neplatná data v intervalech t 1 t 0 a t 3 t 2. Obrázek: Zjednodušené časové průběhy

Zjednodušená reprezentace sběrnic Z důvodu připojení velkého množství zařízení ke sběrnici se používá zjednodušené znázornění vodičů ve schématech Pomocí širokých šipek; číslo v [ ] znázorňuje šířku registrů/počet připojených vodičů, Pomocí jediného vodiče (fyzicky nespojeno) s indikovanou šířkou (počtem bitů) \4. Obrázek: 4bitový registr 74173 a MCU ATtiny11 Obrázek: Zjednodušené znázornění sběrnice

Obousměrná sběrnice Uvažovaný obvod (registr 74173) má vstupy i výstupy napojené na shodný vodič datové sběrnice, např. vstupní signál D C0 je propojen s výstupem O C0 přes vodič DB 0 (neplatí při použití řadiče sběrnice) DC0 vstup č. nula registru C, OC0 výstup č. nula registru C. Z důvodu snížení počtu pinů, bylo vyvinuto uspořádání s propojením vstupů a výstupů uvnitř integrovaných obvodů. Každý pin (I 0 /O 0 až I n /O n ) může pracovat jako vstupní nebo výstupní v závislosti na řídicích signálech. Proto jsou piny I/O nazývány jako obousměrné datové linky. Mnoho pamět ových obvodů a mikroprocesorů samozřejmě umožňuje obousměrný přenos.

Obousměrná sběrnice Obrázek: Propojení I/O pinů uvnitř obvodu

Adresní, datová, řídicí sběrnice V mikroprocesorových systémech se obecně vyskytují tři typy sběrnic. Adresní sběrnice: přenáší n-bitovou adresu z mikroprocesoru do paměti Mikrokontroléry AVR obsahují 16bitovou adresní sběrnici, tj. mohou adresovat 2 16 = 65 536 pozic v paměti nebo ve vstupně/výstupním zařízení, Čtení/zápis z/do paměti musí být doprovázen příslušným řídicím signálem. Datová sběrnice: obousměrná 8bitová sběrnice (u 8bitových systémů) pro přenos dat do/z paměti. Datová sběrnice nemusí obsahovat jen data, ale také instrukce, které mají být vykonány (viz. další přednášky).

Adresní, datová, řídicí sběrnice Řídicí sběrnice je skupina všech časovacích a řídicích signálů, nutných pro korektní synchronizaci operací mikroprocesoru s ostatními součástmi systému. Některé řídicí signály jsou výstupem mikroprocesoru a některé jsou vstupy od I/O zařízení. Počet a typ signálů se liší, Mezi základní signály patří READ/WRITE, generovaný mikroprocesorem a obsahují ho všechny mikroprocesory (příp. jeho ekvivalent), Signál Enable. Obrázek: Zjednodušené blokové schéma MCU typu AVR

Obsah přednášky Základní pojmy a terminologie z mikroprocesorové techniky Obecné časové průběhy Obvody s tří-stavovým výstupem Komunikace po sběrnici Adresní, datová a řídicí sběrnice Bloková struktura řady 51, AVR Ukázka programu v JSA a v C pro ATmega16 Ovládání vstupně/výstupního portu Zdroje informací Otázky a příklady k procvičení

Bloková struktura mikrokontroléru řady 51 (MCS 51) Obrázek: Zjednodušené blokové schéma mikrokontroléru řady 51

Bloková struktura mikrokontroléru řady 51 (MCS 51) Časovací a řídicí jednotka Instrukční registr - místo uložení instrukce z paměti, která se má dekódovat a vykonat, Řídicí signály: P SEN Program store enable - k připojení s OE pinem externí paměti, ALE Address latch enable - demultiplexování adresy/dat z externí paměti (port 0), EA External access - možnost uložení programu v externí paměti, RST - resetovací vstup, Zdroj hodinového signálu. Aritmeticko/logická jednotka ALU - výkon všech aritmetických a logických operací. Registr B, akumulátor ACC, příznakový registr PSW Processor status word.

Bloková struktura mikrokontroléru řady 51 (MCS 51) 4 banky po osmi pracovních registrech (R0-R7). Programová, datová pamět RAM, EPROM/ROM. Přerušení s definovanou prioritou, full-duplexní sériový port, 8/16bitový čítač/časovač. Ukazatel na zásobník Stack pointer Obsahuje adresu vrcholu zásobníku (zásobník - ukládání návratových adres). 16bitový programový čítač Program counter Obsahuje adresu aktuálně vykonávané instrukce. 16bitový Data pointer DPTR 4 obousměrné 8bitové porty P0-P3. Další možné vybavení: ADC, DAC, komparátor, watchdog, PWM, I2C,...

Bloková struktura mikrokontroléru řady AVR (ATtiny11) Obrázek: Zjednodušené blokové schéma mikrokontroléru ATtiny11

Bloková struktura mikrokontroléru řady AVR (ATtiny11) 32 8bitových registrů pro běžné použití General purpose registers GPIO Registrový pár Z (r31-r30) pro nepřímé adresování. Hardwarový zásobník Hardware stack. Program uložen v paměti typu Flash. Kontrolní registr mikrokontroléru MCU control register. Příznakový registr mikrokontroléru MCU status register.

Obsah přednášky Základní pojmy a terminologie z mikroprocesorové techniky Obecné časové průběhy Obvody s tří-stavovým výstupem Komunikace po sběrnici Adresní, datová a řídicí sběrnice Bloková struktura řady 51, AVR Ukázka programu v JSA a v C pro ATmega16 Ovládání vstupně/výstupního portu Zdroje informací Otázky a příklady k procvičení

Ukázka programu v JSA pro ATmega16 I/O port Použité registry r16 - jeden z 32 8bitových registrů pro obecné použití, ddrb (PortB Data Direction Register) - určuje směr komunikace jednotlivých pinů portu B. 0 vstupní pin, 1 výstupní pin, portb - obsahuje data pro výstupní piny portu B. Význam použitých instrukcí ser temp do registru temp (r16) ulož osmibitovou konstantu 0xff (255 dek.), out ddrb,temp do registru ddrb zkopíruj obsah registru temp celý port b bude výstupní, out portb,temp do registru portb zkopíruj obsah registru temp, dec temp od obsahu registru temp odečti jedničku, rjmp loop skoč na návěstí loop. Velikost výsledného kódu je 12 B, tj. 0,1% paměti Flash mikrokontroléru ATmega16.

Ukázka programu v JSA pro ATmega16 I/O port.include <m16def.inc>.def temp = r16.org 0x0000 rjmp reset reset: ser temp out ddrb,temp loop: out portb,temp dec temp rjmp loop ; definiční soubor pro mikrokontrolér ATmega16 ; konstanta temp nahrazuje registr r16 ; ulož následující kód od adresy 0x0000 ; skok na návěští reset ; nastav všechny bity v registru temp ; temp = 0xff = 0b1111 1111 ; ulož obsah temp do směrového registru pro port b ; port b == výstupní ; pošli obsah temp na výstup portu b ; odečti jedničku od obsahu temp ; skok na návěští loop, tj. nekonečná smyčka

Ukázka programu v jazyce C pro ATmega16 I/O port Identická aplikace v jazyce C. Konkrétní typ mikrokontroléru (např. ATmega16) je definován v prostředí AVR Studio a předán překladači jako jeden z parametrů. Soubor io.h obsahuje názvy a adresy všech registrů a periféríı. Jména registrů jsou zde definovány velkými písmeny. Některé formy zápisu nekonečných (tj. vždy pravdivých) smyček v jazyce C while( 1 ) { } for( ;; ) { } Zkrácený zápis aritmetické operace PORTB-- je totožný se zápisem PORTB=PORTB-1. Program napsán pro překladač AVR-GCC! Pro jiné překladače může být nečitelný. Velikost výsledného kódu je 174 B (1,1% paměti ATmega16).

Ukázka programu v jazyce C pro ATmega16 I/O port #include "avr\io.h" int main( void ) { DDRB = 0xff ; PORTB = 0xff ; while( 1 ) PORTB-- ; } // vložení definičního souboru pro mikrokontroléry AVR, // který je uložen v adresáři avr // hlavní funkce aplikace // do směrového registru pro port b ulož konstantu // 0xff <=> port b bude výstupní // pošli konstantu 0xff na port b // nekonečná smyčka // odečti jedničku od obsahu portu b Příklad Jak prakticky ověřit správnou funkcí programu?

Obsah přednášky Základní pojmy a terminologie z mikroprocesorové techniky Obecné časové průběhy Obvody s tří-stavovým výstupem Komunikace po sběrnici Adresní, datová a řídicí sběrnice Bloková struktura řady 51, AVR Ukázka programu v JSA a v C pro ATmega16 Ovládání vstupně/výstupního portu Zdroje informací Otázky a příklady k procvičení

Zdroje informací Váňa, V. Mikrokontroléry ATMEL AVR; popis procesorů a instrukční soubor. Ben technická literatura, Praha, 2003, ISBN 80-7300-083-0. Gadre, D.V. Programming and Customizing the Avr Microcontroller. McGraw-Hill, New York (USA), 2001, ISBN 0-07-134666-X. Tocci, R.J. Microprocessors and Microcomputers. Prentice Hall, New Jersey (USA), 2003, ISBN 0-13-060904-8.

Zdroje informací Barnett, R., O Cull, L., Cox, S. Embedded C Programming and the Atmel AVR, 2e. Thomson Delmar Learning, New York (USA), 2006, ISBN 1-4180-3959-4. Intel. Oficiální stránky firmy Intel, (říjen 2007). http://www.intel.com/

Obsah přednášky Základní pojmy a terminologie z mikroprocesorové techniky Obecné časové průběhy Obvody s tří-stavovým výstupem Komunikace po sběrnici Adresní, datová a řídicí sběrnice Bloková struktura řady 51, AVR Ukázka programu v JSA a v C pro ATmega16 Ovládání vstupně/výstupního portu Zdroje informací Otázky a příklady k procvičení

Otázky a příklady k procvičení 1. Jaké hodnoty vyjadřuje následující zápis v mikroprocesorové technice 2k =?; 3k =?; 4k =?; 8k =? 2. Uvažujte obvod tří-stavového invertoru. Nakreslete symbolickou značku tohoto obvodu a sestavte funkční tabulku jeho vstupů a výstupu. 3. Navrhněte principiální zapojení obousměrné komunikace dvou 8bitových zařízení s mikrokontrolérem (nakreslete schéma). Naznačte časový diagram všech nutných signálů pro přenos dat po sběrnici a) od 1 zařízení k mikrokontroléru, b) od mikrokontroléru k oběma zařízením (uvažujte 1B slovo pro přenos). 4. 8bitový shift registr X obsahuje data 1011 0010. Jaký obsah bude mít tento registr po vykonaných 5 časových pulzech? (Sériový vstup registru periodicky střídá hodnotu 0 a 1.)