Microchip PICmicro Microcontrollers 8-bit 16-bit dspic Digital Signal Controllers Analog & Interface Products Serial EEPROMS Battery Management Radio Frequency Device KEELOQ Authentication Products Návrh elektronických přístrojů 1
8-bit CMOS mikrokontrolér RISC instrukční sada 35 instrukcí 1 cyklus na instrukci (s výjimkou skoků) Operační rychlost: 20 MHz oscilátor Standby Current: 1 na @ 2.0V, typical Operating Current: 20μA @ 32 khz, 2.0V, typical <1 ma @ 4 MHz, 5.5V, typical Watchdog Timer Current: <1μA @ 2.0V, typical PIC 16F690 Návrh elektronických přístrojů 2
Elektrická specifikace, mezní hodnoty Ambient temperature under bias -40 to +125 C Storage temperature -65 C to +150 C Voltage on VDD with respect to VSS -0.3V to +6.5V Voltage on MCLR with respect to Vss -0.3V to +13.5V Voltage on all other pins with respect to VSS -0.3V to (VDD + 0.3V) Total power dissipation 800 mw Maximum current out of VSS pin 300 ma Maximum current into VDD pin 250 ma Input clamp current, IIK (VI < 0 or VI > VDD) ± 20 ma Output clamp current, IOK (Vo < 0 or Vo >VDD) ± 20 ma Maximum output current sunk by any I/O pin 25 ma Maximum output current sourced by any I/O pin 25 ma Maximum current sunk by PORTA, PORTB and PORTC (combined) 200 ma Maximum current sourced PORTA, PORTB and PORTC (combined) 200 ma Návrh elektronických přístrojů 3
Elektrická specifikace Návrh elektronických přístrojů 4
Elektrická specifikace Návrh elektronických přístrojů 5
PIC 16F690 blokové schéma Návrh elektronických přístrojů 6
PIC 16F690 blokové schéma Návrh elektronických přístrojů 7
Organizace paměti program 4k paměti programu typu FLASH, paměť programu má 14-bitovou šířku Programové instrukce uložené v paměti programu jsou adresovány pomocí 13-bitového počítadla programu (Program Counter - PC), Po resetu procesoru je počáteční hodnota v PC 0x0000 a ukazuje tedy na začátek paměti. Protože při vyvolání všech hardwarových přerušení dojde k nastavení PC na 0x0004 je nutné zajitit aby nedošlo k promíchání programových procedur. Návrh elektronických přístrojů 8
Organizace paměti data Paměť programu je rozdělena do čtyř sekcí (bank), které obsahují pracovní registry (GPR) a peciální funkční registry (SFR). Speciální funkční registry jsou umístněny na prvních 32 pozicích každé ze 4 registrových bank. Oblasti 0x20 až 0x7F paměťové banky 0 a 0xA0 až 0xEF jsou pracovní registry implementované ve statické paměti RAM. Pozice 0xF0 až 0xFF v Bance 1, 0x170 až 0x17F v Bance 2 a 0x1F0h až 0x1FF v Bance 3 pouze ukazují na oblast 0x70 až 0x7F v Bance 0. Soubor registrů je organizován jako pole 256 x 8. Ke každému registru můžeme přistupovat přímo i nepřímo (pomocí registrů INDF a FSR). Návrh elektronických přístrojů 9
Speciáln lní funkční registry Pro nastavení požadovaného chování procesoru a vestavěných periferií slouží Speciální Funkční Registry. Tyto registry jsou vlastně pamětí typu SRAM. Jejich nejjednodušším dělením je právě na SFR jádra procesoru a jednotlivých periferií. Návrh elektronických přístrojů 10
Návrh elektronických přístrojů 11
Návrh elektronických přístrojů 12
Návrh elektronických přístrojů 13
Návrh elektronických přístrojů 14
Status Register Návrh elektronických přístrojů 15
Systémov mové hodiny procesoru Každý procesor stejně jako libovolný logický sekvenční obvod vyžaduje pro svoji činnost zdroj systémového hodinového signálu. Těmi mohou být externí oscilátor, keramický rezonátor, RC člen, nebo dva interní zdroje 8 MHz (kalibrovatelný v rozsahu ±12% pomocí registru OSCTUNE) a nízké frekvence 31kHz (nekalibrovatelný). Rychlost interního zdroje hodinového signálu lze řídit pomocí příslušného SFR. Velmi užitečná je automatická detekce selhání externího oscilátoru (tzv. Fail-Safe Clock Monitor - FSCM) a automatického přepnutí na jiný (interní) zdroj hodinového signálu. Jako zdroj hodinového signálu tedy může sloužit: EC Externí zdroj hodinového signálu s využitím pinu RA4 jako I/O brány. LP 32 khz nízkopříkonový mód s využitím krystalu. XT Krystal, nebo keramický rezonátor se středním ziskem. HS Krystal, nebo keramický rezonátor s vysokým ziskem. RC Externí RC obvod s FOSC/4 na RA4. RCIO Externí RC obvod s využitím pinu RA4 jako I/O brány. INTOSC Interní oscilátor s FOSC/4 na RA4 a s využitím pinu RA5 jako I/O brány. INTOSCIO Interní oscilátor s využitím pinů RA4 a RA5 jako I/O bran. Zdroj systémových hodin procesoru je nastaven bity FOSC[2:0] registru CONFIG Návrh elektronických přístrojů 16
Systémov mové hodiny procesoru Návrh elektronických přístrojů 17
Fail-Safe Clock Monitor Návrh elektronických přístrojů 18
V/V brány Mikroprocesor PIC16F690 18 v/v bran. Pokud využíváme integrované periferie (převodník A/D, komparátory, oscilátory) počet použitelných digitálních v/v bran klesá. Port A, B a C. Port A sdružuje šest, port B čtyři a port C osm V/V bran. Pro nastavení orientace bran slouží registry TRISA, TRISB a TRISC. Nastavením odpovídajícího bitu v registru TRISA/B/C do log. 0 dojde k nastavení příslušné brány jako výstupu a naopak při nastavení log 1 je odpovídající brána nastavena jako vstupní. Vyjímkou je brána RA3, která je jako jediná pouze branou vstupní a pokud je MCLRE = 1, je její hodnota je vždy čtena jako log. 0. Odpovídající bit registru TRISA[3] není možné změnit a je pevně nastaven do log. 1. Registry TRISA/B/C nastavují orientaci bran procesoru a to i v případě, že jsou nastaveny jako analogové. Hodnota brány, která je nastavená pro analogovou funkci je vždy přečtena jako log. 0 Všechny brány portů A a B jsou schopny vyvolat přerušení při změně logické úrovně. Ke každé V/V bráně je možné připojit interní pull-up rezistor. Každá brána procesoru má i nějakou svoji speciální funkci (vstup převodníku AD, vstup komparátor, komunikační linky, programovací linka). Brána RA0 umožňuje navíc Ultra Low-Power Wake-up. Návrh elektronických přístrojů 19
PORTA Návrh elektronických přístrojů 20
Čítače e a časovače Mikroprocesor PIC16F690 obsahuje tři moduly čítačů a časovačů označených: Timer0 Timer1 Timer2 Návrh elektronických přístrojů 21
8-bitový časovač/čítač, Modul Timer0 8-bitová programovatelná dělička, interní nebo externí zdroj hodinového signálu, přerušení při přetečení z hodnoty FFh na hodnotu 00h, výběr hrany externího hodinové signálu Návrh elektronických přístrojů 22
Modul Timer1 16-bitový časovač/čítač (TMR1H:TMR1L), interní nebo externí zdroj hodinového signálu, synchronní nebo asynchronní funkce, přerušení při přetečení z hodnoty FFFFh na hodnotu 0000h, probuzení procesoru v závislosti na přetečení (asynchronní mód), volitelný externí bit povolení, volitelný LP oscilátor. Návrh elektronických přístrojů 23
8-bitový časovač (registr TMR2), 8-bitový periodický registr (PR2), Modul Timer2 softwarově programovatelné před dělička (1:1, 1:4, 1:16), softwarově programovatelné post dělička (1:1 až 1:16), přerušení TMR2 v porovnání PR2. Návrh elektronických přístrojů 24
Modul komparátoru Modul komparátoru obsahuje dva nezávislé napěťové komparátory C1 a C2. Oba dva napěťové komparátory mají vlastní kontrolní a konfigurační registry (CM1CON0 pro C1, CM2CON0 a CM2CON1 pro C2), jimiž lze nastavit výstupní logické úrovně komparátorů, povolit přerušení, povolit probuzení mikroprocesoru z režimu SLEEP, nebo použití komparátorů pro generování PWM signálu. Výstupy analogových komparátorů je možné vyvést na příslušné brány mikroprocesoru a tím jejich stav použít pro zpracování navazujícími obvody. Aby bylo možné využít generování PWM signálu je možné komparátor C2 připojit na bránu časovače T1. Tohoto připojení je také využito pro synchronizaci výstupu komparátoru s hodinovým vstupem časovače T1 (ovšem pouze komparátor C2). Interní výstup komparátoru je aktualizován vždy s nástupnou hranou systémových hodin. Externí výstup se může změnit okamžitě při změně stavu. Vstupy komparátorů jsou vybírány multiplexerem 4:1, jako referenční napětí lze použít napětí na příslušných vystupních branách nebo interní napěťovou referenci. Návrh elektronických přístrojů 25
Blokové zapojení C1 Návrh elektronických přístrojů 26
Blokové zapojení C2 Návrh elektronických přístrojů 27
Modul převodnp evodníku A/D Modul převodníku A/D umožňuje převod analogové vstupní veličiny na 10-bitovou digitální reprezentaci. Mikrokontrolér obsahuje 12 analogových vstupů a dva interní. Napěťová reference použitá pro převod programově zvolena mezi napájecím nebo externím zdrojem referenčního napětí. Návrh elektronických přístrojů 28
EUSART a SSP Rozšířené rozhraní pro synchronní a asynchronní příjem a vysílání. Synchronní sériový port SPI Mode IIC Mode Návrh elektronických přístrojů 29
Další rozší šíření Reset Power-on Reset (POR) Power-up Timer (PWRT) Oscillator Start-up Timer (OST) Brown-out Reset (BOR) Interrupts Watchdog Timer (WDT) Oscillator selection Sleep Code protection ID Locations In-Circuit Serial Programming Návrh elektronických přístrojů 30