Pocítacové systémy - Jednocipové mikropocítace (mikrokontroléry)

Transkript

Pocítacové systémy - Jednocipové mikropocítace (mikrokontroléry)
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Počítačové systémy
Jednočipové mikropočítače (mikrokontroléry)
Miroslav Flídr
Počítačové systémy LS 2006
-1/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Co je mikrokontrolér
➢ integrovaný obvod, který je často součástí vestavného systému
➢ určen k vykonávání specifické činnosti ⇒ menší a jednodušší, tak aby
se vše vešlo na jeden čip
➢ navržen jako soběstačný a nezávislý
➢ důležitým kriteriem návrhu je nízká cena a spotřeba
➢ je možné je nalézt v domácích spotřebičích, automobilech, měřicích a
řídicích systémech
Obecné schéma mikrokontroléru
Memory
(program code)
CPU
Input
port
Output
port
Memory
(data)
Miroslav Flídr
Počítačové systémy LS 2006
-2/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Charakteristika mikrokontrolérů
➢ obsahují procesor, paměti RAM a ROM, V/V porty a čítače/časovače
➢ jednoduché (stále převážně osmibitové) počítače v jediném pouzdře
➢ vyžadují minimum vnějších součástek (nebo dokonce žádné)
➢ "programovatelná" funkce jednotlivých vývodů (vstup, výstup, vstupy
čítače, přerušení, komparátoru, A/D převodníku . . . )
➢ zpravidla navrženy podle harwardské architektury
Základní typy mikrokontolérů
➢ velmi se rozšířil typ 8048 firmy Intel z roku 1976, který obsahuje CPU,
1 KB ROM pro program, 64 B RAM pro data
➢ dnešním "standardem" je typ 8051, který v různých modifikacích
vyrábí řada výrobců (Atmel, Philips, Dallas, Siemens . . . )
➢ rozšířené jednočipy s RISC architekturou:
➫ PIC (Microchip) - velmi jednoduchý, 30-40 instrukcí
➫ MC68Hxx (Motorola)
➫ AVR (Atmel)
Miroslav Flídr
Počítačové systémy LS 2006
-3/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Charakteristika mikrokontroléru MCS-48
➢ pamět’ programu o velikosti 1–4kB (ROM nebo EPROM)
➢ datová pamět’ o velikosti 64, 128 nebo 256 B
➢ 27 linek seskupené do tří 8mi bitových V/V portů + 3 testovací vstupy
➫ porty 1, 2
kvazi obousměrné
plně kompatibilní s TTL
třístavový výstup
výstupní data uchována do dalšího zápisu (statický výstupní
port)
vstupní data musí být podržena až po zavolání obslužné
instrukce
➫ sběrnice
plně obousměrný port řízený signály /RD,/WR
může pracovat stejným způsobem jako porty 1, 2
➫ vstupy T0, T1, /INT - umožňují větvení programů
➢ 12ti bitový PC implementovaný párem bytů paměti programu
Miroslav Flídr
Počítačové systémy LS 2006
-4/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
ON CHIP 8050AH
1024
1023
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
ON CHIP 8049AH
ON CHIP 8048AH
Mapy pamětí mikrokontroléru MCS-48
8
LOCATION 7 −
TIMER INTERRUPT
VECTORS
PROGRAM HERE
4095
7
6
5
3
2
1
ON CHIP 8050AH
0 7
6
1024
1023
5
4
3
2
1
ON CHIP 8049AH
ON CHIP 8048AH
BANK 1
WORKING
REGISTERS
8 × 8
R1’
R0’
RESET VECTORS
PROGRAM HERE
0
24
23
ADDRESS
8 LEVEL STACK
OR
USER RAM
16 × 8
LOCATION 7 −
TIMER INTERRUPT
VECTORS
PROGRAM HERE
8
7
6
5
LOCATION 3 −
EXTERNAL
INTERRUPT
VECTORS
PROGRAM HERE
4
3
2
1
0 7
6
5
4
3
2
1
0
RESET VECTORS
PROGRAM HERE
ADDRESS
Miroslav Flídr
USER RAM
32 × 8
(96 × 8)
((224 × 8))
LOCATION 3 −
EXTERNAL SEL MB1
INTERRUPT SEL MB0
VECTORS
PROGRAM HERE
2048
2047
4
63
(127)
((255))
63
(127)
8
((255))
7
0
BANKUSER
0 RAM
WORKING
32 × 8
REGISTERS
(96 × 8)
8 ((224
× 8 × 8))
R1
R0 BANK 1
WORKING
REGISTERS
8 × 8
DIRECTLY
ADDRESSABLE
WHEN BANK 1
IS SELECTED
ADDRESSED
INDIRECTLY
THROUGH
R1 OR R0
(R0’ OR R1’)
DIRECTLY
ADDRESSABLE
WHEN BANK 0
IS SELECTED
DIRECTLY
ADDRESSABLE
IN ADDITION R0 OR R1 (R0’ OR R1’) WHEN BANK 1
IS SELECTED
R1’ 256
MAY BE USED TO ADDRESS
( ) 8049AH, 8749AH
R0’
WORDS OF24EXTERNAL RAM.
(( )) 8050AH
23
Počítačové systémy LS 2006
-5/17-
8 LEVEL STACK
OR
USER RAM
16 × 8
ADDRESSED
INDIRECTLY
THROUGH
R1 OR R0
Západočeská
(R0’ univerzita
OR R1’) v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Stavový register (PSW)
Saved in stack
CY
➭
➭
➭
➭
AC
F0
Stack pointer
BS
1
S2
S1
S0
CY - carry bit (nastavený při přetečení v akumulátoru)
AC - pomocný carry bit (nastavený instrukcí ADD)
F0 - uživatelem nastavitelný bit
BS - přepínání banky registrů
Práce s datovou pamětí
➢ vše nepřímo adresovatelné přes registry R0 a R1 (reps. R0’ a R1’)
➢ dvě banky po osmi přímo adresovatelných registrů (přepínány
nastavením příznaku ve stavovém slovu)
➢ adr. prostor 008h–023h používán bud’ jako zásobník nebo uživatelská
pamět’ (ukládá se na něj 12 bitů PC a 4 bity PSW – CY,AC,F0,BS)
➢ buňka zásobníku dána ukazatelem ve stavovém slovu o velikosti 3 bity
Miroslav Flídr
Počítačové systémy LS 2006
-6/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Control and
timing
XTAL2
XTAL1
PSEN
RD
WR
EA
RST
ALE
Obecné schéma MCS-51
Clock
I/O Port
0
I/O Port
1
I/O Port
2
I/O Port
3
CPU
Interupt
Controller
INT0
Miroslav Flídr
INT1
Timer/Counter 0
Serial
channel
Timer/Counter 1
T1
Počítačové systémy LS 2006
Program
Memory
Data
Memory
+
SFR
T0 TxD RxD
-7/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Charakteristiky rodiny mikrokontrolérů MCS-51
➢ datová pamět’ o velikosti 64, 128 nebo 256 B RAM
➢ pamět’ programu o velikosti 1-64 KB (ROM, EPROM, Flash) - různé
kombinace vnější a vnitřní paměti (dáno signály /EA, /PSEN)
➢ 4 banky po 8 registrech
➢ 8mi bitová datová a 16ti bitová adresní sběrnice
➢ instrukční sada optimalizovaná pro jednobitové operace
➢ 2 a více 16-bitových programovatelných čítačů/časovačů
➢ mnoho vstupů/výstupů
➢ full-duplexní sériový port
➢ 5-8 zdrojů přerušení (od vstupů INT0,INT1, čítače, sériového
kanálu,. . . ) s definovanou prioritou ve dvou úrovních
➢ další možné vybavení – A/D, D/A převodníky, komparátor, watchdog,
pulse-width modulátor (PWM), sběrnice USB, I2 C, CAN
Miroslav Flídr
Počítačové systémy LS 2006
-8/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Práce s pamětí
Organizace paměti mikrokontroléru MCS-51
FFFFH
MCS−51
Internal
RAM
External
memory
(64kB)
SFR
Internal
program
memory
FFFFH
External
RAM
External
program
memory
0000H
External
memory
(60kB)
OR
1000H
0FFFH
Internal
memory
(4kB)
0000H
EA=1
EA=0
Pamět’ programu
➢ pamět’ programu maximálně 64KB a to v různých kombinacích
interních a externích pamětí (interní 0kB, 4kB, 8kB nebo 16kB)
➢ externí programová pamět’ (realizována pomocí EPROM) použita
velmi často z cenových důvodů
➢ k přenosu dat mezi MCU a vnější pamětí použity porty 0 a 2
(multiplexovaný port 0 pro data nebo dolní byte PC)
Miroslav Flídr
Počítačové systémy LS 2006
-9/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Práce s pamětí
Organizace paměti mikrokontroléru MCS-51
7FH
MCS−51
Internal
RAM
FFH
General user memory
& stack space
(80 bytes)
External
RAM
30H
SFR
Region of bit
memory
Extended user memory
& stack space
(80 bytes)
Register Bank 3
Special Function registers
OR
20H
18H
Internal
program
memory
External
program
memory
Register Bank 2
10H
Register Bank 1
08H
Register Bank 0
00H
80H
Vnitřní datová pamět’
➢
➢
➢
➢
➢
➢
Miroslav Flídr
čtyři banky po osmi bytových registrů (R0 – R7)
registry z neaktivní banky dostupné přímým adresováním
výběr banky dle nastavení bitů RS0, RS1 ve stavovém slově
oblast paměti přístupné po jednotlivých bitech (speciální instrukce)
zbylá vnitřní datová pamět’ využita jako zásobník nebo volná
některé registry speciálních funkcí též bitově adresovatelné
Počítačové systémy LS 2006
-9/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Práce s pamětí
Registry speciálních funkcí - Určité pamět’ové místo, kde se soustřed’ují
důležité informace o stavu mikroprocesoru a jeho periferních obvodů, ale
zároveň i informace ovlivňující jeho další činnost.
Vybrané registry speciálních funkcí
➢ bitově adresovatelné registry (adresa dělitelná osmi)
➭ akumulátor ACC (E0H), registr B (F0H),
➭ Program Status Word PSW (D0H)
➭ vstupně/výstupní porty P0–P3 (80H, 90H, A0H, B0H)
➭ řízení priority přerušení IP (B8H)
➭ řízení povolení přerušení IE (A8H) – nižších 7 bitů povoluje
jednotlivá přerušení, nejvyšší bit povolí všechna
➭ registr módu a řízení sériového kanálu SCON (98H)
➭ registr řízení časovače/čítače TCON (88H)
➢ ukazatel zásobníku SP (81H)
➢ registry DPL (82H), DPH (83H) – nepřímé adresování vnější paměti
➢ registr sériového kanálu SBUF – Serial Data Buffer (99H)
C
Miroslav Flídr
Počítačové systémy LS 2006
-10/17-
AC
F0
RS1
RS0
OV
−
P
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Práce s pamětí
Čtení instrukcí z externí programové paměti
MCS−51
EPROM
Instruction
P0
P1
EA
Address
latch
ALE
Address
P3
P2
PSEN
OE
Přístup do externí datové paměti
MCS−51
External
RAM
Data
P0
P1
EA
Vcc
Address
latch
ALE
Address
RD
P3
P2
WR
Miroslav Flídr
Počítačové systémy LS 2006
Page bits
I/O
WE
-11/17-
OE
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Vstupně výstupní porty
Použití portů
➢
➢
➢
➢
Port 0 - používá se zejména pří styku s vnější pamětí
Port 1 - nemá žádnou alternativní funkci, tj. lze jej používat libovolně
Port 2 - zejména slouží spolu s P0 ke komunikaci s vnější pamětí
Port 3 - všechny piny portu 3 jsou vícefunkční (poskytuje své piny pro
potřeby jiným vnitřním obvodům mikroprocesoru)
Pin
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
Alternativní funkce
RXD (serial input)
TXD (serial output)
/INT0 (external interrupt)
/INT1 (external interrupt)
T0 (Timer/Counter 0 external input)
T1 (Timer/Counter 1 external input)
/WR (external Data Memory write strobe)
/RD (external Data Memory read strobe)
Každý pin kteréhokoliv portu může být nezávisle používán jako vstupní
nebo jako výstupní.
Miroslav Flídr
Počítačové systémy LS 2006
-12/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Charakteristika MCU PIC PIC16F84
➢ 8-bit MCU s RISC architekturou
➢ pamět’ programu realizována Flash pamětí (1024 slov po 14bitech)
➢ 2 paměti dat
typu RAM pro data vykonávaného programu ve dvou bankách
(rozsah 0CH–4FH resp. 8CH–CFH)
64B EEPROM uchovávající důležitá data (nepřímé adresování)
➢ Special Function Registers (rozsah 00H–0BH resp. 80H–8BH )
➢ komunikace s okolím přes PORTA (5 bitů) a PORTB (8 bitů)
➢ 8mi bitový časovač (inkrementován v každém 4 cyklu)
➢ stavový register
➢ čtyři zdroje přerušení
ukončení zápisu dat do EEPROM
přerušení TMR0 vyvolané přetečením čítače
přerušení při změně pinů RB4, RB5, RB6 a RB7 na PORTB
vnější přerušení na pinech MCU RB0/INT
IRP
Miroslav Flídr
Počítačové systémy LS 2006
RP1
RP0
T0
PD
Z
DC
-13/17-
C
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Organizace paměti
Miroslav Flídr
Počítačové systémy LS 2006
-14/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Základní charakteristika
➢ RISC architektura (cca. 60 instrukcí,optimalizováno pro vyšší
programovací jazyky (AVR-GCC)
➢ 32 8-bitových registrů přímo spojených s ALU (adresní prostor
00h-1fh); žádný akumulátor
➢ zásobník umístěn v datové paměti a není omezena jeho velikost
➢ 1-3 čítače/časovače (8/16-ti bitové)
➢ 2 úsporné režimy
➫ sleep - CPU stojí, čítače a přerušení funguje; spotřeba <0,5 mA
➫ power-down - zastaví CPU až do dalšího resetu, ale zachová obsah
registrů; spotřeba <1 µA
➢ 2-12 zdrojů přerušení (z toho 1-2 vnější, až 4 zdroje od časovače/čítače,
3 zdroje sériového rozhraní,jeden od komparátoru)
➢ ochranný mechanizmus proti vykrádání softwaru
Miroslav Flídr
Počítačové systémy LS 2006
-15/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Podporovaná rozhraní
➢
➢
➢
➢
➢
➢
Miroslav Flídr
4 osmi bitové obousměrné porty
většinou obsahuje sériové rozhraní
bytově orientovaná dvouvodičová sériová linka
některé typy obsahují 6- či 8-kanálový 10-bitový A/D převodník, PWM
analogový komparátor
watchdog
Počítačové systémy LS 2006
-16/17-
Západočeská univerzita v Plzni
Obecná charakteristika mikrokontrolérů
MCS-48 (Intel 8048)
MCS-51 (Intel 8051)
Microchip PIC PIC16F84
Atmel AVR
Shrnutí
Vlastnosti podporující nasazení mikrokontrolérů
➢
➢
➢
➢
➢
➢
Miroslav Flídr
umožňují redukovat složitost návrhu zařízení
nízká spotřeba
možnost uspání a opětovného rychlého náběhu
integrace složitých periférií
vlastnosti zaručující spolehlivost
úspory nákladů
Počítačové systémy LS 2006
-17/17-
Západočeská univerzita v Plzni

Podobné dokumenty

Optozávora

Optozávora Rychlost odezvy: Vnìjší rozmìry: 27 x

Více

Zobrazení čísel v počítači

Zobrazení čísel v počítači sečtou se hodnoty čísel a zachová se znaménko k přetečení dojde jestliže součet hodnot je větší než 2(n−1) − 1 ➢ sčítaní při různých znaménkách sčítanců: nalezne se číslo s větší absol...

Více

Klapky

Klapky oA‘&'2’)($+'2K+L$)Ay*9&$K'L)9@;*)vB$|*9&$&8’A)L$K89$8A‘&'2MH$2$&N2q(8,)($K89&w(M($qNw&“H)LB$7'2K+L$:A)“(M”$ 89N:;8t$y*9&$qL{2qA)L$yAw)(:$'H*@A:3$’@L<”82))v$+'2K+L$q;@“(M”$89N:;8t$y*9&$ Více

Kontrolní otázky ke zkoušce MIP

Kontrolní otázky ke zkoušce MIP Kde je v paměťovém prostoru umístěn ukazatel zásobníku „stack pointer“? Jak se mění ukazatel zásobníku - „Stack pointer“ (SP) po zápisu do zásobníku? Může být zásobník umístěn v prostoru vnější dat...

Více

ABSOLVENTSKÁ PRÁCE

ABSOLVENTSKÁ PRÁCE Maximální zkratový proud vysílače je 150 mA proti zemi, 250 mA proti 12 V

Více

4. Procesor a jeho konstrukce. Vývojové typy, činnost procesoru

4. Procesor a jeho konstrukce. Vývojové typy, činnost procesoru Jádrem procesoru je logický obvod, který dokáže zpracovat sadu mikroinstrukcí. Napsat program v mikroinstrukcích není jednoduché, proto se procesory vybavují sadou instrukcí a obsahují program pro ...

Více