30
Návrh elektronických přístrojů 1 Microchip Microchip PICmicro® Microcontrollers 8-bit 16-bit dsPIC® Digital Signal Controllers Analog & Interface Products Serial EEPROMS Battery Management Radio Frequency Device KEELOQ® Authentication Products

Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Embed Size (px)

Citation preview

Page 1: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 1

MicrochipMicrochipPICmicro® Microcontrollers

8-bit16-bit

dsPIC® Digital Signal ControllersAnalog & Interface ProductsSerial EEPROMSBattery ManagementRadio Frequency DeviceKEELOQ® Authentication Products

Page 2: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 2

PIC 16F690PIC 16F6908-bit CMOS mikrokontrolérRISC instrukční sada35 instrukcí1 cyklus na instrukci (s výjimkou skoků) Operační rychlost:

20 MHz oscilátorStandby Current:

1 nA @ 2.0V, typicalOperating Current:

20μA @ 32 kHz, 2.0V, typical<1 mA @ 4 MHz, 5.5V, typical

Watchdog Timer Current:<1μA @ 2.0V, typical

Page 3: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 3

ElektrickElektrickáá specifikace, meznspecifikace, mezníí hodnotyhodnotyAmbient temperature under bias -40° to +125°CStorage temperature -65°C to +150°CVoltage on VDD with respect to VSS -0.3V to +6.5VVoltage on MCLR with respect to Vss -0.3V to +13.5VVoltage on all other pins with respect to VSS -0.3V to (VDD + 0.3V)Total power dissipation 800 mWMaximum current out of VSS pin 300 mAMaximum current into VDD pin 250 mAInput clamp current, IIK (VI < 0 or VI > VDD) ± 20 mAOutput clamp current, IOK (Vo < 0 or Vo >VDD) ± 20 mAMaximum output current sunk by any I/O pin 25 mAMaximum output current sourced by any I/O pin 25 mAMaximum current sunk by PORTA, PORTB and PORTC (combined)

200 mAMaximum current sourced PORTA, PORTB and PORTC (combined)

200 mA

Page 4: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 4

ElektrickElektrickáá specifikacespecifikace

Page 5: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 5

ElektrickElektrickáá specifikacespecifikace

Page 6: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 6

PIC 16F690 PIC 16F690 –– blokovblokovéé schschéémama

Page 7: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 7

PIC 16F690 PIC 16F690 –– blokovblokovéé schschéémama

Page 8: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 8

Organizace pamOrganizace paměěti ti –– programprogram4k paměti programu typu FLASH,paměť programu má 14-bitovou šířkuProgramové 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.

Page 9: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 9

Organizace Organizace pampaměěti ti –– datadataPaměť 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).

Page 10: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 10

SpeciSpeciáálnlníí funkfunkččnníí registryregistryPro 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í.

Page 11: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 11

Page 12: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 12

Page 13: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 13

Page 14: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 14

Page 15: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 15

Status Status RegisterRegister

Page 16: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 16

SystSystéémovmovéé hodiny procesoruhodiny procesoruKaž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

Page 17: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 17

SystSystéémovmovéé hodiny procesoruhodiny procesoru

Page 18: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 18

FailFail--Safe Safe ClockClock MonitorMonitor

Page 19: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 19

V/V brV/V bráánynyMikroprocesor 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 jeodpoví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.

Page 20: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 20

PORTAPORTA

Page 21: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 21

ČČíítatačče a e a ččasovaasovaččeeMikroprocesor PIC16F690 obsahuje tři

moduly čítačů a časovačů označených:Timer0Timer1Timer2

Page 22: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 22

Modul Timer0Modul Timer08-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

Page 23: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 23

Modul Timer1Modul Timer116-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.

Page 24: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 24

Modul Timer2Modul Timer28-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.

Page 25: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 25

Modul komparModul komparáátorutoruModul 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.

Page 26: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 26

BlokovBlokovéé zapojenzapojeníí C1C1

Page 27: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 27

BlokovBlokovéé zapojenzapojeníí C2C2

Page 28: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 28

Modul pModul přřevodnevodnííku A/Dku A/DModul 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í.

Page 29: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 29

EUSART a SSPEUSART a SSPRozšířené rozhraní pro synchronní a asynchronní příjem a vysílání.Synchronní sériový port

SPI ModeIIC Mode

Page 30: Microchip - umel.feec.vutbr.cz PIC16F690 obsahuje tři moduly čítačůa časovačůoznačených: ... Interrupts Watchdog Timer

Návrh elektronických přístrojů 30

DalDalšíší rozrozšíšířřenenííReset

Power-on Reset (POR)Power-up Timer (PWRT)Oscillator Start-up Timer (OST)Brown-out Reset (BOR)

InterruptsWatchdog Timer (WDT)Oscillator selectionSleepCode protectionID LocationsIn-Circuit Serial Programming