Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » scoala » informatica
Caracteristici speciale ale CPU

Caracteristici speciale ale CPU


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


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.