CATEGORII DOCUMENTE |
Aeronautica | Comunicatii | Electronica electricitate | Merceologie | Tehnica mecanica |
1 Introducere
Microcontrolerul 80C552 contine un Convertor Analog-Numeric[1] (CAN) on-chip. El este format dintr-un multiplexor analogic cu 8 canale (cai) si un convertor binar pe 10 bit bazat pe principiul aproximarilor succesive. Durata unei conversii este de 50 μs (pentru un quartz de 12 MHz). Pentru evitarea interinfluentarii intre partea analogica si cea numerica in microcontroler, CAN are circuite de alimentare si tensiune de referinta separate de restul microcontrolerului.
2. Conversia Analog-Numerica
Fig.1. Schema bloc a CAN in microcontrolerul 80C552
Figura 1 prezinta schema bloc a CAN din microcontrolerul 80C552. El contine:
Blocul "CONTROL Conversie" (BCC) care gestioneaza toate semnalele in interiorul convertorului. El este programat prin SFR.
Multiplexorul "MUX 8 la 1", cu 8 canale de intrare de la portul 5 al cmicrocontrolerului si o iesire, selectia canalului de intrare facandu-se de catre BCC.
Blocul "REGISTRU Aproximari succesive" pe 10 bit, care contine codul curent al valorii intermediare,
Blocul "CAN Convertor numeric-analogic" care genereaza o tensiune VDAC pentru a fi comparata cu tensiunea de intrare VIN
Blocul "Comparator" ce compara tensiunea de intrare VIN cu cea generata de CAN, VDAC.
Convertorul analog-numeric este deservit de doi registri SFR, ADCON si ADCH.
Pe un pin al portului P5 se aplica un semnal analogic cu valoare intre AVREF- si AVREF+ (care stabilesc astfel un domeniu de intrare AVREF+- AVREF-). Canalul multiplexorului este selectat prin pinii ADCON.0 . ADCON.1. ADCON.2 ai registrului SFR ADCON.
Conversia poate fi lansata prin hardware sau prin software. Selectia modului de lansare se face cu bitul ADEX (ADCON.5). Daca bitul este "0", lansarea conversiei se poate face doar prin software, daca bitul este "1", lansarea se poate face si prin hardware. Lansarea prin software se face cu bitul ADCS (ADCON.3) pus pe "1" (la sfarsitul conversiei el este pus pe "0" de hardware, deci nu trebuie resetat prin software). Lansarea prin hardware se face aplicand un impuls de tensiune "1" de cel putin un ciclu masina (1 μs) pe pinul STADC.
In primii doi cicli masina se initializeaza convertorul.
Iesirea multiplexorului este conectata la intrarea
comparatorului. Semnalul este esantionat (tensiunea este memorata intr-un
condensator ce apartine comparatorului). Esantionarea dureaza 8 cicli masina,
timp in care tensiunea trebuie mentinuta
Fig.2. Circuitul de intrare al CAN
Blocul de control a conversiei controleaza timpii esantionarii si conversiei.
Dupa esantionarea semnalului, incepe procesul de conversie propriu-zisa. Comparatorul compara valoarea lui VIN cu iesirea convertorului numeric-analogic VDAC. Aceasta valoare este determinata de iesirea Registrului de aproximari succesive. La inceput, acesta seteaza (pune pe "1" logic) CMS bit al sau (10 0000 0000B). Daca tensiunea VDAC generata de CAN (50% din domeniu AVREF+ - AVREF- ) este mai mica decat VIN, bitul CMS este lasat pe "1". Daca este mai mare, bitul este trecut pe "0". Cu aceasta se incheie primul pas. In al doilea pas se seteaza bitul urmator (11 0000 0000B sau 01 0000 0000B) si se compara din nou VIN cu VDAC. Bitul este lasat pe "1" sau trecut pe "0" in functie de rezultatul compararii. Ciclul se repeta de 10 ori, pentru fiecare bit. La sfarsit, Registrul aproximarilor succesive contine rezultatul conversiei pe 10 bit, care este incarcat in registri SFR ADCH (cei mai semnificativi 8 biti) si in ADCON.7 si ADCON.6 (cei mai putin semnificativi 2 biti).
Fig.3. Exemplu de lucru a CAN pentru 3 biti
Fig.4. Exemplu de lucru
Conversia dureaza patru cicli masina pe bit. Sfarsitul conversiei este indicat prin setarea fanionului ADCI (ADCON.4). In acelasi moment bitul ADCS este resetat de hardware.
O conversie in derulare nu este afectata de un nou start a conversiei prin hardware (pe pinul STADC) sau prin software (bitul ADCS). Rezultatul conversiei este pastrat cat timp ADCI este pe "1", aceasta insemntnd ca bitul ADCI trebuie restat prin software pentru a permite o noua conversie. O conversie in derulare este oprita daca se intra in modul de lucru Power down sau Idle, in timp ce , daca conversia este terminata (ADCI="1") rezultatul se pastreaza la intrarea in modul Idle.
Fig. Diagrama de timp a comversiei
3. Calculul marimii de iesire a CAN
CAN are 2 marimi caracteristice statice
-domeniul de tensiune de intrare AVREF+-AVREF-
-numarul de biti N.
Din aceste doua marimi se deduce cuanta q a
CAN, care reprezinta pasul de variatie a tensiunii de intrare pentru
modificarea cu 1 a marimii de iesire (sau modificarea LSB sau CMPS bit).
In figura 6.
este prezentata caracteristica intrare-iesire a
Fig.6. Caracteristica CAN
Pentru calculul rezultatului conversiei RC se
foloseste formula:
unde VIN este tensiunea aplicata la intrare.
ADC.1 |
ADC.0 |
ADEX |
ADCI |
ADCS |
AADR2 |
AADR1 |
AADR0 |
ADC.1 - Bitul 1 al valorii convertite
ADC.0 - Bitul 0 al valorii convertite ( cel mai putin semnificativ )
ADEX - valideaza posibilitatea startului extern al conversiei (cand este setat, permite startul conversiei intern, prin software sau extern, prin semnalul de la pinul STADC , cand este resetat permite doar startul prin software)
ADCI - fanion de intrerupere; este setat prin hardware, cand rezultatul unei conversii este disponibil, si trebuie resetat prin program in rutina de tratare a intreruperii
ADCS - bit de start si fanion de stare. La setare prin software, lanseaza conversia. La sfirsitul acesteia ADCS este resetat si ADCI setat .
AADR2, AADR1, AADR0 - selectia unei intrari analogice ca intrare la convertorului analog-numeric. Acesti biti pot fi modificati doar cand ADCS si ADCI sunt "0"
Conexiunile la CAN
Decuplarea
Microcontrolerul 80C552 contine atat circuite logice (numerice), care lucreaza cu semnale logice (0V sau 5V), cat si circuite analogice care lucreaza cu semnale analogice (in domeniul 0-5V). Pentru a evita circulatia curentilor dintr-un tip de circuite in celalalt tip de circuite, si de a influenta astfel semnalele analogice, alimentarea analogica AVDD ar trebui separata de alimentarea logica VDD, iar masa analogica AVSS ar trebui legata de masa logica VSS printr-o linie de impedanta scazuta. Pentru circuitele de alimentare aceasta se realizeaza prin decuplare cu condensatoare de 100nF plasate cat mai aproape de pinii AVDD si VDD, si aditional folosirea unor bobine de 1 la 5 μH. Daca se asigura aceste conditii, se poate folosi o singura sursa de tensiune, ca in figura 7.
Fig.7. Planul de conexiuni la alimentarea microcontrolerului
Circuitele externe conectate la microcontroler trebui
esa fie plasate cat mai aproape de acesta pentru a reduce buclele de semnal si
impedantele comune. In conditii improprii de plasare a componentelor, semnalele
externe pot cauza functionarea defectuoasa a microcontrolerului. Daca ele nu
pot fi plasate aproape de microcontroler, trebuie conectat un filtru RC ca in
fig. 8. Rezistorul trebuie plasat aproape de iesirea sursei, iar condensatorul
ctt mai aproape de intrarea destinatiei. Uzual condensatorul are 470 pF,
rezistorul plasat la intrarea 80C552 are 1kOhm iar cel de la iesirea 80C552 are
100Ohm. In nici un caz nu se vor pasa condensatoarele filtrului direct la
iesirea circuitului sursa
Fig.8. Plasarea componentelor externe
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1970
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved