Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Výchozím místem pro opakování je blokové schéma . . .
MicroChip PIC16F877 „snadno a rychle“ Výchozím místem pro opakování je blokové schéma . . . L. Š.
2
PC Program Memory RWM Stack SFR MUX FSR Status MUX Master Control ALU
I/O Ports Program Memory Address Bus RWM Stack SFR Timers IndirectAddress WDT Program Bus Address Bus MUX Data Bus Instruction Register FSR A/D Convert Direct Address Constant Status Data EEPROM Instruction Decode MUX Master Control CCP PWM Timing Generator ALU Interrupt System W register Seriál Ports
3
Čítač instrukcí MicroChip L. Š.
V průběhu činnosti monolitického mikropočítače generuje adresu zpracovávané instrukce. Jsou-li instrukce realizovány sekvenčně je obsah čítače instrukcí po každé provedené instrukci inkrementován. Při skocích a volání podprogramů se jeho obsah mění skokově viz. Adresová sběrnice paměti programu. L. Š. Zpět
4
MicroChip Zásobník Zásobník slouží k odkládání návratových adres (jsou to 13b slova) pro návrat z podprogramů a obsluhy přerušení. Zásobník je 8-mi úrovňový a adresy v něm uložené nelze přepisovat. Při snaze o deváté vnořené volání však dojde k přepsání první návratové adresy a program takzvaně zbloudí (tato „chyba“ není ošetřena). vnoření adresa 1. 000 001 3. 010 4. 011 5. 100 6. 101 7. 110 8. 111 9. L. Š. Zpět
5
Adresování paměti programu …
MicroChip Adresování paměti programu … Čítač programu je 13-ti bitový. Jeho dolních 8 bitů je přístupno prostřednictvím registru PCL. Horní bity „PCH“ nejsou přístupny přímo, ale pouze zprostředkovaně využitím registru PCLATH. Registr PCLATH je 5-ti bitový … ( PCLATH = PCH = PC – PCL = 13 – 8 = 5 ). L. Š.
6
… adresování paměti programu
MicroChip … adresování paměti programu 1) Při skoku vyvolaném zápisem do PCL je využíváno všech 5 bitů PCLATH. 2) Při volání „call“ a skocích „goto“ se z PCLATH využívají pouze dva bity. Celá návratová adresa (13 bitů) je uložena v zásobníku (STACK) => při návratu není potřeba manipulovat s obsahem PCLATH. 1) 2) L. Š. Zpět
7
Paměť programu … MicroChip L. Š.
V paměti programu jsou uloženy instrukce, které budou postupně vykonávány. (Druh a pořadí instrukcí stanovil programátor při tvorbě programu.) Adresová sběrnice paměti programu je 13b široká. Umožňuje adresovat prostor o velikosti 213=8192 slov. (Do paměti lze zde uložit až 8192 instrukcí.) Paměť programu o velikosti (2000)H ~ (8192)D je rozdělena do čtyř stránek o velikosti (800)H ~ (2048)D slov o velikosti 14 bitů. Resetovací vektor je nastaven na adresu 0. (To znamená, že po inicializaci je program vykonáván počínaje instrukcí umístěnou na adrese 0.) L. Š.
8
… paměť programu MicroChip L. Š.
Při volání podprogramu „call“ (i přerušení) a skocích v programu „goto“ je použito pouze dolních 11 bitů adresy => je tady umožněn přesun pouze v rámci jedné stránky paměti o velikosti 211=2048 (2k slova). Při zápisu do dolní části čítače instrukcí je velikost stránek 28=256 slov. L. Š. Zpět
9
Programová sběrnice MicroChip L. Š.
Programová sběrnice má šířku 14b, umožňuje tedy přenášet instrukce z paměti programu do registru instrukcí. Další podrobnosti viz. Adresování paměti programu. L. Š. Zpět
10
Registr instrukcí MicroChip L. Š.
V průběhu zpracovávání programu obsahuje registr instrukcí právě zpracovávanou instrukci. Instrukce jsou do registru instrukcí postupně načítány z paměti programu. Pořadí načítání instrukcí je závislé na pořadí instrukcí v paměti programu a je ovlivňováno skokovými instrukcemi, voláním podprogramů a funkcí přerušovacího systému. L. Š. Zpět
11
Dekodér instrukcí MicroChip L. Š.
Dekodér instrukcí pracuje s kódem instrukce, který je uložen v registru instrukcí. Kód instrukce je dekodérem dešifrován. Dekodér instrukcí je hlavní řídící prvek v monolitickém mikropočítači počítači. Dekodér instrukcí ovládá činnost dalších prvků v monolitickém mikropočítači. L. Š. Zpět
12
Konstanta MicroChip L. Š.
Konstanta je 8b hodnota obsažena v instrukci. Konstanta je prostřednictvím datového multiplexeru přesunuta do ALU, případně do W registru. Konstanty bývají využívány k nastavování výchozích hodnot pro činnost různých prvků monolitického mikropočítače, nebo k selektivnímu výběru bitů v bajtech. L. Š. Zpět
13
Adresová sběrnice paměti dat
MicroChip Adresová sběrnice paměti dat Adresová sběrnice paměti programu má šířku 9b, umožňuje tedy adresovat paměťový prostor 29=512 bajtů v prostoru RWM a SFR. Další podrobnosti viz. Adresování paměti dat. L. Š. Zpět
14
Adresový multiplexer MicroChip L. Š.
Multiplexer je elektronický obvod plnící funkci přepínače s několika vstupy a jediným výstupem. Multiplexer v závislosti na řídícím signálu propouští na svůj výstup jeden ze signálů. V určitém časovém okamžiku může být na výstupu multiplexeru pouze jediný ze signálů. Vstupním „signálem“ je v tomto případě přímá 7b adresa (součást instrukce), nebo 8b nepřímá adresa z FSR. Podrobnosti viz. Adresování paměti dat. L. Š. Zpět
15
Adresování paměti dat (přímá adresa) . . .
MicroChip Adresování paměti dat (přímá adresa) . . . Použijeme-li k adresování paměti RWM nebo SFR přímou adresu, je dolních 7b této adresy obsaženo v instrukci. Celková adresa v prostoru RWM a SFR je 9b. K doplnění adresy na požadovaných 9b jsou použity bity RP1 a RP0 z registru STATUS. Prostřednictvím RP1 a RP0 se volí požadovaná stránka paměti. Stránka musí být zvolena před zahájením komunikace (zápis, čtení). Rekapitulace: stránka má velikost~27=128, počet stránek určených RP1 a RP0~22=4, celkový adresovatelný prostor~128*4=29=512. L. Š.
16
… adresování paměti dat
MicroChip … adresování paměti dat Přímá adresa Celková 9-ti bitová adresa vznikne doplněním bitů RP1 a RP0. Kombinace RP1 a RP0 určují banku se kterou se bude komunikovat. L. Š. Zpět
17
Adresování paměti dat (nepřímá adresa) . . .
MicroChip Adresování paměti dat (nepřímá adresa) . . . Použijeme-li k adresování paměti RWM nebo SFR nepřímou adresu, je dolních 8b této adresy obsaženo v registru FSR. Celková adresa v prostoru RWM a SFR je 9b. K doplnění adresy na požadovaných 9b je použit bit IRP z registru STATUS. Vlastní komunikace probíhá tak, že prostřednictvím IRP a FSR nastavíme adresu a zápisem do (čtením z) INDF uskutečníme přenos dat. Rekapitulace: dvojstránka má velikost~28=256, počet dvojstránek určených IRP~21=2, celkový adresovatelný prostor~256*2=29=512. L. Š.
18
… adresování paměti dat
MicroChip … adresování paměti dat Nepřímá adresa Celková 9-ti bitová adresa vznikne: doplněním bitu IRP. Kombinace bitů IRP a b7 určují banku se kterou se bude komunikovat. Bitem IRP lze volit dolní nebo horní dvojici bank. L. Š. Zpět
19
Adresový registr pro nepřímé adresování
MicroChip Adresový registr pro nepřímé adresování FSR slouží k nepřímému adresování prostoru RWM a SFR. Komunikace s RWM a SFR se realizuje prostřednictvím registru INDF. INDF je fiktivní registr (jakési „okno“ jehož pozice v prostoru RWM a SFR se mění v závislosti na adrese uložené v FSR). L. Š. Zpět
20
Energeticky závislá paměť pro data . . .
MicroChip Energeticky závislá paměť pro data . . . Slouží k uložení dat, která µ-počítač zpracovává. Prostor RWM a SFR je rozdělen do čtyř stránek o velikosti 128B (celkový adresovatelný prostor má tedy velikost 4x128=512B). Část prostoru je však vyhrazena pro speciální funkční registry a část slouží k „zrcadlení“ (buňky paměti a SFR jsou přístupné i z jiných stránek) => uživatelská MEM má tedy velikost 368B. L. Š.
21
. . . speciální funkční registry …
MicroChip . . . speciální funkční registry … Souhrnné informace o SFR, které jsou k dispozici se nachází v DS30292A.pdf na straně 13. Zrcadlení SFR Zrcadlení SFR L. Š.
22
… speciální funkční registry
MicroChip … speciální funkční registry Zrcadlení RWM Zrcadlení RWM Z nákresu je zřejmé, že SFR a RWM tvoří jeden celek. L. Š. Zpět
23
Energeticky nezávislá paměť pro data
MicroChip Energeticky nezávislá paměť pro data Do EEPROM pro data jsou vkládány důležité informace, které nesmí být ztraceny ani při přerušení napájení. EEPROM má velikost 256B. Algoritmy zápisu do EEPROM stanovené výrobcem znemožňují náhodné přepsání obsahu. L. Š. Zpět
24
Datová sběrnice MicroChip L. Š.
Datová sběrnice má šířku 8b (šířka datová sběrnice určuje třídu počítače). Datová sběrnice umožňuje přenos dat v rámci prostoru RWM, SFR, ALU, W reg a interními hardware-ovými moduly monolitického mikropočítače. Další podrobnosti viz. Adresování paměti dat. L. Š. Zpět
25
Datový multiplexer MicroChip L. Š.
Multiplexer je elektronický obvod plnící funkci přepínače s několika vstupy a jediným výstupem. Multiplexer v závislosti na řídícím signálu propouští na svůj výstup jeden ze signálů. V určitém časovém okamžiku může být na výstupu multiplexeru pouze jediný ze signálů. Vstupním „signálem“ je v tomto případě 8b konstanta (součást instrukce), nebo 8b hodnota z datové sběrnice. Podrobnosti viz. Bajtově orientované instrukce a instrukce pro práci s konstantami. L. Š. Zpět
26
Aritmeticko logická jednotka
MicroChip Aritmeticko logická jednotka ALU vykonává v závislosti na zpracovávané instrukci aritmetické a logické operace s daty v RWM, SFR a Work registru. Výsledek operace je uložen ve Work registru, nebo v paměťové buňce se kterou se pracuje. Vlivem činnosti ALU mohou být modifikovány bity „Z“, „DC“ a „C“ v registru Status. Činnost ALU je řízena dekodérem instrukcí. L. Š. Zpět
27
Status registr MicroChip L. Š.
Status je hlavním registrem monolitického mikropočítače. Obsahuje různé příznaky, které souvisí s funkcí ALU a dalšími prvky monolitického mikropočítače. Další informace viz. SFR. L. Š. Zpět
28
Work registr MicroChip L. Š.
Jedná se o hlavní registr monolitického mikropočítače. Ke své činnosti jej využívá aritmeticko logická jednotka. Prostřednictvím Work registru se realizují matematické operace a přesuny dat v prostoru RWM a SFR. L. Š. Zpět
29
Speciální funkční registry . . .
MicroChip Speciální funkční registry . . . Systémové registry jsou používány pro nastavení konfigurace činnosti monolitického µ-počítače. Registry jsou umístěny v RAM a část z nich se vztahuje k základním funkcím procesorového jádra, ostatní souvisí s funkcí dalších HW modulů. V popisu registrů se mohou vyskytovat následující doplňkové údaje: R ~ určeno ke čtení W ~ určeno k zápisu 0, 1 ~ výchozí hodnota X ~ neznámá hodnota Je-li bit v registru označen negací, je funkce aktivní při úrovni L. L. Š.
30
… vybrané systémové registry …
MicroChip … vybrané systémové registry … STATUS registr: IRP ~ volba dvojstránky pro nepřímé adresování RP0 a 1 ~ volba stránky pro přímé adresování TO ~ příznak přeplnění WDT PD ~ příznak napájení (instrukce „sleep“) Z ~ příznak nulového výsledku operace DC ~ příznak přenosu do horní tetrády C ~ příznak přenosu z bajtu L. Š.
31
… vybrané systémové registry …
MicroChip … vybrané systémové registry … OPTION_REG registr: RBPU ~ přiřazení interních „pull up“ rezistorů k RB INTEDG ~ výběr hrany pro vnější přerušení (od RB0) 0≈sestupná hrana, 1≈vzestupná hrana T0CS ~ nastavení TMR0 do režimů: 0≈časovač, 1≈čítač se vstupem RA4 T0SE ~ výběr hrany pro inkrementaci TMR0: 0≈vzestupná, 1≈sestupná PSA ~ přiřazení předděliče: 0≈TMR0, 1≈WDT PS2÷0 ~ nastavení dělícího poměru předděliče L. Š.
32
… vybrané systémové registry
MicroChip … vybrané systémové registry Z tabulky vyplývá, že dělící poměr předděliče je závislý i na tom, které zařízení jeho služeb využívá. Vznikne-li potřeba předdělič zcela vyřadit, přiřadíme předdělič WDT a nastavíme dělící poměr 1:1. L. Š.
33
Registry přerušovacího systému …
MicroChip Registry přerušovacího systému … INTCON registr: GIE ~ globální povolení přerušení PEIE ~ povolení přerušení od interních periferních obvodů T0IE ~ povolení přerušení od TMR0 INTE ~ povolení přerušení od vnějšího zdroje (RB0) RBIE ~ povolení přerušení při změně v horní tetrádě RB T0IF ~ příznak přerušení od TMR0 INTF ~ příznak přerušení od vnějšího zdroje (RB0) RBIF ~ příznak přerušení při změně na RB7÷4 L. Š.
34
… registry přerušovacího systému …
MicroChip … registry přerušovacího systému … PIE1 registr: PSPIE ~ povolení přerušení od podřízeného par-ho portu ADIE ~ povolení přerušení od A/D převodníku RCIE ~ povolení přerušení při příjmu sériovým kanálem TXIE ~ povolení přerušení při vysílání sériovým kanálem SSPIE ~ povolení přerušení od sériového syn-ho portu CCP1IE ~ povolení přerušení od záchytného systému TMR2IE ~ povolení přerušení od TMR2 TMR1IE ~ povolení přerušení od TMR1 L. Š.
35
… registry přerušovacího systému …
MicroChip … registry přerušovacího systému … PIR1 registr: PSPIF ~ příznak přerušení čtení nebo zápisu ADIF ~ příznak přerušení při ukončení převodu RCIF ~ příznak přerušení při naplnění buffer-u TXIF ~ příznak přerušení při vyprázdnění buffer-u SSPIF ~ příznak přerušení při komunikaci SPI, I2C, SSP CCP1IF ~ příznak přerušení aktivaci zách., komp. registru TMR2IF ~ příznak přerušení při přeplnění TMR2 TMR1IF ~ příznak přerušení při přeplnění TMR1 L. Š.
36
… registry přerušovacího systému …
MicroChip … registry přerušovacího systému … PIE2 registr: - ~ nevyužitý bit (1) ~ rezervovaný bit EEIE ~ povolení zápisu do EEPROM BCLIE ~ povolení přerušení při kolizi na sér-ém kanálu CCP2IE ~ povolení přerušení od záchytného systému L. Š.
37
… registry přerušovacího systému
MicroChip … registry přerušovacího systému PIR2 registr: - ~ nevyužitý bit (1) ~ rezervovaný bit EEIF ~ zápis do EEPROM ukončen BCLIF ~ kolize na SSP (režim I2C máster mód) CCP2IF ~ příznak aktivace záchytného systému nebo komparačního registru L. Š.
38
Poznámka k registrům přerušovacího systému
MicroChip Poznámka k registrům přerušovacího systému Přerušovací systém disponuje pouze jediným vektorem přerušení. Příznakové bity přerušení musí být mazány software-ově až po zjištění původce přerušení. Ostatní registry, které souvisí s funkcí dalších HW modulů v µ-počítači jsou uvedeny v souvislosti s těmito moduly. L. Š. Zpět
39
Vstupně výstupní porty (základní vlastnosti)
MicroChip Vstupně výstupní porty (základní vlastnosti) Funkce jednotlivých portů mohou být měněny podle požadavků programátora. Řada portů má různé alternativní funkce. Některé porty jsou řešeny formou TTL, jiné jako Schmitt-ův klopný obvod. L. Š.
40
MicroChip L. Š. Schéma zapojení portu RA (vyjma RA,4)
IOR Zápisem do registru TRIS lze určit I/O režim portu... Funkce: Je-li „D“ TRIS latch=„1“ => na vstupu IOR „1“ (na výstupu nikdy „0“) a na vstupu AND „0“ (na výstupu nikdy „1“). Oba tranzistory uzavřeny. Je-li „D“ TRIS latch=„0“=> výstup IOR i AND je závislý na „D“ DATA latch. TRIS: 1-vstupní, 0-výstupní. Každý vývod může být nastaven samostatně. Nastavení „input“ je nutné i v analogovém režimu. AND L. Š.
41
MicroChip Schéma zapojení portu RA (vyjma RA,4) Je-li aktivní analogový vstup => digitální data na vnitřní sběrnici nepostupují… Není-li aktivní signál čtení z portu, informace z vnější sběrnice postupují přes obvod „D“ až k ventilu. V okamžiku aktivace RD PORT se uzavře obvod „D“ a otevře ventil, vnější informace postoupí na interní sběrnici. Signál RD TRIS umožní čtení informace o režimu portu. Porty jsou vybaveny ochrannými diodami. AnI inp inhib 1 inhib ventil Obvod D L. Š.
42
MicroChip Port RA,4 Otevřený kolektor Port RA,4 je řešen formou „otevřený kolektor“, úroveň „1“ je prezentována jako stav vysoké impedance. Schmitt-ův KO vytváří hysterezi pro vstupní signály. Při pomalých změnách signálu nedochází k detekci většího počtu pulsů. Poznámka: Tranzistor „P“ je otevírán úrovní „0“. Tranzistor „N“ je otevírán úrovní „1“. L. Š.
43
MicroChip L. Š. Schéma zapojení je obdobné jako u portu A.
Dolní tetráda portu B impl Schéma zapojení je obdobné jako u portu A. Signál RBPU připojí „pull-up“ rezistor <=> RBPU=„0“ a je zvolen vstupní režim… Schmitt-ův KO je využíván pouze pro signál přerušení (RB,0). RBPU TRIS impl 1 L. Š.
44
MicroChip Horní tetráda portu B Vyhodnocení změny na portu pro generování požadavku přerušení. Vzorkování vstupního signálu probíhá ve fázích Q1 a Q3. RBIF může být nastaven, je-li port ve vstupním režimu. Obvod XOR generuje úroveň „1“ v případě rozdílných vzorků… „Q1“ „Q3“ xor 1 XOR L. Š. Zpět
45
Čítač / časovač 0 MicroChip L. Š.
TMR0 lze charakterizovat následujícími vlastnostmi: 8-mi bitový čítač časovač, do čítacího registru lze zapisovat a lze z něj i číst. Obsah čítacího registru může být inkrementován vnitřním hodinovým signálem, nebo vnějším signálem. Lze volit reakci systému (na vzestupnou nebo sestupnou hranu vstupního signálu). Čítač může využívat 8-mi bitový předdělič (modul předděliče lze volit). Příznak přerušení je nastaven při přeplnění obsahu čítacího registru (FF 00). L. Š.
46
Blokové schéma TMR0 . . . MicroChip L. Š.
Nastavení funkce systému lze provést prostřednictvím registru OPTION. Obsah předděliče není přístupný. Při zápisu do TMR0 je obsah předděliče nulován (je-li předdělič čítačem / časovačem využíván). Signál vstupující do čítacího registru je synchronizován s hodinovým signálem procesorového jádra. L. Š.
47
. . . blokové schéma TMR0 . . . MicroChip L. Š. xor
Bitem T0CS lze volit režimy činnosti (čítač / časovač). Bitem T0SE lze nastavit citlivost na vzestupnou / sestupnou hranu vstupního signálu: T0SE RA4 xor 1 L. Š.
48
. . . blokové schéma TMR0 MicroChip L. Š.
Bitem PSA lze TMR0 přiřadit předdělič. Bity PS2, PS1 a PS0 lze nastavit jeho dělící poměr: PS2 PS1 PS0 poměr 1:2 1 1:4 1:8 1:16 : 1:256 L. Š. Zpět
49
Watch Dog Timer MicroChip L. Š.
Watch Dog Timer je inkrementován ze samostatného RC oscilátoru. Činnost WDT lze povolit nastavením bitu WDTE, který je součástí „konfiguračního slova“ (nastavuje se při zápisu programu do mikropočítače). WDT může zajistit reset systému došlo-li k přeplnění čítacího registru v pracovním režimu mikropočítače. V režimu SLEEP může WDT monolitický mikropočítač z úsporného režimu převést do režimu pracovního. L. Š.
50
Blokové schéma WDT MicroChip L. Š.
Bitem PSA lze přiřadit předdělič WDT. Dělící poměr předděliče je však jiný ! ! ! Instrukce CLRWDT a SLEEP vynuluje čítací registr WDT i předdělič (je-li WDT tento předdělič využíván). L. Š. Zpět
51
Analogově Digitální převodník (charakteristika)
MicroChip Analogově Digitální převodník (charakteristika) PIC16F877 je vybaven A/D převodníkem s postupnou aproximací. Měřené napětí je zavedeno do samplovacího kondenzátoru (převod může být zahájen až po ustálení). Analogový vstup je multiplexován => (až 8 analogových veličin). Výstup z A/D převodníku je 10-ti bitový a je uložen v registrech ADRESH a ADRESL. Při vyšších nárocích na přesnost lze jádro systému uvést do režimu SLEEP. A/D převodník využívá v tomto režimu synchronizační signál odvozený z interního RC oscilátoru. L. Š.
52
Ovládání A/D převodníku …
MicroChip Ovládání A/D převodníku … ADCON0 ~ nastavení funkce a ovládání: ADCS1(0) ~ volba hodinového signálu k převodu (viz. DS30292A strana 121) CHS2(1, 0) ~ výběr analogového kanálu (ze zvolených kanálů, viz. ADCON1) GO/DONE ~ příznak provádění převodu (nuluje se samočinně) ADON ~ zahájení převodu L. Š.
53
… ovládání A/D převodníku
MicroChip … ovládání A/D převodníku ADCON1 ~ nastavení funkce a ovládání: ADFM ~ zobrazení výsledku v registrech ADRESH a ADRESL 1 XX XXXXXXXX 0 XXXXXXXX XX000000 PCFG3(2, 1, 0) ~ volba režimu portu RA a RE (analogový nebo digitální, viz. tabulka) L. Š.
54
Tabulka k nastavení A-D režimu
MicroChip Tabulka k nastavení A-D režimu L. Š.
55
Výběr a přepínání kanálů
MicroChip Výběr a přepínání kanálů Nastavení v registru ADCON0 V případě použití externího referenčního napětí lze aktivně využít pouze 6 kanálů. L. Š.
56
Nastavení k provedení převodu
MicroChip Nastavení k provedení převodu K provedení A/D převodu je potřeba provést následující úkony: Konfigurace A/D modulu (konfigurace pinů, výběr vstupního kanálu volba pracovního kmitočtu). Nastavení přerušovacího systému (ADIF=0, ADIE=1, PEIE=1, GIE=1), je-li přerušení použito. Čekání na ustálení napětí na vzorkovacím kondenzátoru. Spuštění převodu (GO/DONE=1). Čekání na dokončení převodu (… GO/DONE=0, nebo … ADIF=1). Čtení digitalizované hodnoty z ADRESH a ADRESL. L. Š.
57
Náhradní schéma analogového vstupu …
MicroChip Náhradní schéma analogového vstupu … Po zvolení analogového kanálu (k převodu napětí) je nutno vyčkat, než se převáděné napětí ustálí na vzorkovacím kondenzátoru. Teprve pak může být spuštěn vlastní převod. Při nedodržení této podmínky bude výsledek převodu nepřesný. Provedeme-li čtení digitalizované hodnoty před ukončením převodu, bude výsledek chybný. L. Š.
58
… náhradní schéma analogového vstupu
MicroChip … náhradní schéma analogového vstupu RS ~ vnitřní odpor zdroje měřeného napětí CPIN ~ parazitní kapacita pinu (asi 5pF) RLC ~ svodový odpor (protéká jim typický proud asi 0,5µA) RIC ~ odpor vnitřní propojovací analogové trasy RSS ~ odpor vzorkovacího spínače v sepnutém stavu CHOLD ~ vzorkovací kondenzátor (asi 120pF) L. Š.
59
Časové kalkulace … MicroChip L. Š.
Požadujeme-li, aby chyba nebyla větší než ½ LSb, pak čas potřebný k vzorkování získáme z následujícího vztahu: L. Š.
60
… časové kalkulace … MicroChip L. Š.
… převodník je desetibitový => 210=1024 hodnot, které mohou být zobrazeny. Je-li požadavek na chybu ½ LSb, pak tento požadavek vyčíslíme: UREF ~ maximální hodnota 1024 ~ jeden krok, 2048 ~ ½ kroku Tak, že … Kde: ad 1) ~ napětí k převodu ad 2) ~ doplněk ke skutečné hodnotě ad 3) ~ referenční napětí (UHOLD=UREF <=> chyba=0) L. Š.
61
… časové kalkulace MicroChip L. Š. Úprava vztahu:
Odsud výsledný vztah: K výpočtu doby: L. Š. Zpět
62
Časování CPU … MicroChip L. Š.
2 1 V každém taktu systém vykonává dvě operace současně: 1~provádí dříve načtenou instrukci 2~čte další instrukci Jedná se o dvoustupňovou pipeline. L. Š.
63
…časování CPU MicroChip L. Š.
CLK Každý takt trvá 4 periody CLK označené Q1÷Q4. (u „8051“ – 12 period) => při shodném fCLK proběhne u PIC 3x více taktů. S ohledem na způsob realizace instrukcí se jedná o výrazný nárůst výpočetního výkonu. L. Š. Zpět
64
Přerušovací systém (charakteristika – ovládání)
MicroChip Přerušovací systém (charakteristika – ovládání) Přerušovací systém zpracovává přerušení ze 14-ti zdrojů. K činnosti přerušovacího systému jsou využívány registry: INTCON, PIE1, PIE2, PIR1, PIR2 Přerušovací systém využívá společný přerušovací vektor (adr=04). Původce požadavku přerušení musí být proto určen software-ově. Příznakové bity žádostí o přerušení musí být rovněž nulovány software-ově při obsluze přerušení. Příznakové bity jsou nastavovány i v případě, že je příslušné přerušení zakázáno (toto lze využít). L. Š.
65
Zdroje přerušení – příznakové bity
MicroChip Zdroje přerušení – příznakové bity Základní: T0IF ~ přeplnění TMR0 INTF ~ externí požadavek na bráně RB,0 RBIF ~ změna stavu v horní tetrádě portu B Rozšířené: PSPIF ~ zápis nebo čtení (podřízený paralelní port) ADIF ~ dokončení A/D převodu RCIF ~ příjem informace kanálem USART TXIF ~ vyslání informace | | - - SSPIF ~ synchronní sériový port (SPI, I2C) CCP1IF ~ záchytný systém, digitální komparátor TMR2IF ~ požadavek od TMR2 TMR1IF ~ požadavek od TMR1 EEIF ~ zápis do EEPROM BCLIF ~ kolize na synchronním sériovém portu CCP2IF ~ záchytný systém, digitální komparátor L. Š.
66
Schéma k objasnění funkce přerušovacího systému
MicroChip Schéma k objasnění funkce přerušovacího systému Probuzení z režimu „sleep“ Globální povolení přerušení Povolení přerušení od interních periferií L. Š.
67
Popis funkce přerušovacího systému
MicroChip Popis funkce přerušovacího systému Přerušovací logiku tvoří vzájemně propojení hradla AND a IOR. V levé části schématu je 11 hradel AND (každé z nich umožní lokální povolení požadavku od interního periferního obvodu). Bitem PEIE lze povolit zpracování přerušení od interních periferních obvodů. Obvody AND ve střední části schématu umožní obsluhu základních požadavků přerušení. Bitem GIE lze povolit zpracování přerušení. Je zřejmé, že k probuzení z režimu SLEEP dojde i v případě, že globální zákaz je aktivní (postačující je lokální povolení přerušení). Návrat z obslužného podprogramu přerušení je realizován instrukcí RETFIE. L. Š. Zpět
68
Funkce Master Control MicroChip L. Š.
Power-up timer ≈ interně generuje CLK po dobu 72 ms (náběh napájecího napětí). Start-up timer ≈ pracuje po dobu nestability oscilátoru CLK (1024 period). Power-on reset ≈ generuje reset při náběhu napájecího napětí. WDT ≈ realizuje reset, nebo probuzení jádra (z režimu „sleep“). Brown-out reset ≈ reset při poklesu napájecího napětí (3,8÷4,2V). In-Ciruit Debugger ≈ ladění programu využitím software MPLAB. Low-Voltage Programming ≈ programování přímo v aplikaci. L. Š.
69
Reset PIC16F877 MicroChip L. Š.
Pojem reset u PIC16F877 souvisí s řadou situací, ve kterých může být tento proces proveden: Reset při přivedení napájecího napětí Reset vnějším signálem při normální činnosti Reset vnějším signálem v režimu SLEEP Reset provedený WDT při normální činnosti Reset provedený WDT v režimu SLEEP Reset při poklesu napájecího napěti L. Š.
70
Vnější obvod k provedení resetu
MicroChip Vnější obvod k provedení resetu Obvod RC zajistí potřebnou dobu trvání HW resetu. Hodnota R < 40 kΩ (doporučeno výrobcem). Hodnota C je stanovena ze vztahu: (podle požadované doby trvání resetu). Dioda D slouží k urychlení vybití kondenzátoru (pří odpojení napájecího napětí). Rezistor R1 chrání vstup MCLR (hodnota doporučená výrobcem 0,1 ÷ 1 kΩ). L. Š.
71
Blokové schéma k popisu funkce resetu
MicroChip Blokové schéma k popisu funkce resetu 7 6 3 5 2 1 L. Š. 4
72
Interní obvody k provedení resetu
MicroChip Interní obvody k provedení resetu Interní obvody zajistí provedení resetu na základě činnosti interního RC oscilátoru a generátoru CLK. Signál RC oscilátoru je čítán 10-ti bitovým čítačem (210=1024 period). (2) Činnost obvodu lze povolit příznakem „Enable PWRT“ (… je součástí konfiguračního slova). (3) Po té lze čekat na přeplnění dalšího 10-ti bitového čítače, který čítá pulsy generátoru CLK. (4) Činnost obvodu lze povolit příznakem „Enable OST“ (… je součástí konfiguračního slova). (5) Reset systému při poklesu napájecího napětí lze rovněž povolit prostřednictvím konfiguračního slova (bit BODEN). (6) Reset systému vyvolaný WDT. (7) Obvod k realizaci resetu iniciovaného externím obvodem. L. Š.
73
Reset - shrnutí MicroChip L. Š.
Ve všech případech je resetem nulován PC. Výjimku tvoří pouze probuzení WDT a přerušení v režimu SLEEP, kdy dochází k inkrementaci PC. L. Š. Zpět
74
Sériová rozhraní MicroChip L. Š.
Jedná se o hardware-ové moduly, které umožňují monolitickému mikropočítači komunikovat s externími periferními obvody. PIC16F877 je vybaven třemi nejčastěji používanými sériovými kanály: USART (Universal Synchronous Asynchronous Receiver Transmiter) I2C (Inter Integrated Circuit) SPI (Serial Peripheral Interface) L. Š. Zpět
75
MicroChip CCP a PWM Jedná se o hardware-ové moduly L. Š. Zpět
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.