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
PIC 16F690
8-bit CMOS mikrokontrolér RISC instrukční sada 35 instrukcí 1 cyklus na instrukci (s výjimkou skoků) Operační rychlost:
Standby Current:
1 nA @ 2.0V, typical
Operating Current:
20 MHz oscilátor
20μA @ 32 kHz, 2.0V, typical <1 mA @ 4 MHz, 5.5V, typical
Watchdog Timer Current:
<1μA @ 2.0V, typical 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í 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é 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é 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 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
Modul Timer0
8-bitový časovač/čítač, 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
Modul Timer2
8-bitový časovač (registr TMR2), 8-bitový periodický registr (PR2), 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ř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