Pocítacové systémy - Jednocipové mikropocítace (mikrokontroléry)
Transkript
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
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...
Klapky
oA&'2)($+'2K+L$)Ay*9&$K'L)9@;*)vB$|*9&$&8A)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
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...
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 ...