Caracteristici speciale ale CPU
Familia PIC16F8x este inzestrara cu anumite facilitati cu scopul de a permite o functionare foarte sigura in conditiile unui numar redus de componente externe, furnizind in acelasi timp suport pentru aplicatii de timp real. Aceste caracteristici speciale sunt:
OSC Selection;
Reset
- Power-On Reset ( POR )
- Power-up Timer ( PWRT )
- Oscillator Start-up Timer ( OST )
Interrupts
Watchdog Timer ( WDT )
SLEEP
Code protection
ID locations
In-circuit serial programming
Power-up Timer ( PWRT ) este un timer care introduce o intirziere fixa de 72 ms ( nominal ) numai la power-up si are rolul de a mentine dispozitivul in reset pina ce se stabilizeaza tensiunea de alimentare.
Oscilator Start-up Timer ( OST ) este un timer care are rolul de a mentine dispozitivul in reset pina cind oscilatorul cu cristal devine stabil.
Observatie: Cu aceste doua timere incorporate, PWRT si OST, majoritatea aplicatiilor nu au nevoie de circuit extern de reset.
Watchdog Timer ( WDT ) poate fi invalidat doar cu ajutorul unor biti de configurare. Acesta este inzestrat cu propriul oscilator RC pentru a se conferi o foarte mare siguranta in functionare.
Modul de functionare SLEEP ofera avantajele unui consum extrem de redus. Iesirea din acest mod de functionare se poate realiza prin:
Reset extern ( pinul MCLR );
time-out ( WDT );
cerere de intrerupere;
Posibilitatea de a selecta tipul de oscilator permite alegerea acestuia in functie de necesitatile aplicatiei: un oscilator RC este ieftin, un oscilator LP asigura un consum minim.
Observatie: Faminia PIC16F8x are o structura flexibila ce poate fi programata cu ajutorul unui cuvint special de configurare.
1. Cuvintul de configurare
Cuvintul de configurare are lungimea de 14 biti si este mapat la adresa 0x2007 in spatiul de memorie program
Adresa 0x2007 este in afara spatiului de memorie program aplicatie si apartine spatiului de
memorie program speciala, destiata testarii / configurarii ( 0x2000 - 0x3FFF )
Observatie: Acest spatiu special de memorie program nu poate fi accesat decit in modul de programare.
3. Reset
PIC16F8x suporta mai multe tipuri de reset:
Power-On Reset ( POR );
Reset MCLR pe durata functionarii normale;
Reset MCLR pe durata modului SLEEP de functionare;
Reset WDT ( pe durata functionarii normale );
Wake-Up WDT ( pe durata modului SLEEP de functionare );
Observatie: Citeva registre nu sunt afectate in nici o situatie de reset; starile lor sunt necunoscute la POR si neschimbabile in nici o alta situatie de reset.
Observatie: Majoritatea registrelor sunt aduse la "starea de reset" in situatiie:
Power-On Reset ( POR );
Reset MCLR pe durata functionarii normale;
Reset WDT ( pe durata functionarii normale );
Reset MCLR pe durata modului SLEEP de functionare;
Observatie: Majoritarea registrelor nu sunt afectate in situatia Wake-Up WDT ( pe durata SLEEP )
deoarece acest reset este privit ca o reluare a functionarii normale.
In tabelele de mai jos sunt prezentate starile registrilor dupa diferite tipuri de reset.
9. Sistemul de intreruperi
PIC16F8x are 4 surse de intreruperi:
pinul RB0 / INT ( sursa externa de intreruperi );
depasire TMR0 ( trecerea de la 0xFF la 0x00 );
pinii RB7 - RB4 ( detectarea modificarii nivelului logic );
terminare ciclu complet de inscriere in mem. de date de tip EEPROM;
Registrul INTCON contine toate flag-urile de intreruperi ( T0IF, INTF, RBIF ), toti bitii individuali de validare / invalidare a intreruperilor ( T0IE, INTE, RBIE, EEIE ) precum si bitul global de validare / invalidare a intregului sistem de intreruperi ( GIE ). Flagul EEIF este situat in registrul EECON1
Observatie: Intreruperile datorate evenimentelor aplicate pe pinii RB0 / INT rau RB7 - RB4 prezinta o latenta in deservirede 3 sau 4 cicluri instructiune. Latenta depinde de momentul aparitiei evenimentelor.
Aceasta se poate vedea in figura de mai jos.
Observatie: La reset flag-urile individuale de intreruperi sunt in "0". De asemenea flag-ul global de validare GIE este in "0", adica sistemul de intreruperi este complet inactivat.
Observatie: Daca este sesizata o cerere de intrerupere => automat sunt efectuate urmatoarele operatii:
bitul GIE este resetat pentru dezactivarea sistemului de intreruperi;
PC este salvat pe stiva ( stiva este gestionata hard )
PC este incarcat cu vectorulde intrerupere 0x0004
Observatie: Salvarea contextului, in mod implicit, consta in salvarea pe stiva gestionata de catre hardware, a valorii registrului PC. In general acest lucru nu este suficient si este nevoie si de salvarea altor registri impostanti ( W, STATUS, ..etc ). Aceasta se poate realiza numai prin soft.
Observatie: Exista o singura rutina globala de tratare a intreruperilor. Aceasta debuteaza cu inspectarea flag-urilor de intreruperi. Daca exista un singur flag setat atunci se va executa doar secventa specifica care trateaza cererea de intrerupere corespunzatoare. Daca exista doua sau mai multe flaguri simultan setate atunci vor fi executate secventele specifice lor, eventual intr-o ordine prestabilita de programator
( prioritatea in deservire depinde in general de aplicatie ).
Observatie: Flag-urile individuale de intreruperi trebuie resetate prin program inaintea reactivarii sistemului de intreruperi ( inaintea setarii bitului GIE ). Fiecare secventa specifica de deservire in parte trebuie sa asigure resetarea propriului flag..
Observatie: Este permisa o mare libertate in modul de concepere a rutinei globale de tratare a intreruperilor. De exemplu se poate concepe o rutina globala care se termina cu o instructiune RETFIE sau se poate concepe o rutina globala in care fiecare secventa specifica in parte se termina cu cite o instructiune RETFIE.
Observatie: Refacerea contextului, in mod implicit, consta in refacerea de pe stiva gestionata de catre hardware, a valorii registrului PC. Daca la salvarea contextului au mai fost salvati prin soft si alti registri impostanti ( W, STATUS, ..etc ), atunci acestia trebuie restaurati la sfirsitul rutinei de tratare tot prin soft.
Observatie: Instructiunea RETFIE asigura intoarcerea din rutina de deservire a cererilor de intreruperi si realizeaza urmatoarele operatii pe parcursul a doua cicluri:
reface contextul prin refacerea valorii lui PC de pe stiva;.
validarea sistemului de intreruperi prin setarea bitului GIE;
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |