Sie sind auf Seite 1von 416

COSTIN TEFNESCU

NICOLAE CUPCEA

ELECTRONIC APLICAT SISTEME INTELIGENTE HARDWARESOFTWARE DE MSURARE I CONTROL

Semnal

Filtrare

Conversie
analogdigital

FTJ

CA/D

Unitatea de calcul

Conversie
digitalanalogic Filtrare
CD/A
Analog

Analog
Numeric

Bucureti 2003

Circuit de
amplificare

FTJ
Semnal

ELECTRONIC APLICAT

CUPRINS
1. Elemente introductive referitoare la conducerea proceselor industriale din
perspectiva sistemelor inteligente hardware-software de m surare i control ..... 1
1.1 Introducere................................................................................................... 1
2. Sisteme de achizi ie i prelucrare a datelor ...................................................... 5
2.1 No iuni generale .......................................................................................... 5
2.2 Sisteme de achizi ii de date. Arhitectur . Principalele tipuri de resurse
utilizate n cadrul sistemelor de achizi ii de date .............................................. 5
2.2.1 Multiplexoare analogice utilizate n sisteme de achizi ii de date ........ 6
2.2.2 Circuite de eantionare-memorare utilizate n sisteme de achizi ii de
date ................................................................................................................ 9
2.2.3 Circuite pentru conversia datelor utilizate n sisteme de achizi ii de
date: convertoare analog-digitale i digital-analogice ................................ 14
2.2.3.1 Convertoare digital-analogice. Scheme de principiu .................. 19
2.2.3.2 Convertoare analog-digitale. Scheme de principiu..................... 25
2.3 Interfe e specializate de comunica ie ........................................................ 35
2.3.1 Comunica ia de tip serial. Protocoale de transmisie serial a datelor 36
2.3.1.1 Interfa a RS-232 .......................................................................... 36
2.3.1.2 Interfa a I2C ................................................................................. 40
2.3.1.2.1 Specifica iile interfe ei I2C................................................... 41
2.3.1.2.2 Conceptul de magistral I2C................................................. 42
2.3.1.2.3 Transferurile pe magistrala I2C ............................................ 43
2.3.1.2.3.1 Transferurile de date pe magistral ............................... 44
2.3.1.2.4 Arbitrarea priorit ilor i generarea ceasului ....................... 45
2.3.1.3 Interfa a USB............................................................................... 46
2.3.2 Comunica ia de tip paralel. Protocoale de transmisie paralel a datelor
..................................................................................................................... 48
2.3.2.1 Interfa a HPIB ............................................................................. 49
2.3.2.1.1 Structura bus-ului HPIB....................................................... 50
2.3.2.2 Interfa a Centronics ..................................................................... 53
2.3.2.2.1 Protocolul de comunica ie Centronics-Handshake .............. 55
3. Tipuri de sisteme de achizi ii de date .............................................................. 57
3.1 Sistem de achizi ii de date cu multiplexare temporal .............................. 57
3.2 Sistem de achizi ie sincron de date.......................................................... 61
3.3 Sistem rapid de achizi ii de date................................................................ 67
3.4 Unitatea central de comand ................................................................... 68
3.5 Sisteme de achizi ie de date cu microprocesor ......................................... 69
3.5.1 Unit i centrale de prelucrare tradi ionale.......................................... 69
3.5.2 Procesoare de semnal: DSP................................................................ 75
3.5.2.1 Arhitectura unui procesor de semnal .......................................... 76
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

3.5.2.2 Portul serial sincron al familiei DSP TMS320C2xx................... 81


3.5.2.3 Portul serial asincron al familiei DSP TMS320C2xx ................. 82
4. Considera ii generale asupra instrumenta iei virtuale..................................... 85
4.1 Instrumente virtuale................................................................................... 85
4.2 Interfa a calculator - proces de m surare sau control ............................... 90
4.3 Software pentru instrumenta ie virtual .................................................... 92
4.3.1 Alegerea platformei software: Unix sau Windows? .......................... 94
4.4 Particularit i ale intrumenta iei virtuale................................................... 95
4.5 Noi instrumente DAQ specializate extind no iunea de instrument virtual97
4.5.1 Transferul de date n bus-ul PCI ........................................................ 98
4.5.2 Implementarea DMA pe placa de tip PCI Bus Master. Chip-ul ASIC
MITE. .......................................................................................................... 99
4.5.3 Windows NT 4.0 aduce mbun t iri importante pentru utilizatorii de
instrumenta ie virtual ............................................................................... 101
4.5.4 Terenul este pregat tit pentru noile instrumente DAQ .................... 103
4.5.4.1 Tehnici de eantionare utilizate n osciloscoapele numerice .... 104
4.5.5 DAQScope ....................................................................................... 105
4.5.5.1 De ce este important m rimea memoriei i viteza de transfer
DMA la un osciloscop? ......................................................................... 107
4.5.6 DAQArb ........................................................................................... 108
4.5.7 DAQMeter........................................................................................ 109
4.6 Software specializat pentru achizi ia datelor .......................................... 110
4.6.1 Software pentru achizi ia de date ..................................................... 111
4.6.2 Detalii privind cerin ele impuse unui pachet software pentru m sur ri
electrice ..................................................................................................... 115
4.6.3 SCPI (Standard Commands for Programmable Instrumentations). 119
5. Prezentarea microcontrollerului 80C552 (PHILIPS).................................... 125
5.1 Arhitectura hardware a microcontroller-ului 80C552............................. 125
5.1.1 Memoria intern a microcontroller-ului 80C552 ............................. 125
5.1.1.1 Memoria de program (Program Memory) ................................ 125
5.1.1.2 Memoria de date (Data Memory).............................................. 126
5.1.1.3 Registrele cu func ii speciale .................................................... 127
5.1.2 Structura i lucrul cu porturile de intrare-ieire ............................... 130
5.1.2.1 Programarea i utilizarea temporizatoarelor ............................. 132
5.1.2.2 Interfa a serial SIO0 ................................................................. 134
5.1.2.3 Ieirile modulate n durat ......................................................... 135
5.1.2.4 Sec iunea analogic a microcontrollerului................................ 137
5.1.2.5 M surarea intervalelor de timp prin utilizarea registrelor de captare a evenimentelor .............................................................................. 142
5.2 Prezentarea setului de instruc iuni al microcontroller-ului 80C51 ......... 143
5.3 Sistem de dezvoltare cu microcontroller 80C552 ................................... 167
5.3.1 Domeniul de aplicabilitate ............................................................... 172

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

5.3.2 Detalierea resurselor sistemului ....................................................... 172


5.3.2.1 Unitatea Central de Prelucrare ................................................ 172
5.3.2.2 Interfa a cu Procesul Controlat.................................................. 172
5.3.2.3 Interfa a cu Operatorul .............................................................. 180
5.3.2.4 Interfa a cu un Sistem de Calcul ............................................... 183
5.3.3 Resurse software, utilizare ............................................................... 183
5.3.4 Rutine de baz pentru manipularea resurselor sistemului................ 185
6. Sistem universal, modular, de achizi ii de date............................................. 197
6.1 M rimi de intrare n sistemul de achizi ii de date................................... 197
6.2 Specifica iile de proiectare ale sistemului de achizi ii de date ............... 197
6.3 Interfa a specializat de achizi ii de date a sistemului ............................ 200
6.3.1 Interfa a de achizi ii de date propriu-zis ......................................... 201
6.3.1.1 Blocul de adaptare a semnalelor analogice ............................... 201
6.3.1.2 Blocul filtrelor antirepliere........................................................ 204
6.3.1.3 Blocul circuitelor de eantionare-memorare suplimentare ....... 207
6.3.1.4 Blocul convertoarelor analog-digitale....................................... 209
6.3.1.4.1 Descrierea func ional a blocului de conversie analogdigital din cadrul interfe ei specializate de achizi ii de date ........... 209
6.3.1.5 Blocul de conversie digital-analogic ....................................... 217
6.4 Unitatea central de prelucrare local cu microcontroller 80C552 ........ 221
6.4.1 Descrierea func ional a UCPL........................................................ 221
6.4.2 Resursele unit ii centrale de prelucrare locale a sistemului de
achizi ii de date.......................................................................................... 221
6.5 Interfa area unit ii centrale de prelucrare, cu microcontroller 80C552, cu
un sistem hardware extern (interfa a de achizi ii de date) ............................ 226
6.5.1 Modalit i de cuplare a unit ii centrale de prelucrare cu un dispozitiv
hardware extern ......................................................................................... 226
6.5.2 Descriere func ional a ansamblului unitate central de prelucrare
local - interfa a specializat de achizi ii de date...................................... 227
6.6 Estimarea erorilor ce se manifest n cadrul sistemului de achizi ii....... 229
6.6.1 Estimarea erorilor software .............................................................. 229
6.6.2 Estimarea erorilor hardware ............................................................. 231
7. Software de analiz a semnalelor electrice ................................................... 235
7.1 Considera ii generale asupra instrumentelor software de analiz a
semnalelor electrice....................................................................................... 235
7.2 Platforma HP VEE pentru Windows. Prezentarea analizorului ESA ..... 236
7.3 Implementarea analizorului ESA ............................................................ 239
7.3.1 Blocul de prelucrare a fiierului de date de intrare .......................... 241
7.3.2 Blocurile pentru controlul dispozitivelor de afiare......................... 243
7.3.3 Dispozitivele de afiare de tip oscilograf......................................... 246
7.3.4 Blocul de afiare sub form digital a valorilor minime/maxime ale
semnalelor de intrare ................................................................................. 247
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

7.4 Interfa area instrumentului virtual de analiz a semnalelor electrice, ESA,


cu interfa a specializat de achizi ii de date.................................................. 248
7.5 Detalii suplimentare privind implementarea instrumentului virtual ESA
....................................................................................................................... 250
7.6 Resurse suplimentare ale analizorului de semnale electrice, ESA ......... 250
7.6.1 Analizorul Fourier ............................................................................ 254
7.7 Testarea instrumentului virtual ESA i rezultate experimentale............. 257
7.8 Listingul programului de achizi ie de date.............................................. 258
8. Sistem cu microcontroller pentru m surarea i controlul temperaturii......... 271
8.1 Specifica iile de proiectare ale sistemului pentru m surarea i controlul
temperaturii ................................................................................................... 271
8.2 Descrierea func ional a sistemului de m surare a temperaturii ............ 272
8.2.1 Blocul de m surare a temperaturii ................................................... 272
8.2.1.1 Traductorul de temperatur ....................................................... 273
8.2.1.1.1 Conectarea traductorului de temperatur ........................... 273
8.2.1.1.2 Senzorul de temperatur ..................................................... 273
8.2.1.1.3 Modulul surselor de tensiune de referin .......................... 275
8.2.1.1.4 Senzor de temperatur cu ieire unificat n curent ........... 278
8.2.2 Utilizarea resurselor unit ii centrale de prelucrare ......................... 279
8.2.3 Etajele de ieire pentru comanda elementelor de execu ie .............. 283
8.3 Software de analiz a rezultatelor ........................................................... 286
8.3.1 Implementarea analizorului PROTERM.......................................... 288
8.4 Listingul aplica iei de m surare i control a temperaturii....................... 289
9. Implementarea hardware-software a unui instrument de vizualizare a
semnalelor (EASY SCOPE).............................................................................. 299
9.1 Descrierea func ional a osciloscopului digital EASY SCOPE ............. 299
9.2 Prezentarea circuitului PIC16C71 (Microchip) ...................................... 303
9.2.1 Descriere general a PIC16C71 ....................................................... 304
9.2.2 Prezentare architectural .................................................................. 306
9.2.2.1 Ceasul de sistem / Ciclul instruc iune ....................................... 308
9.2.2.2 Fluxul de execu ie al instruc iunii / Pipeline-ing ...................... 308
9.2.3 Organizarea memoriei de program (Program Memory) .................. 309
9.2.4 Organizarea memoriei de date (Data Memory) ............................... 310
9.2.4.1 Registrul STATUS .................................................................... 310
9.2.5 Porturi I/O ........................................................................................ 312
9.2.5.1 Registrele PORTA i TRISA .................................................... 312
9.2.5.2 Registrele PORTB i TRISB..................................................... 313
9.2.6 Considera ii de programare I/O........................................................ 315
9.2.6.1 Porturi I/O bidirec ionale .......................................................... 315
9.2.6.2 Opera ii succesive asupra porturilor I/O ................................... 316
9.2.7 Modulul de conversie analog-digital .............................................. 316
9.2.7.1 Specifica ii pentru achizi ia A/D............................................... 319

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

9.2.7.2 Particularit i de utilizare a circuitului de conversie analogdigital a microcontroller-ului PIC16C71............................................. 320


9.3 Caracteristici constructive. Testare i calibrare EASY SCOPE ............. 327
9.4 Descrierea meniului aplica iei EASY SCOPE........................................ 329
9.5 Codul surs n limbaj de asamblare al microcontroller-ului PIC16C71
pentru osciloscopul digital EASY SCOPE ................................................... 331
9.6 Codul surs n limbaj C pentru osciloscopul digital EASY SCOPE ...... 338
10. Traductor inteligent pentru m surarea nivelului......................................... 349
10.1 Prezentarea hardware a traductorului inteligent de nivel...................... 350
10.2 Programul de aplica ii NIV.ASM ......................................................... 354
10.2.1 Descrierea programului de aplicatie NIV.ASM............................. 356
10.2.1.1 Sec iunea de ini ializare i declarativ .................................... 356
10.2.1.2 Sec iunea de programare a parametrilor de func ionare ......... 358
10.2.1.3 Sec iunea de m surare propriu-zis ........................................ 361
10.3 Programul de aplica ii NIVOK.ASM.................................................... 366
10.3.1 Sec iunea de ini ializare i declarativ ........................................... 366
10.3.2 Sec iunea de calibrare a generatorului de curent ........................... 366
10.3.3 Sec iunea de programare a parametrilor de func ionare ................ 367
10.3.4 Sec iunea de m surare propriu-zis ............................................... 369
10.4 Listingul programului de aplica ie NIVOK.ASM................................. 372

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

1. ELEMENTE INTRODUCTIVE REFERITOARE LA


CONDUCEREA PROCESELOR INDUSTRIALE DIN
PERSPECTIVA SISTEMELOR INTELIGENTE
HARDWARE-SOFTWARE DE M SURARE I
CONTROL
1.1 INTRODUCERE
Sugestiv, conducerea proceselor industriale, poate fi reprezentat printr-o
piramid mp r it pe mai multe niveluri (fig. 1.1).
Supravegherea se g sete n piramida conducerii proceselor pe nivelul
al treilea, al turi de conducerea procesului, ceea ce arat c , practic, ele nu pot fi
separate.

Gestiune
Supervizare
Optimizare
Supraveghere
i conducere
Controlul Procesului
Achiziii i Acionri

Fig. 1.1 Nivelurile de conducere a proceselor industriale.


Domeniul supravegherii proceselor industriale este destul de vast. Acesta
con ine aplica ii ncepnd cu simpla achizi ie de date i pn la prelucr ri foarte
complexe:
analize statistice;
gestiunea elabor rii alarmelor;
ghid operator;
supravegherea ac iunilor de conducere ale operatorilor;
identific ri de parametri i simul ri;
supravegherea dinamic a r spunsului procesului, etc.
La baza piramidei se situaz opera iunile de achizi ie din proces a
m rimilor de intrare i de transmitere c tre procesul supravegheat a comenzilor
de ac ionare.
Func iile de baz ale unei aplica ii de supraveghere a unui proces sunt:
comunica ia cu procesul;
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELEMENTE INTRODUCTIVE DESPRE CONDUCEREA PROCESELOR INDUSTRIALE

semnalizarea;
comunica ia cu programele utilizate pentru prelucrarea datelor;
interfa area om-main ;
gestiunea alarmelor;
gestiunea rapoartelor.
Conceptul de aplicaie n timp real poate fi definit astfel:
Aplica ia n timp real, este acea aplica ie care realizeaz un
sistem informatic al c rui comportament este condi ionat de
evolu ia dinamic a st rii procesului la care este conectat.
Acest sistem informa ional este menit s urm reasc sau s
conduc procesul, respectnd condi iile de timp stabilite.
Deci, timpul real este o no iune care marcheaz de fapt
conceptul de timp de reac ie relativ la dinamica procesului
pe care sistemul informatic l conduce (supraveghez ).

Supravegherea n timp timp real a unui proces este o etap necesar


pentru trecerea la pasul urm tor: conducerea procesului.

SISTEM DE CALCUL
N TIMP REAL

Operator

Comenzi

Generare rapoarte,
semnaliz ri, alarm ri

Calcule conform unor


strategii de conducere

Actualizare baz de
date din re ea

Baz
de date
re ea

Ceas de
timp real

Culegere de date
din re ea

RE

EA

ELECTRIC

Fig. 1.2 Schema unui sistem de achizi ie i calcul, n timp real, pentru
supravegherea unei re ele electrice.
Un sistem n timp real este sistemul de automatizare complex cu ajutorul
calculatorului a unor probleme de decizie, mai ales cu caracter operativ, n care
timpul de r spuns este suficient de redus pentru a putea influen a n mod
2

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

semnificativ i pozitiv evolu ia obiectivului condus.


n fig. 1.2 este prezentat schema simplificat a unui sistem de achizi ie i
prelucrare a datelor n timp real, destinat supravegherii proceselor dintr-o re ea
electric , care realizeaz :
culegerea de date;
actualizarea bazei de date;
calcule conform unor strategii de conducere;
supravegherea i corectarea on-line a regimului.
Un sistem de achizi ie de date i control a unui proces industrial, asociat
cu un microsistem de calcul, se comport ca un sistem inteligent (care poate lua
decizii bazate pe informa ii anterioare, prelucreaz informa ia, efectueaz
calcule, dup care, pe baza rezultatelor ob inute, adopt o decizie, din mai multe
solu ii posibile).
Sistemele de achizi ie de date asociate cu microsistemele de calcul, n
timp real, au ca principale avantaje:

flexibilitatea i adaptabilitatea la o mare varietate de situa ii;


creterea gradului de automatizare al unor opera ii;
m rirea preciziei m sur torilor;
fiabilitate bun (num r redus de componente, posibilitatea de
autotestare datorit programelor ncorporate);
miniaturizarea echipamentelor;
posibilitatea prelucr rii complexe a datelor din proces;
simplificarea proiect rii electrice i tehnologice datorit existen ei
familiilor de componente ce permit interconect ri standard.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELEMENTE INTRODUCTIVE DESPRE CONDUCEREA PROCESELOR INDUSTRIALE

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

2. SISTEME DE ACHIZI IE I PRELUCRARE A


DATELOR
2.1 NO IUNI GENERALE
Ca rezultat al r spndirii pe scar larg , n ultimul timp, a calculatoarelor
personale i a perfec ion rii lor continue, marile firme produc toare de sisteme
de m surare au c utat s realizeze echipamente care s utilizeze calculatorul
personal pentru:
achizi ia de date din sistemele industriale;
reglajul i supravegherea unor parametri sau instala ii (procese);
realizarea unor aparate de m surare cu performan e ridicate.
n prezent, resursele calculatorului personal sunt utilizate pentru a efectua
sarcini cum ar fi: comanda, gestiunea, prelucrarea i afiarea datelor care altfel
ar fi preluate de un microprocesor, plasat n interiorul instrumentului.
Instrumentul de m surare comunic cu PC-ul prin intermediul unei
interfe e care are n mod obligatoriu un convertor analog-digital. Instrumentul de
m surare poate fi redus la o simpl cartel de achizi ii de date pentru m sur tori.
n momentul de fa , prin intermediul tastaturii calculatorului se poate
comanda instrumentul de m surare, iar pe display pot fi vizualizate rezultatele
m sur torilor, sub form numeric sau sub form grafic .
Aceste rezultate apar ca urmare a prelucr rii datelor brute ob inute de la
instrumentul de m surare de c tre calculator, la cererea utilizatorului. De aici,
rezult aparate cu pre de cost mult mai sc zut.

2.2 SISTEME DE ACHIZI II DE DATE. ARHITECTUR .


PRINCIPALELE TIPURI DE RESURSE UTILIZATE N
CADRUL SISTEMELOR DE ACHIZI II DE DATE
Un sistem de achizi ie de date cu n canale de intrare poate fi realizat n
urm toarele trei configura ii:
sistem cu multiplexare temporal;
sistem cu achiziie sincron de date;
sistem rapid de achiziie de date.
Un sistem de achizi ie de date utilizat pentru achizi ia i prelucrarea
datelor ntr-un sistem (fig. 2.1) este compus din urm toarele module func ionale
principale:
1. convertoare de intrare;
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

2. circuite de multiplexare analogic ;


3. circuite de eantionare-memorare (E/M);
4. circuite pentru conversia datelor - convertoare analog-digitale (CA/D)
i digital-analogice (CD/A);
5. registre tampon (buffer-e);
6. unitatea central de prelucrare (P);
7. interfa a de interconectare cu calculatorul personal.
MAGISTRALA DE CONTROL
MAGISTRALA

DE DATE
MAGISTRALA
DE ADRESE

Memorii ROM

Memorii RAM

Sfrit
conversie
Start
conversie

Adres canal
Comand E/M

Circuit
eantionarememorare

Convertor
analog-digital

START

Multiplexor
analogic

EOC

Selec ii
Date

Alte canale

Etaj
adaptare

Selec ie

Circuit
interfa paralel

Ceas
Semnal
de studiat

Adrese

Date

Comenzi

Selec ie

Adrese

Date

Comenzi

Selec ie

Date

Adrese

Microprocesor P

Comenzi

Adrese

Date

Comenzi

Decodificator

Fig. 2.1 Structura general a unui sistem de achizi ii de date.


n continuare vor fi prezentate aspectele esen iale, parametrii caracteristici
i vor fi enumerate recomand ri de proiectare ale acestor componente de baz
din cadrul sistemelor de achizi ii de date.

2.2.1 MULTIPLEXOARE ANALOGICE UTILIZATE N


SISTEME DE ACHIZI II DE DATE
n multe situa ii este necesar s fie transmise mai multe informa ii pe
acelai canal; cum acest lucru nu se poate face simultan, se recurge la o partajare
n timp a canalului, denumit multiplexare. Opera ia invers se numete
6

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

demultiplexare. Opera ia de multiplexare/demultiplexare analogic necesit


dispozitive de comutare care s direc ioneze semnalul util pe un canal dorit. n
varianta sa cea mai simpl , un multiplexor analogic poate fi asimilat cu un
comutator rotativ cu k = 2 n pozi ii sau cu un ansamblu de k = 2 n comutatoare,
dintre care numai unul este nchis, n timp ce toate celelalte sunt deschise,
comandat de un sistem logic care permite cuplarea uneia din intr ri la ieire (fig.
2.2). Deoarece comutatoarele sunt bilaterale, rezult c un multiplexor analogic
poate fi utilizat i ca demultiplexor analogic, prin simpla schimbare a sensului.

Aplica ie

1
Intr ri
analogice

Ieire

2 -1

Adrese

Registru

Decodificator

Activare

Fig. 2.2 Structura unui multiplexor analogic.

Parametrii multiplexoarelor/demultiplexoarelor analogice sunt:


rezistena n starea deschis (off): R off [M];
rezistena n starea nchis (on): R on [];
curentul de pierderi n starea deschis: I off [nA, A, mA];
timpul de comutare direct (nchidere): t on [ns, s]. Este definit ca
intervalul de timp de la aplicarea comenzii de nchidere pn ce
semnalul de ieire atinge o valoare egal cu cea de la intrare (cu o
precizie impus , de exemplu 1%);
timpul de comutare invers (deschidere): t off [ns, s]. Este definit ca
intervalul de timp de la aplicarea comenzii de deschidere pn la
reducerea curentului la valoarea curentului de pierderi, I off , la valoarea
specificat n catalog;
banda de frecvene: B .
Multiplexorul analogic permite utilizarea unui singur convertor analogdigital pentru mai multe canale analogice de intrare (sisteme de achizi ii de date
cu multiplexare temporal ). Utilizarea multiplexoarelor reprezint o solu ie
economic viabil i n cazul semnalelor de intrare de nivel redus, pentru care
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

multiplexarea se realizeaz cu costuri ridicate.


Elementul principal al multiplexoarelor analogice l constituie elementul
de comutare, care poate fi realizat n mai multe variante constructive:
cu relee obinuite;
cu relee cu mercur;
cu relee reed;
cu elemente semiconductoare (tranzistoare bipolare, diode Schottky,
tranzistoare TEC-J, tranzistoare CMOS).
Primele trei variante constructive, utiliznd elemente electromecanice,
conduc la investi ii ini iale reduse, compensate ns de costuri ridicate de
exploatare, fiabilitate i durat de func ionare reduse. De aceea, utilizarea lor
este recomandabil doar n situa iile n care este nevoie s fie mutiplexate
semnale cu nivele mari.
Fiecare tip constructiv de multiplexoare analogice, realizat cu elemente
semiconductoare, sunt caracterizate de unele performan e notabile, dar i de
incoveniente mai mult sau mai pu in surmontabile. Astfel:
comutatoarele cu diode rapide au timp de comuta ie de valori foarte
reduse (1 ns), ns rezisten ele reziduale (n stare nchis , respectiv
deschis ) R on i R off au valori neperformante, n compara ie cu alte
tipuri;
comutatoarele cu tranzistoare bipolare au timpi de comuta ie mici i
rezisten e reziduale R on de valori reduse, necesit curen i de comand
importan i, dar R off are o valoare relativ mic , ceea ce conduce la o
transparen mare a comutatorului;
comutatoarele cu tranzistoare cu efect de cmp TEC-J au rezisten a
R on de ordinul zecilor de ohmi, timpi de comuta ie medii, ns necesit
circuite de comand complicate (translatoare de nivel pentru
compatibilizarea comenzilor);
comutatoarele cu tranzistoare complementare CMOS sunt cele mai
avantajoase i cele mai folosite. Ele sunt caracterizate prin timpi de
comuta ie satisf c tori, rezisten a R on de valoare relativ mic i R off
de valoare ridicat . n acelai timp ele pot fi comandate foarte simplu,
iar transparen a crete doar la frecven e nalte (10 5 10 8 Hz).
n prezent, datorit evolu iei explozive a tehnologiei dispozitivelor
semiconductoare CMOS, au fost realizate multiplexoare analogice ce pot fi
direct interfa ate cu un microprocesor. Acestea dispun de un registru ce poate
memora adresa de canal prin executarea unei instruc iuni de scriere la adresa
specific alocat multiplexorului. De asemenea, majoritatea multiplexoarelor
analogice realizate n tehnologie CMOS sunt caracterizate de protec ia
dispozitivului la aplicarea unor supratensiuni pe intr ri, cu valori de 5-6 ori mai
mari dect semnalele manipulate n func ionare normal . Protec iile sunt active
8

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

pentru canale n stare on sau off n cazul dispozitivelor n stare de func ionare
(alimentate), i chiar pentru circuite nealimentate. Un canal deschis, c ruia i se
aplic o supratensiune, este comutat automat n stare off, realiznd protec ia
etajelor electronice conectate la ieirea multiplexorului. Un exemplu tipic de
astfel de multiplexor analogic interfa abil i cu protec ie la aplicarea de
supratensiuni accidentale pe intr ri este circuitul MAX368, produs de firma
Maxim.

2.2.2 CIRCUITE DE EANTIONARE-MEMORARE


UTILIZATE N SISTEME DE ACHIZI II DE DATE
Un circuit de eantionare-memorare realizeaz prelevarea, la un moment
dat, a valorii unui semnal analogic i memorarea analogic a acesteia (fig. 2.3a).
n modul de lucru eantionare (sau urmrire), determinat de nivelul
logic 1 al semnalului de comand E/ M , circuitul de eantionare-memorare
func ioneaz ca repetor. n modul de lucru memorare (sau meninere),
determinat de nivelul logic 0 al semnalului de comand E/ M , circuitul de
eantionare-memorare func ioneaz ca o memorie analogic, memornd la
bornele unei capacit i semnalul de intrare eantionat anterior (fig. 2.3b).
Circuitele de eantionare-memorare se utilizeaz n sistemele de achizi ie
i distribu ie de date. Astfel, ntr-un sistem de achizi ii de date, ieirea circuitului
de eantionare-memorare este conectat la intrarea convertorului analog-digital
(CA/D). n intervalul corespunz tor efectu rii unei conversii analog-numerice,
circuitul de eantionare-memorare este comandat n stare de memorare pentru a
men ine constant tensiunea la intrarea convertorului analog-digital. Se ob ine
astfel m rirea valorii limitei superioare a domeniului de frecven e ale semnalului
de intrare pentru care CA/D poate fi utilizat la rezolu ia maxim (specificat de
num rul de bi i ai rezultatului conversiei). Acest deziderat este realizat dac
tensiunea de la intrarea convertorului analog-digital nu se modific , pe durata
efectu rii conversiei, cu mai mult de 1/2 LSB. n sistemele de distribu ie a
datelor, circuitele de eantionare-memorare sunt utilizate pentru reconstituirea
semnalelor multiplexate n timp.
Circuitele de eantionare-memorare sunt caracterizate de o serie de
parametri (fig. 2.4), grupa i n mai multe caracteristici:
caracteristici de urm rire (fig. 2.4a):
eroarea staionar - reprezint abaterea de la amplificarea unitar
sau de la cea specificat prin datele de catalog;

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

Ui , Ue

Ue
Ui

Ui

Circuit de
eantionarememorare

Ue

t1 t2 t3
E/M

Eantionare
Memorare

a) structur func ional

b) opera ia de eantionare-memorare

Fig. 2.3 Circuit de eantionare-memorare.

eroarea de decalaj - reprezint valoarea ieirii pentru o tensiune de


intrare nul ;
Intrare

Eroare sta ionar

Ieire
Eroare de decalaj
Eroare
de decalaj

Ieire ideal

Intrare
Ieire

Eantionare (E)

Timp de stabilire

Timp de
apertur

Timp de
stabilire

Memorare (M)

a) caracteristici de urm rire

b) caracteristici de tranzi ie E/M


Timpi de
stabilire
Intrare

Intrare
Ieire ideal
C dere

P trundere

Ieire

Ieire

Timp de
achizi ie
Eantionare (E)
Memorare (M)

c) caracteristici de memorare

d) caracteristici de tranzi ie M/E

Fig. 2.4 Erori ale circuitelor de eantionare-memorare.

timpul de stabilire - reprezint intervalul de timp necesar pentru


10

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

atingerea valorii dorite a ieirii, cu o toleran maxim specificat ;


caracteristici de tranzi ie eantionare-memorare (fig. 2.4b):
timpul de apertur - reprezint intervalul de timp dintre comanda
de memorare i momentul efectiv al comut rii circuitului n regim
de memorare;
incertitudinea timpului de apertur - reprezint varia ia timpului de
deschidere a comutatorului regimului de eantionare-memorare,
dup primirea comenzii de memorare;
eroarea de decalaj la memorare - este determinat , n principal, de
comutarea trzie a circuitului de memorare i a regimului
tranzitoriu de nc rcare a condensatorului de memorare;
caracteristici de memorare (fig. 2.4c):
cderea - reprezint tendin a de sc dere a nivelului de la ieire fa
de cel ideal, datorit desc rc rii condensatorului de memorare;
ptrunderea - caracterizeaz influen a intr rii asupra ieirii,
datorat imperfec iunilor circuitelor de comutare analogic ;
caracteristici de comutare memorare-eantionare (fig. 2.4d):
timpul de achiziie - reprezint intervalul minim necesar de
eantionare, pentru a se ob ine o tensiune de ieire dorit , egal cu
semnalul aplicat la intrare cu o toleran dat . cest parametru
depinde aproape liniar de valoarea capacit ii de memorare;
timpul de stabilire la tranziia memorare-eantionare - reprezint
intervalul de timp dintre comutarea propriu-zis i atingerea unei
valori a ieirii corespunz toare intr rii, cu o toleran maxim
specificat .
Uzual, n cadrul sistemelor de achizi ii de date sunt utilizate:
circuite de eantionare-memorare n bucl de reac ie;
circuite de eantionare-memorare cu integrare.
n timpul opera iei de eantionare, bucla de reac ie negativ din fig. 2.5
permite eliminarea erorii de mod comun i a erorii de offset, ieirea fiind for at
s urm reasc intrarea. Ca efect, tensiunea la bornele capacit ii de memorare C,
pe durata ct comutatorul K este nchis, este egal cu:
A
(2.1)
Ue = Ui
A 1
n care A reprezint amplificarea n bucl deschis a amplificatorului opera ional
A1(de valoare foarte mare). Se ob ine astfel egalitatea ntre Ue i Ui.
Precizia ridicat este ob inut n detrimentul rapidit ii, deoarece pe durata
regimului de memorare amplificatorul A1 este saturat, ntoarcerea la
func ionarea liniar , pentru opera ia de eantionare, determin creterea timpului
de achizi ie, care poate atinge mai multe zeci de s.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

11

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

_
_
Ui(t)

K
A1

Ue(t)

A2

A(Ue-Ui)
C

E/M

Fig. 2.5 Circuit de eantionare-memorare cu bucl de reac ie negativ .

n fig. 2.6 sunt prezentate dou variante de circuit de eantionarememorare cu integrare. n montajul din fig. 2.6a capacitatea de memorare C este
izolat n raport cu masa circuitului, iar comutatorul K func ioneaz n comuta ie
de curent, comanda fiind simplificat . Ca i n cazul precedent, primul
amplificator este saturat pe durata regimului de memorare. Evitarea satur rii
ieirii amplificatorului A1 este ilustrat n schema din fig. 2.6b.
R

_
Ui(t)

K
A1

C
A2

E/M

a)

_
Ui(t)

Ue(t)

A1

C
A2

+
+

Ue(t)

E/M

b)

Fig. 2.6 Circuite de eantionare-memorare cu integrare.

n tabelul 2.1 sunt prezentate cteva tipuri de circuite de eantionare i


memorare, produse de firme cum ar fi: Analog Devices, National, Burr-Brown i
Datel-Intersil.
Circuitele de eantionare-memorare disponibile la momentul actual
acoper o palet larg i divers din punct de vedere al performan elor, la cele
dou extreme aflndu-se, pe de o parte, circuitele de eantionare-memorare
rapide, dar cu o exactitate sc zut , respectiv cele lente, dar cu exactitate bun n
ceea ce privete deriva, decalajul etc.
Aplica iile ce necesit utilizarea circuitelor de eantionare-memorare
acoper i ele o palet larg de frecven e i viteze de varia ie a semnalelor de
eantionat. n general, semnalele rapid variabile nu necesit o precizie deosebit ,
din aceast cauz , n regim tranzitoriu, viteza constituie parametrul principal,
ceea ce nseamn timpi de achizi ie i de stabilire mici. O situa ie mai dificil
este atunci cnd se cere o vitez ridicat de eantionare i, n acelai timp, o
precizie bun .

12

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Tabelul 2.1 Principalele caracteristici ale unor circuite de eantionare i


memorare
Tipul
AD582
AD583
LF398
SHC298

Timpul
Timpul
de
Precizia
de
achizi ie
apertur
6 s
25 s
4 s
5 s
4 s
6 s
9 s
10 s

AD346

2 s

SHC85
HTS0025

0,10 %
0,01 %
0,10 %
0,01 %
0,10 %
0,01 %
0,10 %
0,01 %

Timpul
de
stabilire

Tehnologie; Particularit i

150 ns

0,5 s

monolitic , uz comun

50 ns

monolitic , rapid

150 ns

0,8 s

monolitic , uz comun

200 ns

1,5 s

monolitic , uz comun

0,01 %

60 ns

0,5 s

4 s

0,01 %

25 ns

0,5 s

20 ns

0,01 %

20 ns

30 ns

hibrid , condensator de memorare


intern
hibrid , condensator de memorare
intern, timp ridicat de re inere a
tensiunii
hibrid , extrem de rapid

Pentru semnale caracterizate printr-o vitez de varia ie mai sc zut , se


aleg circuite de eantionare-memorare cu performan e satisf c toare de vitez ,
dar cu performan e bune n ceea ce privete dispersia la deschidere, deriva de
zero i rata de desc rcare a condensatorului de memorare.
R

E
A

Ui(t)

Ue(t)

Circuit de
comand

E
M

Fig. 2.7 Circuit de eantionare memorare cu blocare.

Pentru memorarea valorilor semnalelor, n vederea conversiei analogdigitale, cea mai des utilizat metod de eantionare este eantionarea prin
blocare. n aceeast metod , valoarea semnalului este memorat din primul
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

13

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

moment al eantion rii.


Un exemplu de circuit care utilizeaz aceast metod de eantionare, este
circuitul de eantionare-memorare cu integrare, varianta inversoare, a c rui
schem func ional este prezentat n fig. 2.7.

2.2.3 CIRCUITE PENTRU CONVERSIA DATELOR


UTILIZATE N SISTEME DE ACHIZI II DE DATE:
CONVERTOARE ANALOG-DIGITALE I DIGITALANALOGICE
Conversia datelor reprezint principala opera ie realizat n cadrul
sistemelor de achizi ie i reprezint transformarea semnalelor din form
analogic n form digital sau invers.
Convertorul analog-digital reprezint componenta principal a oric rui
sistem de achizi ii de date. Acesta realizeaz transformarea tensiunii analogice
de la intrare ntr-un cod numeric binar (fig. 2.8a).
Acest rezultat reprezint cea mai bun aproxima ie numeric a tensiunii
de la intrare. M sura acestei aproxima ii este reprezentat de num rul de bi i ai
rezultatului conversiei.
ntr-un sens mai larg, procesul de conversie analog-digital poate fi
considerat ca o plasare a m rimii de intrare ntr-un interval de cuantizare,
ob inut prin divizarea intervalului de varia ie a acesteia ntr-un num r de clase
egale.
Atunci cnd m rimea exprimat numeric la intrare este transformat n
m rime analogic la ieire se realizeaz o conversie digital-analogic (fig. 2.8c).
Cod

7/8 111

Ui

n
CA/D
Ieire
numeric

Semnal de ieire al CA/D

3/4 110

Uref

5/8 101
1/2 100
3/8 011

1/4 010
1/8 001
0 000

Niveluri
0
cuantificate (Ui /Uref)

a) structura func ional a CA/D

14

1 1 3 1 5 3
8 4 8 2 8 4
Semnal analogic de intrare

7
8

Ui

b) caracteristica de transfer ideal a CA/D

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
U0

Uref

n
CD/A

U0

Intrare
numeric

Semnal analogic de ieire

7/8U ref
6/8U ref
5/8U ref
4/8U ref
3/8U ref
2/8U ref
1/8U ref
0
0
0
0

c) structura func ional a CD/A

0 0 0 1 1 1
0 1 1 0 0 1
1 0 1 0 1 0
Semnal digital de intrare

1
1
1

Cod

d) caracteristica de transfer ideal a CD/A

Fig. 2.8 Convertoare analog-digitale i digital analogice: reprezentare


func ional i caracteristic ideal de transfer.

Circuitele de conversie a datelor utilizate n cadrul sistemelor de achizi ii


de date sunt caracterizate printr-o serie de parametri, cum ar fi:
gama de variaie a intrrii (pentru CA/D) sau a ieirii (pentru
CD/A)(domeniul de lucru), reprezentnd domeniul maxim de varia ie a
m rimii analogice (de obicei tensiune) i exprimat n unit i absolute
(V, mV, mA) sau relative (dB);
caracteristica de transfer, reprezentnd dependen a m rimii de la
ieirea convertorului fa de m rimea de intrare; pentru un convertor
analog-digital caracteristica de transfer ideal este o func ie scar (fig.
2.8b) iar pentru un convertor digital-analogic este un set de puncte
dispuse pe o dreapt (fig. 2.8d);
rezoluia reprezint num rul total de coduri distincte de ieire ale
convertorului analog-digital, respectiv num rul total de nivele de ieire
pentru un convertor digital-analogic. Uzual, rezolu ia se exprim n
bi i, n procente din valoarea domeniului de lucru, sau n num r de
nivele de cuantificare (CA/D) sau de ieire (CD/A). Rezolu ia teoretic
a unui convertor de N bi i este 2 N ; rezolu ia real poate fi ns mai
mic , datorit erorilor. Acest parametru important al convertoarelor se
determin ca reprezentnd valoarea varia iei minime a m rimii de
intrare ce provoac modificarea a dou coduri consecutive de ieire
(CA/D), respectiv valoarea varia iei minime a m rimii analogice de la
1
ieire (CD/A). Rezolu ia poate fi prezentat ca fiind N din domeniul
2
de lucru.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

15

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

Acest parametru nu trebuie considerat ca o performan specific a


convertorului, ci un parametru de proiectare. Plecnd de la o aplica ie
concret , pentru care se impune prelevarea unei m rimi cu o precizie
dat , se poate determina rezolu ia minim a convertorului ce va fi
folosit;
timpul de stabilire caracterizeaz viteza de r spuns a circuitului i
reprezint timpul scurs ntre aplicarea unui semnal de intrare de tip
treapt ideal i pn la ob inerea ieirii dorite cu o aproxima ie
specificat (de regul 1/2 LSB) (fig. 2.9). Timpul de stabilire include
mai multe intervale de timp specifice, cum ar fi: timpul de propagare
t p (pn la nceperea unui efect observabil la ieire), timpul de cretere

16

t c (pn la prima atingere a nivelului de ieire dorit), timpul de


restabilire t r (dup supracreterea ieirii) i timpul de relaxare liniar
t a (amortizarea eventualului r spuns oscilant). Este un parametru
specific convertoarelor digital-analogice i se exprim n unit i de
timp, indicnd i limitele intervalului de aproxima ie n jurul ieirii
specificate;
timpul de conversie, t CONV , reprezint intervalul de timp necesar unui
convertor s ob in m rimea de ieire pornind de la o m rime de
intrare dat (timpul necesar ob inerii codului numeric de ieire
corespunz tor m rimii analogice de intrare). Varia ia tensiunii de
intrare, pe parcursul procesului de conversie, introduce o eroare n
valoarea semnalului de ieire. n cazul convertoarelor digital-analogice
acest timp poate fi considerat a fi chiar timpul de stabilire;
timpul de revenire (relaxare), t rev , reprezint timpul necesar unui
convertor pentru a putea opera din nou corect;
rata de conversie este o m sur a vitezei convertorului i este definit
de inversul sumei timpilor de conversie i de revenire:
1
R CONV =
(2.2)
t CONV + t rev
n majoritatea situa iilor, timpul de revenire este mult mai mic dect
timpul de conversie, astfel nct rata de conversie poate fi aproximat
doar ca invers al timpului de conversie. n cazul convertoarelor rapide
i foarte rapide, timpul de revenire trebuie luat n calcul pentru
estimarea ratei de conversie;
timpul de conversie pe bit este timpul echivalent de generare a unui
bit (parametru caracteristic pentru convertoare analog-digitale
secven iale);
viteza de variaie a ieirii (SR Slew-Rate) a unui convertor D/A
reprezint o caracterizare a intervalului de timp necesar ieirii s

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

execute excursia maxim n cadrul domeniului de varia ie.


Ieire

Conversia analog-digital este


caracterizat n sine prin eroarea de
+1/2 LSB
cuantizare. Datorit formei caracteU0
-1/2 LSB
risticii de transfer (n scar ), a
codific rii unice a unui ntreg interval
SR
de cuantizare, apare o incertitudine de
1/2 LSB, nul la mijlocul intervalului i maxim la ambele capete.
t Influen a erorii de cuantizare poate fi
tp tc
ta
diminuat prin m rirea num rului de
tr
bi i ai codului de ieire a converTimp de stabilire
torului.
Fiecare cuant
(m rime a
Fig. 2.9 Timpul de stabilire.
intervalului) a unei astfel de diviz ri
reprezint o valoare a m rimii analogice, pe care se disting nivelurile semnalului
de intrare, prezentate prin dou combina ii de coduri nvecinate. Aceast cuant
poart denumirea de bitul cel mai pu in semnificativ (LSB).
Astfel:
U
q = LSB = i max N
(2.3)
2
unde: q este cuanta, iar U i max gama de varia ie a semnalului analogic de intrare.
Caracteristicile reale ale circuitelor de conversie a datelor pot diferi de
caracteristicile sale ideale (fig. 2.10). Caracteristica de transfer a convertorului
analog-digital poate fi translatat n raport cu cea ideal (fig 2.10a). Aceast
eroare se numete eroare de decalaj (offset) i se poate pune n eviden
aplicnd la intrare o m rime nul i m surnd ieirea.
Eroarea determinat de modificarea pantei caracteristicii de transfer reale
fa de cea ideal , eroarea ini ial fiind nul , se numete eroare de amplificare
(de gam) (fig. 2.10b). Pentru majoritatea CA/D erorile de decalaj i de
amplificare sunt mici i pot fi complet eliminate prin reglaj prealabil.
Mai dificil de eliminat sunt erorile legate de neliniaritatea caracteristicilor
de transfer, care nu pot fi nl turate prin reglare prealabil . Convertoarele
analog-digitale sunt caracterizate de dou tipuri de neliniarit i: cea integral ,
respectiv cea diferen ial :
neliniaritatea integral definete gradul n care caracteristica de
transfer a unui convertor se abate de la forma teoretic (ideal ) de
dreapt , considernd erori de decalaj i de amplificare nule (fig. 2.10c);

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

17

Eroarea de
decalaj
0

Ui max

Ui max
Semnal analogic de intrare

Semnal analogic de intrare

a) eroarea de decalaj

b) eroarea de amplificare

Ui max

Neliniaritatea
diferen ial

Semnal de ieire al CA/D

Neliniaritatea
integral

Semnal de ieire al CA/D

Eroarea de
amplificare

Semnal de ieire al CA/D

Semnal de ieire al CA/D

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

Codul
omis (001)

Pasul de
cuantizare neideal
Ui max

Semnal analogic de intrare

Semnal analogic de intrare

c) neliniaritatea integral

d) neliniaritatea diferen ial

Fig. 2.10 Erorile convertoarelor analog-digitale.

neliniaritatea diferenial caracterizeaz uniformitatea intervalelor de


cuantizare ale unui convertor analog-digital. Dac neliniaritatea
diferen ial dep ete 1 LSB, aceasta conduce la o comportare
nemonoton a caracteristicii de transfer (n semnalul numeric de ieire
poate lipsi una din combina iile de cod - fig 2.10d). Neliniaritatea
diferen ial este afectat de metoda de conversie; ea tinde s fie
maxim atunci cnd convertorul trece prin toate intervalele de
cuantizare secven ial.
Precizia reprezint capacitatea circuitelor de conversie de a respecta cu
stricte e caracteristica de transfer ideal , reflectnd capacitatea convertoarelor de
18

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

a nu fi afectate de erori sistematice i aleatoare. Precizia absolut caracterizeaz


func ionarea unui convertor n ansamblu, reflectnd orice anomalie a
caracteristicii de transfer. Precizia relativ este influen at doar de liniaritatea
caracteristicii de transfer.
Precizia total de conversie se realizeaz numai n cazul cnd aceast
eroare nu dep ete rezolu ia convertorului. Astfel, pentru un convertor cu
rezolu ia de N bi i, caracterizat de timpul de conversie t CONV , este necesar
ndeplinirea urm toarei condi ii:
U i max
dU i
(2.4)
N

dt max 2 t CONV

2.2.3.1 CONVERTOARE DIGITAL-ANALOGICE. SCHEME


DE PRINCIPIU
Conversia datelor presupune ca oric rei m rimi analogice s i se asocieze
o reprezentare numeric corespunz toare; codurile utilizate pot fi ponderate sau
neponderate, prezentnd avantajul unei exprim ri naturale i compatibilitate cu
circuitele de calcul numeric. n cazul unui cod ponderat, o cifr din cadrul unui
num r are semnifica ia valorii sale propriu-zise, ct i a ponderii datorate
pozi iei sale n cadrul num rului. Conversia digital-analogic presupune
transformarea valorii i ponderii cifrelor num rului ntr-o m rime de ieire
analogic corespunz toare (tensiune sau curent).
Considernd un num r ntreg binar de N bi i, de forma:

B N1B N2 ...B1B0 = Bi 2i
N 1
i =0

(2.5)

ponderea cifrei Bi1 (ce ocup pozi ia i ncepnd cu LSB) este 2i1 ; aadar
ponderea sa crete de la dreapta spre stnga de la valoarea 1 (ponderea LSB) la
valoarea 2 N1 (ponderea MSB). Aceleai observa ii sunt valabile i pentru un
num r subunitar de N bi i , de forma:
B1B 2 ...B N1B N = Bi 2 i
N

i =1

(2.6)

Procesul de conversie digital-analogic poate fi considerat similar cu


procesul de transformare a unui num r din sistemul de numera ie binar n
sistemul de numera ie zecimal: se asociaz fiec rei cifre binare 1 o anumit
valoare a unei m rimi electrice care se nsumeaz ponderat conform rangului pe
care l ocup n cadrul reprezent rii numerice. Deoarece ponderea cifrelor
descrete cu factori de forma 2 i , o solu ie simpl pentru realizarea opera iei de
ponderare ar consta n utilizarea unor re ele rezistive divizoare, cu mai multe
noduri, avnd ntre noduri consecutive un raport de divizare de 1/2. Majoritatea
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

19

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

convertoarelor digital-analogice moderne folosesc scheme cu sumare de curen i,


care sunt mai stabile, mai rapide i mai uor de realizat. Schema bloc a unui
astfel de convertor este prezentat n fig. 2.11.
Rr

_
U0

+
Interfa
digital
(numeric )
N

Re ea de
comutatoare

Re ea de
rezisten e

Referin
de tensiune

Fig. 2.11 Schema bloc simplificat a unui convertor digital-analogic.

Interfa a digital (numeric ) asigur compatibilitatea convertorului cu


semnale TTL/CMOS i produce semnale de comand pentru o re ea de
comutatoare analogice. Aceste comutatoare controleaz curen ii aplica i unei
re ele rezistive de precizie, care realizeaz ponderarea lor, pentru a ob ine, prin
sumare, valoarea analogic corespunz toare. Valorile curen ilor care circul prin
re ea sunt determinate de valorile rezisten elor ce compun re eaua i de m rimea
(tensiune sau curent) de referin ce intr n compunearea convertorului. Ieirea
poate fi constituit chiar de suma curen ilor din re ea sau de o tensiune ob inut
prin transformarea curent-tensiune.
Convertorul prezentat anterior func ioneaz n permanen : la fiecare
modificare a intr rii, ieirea reac ioneaz corespunz tor. Dac se dorete
men inerea valorii analogice de ieire i n absen a unei m rimi de intrare valide,
se poate recurge la memorarea acesteia ntr-un registru nc rcat adecvat, doar la
momentele de timp la care se dorete modificarea ieirii.
Pentru implementarea convertoarelor digital-analogice, aa cum a fost
precizat anterior, metoda consacrat const n utilizarea re elelor rezistive.
Convertoarele digital-analogice cu re ele ponderate binar (fig. 2.12a)
con in un grup de rezisten e de valori R i = 2i R, i = 1, N , conectate mpreun la
una dintre extremit i. Num rul rezisten elor din re ea este determinat de
num rul de bi i N ai cuvntului de intrare. Fiecare intrare logic , Bi , comand
cte un comutator analogic, K i , ce conecteaz cte o rezisten a re elei la sursa
de tensiune de referin , U ref , genernd un curent Ii . Tensiunea de ieire poate fi
calculat conform rela iei:
N
U
R N B U
R r N1
U 0 = R r Bi i ref = U ref r ii = ref
(2.7)

Bi 2 i
N
2 R
R i=1 2
2
R i =0
i =1
20

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Expresia (2.7) arat c m rimea de ieire este o frac iune din m rimea de
referin
U ref i propor ional cu num rul aplicat la intrare. Convertorul
prezentat func ioneaz doar unipolar. Pentru o func ionare bipolar , schema se
modific aducnd n nodul de sumare a curen ilor un curent egal cu jum tate din
valoarea corespunz toare cap tului de gam (fig. 2.12a cu linie punctat ).
Convertoarele digital-analogice bazate pe acest principiu se numesc i
convertoare digital-analogice cu cureni ponderai, deoarece schema utilizeaz
sumarea unor astfel de curen i.
Simplitatea structurii prezentate n fig. 2.12a trebuie pus n balan cu
inconvenientul major al stabilit ii i preciziei. Deoarece legea de varia ie a
rezisten elor re elei este exponen ial , la un num r mare de bi i, valorile lor se
distribuie pe un interval foarte mare. Acest lucru face dificil realizarea lor cu
precizii ridicate i cu caracteristici de temperatur identice.
Un alt tip de re ele rezistive utilizate pe scar larg n construc ia
convertoarelor digital-analogice, ct i n alte circuite de instrumenta ie
(convertoare analog-digitale, amplificatoare i atenuatoare programabile, etc)
sunt re elele rezisitve R-2R. Schema unei astfel de re ele care permite o rezolu ie
de N bi i (fig. 2.12b) prezint caracteristicile unei leg ri n cascad de divizoare
cu 2, comandate fiecare de cte un bit al cuvntului de la intrare. Re eaua
rezistiv con ine rezisten e de valoare R conectate n serie i rezisten e de
valoare 2R conectate n paralel. Fiec rui bit B i al cuvntului de intrare i este
asociat cte un comutator cu dou pozi ii, care conecteaz terminalele
rezisten elor 2R la mas ( Bi =0) sau la referin ( Bi =1). Comanda poate fi
f cut n tensiune sau n curent. Rezisten a de valoare 2R conectat n
permanen la mas are rolul ca rezisten a echivalent a circuitului m surat
ntre bornele de ieire s fie ntotdeauna R.
2R -I

-Uref
B1

K1

B2

K2

Rr

2 R I1 I
2

2 R I2

_
U0

BN
Uref

KN

2 R IN

a) Convertor digital-analogic unipolar/bipolar cu re ea ponderat binar.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

21

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

N-1 R

2R

2R

KN

U0
2R

2R
K1

KN-1

BN
BN-1
B1
Uref

b) Structura re elei rezistive R-2R.

K1

B1
B2
BN

Uref

2R

2R

I1

I2

K2

N
2R

2R
KN

IN

Rr

_
U0

c) Convertor digital-analogic cu re ea R-2R inversat .

22

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

B1
BN-1
BN
I0

KN

KN-1

K1

2R

2R

Iout

R
N

I0

I0

N-1
2R

1
2R

2R

d) Re ea R-2R comandat cu generatoare de curent.


Fig. 2.12 Principii de implementare ale convertoarelor digital-analogice.

n cazul structurii din fig. 2.12b, tensiunea de la ieire este descris prin
rela ia:
N 1
N
B U

U 0 = U ref ii = ref
Bi 2 i
(2.8)

N
2
i =0
i =1 2
Re elele rezistive R-2R comandate n tensiune sunt simple i ieftine, dar
au o liniaritate relativ redus datorit comport rii comutatoarelor analogice.
Comutatoarele analogice CMOS au o rezisten R on variabil , dependent de
tensiunea dren -surs a tranzistorului cu efect de cmp. Rezisten ele
comutatoarelor se sumeaz cu cele ale re elei, determinnd erori de neliniaritate
prin modificarea factorilor de divizare de la o celul la cealalt .
O variant a conversiei digital-analogice utilizeaz conexiunea invers ,
schimbnd rolul ieirii cu cel al intr rii (fig. 2.12c). n aceast situa ie,
comutatoarele se g sesc practic la acelai poten ial, iar rezisten ele re elei sunt
U
, i = 1, N , indiferent de
parcurse de curen i de valori constante, de tip ref i
2 R
pozi ia acestora. Valorile logice ale bi ilor cuvntului de intrare comand pozi ia
comutatoarelor; acestea determin sumarea componentei i de curent n nodul de
intrare al convertorului curent-tensiune sau conectarea acestei componente la
mas . Dezavantajul major al acestei structuri este reprezentat de valorile relativ
mari ale timpului de stabilire, datorate sum rii capacit ilor parazite.
Tensiunea de ieire a acestui tip de convertor digital-analogic este
caracterizat de expresia (2.7).
Re elele R-2R pot fi comandate direct n curent, folosind generatoare de
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

23

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

curent comutate (fig. 2.12d). Aceast schem este frecvent utilizat n cadrul
convertoarelor digital-analogice moderne, datorit performan elor sale de vitez .
Din punct de vedere al interfa rii convertoarelor digital-analogice n
cadrul sistemelor de achizi ii de date, trebuie remarcat c circuitele din prima
genera ie foloseau o interfa minimal cu circuitele numerice, cu rolul de
adaptare a nivelelor logice de comand . Circuitele din genera iile recente con in
integrate unul sau mai multe convertoare digital-analogice, registre de memorare
a cuvntului numeric de intrare i o logic de comand . Aceste resurse permit
interfa area simpl i unitar cu microcontroller-e i microprocesoare a c ror
magistral de date difer ca dimensiune de lungimea cuvntului de comand ,
respectiv programarea convertoarelor multiple (fig. 2.13).
C tre CD/A
N
LDAC

Registru
CD/A

CLR

C tre CD/A
N

LDAC

CS
Registru
de intrare

WR

CLR

Registru
CD/A
N

C tre CD/A_1 CSL


DIN

12

Registru
de intrare
LOW

WR

Registru
de intrare
HIGH

SCLK

CS
LDAC

Registru de deplasare
(24 bi i)

12
Registru
CD/A_1

CSH
8

12
Registru
CD/A_2

12

C tre CD/A_2

Fig. 2.13 Interfa area convertoarelor digital-analogice cu magistrala unui


microprocesor.

24

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Logica de comand permite memorarea int rii digitale sub forme diferite
(12 bi i - un singur ciclu de programare, 8+4 bi i - dou cicluri de programare,
intrare serial ), precum i selectarea modului de lucru (ieire unipolar sau
bipolar ).
O categorie aparte de convertoare digital-analogice o constituie circuitele
de conversie cu transformare intermediar n timp. Aceste circuite folosesc
transformarea m rimii numerice ntr-o m rime intermediar (durat sau
frecven ), ce produce ulterior m rimea de ieire analogic propor ional printr-un procedeu oarecare (filtrare, transfer de sarcin i integrare, etc). n aceast
categorie pot fi ncadrate convertoarele digital-analogice cu modula ie n durat
a impulsurilor (con inute n structura majorit ii microcontroller-elor moderne i
putnd fi utilizate n aplica ii n care nu sunt necesare performan e deosebite) i
convertoarele digital-analogice cu transformare frecven -tensiune.

2.2.3.2 CONVERTOARE ANALOG-DIGITALE. SCHEME DE


PRINCIPIU
Convertorul analog-digital realizeaz transformarea m rimii analogice de
la intrare ntr-o m rime numeric la ieire. Generaliznd, procesul de conversie
analog-digital poate fi considerat ca o plasare a m rimii de intrare ntr-un
interval de cuantizare, ob inut prin divizarea intervalului de varia ie a acesteia
ntr-un num r de clase egale. Prima opera ie definete aspectul temporal al
conversiei, n timp ce a doua opera ie definete chiar modul de ob inere a
echivalentului numeric al m rimii analogice.
Convertoarele analog-digitale sunt realizate pe baza unor solu ii
principiale extrem de diverse, fiecare dintre acestea prezentnd att avantaje, ct
i devavantaje. Pn n acest moment nu s-a g sit un principiu de func ionare
care s asigure simultan ob inerea ieftin de rezolu ii mari, viteze ridicate, erori
de neliniaritate foarte reduse, etc. De aceea, alegerea unui anumit tip de
convertor analog-digital se face n func ie de cerin ele aplica iei, urm rind
ob inerea performan elor dorite cu efort material minim.
Convertoare analog-digitale paralele. Ideea simpl a invers rii
procedeului de conversie digital-analogic cu ponderarea controlat numeric a
unei m rimi de referin , conduce la folosirea compar rii m rimii de intrare cu
un ir de valori de referin (reprezentnd limitele intervalelor de cuantizare),
pentru ob inerea conversiei analog-digitale. Tensiunea de referin este aplicat
unei re ele rezistive de precizie, astfel nct frac iunea din tensiunea de referin
aplicat intr rii inversoare a fiec rui comparator s fie cu un LSB mai mare
dect cea aplicat comparatorului de pe rangul anterior. Comparatoarele
realizeaz atribuirea m rimii de intrare (de pe intr rile neinversoare) unui
interval de cuantizare; toate comparatoarele ale c ror referin este mai mic
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

25

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

dect tensiunea de intrare produc un nivel logic 1 la ieire, celelalte


comparatoare vor furniza la ieire nivele logice 0. Ieirile re elei de 2 N 1
comparatoare sunt aplicate unui codificator logic cu priorit i care are rolul de a
furniza la ieire codul numeric dorit (fig. 2.14).
Acest tip de convertor ob ine bi ii cuvntului de ieire simultan i
independent de valoarea sau polaritatea intr rii; de aici, denumirea de convertor
analog-digital paralel sau flash. Num rul mic de opera ii, precum i simplitatea
lor, determin viteza foarte ridicat a acestui tip de convertor. Principalul s u
dezavantaj const n rezolu ia limitat , datorat creterii exponen iale a
num rului de comparatoare odat cu creterea num rului de bi i de ieire. Este
utilizat n conversia rapid a semnalelor video (televiziune, radar), ct i ca
subansamblu n implementarea altor tipuri de convertoare rapide.
+Uref
R

+
_
C2N-2

Ui

+
R

B0B1...BN-1

Codificator de priorit i

C2N-1

(2 -1 nivele la N bi i de ieire)

C1
R

-Uref

Fig. 2.14 Convertor analog-digital paralel (flash).


Convertoare analog-digitale analog-seriale i digital-paralele. O alt
solu ie de ob inere a unor convertoare rapide const n cascadarea unor celule
elementare de conversie ce con in amplificatoare i comparatoare (fig. 2.15).
Celula elementar (fig. 2.15a) con ine dou amplificatoare diferen iale cu
amplificarea egal cu 2, ce produc ieiri cu tendin e de varia ii contrare; ieirile
amplificatoarelor diferen iale sunt selectate cu ajutorul unui multiplexor
analogic comandat de ieirea unui comparator avnd tensiunea de prag egal cu
jum tatea tensiunii de referin . Aceast tensiune de prag este ob inut prin
26

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

divizarea cu 2 (cu ajutorul unui divizor rezistiv de precizie) a tensiunii de


referin a convertorului. Caracteristica de tranfer a circuitului elementar este
prezentat n fig. 2.15b.
n aceste condi ii, se poate preciza expresia ieirii analogice:
0 U i < U ref 2
2 U i ,
U0 =
(2.9)
2 (U ref U i ), U ref 2 U i < U ref

i cea a ieirii logice:

0, 0 U i < U ref 2
B=
(2.10)

<
1
,
U
2
U
U
ref
i
ref

Lan ul de celule, realizat prin nserierea analogic , este prezentat n fig.

2.15c.
_

U0

A=2

Ui

2Umax

U0

Uref =Umax

A=2
+Uref

+
R

Umax

+Uref /2
B

C
R

a) Celula elementar de conversie

Uref

U0

Ui

Umax

Ui

b) Caracteristica de transfer
BN

B
Ui

Umax /2

B2

B1

Ui

Uref

B
U0

Ui

Uref

U0

Uref

c) Cascadarea mai multor celule pentru ob inerea cuvntului de ieire


Fig. 2.15 Convertor analog-digital analog-serial i digital-paralel.

La aplicarea semnalului analogic la intrarea lan ului, acesta se va propaga


rapid de la un etaj la altul producnd ntr-un timp foarte scurt ieiri stabile att
pe liniile analogice, ct i pe cele digitale. Este necesar, ca pe durata conversiei,
valoarea analogic aplicat la intrarea lan ului s fie stabil . Acest deziderat
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

27

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR


B1

B2

B3

B4

poate fi realizat prin utilizarea unui


circuit de eantionare-memorare.
D41
Timpul complet de conversie este
Clk3
determinat de ntrzierea global prin
celulele lan ului. Cu toate acestea, fiecare
D31
D32
bit poate fi memorat imediat ce este
Clk2
ob inut, astfel nct o nou conversie
poate fi demarat
dup
ob inerea
D21
D22
D23
primului bit. Utiliznd acest principiu,
Clk1
rata de conversie este determinat de
timpul de ob inere a unui singur bit.
D11
D11
D11
D11
Acest tip de convertor permite, cu o
schem numeric adecvat (pipeline pe
Ui
fiecare bit - fig. 2.16), ob inerea unui
CA1
CA2
CA3
CA4
cuvnt la rata de conversie a unei singure
Uref
celule.
Fig. 2.16 Convertor analog-digital
Structurile descrise anterior i
rapid cu timp de conversie egal cu g sesc aplica ii n domeniul convertoatimpul de ob inere a unui bit.
relor video utilizate n achizi ii de
imagine. n practic , num rul de celule
ce pot fi cascadate este limitat din considerente tehnologice. Ca urmare, acest tip
de convertor se utilizeaz n scheme mixte, mpreun cu cele paralele
(convertoare analog-digitale analog-seriale i digital-paralele pentru rangurile
superioare i convertoarele analog-digitale paralele pentru rangurile inferioare).
n momentul de fa se constat o revenire spectaculoas a ideii expuse,
odat cu dezvoltarea arhitecturilor sistolice de prelucrare a semnalelor.
Convertoare analog-digitale serie-paralel. O solu ie de compromis, care
poate fi exploatat foarte eficient la ob inerea unor rezolu ii i viteze ridicate,
este utilizarea tehnicii cu corec ie de subdomeniu.
Un convertor analog-digital de N bi i (num r par), func ionnd pe
principiul amintit, folosete dou convertoare analog-digitale de N 2 bi i care
vor furniza mai nti partea mai semnaificativ a rezultatului i apoi partea mai
pu in semnificativ .
n fig. 2.17a este prezentat un convertor analog-digital rapid de 8 bi i. Un
ciclu de conversie al acestui convertor poate fi rezumat astfel:
se furnizeaz din exterior comanda de start conversie, care
ini ializeaz logica intern de sincronizare;
circuitul de eantionare-memorare este comandat n starea de
memorare ( E/ M = 0 );
se activeaz func ionarea primului convertor analog-digital paralel,
activnd semnalul Clk1 ;
Clk4

28

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

E/M
Clk1
Logic de Clk2
control i Clk3
sincronizare Clk4

Start

B8
LSB
B7
B6
B5
B4
B3
B2
B1

Registru
(4 bi i)

Registru
(8 bi i)

Buffer 2

CA/D paralel
(4 bi i)

Ui

CD/A rapid
(4 bi i)

Circuit de
eantionarememorare

CA/D paralel
(4 bi i)

Buffer 1

MSB

B8
B7
B6
B5
B4
B3
B2
B1
DRDY

a) Convertor analog-digital de 8 bi i cu corec ie de subdomeniu

Start

Logic de
control i
sincronizare

Clk2

Registru
(10 bi i)

Clk1

Logic de corec ie numeric

E/M

CA/D paralel
(8 bi i)

Circuit de
eantionarememorare

Ui

CD/A rapid
(3 bi i)

CA/D paralel
(3 bi i)

Buffer 1

B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
DRDY

Clk3
Clk4

b) Convertor analog-digital de 10 bi i cu corec ie numeric de subdomeniu


Fig. 2.17 Convertoare serie-paralel.

dup ncheierea conversiei, se ncarc registrul intermediar cu cei mai


semnificativi 4 bi i ai valorii analogice convertite, activnd semnalul
Clk 2 ;
aceeai valoare numeric se aplic i convertorului digital-analogic de
precizie. Acest convertor va produce la ieire o valoare analogic
foarte apropiat de cea a intr rii, mai pu in eroarea de cuantizare. Dup
expirarea timpului de stabilire, se activeaz func ionarea celui de-al
doilea convertor analog-digital paralel, activnd semnalul Clk 3 . Acest
convertor primete ca semnal analogic de intrare rezultatul diferen ei
dintre tensiunea de intrare i versiunea sa cuantizat (de la ieirea
CD/A);
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

29

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

la sfrsitul conversiei, se poate nc rca, activnd semnalul Clk 4 ,


registrul de 8 bi i de la ieire att cu cei mai pu in semnificativi bi i
abia ob inu i, ct i cu bi ii cei mai semnificativi memora i n registrul
intermediar;
dup nc rcarea registrului de ieire, se poate activa semnalul DRDY ,
semnaliznd faptul c este disponibil un nou rezultat al conversiei.
Convertorul cu corec ie de subdomeniu este cunoscut i sub denumirea de
convertor analog-digital serie-paralel i reprezint una dintre solu iile de
compromis ntre cost i performan e. Cu toate acestea, liniaritatea diferen ial
este sc zut , mai ales la tranzi ia de la bitul N 2 la bitul (N 2 ) + 1 ; aceast
eroare poate dep i cu uurin 1 LSB i ca urmare poate provoca omiterea unor
coduri i abateri de la monotonie. Problema poate fi rezolvat cu ajutorul unei
tehnici de conversie analog-digital paralel , numit corecie numeric de
subdomeniu (fig. 2.17b). Convertoarele ce folosesc corec ia numeric de
subdomeniu au o arhitectur similar cu cea prezentat anterior, dar semnalul
analogic este cuantizat suplimentar; rezolu ia astfel ob inut este utilizat n
cadrul unui circuit numeric de corec ie a erorilor incrementale, erori inerente
convertoarelor analog-digitale cu corec ie de subdomeniu ce folosesc tehnologii
uzuale.
n figura 2.17b este prezentat un convertor analog-digital de 10 bi i. Cei
mai semnificativi 3 bi i sunt ob inu i cu un convertor A/D paralel; ei sunt
introdui ntr-un convertor D/A de 3 bi i cu precizie de 12 bi i, pentru a putea
p stra precizia ieirii corespunz toare rezolu iei de 10 bi i. Diferen a dintre
valoarea intr rii i valoarea corespunz toare ieirii convertorului D/A este
amplificat i aplicat la intrarea celui de-al doilea convertor A/D paralel de 8
bi i, cu ajutorul c ruia se ob in bi ii mai pu in semnificativi. Dup cum se poate
observa, acest convertor produce un bit suplimentar, folosit pentru corec ia
numeric de subdomeniu. Aceast corec ie contribuie substan ial la
mbun t irea liniarit ii.
Convertoarele analog-digitale serie-paralel sunt frecvent utilizate n
sistemele de achizi ie a semnalelor video.
Convertoare analog-digitale cu reacie. Dei simple ca principiu,
convertoarele analog-digitale paralele sunt limitate ca rezolu ie datorit
complexit ilor tehnologice (num rul mare de comparatoare determin creterea
dimensiunilor fizice, puterea disipat i pre ul de cost). Ideea compar rii m rimii
analogice de intrare cu un set de valori de referin este aplicabil , ntr-o
variant mai economic , secven ial, n cadrul convertoarelor analog-digitale cu
reac ie. Cu un singur comparator, un convertor digital-analogic destinat
gener rii treptelor de referin i o logic secven ial (num r tor/registru) care
genereaz numeric limitele intervalelor de cuantizare se ob ine un convertor
analog-digital cu reac ie.
M rimea analogic de intrare este comparat cu m rimea de referin
30

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

generat de ansamblul convertor digital-analogic-logic de control; func ie de


rezultatul compar rii, logica de control decide urm toarea valoare logic pe care
o va produce n pasul urm tor (fig. 2.18a). Algoritmul de conversie poate fi
implementat n mai multe variante, din care rezult i tipurile convertoarelor
A/D cu reac ie:
convertor analog-digital cu num rare (fig. 2.18b);
convertor analog-digital cu urm rire (fig. 2.18c);
convertor analog-digital cu aproxima ii succesive (fig. 2.18d).
Clock
Start
EOC

Ui(t) _
Logic de
control

N
Uref

Convertor digitalanalogic (CD/A)

a) Schema bloc a unui convertor analog-digital cu reac ie.


Clock
U
Ui
Num r tor
S

Clk

Start

Reset
Qi

Busy

Ui(t) _

UN

+
UN

Ui(t)

Uref

Start
Clk

b) Convertor analog-digital cu num rare


U
Ui
Num r tor

+
_

Convertor digitalanalogic (CD/A)

U/D

reversibil

Clk

Clock

Qi
N
UN

Convertor digitalanalogic (CD/A)

UN

Uref

U/D
c) Convertor analog-digital cu urm rire

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

31

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR


Ui(t)

+
_

Ui /Uref
8/8
Ui
EOC
7/8
6/8
5/8
UN
4/8
N
3/8
U
2/8
ref
Convertor digital1/8
analogic (CD/A)
0
1 1 0 0 ...
d) Convertor analog-digital cu aproxima ii succesive
Registru de
SC
aproxima ii
DS
succesive EOC
Qi

UN

Start

Fig. 2.18 Convertoare analog-digitale cu reac ie.

Convertorul A/D cu numrare folosete cel mai simplu algoritm de


generare a treptelor de referin : parcurgerea lor consecutive (num rare), de la
limita inferioar a gamei de lucru i pn la dep irea valorii analogice de la
intrare (fig. 2.18b). Logica de control are la baz un num r tor, ini ializat la
nceputul fiec rui ciclu de conversie; num rul de bi i ai acestuia este egal cu
rezolu ia convertorului D/A i a circuitului de conversie realizat. Semnalul
Start determin reset-area num r torului i valideaz intrarea de ceas a
num r torului prin set-area bistabilului de tip RS; n acelai timp, convertorul
D/A produce o tensiune U N la limita inferioar a domeniului de lucru.
Dispunnd de semnal de ceas, num r torul ncepe s se incrementeze, crescnd
i tensiunea de referin U N trept cu treapt . La atingerea valorii semnalului de
intrare, comparatorul i schimb starea de la ieire, reset-eaz bistabilul i
oprete ceasul de num rare, finaliznd procesul de conversie. Ieirea acestui
bistabil poate fi utilizat drept semnal conversie n curs de desfurare.
Se poate observa uor c durata conversiei nu este constant , ea depinznd
de valoarea m rimii analogice aplicate la intrare. Dei timpul de conversie poate
fi redus prin creterea frecven ei ceasului, limita sa superioar este determinat
de timpul de propagare pentru num r tor i circuitele por ii, de timpul de
stabilire al CD/A i al comparatorului.
Dei avantajul major al acestei structuri rezid n simplitatea sa, acest
convertor cu reac ie e caracterizat de un timp de conversie ridicat, dependent de
valoarea intr rii, precum i de o rejec ie slab a perturba iilor (determinat de
varia ia impedan ei de intrare).
nlocuind n schema precedent num r torul cu incrementare cu unul
reversibil (cu incrementare/decrementare) i comandnd sensul de num rare n
func ie de rezultatul compar rii m rimii de intrare cu treptele de referin , se
ob ine un convertor analog-digital cu urmrire (func ionare continu ) (fig.
2.18c). Ieirea comparatorului reprezint , de fapt, codificarea pe un bit a
tendin ei de varia ie a semnalului de intrare. Dac semnalul de intrare este
relativ constant, dup egalizarea semnalului U N cu m rimea de la intrare, ieirea
32

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

comparatorului va oscila, odat cu U N , eroarea conversiei fiind 0,5 LSB.


Valoarea numeric corespunz toare intr rii va fi oricare dintre st rile
num r torului reversibil (aproxima ie prin lips sau adaos).
Problema fundamental a acestor dou tipuri de convertoare A/D cu
reac ie const n posibilitatea apari iei distorsiunilor de neurm rire, cauzate de
viteza constant de incrementare/decrementare a num r torului (limiteaz viteza
de varia ie a semnalelor aplicate la intrare). n practic , banda de frecven e a
semnalului de intrare este limitat la valori de ordinul ctorva kHz.
nlocuind num r torul din bucla de reac ie a convertorului cu un registru
de deplasare special, denumit registru de aproxima ii succesive, se determin
eliminarea dezavantajelor men ionate anterior. Se ob ine, astfel, un convertor
analog-digital cu aproximaii succesive.
n fig 2.18d este prezentat schema func ional a convertorului analogdigital cu aproxima ii succesive pentru N=3 i se prezint principiul lui de
func ionare.
Conversia ncepe cu ini ializarea la valoarea 1 a bitului celui mai
semnificativ (MSB) n cadrul registrului de aproxima ii succesive. Aceasta
corespunde primei evalu ri a valorii semnalului de intrare cu jum tatea valorii
domeniului de intrare. Se compar semnalul de ieire al CD/A corespunz tor
acestei valori cu tensiunea de intrare i se comand de reset-area valorii bitului
celui mai semnificativ dac evaluarea primar dep ete valoarea semnalului de
intrare; n caz contrar aceeast valoare este validat i este memorat . n tactul
urm tor controlerul fixeaz valoarea 1 pentru urm torul bit i, din nivelul
semnalului de intrare, comparatorul decide memorarea sau reset-area st rii
acestui rang. Conversia continu n mod similar, pn se evalueaz bitul cel mai
pu in semnificativ (LSB). n acest moment, cuvntul con inut n registrul de
aproxima ii succesive (transferat i n registrul de ieire) reprezint cea mai bun
aproxima ie numeric a semnalului analogic de intrare. Dac datele se ob in
direct de la ieirea registrului de aproxima ii succesive, trebuie men ionat c
acestea devin stabile doar dup sfritul conversiei (n rest ele reproduc procesul
de aproximare); n consecin , logica extern trebuie adaptat n mod
corespunz tor.
n metoda de conversie bazat pe aproxima ii succesive, semnalul de
ieire al CD/A crete neliniar pn la nivelul semnalului de intrare pe perioada a
N tacte (pentru convertorul cu rezolu ia de N bi i). Ca rezultat, procesul de
conversie dureaz un timp considerabil mai redus i, n plus, timpul de conversie
este constant i nu depinde de nivelul, semnul sau modului de varia ie a
semnalului de la intare.
Metoda aproxima iilor succesive este cea mai r spndit metod de
conversie analog-digital pentru convertoarele de uz general, cu rate de
conversie medii i ridicate (timpi de conversie cuprini ntre 1 i 25 s).
Convertoare analog-digitale cu transformare tensiune-timp. Aceste
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

33

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

tipuri de convertoare realizeaz transformarea m rimii analogice de intrare ntr-un interval de timp propor ional, care este m surat numeric. Din aceast
categorie fac parte:
convertorul analog-digital cu generator de ramp ;
convertorul analog-digital cu integrare n dubl pant ;
convertorul analog-digital cu integrare n mai multe rampe.
Convertoarele analog-digitale cu integrare n dubl pant sunt
caracterizate de o precizie i o liniaritate excelente, o bun rejec ie a semnalelor
parazite (datorit integr rii), n pofida timpului de conversie de valoare mare.
Majoritatea circuitelor sunt monolitice, realizate n tehnologie CMOS, fiind
extrem de r spndite n echipamente de m surare numerice clasice (aparate
portabile, de tablou sau de laborator).
Trebuie men ionat faptul c majoritatea convertoarelor analog-digitale de
genera ie recent dispun de o interfa specializat , versatil cu microprocesoare
pe 8 sau 16 bi i, ceea ce simplific mult interfa area acestor circuite n cadrul
sistemelor inteligente de achizi ii de date.
Firmele produc toare de convertoare analog-digitale ofer dispozitive cu
o palet larg de performan e. Metoda de conversie utilizat (cu aproxima ii
succesive, cu integrare cu dubl pant , conversie paralel , etc) i tehnologia de
realizare a schemei (monolitic , hibrid sau modul) determin caracteristicile
esen iale ale convertoarelor analog-digitale - rapiditatea, rezolu ia, pre ul.
Paleta de varia ie a unor caracteristici ale CA/D, realizate n practic , sunt
prezentate n fig 2.19.
CA/D cu conversie paralel
hibrid/modul

CA/D cu aproxima ii succesive


CA/D cu integrare
cu dubl pant
hibrid/modul
Pre ul relativ

hibrid/modul

monolit
monolit

1s

100ms

10ms

1ms

100s

10s

1s

100ns

10ns

Timpul de conversie
Rapiditatea

Fig. 2.19 Paleta caracteristicilor CA/D produse n serie.


34

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Tabelul 2.2 Principalele caracteristici ale unor convertoare analog-digitale.


Tipul

Rezolu ia

ADC0804

AD7574

AD570

TSC7109

12

ADC0808

AD5010

AD579

10

AD574

12

ADC868

12

HS9516

16

ADC71

16

Tensiunea
de
alimentare

Tehnologia de
realizare

+5V

monolitic

+5V

monolitic

25 s

+5V, -15V

monolitic

33 ms

+5V

monolitic

100 s

+5V

monolitic

+5V, 15V

monolitic

Metoda de Timpul de
conversie conversie
cu aproxima ii
succesive
cu aproxima ii
succesive
cu aproxima ii
succesive
cu integrare
dubl pant
cu aproxima ii
succesive
paralel
cu aproxima ii
succesive
cu aproxima ii
succesive
cu aproxima ii
succesive
cu aproxima ii
succesive
cu aproxima ii
succesive

100 s
15 s

10 ns

2,2 s
25 s

0,5 s

100 s
50 s

5V

+5V, 15V

+5V, 15V

+5V, 15V

+5V, 15V

hibrid
hibrid
hibrid
hibrid
hibrid

n tabelul 2.2 sunt prezentate sintetic principalele caracteristici ale unor


CA/D uzuale, realizate de firmele National Intersil, Analog Device, Teledyne,
Texas Instruments i Hybrid System.
Se constat o varietate mai larg a CA/D cu aproxima ii succesive,
utilizate n majoritatea cazurilor n cadrul proceselor care necesit conversia
analog-digital . Cele mai ieftine sunt convertoarele analog-digital monolitice.
Aceste CA/D sunt realizate n tehnologie bipolar i CMOS.
Convertorul analog-digital optim pentru m sur tori i achizi ii de date n
re ele electroenergetice este CA/D cu aproxima ii succesive, care asigur viteze
bune de conversie, precizie ridicat , rezolu ia fiind un compromis ntre vitez i
precizie.

2.3 INTERFE E SPECIALIZATE DE COMUNICA IE


Tehnicile de m surare pot fi implementate la nivel fizic prin blocuri
func ionale cu destina ie precis (aparatele de m surare) sau prin module care
pot realiza func ii multiple (eantionare, conversie, memorare) i a c ror selec ie
este f cut de o unitate central (eventual PC). n cazul aparatelor de m surare
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

35

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

numerice, dotarea acestora cu interfe e de comunica ie (serial sau paralel )


permite interconectarea lor cu unit i de calcul puternice i, deci, l rgirea
considerabil a ariei func iilor ce pot fi efectuate de sistemul astfel realizat.
Aparatele numerice memoreaz datele sub form de caractere reprezentate
adesea pe 8, 16 sau 32 de bi i. Bi ii care formeaz un caracter se pot transmite la
distan c tre un alt sistem numeric fie prin transmiterea simultan a cte 8 bi i
(comunica ie paralel ), fie prin transmiterea succesiv a bi ilor care formeaz un
caracter (comunica ie serial ). n primul caz, se utilizeaz 8 linii de date i alte
linii (conductoare) pentru semnalul de referin (GND) i cele de control al
comunica iei. n al doilea caz, informa ia prezent de obicei sub form paralel
este apelat de un registru de deplasare paralel-serie, comandat de un semnal de
tact, transmis printr-o singur pereche de conductoare i apoi, la recep ie,
reconstituit n format paralel prin intemediul registrului de deplasare serieparalel.

2.3.1 COMUNICA IA DE TIP SERIAL. PROTOCOALE DE


TRANSMISIE SERIAL A DATELOR
Interfa a serial este un sistem de comunica ie numeric introdus ca
urmare a necesit ii de a controla un ansamblu tehnic cu elemente dispersate pe
suprafe e mari. PC-urile sunt dotate cu mai multe porturi seriale (de obicei,
dou ), utilizate, n cea mai mare parte, pentru comanda plotter-elor, a
imprimantelor seriale i a unor mouse-uri. De asemenea, aceast interfa este
folosit pentru comunica ia cu PC-ul i de c tre dispozitive speciale, cum ar fi
programatoarele EPROM i PAL, emulatoarele, controller-ele logice
programabile sau anumite interfe e de achizi ie de date.
Achizi ia datelor se efectueaz prin executarea unui program de achizi ie
de c tre calculatorul care asigur comanda mijlocului de m surare, transferul
datelor ntr-un fiier de date i prelucrarea lor imediat sau ulterioar .
Denumirea RS-232 (mai exact, RS-232C) corespunde normei americane a
interfe ei seriale, norm propus ini ial n 1960 i devenit variant standard n
1969, apoi remodificat n 1987. Denumirea V24 este o prescurtare a normei
franceze (i recomandat CEI). n principiu, ambele norme sunt identice.
n prezent exist i module dedicate comunica iei seriale performante,
cum este RS-485 (de tip plug-in) pentru care se poate asigura comunica ia pn
la distan a de 1,2 km, cu o vitez maxim de transfer de 100 kHz .

2.3.1.1 INTERFA A RS-232


Numeroase aparate utilizeaz conectarea la calculator prin intermediul
36

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

interfe ei seriale RS-232. Norma clasific aparatele n dou categorii:


1. DTE (Data Terminal Equipments) categorie din care fac parte PC-ul,
tastatura etc.
i
2. DCE (Data Communication Equipments) modem-urile, aparatele de
m surare etc.
Modul de conectare poate s difere de la un aparat la altul. n principiu, se
poate conecta numai un singur aparat la o interfa serial . Programarea
modului de comunica ie poate fi, de asemenea, foarte diferit . De aceea, nu se
poate vorbi de un standard. n forma minimal , o conexiune serial RS-232 se
compune din numai 3 conductoare:
1. RXD (Receive Data), conductorul pentru semnalul de recep ie;
2. TXD (Transmit Data), conductorul pentru semnalul de emisie;
3. GND (Ground), conductorul de mas .
Modul de legare a conductoarelor RXD i TXD la portul calculatorului
depinde de aparatul utilizat.
Siguran a n transmisia datelor poate fi mai mare dac se introduce o
comunica ie de tip handshaking. n acest caz se folosesc (fig. 3.3), pe lng
semnalele RXD i TXD (semnale de date), i semnalele RTS (Request To
Send) i CTS (Clear To Send).
RTS (cerere de emisie) i CTS (autorizare de emisie) sunt semnale care
gireaz func ionarea half-duplex (HDX) - de exemplu, a liniei telefonice.
Calculatorul semnalizeaz modem-ului prin RTS c are un caracter de
transmis; transmisia este posibil numai atunci cnd semnalul CTS este primit
de calculator. O siguran superioar n transmisia datelor se ob ine prin
utilizarea semnalelor DTR (Data Terminal Ready) i DSR (Data Set Ready).
Prin aceste semnale receptorul este anun at c emi torul este preg tit s trimit
datele. Astfel, DTR poate fi perceput ca un semnal de BUSY pentru receptor.
Siguran a unei transmisii este determinat de lungimea cablurilor de
legatur (maximum 2 x 15=30 m), nivelul de tensiune al semnalelor i viteza de
transmisie.
Nivelele de tensiune pentru interfa a RS-232 sunt:
HIGH: -15 V (-25 V);
LOW: +15 V (+25 V).
Intervalul de la -3 V la +3 V nu este permis (fig. 2.21).

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

37

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

TXD
RXD

TXD

TXD

RXD

RXD
RTS
CTS

TXD

TXD

RXD

RXD

RTS

RTS

CTS

CTS
DSR
DTR

GND

GND

GND

a)

GND

GND

20

20

b)

TXD
RXD
RTS
CTS
DSR
DTR
GND

TXD
RXD
RTS
CTS
DSR
DTR
GND

c)

TXD

TXD

RXD

RXD

TXD
RXD

4
5

CTS

DSR

5
6

20

20

GND

GND

d)

DTR
GND

e)

Fig. 2.20 Tipuri de conexiuni utilizate n interfa area serial : a) varianta


minimal ; b) varianta handshake; c) handshake cu confirmare DTR i DSR;
d) transmisie cu punte pe semnalele de handshake; e) conectarea unui plotter.

Viteza de transmisie este dat n


BAUD1. O alt unitate uzual n cazul
transmisiilor este BPS (Bits Per Second). In
cazul comunica iei seriale ntre dou
echipamente,
exprimarea
vitezei
de
transmisie n BAUD i BPS este identic . n
cazul conect rii lor prin intermediul modemurilor, ns , acest lucru nu mai este valabil.
Valorile uzuale pentru viteza de transmisie
(Baudrate) sunt date mai jos:

U
+25 V
LOW
+3 V
0V
-3 V

nedefinit
HIGH

-25 V

Fig. 2.21 Nivelele de tensiune


pentru portul serial.

BAUD este unitatea de m surare a num rului de schimb ri pe secund ale st rii unei linii,
denumit dup Jean Maurice Emile Baudot, un fost ofi er al Serviciului Francez de
Telegrafie. El a proiectat, la sfritul secolului al XIX-lea, primul cod pe 5 bi i pentru
reprezentarea unitar a caracterelor alfabetului.

38

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

50

110

300

600 1200 2400 4800 9600 19200 38400

Formatul de transmisie al datelor este descris prin urm torii parametri:


Baudrate (viteza de transmisie);
Startbit (bitul2 de start);
Num rul de bi i de date;
Paritatea;
Num rul de bi i de stop.
Prin intermediul bi ilor de start i stop se determin nceputul, respectiv
sfritul secven ei de date transmis . Num rul de bi i de date este, de obicei, 7
sau 8. Prin intermediul testului de paritate se pot eviden ia eventualele erori de
transmisie. n acest sens, exist trei posibilit i de detec ie:
No Parity: Nu se face nici un test de paritate;
Even parity (paritate par ): Emi torul num r to i bi ii de date care
au valoarea 1 i seteaz bitul de paritate cu 1, dac suma a fost
impar , i cu 0, dac suma a fost par . Receptorul adun bi ii de date
cu valoarea bitului de paritate. Suma este totdeauna (n cazul unei
transmisii corecte) par ; n caz contrar, a survenit o eroare la
transmisia datelor;
Odd Parity (paritate impar ): Metoda corespunde testului de paritate
par , cu deosebirea c suma bi ilor de date i a celui de paritate este
totdeauna (la emi tor) impar .
n fig. 2.22 se descrie procesul de transmitere a caraterului 2 (n
reprezentarea binar corespunz toare codului ASCII) cu protocolul 1 bit de
start, 7 bi i de date, 2 bi i de stop, paritate impar .

Ini ializare
Bit de start

0 1 0 0 1 1 0 0
LSB
MSB
Bit de stop
Bit de paritate

Fig. 2.22 Semnalele corespunz toare transmisiei caracterului 2.


2

Termenul bit a aparut pentru prima data scris cu sensul utilizat ast zi n informatic n anul
1949, ales de John Tuckey care s-a decis (n timp ce lua prnzul) pentru o variant mai
comod dect denumirile de bigit sau binit.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

39

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

2.3.1.2 INTERFA A I2C


Pentru a exploata similarit ile care exist n proiectele i echipamentele
proiectate de diveri utilizatori, ca i pentru maximizarea eficien ei hardwareului i pentru simplificarea proiect rii circuitelor, a fost dezvoltat o magistral
bidirec ional pe dou fire, cu scopul eficientiz rii controlului interconect rii
circuitelor integrate. Acest magistral se numete INTER IC sau I2C. n
prezent, aceast magistral permite cuplarea a mai mult de 150 de tipuri de
circuite integrate, realizate n tehnologie CMOS sau bipolar , realiznd func ii n
domeniul controlului inteligent, a circuitelor integrate de uz dedicat (driver-e
pentru afiaje cu cristale lichide, porturi de intrare-ieire, memorii RAM i
EEPROM, convertoare) i a circuitelor orientate pe aplica ii (procesare de
semnale pentru sisteme radio i video, generatoare DTFM pentru telefonie, etc.).
Toate circuitele compatibile I2C ncorporeaz o interfa
care permite
intercomunica ia rapid prin intermediul acestui tip de magistral .
Dintre caracteristicile generale ale magistralei I2C putem men iona:
magistrala con ine doar dou linii: o linie serial de date (SDA) i o
linie de ceas serial (SCL);
fiecare dispozitiv conectat la magistral este adresabil prin software,
avnd o adres unic ; pe magistrala I2C se manifest , la orice moment
de timp, o rela ie de tip master-slave;
magistrala I2C este o magistral multi-master, incluznd detec ia
conflictelor i arbitrarea acesteia, pentru a preveni alterarea informa iei
dac dou sau mai multe dispozitive master ini iaz transferuri
simultane;
transferurile bidirec ionale de date, cu lungimi de 8 bi i, pot fi
efectuate cu rate de transfer de 100 kbi i pe secund , n modul
standard, sau cu maxim 400 kbi i pe secund , n modul rapid;
rejectarea impulsurilor scurte, parazite, de pe magistral , este asigurat
de circuitele de filtrare implementate n fiecare dispozitiv cuplat la
magistral . Rejec ia acestor impulsuri asigur p strarea integrit ii
datelor;
num rul de dispozitive cuplabile pe aceeai magistral I2C este limitat
doar de capacitatea maxim suportat de aceasta i care este de 400 pF.
Circuitele integrate compatibile cu magistrala I2C permit dezvoltarea
rapid a proiect rii de la o schem bloc func ional la prototip, asigurnd
proiectan ilor o serie ntreg de avantaje:
structura extrem de simpl a magistralei (2 fire) minimizeaz
interconexiunile cu exteriorul;
protocolul complet integrat al magistralei I2C elimin folosirea
decodificatoarelor de adrese i a unei logici externe, suplimentare;
40

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

capabilit ile de multimaster ale magistralei I2C permit testarea rapid


i alinierea utilizatorilor, prin utilizarea unor conexiuni externe, la un
sistem de calcul;
disponibilitatea circuitelor integrate I2C sub amprente de tip SO
(Small Outline), VSO (Very Small Outline) i DIL (Dual In Line)
reduce necesit ile de spa iu.

2.3.1.2.1 SPECIFICA IILE INTERFE EI I2C


Pentru aplica ii de control industrial pe 8 bi i, care necesit utilizarea unor
microcontroller-e, pot fi stabilite a priori anumite criterii de proiectare:
un astfel de sistem este compus din cel pu in un microcontroller i din
alte dispozitive periferice, ca de pild memorii i circuite de intrareieire (fig. 2.23);
criteriul principal de proiectare const n minimizarea costului de
interconectare a diferitelor dispozitive din componen a sistemului;
un sistem care asigur o func ie de reglare (control) ntr-un proces nu
necesit rate mari ale transferurilor de date;
eficien a global a sistemului depinde de natura circuitelor utilizate i
de structura magistralei de interconectare a acestora.

Fig. 2.23 Exemplu de sistem organizat n jurul magistralei I2C.

Pentru a satisface aceste criterii, este necesar utilizarea unei magistrale


seriale, care dei nu permite rate de transfer a informa iilor att de mari ca o
magistral de interconectare de tip paralel, asigur minimizarea num rului
firelor i pinilor de interconectare ntre diversele circuite utilizate n proiect.
Dispozitivele care intercomunic prin intermediul unei magistrale seriale
necesit utilizarea unor protocoale care au rolul de a elimina erorile, pierderile
de informa ii i conflictele pe magistral i de asemenea, posibilitatea ca unele
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

41

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

dispozitive rapide s poat comunica cu dispozitive lente. Este necesar ca


sistemul s poat func iona independent de num rul de dispozitive nglobate n
structura sa, sau cu alte cuvinte, ad ugarea de dipozitive n structura sistemului
s nu afecteze func ionarea acestuia.

2.3.1.2.2 CONCEPTUL DE MAGISTRAL I2C


Magistrala I2C permite cuplarea unor circuite compatibile n structura
sistemului, indiferent de tehnologia de fabrica ie a acestora: NMOS, CMOS sau
bipolar . Magistrala const n dou linii: o linie serial de date (SDA) i o linie
de ceas serial (SCL), ce manipuleaz informa iile ntre oricare dou dispozitive
cuplate la magistral . Orice dispozitiv este recunoscut prin intermediul unei
adrese unice asociate, indiferent dac este vorba de un microprocesor, display cu
cristale lichide, interfa de tastatur , etc., i poate func iona ca emi tor sau
receptor, depinznd de func ia realizat de acesta (fig. 2.24). O clasificare
suplimentar a dispozitivelor cuplate la magistrala I2C const n dispozitive
master, respectiv slave. Un dispozitiv master este acela care poate ini ia un
transfer de date pe magistral i care genereaz semnalul de ceas ce coordoneaz
transferul. n tot acest timp, orice alt dispozitiv adresat este privit ca slave.

Fig. 2.24 Interconectarea a dou dispozitive pe magistrala I2C.

Magistrala I2C este o magistral de tip multi-master. Aceasta nseamn c


mai multe dispozitive care pot controla magistrala pot fi cuplate la aceasta.
Posibilitatea de a cupla mai mult de un dispozitiv master la magistral nseamn
c mai mult de un singur dispozitiv poate ncerca s ini ieze un transfer pe
magistral , la acelai moment de timp. Pentru a se evita aceast situa ie de
incertitudine, a fost elaborat o procedur de arbitrare a priorit ilor, bazat pe
42

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

conectarea de tip I-cablat a tuturor dispozitivelor la magistral . Semnalele de


ceas pe durata arbitr rii de priorit i reprezint rezultatul sincroniz rii
semnalelor de ceas generate de cele dou dispozitive master prin utilizarea
func iei de tip I-cablat a liniilor SCL. Generarea semnalelor de ceas pe
magistral revine ntotdeauna n sarcina dispozitivelor master; fiecare dispozitiv
master genereaz propriul s u semnal de ceas pe durata transferului de date pe
magistrala sistemului. Semnalele de ceas de pe magistral pot fi doar alterate
numai dac un dispozitiv slave lent for eaz linia de ceas la nivel logic LOW sau
de un alt dispozitiv master, pe durata arbitr rii priorit iilor.
Ambele linii, SDA i SCL, sunt bidirec ionale i conectate printr-o
rezisten de pull-up la tensiunea de alimentare. Atunci cnd magistrala este
liber , ambele linii sunt n starea HIGH. Etajul de ieire al dispozitivului
conectat la magistal trebuie s fie de tip open-drain sau open-collector pentru a
se realiza func ia I-cablat. Pe magistrala I2C, transferurile de date pot fi
efectuate cu rate de maxim 100 kbi i/s n modul standard sau maxim 400 kbi i/s
n modul rapid. Num rul de dispozitive cuplabile la magistrala I2C este limitat
doar de nc rcarea capacitiv (maxim 400 pF) a liniilor magistralei.

2.3.1.2.3 TRANSFERURILE PE MAGISTRALA I2C


Datorit diversit ii tehnologiilor de implementare a circuitelor cuplabile
la liniile interfe ei I2C, nivelele logice nu sunt fixate i depind de valoarea
tensiunii de alimentare VDD. Pentru transferul fiec rui bit este generat cte un
impuls de ceas.
a) Validitatea datelor
Datele vehiculate pe linia SDA trebuie s fie stabile pe durata HIGH a
impulsului de ceas. Modific rile st rii liniei SDA trebuie s se produc doar
atunci cnd semnalul de ceas este LOW.
b) Condi iile START i STOP
Printre procedurile implementate pe magistrala I2C, situa ii de excep ie
sunt considerate condi iile de START i STOP.
O tranzi ie din starea HIGH n starea LOW a liniei SDA, pe durata c reia
linia SCL este HIGH, este interpretat ca o condi ie de START.
O tranzi ie din starea LOW n starea HIGH a liniei SDA, pe durata c reia
linia SCL este HIGH, este interpretat ca o condi ie de STOP.
Condi iile de START i de STOP sunt generate ntotdeauna de un
dispozitiv master. Dup generarea unei condi ii de START se consider c
magistrala este ocupat . Magistrala este considerat din nou ca fiind neutilizat
dup apari ia unei condi ii de STOP.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

43

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

Detectarea condi iilor de START di de STOP de c tre dispozitivele


slave cuplate la magistral este foarte facil dac acestea nglobeaz hardwareul specializat de interfa are. Pentru dispozitivele care nu dispun de acest
hardware specializat, se impune ca linia SDA s fie eantionat de dou ori pe
durata unei perioade de ceas, pentru ca aceast tranzi ie s poat fi detectat .

2.3.1.2.3.1 TRANSFERURILE DE DATE PE MAGISTRAL


a) Transferurile de date sub form de cuvnt
Orice cuvnt de date transferat pe magistral trebuie s aib lungimea de 8
bi i. n schimb, num rul de octe i ce pot fi transfera i pe linia SDA este practic
nelimitat. Fiecare octet transferat trebuie s fie urmat de un bit de confirmare
(acknowledge). Transferurile de date ncep ntotdeauna cu bitul cel mai
semnificativ al octetului respectiv. Dac un dispozitiv receptor nu poate accepta
un alt octet de date nainte de a realiza o func ie special cum ar fi de pild
tratarea unei ntreruperi interne, acesta poate for a linia de ceas, SCL, la nivel
LOW pentru a face ca emi torul s intre n stare de WAIT. Transferul de date
poate continua atunci cnd receptorul elibereaz linia SCL.
n anumite cazuri, este posibil utilizarea unui alt format pentru transferul
pe magistral . Un mesaj care ncepe cu o astfel de adres poate fi terminat prin
utilizarea unei condi ii de STOP, chiar n timpul transmiterii unui octet de
informa ie. n aceast situa ie nu se genereaz bitul de confirmare.
b) Bitul de confirmare
Transferurile de date cu confirmare sunt obligatorii pentru a se asigura
integritatea datelor pe magistral . Semnalul de ceas asociat bitului de confirmare
este generat de dispozitivul master. Pe durata acestui impuls de ceas, disozitivul
emitent elibereaz linia SDA (nivelul acesteia este HIGH).
Dispozitivul de recep ie trebuie s for eze linia SDA la nivel cobort pe
durata impulsului de ceas de confirmare, astfel acest nivel cobort s r mn
stabil pe durata HIGH a impulsului de ceas de confirmare.
n mod obinuit, un dispozitiv ce realizeaz func ia de recep ie mesaj
trebuie s emit cte un semnal de confirmare dup fiecare octet recep ionat.
Atunci cnd un dispozitiv slave cu func ie de recep ie nu confirm adresa
asociat (de exemplu, acest dispozitiv nu este capabil s r spund deoarece
efectueaz un set de opera ii n timp real), linia de date trebuie l sat neutilizat
(HIGH) de c tre dispozitivul slave. n aceast situa ie, dispozitivul master poate
genera o condi ie de STOP pentru a termina transferul. Dac dispozitivul slave
ce realizeaz func ia de recep ie confirm adresa asociat dar n procesul de
transfer ulterior nu mai poate recep iona octe i, este, de asemenea, necesar ca
dispozitivul master s termine transferul. Acest fapt este indicat prin faptul c
44

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

receptorul nu confirm recep ionarea urm torului octet, las linia SDA pe nivel
HIGH, iar dispozitivul master genereaz condi ia de STOP.
Dac n procesul de transfer este implicat un dispozitiv master ce
realizeaz func ia de recep ie, acest dispozitiv trebuie s semnalizeze sfritul
transferului prin neconfirmarea ultimului octet recep ionat de la slave.
Dispozitivul slave trebuie s elibereze linia SDA pentru ca dispozitivul master
s poat transmite o condi ie de STOP.

2.3.1.2.4 ARBITRAREA PRIORIT ILOR I GENERAREA


CEASULUI
a) Sincronizarea pe magistrala I2C
Toate dispozitivele master genereaz propriul semnal de ceas pe linia
SCL pentru a transmite mesaje pe magistrala I2C. Datele sunt valide doar pe
durata HIGH a impulsurilor de ceas. Prezen a unui semnal de ceas pe magistral
este necesar pentru procedura de arbitrare bit cu bit.
Sincronizarea ceasului este asigurat prin utilizarea conexiunii de tip Icablat a interfe elor de magistral la linia SCL. Aceasta nseamn c o tranzi ie
din HIGH n LOW pe linia SCL va determina dispozitivele cuplate la magistral
s i nceap procesul de contorizare a perioadelor LOW odat ce semnalul de
ceas al unui dispozitiv a devenit LOW i se va men ine linia SCL n aceast
stare pn semnalul de ceas devine din nou HIGH. Totui, tranzi ia din starea
LOW n starea HIGH nu va determina schimbarea st rii liniei de ceas dac un
alt semnal de ceas cuplat la linia de ceas a magistralei se afl n stare LOW.
Durata ct timp linia SCL va fi men inut n stare LOW va fi determinat de
dispozitivul care este caracterizat de cea mai mare durat a nivelului cobort al
ceasului. Celelalte dispozitive, caracterizate de o durat mai mic a palierului
st rii LOW a semnalului de ceas, trec n stare de WAIT cu semnalul de ceas la
nivel ridicat.
Atunci cnd, toate dispozitivele, implicate n procesul de comunicare pe
magistral , i-au ncheiat contorizarea perioadei LOW a semnalului de ceas,
linia respectiv va fi eliberat i va trece n stare HIGH. n acest mod, nu vor
mai exista diferen e ntre semnalele de ceas ale dispozitivelor i starea liniei de
ceas a magistralei, toate dispozitivele ncepndu-i contorizarea duratelor HIGH
ale semnalelor de ceas. Primul dispozitiv care i ncheie perioada HIGH a
semnalului de ceas va for a linia SCL din nou la nivel LOW.
Semnalul de ceas de pe linia SCL este astfel sincronizat, avnd durata de
nivel cobort determinat de dispozitivul caracterizat de cea mai lung perioad
LOW a semnalului de ceas i durata de nivel ridicat determinat de dispozitivul
caracterizat de cea mai scurt perioad HIGH a semnalului de ceas.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

45

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

b) Arbitrarea priorit ilor


Un dispozitiv master poate ini ia un transfer de date doar dac magistrala
este liber . Dou sau mai multe dispozitive master de magistral pot genera o
condi ie de START pe durata timpului de HOLD din condi ia de START.
Arbitrarea are loc prin intermediul liniei de date, SDA, pe durata ct linia de
ceas, SCL, este pe nivel HIGH. Astfel, unul dintre dispozitivele master
transmite un nivel HIGH pe magistral , n timp ce cel lalt, care transmite un
nivel LOW, i va dezactiva etajul de ieire deoarece nivelul logic de pe
magistral nu corespunde cu nivelul logic transmis de c tre acesta. Arbitrarea
poate continua pentru mai mul i bi i. Prima etap const n compararea bi ilor de
adres . Dac dou dispozitive master ncearc s adreseze acelai dispozitiv
slave, arbitrarea continu cu compararea datelor. Deoarece adresele i datele
sunt utilizate pentru arbitrarea magistralei, se constat c nu exist pierderi de
informa ie pe liniile magistralei pe durata acestui proces.
Un dispozitiv master care pierde arbitrarea poate genera impulsuri de ceas
pn la ncheierea procesului de transmitere a octetului n cursul c ruia a pierdut
arbitrarea.

2.3.1.3 INTERFA A USB


Interfa a USB (Universal Serial Bus) a fost proiectat cu scopul de a
simplifica procedura de conectare a perifericelor la un PC, crescnd viteza de
transmisie prin intermediul unei comunica ii de tip serial pn la valori de 12
Mbit/s. Faptul c necesit o conectare mai facil impune ns utilizarea unui
protocol mai complex, pentru p strarea eficien ei i transparen ei fa de
utilizator.
USB este deja recomandat pentru noua genera ie de PC-uri compatibile
IBM de c tre PC98 System Design Guide i este, deja inclus ca driver n
sistemul de operare Windows 98.
Suportul hardware const dintr-o conexiune pe patru conductoare, dintre
care dou sunt pentru alimentare (Vbus) respectiv mas (GND) iar celelalte dou
pentru transferul de date (D+ i D-). Prin intermediul USB se pot conecta
simultan la un PC pn la 126 de periferice cu avantajul suplimentar al
reducerii costului i al spa iului alocat pl cii de baz a PC-ului (PCB) prin
eliminarea necesit ii unui port suplimentar tradi ional cum sunt cele ale
tastaturii i/sau porturile seriale clasice. Binen eles c marele avantaj rezid n
costul sc zut al USB i n viteza (12 Mbit/s n aa-numitul full-speed mode)
care permite transferul n timp real al semnalelor de voce sau video comprimat.
La sfritul anului 1999 a fost lansat oficial varianta USB2.0 care
permite transferuri de pn la 120, respectiv 240 Mbit/s. n cele ce urmeaz se
prezint protocolul USB 1.1, pe baza unui exemplu de implementare hardware:
Infineon Technologies C541 embedded USB microcontroller.
46

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Arhitectura USB se compune din trei elemente principale (fig. 2.25) gazda (host), conectorii (hubs) i perifericele (devices). Conexiunea utilizeaz
topologia tiered-star i poate fi structurat n nivele, deci poate avea pn la 5
distribuitoare (hub tiers). n mod uzual, controller-ul gazd (host controller) i
hub-ul principal (de root) sunt implementate pe un acelai chip pe placa de baz
a PC-ului. Controller-ul gazd controleaz transmisiile prin sistemul USB.
Exist dou tipuri de host controllers: OHCI (Open-Host Controller Interface)
i UHCI (Universal Controller Host Interface). Din punct de vedere al
aplica iilor, OHCI poate gestiona multiple tranzac ii pentru un anumit periferic
End Point (EP) ntr-un interval de 1 ms. Pe de alt parte, UHCI permite cte o
tranzac ie pentru fiecare EP n fiecare cadru de aplica ie (frame). Pachetele
software ale echipamentelor USB trebuie s fie capabile s gestioneze
comunica ia cu fiecare dintre aceste tipuri de controller-e.
Un distribuitor principal ac ioneaz ca un port care se ataeaz
echipamentului USB (fig. 2.25), permi nd multiple conexiuni la sistemul USB
i detecteaz momentele cnd echipamentele sunt conectate sau deconectate de
la sistem. De asemenea, el transmite mai departe traficul pe bus ntre portul
trece-sus (upstream) i porturile trece-jos adiacente (downstream).
Fiecare echipament dotat cu USB are alocate numere EP. Num rul EP0
este rezervat pentru configurarea echipamentelor de c tre gazd . El asigur un
punct de comunica ie catre gazd prin intermediul descriptorilor EP. Descriptorii
EP comunic atributele echipamentelor i caracteristicile acestora gazdei. n
conformitate cu aceste informa ii, gazda configureaz echipamentul i-i aloc
driver-ul software corespunz tor (USB client software).
Celelalte EP pot fi considerate ca o func ie a echipamentelor i pot fi
configurate separat pentru unul dintre tipurile de transfer pentru a comunica cu
gazda. De exemplu, o aplica ie de tastatur , care se clasific n standardul USB
Human Interface Device, HID, folosete EP0 pentru configurarea
echipamentului (tastaturii) i poate folosi EP1 ca un transfer pe ntreruperi
pentru trimiterea datelor (key-scanned data) c tre gazd .
USB suport 4 tipuri de transfer de date:
Control transfer - comenzi de cereri de transfer de la gazd c tre
echipament;
Interrupt transfer - transfer de date de la un interrupt driver device
c tre gazd ;
Bulk trasfer - transferul unei cantit i mari de date;
Isochronous transfer - pentru aplica ii care necesit rate de transfer
constante.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

47

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

PC
PCI bus
controller gazd
root port
(upstream port)

distribuitor principal
(root hub)

distribuitor

Primul nivel
de distribuire

downstream port
upstream port

upstream port

Echipament

distribuitor

Al doilea nivel
de distribuire

EP 1

Fig. 2.25 Structura general a unei interfe e USB.

2.3.2 COMUNICA IA DE TIP PARALEL. PROTOCOALE DE


TRANSMISIE PARALEL A DATELOR
Pentru sistemele de m surare ce utilizeaz aparate inteligente conduse de
calculator, comunica ia paralel este cea mai indicat , asigurnd viteze mari de
comunica ie, drept pentru care au fost realizate standarde interna ionale la care
s-au aliniat majoritatea constructorilor de aparate inteligente dotate cu
microprocesoare.
Comunica ia paralel este utilizat i pentru alte aparate cuplate la
calculator, cum ar fi: imprimante, plotter-e, dispozitive de memorie extern etc.
Pn n anii 60 au existat numai aparate de m surare cu comand
manual i de-abia o dat cu apari ia aparatelor numerice, n deceniile
urm toare, s-au proiectat primele interfe e cu rolul, la nceput, de a permite
cuplarea mai multor aparate de m surare ntre ele. n anii 70 s-a pus problema
standardiz rii interfe elor, prima solu ie constituind-o interfa a RS-232 pentru
interconectarea calculatoarelor ca i a perifericelor la acestea. nc din 1965,
ns , firma Hewlett-Packard lucra la definirea unui concept de interfa HPIB
(Hewlett Packard Interface Bus), din care a decurs apoi norma interna ional
IEC 625-1, adoptat n 1976.

48

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

2.3.2.1 INTERFA A HPIB


BUS-ul IEC 625 utilizeaz transmisia asincron ceea ce nseamn c
viteza de comunica ie este determinat de aparatul cel mai lent din sistem.
Acesta este numai aparent un dezavantaj, deoarece timpul de m surare al
aparatelor este de obicei mult mai mare dect timpul necesar comunica iei.
Se ob in astfel viteze de 2000-3000 kBaud ceea ce nu este deloc pu in n
compara ie cu comunica ia serial prin RS-232 ce poate asigura maximum 38,4
kBaud.
BUS-ul IEC pentru sistemele de m surare este cunoscut sub mai multe
denumiri i variante, diferen ele dintre acestea fiind ns minime. Astfel, ntre
HPIB i GPIB, realizate dup standardul american IEEE-488 i, respectiv,
standardul interna ional IEC-625, diferen a este la conectarea n cuple i
num rul de pini ai acestora. Prescurt rile au urm toarele semnifica ii:
HPIB: Hewlett Packard Interface Bus
GPIB: General Purpose Interface Bus
Conectorul utilizat de bus-ul HPIB este redat n fig.3.9. Acest conector are
24 de pini care sunt aloca i conform standardului pentru intr ri-ieiri de date i
comenzi i care vor fi explicita i n continuare.
Pentru realizarea unui sistem automat de m surare prin interfa a HPIB
este necesar un echipament de calcul (PC), care s posede implementat pe
magistrala proprie placa de interfa a pentru acest Bus, iar aparatele utilizate
trebuie s fie prev zute de asemenea cu aceast interfa .
Sistemul poate fi format din maximum 15 aparate ce pot fi conectate la
calculator n dou moduri: n stea (fig. 2.27a) sau n serie (fig. 2.27b).
Leg turile ntre aparate trebuie s fie ct mai scurte i s nu dep easc
lungimea de 2 m.
DIO1
DIO2
DIO3
DIO4
EOI
DAV
NRFD
NDAC
IFC
SRQ
ATN
SHIELD

1
2
3
4
5
6
7
8
9
10
11
12

13
14
15
16
17
18
19
20
21
22
23
24

DIO5
DIO6
DIO7
DIO8
REN
GND
GND
GND
GND
GND
GND
GND LOGIC

Fig. 2.26 Conectorul HPIB.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

49

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

Leg tura n stea asigur o configura ie mai avantajoas asigurnd distan e


minime ntre aparate i o vitez de comunica ie mai mare, de aceea este mai
recomandat .
Leg tura n serie permite o dispersare mai mare a aparatelor, dar o
conectare imperfect la una dintre cuple poate crea probleme de reflexii pe
cabluri sau chiar ntreruperea comunica iei ntre aparate. De asemenea, viteza de
comunica ie este mai mic , datorit traseelor mai lungi.

2.3.2.1.1 STRUCTURA BUS-ULUI HPIB


Aparatele compatibile cu protocolul HPIB i dotate, astfel, cu interfa a
corespunz toare, pot avea n sistem trei func ii:
asculttorii (listeners), care primesc datele atunci cnd sunt adresa i.
Pot fi activi i mai mul i ascult tori simultan;
vorbitorii (talkers), care emit date atunci cnd sunt adresa i. Un singur
vorbitor poate fi activ la un moment dat pe bus;
controller-ele, (controllers) care adreseaz aparatele legate la bus, fie
c este vorba de ascult tori, fie c este vorba de vorbitori, i trimit
instruc iuni speciale i semnale de comand .
Pentru a comanda n mod eficient, controller-ul trebuie s poat asculta i
vorbi n mod egal. ntr-un sistem de m surare automatizat se pot distinge trei
tipuri de sarcini:
selec ia unui aparat;
transferul informa iilor;
gestiunea transferului de informa ii.
No iunea de gestiune a transferului de informa ii este aici foarte
important , deoarece un aparat vorbitor (care poate fi controller-ul, cnd el
emite adrese, sau un aparat selec ionat cnd el primete date) nu poate efectua
un nou transfer dect atunci cnd el este sigur c aparatele vizate au primit n
condi ii bune informa ia precedent .
Sistemul HPIB este constituit din ansamblul elementelor func ionale
electrice i mecanice ale unei interfe e conforme cu norma IEEE-488. Cablul
utilizat pentru conectarea aparatelor are 24 de conductoare, din care 16 sunt
repartizate n trei grupe:
transferul informa iilor
8 linii;
gestiunea transferului de informa ii
3 linii;
gestiunea general
5 linii.

50

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Fig. 2.27 Conectarea aparatelor la calculator prin bus-ul HPIB.


Liniile de transfer de date (DIO1DIO8) sunt rezervate intr rilor i
ieirilor. Ele sunt utilizate pentru m sur ri, instruc iuni de programare cuvinte de
stare, adrese, instruc iuni de interfa are. Un octet de date este format din 8 bi i
transmii n paralel. Un mesaj poate s cuprind mai mul i octe i; aceti octe i
sunt transmii atunci n serie. Viteza de transfer poate atinge 1 Moctet/secund
pentru o comunica ie bidirec ional asincron .
Liniile de gestiune a transferului sunt destinate s gireze transferul
fiec rui octet de la un aparat emi tor spre unul sau mai multe aparate receptoare
i asigur protocolul de tip handshake ori de cte ori informa iile sunt
transmise pe cele 8 linii ale bus-ului de date. Aceste linii sunt:
DAV (DAta Valid); aceast linie informeaz c datele prezentate pe
bus de la un emi tor sunt valide; ele sunt comandate de emi tor;
NRFD (Not Ready For Data); aceast linie este ac ionat de controler
n modul comand (ATN=1) i de receptor n modul date
(ATN=0);
NDAC (Not Data ACcepted); atunci cnd NDAC=1, datele nu sunt
acceptate de receptor, sau n modul comand , comanda nu este
acceptat de aparatul conectat la bus.
Liniile de gestiune general , fiecare din cele cinci linii ale acestei grupe
avnd o func ie de comand specific ntre controler i alte aparate ale
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

51

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

sistemului:
ATN (ATteNtion); permite controlerului s indice instrumentelor c
instruc iuni i adrese sau date sunt prezente pe bus. Atunci cnd
ATN=1 numai emi torul i receptorul adresa i sunt viza i. n acest
caz, pe bus-ul de date este trimis codul adresei emi torului. Dac
ATN=0, codul reprezint date. Toate aparatele trebuie s priveasc
n orice moment la aceast linie i atunci cnd pe ea se produce o
schimbare, ele trebuie s r spund ntr-un interval de max. 200 ns.
IFC (InterFace Clear); aceast linie poate fi pus pe 1 (sau
adev rat) numai de c tre controler nainte de a pune interfe ele
conectate la bus ntr-o stare inactiv . Toate opera iunile n curs sunt
atunci oprite pentru a permite repornirea de la o situa ie neutr i
uniform naintea tuturor opera iilor.
SRQ (Service ReQuest); aceast linie este activat de toate aparatele
care au de cerut un serviciu controller-ului. Aceast cerere poate
ntrerupe o opera iune n curs. Atunci cnd mai multe aparate cer SRQ
n acelai moment, controller-ul trebuie s efectueze o c utare pentru a
depista aparatele respective i natura serviciului cerut. Aceast c utare
se poate efectua fie n serie, fie n paralel.
EOI (End Or Identify); dac ATN=0 (liniile DIO sunt pe modul
date), aceast linie este activat (adic EOI=1 sau adev rat) de un
emi tor semnificnd faptul c octetul n curs este ultimul transmis
pentru opera ie. Dac ATN=1 (liniile DIO sunt n modul comand
interfa ), controller-ul activeaz linia EOI ntr-o c utare paralel .
REN (Remote ENable); aceast linie este activat numai de controler
pentru a comuta un aparat de la pozi ia comand de pe panoul frontal
(sau comand local ) pe pozi ia comand de la distan . Atunci cnd
REN=0, aparatul revine la modul de comand local .
Se disting, astfel, dou tipuri de mesaje :
comenzi generale, date de controler i destinate interfe elor ncorporate
aparatelor, acestea fiind mesaje de interfa .
datele destinate aparatelor de m surare nainte de a le plasa ntr-o stare
particular sau de primire a rezultatului ob inut de la o m surare.
Datele sunt furnizate de un emi tor care poate fi controller-ul; acestea
sunt mesaje pentru aparate.
n acest fel se delimiteaz zonele de interven ie ale normei IEEE-488 care
ac ioneaz prin comenzi asupra interfe ei i prin mesaje asupra aparatelor.
Mesajele pentru aparate

Un mesaj pe cele 8 linii DIO este un mesaj de aparat (sau de date) dac
linia ATN =0. Aceste date sunt emise de aparatul adresat ca vorbitor i primite
52

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

de aparatele adresate ca ascult tori sub controlul procedeului de tip


handshake.
Ele pot fi:
a) date de intrare:
- date de comand , de exemplu instruc iuni ale programului pentru
un aparat particular;
- date pentru afiare sau stocare.
b) date de ieire:
- datele unui rezultat al m sur rii;
- informa ii de stare a aparatului.
ntre aparatele conectate la sistemul de comunicare, este necesar s existe
conven ii asupra codific rii datelor. Se poate remarca faptul c norma definete
numai modul transferului de date, dar nu i con inutul lor; acesta depinde de
aparatul utilizat; la ora actual , conven ia cea mai r spndit este codul ASCII.
Mesaje de interfa

Se disting, ca i n cazul mesajelor de aparat, mesaje de interfa


multifilar i unifilar . Mesajele unifilare ATN, IFC i REN care comand
anumite func ii ale aparatelor conectate la bus-ul HPIB au fost deja definite
anterior. Aa cum s-a ar tat, este vorba de comenzi emise de controler
interfe elor aparatelor. Un mesaj multifilar pe linia DIO este considerat ca o
comand dac linia ATN = 1. El este codificat prin 7 bi i trimii pe liniile
DIO1DIO7.

2.3.2.2 INTERFA A CENTRONICS


Interfa a dezvoltat de firma Centronics n scopul, ini ial, al transmiterii
comenzilor c tre imprimante, nu este (nc ) normat , cu toate c este utilizat de
toate PC-urile. Modul de lucru este caracterizat de un transfer paralel al datelor,
distan a maxim dintre echipamentele interconectate prin aceast interfa fiind
de 8 m, datorit limit rilor privind distorsionarea semnalelor cauzat de
capacitatea lineica a conductoarelor. O solu ie este dispunerea conductoarelor de
semnal al turi de conductoarele de mas i r sucirea acestora (twisted-pair), dar
mul i produc tori de imprimante recomand o distan maxim ntre PC i
acestea de 3m. Viteza de transfer a datelor prin intermediul acestei interfe e este
dependent de hardware. Ea poate, teoretic, s aib valori de peste 1 MByte/s,
dar pentru aceasta se impune o distan
maxim ntre echipamentele
interconectate de 1 m. Interfa a utilizeaz nivele de tensiune TTL, ceea ce
faciliteaz utilizarea ei n diferite aplica ii.
n cele ce urmeaz se va face o descriere a semnalelor specifice interfe ei
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

53

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

(fig. 2.28):
Strobe (activ LOW): aceast linie este activat de c tre calculator,
atunci cnd se dorete transferul datelor c tre exterior (imprimanta,
eventual);

Fig. 2.28 Dispunerea pinilor portului Centronics:


a) conector cu 36 de pini (Amphenol-seria 57); b) conector cu 25 de pini
(Subminiatur-D)

Data 1 Data 8: linii de date


Acknowledge (activ LOW): atunci cnd echipamentul exterior
(imprimanta) a preluat datele transmise, transmite un semnal de
ntiin are cu durata de 30 s;
Busy: apari ia unei erori n timp ce imprimanta preia datele, este n
procesul de imprimare sau n starea off-line, determin activarea
acestui semnal.
Paper Empty: acest semnal este activ pn cnd senzorul va detecta,
din nou, prezen a colilor de hrtie.
Select: cu ajutorul acestui semnal imprimanta anun faptul c este
accesat i activ .
Urm toarele semnale nu apar in, de fapt, standardului (n sensul de
variant ini ial a interfe ei):
Autofeed (activ LOW): o dat cu activarea acestei linii, imprimanta
insereaz la sfritul fiec rei linii cte un salt la linie nou ;
54

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Reset (activ LOW): cu semnalul trimis pe aceast linie, imprimanta se


va seta ntr-o stare predefinit ;
Error (activ LOW): acest semnal se activeaz o dat cu apari ia unei
erori sau atunci cnd imprimanta este n starea off-line;
Select Input (activ LOW): transmiterea unui semnal pe aceast linie
determin selectarea imprimantei.

2.3.2.2.1 PROTOCOLUL DE COMUNICA IE CENTRONICSHANDSHAKE


n fig. 2.29 este reprezentat diagrama de semnale corespunz toare
transmiterii datelor prin interfa a Centronics. Procedeul handshake este
caracterizat de urm toarea succesiune a semnalelor: dup cel pu in 500 ns de la
transmiterea datelor pe liniile de date (8) ale magistralei, aparatul emi tor (aici,
PC-ul) va transmite un semnal de preluare (Strobe) de durat minim de 500 ns.
Dup alte cel mult 500 ns, imprimanta semnalizeaz prin intermediul semnalului
de Busy, faptul c este n procesul de preluare a datelor primite. Acest semnal
poate persista mai mult timp dac , de exemplu, buffer-ul imprimantei este plin i
trebuie ateptat efectuarea imprim rii pentru golirea lui i preluarea unui nou
set de date. Apoi (dup cel mult 10s de la inactivarea semnalului de Busy),
devine activ semnalul de Acknowledge (varianta Centronics). n varianta Epson,
acest semnal apare cu aproximativ 7 s nainte de frontul descresc tor al
semnalului Busy.

Fig. 2.29 Diagrama semnalelor pentru protocolul de comunica ie pentru


interfa a Centronics.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

55

SISTEME DE ACHIZI IE I PRELUCRARE A DATELOR

n cazul n care se utilizeaz imprimanta conectat la portul serial al


calculatorului, sau atunci cnd exist mai multe porturi paralele (extrem de rar)
sau dac pur i simplu nu se conecteaz nici o imprimant , atunci portul paralel
disponibil poate fi utilizat pentru comanda circuitelor de m surare, reglare i
comand . n cazul PC-urilor, interfa a paralel este accesat prin intermediul
urm toarelor adrese de port:
LPT1: 3BC H 3BE H
LPT2: 378 H 37A H
LPT3: 278 H 27A H

56

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

3. TIPURI DE SISTEME DE ACHIZI II DE DATE


3.1 SISTEM DE ACHIZI II DE DATE CU MULTIPLEXARE
TEMPORAL
Cea mai simpl structur de sistem de achizi ii de date (fig. 3.1) presupune
utilizarea multiplexrii temporale. Diferitele semnale analogice de pe cele n
canale sunt multiplexate la intrarea circuitului de eantionare - memorare care
re ine, de fiecare dat , valoarea unui eantion, n vederea conversiei.
n acest proces, circuitul de eantionare-memorare realizeaz o dubl
func ie:
men ine constant (n limite de cel mult 0,5 LSB - Least Significant Bit
- bitul cel mai pu in semnificativ) semnalul achizi ionat la intrarea
convertorului analog-digital;
permite o utilizare ct mai eficient a timpului de achizi ie, comutarea
urm torului canal putnd avea loc pe durata ct circuitul de eantionarememorare se g sete n starea de memorare i tensiunea sa de ieire este
supus procesului de conversie analog-digital .
Multiplexorul analogic permite utilizarea unui singur convertor analogdigital, pentru n canale analogice; de regul n este de forma 2k. Multiplexorul este
o component electronic , con innd n = 2k comutatoare analogice, ale c ror ieiri
sunt conectate mpreun , pentru a furniza ieirea unic a multiplexorului; num rul
de comutatoare determin num rul de intr ri ale multiplexorului. Comanda de
nchidere i de deschidere a comutatoarelor analogice este efectuat prin
intermediul a log2 n = k intr ri de selec ie.
Cnd dinamica procesului de colectare a datelor permite acest lucru, se
poate m ri num rul de canale analogice de intrare, care se pot conecta, prin
multiplexare, la acelai lan de conversie, folosind structuri de tip arbore de
multiplexoare, deoarece multiplexoarele semiconductoare analogice sunt
disponibile doar n combina ii 2:1, 4:1, 8:1, 16:1.
Din fig. 2.1, se remarc funciunile unitii centrale. Aceasta trebuie s
asigure:
semnalul de comand a circuitului de eantionare-memorare;
semnalul de ini iere a conversiei (START) a convertorului analogdigital; la sfritul fiec rei conversii, convertorul CA/D furnizeaz un
semnal, EOC (End of Conversion - sfritul conversiei), pentru a
semnala n exterior c ieirea numeric este disponibil i stabil ;
semnalele de selec ie a canalului pentru multiplexor, adresarea canalelor
de intrare putnd fi f cut fie secven ial, fie aleatoriu.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

57

TIPURI DE SISTEME DE ACHIZI II DE DATE

Intrare 1

Bloc de
adaptare
semnal

Ieiri
paralele
Circuit de
eantionarememorare

Semnale
analogice

Intrare n

Comand
eantionarememorare

Bloc de
adaptare
semnal

Multiplexor
analogic
Adres
canal

Registru
tampon

C A/N
EOC

Ieire serial

START
Sfrit de
conversie

Comand
conversie

Unitate central cu microprocesor

Date

Fig. 3.1 Sistem de achizi ii de date cu multiplexare temporal .

Timpul de achiziie, pentru un canal i, TiACH poate fi determinat astfel:


i
TACH
= t E / M + t MUX + t C + t MEM ; i = 1 n
(3.1)
n care semnifica ia m rimilor ce intervin este urm toarea:
t E / M - timpul de eantionare-memorare, compus din timpul de comand
i timpul de achizi ie;
t MUX - timpul de multiplexare, compus din timpul de comand i din
timpul de stabilire al multiplexorului;
t C - timpul conversie, compus din timpul de comand i din timpul de
conversie analog-digital ;
t MEM - timpul memorare a rezultatelor, rezultat ca suma timpilor de
execu ie a unei instruc iuni de citire a rezultatelor de la convertorul
analog-digital i a unei instruc iuni de scriere a rezultatelor n memorie.
Pentru n canale de intrare, timpul de eantionare, Te , se calculeaz astfel:
i
Te = TACH
= n (t E / M + t MUX + t C + t MEM )
n

i =1

(3.2)

Sistemul cu multiplexor analogic, care permite accesul secven ial al


semnalelor, are dezavantajul unei viteze reduse de msurare, solu ia fiind, n
schimb, cea mai ieftin .
Frecvena maxim de eantionare, f e , a acestui sistem de achizi ii de date
rezult :
1
fe =
(3.3)
Te
de valoare relativ mic , ceea ce conduce la observa ia, conform teoremei
eantion rii a lui Shannon:
f e 2 f max
(3.4)
58

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

c aceast arhitectur de sistem de achiziii de date nu poate fi folosit n mod


eficient pentru monitorizarea unor semnale de frecven mare, sau rapid
variabile n timp.
Trebuie, ns , precizat faptul c , de obicei, unitatea central nu este proprie
sistemului de achizi ii de date, ci este mult mai corect s vorbim de o interfa de
achizi ii de date compatibil cu un sistem de calcul compatibil IBM - PC XT/AT,
acest sistem constituind unitatea central de prelucrare.
Un exemplu reprezentativ de sistem de achiziii de date cu multiplexare
temporal este constituit de sistemul DAS 1600, produs de firma Keithley.
Acest sistem de achizi ii de date se compune din:
interfa de achiziii de date;
microsistem de calcul, compatibil IBM PC/AT, organizat n jurul unei
magistrale de tip ISA3.
Schema bloc a interfe ei de achizi ii de date DAS 1600 este prezentat n
fig. 3.2.
Interfa a DAS 1600 permite achizi ia a 16 semnale de intrare analogice
nediferen iale, sau a 8 semnale analogice de intrare complet diferen iale, n
gama 5V, frecven a maxim de eantionare pentru un canal fiind de 100 kHz.
Selec ia modului de lucru (nediferen ial sau diferen ial) se face printr-o
configurare hardware. Semnalele de selec ie a canalului curent eantionat sunt
asigurate de o logic de comand i incrementare, constituit dintr-un num r tor
i circuite auxiliare. Aceast logic permite att baleierea secven ial , ct i
aleatoare, a canalelor de intrare.
Ieirea multiplexorului analogic este aplicat unui amplificator de
instrumentaie, a c rui amplificare este selectabil software, func ie de nivelul
semnalului de intrare. Amplificarea este comandat prin intermediul unui cuvnt
de doi bi i, astfel nct la ieirea amplificatorului de instrumenta ie, nivelul
semnalului s fie adus n gama 5 V. Nivelul optim al amplific rii este stabilit
prin utilizarea unui registru de stare, registru care con ine i informa ii despre
canalul de intrare selectat, starea procesului de conversie, etc. De asemenea, un
circuit auxiliar permite selectarea polarit ii semnalului de intrare.
Conversia analog-digital este realizat pe 12 bi i, rezolu ia asigurat
fiind de 2,44 mV.
Interfa a DAS 1600 dispune de dou convertoare digital-analogice cu
multiplicare, pe 12 bi i, a c ror tensiune de referin i polaritate a ieirii pot fi
selectate hardware. Tensiunea de referin poate fi furnizat fie de o surs de
referin de -10 V sau -5 V, fie de o tensiune extern .
Transferul datelor, sub form numeric n complement fa de doi, c tre
sistemul de calcul se face prin intermediul unei interfe e DMA4, al c rei nivel de
3
4

ISA
DMA

- Industrial Standard Architecture - arhitectur industrial standard.


- Direct Memory Access - logic de acces direct la memorie.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

59

TIPURI DE SISTEME DE ACHIZI II DE DATE

prioritate poate fi configurat hardware.


Subsistemul numeric al interfeei de achiziii de date DAS 1600 este
divizat n trei p r i importante:
logica de control, care include:
- registrul de date al convertorului analog-digital i al multiplexorului
analogic de intrare;
- logica de comand i incrementare a multiplexorului analogic;
- registrul de stare;
- registrul de control (comand );
- logica de selecie a modului de trigger-are a procesului de achizi ie;
- logica de ceas cu frecven a de 10 MHz;
- logica de selecie i decodificare;
- logica de gestionare a ntreruperilor;
- logica de comand a canalului DMA,
are rolul de a gestiona desf urarea procesului de achizi ie;

interfeele programabile de intrare-ieire, constituite din:


- trei contoare programabile de 16 bi i, organizate ntr-un circuit 8254
i folosite pentru selectarea frecven ei de eantionare, efectuarea unui
num r prestabilit de eantioane;
- trei porturi paralele, bidirecionale, dispunnd de 8 bi i, organizate
ntr-un circuit 8255 i folosite ca linii digitale de intrare-ieire;
- un registru de intrare de 4 bi i, folosit pentru sincronizarea extern a
comenzilor de achizi ie;
- un registru de ieire de 4 bi i;
logica de interfa cu magistrala sistemului de calcul, ce nglobeaz
circuite de tip tampon pentru liniile de date.
Pentru alimentare, interfa a DAS 1600 necesit o singur tensiune de
+5V. Celelalte tensiuni, 15 V, necesare func ion rii sunt asigurate de un
convertor curent continuu - curent continuu, cu care este echipat interfa a.
Tensiunea de referin , cu valoarea de -5V, este asigurat de sursa intern ,
implementat n convertorul analog-digital.

60

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Fig. 3.2 Schema bloc a interfe ei de achizi ii de date DAS-1600.

3.2 SISTEM DE ACHIZI IE SINCRON DE DATE


n arhitectura sistemului de achizi ii de date, reprezentat n fig. 3.3, se
remarc amplasarea, pe fiecare canal de intrare, a cte unui circuit de eantionareSISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

61

TIPURI DE SISTEME DE ACHIZI II DE DATE

memorare, E/M, n amonte fa de multiplexor. Comanda pentru trecerea n stare


de memorare este dat simultan, pentru toate circuitele E/M, dup care ieirile
acestora sunt multiplexate la intrarea convertorului CA/D. Multiplexarea
canalelor analogice de intrare se poate face fie secven ial, fie aleator.
Deoarece timpul de ateptare, n vederea conect rii la intrarea convertorului
CA/D, poate fi destul de lung, circuitele de E/M trebuie s prezinte o rat redus
de alterare a tensiunii memorate.
Bloc de
adaptare
semnal

Intrare 1

Circuit de
eantionarememorare

Ieiri
paralele
Registru
tampon

Semnale
analogice

C A/N
Circuit de
eantionarememorare

Bloc de
adaptare
semnal

Intrare n

Comand
eantionarememorare

EOC

Ieire serial

START
Multiplexor
analogic

Adres
canal

Sfrit de
conversie

Comand
conversie

Unitate central cu microprocesor

Date

Fig. 3.3 - Sistem de achizi ie sincron de date.

Timpul de eantionare, Te , pentru n canale analogice de intrare rezult :


i
Te = TACH
= t E / M + n (t MUX + t C + t MEM )
n

i =1

(3.15)

Se constat sc derea timpului de eantionare n raport cu acela


corespunz tor arhitecturii cu multiplexare temporal , ns , cu toate acestea Te,
timpul de eantionare, depinde nc , n mod dramatic, de num rul de canale de
intrare, cu care este prev zut sistemul de achizi ii de date.
Ca exemplu, n continuare este prezentat arhitectura interfe ei de achizi ii
de date EISA-2000, produs de firma National Instruments.
Acest sistem rapid de achiziii de date, produs de firma National
Instruments, este realizat sub forma unei pl ci echipate cu un conector
compatibil cu magistrala EISA5 a sistemelor de calcul compatibile PC. Interfa a
dispune de patru canale analogice de intrare, fiecare echipat cu propriul circuit
de eantionare-memorare. Viteza maxim de eantionare este:
1 MHz, n cazul eantion rii pe un singur canal;
500 kHz, n cazul eantion rii simultane a dou canale;
5

EISA

62

- Extended Industrial Standard Architecture - arhitectur industrial standard


extins .

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

250 kHz, n cazul eantion rii simultane a celor patru canale


analogice de intrare.
Procesul de achizi ie a datelor, pentru fiecare canal analogic de intrare,
poate fi declanat cu ajutorul unor circuite de tip trigger6 de tip software,
analogic (nivelul analogic de trigger-are este programabil pe 10 bi i, n
intervalul (-5,12+5,12)V, cu posibilitatea de alegere a polarit ii) sau digital.
Deoarece ntregul proces de configurare i de calibrare este controlat prin
program, nu este necesar interven ia asupra sistemului de calcul n care a fost
instalat interfa a de achizi ii.
Interfa a rapid de achizi ii de date EISA-A2000 utilizeaz sistemul de
integrare n timp real RTSI7, elaborat de firma National Instruments, pentru a
sincroniza func ionarea mai multor pl ci de achizi ii de date, de tip EISA sau
AT, instalate ntr-un sistem de calcul. Prin utilizarea unui controller DMA,
interfa a EISA-A2000 poate transfera datele direct n memoria sistemului de
calcul n modul burst (rafal ) cu rate de maxim 16,5 Mocte i/secund .
Ca domenii generale de aplica ii, interfa a EISA-A2000 poate fi utilizat
n aplica ii de laborator sau industriale. Cele patru intr ri analogice rapide, cu
rezolu ie de 12 bi i, permit utilizarea interfe ei pentru analiza, de nalt precizie,
de semnal, pentru analiza regimurilor tranzitorii, etc. Eantionarea sincron
multicanal este deosebit de util n cazul analizei fazei a mai multor semnale.
STRUCTURA HARDWARE A INTERFE EI DE ACHIZI II DE DATE
EISA-A2000

n fig. 3.4 este prezentat schema bloc a interfe ei de achizi ii de date


EISA-A2000.
Circuitele analogice de intrare: Circuitele de eantionare-memorare i
convertorul analog-digital, cu rezolu ie de 12 bi i, permit digitizarea unui
eantion o dat la o microsecund . Banda maxim de frecven a semnalelor de
intrare este pentru semnal mic de 4 Mhz, iar de semnal mare de 1,1 MHz. Gama
tensiunilor de intrare acceptate de sistem este de 5V. Selec ia tipului de semnal
de intrare (AC8/DC9) se face prin program. n cazul op iunii AC, intr rile
analogice asigur o rejec ie a semnalelor continue de 30V. Toate canalele
analogice de intrare sunt echipate cu circuite de protec ie la supratensiuni de
intrare de pn la 30V, att n condi ii de func ionare a interfe ei, ct i dac
interfa a nu este alimentat .
Interfa a de achizi ii EISA-A2000 asigur o rezolu ie de 12 bi i, ceea ce
este echivalent cu o rezolu ie analogic de 2,44mV. Este posibil creterea
6

Trigger
RTSI
8
AC
9
DC
7

- circuit de declanare.
- Real-Time System Integration - interfa de integrare sistem, n timp real.
- Alternative Current - semnal variabil n timp dup o lege sinusoidal .
- Direct Current - semnal continuu, invariabil in timp.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

63

TIPURI DE SISTEME DE ACHIZI II DE DATE

rezolu iei efective peste 12 bi i, folosind generatorul Gauss Dither, implementat


pe plac , i medierea eantioanelor achizi ionate. Rezolu ia este automat
crescut la 16 bi i, rezultatul fiind reprezentat n complement fa de doi.
Circuitele de autocalibrare: Interfa a EISA-A2000 con ine un nucleu
software de autocalibrare a circuitelor de intrare analogice. Sursa de referin
intern asigur o nalt precizie i stabilitate n timp i cu temperatura. Sunt, de
asemenea, disponibile circuite pentru reglajul de offset pentru fiecare canal,
asigurnd sc derea erorii de offset la mai pu in de 0,25 LSB. Procesul de
calibrare nu necesit conexiuni exterioare. Datele necesare pentru efectuarea
autocalibr rii sunt memorate ntr-un circuit de memorie E2PROM, amplasat pe
plac .
Circuitele analogice i digitale de trigger-are: EISA-A2000 dispune att
de circuite analogice, ct i digitale de trigger-are pentru declanarea procesului
de achizi ii de date. Exist trei moduri pentru declanarea convertorului analogdigital, CA/D:
n modul analogic de trigger-are, procesul de achizi ie este demarat de
un semnal analogic de intrare, atunci cnd att nivelul semnalului, ct
i polaritatea acestuia, corespund valorilor programate. Un convertor
digital-analog genereaz tensiunea de prag, cu o rezolu ie de 10 mV.
Se compar nivelul tensiunii de intrare cu aceast tensiune de prag
programat ; conversia este declanat la egalitatea celor dou
tensiuni i este, de asemenea, ndeplinit condi ia de polaritate.
Semnalul de trigger analogic poate fi selectat de la oricare dintre cele
patru canale analogice de intrare sau de la o intrare extern ;
n modul digital de trigger-are, exist op iunea de a selecta prin
program care dintre fronturile semnalului, cresc tor sau c z tor, va
declana procesul de achizi ie;
n modul software de trigger-are, procesul de achizi ii de date este
declanat prin program.
Circuitele de secvenializare i de comand a conversiei prezint trei
moduri de trigger-are pentru procesul de achizi ii de date: modul de lucru cu
pretrigger-are, modul de lucru cu ntrziere fa de semnalul de trigger-are i
modul de lucru cu posttrigger-are.
n modul de lucru cu pretrigger-are, procesul de achizi ie este declanat
prin software; acesta continu , depunnd rezultatele ntr-un buffer circular, pn
cnd se primete un semnal de trigger analogic sau digital.
n cel de-al doilea mod de lucru, se poate selecta, prin program, un timp
de ntrziere, pe durata c ruia procesul de achizi ie este inhibat, de la primirea
unui semnal trigger analogic sau digital.
n modul de lucru posttrigger, achizi ia ncepe dup ce interfa a EISAA2000 primete un semnal trigger analogic, digital sau software.
Prin combinarea modurilor de lucru, se poate achizi iona un num r pre64

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

programat de eantioane, nainte sau dup ndeplinirea unei condi ii de triggerare.


Logica de comand i timing a achiziiei: Aceste circuite genereaz
semnalele de secven ializare (timing) i de comand a procesului de achizi ie.
Timing-ul de conversie multipl analog-digital este comandat fie de un circuit
de tip num r tor, implementat pe interfa a EISA-A2000, fie de un ceas extern
de eantionare.
Circuitul de numrare, pe 16 bi i, cu care este echipat placa, genereaz
timing-ul necesar pentru conversia analog-digital . Acest circuit dispune de baze
de timp, selectabile software, de 200ns, 1s, 10s, 100s, 1ms i 10ms.
Intervalul minim de eantionare, n cazul oper rii monocanal, este de 1s. Dac
este necesar n cadrul aplica iei, num r torul intern poate fi nlocuit cu un
semnal de ceas de eantionare extern. Num rul de eantioane prelevate n cadrul
aplica iei, pe fiecare canal, este monitorizat de un num r tor pe 32 de bi i, care
oprete procesul de achizi ie la atingerea num rului preprogramat de eantioane.
Interfaa de magistral RTSI: EISA-A2000 este interfa at cu magistrala
RTSI National Instruments printr-un comutator, de fapt o re ea bidirec ional de
por i de comutare de tip crossbar. Liniile magistralei RTSI includ semnalele
externe de trigger, semnalul de ceas extern de eantionare i semnale de intrareieire de num rare. Folosind aceste linii de semnal, mai multe interfe e EISAA2000 pot fi sincronizate s achizi ioneze sincron semnalele analogice de
intrare.
Interfaa de magistral EISA: Interfa a de achizi ii de date este complet
compatibil cu magistrala EISA, putnd manipula liniile de cerere DMA de pe
acest magistral . Un circuit buffer, cu capacitate de 512 cuvinte, previne
pierderea de informa ii n condi iile n care datele nu pot fi transferate imediat n
memorie. Astfel, mai multe interfe e EISA-A2000, cuplate n sistemul de calcul,
pot func iona la ntrega capacitate.
Interfa a cu magistrala EISA dispune, de asemenea, de linii de
ntrerupere, logic DMA, registre de comand i de stare. Acest interfa este
astfel proiectat nct permite ca mai multe sisteme EISA-A2000 s poat
partaja magistrala sistemului de calcul, prin transferarea datelor n rafal cu
rate extrem de ridicate, l snd suficiente posibilit i de servire a celorlalte
resurse ale sistemului.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

65

TIPURI DE SISTEME DE ACHIZI II DE DATE

Fig. 3.4 Schema bloc a interfe ei de achizi ii de date EISA-2000.

66

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

3.3 SISTEM RAPID DE ACHIZI II DE DATE


n cazul n care semnalele de intrare evolueaz rapid n timp, cele dou
arhitecturi precedente, care se bazeaz pe un singur CA/D pentru conversie, nu
mai sunt utilizabile.
n consecin , pentru m rirea vitezei de m surare, se utilizeaz arhitectura
de sistem prezentat n fig. 3.5, care are cte un convertor CA/D, pentru fiecare
canal, precedat de elemente de eantionare - memorare, E/M.
Structura sistemului, aa cum este prezentat n fig. 3.5, n care cele n
intr ri analogice sunt conectate mpreun , permite folosirea tehnicii de
supraeantionare pentru achizi ia semnalului de intrare. n aceast configura ie,
viteza de achiziie este practic multiplicat de n ori fa de aceea care se ob ine
prin eantionarea secven ial .
Informa iile, de la ieirile convertoarelor analog-digitale, sunt aplicate unui
multiplexor numeric, care selecteaz datele primite i le transmite secven ial pe
magistrala sistemului de calcul. Trebuie precizat c marea majoritate a
convertoarelor analog-digitale realizate n momentul actual sunt asfel concepute
nct nglobeaz circuite de interfa cu un microprocesor pe 8/16 bi i. Aceste
circuite de interfa constau n implementarea intern a unor registre cu ieiri cu
trei st ri, pentru preluarea rezultatelor i a unor semnale de dialog specifice
magistralei unui microprocesor. Echiparea ieirilor circuitului de conversie cu
registre cu trei st ri permite eliminarea multiplexorului numeric din structura
prezentat anterior, legarea mai multor ieiri cu trei st ri la aceeai linie de date a
magistralei sistemului implementnd, de fapt, un multiplexor cablat.
Timpul de eantionare, Te , pentru n canale analogice de intrare,
caracteristic acestei arhitecturi de sistem de achizi ii este:
i
Te = TACH
= t E / M + t C + n (t MUX + t MEM )
n

i =1

(3.6)

Trebuie s men ion m c , pentru aceast arhitectur de sistem de achizi ii


de date, timpul elementar de multiplexare, tMUX, este corespunz tor unui
multiplexor numeric i este considerabil mai redus n compara ie cu situa iile
anterioare, deoarece timpul de stabilire al multiplexorului numeric este cu circa
trei ordine de m rime mai mic dect cel al unui multiplexor analogic.
Avantajele acestei structuri de sistem de achizi ii sunt urm toarele:
pot fi utilizate convertoare CA/D mai lente, i deci mai ieftine, chiar
dac se dorete o vitez mare de achizi ie;
prin conversia local sub form numeric , se asigur o bun imunitate la
perturba ii;
posibilitatea separ rii galvanice a unei surse de semnal, mpreun cu
convertorul CA/D aferent, fa de restul sistemului.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

67

TIPURI DE SISTEME DE ACHIZI II DE DATE

Intrare 1

Bloc de
adaptare
semnal

Comand
eantionarememorare

Semnale
analogice

Intrare n

Circuit de
eantionarememorare

Bloc de
adaptare
semnal

Comand
eantionarememorare

EOC START

Sfrit de
conversie

Circuit de
eantionarememorare

Comand
conversie

C A/N
EOC START

Sfrit de
conversie
Comenzi de
eantionarememorare
Comenzi
de START
conversie
Semnale
sfrit de
conversie

Registru
tampon

C A/N

Multiplexor
numeric

Registru
tampon

Comand
conversie

Selecii
Adres
canal

Unitate central cu microprocesor

Date

Fig. 3.5 - Sistem rapid de achizi ii de date.

3.4 UNITATEA CENTRAL DE COMAND


Unitatea central de prelucrare a unui sistem de achizi ie de date trebuie s
realizeze urm toarele func iuni (fig. 2.1):
selectarea canalului analogic, pe care se dorete s se fac achizi ia;
comanda eantion rii;
comanda conversiei analog-digitale;
sesizarea sfritului conversiei i citirea codului binar rezultat;
nc rcarea codului n memorie;
corec ia erorilor introduse de diferite blocuri componente;
prelucrarea i afiarea datelor;
testarea blocurilor componente n vederea identific rii celor defecte.
Principial, sunt posibile dou abord ri:
logica cablat, bazat pe circuite electronice cu grad redus de integrare,
dar de vitez mare;
logica programat, cu avantajul unei flexibilit i i capacit i de
prelucrare a datelor foarte ridicate, dar cu o vitez mai redus .
Logica cablat conduce la realizarea unei unit i de comand a achizi iei,
f r programe, deci f r parte software, folosind n exclusivitate resurse
hardware, astfel conectate, nct s permit func ionarea achizi iei n mod
automat. Se folosete tehnologia bipolar , MOS (Metal Oxid Semiconductor tehnologie metal-oxid-semiconductor) i CMOS (Complementary Metal Oxid
Semiconductor - tehnologie metal-oxid-semiconductor, de tip complementar) de
68

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

realizare a circuitelor.
Logica programat se bazeaz pe simbioza dintre o parte electronic ,
fizic , aa-numitul hardware, care constituie suportul material al opera iilor de
comand i prelucrare i, pe de alt parte, programele, partea informa ional ,
numit curent software; software-ul impune hardware-ului opera iile ce urmeaz
s le desf oare conform algoritmului proiectat de programator. Elementul central
al hardware-ului este microprocesorul.
n practic , nu se utilizeaz niciodat , n exclusivitate, logica cablat , ci, fie
o metod combinat , fie doar logica programat .

3.5 SISTEME DE ACHIZI IE DE DATE CU


MICROPROCESOR
Un sistem de achizi ie de date, asociat cu un microsistem de calcul, se
comport ca un sistem inteligent (care poate lua decizii bazate pe informa ii
anterioare, prelucreaz informa ia, efectueaz calcule, dup care, pe baza
rezultatelor ob inute, adopt o decizie, din mai multe solu ii posibile).

3.5.1 UNIT

I CENTRALE DE PRELUCRARE
TRADI IONALE

Microprocesorul reprezint elementul func ional esen ial al microsistemului de calcul, fiind un circuit integrat pe scar larg , LSI (Large Scale
Integration - integrare pe scar larg ), care poate realiza cinci func ii de baz :
func ia de intrare (INPUT), care permite leg tura dintre lumea
exterioar i sistem;
func ia de ieire (OUTPUT), care permite leg tura dintre sistem i
lumea exterioar ;
func ia de memorare (MEMORY), care permite p strarea informa iilor
(date, rezultate) i, uneori, a instruc iunilor programului;
func ia de prelucrare (COMPUTE), implementat prin ALU (Arithmetic Logic Unit - unitate aritmetico-logic ), care permite efectuarea
opera iilor aritmetice i logice din sistem;
func ia de control (CONTROL), care nglobeaz totalitatea ac iunilor
de secven ializare i control ale activit ii sistemului.
n interiorul microsistemului de calcul, informa iile sunt vehiculate prin
intermediul magistralei. Magistrala unui sistem de calcul este compus din trei
seciuni:
seciunea de date (magistrala de date), care asigur schimbul
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

69

TIPURI DE SISTEME DE ACHIZI II DE DATE

bidirec ional de informa ie (date) ntre microprocesor, pe de o parte, i


circuitele de memorie i de interfa , pe de alt parte;
seciunea de adrese (magistrala de adrese), unidirec ional , care asigur
vehicularea bi ilor de adres , de la microprocesor sau de la un alt
dispozitiv master c tre celelalte elemente ale sistemului;
seciunea de control (magistrala de control), unidirec ional , care
permite vehicularea semnalelor de sincronizare i control, ntre
microprocesor sau un alt dispozitiv master i celelalte resurse ale
sistemului.
Marea diversitate de componente electronice, cu func iuni, performan e i
costuri foarte diferite, impun proiectantului o definire precis a caracteristicilor i
utilit ilor sistemului pe care l concepe.
Alegerea microprocesorului i a circuitelor periferice asociate este dictat
de analiza structurii hardware (constituite din componente de microinformatic ,
procesor, memorii, componente electronice clasice) i a structurii software
(implementate n memorie), n vederea asigur rii cerin elor de vitez de m sur i
de versatilitate ale sistemului.
Gama actual de microprocesoare cuprinde tipuri de 8, 16, 32 i 64 de bi i;
pe plan mondial ponderea o de in, n continuare, microprocesoarele pe 8 bi i, care
ofer , la pre sc zut, performan e satisf c toare.
Dintre microprocesoarele pe 8 bi i, cele mai utilizate, cu performan e bune,
sunt tipurile: INTEL 8080, INTEL 8085, ZILOG Z80, MOTOROLA 6800.
Dintre acestea, o larg utilizare o are, n aplica iile curente, microprocesorul
ZILOG Z80, care nglobeaz caracteristicile microprocesorului INTEL 8080, cu
p strarea compatibilit ii software, dar cu extinderea performan elor acestuia.
n prezent, au nceput s fie utilizate pe scar larg microcontroller-ele pe
8 i 16 bi i, care compenseaz o parte din dezavantajele microprocesoarelor
tradi ionale. Arhitectura unui microcontroller a fost astfel proiectat nct s ofere
o versatilitate mult superioar celei a microprocesoarelor tradi ionale, prin:
organizarea intern sub forma unui numr de trei, patru sau cinci
porturi bidirecionale, a c ror func ionalitate poate fi stabilit de
utilizator;
extinderea spaiului de adresare prin separarea, din punct de vedere al
accesului, a memoriei de date fa de memoria de program;
nglobarea n structura microcontroller-ului a unei memorii de program
de tip PROM (Programmable Read-Only Memory - memorie
programabil , ce prezint doar facilit i de citire), cu capacitate relativ
mic (n cele mai multe cazuri 4Kocte i), ce poate fi par ial sau integral
accesibil operatorului pentru programul de aplica ii. n cazul
accesibilit ii par iale a utilizatorului la aceast resurs , trebuie
men ionat faptul c ntr-o zon a memoriei interne de program este
rezident un interpretor BASIC, ceea ce permite programatorului s -i
70

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

scrie aplica ia n limbajul BASIC i nu n limbaj de asamblare;


nglobarea n structura intern a unor circuite de interfaare, cum ar fi
interfee seriale programabile de comunica ie, interfee paralele
programabile bidirec ionale, circuite de numrare programabile,
convertoare analog-digitale, convertoare digital-analogice, etc;
un astfel de microcontroller lucreaz la o frecven a ceasului de cteva
ori mai mare dect un microprocesor tradi onal, ceea ce permite
creterea vitezei de prelucrare aproximativ n aceeai m sur ;
setul de instruc iuni al unui microcontroller este substan ial mbog it,
p strnd compatibilitatea cu cele ale microprocesoarelor tradi ionale;
tehnologia de realizare CMOS, folosit pentru implementarea
majorit ii microcontroller-elor actuale, permite scderea substanial
a puterii consumate de la sursa de alimentare, creterea fiabilitii i
siguranei n exploatare.
Ca exemplificare la cele men ionate anterior, se constat utilizarea
extensiv a dou familii de microcontrollere: familia 8051, conceput i realizat
de firma INTEL i familiile Z87, Z87 Super ale firmei ZILOG. Arhitectura
general a familiei 8051, repectiv a familiei Z8, este prezentat n fig. 3.6,
respectiv 3.7.
Ambele familii de microcontroller-e au elemente arhitecturale comune,
cum ar fi:
pentru minimizarea liniilor de interconexiune cu exteriorul, seciunea de
date i seciunea inferioar de adrese ale magistralei sistemului sunt
multiplexate temporal;
att 8051, ct i Z8 pot func iona fie ca microsisteme specializate de
intrare-ieire, fie ca microsisteme specializate de lucru cu memoria;
n ambele tipuri de aplica ii, spaiul de adresare este partajat n trei
seciuni:
- memoria de program (intern i extern ), cu capacitate maxim de
64Kocte i;
- memoria de date (extren ), cu capacitate variind ntre 60 i 64 Kocte i.
Este nevoie s se fac precizarea c dispozitivele de intrare-ieire
externe sunt adresate de microcontroller ca seturi de celule de memorie
de date;
- setul de registre interne, con innd registre de uz general, registrele
unit ii centrale de prelucrare i registrele asociate celor patru porturi de
intrare-ieire ale microcontroller-ului;
ambele familii de microcontroller-e permit operarea la nivel de bit, la
nivel de octet sau octet codificat zecimal, sau la nivel de cuvnt cu
lungime de 2 octe i;
operarea n regim de intrare-ieire poate fi coordonat prin ntreruperi
sau n modul polling (interogare periodic ). Sunt disponibile cinci/ase
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

71

TIPURI DE SISTEME DE ACHIZI II DE DATE

Registru
adrese RAM

nivele de ntreruperi, care pot fi mascate sau a c ror prioritate poate fi


modificat .

RAM
intern
128 x 8

Registru
general B

Registru
acumulator

Linii Port 0

Linii Port 2

Driver-e
Port 0

Driver-e
Port 2

Registru
Port 0

Registru
temporar 2

Registru
Port 2

ROM
4k x 8

Stiv

Registru
temporar 1

Unitate aritmetic
i logic

Registre comand,
interfa serial,
timer-e, ntreruperi

Buffer
date

ntreruperi
porturi seriale,
timer-e

Incrementare
Contor
Program
Contor
Program

Registru de
instruciuni

Unitate de
control

Registru cuvnt
de stare a
programului

Semnale
de comand

Registru
adrese
program

Registru
adresare
memorie
Registru
Port 1

Registru
Port 3

Driver-e
Port 1

Driver-e
Port 3

OSC

Semnale
de ceas

Linii Port 1

Linii Port 3

Fig. 3.6 - Arhitectura de baz a familiei de microcontroller-e INTEL 8051.

n afar de microprocesor, componenta cea mai complex , ale c rei


caracteristici determin , n esen , structura i performan ele unit ii centrale, se
disting (fig. 3.14):
memoriile nevolatile;
memoriile volatile;
circuitele de interfaare;
decodificatoarele.
Memoriile nevolatile - cu con inut permanent: ROM (Read-Only Memory
- memorie, cu con inut permanent, ce poate fi doar citit ), PROM, EPROM
(Erasable Programmable Read-Only Memory - memorie cu con inut permanent
ce poate fi doar citit i care dispune de facilit i de tergere a con inutului cu
72

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

radia ii ultraviolete), EEPROM (Electrical Erasable Programmable Read-Only


Memory - memorie cu con inut permanent ce poate fi doar citit i care dispune
de facilit i de tergere electric a con inutului) - sunt destinate s stocheze
programul pe care trebuie s -l efectueze unitatea central de prelucrare.
Intrri-ieiri programabile
la nivel de bit

Semnale de comand
Acces direct
la memorie
Unitate de
comand

Port 4

Unitate aritmetic
i logic

Interfa serial

Indicatori de
condiii
Numrtoare
Pointer-i registre
Registre
272 x 8 bii

Logic de
ntreruperi

Contor program

Port 3

Port 2

Intrri-ieiri sau CONTROL


programabile la nivel de bit

Port 0

Port 1

ADRESE sau intrri-ieiri


programabile la nivel de bit

ADRESE/DATE sau intrri-ieiri


programabile la nivel de bit

Z-BUS utilizat ca magistral


de ADRESE/DATE

Fig. 3.7 Arhitectura de baz a familiei de microcontrollere Zilog Z8 Super.


Memoriile volatile - cu con inut nepermanent: RAM (Random Access
Memory - memorie cu acces aleator), SRAM (Static Random Access Memory memorie cu acces aleator, avnd drept element de memorare un circuit basculant
bistabil), DRAM (Dynamic Random Access Memory - memorie cu acces aleator,
avnd drept element de memorare un condensator) - sunt destinate s stocheze
temporar eantioanele, rezultatele par iale i finale ale prelucr rii, n timpul
procesului secven ial de func ionare a sistemului de calcul.
Circuitele de interfaare sunt destinate s asigure comunica ia microprocesorului cu echipamentele de intrare-ieire. Prin intermediul porturilor de intrare,
se citesc datele rezultate n urma conversiei analog-digitale, sau starea unui
echipament periferic. Porturile de ieire mijlocesc transferul de date de la unitatea
de comand la afiaj sau la alt calculator, respectiv sunt utilizate pentru
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

73

TIPURI DE SISTEME DE ACHIZI II DE DATE

ini ializarea i programarea echipamentelor periferice.


Decodificatoarele sunt utilizate pentru decodificarea adreselor i generarea
unor semnale de selec ie care se exclud reciproc (un singur semnal de ieire al
decodificatorului poate fi activ la un moment de timp dat). Ieirile
decodificatoarelor sunt active pe nivel cobort, pentru a se realiza cu mai mult
uurin
interfa area cu echipamemtele externe. Decodificatoarele permit
microprocesorului s
selecteze resursele unit ii centrale, tiind c
microprocesorul nu poate executa dect o singur opera ie (citirea din memoria
program, citirea sau scrierea datelor, citirea sau scrierea registrelor de comand
sau de stare ale interfe elor). n sistemele de calcul mai complexe, pentru
generarea semnalelor de selec ie, decodificatoarele sunt nlocuite cu circuite PAL
(Programmable Logic Array - re ele logice programabile), circuite care
implementeaz decodificatoare cu mai multe ieiri (decodificatoarele integrate se
realizeaz n urm toarele configura ii: 1:2, 2:4, 3:8 i 4:16) i o logic complex
de condi ionare a decodific rii.
Configura ia prezentat este absolut minimal , ntruct n majoritatea
sistemelor exist i alte circuite, ca de exemplu: amplificatoare de magistral
unidirecionale i bidirecionale, circuite de tip registru cu trei stri, divizoare de
frecven, etc.
Dac volumul de date ce trebuie achizi ionate i prelucrate este
considerabil, se recomand folosirea memoriei RAM dinamice, care permite o
mare densitate de integrare, cu pre ul unei viteze ceva mai reduse (timpul de acces
este redus, de ordinul 5070 ns, ns sunt necesare cicluri de remprosptare la
nivel de pagini de memorie, la intervale de maximum 2 ms, pentru ca informa ia
memorat s nu fie afectat ca integritate).
Dac este esen ial viteza iar volumul de date este mic, se prefer utilizarea
memoriilor RAM statice.
Datorit progreselor tehnologice nregistrate n ultimii ani, numeroase
firme produc toare de componente, cum ar fi INTEL, AMD, Micron, Hibrid
Semiconductor, realizeaz memorii SRAM de capacitate mare n tehnologie
CMOS (de la 2Kx8 bi i pn la 128Kx8 bi i, 256Kx16 bi i), cu timp de acces
cuprins ntre 20 i 35 ns i peforman e deosebite de fiabilitate i cost. De
asemenea, se realizeaz module de memorie SRAM, cu capacit i cuprinse ntre
128Kx8 bi i i 256Kx32 bi i. Aceste circuite de memorie SRAM, respectiv
modulele de memorie SRAM, sunt ideale pentru a echipa unit ile centrale de
prelucrare, din punct de vedere al vitezei de acces, siguran ei n exploatare,
consumului deosebit de redus i gradului mare de integrare.
Func ionarea sistemului de achizi ii de date cu microprocesor este
urm toarea:
microprocesorul ini ializeaz toate circuitele din sistem;
prin intermediul unui port de ieire, se ncarc n registrul de selec ie al
canalului analogic, num rul canalului a c rui achizi ie se dorete;
74

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

dac achizi ia poate ncepe n orice moment, microprocesorul d


semnalul de eantionare i de ini iere a conversiei pentru primul
eantion. Dac trebuie ateptat trecerea prin zero sau valoarea maxim
a semnalului de intrare, circuitul sesizor de zero, respectiv de vrf, va da
primul impuls de eantionare i conversie, urmnd ca, dup aceea,
microprocesorul s preia controlul;
convertorul va emite semnalului READY la sfritul conversiei, care
poate fi folosit ca semnal de ntrerupere pentru microprocesor, ca s
citeas codul rezultat n urma conversiei. Dac viteza nu e factor
limitativ, microprocesorul poate citi periodic portul de intrare (modul
polling), fiecare citire constituind totodat un nou semnal de eantionare
i de START CONVERSIE;
eantioanele sunt depuse, dup fiecare citire, n memoria RAM; se
urm rete num rul eantioanelor efectuate, cu ajutorul unui num r tor
extern; procesul se oprete, atunci cnd s-a ob inut num rul de
eantioane dorit;
la sfrit, eantioanele sunt prelucrate i afiate rezultatele, conform
programului elaborat i stocat n memoria EPROM.
Microprocesoarele i microcontroller-ele constituie resurse de comand i
prelucrare, care sunt deosebit de utile n procesul de gestiune a achizi iei, de
preluare i memorare a eantioanelor rezultate n urma conversiei analog-digitale.
Eficacitatea lor, n ceea privete procesul de prelucrare evoluat a eantioanelor
prelevate din proces, este mult mai redus . Pentru o supraveghere precis a unui
proces, este, de regul , necesar achizi ionarea unor eantioane, care convertite n
form numeric , au lungimi de 12 sau 16 bi i. Folosirea unor algoritmi de
prelucrare evoluat (filtrare numeric , analiz armonic , etc) comport execu ia
unor instruc iuni de nmul ire, adesea n virgul mobil , a dou cuvinte de 2
octe i, rezultatul fiind disponibil pe un cuvnt de lungime dubl . Asemenea
algoritmi pot fi cu greu implementa i pe un microcontroller de 8 bi i, cu consum
nejustificat de timp i de resurse. De aceea, o solu ie modern de a realiza
prelucr ri complexe asupra datelor o const utilizarea circuitelor DSP (Digital
Signal Processor - procesor digital de semnal), specializate n execu ia unor astfel
de instruc iuni.

3.5.2 PROCESOARE DE SEMNAL: DSP


Procesoarele DSP sunt circuite specializate pentru prelucrarea semnalelor,
permi nd l rgirea considerabil a cmpului de aplicabilitate a tehnicilor numerice
n domeniul achizi iilor de date.
Pe lng facilit ile extinse de operare numeric (nmul ire i mp r ire
rapid n virgul mobil ), de cele de prelucrare numeric a semnalelor (filtrare,
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

75

TIPURI DE SISTEME DE ACHIZI II DE DATE

modulare, detec ie, estimare de parametri, transform ri neliniare, transformare


Fourier rapid - FFT), aceste circuite i g sesc deja aplica ii n m sur ri (analize
de spectru, analize de regimuri tranzitorii), n telecomunica ii (egalizatoare
adaptive, modem-uri de nalt vitez inteligente), n prelucrarea vorbirii
(recunoaterea, transmisia i recep ia vorbirii) i a imaginilor (reconstituirea,
compresia, prelucrarea homomorfic a imaginilor). Trebuie remarcat c toate
procesoarele DSP sunt uniti microprogramate, cu facilit i de prelucrare n
timp real a semnalelor, dispunnd de resurse logice destinate dezvolt rii i punerii
la punct a programelor de aplica ii.
Pentru mbun t irea performan elor, se depun eforturi pentru:
m rirea spa iului de adresare (creterea capacit ii memoriei interne
RAM i ROM);
utilizarea direct a memoriei externe;
modificarea arhitecturii de baz n vederea cre rii unei memorii tampon;
utilizarea optimal a magistralei interne, n vederea acceler rii
transferurilor de date;
creterea lungimii cuvintelor pentru executarea unor instruc iuni n
virgul flotant ;
creterea frecven ei de operare prin utilizarea tehnologiei CMOS, ce
permite creterea gradului de integrare.

3.5.2.1 ARHITECTURA UNUI PROCESOR DE SEMNAL


Cele mai r spndite procesoare de semnal - DSP - sunt cele din seria TMS
320XX, produse de firma Texas Instruments, datorit performan elor de calcul
(5 milioane de instruc iuni pe secund ) i versatilit ii lor. Viteza de calcul este
ob inut cu ajutorul unui unit i aritmetico-logice ce incorporeaz un circuit de
nmul ire paralel de 16 x 16 bi i, cu rezultatul pe 32 bi i, n 200ns. Aceast nalt
performan este destinat calculelor complexe de tipul convolu iei, deconvolu iei
i transform rii Fourier rapide.
Familia de procesoare DSP TMS 320XX dispun de o memorie RAM,
avnd capacitatea de minimum 144 cuvinte de 16 bi i, capacitate suficient pentru
a executa un algoritm FFT n 64 de puncte.
Procesoarele din familia TMS 320XX posed 8 porturi de intrare-ieire
multiplexate, ce pot suporta o vitez de transfer de 40 milioane de bi i pe secund .
Primul component al acestei familii, procesorul TMS 32010, se
caracterizeaz printr-o arhitectur Harvard modificat n vederea creterii vitezei
de func ionare i a versatilit ii. Modific rile aduse permit transferurile ntre
spa iile de memorie de program i de date: coeficien ii nscrii n memoria de
program pot fi citi i n memoria de date, eliminnd n acest fel necesitatea
existen ei unei memorii de program separate pentru coeficien i.
76

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

n arhitectura oric rui procesor DSP se disting dou seciuni:


sec iunea operativ , organizat n jurul unei magistrale de date, cu o
lungime de 16 bi i; la magistrala de date sunt conectate:
- un sistem multiplicator de 16 x 16 bi i, rezultatul nmul irii fiind
disponibil pe 32 de bi i. Sistemul de multiplicare dispune de dou
registre: registrul T (registru temporar n care se citete din memoria
RAM de date unul dintre operanzi) i registrul P (registru rezultat) i de
circuitul de nmulire propriu-zis. O nmul ire se efectueaz n dou
cicluri, unul necesar citirii n registrul T a unui operand i al doilea
necesar citirii n registrul acumulator a celuilalt operand;
- o unitate aritmetico-logic opernd pe 32 de bi i i care are asociat
un registru acumulator (RA), de asemenea cu lungimea de 32 de bi i.
Registrul RA este divizat n dou p r i: partea mai semnificativ (bi ii
1631) i partea mai pu in semnificativ (bi ii 015). Con inutul
acumulatorului poate fi salvat n memorie prin dou instruc iuni
succesive;
- dou circuite de deplasare (SHIFTER), dintre care unul este destinat
deplas rii aritmetice programabile cu 015 a datelor din memoria RAM
de date, iar al doilea circuit efectueaz o deplasare la stnga cu zero, cu
una sau patru pozi ii, a p r ii superioare a acumulatorului;
- o memorie RAM de date (DATA RAM), cu capacitatea de 144 de
cuvinte de 16 bi i. Aceast memorie este organizat sub forma a dou
pagini, dintre care prima pagin con ine 16, iar cea de-a doua 128
cuvinte. Indicatorii de adrese pot fi autoincrementa i sau autodecrementa i, incrementul fiind egal cu unitatea;
sec iunea de comand , organizat n jurul unei magistrale de program,
con innd:
- un registru denumit contorul programului (PROGRAM
COUNTER) cu lungimea de 12 bi i i o stiv (STACK) folosit pentru
salvarea contextului programului. Registrul contor al programului
con ine adresa urm toarei instruc iuni din memoria de program;
- memoria de program (PROM), cu o capacitate de 1536 de cuvinte cu
lungimea de 16 bi i. Acest memorie de program poate fi substituit cu
o memorie extern de program, cu o capacitate de 4096 de cuvinte.
Aceast arhitectur a unui DSP permite func ionarea n modul pipeline,
adic pe durata execut rii instruc iunii curente, contorul programului se ncarc cu
adresa urm toarei instruc iuni, instruc iunea urm toare fiind citit n paralel cu
execu ia instruc iunii curente. Modul de lucru pipeline contribuie n mod decisiv
la creterea vitezei de lucru a procesorului.
n raport cu procesorul TMS 32010, cele ale urm toarei genera ii - TMS
32020 i TMS 320C25 - sunt caracterizate prin urm toarele modific ri:
eliminarea memoriei interne de program i nlocuirea ei cu o memorie
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

77

TIPURI DE SISTEME DE ACHIZI II DE DATE

intern RAM, ce poate fi nc rcat cu un program de aplica ie de la o


surs extern ;
procesorul dispune de 544 de cuvinte de memorie, dintre care 256
cuvinte sunt utilizabile ca memorie de program;
este disponibil o memorie extern adresabil de 64 Kcuvinte de
program;
realizarea opera iei de nmul ire cu nl n uire ntr-un singur ciclu (170
ns);
exist cinci indicatori ai memoriei RAM interne; unitatea aritmeticologic pentru calculul adresei asociat acestor indicatori permite o
indexare cu pas variabil;
circuit divizor de frecven , integrat n structura procesorului;
existen a unor instruc iuni specializate, destinate aritmeticii n virgul
flotant ;
facilit i de mascare a trei rezultate, n loc de unul singur.
Realizat n tehnologie CMOS, procesorul TMS 320C25 este caracterizat

durata unui ciclu instruc iune de 100 ns;


consum energetic foarte redus;
memorie de program (ROM) intern , cu capacitatea de 4Kcuvinte cu
lungimea de 16 bi i;
un num r de 8 registre auxiliare, asociate unei unit i aritmetice;
stiv pentru salvarea contextului programului, organizat pe 8 nivele;
dou circuite de memorie RAM intern . Unul dintre aceste circuite
poate fi configurat fie ca memorie de program, fie ca memorie de date.
Creterea vitezei i eficien ei de prelucrare numeric poate fi asigurat prin
utilizarea unor procesoare de semnal cu arhitectur paralel . Procesorul de semnal
SPROC-1400 face parte din seria SPROC-1000, con innd memoria de program,
memoria de date, logica de secven ializare i logica de interfa are cu alte
procesoare. Aceste resurse sunt necesare pentru proiectarea eficient ,
implementarea i testarea sistemului. Procesoarele SPROC-1000 pot fi
configurate s lucreze att n modul MASTER, ct i n modul SLAVE, pentru
interconectarea cu alte procesoare SPROC sau cu un microprocesor tradi ional.
Principalele caracteristici ale procesoarelor SPROC-1400 sunt:
integrarea tuturor subsistemelor de procesare de semnale pe un singur
chip;
arhitectur de tip multiprocesor optimizat ;
banda maxim de frecven a semnalelor de intrare de maxim 250 kHz;
lungimea cuvintelor procesate de 24 de bi i, cu posibilitatea de
memorare pe 56 de bi i;
generator intern de ceas, cu frecven a de 50 MHz;
de:

78

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

memorie RAM local , reprogramabil n mod dinamic;


4 porturi seriale, configurabile pentru manipularea a 8, 12, 16 sau 24 de
bi i de date;
1 port paralel, dispunnd de 24 de linii, configurabil pentru manipularea
unor cuvinte de date de 8, 12, 16 sau 24 de bi i;
tehnologia de realizare CMOS static ;
ini ializarea poate fi f cut att intern, printr-un fiier de 16 Kocte i, ct
i extern, prin folosirea unei memorii ROM;
compatibilitate cu majoritatea microprocesoarelor apar innd familiilor
INTEL i Motorola.
Seria de procesoare SPROC-1000 utilizeaz o arhitectur cu memorie
central optimizat (fig. 3.8) pentru procesarea concurent a fluxurilor complexe,
rela ionale de date.

Memorie de program

Procesoare
GSP

Porturi
seriale
de
intrare

DFM
Intrare

Unitate de Memorie
Central (CMU)

Port paralel
de interfa
cu microprocesor

DFM
Ieire

Porturi
seriale
de
ieire

Port de acces
pentru sisteme
de dezvoltare
SPROCLab

Fig. 3.8 Arhitectura procesorului de semnal SPROC 1000, cu unitate de


memorie cental .

Nucleul central al acestei arhitecturi este reprezentat de memoria de date


partajat , de tip multiport, denumit CMU (Central Memory Unit - unitate de
memorie central ).
Un num r de patru procesoare generale de semnal, GSP (General Signal
Processor - procesor general de semnal), implementate pe chip, realizeaz
calculele i asigur procesarea paralel .
Controloarele de fluxuri de date de intrare-ieire, DFM (Data Flow
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

79

TIPURI DE SISTEME DE ACHIZI II DE DATE

Manager - controlor al fluxului de date), coordoneaz fluxurile concurente de


date, semnalele de interfa pentru canalele seriale i activeaz interfa area cu un
procesor extern.
Arhitectura CMU reprezint o extensie de la abordarea monoprocesor la
procesarea concurent (multiprocesor). n locul multiplex rii temporale, prin
ntreruperi, a unit ii de procesare, arhitectura CMU folosete mai multe
procesoare i multiplexarea temporal a accesului acestora la memorie.
Accesarea multipl a memoriei nu mai este gestionat prin ntreruperi:
CMU este un spa iu de memorie de date de tip multiport, ce utilizeaz o secven
compus de perioade de acces la memorie, alocate fiec rui GSP sau ciclu de
intrare-ieire. Secven a de baz reprezint un ciclu main al procesorului
SPROC, respectiv cinci perioade de ceas. Perioadele 14 sunt destinate
procesoarelor generale de semnal, GSP, n vederea accesului la memorie, ntr-un
mod secven ial bine determinat, iar cel de-al cincilea interval de timp este utilizat,
prin subdivizare n 8 subintervale, pentru opera ii de intrare-ieire paralele sau alte
opera ii de intrare-ieire.
Procesoarele GSP lucreaz pe 24 de bi i, n virgul fix i pot fi folosite fie
individual, fie n grup, n func ie de cerin ele aplica iei.
Magistral Adrese/Date
ROM
Control

Semnale de
comunicaie
port paralel

GSP1

GSP2

GSP3

RAM
Program
1k x 24b
Port
paralel

RAM
Date
1k x 24b

GSP4

Port de
acces

Semnale de
comunicaie
port de acces

Port
test

Semnale de
comunicaie
port de test

Semnale de
comunicaie
port 1

Port 1
Intrare
serial

Port 3
Ieire
serial

Semnale de
comunicaie
port 3

Semnale de
comunicaie
port 2

Port 2
Intrare
serial

Port 4
Ieire
serial

Semnale de
comunicaie
port 4

Semnale
selecie

Logic
selecie
ceas

Adrese/Date

Semnale de inializare i comand

Fig. 3.9 Structura detaliat a procesorului de semnal SPROC-1400.

80

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Controloarele de fluxuri de date gestioneaz introducerea/extragerea


datelor n/din unitatea central de memorie, f r s afecteze performan ele
procesoarelor GSP. Controloarele DFM comunic cu celelalte resurse interne pe
o magistral de 24 de bi i, iar cu resursele externe prin intermediul porturilor
seriale programabile.
Schema bloc a procesorului de semnal SPROC-1400 este prezentat n fig.
3.9.

3.5.2.2 PORTUL SERIAL SINCRON AL FAMILIEI DSP


TMS320C2XX
Familia de procesoare DSP TMS320C2xx dispune de un port serial
sincron full-duplex, cu facilit i de transmisie de cadre de date, suportnd rate de
transfer de pn la 20 Mbps (pentru durata unui ciclu instruc iune de 25 ns).
Rata de transfer este jum tate din frecven a ceasului dispozitivului. Acest port
serial sincron bidirec ional asigur comunica ia direct cu dispozitive seriale,
cum ar fi: CODEC-uri, convertoare analog-digitale seriale i alte echipamente
seriale. Portul serial poate fi utilizat pentru comunica ia ntre procesoare n cazul
sistemelor multiprocesor. Att sec iunea de transmisie, ct i cea de recep ie, a
portului serial dispun de un buffer sau memorie FIFO organizate pe 4 nivele de
adncime, permi nd unit ii centrale de prelucrare s accepte ntreruperi de la
oricare din aceste nivele. Aceast facilitate nseamn interven ia mai redus a
unit ii centrale de prelucrare, ca i creterea flexibilit ii i eficien ei
transmisiilor de date.
Portul serial sincron al familiei TMS320C2xx are urm toarele
caracteristici:
port serial sincron full-duplex, cu facilit i de transmisie de cadre de
date;
buffer cu capacitatea de 4 cuvinte x 16 bi i, pentru reducerea overheadului rutinelor de tratare a ntreruperilor;
port serial flexibil, eficient i de nalt performan ;
asigur rate de transfer de 20 Mbps, pentru durata unui ciclu
instruc iune de 25 ns;
asigur rate de transfer de 14,28 Mbps, pentru durata unui ciclu
instruc iune de 35 ns;
asigur rate de transfer de 10 Mbps, pentru durata unui ciclu
instruc iune de 50 ns;
rata de transfer este jum tate din frecven a ceasului unit ii centrale de
prelucrare.
Toate dispozitivele din familia TMS320C2xx, cu excep ia circuitului
TMS329C209, dispun de acest tip de port serial sincron. Fig. 3.10 ilustreaz
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

81

TIPURI DE SISTEME DE ACHIZI II DE DATE

organizarea portului serial sincron al procesoarelor DSP TMS320C2xx.

Fig. 3.10 Portul serial sincron al familiei de procesoare TMS320C2xx.

3.5.2.3 PORTUL SERIAL ASINCRON AL FAMILIEI DSP


TMS320C2XX
Familia de procesoare de semnal TMS320C2xx dispune de un port serial
asincron, full-duplex i dublu buffer-at. Acesta manipuleaz cuvinte de date cu
lungimea de 8 bi i i poate fi programat prin intermediul unui registru s accepte
rate de comunica ie de pn la 2,5 Mbps. Portul serial asincron poate fi utilizat
pentru comunica ia cu alte dispozitive, cum ar fi microcontroller-e, prin
conectare de tip RS-232 care suport rate de transfer de date de pn la 115,2
kbps.
Caracteristicile portului serial asincron al familiei de procesoare DSP
TMS320C2xx sunt:
port serial asincron full-duplex;
portul serial dispune de o dubl buffer-are;
portul serial permite transferuri de date de 8 bi i;
programarea ratei de transfer prin intermediul unui registru de 16 bi i;
portul serial asigur rate de transfer de 2,5 Mbps, pentru durata unui
82

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

ciclu instruc iune de 25 ns.


Toate dispozitivele din familia TMS320C2xx, cu excep ia circuitului
TMS329C209, dispun de acest tip de port serial asincron.
Fig. 3.11 ilustreaz organizarea portului serial asincron al procesoarelor
DSP TMS320C2xx.

Fig. 3.11 Portul serial asincron al familiei de procesoare TMS320C2xx.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

83

TIPURI DE SISTEME DE ACHIZI II DE DATE

84

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

4. CONSIDERA II GENERALE ASUPRA


INSTRUMENTA IEI VIRTUALE
4.1 INSTRUMENTE VIRTUALE
Se manifest , n ultima perioad , o tendin de cretere a flexibilit ii
instrumenta iei, concretizat n ob inerea unor arhitecturi deschise care permit
dezvolt rile necesare unui domeniu larg de aplica ii. Acest lucru se manifest
att la nivelul hardware-ului, ct i la nivelul software-ului, fiind sus inute i de
avantaje economice (cost, rapiditate, uurin n utilizare).
Instrumentele de msurare inteligente reprezint entit i independente,
func ionnd separat de un sistem de calcul, capabile s comunice un set redus de
parametri i s execute o serie de comenzi. Toate echipamentele de m surare
dezvoltate n ultimii ani con in interfe e prin intermediul c rora se transmit
datele achizi ionate, precum i comenzi unor relee cu care sunt echipate.
Indiferent de tipul de m rime m surat , instrumentele inteligente sunt
echipate cu relee care comand direct echipamente externe, n func ie de valorile
parametrului m surat. Dup gradul de complexitate, pot fi nso ite de un pachet
software aferent, executabil pe un sistem de calcul compatibil IBM-PC, pentru a
putea executa citirile i comenzile la distan . Foarte multe asemenea sisteme
dispun de mijloace de memorare extern , care stocheaz varia ia n timp a
parametrului m surat sau valorile instantanee, la anumite intervale de timp.
Astfel, conceptul de aparat de m sur autonom este treptat nlocuit de un
ansamblu modular, evolutiv, uor adaptabil. Se asist , n cadrul instrumenta iei,
la o trecere de la func ionalitatea definit de constructor (constnd ntr-o
multitudine de aparate ce pot fi asamblate ntr-un sistem de m sur ) la
func ionalitatea definit de utilizator (constnd din sisteme programabile, asiuri
con innd module ce permit dezvoltarea i implementarea a unui num r cu
adev rat impresionant de aplica ii).
Trebuie men ionat n acest cadru rolul determinant al calculatoarelor, care
prin puterea de calcul i mijloacele eficiente de afiare, au accelerat evolu ia
instrumenta iei. Dac analiz m structura unui lan de m surare, se poate observa
faptul c un sistem de calcul poate spori func ionalitatea instrumentelor prin
interac iunea sa asupra celor trei componente de baz :
achizi ia datelor;
analiza datelor;
prezentarea rezultatelor.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

85

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

ACHIZI IE
I CONTROL

SEMNALE

ANALIZA
DATELOR

PREZENTAREA
REZULTATELOR

Fig. 4.1 Componentele procesului de m surare.

n cadrul software-ului utilizat sunt nglobate biblioteci care servesc la


programarea achizi iei (module instrument), la prelucrarea datelor (module de
analiz armonic de semnal, module de func ii statistice), la afiarea rezultatelor,
conducnd astfel la crearea de instrumente virtuale.
Re ea
Calculator
3

Calculator
2

Calculator
1

Software

VXI/VME

GPIB

Pl ci de
achizi ie

Interfe e
seriale

Condi ionare
de semnale

Stimuli
Control
Tensiune
Curent

Unitate de testat/Proces de m surat

Temperatur
Presiune
Debit
Tensiune
Curent

Fig. 4.2 Configura ia instrumenta iei virtuale.

Un instrument virtual cuprinde, n principiu, urm toarele elemente:


unul sau mai multe sisteme de calcul;
interfe e de re ea;
software;
dispozitive de intrare-ieire (GPIB, VXI, pl ci de achizi ie);
instrumente de m sur clasice, interfa abile;
procesul controlat sau unitatea de testat,
fiind o combina ie a instrumentelor programabile cu calculatoarele.
Calculatorul, prin versatilitatea pe care o prezint , poate spori
posibilit ile limitate (fixe) ale instrumentelor tradi ionale.
Prin interconectarea n diverse combina ii i programarea sistemelor de
achizi ie de date, a instrumentelor de m sur de care se dispune, folosind
86

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

aplica ii software specifice, exist posibilitatea de a creea propriile sisteme de


instrumenta ie, denumite sisteme de instrumentaie virtual.
Datorit abilit ii de a construi sisteme de instrumenta ie chiar de c tre
utilizator se ctig timp, se economisesc bani i se poate interveni rapid n
cadrul sistemului de m surare sau de control.
Principalele caracteristici ale instrumenta iei virtuale - modularitatea i
ierarhia - att la nivel hardware, ct i software, i confer acesteia caracterul de
flexibilitate i deschidere c tre noi domenii de aplica ie.
Din punct de vedere al domeniului de utilizare, sistemele de
instrumenta ie virtual pot fi clasificate n:
sisteme pentru testare i m sur ri;
sisteme de control automat al proceselor;
sisteme pentru efectuarea de cercet ri tiin ifice.
Trebuie s remarc m aici faptul c instrumenta ia virtual are
aplicabilitate n aproape toate compartimentele func ionale din cadrul unei
organiza ii, i anume: cercetare-dezvoltare, proiectare, produc ie, calibrare,
controlul i asigurarea calit ii, testare in situ, service.
Din punct de vedere al modului n care poate func iona un instrument
virtual putem men iona:
modul de lucru live, n care se configureaz fizic echipamentul de
m surare, cuplat la sistemul de calcul i care achizi ioneaz date din
procesul studiat, urmat de procesul de analiz , interpretare i afiare a
rezultatelor;
modul de lucru not live (simulare), n care se poate doar simula
func ionarea echipamentului de m surare asupra eantioanelor unor
semnale generate prin mijloace software.
n cele ce urmeaz vom prezenta pe scurt componentele unui instrument
virtual, mai exact interfa a calculator-proces de m sur sau control, precum i
software-ul ce permite crearea instrumentelor virtuale.
n fig. 4.3 se prezint un model schematic al unei prelucr ri digitale
generice de semnal. Se observ c semnalul de intrare este sub form analogic ,
convertit apoi n valori numerice prin intermediul unui convertor analog-digital.
Unitatea central (calculatorul) prelucreaz aceste reprezent ri numerice,
urmnd ca rezultatul s fie reconvertit n semnal analogic (prin intermediul unui
convertor digital-analogic). Ct timp informa ia se g sete, nc , sub form
numeric , pot avea loc mai multe tipuri de opera ii asupra acesteia: analiz ,
memorare, afiare, transmisie etc.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

87

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

Semnal

Filtrare

Conversie
analogdigital

FTJ

CA/D

Unitatea de calcul

Conversie
digitalanalogic Filtrare
CD/A

Circuit de
amplificare

FTJ

Analog

Analog

Semnal

Numeric

Fig. 4.3 Exemplu de sistem de prelucrare numeric a semnalelor.


Circuitele de intrare

Elementul de intrare al oric rei aplica ii de procesare de semnal


(analogic sau digital ) l reprezint traductorul (senzorul) specific m rimii de
intrare, cu rolul de a converti m rimea de intrare ntr-un semnal de natur
electric . Pentru aplica iile practice, senzorii de intrare pot fi de tipuri foarte
diverse: microfon, n cazul semnalelor audio, traductoare de vibra ii n
seismologie, antene n aplica ii radar, senzori cu infrarou n teledetec ie,
transfomatoare de m surare n sta iile electrice, etc.
Circuitele de condi ionare a semnalului

Scopul utiliz rii acestor module este acela de a converti valorile m rimii
de ieire a senzorului n valori compatibile cu domeniul de varia ie acceptat de
convertorul analog-digital (de obicei 0-5V, sau 0-10V pentru convertoare setate
pe mod unipolar). Circuitele de condi ionare protejeaz , de asemenea, etajele
superioare de prelucrare, uneori i prin separare galvanic , mpotriva
supratensiunilor accidentale. Modul de realizare al condi ionerelor de semnal
este bazat pe utilizarea circuitelor cu amplificatoare opera ionale i/sau de
instrumenta ie.
Filtrele anti-aliasing

Filtrele anti-alias (aliasing: replierea spectrelor) sunt filtre trece-jos care,


n principiu, limiteaz superior viteza de varia ie n timp a semnalului analogic
aplicat la intrarea sistemului. Func ia acestor filtre este critic , ea determinnd
direct modul n care restul sistemului este capabil s urm reasc varia iile de
interes ale semnalului.
Convertoarele analog-digitale

Dup cum sugereaz i numele, convertoarele analog-digitale (analog-todigital converter, ADC) furnizeaz o reprezentare numeric (binar ) a
88

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

semnalului analogic aplicat la intrarea lor. Dou dintre cele mai importante
caracteristici ale unui ADC sunt rata de conversie i rezolu ia. Rata de conversie
(uneori definit i prin inversul s u, timpul de conversie) exprim ct de repede
se efectueaz opera ia de conversie. Rezolu ia exprim gradul de apropiere ntre
valoarea numeric ob inut la ieirea convertorului i valoarea real
corespunz toare semnalului analogic aplicat la intrare.
Procesorul

Procesorul efectueaz
opera iile matematice necesare proces rii
semnalului o dat convertit n form numeric . De exemplu, n cazul n care
aplica ia este un amplificator, atunci procesarea digital const n nmul irea
valorii corespunz toare intr rii cu constanta de amplificare.
n primele aplica ii de procesare numeric , procesorul numeric era
constituit adesea dintr-un calculator de uz general dar, pe m sur ce domeniul sa dezvoltat, au fost proiectate i utilizate o gam larg de procesoare dedicate, de
mare vitez , capabile s prelucreze un num r imens de date. Ast zi sunt
utilizate, n principal, procesoarele de semnal care reprezint , de fapt, o
combina ie de hardware de vitez mare, arhitectur specializat i un set de
instruc iuni dedicate proces rii de semnale permi nd implementarea eficient a
algoritmilor specifici.
Memorarea i transmiterea datelor

n memoria program se stocheaz instruc iunile prin care se


implementeaz algoritmii DSP. Dac ntr-un calculator cu arhitectur von
Neumann, datele i instruc iunile sunt memorate ntr-un acelai bloc, n cele mai
multe sisteme dedicate DSP, instruc iunile sunt memorate separat de date,
asigurndu-se astfel o procesare mult mai rapid a instruc iunilor. Datele pot fi
transferate pe magistrala proprie simultan cu executarea instruc iunilor din
program. De multe ori cele dou magistrale - de date i de instruc iuni - au
dimensiuni (num r de linii de acces) diferite. Aceast arhitectur a fost
dezvoltat pe baza cercet rilor efectuate ini ial la Universitatea Harvard i, de
aceea, este denumit ca fiind arhitectur Harvard.
Datele prelucrate de un sistem DSP sunt adesea destinate unor prelucr ri
ulterioare, n cadrul aceluiai sau al altui sistem. Ele pot fi memorate pe band
magnetic , discuri optice (CD) sau alt suport.
Interfa a cu utilizatorul

Nu toate sistemele DSP necesit dispozitive de afiare sau introducere a


datelor de c tre utilizator, cu ajutorul unui keypad (tastatur ) specializat, a unor
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

89

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

comutatoare discrete sau chiar a unei tastaturi clasice. Cu toate acestea, adeseori
este foarte comod reprezentarea grafic a semnalelor prelucrate.
Convertoarele digital-analogice

Multe dintre sistemele DSP impun o etap de re-conversie a semnalului n


form analogic , aceast func ie fiind ndeplinit de convertoarele digitalanalogice (digital-to-analog converter). Una dintre caracteristicile esen iale ale
convertorului digital-analog este viteza (slew rate) cu care se ob ine tensiunea la
ieirea acestuia, dup setarea valorii numerice dorite la intrarea convertorului.
Acest parametru trebuie s corespund ratei de conversie analog-digital a
ntregului sistem DSP.
Filtre de netezire i amplificatoare de ieire

Scopul filtrelor de netezire este acela de a micora discontinuit ile n


forma (de tipul scar ) semnalului de la ieirea convertorului digital-analogic.
Uzual, un astfel de filtru are o caracteristic trece-jos implementat cu un circuit
RC simplu.
Amplificatorul de ieire este, n general, de tip clasic, prev zut n scopul
de a adapta impedan a mare a convertorului digital-analog la impedan a de
intrare mic a traductorului de ieire (difuzor, anten , motor electric etc.)
precum i pentru a regla puterea la nivelul cerut.
n func ie de specificul aplica iei, unele module din sistemul prezentat
mai sus pot lipsi. De exemplu, ntr-o aplica ie de telegestiune a consumului
energetic, convertorul D/A nu se mai reg sete. Important este, ns , faptul c
modelul prezentat anterior este valabil pentru orice tip de aplica ie din gama
proces rilor numerice de semnal.

4.2 INTERFA A CALCULATOR - PROCES DE M SURARE


SAU CONTROL
Dup cum se sugereaz i n cadrul fig. 4.2, exist urm toarele tipuri de
magistrale de proces pentru interconectarea instrumentelor programabile cu un
sistem de calcul:
GPIB (General Purpose Interface Bus - magistral de interfa are de
scop general) este specializat pentru comunica ie cu instrumente
programabile. Este disponibil pentru platforme diverse (PC, IBM,
MacIntosh, etc.) i ofer o rat de transfer de 1 Mbyte/secund .
Protocolul de comunica ie este specificat de standardul industrial
90

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

IEEE-488 (protocol pe 8 bi i, comenzi tip ASCII, maximum 14


instrumente aflate la cel mult 20m). O dezvoltare ulterioar , HS-488, a
crescut rata de transfer la 8 Mbytes/secund ;
RS-232, RS-422, RS-485 sunt utilizate n special la sisteme personale
de calcul. Sunt destinate comunica iilor seriale sincrone / asincrone
ntre instrumente, oferind o imunitate ridicat la zgomotul din mediul
industrial. Dezavantajul major este rata de transfer redus (sute de
kbits/secund ). Protocolul de comunicare poate fi ASCII sau un
protocol special al instrumentelor ce se interconecteaz . Ceea ce le
diferen iaz este distan a de interconexiune (de la 15m la RS-232, la
1200m la RS-485), care este m rit prin amplific ri suplimentare pe
intr ri/ieiri. Interfa a RS-485 permite leg turi multi-punct (daisychain), deci economii importante de cablu;
SCXI (Signal Conditioning eXtensions for Instruments): aceste
module, montate sub form de rack (dulap cu sertare de conexiuni
modulare), sunt utilizate la condi ionarea semnalului. La intrare, se
admit semnale provenite de la traductoare, cum ar fi: termocupluri,
termistoare, m rci tensometrice etc, iar la ieire se ob in semnale
analogice (curen i sau tensiuni) sau semnale numerice. Se utilizeaz
module de filtrare, liniarizare, izolare galvanic , ieiri de putere, etc.;
VXI (VME eXtension for Instrumentation, unde VME reprezint
VESA Module Eurocard) reprezint un standard de instrumenta ie ale
c rui baze au fost puse nc din 1987 i are ca obiectiv creterea
interoperabilit ii diverselor instrumente. Structura sa modular
permite o integrare att din punct de vedere electronic, ct i mecanic,
conferindu-i denumirea de standard pentru instrument pe cartel .
Specifica iile VXI grupeaz norma IEEE-488 i norma VME, prima
remarcndu-se prin compatibilitatea ntre constructori diferi i, iar cea
de-a doua prin rapiditate.
Sistemele de instrumenta ie VXI s-au impus n ultima perioad , deoarece:
prezint mare suple e, mai multe nivele de inteligen i permit o
sincronizare i o asociere optimal i performant ;
au dimensiuni mici, sunt rapide, putnd fi realizate i n variante
portabile;
sunt caracterizate de o arhitectur deschis la nivel hardware
(magistral VME de 32 bi i i software unificat VXI Plug & Play recunoaterea tipului de cartel se face automat de c tre mediul
software, la fel ini ializarea i parametrizarea circuitelor de pe cartel ),
permi nd utilizarea de module provenite de la diveri produc tori,
f r a exista probleme la nivel electric sau mecanic. Compatibilitatea
electromagnetic ntre module, compatibilitatea mecanic i termic
permit interoperabilitatea ntre diferite produse hardware;
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

91

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

permit att transmisia serial a datelor (transmisie lent , dar cu un


nivel de prelucrare i de inteligen ridicat), ct i transmisia lor
paralel (vitez mare de transmisie);
utilizeaz un controller extern sau intern. n primul caz, calculatorul
comunic cu o interfa de tip GPIB-VXI sau cu o magistral de mare
vitez VXI-MXI (Multisystem EXtension Interface Bus). n cel de-al
doilea caz, exist un controller integrat n strucutura VXI care
coordoneaz direct resursele acesteia, permi nd aplica ii multiple i
rapide, cum ar fi controlul n timp real al unor procese;
permite controlul interactiv, pe timpul program rii, utiliznd, de
exemplu, programul VIC (VXI Interactiv Control).
Putem concluziona c sistemele VXI prin modularitatea, flexibilitatea,
interoperabilitatea i interconectarea facil la un sistem de calcul pe care le
prezint , acoper un domeniu larg de aplica ii, mergnd de la teste i m sur ri
pn la achizi ia de date de nalt performan i automatiz ri industriale.

4.3 SOFTWARE PENTRU INSTRUMENTA IE VIRTUAL


Instrumenta ia virtual este centrat pe software. Dintre aplica iile
software special proiectate n vederea muncii de programare a utilizatorului
trebuie remarcat LabVIEW (Laboratory Virtual Instrument Engineering
Workbench). Abordarea se face printr-un concept revolu ionar denumit
programare vizual. LabVIEW este un mediu de programare bazat pe limbajul
grafic G i utilizat pentru achizi ia i controlul datelor, analiza acestora i
prezentarea rezultatelor. n cadrul abord rilor software tradi ionale, dup
specificarea schemei unei aplica ii urmeaz convertirea ei n codul propriu
limbajului de programare. n mediul de programare LabVIEW se construiesc
instrumente virtuale (se asambleaz i se interconecteaz diferitele simboluri
grafice, denumite icons pentru realizarea proiectului) n loc de a se scrie
programe, deoarece schema bloc a instrumenului creat con ine chiar codul surs
al aplica iei.
Acest mediu de programare, dezvoltat ncepnd cu 1980 i perfec ionat n
mod continuu, are ca principal obiectiv crearea posibilit ii oamenilor de tiin
i inginerilor de a-i dezvolta rapid propriile sisteme de instrumenta ie virtual ,
corespunz tor necesit ilor specifice, f r a fi necesar cunoaterea sintaxei
limbajului grafic de programare.
Un instrument virtual creat n mediul de programare LabVIEW este
compus din:
panoul frontal, reprezentnd interfa a grafic cu utilizatorul;
diagrama bloc, reprezentnd codul surs al instrumentului virtual sau
al aplica iei;
92

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

simbolul grafic / conectorul, reprezentnd interfa a de apel.


Panoul frontal este o interfa interactiv pentru a controla intr rile i a
observa ieirile. Fiind mijlocul prin care utilizatorul descrie secven a de
m surare de interes, el mai este denumit i interfa a grafic cu utilizatorul. Este
afiat pe ecranul calculatorului i are acelai rol cu panoul frontal al unui
instrument fizic, con innd att elemente de comand (butoane, comutatoare,
poten iometre), ct i elemente indicatoare i de vizualizare (afiaje, ecrane).
Primele elemente simuleaz dispozitivele de intrare ale instrumentului, iar cele
din urm dispozitivele de ieire, ce afieaz datele achizi ionate sau generate de
c tre diagrama bloc a instrumentului virtual.
Crearea panoului frontal poate fi f cut naintea realiz rii diagramei bloc.
Elaborarea i editarea lui se face n cadrul modului de lucru Edit (cel lalt mod
de lucru, Run, fiind utilizat pentru func ionarea instrumentului virtual), prin
selectarea i pozi ionarea obiectelor necesare alese dintre simbolurile grafice ale
instrumentelor disponibile (tools palette, controls palette).
Cnd instrumentul virtual este complet implementat i devine func ional,
panoul frontal este utilizat pentru controlul sistemului de m surare prin
ac ionarea unor comutatoare, micarea unui cursor, selectarea unei op iuni, etc.
Elementele indicatoare de pe panoul frontal al instrumentului virtual
r spund imediat la aceste modific ri, datorit r spunsului n timp real al
sistemului.
Diagrama bloc reprezint codul surs al instrumentului virtual i con ine:
func ii de calcul aritmetice i logice;
func ii de analiz complex (achizi ii complexe i instrumente de
analiz );
func ii de intrare-ieire care permit comunica ia cu sistemele de
achizi ii GPIB, VXI, instrumente reale externe.
Construirea diagramei bloc se face prin selectarea blocurilor func ionale
din meniul (lista de comenzi) Functions, pozi ionarea lor i interconectarea
terminalelor acestora prin linii ce dirijeaz fluxul informa ional de la un bloc la
altul.
Toate elementele de comand i elementele indicatoare ce au fost
pozi ionate pe panoul frontal al intrumentului apar i n diagrama bloc, de
aceast dat cu propriile simboluri grafice i terminale pentru a fi interconectate.
Tipul de date care este vehiculat determin tipul conexiunii ntre dou
blocuri. De exemplu, grosimea liniilor indic dac este vorba de o m rime de tip
scalar (o singur dat ) sau vectorial (re ea de date), iar culoarea poate indica
dac este vorba de valori numerice, booleene, de tip text, grafice, etc.
Odat realizate panoul frontal i diagrama bloc, instrumentul virtual
devine opera ional (modul de lucru Run).
Instrumentul virtual nou creat poate fi salvat i i se poate atribui un simbol
grafic i o re ea de interconectare pentru a putea fi utilizat n cadrul unei aplica ii
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

93

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

sau n cadrul diagramei bloc a unui instrument virtual mai complex.


Structura modular constituie unul dintre marile avantaje ale
instrumenta iei virtuale, deoarece d posibilitatea ierarhiz rii pe grade de
complexitate. Prin ierarhizare modular se pot proiecta, modifica, interschimba
i combina instrumente pentru a r spunde specifica iilor a ct mai multe
aplica ii.
De asemenea, pot fi efectuate att simul ri, ct i teste sau achizi ii reale
de date, avnd posibilitatea efectu rii facile de modific ri la orice nivel.
Construc ia modular , ierarhic i dinamic , att la nivel hardware ct i
la nivel software, confer instrumenta iei virtuale flexibilitate, orientare c tre
necesit ile utilizatorului, care o poate adapta conform propriilor aplica ii i
putnd s o dezvolte ntr-un mod simplu, eficient i rapid.

4.3.1 ALEGEREA PLATFORMEI SOFTWARE: UNIX SAU


WINDOWS?
Una din problemele cu care se confrunt utilizatorii de sisteme de
achizi ie de date i control al proceselor o constituie sistemul de operare sub care
va func iona ansamblul dispozitivelor automate. Utilizatorul este pus, de cele de
multe ori, s aleag ntre sistemele realizate sub Unix i cele realizate sub
Windows NT. Unix este un sistem stabil i economic, care a ctigat ncrederea
utilizatorilor, astfel c n prezent este greu de r spuns la ntrebarea dac sau cnd
Windows NT va fi preferat sistemului Unix. Mul i proiectan i (Industrietechnik
AG, ABB) ofer produse similare capabile s func ioneze sub ambele sisteme de
operare, chiar i atunci cnd platforma sistem este pe un loc secundar ca
relevan . Cu toate acestea, mul i utilizatori r mn foarte ataa i de lumea stabil
(i verificat n ultimii ani) a sistemului Unix, cu toate c sunt convini de
func ionalitatea aplica iilor sub Windows i de faptul c platformele NT sunt
mai ieftine (instalate pe att de r spnditul PC) dect cele Unix (care lucreaz
aproape n exclusivitate pe Workstations).
Domeniile n care aplica iile dezvoltate sub Windows NT sunt neafectate
de eventualele puncte critice ale sistemului de operare r mn cele aferente
managementului informa iilor.
n ceea ce privete cel mai critic punct al aplica iilor industriale, cel al
oper rii n timp real, cartelele PC cu procesoare specializate garanteaz
capacitatea de prelucrare n timp real, dar numai att timp ct s-au introdus
module speciale de comunica ie ntre controller (sau PC) i sistemul
supravegheat. Aceste module garanteaz pn i aa-numita func ionare dificil
n timp real, solu ia adoptat de ABB, spre exemplu, fiind aceea de a aplica
fiec rei informa ii primite de controller o aa-numit tampil temporal
(Zeitstempel ) care va fi memorat i transmis componentelor utilizator.
94

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Prelucrarea propriu-zis a datelor nu se va face n condi iile dificile de timp real


ci ulterior, sincronizarea i evaluarea evenimentelor facndu-se prin apelarea
momentelor de timp marcate.
La ora actual (2001) se depun eforturi pentru realizarea de sisteme de
conducere a proceselor industriale cu sisteme de operare mixte (NT i Unix). De
fapt, se ofer solu iile disponibile n prezent numai sub Unix i utilizatorilor de
NT dup o prealabil asigurare mpotriva riscurilor (n principal, bug-uri proprii
sistemului Windows) de ordin tehnic. De asemenea, se pot integra solu ii NT n
lumea tehnic Unix. Scopul proiect rii noilor oferte din acest domeniu (prin
folosirea tehnicilor object-oriented de manipulare a datelor) este, ns , acela al
independen ei totale a aplica iilor fa de platforma sistem a utilizatorului.

4.4 PAR
TICULARIT
RT

I ALE INTRUMENTA IEI VIRTUALE

Implementarea unui instrument software de analiz a semnalelor electrice


presupune utilizarea unui calculator - drept nucleu hardware de comand - i a
unui sistem de achizi ii de date, putnd fi realizat n mai multe moduri, func ie
de sistemul de operare utilizat n cadrul sistemului de calcul.
Suportul hardware este format dintr-un lan complex de m surare,
compus din: senzor, dispozitivul de condi ionare a semnalului, placa de achizi ii
de date i sistemul de calcul aferent.
Ceea ce diferen iaz aceste instrumente este prezen a software-ului, un
mediu de programare mobil, capabil s proiecteze pe monitorul unui calculator
orice parametru m surat, orice grafic preluat, orice reglaj, buton, etc.,
transformnd practic calculatorul gazd al aplica iei, ntr-un instrument de
m surare.
Utilizarea sistemului de operare tradi ional MS DOS - MicroSoft Disk
Operating System - permite folosirea unor limbaje de programare de nivel nalt,
ca de exemplu Borland Pascal, Microsoft C i C++. Un astfel de limbaj de
programare permite:
gestionarea procesului de achiziii de date prin intermediul unor rutine
de comand a resurselor hardware ale sistemului de achizi ii. Aceste
rutine, denumite n mod uzual driver-e, sunt specifice unei anumite
configura ii de sistem de achizi ii de date i nglobeaz adesea linii
surs de cod scris n limbaj de asamblare. Driver-ele sistemului de
achizi ii de date sunt, de cele mai multe ori scrise de c tre produc torul
sistemului hardware de achizi ii de date, dar pot fi de asemenea scrise i
optimizate de c tre utilizator, dac acesta dispune de informa ii
referitoare la adresele fizice de porturi de intrare-ieire utilizate de c tre
componentele programabile din sistem, la cuvintele de stare i de
comand asociate acestora, la secven ele de programare necesare pentru
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

95

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

manipularea resurselor;
calculul parametrilor caracteristici ai semnalelor electrice. Aceast
activitate presupune utilizarea unor func ii sau proceduri de analiz
spectral - transformat Fourier -, utilizarea unor rutine pentru aplicarea
unor ferestre de eantionare adecvate (dreptunghiular , Hanning,
Hamming, Bartlet, Blackman, etc.) asupra semnalelor originale pentru
eviden ierea particularit ilor acestora, utilizarea unor func ii i
proceduri de filtrare i interpolare numeric , etc. Toate aceste rutine pot
fi realizate n orice limbaj de programare de nivel nalt, cu eforturi de
programare comparabile din punct de vedere al complexit ii;
reprezentarea, ntr-o form ct mai intuitiv i ct mai reprezentativ
(sub form grafic i/sau tabelar ), a parametrilor de stare ai
semnalelor electrice analizate. Realizarea acestor activit i impune
utilizarea primitivelor grafice ale limbajelor de programare de nivel
nalt, astfel nct marea majoritate a programatorilor folosesc limbajele
C i C++, datorit utiliz rii mai facile a primitivelor grafice ale
acestora.
Utilizarea sistemului de operare WINDOWS (cu variantele Windows
3.1, Windows 3.11 for Workgroups, Windows 95/98 sau Windows NT)
deschide noi posibilit i referitoare la implementarea unor astfel de instrumente
software de analiz a semnalelor electroenergetice. Aceste facilit i se refer la
urm toarele aspecte:
modul de lucru n sistemul de operare Windows este de tip
multitasking (se pot executa simultan mai multe aplica ii, prin
partajarea activit ii sistemului de calcul), spre deosebire de modul de
lucru n sistemul de operare DOS;
faciliti de lucru n background (ntr-o fereastr ascuns din fundal,
operarea fiind trasparent fa de utilizator), respectiv foreground (n
fereastra principal );
interfaa grafic a sistemului de operare Windows este mult mai
evoluat dect cea din sistemul de operare DOS, fiind, de asemenea,
mult mai prietenoas;
folosirea unor limbaje de programare de nivel nalt evoluate, orientate
pe obiecte, care uureaz foarte mult activit ile de programare. Ca
exemple de astfel de limbaje de programare putem men iona: Microsoft
Visual Basic, Visual C++, Borland Delphi Client-Server sau Delphi
32, Borland Visual dBase, Microsoft Visual FOX Pro. Ultimele dou
aplica ii sunt orientate spre baze de date, fiind necesare n cazul n care
se dorete o analiz statistic a rezultatelor prelucr rilor;
mediul de operare Windows asigur facilit i de corelare i de transfer
de informa ii ntre diverse aplica ii de tip Windows, lucru mult mai
dificil de realizat ntre aplica ii DOS.
96

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Numeroase firme produc toare de sisteme de achizi ii de date, cum ar fi:


Axon Instruments, Burr Brown, Philips, National Instruments, Tektronix, au
realizat astfel de instrumente software, denumite instrumente virtuale, care
modeleaz pe ecranul calculatorului panoul frontal al diferitelor echipamente de
m surare realizate i care, prin intermediul unor comenzi furnizate prin
intermediul tastaturii sau a mouse-ului, configureaz echipamentul fizic cuplat la
sistemul de calcul prin intermediul canalelor seriale de tip RS-232 sau RS-485,
prin intermediul magistralei sistemului (n cazul sistemelor de achizi ii de date
de tip plug-in) sau prin intermediul unor magistrale dedicate, cum ar fi IEC625, GPIB, IEEE-488, VXIbus/ MXIbus, etc. Sunt disponibile instrumente
virtuale sub ambele sisteme de operare men ionate anterior, DOS i Windows.
O problem incomplet solu ionat , din motive economice i de copyright
(drepturi de distribu ie), este aceea de compatibilitate, avnd un impact negativ
major n special n situa ia n care suportul hardware dispune de o interfa
nestandard cu sistemul de calcul. Un mediu de programare pentru instrumenta ia
virtual con ine nglobate driver-ele destinate unui set bogat, dar nu exhaustiv,
de echipamente de m surare. Cu alte cuvinte, utilizatorul nu are acces nemijlocit
la driver-ele sistemului de m surare i, deci, la resursele sistemului de achizi ii
de date. Aceast problem poate fi solu ionat foarte simplu, n mediul de
operare Windows, prin rularea n background a driver-elor echipamentului de
m surare, cu condi ia ca acestea s fie direct disponibile. Compatibilizarea poate
fi pe deplin realizat prin partajarea de c tre instrumentul virtual i de c tre
sistemul de achizi ii de date a unor fiiere de comunica ie (de date), cu formate
standardizate. Aceste fiiere pot fi modificate (actualizate) doar de c tre
echipamentul de m surare i pot fi citite doar de c tre instrumentul virtual.

4.5 NOI INSTRUMENTE DAQ SPECIALIZATE EXTIND


O IUNEA DE INSTRUMENT VIRTUAL
N
NO
Utilizatorii de instrumenta ie de azi au nevoie de instrumente ce sunt
performante i flexibile. Performan a reflect func ionalitatea primar a
instrumentului, adic osciloscoapele i generatoarele de semnal lucreaz la
viteze din ce n ce mai mari, multimetrele digitale sunt i mai precise, etc.
Flexibilitatea instrumentului este dat de posibilitatea de a include n procesul de
m surare alte opera ii cum ar fi analiza, automatizarea opera iilor, accesul la
bazele de date, transmisia datelor prin internet, etc. Instrumentul tradi ional este
foarte bun n performan dar are probleme n a oferi flexibilitate deoarece nu se
poate compara cu un computer PC. Instrumentele virtuale construite n
interiorul computerelor PC ofer flexibilitate dar sunt m rginite n
func ionalitate de limit rile computerului n care sunt construite, adic limit rile
n tehnologia la zi a computerului, printre care se amintete viteza de transfer al
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

97

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

datelor din exterior n memoria RAM.


Ultimele mbun t iri din domeniul arhitecturii calculatoarelor PC sunt
bus-ul PCI, procesorul Pentium, sistemul de operare Windows NT i interfa a
ASIC MITE, elaborat de National Instruments pentru implementarea de
transferuri ultrarapide ntre placa de tip plug-in i memoria RAM. Aceasta a
permis implementarea de instrumente virtuale a c ror performan egaleaz
performan a instrumentelor tradi ionale i care n plus ofer flexibilitatea pe care
acestea nu o pot oferi.
n oferta sa, National Instruments anun instrumentele specializate din
clasa DAQ Instruments, DACScope, DAQArb i DAQMeter, ce sunt compuse
din hardware plug-in (PCI, AT-bus sau PCMCIA) i aplicaie software cu
interfa grqfic gata facut. Aceste instrumente virtuale arat i funcioneaz
exact ca i instrumentul tradiional, au performana instrumentului tradiional i
are flexibilitatea unui calculator PC.
n continuare sunt prezentate evolu iile recente din domeniul arhitecturii
computerului PC ce influen eaz instrumenta ia virtual de azi i trei noi
instrumente din clasa DAQ Instruments.

4.5.1 TRANSFERUL DE DATE N BUS-UL PCI


Pl cile de tip plug-in realizate pentru bus de tip PCI sunt de dou tipuri:
1. initiator - bus master board
2. target - slave board
Pl cile ce ac ioneaz ca bus-master transfer date ntre memoria FIFO
intern i memoria RAM mai rapid i mai eficient n compara ie cu pl cile de tip
slave-boards.
Placa de tip slave efectueaz transferuri de date secven iale ntre FIFO i
RAM, adic placa slave ntrerupe unitatea CPU n mod repetat pentru a transfera
date ntre memoria de pe plac i memoria din computer. Cnd unitatea CPU
este liber , aceasta va efectua transferul de date i va executa celelalte opera ii
cerute, cum ar fi analiza numeric , display, stocare, etc. Placa de tip bus-master
are capabilitatea de a face transferuri de date ntre FIFO i RAM f r interven ia
procesorului CPU, adic n timp ce datele sunt transferate, procesorul CPU
efectueaz alte opera ii, cum ar fi analiza numeric , display, control, etc.
Folosirea pl cii plug-in PCI de tip bus-master imbun t ete eficien a utiliz rii
procesorului CPU cu un factor de 10:1 fa de situa ia n care placa PCI este de
tip slave.

98

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
Func ionare Slave (secven ial)
Afiare
Transfer
CPU
n RAM

Citire
CPU
din RAM

Stocare
Control

Func ionare Master (paralel)


Transfer
CPU
n RAM

Afiare
Citire
CPU
din RAM

Stocare
Control

Fig. 4.4 Pl ci de tip bus-master i de tip slave.

4.5.2 IMPLEMENTAREA DMA PE PLACA DE TIP PCI BUS


MASTER. CHIP-UL ASIC MITE.
Spre deosebire de bus-ul de tip ISA sau EISA, a c rui arhitectur standard
include procesorul DMA controller 8237A, arhitectura standard a bus-ului de tip
PCI las implementarea de bus master DMA la latitudinea (capabilitatea)
vendorului de pl ci plug-in.
Majoritatea vendorilor de pl ci plug-in pentru platforma PCI vor
introduce pl ci (ieftine) de tip slave-board ce execut transferuri pe baz de
ntreruperi repetate ale co-procesorului. Exist la ora actual foarte.pu ine pl ci
plug-in pentru platforma PCI cu facilit i de bus-master, adic ce implementeaz
transferuri de tip DMA ntre memoria FIFO a pl cii i memoria RAM. National
Instruments a devenit unul dintre produc torii de custom ASIC pentru
implementarea DMA, prin introducerea chip-ului ASIC MITE ce
implementeaz transferuri DMA de tip scatter-gather. Acest chip a fost inventat
i realizat special pentru ca pl cile plug-in n platforma PCI s poat beneficia
de viteza teoretic maxim a busului PCI ce este de 132Mbytes/sec. Chip-ul
MITE este un motor ce transfer date ntre memoria FIFO a pl cii de achizi ie i
memoria RAM, f r interven ia co-procesorului. Chip-ul MITE implementeaz
3 canale de DMA i buffer-e FIFO pentru minimizarea timpului necesar scrierii
i rescrierii de date ce are loc n timpul transferului. Chipul MITE
implementeaz transferuri de date de tip scatter-gather ce constitue o
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

99

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

imbuntire fa de tehnologia de transfer a chip-ului 8237A prin eliminarea


necesitii de reprogramare a procesorului DMA la fiecare sfrit de pagin.
RAM
D/A

Bloc de
memorie
virtual
contiguu

A/D

PCI Bus
Master

CPU
Timp de transfer

Idle

Idle

Idle

Idle

Fig. 4.5 Transfer scatter-gather (link-chaining).

Sistemele de operare cum este DOS-ul (Real-Time Operating Systems) au


capabilitatea de a aloca aplica iei un bloc compact de memorie fizic . Aceasta
m rete viteza de transfer DMA prin faptul c paginile de memorie n care
datele sunt transferate sunt de lungime maxim (64k), deci num rul de
reprogram ri ale procesorului DMA 8237A, n timpul transferului este minimal.
Dezavantajul pe care-l introduc aceste sisteme de operare este acela c memoria
ce poate fi alocat este limitat (640Kbytes n DOS). Sistemele de operare
evoluate, cum sunt Windows NT i Windows 95 folosesc memorie virtual , care
arat din punctul de vedere al aplica iei ca memorie compact , dar este n
realitate o colec ie de segmente mici de memorie fizic ce sunt r spndite peste
tot, adic au adrese de start i lungimi diferite. n timpul tranferului DMA,
procesorul 8237A trebuie reprogramat la nceputul fiec rui segment nou ce
primete date. Acest fapt ncetinete viteza de transfer. Chip-ul MITE
implementeaz modul de transfer scatter-gather sau link-chaining, ce aduce
urm toarea mbun t ire la tehnica de transfer: nainte de transfer, chip-ul MITE
este programat de ctre coprocesor cu adresele de nceput i mrimile mai
multor segmente de memorie fizic rezervate aplicaiei i care vor primi date.
Prin aceasta se elimin necesitatea de reprogramare repetat a procesorului
DMA n timpul transferului, ceea ce conduce la creterea vitezei de transfer.
100

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

4.5.3 WINDOWS NT 4.0 ADUCE MBUN T IRI


IMPORTANTE PENTRU UTILIZATORII DE
INSTRUMENTA IE VIRTUAL
Windows 95 i Windows NT 4.0 sunt similare prin faptul c introduc
urm toarele mbun t iri fa de Windows 3.1:
capabilitatea de a rula aplica ii de 16 bi i i 32 bi i;
interfa grafic intuitiv ;
preemptive multitasking (capabilitatea de a executa aplica ii diferite n
acelai timp si capabilitatea de a aloca fiec rei aplica ii ce ruleaz
segmente de memorie proprii, c derea unei aplica ii s nu infulen eze
pe celelalte ce ruleaz n acelai timp);
arhitectur open network;
Win32 API, OLE;
ISA Plug and Play.
Windows NT aduce, n plus fa
de Windows 95, capabilitate
multiprocessor, protec ie complet , stabilitate, robuste e.
Windows 95
Aplica ii
WIN 32

Aplica ii
WIN 32

Aplica ii
WIN 16

Aplica ii
WIN 16
Windows 3.x

Aplica ii
WIN 16

Aplica ii
WIN 32

Aplica ii
WIN 16

Aplica ii
WIN 16

Resurse sistem
KERNEL, USER, GDI

Spa iu de memorie partajat


Aplica ii
WIN 16

Spa iu de memorie separat


Windows NT

Fig. 4.6 Resursele sistem n cadrul Windows.

Stabilitatea unui sistem de operare depinde de structura de memorie pe


care o folosete. Structurile de memorie din Windows sunt: User Memory i
Kernel Memory. Aplica iile sunt plasate n User Memory, pe cnd driver-ele i
p r ile critice ale sistemului de operare sunt plasate n Kernel Memory.
Windows 3.x are o singur zon de adresare pentru toate aplica iile de 16
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

101

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

bi i care urmeaz a fi rulate. Dac mai multe aplica ii ruleaz n acelai timp i
una dintre ele cade, atunci ntregul sistem de operare cade (se blocheaz ) i este
necesar reboot-area sistemului.
Windows 95 mbun t ete considerabil aceast structur prin faptul c
fiecare aplica ie de 32 bi i se execut n segmente de memorie separate. Asta
nseamn c aplica iile de 32 bi i ce ruleaz n acelai timp nu se influen eaz
reciproc, adic o aplica ie ce cade nu poate corupe spa iul de memorie al alteia
ce ruleaz n acelai timp. Windows 95 p streaz structura de memorie comun
pentru aplica iile de 16 bi i.
Windows NT introduce cel mai robust sistem pentru c aplica iile de 32
bi i i cele de 16 bi i opereaz n segmente separate de memorie i nu se pot
influen a reciproc.

Dac se folosete Windows NT se face urmtorul compromis: se sacrific


viteza de execuie n operaiile de achiziie de tip single-point contra stabilitii
i securitii sistemului de operare. nc din perioada lui Windows 3.x s-a pus
problema mbun t irii stabilit ii sistemului de operare. Mul i utilizatori de
instrumenta ie virtual implementeaz aplica ii critice ce nu pot c dea,
aplica ii industriale de control continuu al unui proces unde nu viteza este
important , ci siguran a i stabilitatea n execu ie. Modelul de memorie
implementat de Windows NT protejeaz mpotriva accesului de memorie
interzis de c tre aplica ia utilizator, care este sursa principal de c dere a
sistemului de operare. Aplica ia utilizatorului este plasat n zona de memorie
User Mode (primii 0 - 2GB de memorie). Codul utilizatorului este validat de
c tre sistemul de operare, dup care este transmis zonei de memorie Kernel
Mode (2GB - 4GB) ce con ine driver-ele ce ac ioneaz direct asupra hardwareului (cum este placa plug-in cu Ni-daq). Deci, aplicaia utilizator n Windows
NT, nu adreseaz direct hardware-ul i nu adreseaz direct kernel-ul. Aceasta
ntrzie execuia dar sporete securitatea.
Orice ncercare a unei aplica ii utilizator de a accesa direct Kernel-ul duce
la terminarea aplica iei de c tre sistemul de operare, deci aplica ia utilizator n
Windows NT nu poate cauza c derea sistemului (visul utilizatorului din mediul
industrial).
Stabilitatea sistemului de operare era argumentul forte al utilizatorilor ce
vor s foloseasc sisteme de operare cum este DOS sau sisteme de operare
proprii n care nu exist suport la nivel de driver pentru aplica ie.

102

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

4.5.4 TERENUL ESTE PREGAT TIT PENTRU NOILE


INSTRUMENTE DAQ
Dispunnd de un coprocesor rapid, bus-ul PCI cu transfer DMA rapid i
eficient, sistem de operare Windows 95 sau Windows NT ce ofer stabilitate,
drumul este deschis inova iei de instrumente virtuale specializate. Care este
impedimentul de a construi un instrument virtual n aceast platform ,
instrument ce arat exact ca i cel tradi ional, are aceeai func ionalitate
(inclusiv viteza) i n plus beneficiaz de toate facilit ile oferite de computerul
ce-l g zduiete?
National Instruments a elaborat primele instrumente DAQ specializate i
care vor face competiie direct instrumentelor tradiionale ale altor
productori. De aceast dat este vorba de competi ie direct la nivel de acelai
instrument, func ie cu func ie, panou cu butoane, utilizare, etc.
Osciloscopul este unul dintre aparatele cele mai utilizate pentru
vizualizarea formei de varia ie n timp a unor semnale sau a dependen ei unui
semnal n func ie de alt semnal.
Semnalele ntlnite n practic acoper banda de frecven de la 0 Hz la
50 GHz; existnd, ns , att semnale periodice ct i semnale tranzitorii, acestea
din urm putnd s fie caracteristice unor fenomene cu viteze de varia ie n timp
foarte diferite, se utilizeaz o mare varietate de osciloscoape generat de marea
diversitate a aplica iilor practice.
Osciloscoapele se clasific n dou categorii mari, principial diferite:
analogice i numerice.
Osciloscoapele analogice sunt primele ap rute. Ele pot fi clasificate, la
rndul lor, n osciloscoape de uz general, osciloscoape cu eantionare i
osciloscoape cu memorare pe tubul catodic.
Osciloscoapele analogice de uz general sunt destinate aplica iilor cu
caracter general, i anume vizualiz rii semnalelor periodice cu frecven a de
repeti ie de maxim 500MHz.
Osciloscoapele analogice cu eantionare sunt adecvate vizualiz rii
semnalelor periodice cu frecven a de repeti ie de pn la 50 GHz.
Osciloscoapele analogice cu memorare pe tubul catodic sunt destinate
vizualiz rii semnalelor tranzitorii (de la foarte lente pn la foarte rapide).
Osciloscoapele numerice se deosebesc de cele analogice prin aceea c
semnalele de vizualizat sunt mai nti eantionate, apoi convertite n form
numeric , memorate ntr-o memorie numeric , reconvertite n form analogic
i apoi redate pe ecranul tubului catodic.
Apari ia i dezvoltarea acestui tip de osciloscoape au fost posibile datorit
progresului nregistrat n domeniile convertoarelor analog-digitale (CA/D) i al
tehnicii numerice.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

103

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

Osciloscoapele numerice au banda de frecven comparabil cu cea a unui


osciloscop analogic de uz general dar ofer o serie de avantaje: precizie
superioar , posibilit i extinse de m surare i sincronizare, posibilitatea
prelucr rii numerice a eantioanelor memorate. Un astfel de osciloscop poate
ndeplini func iile mai multor aparate: voltmetru, num r tor/frecven metru,
analizor de spectru etc.
Baza de timp poate fi comandat de circuitul de sincronizare sau de
dispozitivul de comand . Acesta din urm este, de regul , realizat cu un
microprocesor care furnizeaz toate semnalele de comand necesare func ion rii
ntregii scheme. n plus, acesta faciliteaz m surarea diferi ilor parametri ai
semnalului i permite prelucrarea numeric a eantioanelor sale.
O variant perfec ionat utilizeaz ca baz de timp un convertor digitalanalogic (CD/A) comandat de microprocesor. La ieirea acestui CD/A se ob ine
o tensiune variabil n trepte egale.

4.5.4.1 TEHNICI DE EANTIONARE UTILIZATE N


OSCILOSCOAPELE NUMERICE
Osciloscoapele numerice sunt, toate, osciloscoape cu eantionare. Ca
urmare, la aceste osciloscoape nu mai exist , ca la osciloscoapele analogice de
uz general, o coresponden biunivoc ntre punctele imaginii de pe ecran i
curba semnalului din care acestea provin. Se poate utiliza una dintre urm toarele
tehnici de eantionare: eantionarea secven ial , eantionarea aleatoare i
eantionarea n timp real.
Eantionarea secvenial poate fi utilizat numai n cazul semnalelor
periodice i const n prelevarea, n fiecare perioad a semnalului de vizualizat,
a unui singur eantion, ntrziat fa de un moment de referin t R de pe curba
semnalului, cu o ntrziere care crete de la o perioad la alta cu t . ntrzierea
t este numit pas de eantionare. Dei perioada de eantionare este T + t ,
perioada aparent de eantionare este t . Deoarece intervalul t poate fi f cut
foarte mic, rezult posibilitatea utiliz rii osciloscopului pn la frecven e mult
superioare frecven ei de eantionare. Spre exemplu, dac se ia t = 0,01 T ,
frecven a de eantionare este de 100 ori mai mare dect frecven a semnalului.
Eantionarea secven ial reprezint o eantionare n timp echivalent
deoarece redarea semnalului se face la o alt scar a timpului dect achizi ia.
Din aceeai categorie face parte i eantionarea aleatoare. Deosebirea fa de
eantionarea secven ial const n aceea c ntrzierea (fa de momentul de
referin t R ) cu care este prelevat eantionul se modific aleator de la o perioad
la alta, astfel nct punctele memorate apar ntr-o succesiune aleatoare pe curba
vizualizat a semnalului.
O alt tehnic utilizat n osciloscoapele numerice este eantionarea n
104

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

timp real, adecvat n cazul fenomenelor singulare i al semnalelor de frecven


relativ joas , situa ii n care eantionarea n timp echivalent fie c nu este
aplicabil , fie c reclam un timp relativ mare pentru achizi ia num rului
necesar de eantioane.
Comparnd cele trei tehnici de eantionare prezentate, se poate
concluziona faptul c eantionarea secven ial permite ob inerea unei rezolu ii
temporale foarte bune datorit faptului c pasul de eantionare poate fi f cut
extrem de mic. Ea nu este ns adecvat pentru vizualizarea fronturilor
cresc toare ale impulsurilor cu factor de umplere mic (informa ia de pe front se
pierde). Eantionarea aleatoare este ideal pentru vizualizarea fronturilor
cresc toare ale impulsurilor datorit faptului c eantionarea apare aleator n
raport cu tactul osciloscopului. Eantionarea n timp real permite achizi ia i
recontituirea i a fenomenelor singulare, cu condi ia prelev rii unui num r
suficient de eantioane.

4.5.5 DAQSCOPE
Instrumentul National Instruments DAQScope este un osciloscop pentru
bus PCI, ISA i PCMCIA, cu viteza maxim de digitizare de 20 MHz, trigger
analogic i transfer DMA al datelor n timp real.
Acest instrument intr n competi ie direct cu osciloscoapele tradi ionale
realizate de al i vendori, dup cum urmeaz :

Canale
de
intrare
Frecvent
maxim
de
eantionare
Frecven
maxim
de
repeti ie
Lungimea
nregistr rii
Rezolu ia
(bi i)
Banda
de
frecven e
Trigger

DAQScope
5102

CompuScope
CS220

THM565
TekMeter

Fluke
PM3335

HP 54603B

20MS/s

20MS/s

25MS/s

20MS/s

20MS/s

1GS/s

10GS/s

662kB

32kB

256kB

8kB

4kB

15MHz

20MHz

5MHz

60MHz

60MHz

analog i
digital

analog

analog

analog

analog

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

105

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

Instrumentul DAQScope este realizat n trei variante, n func ie de bus-ul


calculatorului PC folosit: PCI-5102, AT-5102 i DAQCard-5102.
Instrumentul DAQCard-5102 este singurul osciloscop cu 2 canale pe
platform PCMCIA ce poate fi cump rat ast zi. Cea mai mare diferen dintre
DAQScope i osciloscoapele tradi ionale este memoria: 662Kbytes la
DAQScope comparat cu 2Kbytes la majoritatea instrumentelor tradi ionale.
Osciloscoapele tradi ionale pot pierde puncte n procese de achizi ii rapide, de
tip continuu, la fiecare grup de 2048 de puncte culese. Nu este exculs ca
vendorii de osciloscoape s migreze spre oferta de instrumente plug-in din cauza
limit rii de memorie de care nu pot trece dac vor s fie competitivi la pre cu
instrumentul DAQScope.
Instrumentul DAQScope poate fi utilizat n mod standalone (de sine
st t tor) folosind panel-ul din executabilul ce-l nsotete, sau poate fi programat
din LabVIEW, BridgeVIEW, LabWindows/CVI, VirtualBench sau Windows
3.x, 95 sau Windows NT.
Sunt prezentate n continuare specifica iile hardware complete ale
instrumentului DAQScope PCI-5102/AT-5102/DAQCard-5102.
Input Characteristics
Number of input channels
ADC resolution
Maximum sample rate
Maximum input range
Input signal ranges

Overvoltage protection
Onboard FIFO memory depth
Data transfers
Transfer Characteristics
Relative accuracy
Differential nonlinearity
No missing codes
Offset error after calibration
Gain error after calibration
Amplifier Characteristics
Input impedance
Dynamic Characteristics
Bandwidth
Small signal (-3 dB)
106

2 single-ended, simultaneously sampled


8 bits, 1 in 256
20 MS/s each channel in realtime mode,
1 GS/s with Random Interleaved Sampling mode
50 V with a 10 x probe (gain of 1)
5V with a 1 x probe (gain of 1)
5 V at gain of 1
1 V at gain of 5
0.25 V at gain of 20
50 mV at gain of 100
Input counting AC or DC, software selectable
42 V powered on or off (without external attenuation)
ACHO, ACH 1, ATRIG are protected
663,552 samples
Programmed I/O, interrupts and DMA
(supported on the AT-5102 and PCI-5102 devices only)
1 LSB typ. 1.8 LSB max
0.3 LSB typ, 0.5 LSB max
8 bits guaranteed
1.5 LSB max
1% max
1 M 1%, 30 pF 10 pF
15 MHz typ.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Large signal (1% THD)


AC coupling LF cutoff
Settling for FS step to +1 %FSR
System noise
Crosstalk
S/H characteristics
Interchannel skew
Aperture jitter
Stability
Recommended warm-up time
Triggers
Ana1og Trigger
Source
Level
Slope
Resolution
Hysteresis
Bandwidth
Digital Triggers
Compatibility
Response
Pulse width
RTSI
Trigger lines
Clock lines
Power Consumption
5V DC (5%)

10 MHz typ.
11 Hz (1.1 Hz with 10x probe)
50 ns typ
0.5 LSB rms typ
6.0 dB
1 ns
1 s
15 minutes
ACH(0, 1), ATRIG
FS (ACH(0,1)), 5 V (ATRIG), software selectable
positive or negative, software selectable
8 bits, 1 in 256
software programmable, up to full scale
15 MHz
TTL/CMOS
rising or falling edge, software selectable
10 ns min.
7 I/O
1
250 mA typ.

4.5.5.1 DE CE ESTE IMPORTANT M RIMEA MEMORIEI I


VITEZA DE TRANSFER DMA LA UN OSCILOSCOP?
Exist dou arhitecturi pentru digitizarea (codificarea numeric ) unui
semnal: Real Time Sampling i Equivalent Time Sampling.
Metoda de digitizare Real Time const n codificarea punctelor discrete de
semnal la viteza ceasului ce controleaz achiziia, adic fiecare puls de ceas
declaneaz o conversie A/D ce se termin naintea venirii urmtorului puls.
Folosind aceast metod, instrumentul DAQScope poate merge pn la 20 MHz
pe fiecare canal.
Metoda Equivalent Time Sampling (ETS) se aplic semnalelor repetitive
i este de dou tipuri: Sequential ETS i Random Interleaved Sampling (RID).
Convertorul de tip Sequential ETS culege un punct de semnal la fiecare
trigger. Dac semnalul are variaie foarte rapid (transient signal) aceast
metod scap puncte importante de semnal (ca de altfel i metoda Real Time).
Un alt inconvenient al metodei este acela c sunt necesare 1000 de
perioade ale semnalului. pentru a putea culege 1 000 de puncte din semnal.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

107

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

Fig. 4.7 Instrumentul virtual DAQScope.

Convertorul de tip RIS culege un set de puncte la fiecare trigger. Asta


avantajeaz (singura metoda sigur ) achizi ionarea semnalelor cu varia ie rapid
de tip transient signal. Seturile de puncte de semnal, ob inute n timpul scan rii
la viteza de 1 GB/s sunt combinate pentru a da o reprezentare corect a
semnalului achizi ionat. Convertorul A/D nu tie cnd va veni semnalul de
trigger, de aceea ceasul care controleaz achizi ia i punctul de trigger sunt
nesincronizate, perioada de timp dintre momentul de trigger i culegerea
urm torului set de puncte variind de la set la set.
RIS m soar timpul dintre momentul de trigger i conversia primului
punct al setului, pentru fiecare set nou cules. Aceasta permite combinarea
corect a seturilor de puncte ntr-o imagine foarte curat a semnalului. Culegerea
de semnale tranzitorii repetitiv la o vitez de 1GS/s, necesit memorie pentru a
putea stoca seturile culese. Dac nu exist memorie suficient fie c nu se poate
implementa metoda RIS, fie implementarea folosete seturi mici de date.
Memoria mare i transfer DMA rapid sunt deci absolut necesare pentru a putea
implementa aceast metod de digitizare.

4.5.6 DAQARB
Instrumentul virtual DAQArb este un generator de semnal cu viteza
108

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

maxim de generare de pn la 40MHz, rezolu ie de 12 bi i (asigur o rezolu ie


de 10 mHz la o vitez de generare de 16 MHz), capabilitate DDS (Direct Digital
Synthesis) ce permite schimbarea vitezei de generare on-the-fly, memorie de 4
MB pn la 16 MB, filtre, atenuare i implementare de secven e. Acest
instrument poate fi folosit ca generator de semnal definit sau arbitrar, fiind unul
dintre cele mai avansate la ora actual . Dintre posibilele aplica ii, se pot
men iona: controlul de micare, teste de modem, testare de materiale, testarea
circuitelor integrate digitale, modulare PSK (Phase Shift Keying), simul ri
biomedicale, telemetrie, m surare de r spuns de frecven e, comunicare cu
sateli i, radar, generare de impulsuri, testare de putere, testare video, testare
aparatur
n industria automobilelor,
electronic , aparat de m sur
telecomunica ii, etc. DAQArb intr n competi ie direct cu generatoare de
semnal tradi ionale oferite de al i vendori, astfel:
DAQArb 5411 HP E1445A
Tip
PCI/AT
VXI
Frecven de
40 MHz
40 MHz
generare
Memorie
4MB
256 kB
Canale
1
1
Referin de
da
da
clock extern
Amplitudine
10V
10V
Rezolu ie
12 bi i
12 bi i
Trigger-e multiple, RTSI multiple, VXI
Format digi-tal
16 bi i
16 bi i
de ieire
Marker-e
da
da
Impedan de
50 , 75
50 , 75
ieire

HP E1340A

HP 33120A

VXI

tradi ional

Standford
DS340
tradi ional

40 MHz

42 MHz

40 MHz

16 kB
1

16 kB
1

16 kB
1

nu

20V
12 bi i
multiple

Da

10V
12 bi i
Multiple

nu

10V
12 bi i
unic

nu

Nu

nu

50

50

50

Instrumentul DAQArb este disponibil pentru dou platforme: placa AT5411 pentru bus-ul ISA (panel i aplica ie VirtualBench-Arb pentru Windows
NT/95/3.x, putnd fi utilizat i ca plac de achizi ie normal din Ni-DAQ,
LabView, BridgeView, LabWindows/CVI, C/C++, Visual Basic) i placa PCI5411 pentru bus-ul PCI.

4.5.7 DAQMETER
Instrumentul virtual DAQMeter este un multimetru digital de 5 cifre,
intrare AC/DC i precizie de 0,02%, putnd fi utilizat la m surarea precis a
tensiunilor, curen ilor i rezisten elor. M surarea tensiunilor continue se face n
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

109

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

intervalele de m surare de: 20mV, 200mV, 2,0V, 25V i 250V. M surarea


tensiunilor alternative se face n intervalele de m surare (valori efective) de:
20mV, 200mV, 2,0V, 25V i 250V. M surarea rezisten elor se face n
intervalele de m surare de: 200, 2k, 20k, 200k, 2M i 20M. Viteza
de m surare este de maxim 60 de citiri pe secund .
Instrumentul DAQMeter este disponibil sub forma pl cii PCMCIA
DAQCard-4050, fiind utilizat n computere laptop. Poate fi utilizat cu aplica ia
VirtualBench-DMM sau din LabView, BridgeView, LabWindows/CVI, NiDAQ 5.x. De fapt, placa DAQCard-4050 are la baz un convertor analog-digital
de 24 de bi i, deci teoretic s-ar putea implementa un multimetru digital cu 7
digi i. Rezolu ia real este de 5 cifre din cauza unor factori externi, cum este
zgomotul.
Instrumentul DAQMeter dispune de trei frecven e de m surare, i anume
10Hz, 50Hz i 60Hz.
Precizie tensiuni
continue
Game de intrare
tensiuni continue
Precizie tensiuni
alternative
Game tensiuni
alternative
Precizie ohmmetru
Game rezisten e
Precizie curen i
continui
Precizie curen i
alternativi
Game curen i

DAQMeter 4050

THM 565 TekMeter

Fluke PM 2525

0,02%

0,5%

0,02%

20mV...250V

400mV...850V

200mV...2000V

max. 2%

2%

0,2%

20mV...250V

400mV...600V

200mV...2000V

0,05%
200...20M

0,5%
400...40M

0,1%
200...200M

0,1%

0,1%

max. 2%

max. 3%

1A...10A

1A...10A

4.6 SOFTWARE SPECIALIZAT PENTRU ACHIZI IA


DATELOR
Avantajul decisiv al sistemelor de m surare conduse de calculator, fa de
cele clasice const n multitudinea de configur ri posibile ale componentelor
sistemului. Dac n cazul elementelor de m surare clasice, solu iile i rezultatele
intermediare trebuiau reluate pentru fiecare domeniu de utilizare, sistemul de
m surare numeric condus de calculator poate realiza o aceeai func ie,
schimbndu-se numai interfa a cu utilizatorul pentru particularizarea acesteia n
cazul aplica iei date (deci necesitnd numai o interven ie la nivel de software).
n cazul n care sistemul de m surare graviteaz n jurul unui PC, prin
110

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

utilizarea unui software standardizat (S-Soft) asociat echipamentelor de m surare


corespunz toare, se pot realiza sisteme complexe, mobile sau nu, de achizi ie de
date, supraveghere sau comand , particularizate n func ie de necesitatea
utilizatorului. n acest mod, posibilit ile de analiz a datelor brute achizi ionate
i comentariul pertinent al rezultatelor sunt mult extinse fa de aria de utilizare
a m sur rilor conven ionale.
Solu ionarea problemelor din gama achizi iei de date, a monitoriz rii
proceselor, a comenzii i regl rii acestora, precum i a analizei
rezultatelor prin software standardizat se poate face structurnd, mai nti,
concepte construite flexibil i care permit schimbul informa ional ntre diversele
planuri ale unei prelucr ri numerice de date. Se vor detalia cteva dintre
problemele ce nso esc realizarea sistemelor moderne de m surare, orientate, n
ultimii ani, pe configura ii ce au ca element central calculatorul personal. Dup
ce a fost stabilit configura ia hardware a sistemului de m surare, optarea pentru
una din variantele de software (proiectarea unei aplica ii dedicate, configurarea
minimal a unuia dintre programele existente pe pia a interna ional n domeniul
m sur rilor sau l sarea la latitudinea utilizatorului final a acestei alegeri) ce
trebuie s asigure prelucrarea, memorarea i evaluarea rezultatelor m sur torilor
este un pas esen ial, devenit din ce n ce mai dificil de f cut n ultimii ani.

4.6.1 SOFTWARE PENTRU ACHIZI IA DE DATE


Dei se consider c , n general, nu este necesar ca sistemul de calcul
pentru achizi ia de date s fie extrem de puternic, n condi iile n care aplica ia
implic o combinare a achizi iei propriu-zise cu analiza i reprezentarea grafic
a datelor, exigen ele transferate de la alte sisteme de software existente pe pia
vor impune investi ia ntr-o platform hard puternic . Cele mai uzuale sisteme
pentru controlul achizi iei de date sunt PC-urile (genera ie 486 sau mai nou ) cu
magistrala ISA (care permite transferuri pe 16 bi i cu viteze de pn la 500
kbyte/s; utiliznd memorie FIFO, o logic specializat i interfe e IEEE-488 se
pot realiza viteze de transfer de pn la 1,4 Mbyte/s), EISA (transfer pe 32 bi i i
semnale suplimentare de control), PCI i platforme ce utilizeaz magistrala
Apple Macintosh II NuBus. Problema portabilit ii sistemelor de achizi ie i
prelucrare numeric a datelor m surate este, de cele mai multe ori, rezolvat de
utilizarea Notebook-urilor a c ror putere de prelucrare, stocare i posibilit i de
comunica ie pot acoperi pn la 90% din necesit ile unei achizi ii de date
portabile.
Paradigma m sur ri conduse de PC a impus defini ii pentru cerin ele
dar i pentru reprezentarea capacit ii de a grei a sistemelor de m surare. n
cele mai multe cazuri, ast zi decisiv nu este realizarea hardware, ci mediul
software pus la dispozi ie utilizatorului de sistemele de m surare conduse de PC.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

111

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

Una dintre cerin ele esen iale ale acestor sisteme de m surare este aceea c , pe
lng facilitarea comunica iei cu aparate numerice inteligente, acestea s ofere o
reprezentare n timp real a diverselor m rimi caracteristice procesului
supravegheat. Din acest motiv, cerin ele de mai sus pot fi clasificate n dou
categorii (fig. 4.8):
cele relative la achizi ia datelor;
cele relative la prelucrarea numeric a informa iei achizi ionate.
n ambele cazuri, ns , este necesar prezen a facilit ii de evaluare
interactiv a irului de date.

Fig. 4.8 Func iile unui pachet sofware dedicat sistemelor de m surare.

No iunea de standard n domeniul software-ului nu este nc riguros


fundamentat . De multe ori, prin acest termen se subn elege una din variantele
urm toare:
software care, datorit unei largi r spndiri, a devenit standard;
software care permite rezolvarea unor anumite probleme standard,
cum ar fi achizi ia de date, trasarea curbelor de varia ie a unei anumite
m rimi, interpolarea etc;
software realizat pentru un anumit tip de calculator, devenit standard
(de exemplu, pentru PC).
Ct timp nu au ap rut norme privind achizi ia, prelucrarea i reprezentarea
datelor m surate, nu se poate vorbi de un standard, ci doar de criterii care pot
uura alegerea pachetelor de programe destinate domeniului m sur rilor. Aceste
criterii vor fi detaliate n cele ce urmeaz :
capacitatea de dezvoltare ulterioar permis ;
gradul de user friendly al programelor utilizate;
posibilitatea de a primi asisten
tehnic din partea firmei
112

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

produc toare;
independen a fa de aparatele utilizate (portabilitate relativ la
sistemul de m surare folosit);
adaptibilitatea.
O problem aparte o constituie sistemul de operare sub care aceste
programe pot rula, distingndu-se programe care sunt create pentru:
ISA (Industry Standard Architecture); n general, acestea nu sunt
utilizabile pe OS/2-PC sau sta ii Unix;
maini Unix i calculatoare VMS (DEC); majoritatea au fost sau sunt
n proces de "traducere" pentru PC; de exemplu, pachetul LabVIEW a
fost conceput, ini ial, pentru calculatoare Apple-Macintosh i numai
ulterior a fost disponibil pe PC, inclusiv varianta pentru Windows, iar
acum i varianta pentru sta ii SUN.
Deoarece n ultimii ani au ap rut att de multe sisteme de m surare
automate cu programele corespunz toare, alegerea i, mai ales, valorificarea
integral a unui astfel de software a devenit extrem de dificil . Criteriile care pot
fi utlizate pentru o eventual clasificare a pachetelor de programe disponibile
sunt: adaptibilitatea, viteza de lucru, uurin a n implementare.
Creterea continu a complexit tii hardware-ului i a preten iilor emise
software-ului de prelucrare a datelor m surate accentueaz importan a i
valoarea unor driver-e soft (nivelul la care se programeaz direct regitrii hardului de achizi ie, i administreaz func ionarea i i asigur integrarea cu
resursele calculatorului) ct mai bune. Pentru aceasta, un driver trebuie s
asigure achizi ionarea datelor n background cu o rat impus de utilizator i
procesarea lor n foreground, controlul momentelor n care are loc transferul
datelor c tre memorie i integrarea complet cu platforma hard folosit . El
trebuie s utilizeze ct mai eficient facilit ile oferite de sistemul de operare
folosit dar s fie compatibil i cu versiunile ulterioare ale acestuia. n aceste
condi ii se impune verificarea atent a limit rilor n exploatarea resurselor
sistemului hard (mai ales atunci cnd driver-ul este conceput de o firm diferit
dect cea care a proiectat suportul hard al aplica iei). O astfel de verificare
devine imperios necesar n cazul pachetelor integrate care acoper toate
aspectele unei achizi ii de date i care, dei sunt utilizabile imediat, au o
adaptabilitate limitat .
n elaborarea pachetelor software destinate aplica iilor n tehnica
m sur torilor i prelucr rii digitale a informa iei sunt implicate toate marile
firme care realizeaz platformele hard specifice astfel c , n ultimul timp,
suprema ia net a firmei National Instruments, prin proiectul concretizat n
LabView este pus sub semnul incertitudinii ct timp au ap rut pe pia a dedicat
programe proiectate de firmele ce realizeaz sisteme complexe de m surare Hewlett-Packard, Siemens, Hydra, Keithley - programe care exploateaz , i ele,
ideea program rii vizuale i a b ncii de instrumente virtuale configurabile
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

113

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

pentru aplica ia concret . n aceast adev rat infla ie de programe dedicate


m sur rilor cu ajutorul fie al PC-ului (LabView, LabWin, DaisyLab,
PowerPoint, HP VEE etc.) fie al sta iilor de lucru (DaisyLab), alegerea devine
extrem de grea ct timp platforma hard disponibil va trebui s integreze sisteme
de m surare proiectate individual cu aparate provenite de la firme diferite, totul
pentru a realiza un sistem integrat n jurul unui PC pentru care, la rndul lui,
soft-ul disponibil este ntr-o schimbare continu . De aceea, n multe cazuri, se
pot ob ine avantaje mari prin l sarea pe seama soft-ului de firm realizarea
fluxului algoritmilor i testarea acestuia iar programele dedicate aplica iei s
extind , doar, func iile de prelucrare i analiz a datelor. n vorbirea curent ,
prin standard se n elege o direc ie, o norm , un stil, care, n general, se ob ine
urmnd cerin ele obinuite de calitate i eficien . n elesul cuvntului variaz ,
de fapt, ntre limitele rigide ale etalonului (metrologiei, chiar) i cele
caracteristice unei orient ri n genul tematicii standard abordate de un anumit
artist (pictor, de exemplu). n domeniul programelor de calcul, no iunea de
standard poate ast zi s releve mai multe aspecte: pe de o parte, faptul c ntr-un
anumit domeniu de utilizare, cu toat diversitatea de produse existente pe pia ,
fabrican i diferi i nglobeaz n produsul lor un anumit modul software (de
exemplu, cel de comunica ie serial pentru diverse instrumente numerice-PC).
Aici intervine compatibilitatea dintre diversele produse software care au ca
obiectiv ndeplinirea unei aceleai func ii i, ca avantaj, este de re inut cel al
costului redus al consultan ei necesare n fiecare caz.
Un alt aspect este cel al furnizorului de pachete software. Din acest punct
de vedere se poate defini programul standard tocmai prin ceea ce el nu este, i
anume, o colec ie de module software standard.
Cea mai important defini ie ar trebui, ns , s fac apel la sistemul de
operare sub care programul n discu ie ruleaz . Facilit ile, etaloanele i chiar
standardele acestui mediu vor determina i programele adiacente. n fig. 4.9
este reprezentat un astfel de sistem de operare (sau mediu de programare, n
cazul nostru) mpreun cu elementele sale standard. O defini ie neambigu a
software-ului standard reiese din observa ia c acesta trebuie s pun la
dispozi ie func ii standard unor probleme standard, n vederea construirii unor
solu ii (mai mult sau mai pu in) standard. n afar de necesitatea ca pachetul de
programe s corespund n limite predefinite unor cerin e caracteristice
domeniului de utilizare, programele trebuie s ndeplineasc i anumite condi ii
specifice domeniului informatic, precum i, n plus, s fie compatibil cu acele
solu ii hardware impuse de utilizator. De exemplu, pentru software-ul din
domeniul m sur rilor electrice, este esen ial centrarea acestuia pe solu ii
hardware anumite (PC, sta ii Unix, re ea intra- sau internet) i protocoale de
comunica ie adecvate interfe elor specializate (RS-232C, IEEE-488, etc).

114

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Fig. 4.9 Elementele standardizate ntr-un sistem de m surare informatizat.

4.6.2 DETALII PRIVIND CERIN ELE IMPUSE UNUI


PACHET SOFTWARE PENTRU M SUR RI ELECTRICE
Pentru utilizatorii de software standardizat, dar i pentru aceia care vor s
integreze produse soft ale unei alte firme n produsul propriu, decizia pentru sau
mpotriva unui anumit pachet este adesea greu de luat, chiar n condi iile n care
pre ul produselor subiect al deciziei este sim itor diferit.
Hot rtor este ntotdeauna r spunsul la ntrebarea dac o anumit solu ie
este economic sau nu. Criteriile pe baza c rora se stabilete dac prelucrarea
numeric a datelor cu ajutorul PC-ului este economic , sunt detaliate n cele ce
urmeaz :
condi iile impuse de c tre utilizator:
- limba n care se dorete proiectarea i interfa area cu utilizatorul a
software-ului;
- modul de introducere/preluare a datelor;
- intervalul de timp de utilizare minim;
- intervalul de timp de utilizare repetitiv ;
- gradul de explicitare al modulelor componente;
- viteza de lucru;
- gradul de dependen fa de datele necunoscute;
- capacitatea de ghidare/help oferit utilizatorului;
- gradul de standardizare;
- asisten a tehnic n caz de anomalii.
flexibilitate:
- modularitate;
- capacitatea de integrare;
- independen a fa de sistem (portabilitatea);
- posibilitatea de a pre-seta un anumit tip de m sur ri.
performan a:
- fiabilitatea (protec ia la greelile utilizatorului, rat de eroare mic );
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

115

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

resursele hard/soft cerute;


gradul de generalitate;
num rul i tipul func iilor implementate;
posibilitatea implement rii unor func ii speciale de c tre utilizator.

n final, se compar calitatea produsului cu costul software-ului. S-a


observat c practica de pn acum i anume accea de a proiecta propriul pachet
de programe n loc de a apela la un software standardizat, aproape c a
disparut, din motive economice.
naintea alegerii pachetului software, este necesar ns s se verifice care
dintre func iile sistemului trebuie implementate, pentru c nu ntotdeauna se
impune realizarea tuturor acestora.
A. Comanda aparatelor de m surare i/sau a procesului:

este software-ul compatibil cu aparatele de m surare necesare (i care,


n general, nu sunt cunoscute a priori) sau, cel pu in, are drivere pentru
interfe ele acestora (RS, HPIB etc.)?
care este gradul de deschidere al sistemului: ce interfe e software sunt
disponibile pentru a suplimenta lipsa unor elemente de comand ?
cerin ele de vitez sunt satisf cute, de exemplu, pentru transferul
datelor?
care este dimensiunea complexit ii sistemului supravegheat?
este o aplicatie n timp real sau nu?
B. Achizi ia datelor:

datele trebuie achizi ionate on-line i n timp real?


ce se n elege, pentru aplica ia dat , prin timp real?
unde este localizat gtuirea (punctul slab) al canalului de
achizi ie/prelucrare a datelor?
n cazul card-urilor de tip plug-in pentru PC:
- exist drivere i pentru alte module hard, n afar de cele furnizate
de firma produc toare a software-ului utilizat?
- se pot implementa drivere pentru hard propriu?
- exist o concep ie unitar relativ la driverele soft?
- este necear o programare la nivel de regitri?
- viteza de rulare este compatibil cu rata de transfer pe suportul fizic
(hard) i este posibil o scriere continu pe acest suport, urmnd ca
prelucrarea s se fac ulterior?
interfe e seriale:
116

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

- exist un modul cu interfa a suficient de detaliat pentru


comunica ia cu interfa a serial ?
- exist drivere specifice noilor interfe e seriale (multiple)?
interfe e CEI-625
- sunt livrate deja drivere pentru aparate standard interfa ate CEI?
- se poate realiza un astfel de driver?
- este deja disponibil o interfa de nivel nalt pentru cele mai
importante func ii CEI625?
formate nestandard
- este necesar s se schimbe date sau fiiere cu alte sisteme? Ce
formate de scriere/citire sunt permise de rutinele software-ului?
(ASCII, binar etc.) Exist rutine de conversie (filtre)?
C. prelucrarea preliminar :

ce func ii sunt necesare? (de ex.: calibr ri, liniariz ri de caracteristici,


scalare, filtrare, compresie de date).
D. prelucrarea datelor:

ct de puternice sunt bibliotecile de func ii?


ce clase de func ii sunt cuprinse?
- aritmetica semnalelor (conectarea semnalelor)
- analiza n timp (determinarea valorilor caracteristice)
- analiza n frecven (FFT, spectre, convolu ie, corela ie)
- regresie
- statistic
- interpolare
- aproxim ri
ce tipuri de date sunt admise? (intregi, reale n virgula fix /mobil )
este necesar o prelucrare on-line? pn la ce frecven maxim a
semnalelor?
este necesar implementarea pe DSP-board?
E. Reprezentarea grafic :

posibilit i de reprezentare grafic generale;


tehnica ferestrelor multiple
mai multe curbe, axe, pe o aceeai fereastr ;
- zoom;
- m sur ri cu cursorul;
- axe logaritmice;
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

117

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

- reprezent ri 3D;
- posibilitatea reprezent rilor personalizate a altor tipuri de grafice;
- configurarea detaliilor (culori, for/background).
este posibil o reprezentare grafic on-line? pn la ce frecven ?
ce drivere de imprimant sunt suportate sau exist doar facilitatea
hardcopy? care este rezolu ia maxim de printare? (i analog pentru
plotter)
se pot salva datele aferente unui grafic ntr-un fiier cu format standard
(PCX, TIFF, EPS)?
F. Stocarea datelor:

este formatul n care se salveaz datele specificat complet?


este asigurat o protec ie a datelor mpotriva eventualelor greeli de
scriere (mai ales pentru formatele ASCII) ?
exist interfe e de conversie pentru suportul datelor n alte limbaje
standard (dBASE, Lotus etc.)?
este prev zut comprimarea datelor?
G. Documentarea/prezentarea rezultatelor:

exist forme pre-definite pentru protocoale de m surare?


- nscrisuri;
- antetul firmei;
- inser ie de desene;
- legend .
sunt compatibile astfel de protocoale cu programele standard de
procesare text?
Chiar dac obiectul unei m sur ri conduse de calculator poate mbr ca
diverse forme, exist un mare num r de caracteristici comune acestor m sur ri,
astfel c se poate spune c , n general, orice sistem de automatizare
(achizi ie/prelucrare numeric /arhivarea rezultatelor) este guvernat de un
software standard n sinergie cu un software specializat.
Este extrem de importrant pentru utilizatori s existe posibilitatea ca
cerin ele unei activit i concrete s fie ndeplinite prin implementarea unor
func ii specifice n cadrul software-ului. Aceast cerin a condus la formularea
conceptului de interfa deschis , prin care programatorul i insereaz
creativitatea i solu iile proprii. Un alt avantaj este acela c utilizatorul r mne
independent fa de casa de software produc toare a pachetului standard.

118

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

4.6.3 SCPI (STANDARD COMMANDS FOR


PROGRAMMABLE INSTRUMENTATIONS)
Scopul standardului SCPI este acela de a facilita reducerea timpului de
dezvoltare pentru programele implementate n sistemele de m surare i control
precum i de a permite schimbarea aparatelor (eventual produse de firme
diferite) n cadrul unui aceluiai sistem de m surare condus de calculator. Acest
lucru se realizeaz prin introducerea unor comenzi standardizate c tre aparate i
a unor tipuri posibile de r spuns al acestora. Spre exemplu, comanda:
MEASURE:FREQ?
are aceeai sintax pentru toate aparatele de un anumit tip (de exemplu,
multimetre) fabricate de diveri produc tori - consisten vertical - dar i pentru
aparate cu func ii diferite (de exemplu, osciloscoape, num r toare) - consisten
orizontal .
SCPI nu este un limbaj de programare (cum sunt, de exemplu, Pascal sau
C), ci un limbaj de comenzi care definete comenzile c tre aparate, parametrii i
formatul acestora. SCPI furnizeaz un ir de caractere ASCII care vor fi
transmise prin rutine specifice aparatelor unde vor fi, apoi, prelucrate prin
intermediul limbajului TMSL (Hewlett-Packards Test and Measurement
System Language).
SCPI s-a dezvoltat, n principal, p strnd o compatibilitate cu norma
IEEE-488 i utiliznd formatul de date al acestei norme. Cu toate acestea,
utilizarea SCPI nu este limitat la interfa a IEEE-488, comenzile acestuia putnd
fi transmise i prin interfe ele VXI sau RS-232 i, n plus, fiind continuu supus
complet rilor necesitate de dezvoltarea hardware-ului specific, n urma
recomand rilor f cute de un consor iu de firme, alc tuit din reprezentan i ai
leader-ilor pe pia a instrumentelor de m surare: Hewlett-Packard, Tektronix,
Fluke (Philips), Keithley, Rohde&Schwarz etc.
Cu toate c SCPI definete comenzile specifice aparatelor de m surare
inteligente, nu sunt indicate nici un fel de date tehnice privind exactitatea,
rezolu ia, domeniul de m surare ale acestora; astfel nu poate fi n totalitate
garantat compatibilitatea aparatelor n cadrul unui sistem comandat prin
intermediul SCPI.
Blocurile func ionale ale aparatelor
SCPI mparte fiecare aparat n blocuri func ionale (fig. 4.10), c rora le
subordoneaz un aa-numit arbore de comenzi (subtree) exemplificat n fig.
4.11.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

119

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

Fig. 4.10 Modelul SCPI al unui aparat programabil.

Fig. 4.11 Detalierea unei func ii SCPI:


a) func ia de m surare; b) func ia de generare a semnalului.

n cele ce urmeaz sunt detaliate semnifica iile termenilor utiliza i n fig.


4.10 i 4.11:
ROUTing
MEASurement
INPut
SENSe

CALCulate

120

Comanda c ii de semnal ntre bornele


aparatului i func ia de m surare intern ;
Conversia semnalului fizic n valoare
m surat (format de date intern), inclusiv
opera ia de condi ionare a semnalului;
Condi ionarea
semnalelor
de
intrare
(amplificare, atenuare, filtrare etc)
Conversia semnalului fizic aplicat la bornele
de intrare n valoare m surat i stabilirea
intervalului de m surare;
Conversia valorii m surate (de ex., n alte
unit i sau determinarea timpului de cretere
al semnalului);

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Signal
Generation
OUTPut
SOURce
TRIG
MEMory
FORMat

Conversia valorilor numerice n semnal fizic,


inclusiv condi ionarea acestuia;
Condi ionarea semnalelor de ieire;
Conversia valorilor numerice n semnale
fizice;
Sincronizarea, triggerarea opera iilor de
m surare sau generare a semnalelor;
Func ia de memorare intern a datelor;
Conversia formatelor de date pentru transfer
extern (de ex. n format ASCII);

n fig. 4.12 este reprezentat structura arborescent a blocului func ional


de m surare de sensibilitate SENSe i a c rei sintax este:
:SENS:CURR:AC:RANG:AUTO:DIR:EITH

Fig. 4.12 Structura arborescent a comenzii SENSe.


Nivelele structurale ale comenzilor
Comanda aparatelor de m surare prin intermediul SCPI se face utiliznd
mai multe niveluri ale acestora:

Secven a de comenzi 1 (Low Level):


*RST
:FUNC:VOLT:AC
:INP:IMP 50
:INIT:IMM
FETCh:VOLT:AC?

Resetarea aparatului
Selec ia func iei de m surare a tensiunii alternative
Selectarea impedan ei de intrare de 50
Triggerarea opera iei de m surare
nscrierea valorii m surate n bufferul de ieire

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

121

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

Secven a de comenzi 2 (High Level):


*RST
:MEAS:VOLT:AC?

Resetarea aparatului
Configurarea aparatului, m surarea i nscrierea valorii
m surate n buffer-ul de ieire

Observa ie: Comenzile de nivel 2 (High Level) necesit mai pu ine


cunotin e relative la partea hardware a echipamentului de m surare
dar necesit un grad de compatibilitate ridicat ntre aparatele ce
eventual vor ndeplini aceeai func ie. De cte ori, ns , utiliz m
configur ri diferite de cele uzuale, se recomand inserarea comenzilor
de nivel 1 (low level).
Sintaxa
Program Header grupeaz cuvintele cheie cu ajutorul c rora se
recunoate o anumit comand . Aparatele trebuie s accepte comenzi scrise att
cu litere mari ct i cu litere mici, grupate n :
Common Command Headers
Instrument Control Headers
Fiecare Instrument Control Header are i o form de scriere prescurtat .
Un aparat comandat prin SCPI trebuie s accepte instruc iuni exprimate n
forma complet (lung ) sau cea scurt , abaterile de la una dintre acestea fiind
semnalizate ca eroare de sintax . Forma lung a comenzii este constituit dintrun singur cuvnt (maxim 12 caractere, primul din ele fiind liter mare), iar
forma scurt este constituit din primele patru caractere ale celei anterioare, cu
excep ia cazului cnd ultimul este o vocal i nu mai este scris.
Comenzile SCPI se structureaz ierarhizat, nivelele fiind separate n
interiorul unei comenzi prin separator.
Dac un aparat are mai multe canale de m surare identice, atunci la
sfritul fiec rui mnemonic se adaug num rul canalului, implicit fiind
considerat canalul num rul 1.
Majoritatea comenzilor exist i n varianta n care irului de comand i se
adaug sufixul ?, caz n care aparatului i se cere r spunsul c tre calculator
(valoarea m surat ), f r a mai fi nevoie de explicitarea unui header pentru
aceasta.
Starea de baz dup resetarea unui aparat

Dup primirea comenzii de resetare (*RST), toate aparatele de m surare


accesate prin SCPI se vor g si ntr-o stare de baz , definit anterior printr-un alt
set de comenzi SCPI. Ca regul general :
122

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

toate aparatele trebuie s treac n modul Trigger Idle State, ieirile


trebuind deconectate;
configurarea semnalelor de intrare trebuie f cut fie pe domeniul
implicit (Autorange) fie pe cel corespunz tor rezolu iei minime;
aparatele trebuie s r mn n modul de func ionare (func ia) de baz .
Interpretarea st rii (Status Report)

n SCPI este inclus realizarea complet a modului de interpretare a st rii


corespunz tor normei IEEE-488.2, inclusiv cel al regitrilor de stare (Device
Status Reporting). n plus, SCPI posed comenzi corespunz toare regitrilor de
operare (OPERation Status -Register) i de interogare (QUEStionable
Daten/Signal Status-Register). n OPERation Status -Register se reflect st rile
actuale ale aparatului:

Valoare
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Stare
CALibrating
SETTling
RANGing
SWEping
MEASuring
waiting for TRIG
waiting for ARM
CORRecting
available to Designer
available to Designer
available to Designer
available to Designer
available to Designer
INSTrument Summary Bit
PROGram running
=0

n QUEStionable Data/Signal Status-Register se men in date referitoare


la semnalul m surat (de exemplu tensiunea, frecven a, timpul etc.) astfel c
fiecare bit al acestui registru reprezint suma a 16 bi i din regitrii prev zu i n
amonte.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

123

CONSIDERA II GENERALE ASUPRA INSTRUMENTA IEI VIRTUALE

124

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

5. PREZENTAREA MICROCONTROLLERULUI
80C552 (PHILIPS)
5.1 ARHITECTURA HARDWARE A
MICROCONTROLLERULUI 80C552
5.1.1 MEMORIA INTERN A MICROCONTROLLERULUI
80C552
5.1.1.1 MEMORIA DE PROGRAM (PROGRAM MEMORY)
FFFF h

FFFF h

EXTERNAL

OVERLAPPED
MEMORY SPACE

2000 h
1FFF h
INTERNAL

EXTERNAL FF h
SFR

(EA = 1)

(EA = 0)

7F h
00 h

0000 h
PROGRAM MEMORY

INTERNAL
DATA RAM

0000 h

INTERNAL DATA MEMORY EXTERNAL DATA MEMORY

Fig. 5.1 Memoria microcontroller-ului 80C552.

Familia 8XC552 con ine 8 kocte i de memorie de program implementat


intern, memorie ce poate fi extins la 64 kocte i prin utilizarea unei memorii
EPROM extern (fig. 5.1). Atunci cnd pinul EA este for at la nivel ridicat,
microcontroller-ul citete instruc iunile (ciclu de fetch) din memoria intern de
program dac adresa acestora este inferioar valorii 1FFFH. Loca iile cu adrese
cuprinse ntre 2000H i FFFFH corespund memoriei externe de program. Atunci
cnd pinul EA este for at la nivel cobort, toate ciclurile de fetch (ciclurile de
citire a instruc iunii) sunt executate din memoria extern de program. Loca iile
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

125

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

de memorie de program cu adresele 0003H i 0007H sunt utilizate de rutinele de


tratare a ntreruperilor.

5.1.1.2 MEMORIA DE DATE (DATA MEMORY)


Microprocesorul con ine o memorie intern cu citire/scriere cu adrese
cuprinse ntre 00H i FFH. Aceasta este organizat pe trei sec iuni:
zona inferioar a memoriei de date, cu capacitatea de 128 octe i, avnd
adrese cuprinse ntre 00H i 7FH. Adresarea acestei zone de memorie
se poate face direct sau indirect;
zona superioar a memoriei de date, cu capacitatea de 128 octe i.
Aceast zon de memorie poate fi adresat numai indirect;
zona registrelor destinate func iilor speciale, cu capacitatea de 128
octe i.
Cei 128 octe i ai zonei inferioare a memoriei de date sunt organiza i
astfel:
primii 32 de octe i (cu adrese cuprinse ntre 00H i 1FH) sunt mp r i i
n 4 bancuri de c te 8 octe i numite i registre generale i care pot fi
apelate n instruc iuni ca R0-R7. Selectarea unuia dintre bancuri la un
moment dat se realizeaz cu ajutorul a doi bi i din cuvntul de stare al
progamului (PSW). Aceste registre pot fi accesate i la nivel de bit;
16 octe i cu adrese cuprinse ntre 20H i 2FH, care pot fi adresa i i ca
un spa iu de 128 de bi i cu adrese cuprinse ntre 00H i 7FH.
Zona superioar de memorie i zona registrelor destinate func iilor
speciale mpart acelai spa iu al adreselor de memorie cuprinse ntre 80H i
FFH, dei ele sunt entit i fizice distincte. Nu to i cei 128 octe i ai zonei
registrelor cu func ii speciale sunt implementa i fizic. Registrele destinate
func iilor speciale ale c ror adrese se termin n 0H sau 8H pot fi adresate i la
nivel de bit.
Pe lng cei 256 de octe i de date ai memoriei interne, microprocesorul
poate adresa i pn la 64 Kocte i de memorie extern de date. Adresele
memoriei de date extern pornesc tot de la 0000H. Adresa pentru memoria
extern poate fi pe un octet sau pe doi octe i. Liniile portului de intrare-ieire P0
se folosesc multiplexat pentru a ob ine octetul inferior al adresei de memorie,
respectiv octetul de date citit/scris n memorie. n cazul n care adresa de
memorie este de un octet (octet con inut ntr-unul din registrele generale ale
bancului de registre activ), acesta se poate folosi n conjunc ie cu un num r de
linii ale portului de intrare-ieire P2 care pagineaz memoria. Dac adresa este
pe doi octe i, aceasta este con inut n registrul destinat func iilor speciale
DPTR, iar adresarea memoriei se relizeaz folosind cele 16 linii ale porturilor de
intrare-ieire P0 i P2.
126

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

5.1.1.3 REGISTRELE CU FUNC II SPECIALE


Cele mai multe dintre cele 56 de registre speciale se folosesc pentru
controlul hardware-ului de periferice aflat pe cip. Altele sunt registre aritmetice
(ACC, B, PSW), indicator al stivei (SP), indicatoare de date (DPH, DPL). 16
dintre aceste registre pot fi adresate la nivel de bit. n continuare vor fi
prezentate registrele cu func ii speciale cele mai des folosite.
Acumulatorul - este registrul implicit pentru multe instruc iuni. n
cadrul unei instruc iuni este apelat cu numele A. Adresa sa direct este
E0H. Poate fi adresat i la nivel de bit. Con inutul s u devine 00H la
resetarea microprocesorului.
Registrul B - este utilizat obligatoriu n instruc iunile de nmul ire
i mp r ire. Poate fi folosit i n alte instruc iuni. Adresa direct este F0H.
Poate fi adresat i la nivel de bit. Con inutul s u devine 00H la resetarea
microprocesorului.
Cuvntul de stare al programului (PSW) - con ine informa ia de
stare. Denumirile i semnifica iile celor 8 bi i ai PSW sunt date mai jos:
(MSB)
CY

AC

F0

RS1

RS0

OV

(LSB)
P

CY (PSW.7) - indicatorul de transport din bitul cel mai


semnificativ al acumulatorului, n cazul instruc iunilor aritmetice;
AC (PSW.6) - indicatorul de transport auxiliar. Se folosete pentru
opera ii n BCD;
F0 (PSW.5) - indicatorul 0 folosit de utilizator;
RS1 (PSW.4) i RS2 (PSW.3) - folosi i pentru selec ia bancului
activ al registrelor generale. Sunt seta i sau reseta i prin program
pentru a selecta bancul dorit;
OV (PSW.2) - indicatorul de dep ire;
P (PSW.0) - indicatorul de paritate. Este setat sau resetat prin
hardware la fiecare ciclu de instruc iune pentru a indica num rul de
1 (par sau impar) din acumulator.
Adresa direct a PSW este D0H.
Indicatorul de stiv (SP) - este un registru de 8 bi i. Este
incrementat nainte de execu ia unei instruc iuni PUSH sau CALL. Este
decrementat dup execu ia unei instruc iuni POP sau RET. La resetarea
microprocesorului este ini ializat la valoarea 07H, deci stiva ncepe de la
adresa 08H. Poate fi nc rcat prin program, deci stiva poate ncepe de la
orice adres . Adresa direct este 81H.
Indicatorul pentru date (DPTR) - este format din doi octe i, cel de
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

127

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

adres mai mare fiind apelat ca DPH, iar cel de adres mai mic fiind
apelat ca DPL. El p streaz o adres de 16 bi i pentru apelarea memoriei
RAM externe (dac aceasta exist ). Poate fi manevrat ca un singur
registru de 16 bi i sau ca dou registre de 8 bi i. Adresa direct este 82H.
Registrele porturi P0P5 - sunt registrele latch pentru porturile de
intrare-ieire P0P5. Cnd se scrie o informa ie ntr-un bit al unui registru,
aceasta apare la pinul de intrare-ieire corespunz tor. Cnd se citete
informa ia de la un port de intrare-ieire, aceasta este memorat n
registrul port corespunz tor. La resetarea microprocesorului registele P0 la
P4 sunt ini ializate cu valoarea 00H. Adresele directe ale acestor registre
sunt: P0 - 80H, P1 - 90H, P2 - A0H, P3 - B0H, P4 - C0H, P5 - C4H.
Registrele P0P3 sunt adresabile i la nivel de bit.
Buffer serial de date (S0BUF) - este compus de fapt din dou
registre separate de 8 bi i avnd aceeai adres direct , unul pentru
transmisie i altul pentru recep ie, folosite pentru interfa a serial SIO0.
Cnd un octet de date este scris n S0BUF, acesta este introdus n bufferul pentru transmisie i delaneaz nceputul transmisiei seriale a acestuia.
Cnd se realizeaz o citire din S0BUF, se citete con inutul buffer-ului de
recep ie. Adresa direct este 99H.
Registrele de control - exit mai multe astfel de registre care con in
bi i de control i de stare pentru ntreruperi, temporizatoare/num r toare i
porturi seriale. Ele vor fi descrise la func iunile corespunz toare.
Registrele de temporizare - exist trei perechi de registre de cte 8
bi i T0 (TH0, TL0), T1 (TH1, TL1), T2 (TMH2, TML2) num r toare pe 16
bi i, i un registru num r tor pe 8 bi i T3. T3 este folosit ca watchdog
pentru reini ializarea sistemului dup un anumit interval de timp
convenabil ales, n cazul cnd acesta s-a blocat i nu a putut fi renc rcat
temporizatorul T3.
Tabelul 4.1 Registrele microcontroller-ului 80C552.
Simbol

Descriere

Adresa
directa
E0 H
C6 H
C5 H
F0 H
EB H

Valoare
RESET
E7
E6
E5
E4
E3
E2
E1
E0 00 H
A/D.9 A/D.8 A/D.7 A/D.6 A/D.5 A/D.4 A/D.3 A/D.2 xxxxxxxx B
A/D.1 A/D.0 ADEX ADCI ADCS ADR2 ADR1 ADR0 xx000000 B
F7
F6
F5
F4
F3
F2
F1
F0 00 H
CTN3 CTP3 CTN2 CTP2 CNT1 CNP1 CNT0 CNP0 00 H
Adresa bit, simbol sau functie alternativa port

ACC
ADCH
ADCON
B
CTCON

Accumulator
A/D converter High
A/D control
B register
Capture control

CTH3
CTH2
CTH1
CTH0
CMH2
CMH1
CMH0

Capture 3 High
Capture 2 High
Capture 1 High
Capture 0 High
Compare 2 High
Compare 1 High
Compare 0 High

CF H
CE H
CD H
CC H
CB H
CA H
C9 H

xxxxxxxx B
xxxxxxxx B
xxxxxxxx B
xxxxxxxx B
00 H
00 H
00 H

CTL3
CTL2
CTL1

Capture 3 Low
Capture 2 Low
Capture 1 Low

AF H
AE H
AD H

xxxxxxxx B
xxxxxxxx B
xxxxxxxx B

128

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
CTL0
CML2

Capture 0 Low
Compare 2 Low

AC H
AB H

xxxxxxxx B
00 H

CML1
CML0

Compare 1 Low
Compare 0 Low

AA H
A9 H

00 H
00 H

DPTR:
DPH
DPL

Data pointer
Data pointer High
Data pointer Low

83 H
82 H

00 H
00 H

IEN0

Interrupt enable 0

A8 H

IEN1

Interrupt enable 1

E8 H

IP0

Interrupt priority 0

B8 H

IP1

Interrupt priority 1

F8 H

P5

Port 5

C4 H

P4

Port 4

C0 H

P3

Port 3

B0 H

P2

Port 2

A0 H

P1

Port 1

90 H

P0

Port 0

80 H

PCON

Power control

87 H

PSW

Program status word

D0 H

PWMP
PWM1
PWM0
RTE

PWM prescaler
PWM 1 register
PWM 0 register
Reset/toggle enable

FE H
FD H
FC H
EF H

SP
S0BUF

Stack pointer
Serial 0 data buffer

81 H
99 H

S0CON

Serial 0 control

98 H

S1ADR
SIDAT
S1STA

Serial 1 address
Serial 1 data
Serial 1 status

DB H
DA H
D9 H

SICON

Serial 1 control

D8 H

STE
TH1
TH0
TL1

Set enable
Timer 1 High
Timer 0 High
Timer 1 Low

EE H
8D H
8C H
8B H

TL0
TMH2
TML2
TMOD

Timer 0 Low
Timer 2 High
Timer 2 Low
Timer mode

8A H
ED H
EC H
89 H

TCON

Timer control

88 H

TM2CON

Timer 2 control

EA H

TM2IR

T2 interrupt flag
register

C8 H

T3

Timer 3

FF H

AF
EA

AE
EAD

AD
ES1

AC
ES0

AB
ET1

AA
EX1

A9
ET0

A8
ET1

00 H

EF
ET2
BF
--

EE
ED
EC
EB
EA
EMC2 EMC1 EMC0 ECT3 ECT2
BE
BD
BC
BB
BA
PAD
PS1
PS0
PT1
PX1

E9
E8
00 H
ECT1 ECT0
B9
B8
x0000000 B
PT0
PX0

FF
PT2

FE
FD
FC
FB
FA
PCM2 PCM1 PCM0 PCT3 PCT2

F9
F8
00 H
PCT1 PCT0

ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 xxxxxxxx B


C7
C6
C5
C4
C3
C2
C1
C0
FF H
CMT1 CMT0 MSR5 MSR4 MSR3 MSR2 MSR1 MSR0
B7
RD

B6
WR

B5
T1

B4
T0

B3
INT1

B2
INT0

B1
TXD

B0
FF H
RXD

A7
A15
97
SDA
87
AD7

A6
A14
96
SCL
86
AD6

A5
A13
95
RT2
85
AD5

A4
A12
94
T2
84
AD4

A3
A11
93
CT3I
83
AD3

A2
A10
92
CT2I
82
AD2

A1
A9
91
CT1I
81
AD1

A0
FF H
A8
90
FF H
CT0I
80
FF H
AD0

SMOD
D7
CY

-D6
AC

-D5
F0

WLE
D4
RS1

GF1
D3
RS0

GF0
D2
OV

PD
D1
F1

TP47

TP46

RP45

RP44

RP43

RP42

RP41

IDL
D0
P

00xx0000 B
00 H

00 H
00 H
00 H
RP40 00 H
07 H

9F
SM0

9E
SM1

9D
SM2

9C
REN

9B
TB8

9A
RB8

99
TI

SLAVE ADDRESS

98
RI
GC

00 H
00 H
00 H
F8 H

SC4
DF
CR2

SC3
DE
ENS1

SC3
DD
STA

SC1
DC
STO

SC0
DB
SI

0
DA
AA

0
D9
CR1

0
D8
00 H
CR0

TG47

TG46

SP45

SP44

SP43

SP42

SP41

SP40 C0 H
00 H
00 H
00 H

GATE
8F
TF1

C/T
8E
TR1

M0
8C
TR0

GATE
8B
IE1

C/T
8A
IT1

T2IS1 T2IS0 T2ER

T2B0

T2P1

T2P0

T2MS T2MS
00 H
1
0

CF
T20V

CC
CMI0

CB
CTI3

CA
CTI2

C9
CTI1

CE
CMI2

M1
8D
TF0

CD
CMI0

M1
89
IE0

M0
88
IT0

00 H
00 H
00 H
00 H
00 H

C8
00 H
CTI0
00 H

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

129

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

5.1.2 STRUCTURA I LUCRUL CU PORTURILE DE


INTRARE-IEIRE
n fig. 5.2 este prezentat structura microcontroller-ului 80C552.
Semnifica iile detaliate ale porturilor sunt prezentate n cele ce urmeaz .
Portul P0 - este un port bidirec ional cu drena n gol de 8 bi i. Dac se
scrie 1 n el tranzistorul de ieire este blocat i ieirea este n starea de impedan
ridicat . n cazul folosirii unei memorii externe (de program - ROM sau de date
- RAM), pinii portului P0 sunt multiplexa i ntre octetul inferior de adres
(A0A7) i octetul de date citit sau scris din sau n memorie. Poate fi accesat i la
nivel de pin ca P0.0P0.7.
Portul P1- este un port bidirec ional de 8 bi i. Pinii P1.0P1.5 sunt prev zu i
cu rezisten intern de pull-up, iar bi ii P1.6 i P1.7 sunt cu drena n gol. Pinii
acestui port pot ndeplini i urm toarele func ii alternative:
P1.0P1.3 pot fi i CT0ICT3I, adic semnale de intrare pentru
temporizatorul T2 n modul captur (vezi func ionarea timer-ului T2);
P1.4 poate fi i intrare extern de num rare a temporizatorului T2,
numit chiar T2;
P1.5 poate fi i intrare de reset a temporizatorului T2, adic RT2;
P1.6 poate fi SCL, adic semnal de ceas pentru interfa a serial SIO1;
P1.7 poate fi SDA, adic linia de date a interfe ei seriale SIO1.
Portul P2 - este un port de 8 bi i, bidirec ional, cu rezisten e interne de
pull-up. n cazul adres rii unei memorii externe, con ine octetul superior al
adresei A8A15.
Portul P3 - este un port bidirec ional de 8 bi i, cu rezisten e interne de
pull-up. Alternativ pinii s i pot ndeplini urm toarele func ii:
P3.0 poate fi RxD, adic intrare de date pentru interfa a serial , full
duplex, SIO0;
P3.1 poate fi TxD, adic ieire de date pentru SIO0;
P3.2 poate fi INT0 , adic prima ntrerupere extern ;
P3.3 poate fi INT1 , adic a doua ntrerupere extern ;
P3.4 poate fi T0, adic intrarea de num rare extern pentru
temporizatorul T0;
P3.5 poate fi T1, adic intrarea de num rare extern pentru
temporizatorul T1;
P3.6 poate fi WR , adic semnalul de comand a scrierii n memoria de
date (RAM) extern ;
P3.7 poate fi RD , adic semnalul de comand a citirii din memoria
extern de date (RAM).

130

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

T1

INT0

INT1

PWM0 PWM1

SDA

SCL

Reference
8051 Core
without ROM/RAM

XTAL1
XTAL2
Timer 0
Timer 1
(16 bit)

EA
ALE

Program
Memory
(8kytes)

Data
Memory
(256 bytes)

Dual
PWM

MUX
&
ADC

I 2C
BUS

8 bit
Port

Four
16 bit
Capture
Latches

Timer
T2

16 bit
Comparators
with
Registers

Comparator
Outputs
Selection

Watchdog
Timer
T3

P4

CT0I .. CT3I

UCP

PSEN
WR
RD

8 bit Internal BUS

AD0..AD7

A8..A15

Parallel I/O
Ports
&
External Bus

P0

P1 P2 P3

Serial
UART
Port

TxD

RxD

T2

RT2

CMSR0 .. CMSR5
CMT0, CMT1

RST

EW

ALTERNATIVE FUNCTIONS OF PORT P0

ALTERNATIVE FUNCTIONS OF PORT P1

ALTERNATIVE FUNCTIONS OF PORT P2

ALTERNATIVE FUNCTIONS OF PORT P3

ALTERNATIVE FUNCTIONS OF PORT P4

ALTERNATIVE FUNCTIONS OF PORT P5

ELECTRONIC APLICAT

Fig. 5.2 Structura microcontroller-ului 80C552.

131

Portul P4 - este un port bidirec ional de 8 bi i, cu rezisten e interne de


pull-up.
Portul P5 - este un port de 8 bi i numai de intrare. Pinii acestui port pot fi

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

T0

ADC0
..
STADC ADC7

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

i ADC0ADC7, adic 8 canale analogice de intrare ale convertorului analogicnumeric incorporat.


Operaiunea de citire-modificare-scriere la un port. Unele instruc iuni
care citesc un port, citesc registrul pentru func ii speciale corespunz tor, iar
altele citesc direct starea la momentul respectiv a pinului. Insruc iunile care
citesc registrul sunt acelea care citesc o valoare pe care eventual o modific i
apoi o scriu din nou n registru. Acestea se numesc instruc iuni citetemodific -scrie. Urm toarele instruc iuni ac ioneaz asupra registrului pentru
func ii speciale corespunz tor, atunci cnd n ele apare numele unui port de
intrare-ieire: ANL, ORL, XRL, JBC, CPL, INC, DEC, DJNZ, MOV PX.Y,C
(scrie n bitul Y al portului X transportul (CARRY), CLR PX.Y (scrie 0 n bitul
Y al portului X), SET PX.Y (scrie 1 n bitul Y al portului X). Nu este foarte
evident c ultimele 3 instruc iuni de mai sus sunt de tipul citete-modific scrie, dar ele sunt deoarece execu ia lor const n citirea tuturor celor 8 bi i ai
registrului, modificarea corespunz toare a bitului dorit i rescrierea rezultatului
n registru. Acest lucru se realizeaz astfel, pentru c , dac s-ar citi valoarea
semnalului la pin (care de fapt reprezint valoarea bitului corespunz tor al
registrului pentru func ii speciale asociat portului), din cauza circuitelor
comandate nivelul de tensiune ar putea s nu fie cel corespunz tor (de exemplu
dac pinul comand n baz un tranzitor care are emitorul la mas , iar bitul
corespunz tor din registru ar fi 1, tensiunea pe pin ar fi egal cu tensiunea
unei jonc iuni pn polarizat direct, adic 0,6-0,7 vol i, care evident nu este un
nivel corespunz tor lui 1.

5.1.2.1 PROGRAMAREA I UTILIZAREA


TEMPORIZATOARELOR
Aa cum s-a spus n paragraful relativ la registrele pentru func ii speciale,
microprocesorul 80552 are 4 registre temporizatoare / num r toare. Ele sunt
descrise n continuare.
Temporizatorul 0 i temporizatorul 1 Ambele pot fi configurate s
func ioneze ca temporizatoare sau ca num r toare de evenimente. Configurarea
este realizat cu ajutorul registrului de control a modului TMOD (el are adresa
direct 89H), aa cum este indicat mai jos:
(MSB)
gate

C/T
M1
Temporizator 0

M0

gate

C/T
M1
Temporizator 1

(LSB)
M0

unde:

gate - temporizatorul/num r torul x este activat numai dac bitul


TRx din registrul de control TCON are valoarea 1 i acest bit are

132

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

valoarea 0 sau semnalul de pe pinul INTx/ are valoarea 1 (vezi


portul de intrare-ieire P3);
C/T - cnd acest bit are valoarea 0 registrul func ioneaz ca
temporizator, iar semnalul de num rare este dat de oscilatorul
microprocesorului divizat cu 12, care astfel incrementeaz registrul
corespunz tor la fiecare ciclu main . Dac acest bit are valoarea 1
registrul func ioneaz ca num r tor, fiind incrementat la fiecare
tranzi ie din 0 n 1 a semnalului de pe pinul T0 sau T1 (vezi portul
de intrare ieire P3). Semnalul de pe acest pin este testat o dat pentru
fiecare ciclu main n starea S5 faza P2 a ciclului, dar num r torul este
efectiv incrementat abia n starea S3 faza P1 a ciclului urm tor celului
care a detectat tranzi ia 1-0 a semnalului T1. De aceea frecven a
maxim de num rare este 1/24 din frecven a oscilatorului
microprocesorului. Pentru a putea fi detectat tranzi ia, semnalul
trebuie s stea n 0 o durat cel pu in egal cu a ciclului main
(adic 12 perioade ale oscilatorului);
M1, M0 - selecteaz unul unul din cele patru moduri posibile de
operare descrise n continuare.
Modul 0. Este atunci cnd M1=0 i M0=0. El este identic pentru
ambele temporizatoare. n acest mod cele dou num r toare pe 8 bi i
THx i TLx sunt conectate n cascad , dar TLx func ioneaz ca un
num r tor pe cinci bi i (deci un divizor cu 32), folosindu-se numai
primii 5 bi i ai acestuia. Cnd num r torul trece din starea n care to i
bi ii sunt pe 1 n starea cnd to i bi ii sunt pe zero, se seteaz
indicatorul de ntrerupere TFx din registrul de control TCON (TCON.7
pentru TF1 i TCON.5 pentru TF0);
Modul 1. Este atunci cnd M1=0 i M0=1. Este identic cu modul
0, doar c TLx se folosete ca num r tor pe 8 bi i (se ob ine deci un
num r tor pe 16 bi i). El este identic pentru temporizatoarele 0 i 1;
Modul 2. Este atunci cnd M1=1 i M0=0. Este identic pentru
ambele temporizatoare. n acest mod se folosete numai registrul TLx
ca un num r tor pe 8 bi i cu renc rcare automat . Con inutul acestuia
trece din FFH n 00H, se seteaz TFx i se ncarc n TLx con inutul
lui THx, f r a fi afectat con inutul lui THx. THx poate fi ncarcat prin
program;
Modul 3. Este atunci cnd M1=1 i M0=1. n acest mod
temporizatorul 1 i oprete num rarea, conservndu-i con inutul. Este
ca i cnd TR1 ar fi egal cu 0. Temporizatorul 0 fuc ioneaz ca dou
num r toare de 8 bi i independente. TH0 este incrementat de semnalul
oscilatorului microproceso-rului divizat cu 12, dac TR1=1. La
trecerea con inutului lui de la valoare FFH la 00H este setat TF1. TL0
poate fi incrementat fie de semnalul de la oscilator dac C/T=0, fie de
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

133

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

semnalul aplicat la pinul T1 dac C/T=1. Incrementarea are loc dac


TR1=1 i gate=0 sau INT0/=1. La schimbarea con inutului de la
valoarea FFH la 00H este setat TF0.
Func ionarea celor dou temporizatoare este controlat de registrul
TCON. Configura ia acestuia este dat n continuare:
(MSB)
TF1

TR1

TF0

TR0

IE1

IT1

IE0

(LSB)
IT0

TF1 i TF0 sunt setate aa cum s-a ar tat mai sus, i sunt resetate prin
hardware atunci procesorul intr n rutina de ntrerupere;
TR1 i TR0 inhib (cnd sunt egale cu 0) sau permit num rarea (cnd
sunt egale cu 1) a temporizatorului corespunz tor. Sunt setate sau
resetate prin program.

5.1.2.2 INTERFA A SERIAL SIO0


Aceasta este o interfa full-duplex, adic poate transmite i recep iona
date simultan. Are buffer la recep ie, deci poate ncepe recep ionarea unui nou
octet de date naite ca cel deja recep ionat s fie preluat. Aa cum s-a men ionat
n paragraful referitor la registrele cu func ii speciale (vezi registrul SBUF), o
scriere n SBUF ncarc registrul pentru transmisia datelor, iar citirea din SBUF
se face din registrul de recep ie a datelor, separat fizic de cel de transmisie.
Interfa a serial SIO0 poate lucra n 4 moduri posibile. Acestea sunt urm toarele:
Modul 0. Este atunci cnd SM0=0 i SM1=0 (bi ii 7 respectiv 6 din
registrul de control al interfe ei SCON - unul din registrele pentru func ii
speciale). n acest mod interfa a serial func ioneaz semiduplex. Se
transmit cte 8 bi i. Pe linia RxD (P3.0) se emit i se recep ioneaz date.
Semnalul de ceas al transmisiei/recep iei se transmite/recep ioneaz pe
linia TxD (P3.1). Transmisia este ini iat prin scrierea unui octet de date n
registrul SBUF. Ceasul pentru transmisie are o frecven egal cu 1/12 din
frecven a oscilatorului. La sfritul transmisiei celor 8 bi i de date se
seteaz bitul de ntrerupere TI (bitul 1 din SCON), care apoi trebuie ters
prin program. Recep ia este validat atunci cnd bitul REN (bitul 4 din
SCON) este 1 (el este setat i resetat prin program) i bitul de ntrerupere
pentru recep ie RI (bitul 0 din SCON) este 0 (el este trecut n 1 la sfritul
recep ion rii celor 8 bi i de date i trebuie trecut n zero prin program).
Datele sunt emise ncepnd cu bitul cel mai pu in semnificativ.
Modul 1. Este atunci cnd SM0=0 i SM1=1. n acest mod
transmisia este asincron pe 10 bi i: un bit de start avnd valoarea 0, 8 bi i
de date (primul este cel mai pu in semnificativ) i un bit de stop avnd
134

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

valoarea 1. Datele sunt emise pe linia TxD i recep ionate pe linia RxD.
Recep ia este ini iat la detectarea unei tranzi ii din 1 n 0 a liniei RxD,
dac bitul REN=1. Octetul de date este nc rcat n SBUF, iar bitul de stop
este introdus n RB8 (adic bitul 2 din SCON) i pozi ioneaz n 1 bitul de
ntrerupere pentru recep ie RI (discutat la modul zero) dac acesta era 0, i
dac SM2=0 (bitul 5 din SCON, setat sau resetat prin program) sau bitul
de stop recep ionat este 1. Rata transmisiei este dat de semnalul de
dep ire (TF1) al temporizatorului 1. Transmisia este ini iat prin scrierea
unui octet de date n SBUF. n momentul transmisiei bitului de stop se
pozi ioneaz n 1 bitul de ntrerupere la transmisie SI. Recep ia este
ini iat n urma detec iei unei tranzi ii 1-0 pe linia RxD.
Modul 2. Este atunci cnd SM0=1 i SM1=0. n acest mod
tramsmisia este full duplex, asincron , cu 11 bi i transmii (pe linia TxD)
i recep iona i pe linia RxD), astfel: un bit de start egal cu 0, 8 bi i de date
(primul este cel mai pu in semnificativ), un al nou lea bit de date
programabil i un bit de stop egal cu 1. Cel de al nou lea bit de date n
cazul transmisiei reprezint con inutul lui TB8 (bitul 3 din SCON), iar n
cazul recep iei este introdus n RB8. Transmisia este ini iat prin scrierea
unui octet de date n SBUF. n timpul transmisiei bitului de stop este setat
TI. Recep ia este identic cu cea din modul 1, numai c n RB8 se
introduce al nou lea bit de date. nc rcarea datelor recep ionate n SBUF
i RB8 i setarea lui RI este validat numai dac RI=0 i, SM2=0 sau al
nou lea bit de date este 1. Altfel octetul de date recep ionat se pierde.
Rata de transmisie poate 1/32 din frecven a oscilatorului dac SMOD=1
(bitul 7 din registrul pentru func ii speciale PCON) sau 1/64 din frecven a
acestuia dac SMOD=0.
Modul 3. Este atunci cnd SM0=1 i SM0=1. El este identic cu
modul 2, cu singura deosebire c rata transmisiei de semnalul de dep ire
TF1 al timerului T1.
OBSERVA IE: n cazul modurilor 1 i 3 cnd este folosit
temporizatorul 1 pentru fixarea ratei de transmisie, ntreruperea acestuia trebuie
dezactivat . El poate fi folosit ca temporizator sau num r tor n oricare din
cele 3 moduri posibile de func ionare. De obicei este folosit ca temporizator n
modul 2 cu autonc rcare. n acest caz rata de transmisie se calculeaz cu
formula:
f OSC
2 SMOD

(5.1)
32
12 [256 (TH1)]

5.1.2.3 IEIRILE MODULATE N DURAT


SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

135

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

Microcontroller-ul 80C552 posed dou canale de ieire modulate n


durat . Aceste ieiri genereaz impulsuri ale c ror durate i factori de umplere
pot fi programate. Frecven a de repeti ie a impulsurilor este controlabil prin
intermediul registrului PWMP, avnd lungimea de 8 bi i. Expresia frecven ei
impulsurilor de ieire este dat de urm toarea ecua ie:
f OSC
(5.2)
f PWM =
2 (1 + PWMP ) 255
Registrul PWMP asigur semnalul de ceas pentru un num r tor, att
registrul PWMP, ct i num r torul fiind comune pentru ambele canale de
ieire. Num r torul func ioneaz modulo 255. Valoarea de 8 bi i a
num r torului este comparat cu dou registre, PWM0 i PWM1, asociate
fiecare cte unui canal de ieire. Dac con inutul acestor registre este mai mare
dect valoarea curent a num r torului, atunci semnalele de ieire sunt for ate la
nivel cobort. n schimb, dac con inutul acestor registre este mai mic, sau cel
pu in egal, cu valoarea curent a num r torului, atunci semnalele de ieire sunt
for ate la nivel ridicat - HIGH. Ca urmare, duratele impulsurilor de ieire sunt
determinate de con inutul registrelor PWM0 i PWM1, denumite i registre de
prescalare.
Prin integrarea semnalelor de la ieirile modulate n durat se poate ob ine
un convertor digital-analog dual.
n fig. 5.3 este prezentat diagrama func ional a celor dou canale de
ieire modulate n durat .
PWM0

Internal BUS

8-Bit Comparator

fOSC

PWMP

8-Bit Counter

1:2

8-Bit Comparator

Output Buffer

Output Buffer

PWM0

PWM1

PWM1

Fig. 5.3 Structura ieirilor modulate n durat .

nc rcarea registrelor de prescalare cu valorile 00H sau FFH determin ca


ieirile canalelor s r mn constante la nivel ridicat sau cobort.
Reprogramarea registrelor de prescalare determin modificarea imediat a
136

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

ieirilor modulate, nefiind nevoie s se atepte pn la terminarea perioadei


curente.
Factorul de umplere al impulsurilor de la ieire rezult ca fiind:
PWM
=
(5.3)
255 PWM

5.1.2.4 SEC IUNEA ANALOGIC A


MICROCONTROLLERULUI
Sec iunea analogic este reprezentat de un multiplexor analogic i de un
convertor analog-digital cu aproxima ii succesive, cu rezolu ia de 10 bi i, ce
furnizeaz rezultatul n cod binar direct (fig. 5.4).
Tensiunea de referin a convertorului analog-digital se aplic structurii
prin intermediul unui pin dedicat acestei manipul ri.
Un ciclu de conversie dureaz 50 de cicli main , ceea ce nseamn
aproximativ 50 s pentru frecven a ceasului de 11,0592 MHz. Codul binar de
ieire nu prezint discontinuit i n func ia de transfer a convertorului analogdigital.
Att intr rile multiplexorului analogic, ct i intrarea convertorului
analog-digital accept tensiuni de intrare n gama (0 +5)V.
Conversia analog-digital este efectuat prin metoda aproxima iilor
succesive; n fig. 5.5 sunt reprezentate elementele componente ale convertorului
analog-digital cu aproxima ii succesive. Structura con ine un convertor digitalanalogic (DAC) care convertete con inutul registrului de aproxima ii succesive
ntr-o tensiune VDAC. Aceast tensiune este comparat cu tensiunea de intrare,
Vin; ieirea comparatorului este furnizat circuitului de comand a registrului de
aproxima ii succesive, care controleaz func ionarea acestuia.
O conversie este ini iat prin setarea bitului ADCS (ADC Start) din
registrul ADCON (A/D Control). Acest bit poate fi modificat att prin software,
ct i prin hardware sau combinat.
Declanarea unei conversii analog-digitale exclusiv prin mijloace
software se poate face doar atunci cnd bitul ADCON.5 (ADEX) este setat la
0; nceperea unui ciclu de conversie se efectueaz prin setarea bitului de
control ADCS. La ini ierea prin software a unei conversii, aceasta este demarat
la nceputul ciclului main care urmeaz celui n care a fost setat bitul ADCS.
Declanarea unei conversii analog-digitale prin mijloace combinate
software-hardware se poate face doar atunci cnd bitul ADCON.5 = 1;
ini ierea unui ciclu de conversie poate fi efectuat fie la fel ca n cazul
precedent, prin setarea bitului de start (ADCS), fie prin aplicarea unui front
cresc tor pinului extern STADC. n aceast ultim situa ie, frontul aplicat
trebuie precedat de un nivel logic cobort, care s dureze minimum un ciclu
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

137

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

main , respectiv urmat de un nivel logic ridicat, cu durata de minimum un ciclu


main . Tranzi ia aplicat pinului STADC este recunoscut la sfritul ciclului
main curent, iar conversia este ini iat la nceputul urm torului ciclu main .
Urm toarele dou cicluri main sunt folosite pentru ini ializarea
convertorului analog-digital. La sfritul primului ciclu, se citete indicatorul de
stare ADCS; dac indicatorul este citit pe durata efectu rii unei conversii,
rezultatul citirii acestui indicator const n pozi ionarea acestuia n 1. La
sfritul celui de-al doilea ciclu main ncepe eantionarea semnalelor de
intrare.
STADC

AVSS

ADCS
ADCI
ADEX
D0
D1

D2
D3
D4
D5
D6
D7
D8
D9

ADR2

ADR1

ADCON

AVDD

10-Bit A/D Converter

MUX

ADR0

ADC0
ADC1
ADC2
ADC3
ADC4
ADC5
ADC6
ADC7

AVREF- AVREF+

ADCH

Internal Bus

Fig. 5.4 Sec iunea analogic a microcontroller-ului 80C552.

Pe durata urm toarelor 8 cicluri main este eantionat tensiunea de


intrare aplicat pinului, anterior selectat, al portului P5. Aceast tensiune trebuie
s r mn stabil pe aceast durat pentru a se ob ine un rezultat corect. Se
admite o vitez de varia ie a tensiunii eantionate de cel mult 10V/ms.
n continuare, se efectueaz conversia analog-digital propriu-zis .
Aceasta se desf oar prin setarea bitului cel mai semnificativ la 1, de c tre
circuitul de control al registrului de aproxima ii succesive; ieirea registrului
SAR este convertit ntr-o tensiune propor ional i comparat cu tensiunea de
intrare. Dac aceasta este mai mare, bitul MSB r mne setat la 1; n caz
contrar, acest bit este resetat. Procesul continu n ordine invers a importan ei
bi ilor, pn cnd to i cei zece bi i au fost testa i. n acest moment, rezultatul
conversiei este con inut n registru de aproxima ii succesive.
Sfritul conversiei analog-digitale pe 10 bi i este semnalizat prin setarea
138

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

bitului ADCI (ADCON.4) n cadrul registrului de comenzi i stare. Cei mai


semnificativi 8 bi i ai rezultatului sunt memora i n registrul ADCH. Cei mai
pu in semnificativi doi bi i sunt memora i n bi ii ADCON.7 i ADCON.6 ai
registrului de comenzi i stare. Utilizatorul poate ignora cei mai pu in
semnificativi doi bi i ai rezultatului i poate utiliza doar cei mai semnificativi 8
bi i, memora i n registrul ADCH.
Fig. 5.6 ilustreaz desf urarea procesului de conversie analog-digital cu
aproxima ii succesive.
n orice situa ie, durata unei conversii este de 50 cicli main . Bitul de
sfrit de conversie, ADCI, este setat, iar bitul de start conversie, ADCS, este
resetat dup 50 de cicli main de la pozi ionarea pe nivel ridicat al acestuia din
urm .
Bi ii de control ADCON.0, ADCON.1 i ADCON.2 sunt utiliza i pentru
comanda intr rilor de selec ie ale multiplexorului analogic, de tip 8:1.
O rutin de conversie aflat n desf urare nu este afectat de o comand
de start, indiferent de natura sa (hardware sau software).
Rezultatul ob inut la ncheierea unui proces de conversie r mne
neafectat, cu bitul ADCI pozi ionat pe 1, chiar dac se comand intrarea n
modul inactiv (idle).
La intrarea n modul de lucru idle sau power-down al
microcontroller-ului, o conversie analog-digital aflat n plin proces de
desf urare este ntrerupt . Rezultatele par iale ob inute pn acum sunt
iremediabil pierdute, nefiind transferate n registrele rezultat i/sau n registrul
de comenzi i stare.
Convertorul analog-digital dispune de pini proprii de alimentare (AVDD i
AVSS) i de doi pini pentru tensiunea de referin extern (Vref+ i Vref-).
Rezultatul conversiei poate fi calculat prin utilizarea urm toarei caracteristici de
transfer:
V VREF
V VREF
N = 210 IN
(5.4)
= 1024 IN
VREF+ VREF
VREF+ VREF
Prin utilizarea numai a celor mai semnificativi 8 bi i ai rezultatului,
con inu i n registrul ADCH, caracteristica de transfer devine:
V VREF
V VREF
N = 28 IN
(5.5)
= 256 IN
VREF+ VREF
VREF+ VREF
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

139

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

V IN

+
Comp
_

V DAC

DAC

Succesive
Approximation
Register

Succesive
Approximation
Control Logic

START

STOP

V DAC

1
VIN

15
16

7
8

3
4

59
64

29
32

1
2

t/

Fig. 5.5 Convertorul analog-digital.

140

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Start of Conversion

SOC

Reset SAR

[Bit Pointer] = MSB

[Bit]n = 1

Conversion Time

Test
Complete

[Bit]n = 0

[Bit Pointer] +1

END

Test Bit
Pointer

END

End of Conversion

EOC

Fig. 5.6 Organigrama de desf urare a unei conversii.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

141

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

5.1.2.5 M SURAREA INTERVALELOR DE TIMP PRIN


UTILIZAREA REGISTRELOR DE CAPTARE A
EVENIMENTELOR
Atunci cnd un eveniment extern recursiv este reprezentat sub forma unui
front cresc tor sau descresc tor care este aplicat unuia dintre cei patru pini de
captare a evenimentelor, intervalul de timp dintre dou evenimente poate fi
m surat folosind temporizatorul T2 i unul dintre cele patru registre de captare a
evenimentelor, CT0, CT1, CT2 sau CT3. La apari ia unui eveniment, con inutul
timer-ului T2 este transferat n registrul de captare a evenimentelor selectat i
este generat un semnal de ntrerupere specific acestui registru, CT0I, CT1I,
CT2I sau CT3I. Indicatorii de stare anterior men iona i reprezint patru dintre
cei 8 bi i ai registrului de func ii speciale, denumit TM2IR.
CT0I

INT

CT1I

CT0I

INT

CT1I

CT0

CT2I

INT

CT3I

CT2I

CT1

CT2

Prescaler

Timer T2

INT

CT3I

CT3

off
fOSC

8-bit overflow interrupt


1:12

16-bit overflow interrupt

T2
RT2
T2ER
External reset enable
Comparator

CM0 (Set)

INT

Comparator

CM1 (Reset)

INT

Comparator

INT

CM2 (Toggle)

Fig. 5.7 Sec iunea de captare a evenimentelor i comparare a


microcontrollerului 80C552.

Aceast rutin de ntrerupere poate fi folosit pentru calcularea


intervalului de timp corespunz tor, dac se cunoate valoarea anterioar a timerului T2. Pentru o frecven a ceasului de 12 MHz programarea timer-ului poate
fi f cut astfel nct acesta s furnizeze indica ii de dep ire la fiecare 524 ms.
142

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Dac intervalul de timp dintre dou evenimente succesive este mai scurt de 524
ms, atunci calculul intervalului de timp este foarte simpu, rutina de ntrerupere
fiind mult mai scurt . Pentru intervale de timp mai mari de 524ms, trebuie
utilizat o extensie a timer-ului T2.
Timer-ul T2 este conectat la patru registre de 16 bi i, men ionate anterior
i, de asemenea la trei registre de comparare, cu lungimea de 16 bi i (fig. 2.7).
Registrele de comparare pot fi folosite pentru a seta, reseta sau comuta pinii de
ieire ai portului P4 la anumite intervale preprogramate de timp.

5.2 PREZENTAREA SETULUI DE INSTRUC IUNI AL


MICROCONTROLLER-ULUI 80C51
1
ACALL
Func ia:
Descriere:

Exemplu:

Octe i:
Ciclii main :
Codare:
Opera ii:

addr11
Absolute Call
Apeleaz necondi ionat o subrutin localizat la adresa
indicat . Instruc iunea incrementeaz contorul programului
de dou ori, pentru a ob ine adresa urm toarei instruc iuni,
apoi ncarc n stiv rezultatul pe 16 bi i (primul octet este cel
mai pu in semnificativ) i incrementeaz pointerul stivei de
dou ori. Adresa destina ie e ob inut prin concatenarea
succesiv a celor 5 bi i mai semnificativi ai contorului
programului, dup incrementare, bi ii 75 ai codului opera iei
i octetul al doilea al instruc iunii. Subrutina apelat trebuie
s nceap n acelai bloc (de dimensiune 2 kocte i) al
memoriei de program ca i primul octet al instruc iunii care
urmeaz instruc iunii ACALL. Nu se afecteaz indicatorii de
condi ie.
Ini ial registrul pointer de stiv , SP, con inea valoarea 07H.
Eticheta SUBRTN e localizat n memorie la adresa 0345H.
Dup execu ia instruc iunii:
ACALL
SUBRTN
la loca ia 0123H, SP va con ine valoarea 09H, loca iile
interne RAM 08H i 09H vor con ine 25H i, respectiv 01H,
iar PC va contine 0345H.
2
2
a10 a9 a8 1
0001
a7 a6 a5 a4
a3 a2 a1 a0
ACALL
(PC) (PC)+2
(SP) (SP)+1
(SP) (PC70)

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

143

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

(SP) (SP)+1
(SP) (PC158)
(PC100) adresa blocului

2
ADD
Func ia:
Descriere:

Exemplu:

3
ADDC
Func ia:
Descriere:

144

A, <scr-byte>
Adunare
Instruc iunea ADD adun acumulatorul cu octetul indicat,
l snd rezultatul n acumulator. Indicatorii de transport i de
transport auxiliar sunt seta i, respectiv dac exist un
transport de la bitul 7 sau de la bitul 3, i sunt reseta i dac nu
exist transport. Cnd se adun ntregi f r semn, indicatorul
de transport indic dep ire. Indicatorul de dep ire, OV, este
setat dac este un transport la bitul 6, dar nu mai departe de
bitul 7, sau un transport de la bitul 7, dar nu provenit de la
bitul 6. n celelalte situa ii, OV este resetat. Cnd se adun
ntregi cu semn, indicatorul OV semnalizeaz un num r
negativ ca sum a doi operanzi pozitivi, sau o sum pozitiv
ca rezultat a adun rii a doi operanzi negativi. Sunt permise 4
moduri de adresare a operandului surs : adresare prin
registru, adresare direct , adresare indirect prin registru sau
adresare imediat .
Acumulatorul con ine valoarea 0C3H (11000011B) iar
registrul 0 con ine 0AAH (10101010B). Instruc iunea:
ADD A, R0
va determina ca valoarea con inut de acumulator s fie 6DH
(01101101B), cu indicatorul AC resetat i att indicatorul de
transport, ct i OV, setate la 1.
A, <scr-byte>
Adunare cu indicatorul de transport
Instruc iunea ADDC adun acumulatorul cu octetul indicat i
cu indicatorul de transport, l snd rezultatul n acumulator.
Indicatorii de transport i de transport auxiliar sunt seta i,
respectiv dac exist un transport de la bitul 7 sau de la bitul
3, i sunt reseta i dac nu exist transport. Cnd se adun
ntregi f r semn, indicatorul de transport indic dep ire.
indicatorul de dep ire, OV, este setat dac este un transport
la bitul 6, dar nu mai departe de bitul 7, sau un transport de la
bitul 7, dar nu provenit de la bitul 6. n celelalte situa ii, OV
este resetat. Cnd se adun ntregi cu semn, indicatorul OV
semnalizeaz un num r negativ ca sum a doi operanzi
pozitivi, sau o sum pozitiv ca rezultat a adun rii a doi

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Exemplu:

4
AJMP
Func ia:
Descrierea:

Exemplu:

5
ANL
Func ia:
Descriere:

Exemplu:

operanzi negativi. Sunt permise 4 moduri de adresare a


operandului surs : adresare prin registru, adresare direct ,
adresare indirect prin registru sau adresare imediat .
Acumulatorul con ine 0C3H (11000011B) i registrul 0
con ine 0AAH (10101010B) cu setarea indicatorului de
transport. Instruc iunea:
ADDC A, R0
va determina ca acumulatorul s con in valoarea 6EH
(01101110B), cu indicatorul AC resetat, iar indicatorul de
transport i OV setate la 1.
addr11
Absolute Jump
AJMP transfer execu ia programului la adresa indicat , care
este format la momentul rul rii prin concatenarea celor 5 bi i
mai semnificativi ai contorului programului, PC, (dup
incrementarea de dou ori a acestuia), bi ii 75 de cod ai
opera iei i al doilea octet al instruc iunii. Destina ia trebuie
s fie n acelai bloc de 2 kocte i din memoria de program ca
primul octet al instruc iunii urm toare instruc iunii AJMP.
Eticheta JMPADR e situat la loca ia de memorie 0123H.
Instruc iunea
AJMP
JMPADR
este situat la loca ia 0345H i va ncarca contorul
programului, PC, cu 0123H.
<dest-byte>, <scr-byte>
I LOGIC ntre variabile de tip octet
ANL efectueaz opera ia de I LOGIC ntre variabilele de tip
octet indicate i ncarc rezultatul n variabila destina ie. Nu
afecteaz nici un indicator de condi ie. Cei doi operanzi
permit 6 combin ri de moduri de adresare. Cnd destina ia
este acumulatorul, sursa poate fi adresat prin registru, direct,
indirect prin registru sau imediat; cnd destina ia este o
adres direct , sursa poate fi acumulatorul sau o dat
imediat .
Not : Cnd aceast instruc iune este utilizat pentru a
modifica un port de ieire, valoarea utilizat ca dat ini ial
va fi citit de la ieire, nu de la pinii de intrare.
Dac acumulatorul con ine valoarea 0C3H (11000011B) i
registrul 0 con ine valoarea 55H (01010101B) atunci
instruc iunea

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

145

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

ANL A, R0
va determina ca acumulatorul s con in valoarea 41H. Cnd
destina ia este un octet direct adresabil, aceast instruc iune
va reseta combina iile de bi i din orice loca ie RAM sau
registru hardware. Octetul mascat care determin resetarea
bi ilor va fi o constant con inut n instruc iune sau o
valoare creat n acumulator la rulare. Instruc iunea
ANL P1, #0111001B
va reseta bi ii 7, 3 i 2 ai portului de ieire 1.
6
ANL
Func ia:
Descriere:

Exemplu:

7
CJNE
Func ia:
Descriere:

146

C, <scr-bit>
I LOGIC ntre variabile de tip bit
Dac valoarea boolean a bitului surs este un 0 logic, atunci
reseteaz indicatorul de transport; altfel acest indicator
r mne n starea curent . Simbolul ('/') precedind operandul,
n limbaj de asamblare, indic faptul c complementul logic
al bitului adresat e utilizat ca valoare surs , f r ns ca bitul
surs s fie afectat. Pentru operandul surs este permis
numai adresarea direct .
Seteaz indicatorul de transport dac i numai dac P1.0=1,
ACC.7=1 i OV=0:
MOV C, P1.0
; incarc carry cu bitul 0 al portului
1
ANL C, ACC.7 ; SI cu bitul 7 al acumulatorului
ANL C, /OV
; SI cu negatul indicatorului
dep ire.
<dest-byte>, <scr-byte>,rel
Compara ie i salt dac nu este egalitate
Instruc iunea CJNE compar cei doi operanzi i determin un
salt n execu ia programului dac valorile lor nu sunt egale.
Destinatia saltului este compus prin adunarea deplasarii
relative cu semn, n ultimul octet al instruc iunii, cu
con inutul contorului programului, PC, dup incrementarea
acestuia la adresa de start a urm toarei instruc iuni.
Indicatorul de transport e setat dac valoarea ntregului f r
semn a octetului destina ie e mai mic dect valoarea
ntregului f r semn a <scr-byte>; altfel, indicatorul de
transport e resetat. instruc iunea nu afecteaz nici un operand.
Cei doi operanzi permit 4 combina ii de moduri de adresare:
acumulatorul poate fi comparat cu orice octet direct sau
imediat adresabil, cu orice loca ie indirect de RAM sau

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Exemplu:

8
CLR
Func ia:
Descriere:
Exemplu:

9
CLR
Func ia:
Descriere:

Exemplu:

10
CPL
Func ia:

registrii de lucru pot fi compara i cu o constant imediat .


Acumulatorul con ine valoarea 34H. Registrul 7 con ine
valoarea 56H. Prima instruc iune din secven a:
CJNE R7, #60H, NOT_EQ
R7=60H
NOT_EQ: JC REQ_LOW
seteaz indicatorul de transport i sare la instruc iunea cu
eticheta NOT_EQ. Prin testarea indicatorului de transport,
aceast instruc iune determin dac con inutul registrului R7
e mai mare sau mai mic dect 60H.
Dac data care a fost prezent la portul 1 este 34 H, atunci
instruc iunea
WAIT:
CJNE A, P1, WAIT
reseteaz indicatorul de transport i continu cu urm toarea
instruc iune din secven , pn cnd acumulatorul se egaleaz
cu data citit din portul P1. Dac n portul P1 au fost
introduse alte valori, programul va bucla n acest punct pn
cnd data din portul P1 va deveni 34H.
A
Reseteaz (ini ializeaz ) acumulatorul
Acumulatorul este resetat (toti bi ii sunt 0). Nu este afectat
nici un indicator de condi ie.
Acumulatorul con ine valoarea 5CH (01011100B).
Instruc iunea:
CLR A
va determina con inutul acumulatorului s fie 00H
(00000000B).
bit
Reseteaz bitul
Bitul specificat este resetat (pozi ionat la 0). Nici un alt
indicator de condi ie nu este afectat. Instruc iunea CLR bit
poate opera asupra indicatorului de transport sau asupra
oric rui bit direct adresabil.
Portul 1 a fost nscris cu valoarea 5DH (01011101B).
Instruc iunea
CLR P1,2
va l sa portul P1 setat la valoarea 59H (01011001B).
A
Complementarea acumulatorului

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

147

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

Descriere:

Exemplu:
Instruc iunea:

Fiecare bit al acumulatorului este complementat logic


(complement fa de 1). Bi ii care anterior erau 1 devin 0, i
invers. Nici un indicator de condi ii nu este afectat.
Acumulatorul con ine valoarea 5CH (01011100B).
CPL A
va determina ca acumulatorul s
(10100011B).

11
CPL
Func ia:
Descriere:

Exemplu:

12
DA
Functia:
Descriere:

148

con in

valoarea 0A3H

bit
Complementeaz o variabil de tip bit
Instruc iunea efectueaz complementul variabilei de tip bit
specificate. Un bit care era 1 devine 0, i invers. Nu sunt
afecta i indicatorii de con-di ii.CLR poate opera asupra
bitului de transport sau asupra oric rui alt bit direct adresabil.
Not : Cnd instruc iunea este utilizat pentru a modifica un
bit de ieire, valoarea utilizat ca dat original va fi citit ca
dat de ieire i nu de la intrare.
Portul 1 a fost nscris anterior cu valoarea 5DH
(01011101B).Secven a de instruc iuni:
CPL P1,1
CPL P1,2
va determina ca portul s fie setat la valoarea 5BH
(01011011B).
A
Ajustarea zecimal a acumulatorului
Instruc iunea DA A ajusteaz valoarea pe 8 bi i din
acumulator, ca rezultat al ultimei instruc iuni de adunare a
dou variabile (reprezentate n format BCD-mpachetat),
producnd dou cifre de cte 4 bi i. Pentru a se efectua
instruc iunea de adunare au fost folosite instruc iunile ADD
sau ADDC. Dac bi ii 30 ai acumulatorului reprezint un
num r mai mare dect 9 (xxx1010xxx1111), sau dac
indicatorul AC este setat, se adun valoarea 6 la acumulator,
producnd astfel un digit optimal n format BCD. Aceast
adunare intern va seta indicatorul de transport daca s-a
propagat o dep ire de la cei mai pu in semnificativi 4 bi i
spre bi ii mai semnificativi, dar altfel nu va reseta indicatorul
de transport. Dac indicatorul de transport e setat n urma
acestei opera ii, sau dac cei 4 bi i mai semnificativi
reprezint un num r mai mare dect 9 (1010xxx1111xxxx),

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Exemplu:

13
DEC
Func ia:
Descriere:

aceti bi i sunt incrementa i cu 6, producnd digitul optimal


n format BCD. Indicatorul de transport va indica dac suma
celor dou variabile BCD originale este mai mare dect 100,
permi nd sumarea zecimal n precizie multipl . Indicatorul
OV este afectat. Execu ia acestei instruc iuni dureaz un
singur ciclu. Elemetul de noutate este acela c aceast
instruc iune permite conversia zecimal ad ugnd 00H, 06H,
60H sau 66H la con inutul acumulatorului.
Not : Instruc iunea DA A nu poate converti, pur i simplu,
un num r hexazecimal, con inut n acumulator, n format
BCD.
Acumulatorul are valoarea 56H (01010110B) reprezentnd
digi ii n format BCD mpachetat ai num rului zecimal 56.
Registrul R3 con ine valoarea 67H (01100111B), reprezentnd digi ii n format BCD mpachetat ai numarului 67.
Indicatorul de transport este setat. Secventa de instruc iuni:
ADDC
A,R3
DA A
va face o adunare n complement binar fa de doi, avnd ca
rezultat valoarea 24H (00100100B) indicnd n format BCD
mpachetat num rul zecimal 24, cele mai mici dou cifre ale
sumei zecimale ntre 56, 67 i transportul intern. Indicatorul
de transport va fi setat, indicnd c a ap rut o depaire
zecimal . Suma real ntre 56, 67 i 1 este 124. Variabilele
BCD pot fi incrementate sau decrementate prin ad ugarea lui
01H sau 99H. Dac ini ial acumulatorul con ine valoarea
30H, secven a:
ADD A, #99H
DA A
va determina ca acumulatorul s con in valoarea 99H
(30+99=129). Octetul mai pu in semnificativ al sumei poate
fi interpretat ca fiind: 30-1=29.
byte
Decrementare variabil de tip octet
Variabila de tip octet indicat este decrementat cu 1. O
valoare initial de 00H va determina ca rezultatul s fie
0FFH. Nu afecteaz nici un indicator. Sunt permise 4 moduri
de adresare: acumulator, adresare prin registru, adresare
direct , adresare indirect prin registru.
Not : Cnd instruc iunea este utilizat ca s modifice un port
de ieire, valoarea utilizat ca dat original va fi citit de la

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

149

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

Exemplu:

14
DIV
Func ia:
Descrierea:

Exemplu:

15
DJNZ
Func ia:
Descriere:

150

ieire, i nu de la intrare.
Registrul R0 con ine valoarea 7FH (01111111B). Loca iile
interne RAM 7EH i 7FH con in valorile 00H i 40H.
Instruc iunile:
DEC @R0
DEC R0
DEC @R0
vor l sa registrul R0 setat la valoarea 7EH i loca iile interne
RAM 7EH i 7FH con innd 0FFH i 3FH.
AB
mp r ire
Instruc iunea DIV AB mparte ntregiul f r semn, pe 8 bi i,
din acumulator la ntregul, pe 8 bi i, f r semn din registrul
B. Dup execu ia instruc iunii, acumulatorul va con ine ctul
mp r irii, iar registrul B restul. Indicatorul de transport i OV
vor fi resetate.
Excep ie: Dac registrul B con inea ini ial valoarea 00H,
valoarea returnat n acumulator i registrul B vor fi
subdefinite i va fi setat indicatorul de dep ire. Indicatorul
de transport va fi resetat n orice caz.
Acumulatorul con ine valoarea zecimal 251 (0FBH sau
11111011B) i registrul B con ine valoarea 18 (12H sau
00010010B). Instructiunea:
DIV AB
va determina ca acumulatorul s con in valoarea 13 (0DH
sau 00001101B) i valoarea 17 (11H sau 00010001B) in B.
Att indicatorul de transport, ct i indicatorul OV vor fi
ambii reseta i.
<byte>, <rel-addr>
Decrementare i salt dac rezultatul nu este zero
Instruc iunea DJNZ decrementeaz octetul indicat i
determin un salt la adresa indicat de al doilea operand dac
valoarea rezultat nu e zero. O valoare ini ial 00H va deveni
0FFH. Nu afecteaz indicatorii de condi ii. Destina ia saltului
va fi ob inut prin ad ugarea valorii deplas rii relative cu
semn, n ultimul octet al instruc iunii, la con inutul PC, dup
incrementarea acestuia la adresa primul octet al instruc iunii
urm toare. Operandul decrementat poate fi un registru sau
direct octetul adresat.
Not : Atunci cnd aceast instruc iune este utilizat ca s

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Exemplu:

16
INC
Func ia:
Descriere:

Exemplu:

modifice un port de ieire, valoarea utilizat ca dat ini ial


va fi citit de la ieire, nu de la pinii de intrare.
Loca iile interne RAM 40H, 50H, 60H con in respectiv
valorile 01H, 70H, 15H. Secven a de instruc iuni:
DJNZ 40H, LABEL_1
DJNZ 50H, LABEL_2
DJNZ 60H, LABEL_3
va cauza un salt la instruc iunea cu eticheta LABEL_2 cu
valorile 00H, 6FH i 15H n cele 3 loca ii RAM. Primul salt
n-a fost f cut, pentru c rezultatul era 0.
Aceast instruc iune asigur o metod simpl de a executa o
bucl de program de un num r de ori, sau ad ugarea printr-o
singur instruc iune a unei ntrzieiri (ntre 2 i 512 cicli
main ). Instructiunea:
MOV R2, #8
TOGGLE: CPL P1.7
DJNZ R2, TOGGLE
va schimba bitul P1.7 de 8 ori, determinnd apari ia a 4
impulsuri de ieire la bitul 7 al portului de iesire P1. Fiecare
puls inseamn trei cicluri main , doi pentru execu ia
instruc iunii DJNZ i unul pentru modificarea bitului.
<byte>
Incrementare octet
Instruc iunea INC incrementeaz cu 1 variabila octet
indicat .O valoare ini ial de 0FFH va deveni n urma
increment rii 00H.Nu se afecteaz nici un indicatorde
condi ii. Sunt permise trei moduri de adresare: adresare prin
registru, adresare direct , adresare indirect prin registru.
Not : Atunci cnd aceast instruc iune este utilizat ca s
modifice un port de ieire, valoarea utilizat ca dat ini ial
va fi citit de la ieire i nu de la intrare.
Registrul R0 con ine valoarea 7EH (01111110B). Loca iile
interne RAM cu adresele 7EH i 7FH con in valorile 0FFH i
respectiv 40H. Secven a de instruc iuni:
INC @R0
INC R0
INC @R0
va l sa registrul R0 setat la 7FH i loca iile interne RAM cu
adresele 7EH i 7FH con innd valorile 00H i 41H.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

151

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

17
INC
Func ia:
Descriere:

Exemplu:

18
JB
Func ia:
Descriere:

Exemplu:

19
JBC
Func ia:
Descriere:

152

DPTR
Incrementarea pointer-ului de date
Instruc iunea incrementeaz cu 1 pointerul de date (16 bi i).
Este utilizat o incrementare pe 16 bi i. O dep ire la octetul
mai pu in semnificativ al pointerului (DPL), de la valoarea
0FFH la 00H, va incrementa octetul mai semnificativ (DPH).
Nu sunt afecta i indicatorii de condi ii. Singurul registru care
poate fi manipulat de aceast instruc iune este pointerul de
date, DPTR.
Registrele DPH i DPL con in valorile 12H i respectiv
0FEH. Setul de instruc iuni:
INC DPTR
INC DPTR
INC DPTR
va schimba con inutul registrelor DPH i DPL la valorile 13H
i respectiv 01H.
bit, rel
Salt dac bitul e setat la 1
Dac bitul indicat e un 1 se efectueaz un salt n program la
adresa indicat , altfel se trece la executarea instruc iunii
urm toare. Destina ia saltului este ob inut prin adunarea
deplas rii relative cu semn, n al treilea octet al instruc iunii,
la con inutul contorului de progam, PC, dup incrementarea
PC la valoarea primului octet al instruc iunii urm toare. Bitul
de test nu este modificat i nu se afecteaz nici un indicator.
Data de la portul de intrare P1 e 11001010B. Acumulatorul
con ine valoarea 56. Secven a de instruc iuni:
JB P1.2, LABEL1
JB ACC.2, LABEL2
va cauza un salt al execu iei programului la eticheta
LABEL2.
bit, rel
Salt dac bitul e setat la 1 i terge bitul
Dac bitul indicat este 1, se efectueaz un salt la adresa
indicat . Altfel, se trece la executarea instruc iunii urm toare.
Bitul nu va fi resetat dac este deja 0. Destina ia saltului este
ob inut prin adunarea deplas rii relative cu semn, n al
treilea octet al instruc iunii, la con inutul contorului de
progam, PC, dup incrementarea PC la valoarea primului
octet al instruc iunii urm toare. Nici un indicator de condi ii

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Exemplu:

20
JC
Func ia:
Descriere:

Exemplu:

21
JMP
Func ia:
Descriere:

Exemplu:

nu este afectat.
Not : Cnd instruc iunea este utilizat ca sa testeze un pin de
ieire, valoarea utilizat ca dat ini ial va fi citit de la ieire,
i nu de la intrare.
Acumulatorul con ine valoarea 56H (01010110B). Setul de
instruc iuni:
JBC ACC.3, LABEL 1
JBC ACC.2, LABEL 2
va face ca execu ia programului s continue de la
instruc iunea identificat
prin eticheta LABEL2, cu
acumulatorul modificat la valoarea 52H (01010010B).
rel
Salt dac este setat indicatorul de transport
Dac indicatorul de transport e setat, se efectueaz un salt n
program, la adresa indicat . Altfel, se trece la executarea
instruc iunii urm toare. Destina ia saltului este ob inut prin
adunarea deplas rii relative cu semn, n al doilea octet al
instruc iunii, la con inutul contorului de progam, PC, dup
incrementarea PC de dou ori. Nu sunt afecta i indicatorii de
condi ie.
Indicatorul de transport este resetat .Secven a de instruc iuni:
JC LABEL1
CPL C
JC LABEL2
va seta indicatorul de transport i va face ca execu ia
programului s continue cu instruc iunea de la eticheta
LABEL2.
@A+DPTR
Salt indirect
Instruc iunea adun con inutul pe 8 bi i, f r semn, al
acumulatorului cu pointerul de date pe 16 bi i i ncarc suma
rezultat in contorul programului, PC. Con inutul acestuia va
reprezenta adresa instruc iunii urm toare. Adunarea pe 16 bi i
se face astfel: transportul de la cei 8 bi i mai pu in
semnificativi se propag spre bi ii mai semnificativi. Nu se
afecteaz
indicatorii i nu se schimb
con inutul
acumulatorului i nici al pointerului de date.
n acumulator se afl un num r oarecare, de la 0 la
6.Urm toarea secven de instruc iuni va efectua un salt la
una din cele 4 instruc iuni AJMP ncepnd de la JMP_TBL.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

153

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

MOV DPTR, #JMP_TBL


JMP @A+DPTR
AJMP
LABEL0
JMP_TBL: AJMP
LABEL1
AJMP
LABEL2
AJMP
LABEL3
Dac acumulatorul con ine 04H cnd ncepe aceast
secven , execu ia va s ri la eticheta LABEL2. Amintim c
AJMP e o instruc iune pe doi octe i, deci instruc iunea de salt
va incepe la orice alt adres .
22
JNB
Func ia:
Descriere:

Exemplu:

23
JNC
Func ia:
Descriere:

Exemplu:

154

bit, rel
Salt dac bitul nu e setat la 1
Dac bitul indicat este 0, se efectueaz un salt la adresa
indicat . Altfel, se trece la executarea instruc iunii urm toare.
Destina ia saltului este ob inut prin adunarea deplas rii
relative cu semn, n al treilea octet al instruc iunii, la
con inutul contorului de progam, PC, dup incremen-tarea PC
la valoarea primului octet al instruc iunii urm toare. Bitul
testat nu este modificat. Nu este afectat nici un indicator de
condi ii.
Data prezent la portul P1 de intrare este 11001010B.
Acumulatorul con ine valoarea 56H (01010110B). Secven a
de instruc iuni:
JNB P1.3, LABEL1
JNB ACC.3, LABEL2
va face ca execu ia programului s continue de la
instruc iunea cu eticheta LABEL2.
rel
Salt dac indicatorul de transport nu este setat
Dac indicatorul de transport este 0, se sare instruc iunea de
la adresa indicat . Altfel, se trece la executatea instruc iunii
urm toare. Destina ia saltului este ob inut prin adunarea
deplas rii relative cu semn, n al doilea octet al instruc iunii,
la con inutul contorului de progam, PC, dup incrementarea
PC de dou ori, pentru a se ajunge la adresa primului octet al
instruc iunii urm toare. Indicatorul de transport nu e
modificat.
Indicatorul de transport este setat. Secven a de instruc iuni:
JNC LABEL1
CPL C

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

JNC LABEL2
va reseta indicatorul de transport i va face ca execu ia
programului s continue de la instruc iunea specificat de
eticheta LABEL2.
24
JNZ
Func ia:
Descriere:

Exemplu:

25
JZ
Func ia:
Descriere:

Exemplu:

26
LCALL
Func ia:

rel
Salt dac con inutul acumulatorului nu este 0
Dac unul dintre bi ii acumulatorului este 1, se efectueaz un
salt la adresa indicat . Altfel, se continu cu executarea
instruc iunii urm -toare. Destina ia saltului este ob inut prin
adunarea deplas rii relative cu semn, n al doilea octet al
instruc iunii, la con inutul contorului de progam, PC, dup
incrementarea PC de dou ori .Acumulatorul nu se modific
i nici un indicator de condi ii nu este afectat.
Acumulatorul are valoarea 00H. Instruc iunile:
JNZ LABEL1
INC A
JNZ LABEL2
vor seta acumulatorul la valoarea 01H i vor determina
continuarea programului de la instruc iunea cu eticheta
LABEL2.
rel
Salt dac con inutul acumulatorului este zero
Dac to i bi ii din acumulator sunt zero, se execut un salt la
adresa indicat . Altfel, se continu cu execu ia instruc iunii
urm toare. Destina ia saltului este ob inut prin adunarea
deplas rii relative cu semn, n al doilea octet al instruc iunii,
la con inutul contorului de progam, PC, dup incrementarea
PC de dou ori. Acumulatorul nu se modific i nici un
indicator de condi ii nu este afectat.
Acumulatorul con ine ini ial valoarea 01H. Secven a de
instruc iuni:
JZ
LABEL1
DEC A
JZ
LABEL2
va determina ca acumulatorul s con in valoarea 00H i va
face ca execu ia programului s continue cu instruc iunea de
la LABEL2.
addr16
Long Call

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

155

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

Descriere:

Exemplu:

27
LJMP
Func ia:
Descriere:

Exemplu:

28
MOV
Func ia:
Descriere:

Exemplu:

156

Instruc iunea LCALL va apela o subrutin aflat la adresa


indicat . Instruc iunea incrementeaz cu trei contorul
programului pentru a genera adresa urm toarei instruc iuni,
i salveaz rezultatul (pe 16 biti) n stiv (mai nti octetul
mai pu in semnificativ). Se incrementeaz pointerul stivei cu
2. Octe ii, mai pu in semnificativ i mai semnificativ, ai
contorului programului, PC, sunt nc rca i cu al doilea i al
treilea octet al instruc iunii LCALL. Execu ia programului va
continua cu instruc iunea de la aceast adres . Subrutina
poate ncepe oriunde n cei 64 kocte i ai spatiului de memorie
de program. Nu sunt afecta i indicatorii de condi ie.
Ini ial, pointerul stivei are valoarea 07H. Eticheta SUBRTN
este asociat loca iei de memorie de program cu adresa
1234H. Dup execu ia instruc iunii:
LCALL
SUBRTN
la loca ia de memorie cu adresa 0123H, pointerul stivei va
con ine 09H, loca iile interne RAM cu adresele 08H i 09H
vor con ine 26H i 01H, iar PC va con ine 1235H.
addr16
Long Jump
Instruc iunea LJMP produce un salt necondi ionat la adresa
indicat , prin nc rcarea octe ilor mai pu in semnificativ i
mai semnificativ ai contorului programului, PC, cu al doilea
i al treilea octet al instruc iunii. Destina ia poate fi oriunde n
spa iul de adresare al memoriei program de 64 kocte i. Nu se
afecteaz indicatorii de condi ii.
Eticheta JMPADR e asociat instruc iunii localizate la adresa
1234H n memoria de program. Instruc iunea:
LJMP JMPADR
va nc rca contorul programului cu valoarea 1234H.
<dest-byte>, <scr-byte>
Mut variabila surs , de tip octet, n variabila destina ie, de
tip octet
Variabila octet indicat prin al doilea operand este copiat n
loca ia specificat de primul operand. Octetul surs nu este
afectat. Nu se afecteaz nici un registru sau indicator de
condi ii. Este de departe cea mai flexibil opera iune. Permite
14 combina ii de moduri de adresare ale sursei i destina iei.
Loca ia intern RAM cu adresa 30H con ine valoarea 40H.
Loca ia intern RAM cu adresa 40H con ine valoarea 10H.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Data de la portul de intrare P1 este 11001010B (0CAH).


Instruc iunile:
MOV R0, #30H
MOV A, @R0
MOV R1, A
MOV B, @R1
MOV @R1, P1
MOV P2, P1
las valoarea 30H n registrul R0, 40H n acumulator i
registrul P1, 10H n registrul B i 0CAH (11001010B) n
loca ia RAM cu adresa 40H i n portul de ieire P2.
29
MOV
Func ia:
Descriere:

Exemplu:

30
MOV
Func ia:
Descriere:

Exemplu:

<dest-bit>, <scr-bit>
Mut data de tip bit de la surs la destina ie
Variabila boolean indicat prin al doilea operand este
copiat la loca ia specificat de primul operand. Unul dintre
operanzi trebuie s fie indicatorul de transport, cel lalt poate
fi orice bit adresabil direct. Nici un alt registru sau indicator
nu este afectat.
Indicatorul de transport este ini ial setat. Data prezent la
portul de intrare P3 este 11000101B. Data nscris anterior n
portul de ieire P1 este 35H (00110101B). Instruc iunile:
MOV P1.3, C
MOV C, P3.3
MOV P1.2, C
vor l sa indicatorul de transport resetat i portul P1 la
valoarea 39H (00111001B).
DPTR,#data16
ncarc pointerul de date cu o constant pe 16 bi i
Pointerul de date este nc rcat cu constanta pe 16 bi i
indicat . Aceasta se ncarc n al doilea i al treilea octet al
instruc iunii. Al doilea octet (DPH) este octetul mai
semnificativ, iar al treilea octet (DPL) con ine octetul mai
pu in semnificativ al constantei specificate. Nu se afecteaz
indicatorii. Este singura instruc iune de tranfer pe 16 bi i.
Instruc iunea:
MOV DPTR, #1234H
va nc rca valoarea 1234H n pointerul de date. DPH va
con ine 12H i DPL va con ine 34H.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

157

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

31
MOVC
Func ia:
Descriere:

Exemplu:

32
MOVX
Func ia:
Descriere:

158

A,@A+<base-reg>
Mut octetul de cod
Instruc iunea MOVC ncarc acumulatorul cu un octet de cod
sau o constant din memoria-program. Adresa octetului
reprezint suma con inutului, pe 8 bi i, f r semn, al
acumulatorului i con inutul, pe 16 bi i al registrului de baz ,
care poate fi pointerul de date sau contorul programului. In
ultimul caz, PC este incrementat la adresa urmatoarei
instruc iuni dinaintea sum rii cu acumulatorul. Altfel,
registrul baz nu e modificat. Adunarea pe 16 biti se face
astfel nct un transport de la cei 8 bi i mai pu in
semnificativi s poat fi propagat la ceilal i. Nu sunt afecta i
indicatorii de condi ii.
In acumulator se g sete o valoare cuprins ntre 0 i 3.
Urm toarele instruc iuni vor translata valoarea din
acumulator nspre una din cele 4 valori definite la directiva
DB (define byte):
REL_PC: INC
A
MOVC
A, @A+PC
RET
DB
66H
DB
77H
DB
88H
DB
99H
Dac subrutina este apelat cu acumulatorul avnd valoarea
01H, va returna 77 n acumulator. Instruc iunea INC A
plasat naintea instruc iunii MOVC a permis ocolirea
instruc iunii RET din secven . Dac c iva octe i de cod
separ nceputul de instruc iunea MOVC din secven ,
num rul corespunzator va fi ad ugat la acumulator.
<dest-byte>,<scr-byte>
Mutare extern
Instruc iunea MOVX transfer date ntre acumulator i un
octet al memoriei externe. Sunt dou tipuri de instruc iuni
diferite, dup cum se furnizeaz o adresare indirect la RAMul extern, pe 8 sau pe 16 bi i. In primul caz, con inutul
registrelor R0 i R1 furnizeaz o adres pe 8 bi i multiplexat
cu data din portul P0. 8 bi i sunt suficien i pentru decodarea
extensiei I/O externe pe o arie de RAM mic . Pentru o arie
mai mare, pinii porturilor pot fi utilizati pentru ieirea bi ilor
mai semnificativi de adres . Aceti bi i vor fi controla i de o

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Exemplu:

33
MUL
Func ia:
Descriere:

Exemplu:

instruc iune de ieire care va urma instruc iunii MOVX. In al


doilea caz, pointerul de date genereaz o adres pe 16 bi i.
Portul P2 va marca ieirea celor 8 bi i superiori de adres
(con inutul DPH) iar portul P0 va multiplexa cei 8 bi i
inferiori (DPL) cu cei de date. Registrul func iilor speciale P2
va re ine con inutul anterior, iar bufferul de ieire P2 va emite
con inutul lui DPH. Aceast formul e mai rapid i mai
eficient cnd se acceseaz zone de date foarte mari (mai
mari de 64 kocte i), deoarece nu este nevoie de instruc iuni
suplimentare pentru a seta porturile de ieire. Este posibil i
combina ia celor dou tipuri de instruc iuni MOVX. O zon
extins de memorie RAM i liniile sale de adres de ordin
superior, administrate de portul P2, pot fi adresate prin
pointerul de date, iar codul de ieire al bi ilor superiori de
adres ai portului P2 va fi urmat de o instruc iune MOVX
utiliznd registrele R0 sau R1.
O zon de memorie RAM extern , cu lungimea de 256
octe i, utiliznd multiplexarea liniilor de adrese i de date este
conectat la portul P0 al microcontrollerului 8051. Portul P3
asigur liniile de control pentru memoria RAM extern .
Porturile P1 i P2 sunt utilizate pentru intr rile i ieirile
normale. Registrele R0 i R1 con in valorile 12H i respectiv
34H. Loca ia cu adresa 34H a RAM extern con ine valoarea
56H. Instruc iunile:
MOVX
A,@R1
MOVX
@R0,A
copiaz valoarea 56H att n acumultor, ct i in loca ia RAM
extern cu adresa 12H.
AB
nmul ire
Instruc iunea MUL AB nmul ete ntregii pe 8 bi i din
acumulator i din registrul B. Octetul mai pu in semnificativ
al produsului pe 16 bi i este l sat n acumulator, iar octetul
mai semnificativ n registrul B. Dac produsul e mai mare
dec 255 (0FFH) indicatorul de dep ire este setat; altfel, este
zero. Indicatorul de transport este ntotdeauna resetat.
Ini ial, acumulatorul con ine valoarea 80 (50H), iar registrul
B, valoa-rea 160 (0A0H). Instruc iunea
MUL AB
va furniza produsul, 12.800 (3200H), registrul B devine 32H
(00110010B) iar acumulatorul 00H. Indicatorul de dep ire

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

159

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

este setat, iar cel de transport este zero.


34
NOP
Func ia:
Descriere:

Exemplu:

35
ORL
Func ia:
Descriere:

Exemplu:

160

Nici o opera ie
Execu ia continu cu instruc iunea urm toare. In afara
contorului de program, PC, care este incrementat, nici un
registru sau indicator nu este afectat.
Este nevoie de producerea unui puls de dep ire scurt pe
bitul 7 al portului P2, durnd exact 5 cicluri. O secven
SETB/CLR va genera un puls cu durata de un ciclu, la care
trebuie adunati al i patru, ca n secven a:
CLR P2.7
NOP
NOP
NOP
NOP
SETB P2.7
<dest-byte>, <scr-byte>
SAU LOGIC pentru variabile de tip octet
Instruc iunea ORL realizeaz func ia SAU LOGIC ntre
variabilele de tip octet indicate, nc rcnd rezultatul n octetul
destina ie. Nu se afecteaz nici un indicator de condi ii. Cei
doi operanzi permit 6 combina ii ale modurilor de adresare.
Cnd destina ia este acumulatorul, sursa poate fi adresat ca
registru, direct, registru-indirect sau imediat; cnd destina ia
este o adres direct , sursa poate fi acumulatorul sau o data
imediat .
Not : Atunci cnd aceast instruc iune este utilizat ca s
modifice un port de ieire, valoarea utilizat ca dat ini ial
va fi citit de la ieire i nu de la intrare.
Dac acumulatorul con ine valaorea 0C3H (11000011B) i
registrul R0 valoarea 55H (01010101B), instruc iunea
ORL A,R0
va l sa n acumulator valoarea 0D7H(11010111B).
Cnd destina ia este un octet adresat direct, instruc iunea
poate seta combina ii de bi i n orice loca ie RAM sau
registru hardware. ablonul bi ilor care trebuie seta i este
determinat de un octet-masc , care poate fi o constant n
instruc iune sau o variabil creat n acumulator la rulare.
Instruc iunea:
ORL P1, #00110010B

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

va seta bi ii 5, 4 i 1 ai portului de ieire P1.


36
ORL
Func ia:
Descriere:

Exemplu:

37
POP
Func ia:
Descriere:

Exemplu:

38
PUSH
Func ia:
Descriere:

Exemplu:

C, <scr-bit>
SAU LOGIC pentru variabile de tip bit
Instruc iunea ORL C, bit seteaz indicatorul de transport dac
valoarea boolean e un 1 logic. Instruc iunea nu modific
starea indicatorului de transport. Simbolul (/) precednd
operandul, n limbaj de asamblare, indic faptul c se
utilizeaz compementul logic al bitului adresat ca valoare
surs , f r ca bitul surs s fie afectat. Nici un alt indicator nu
e afectat.
Secven a prezentat seteaz indicatorul de transport dac i
numai dac P1.0=1, ACC.7=1, OV=0:
ORL C, P1.0
ORL C, ACC.7
ORL C, /OV
direct
Extragere din stiv
Instruc iunea citete con inutul locatiei interne RAM adresat
prin pointerul stivei, iar pointerul stivei este decrementat cu
1. Valoarea citit este apoi transferat n octetul direct
adresabil indicat. Nu se afecteaz nici un indicator de
condi ii.
Pointerul stivei con ine ini ial valoarea 32H i loca iile
interne RAM cu adresele 30H pn la 32H con in valorile
20H, 23H, 01H. Instruc iunile:
POP DPH
POP DPL
las pointerul stivei setat la valoarea 30H i pointerul de data
la 0123H. In acest punct, instruc iunea:
POP SP
va seta pointerul stivei la valoarea 20H. In acest caz special,
pointerul stivei a fost decrementat la valoarea 2FH nainte de
nc rcarea cu valoarea extras (20H).
direct
Salvare n stiv
Pointerul stivei, SP, este incrementat cu 1. Con inutul
variabilei indicate e copiat n loca ia intern RAM adresat de
pointerul stivei. Nici un alt indicator nu este afectat.
Intrnd ntr-o rutin de ntrerupere, pointerul stivei, SP,

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

161

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

con ine valoarea 09H. Pointerul de date con ine valoarea


0123H. Instruc iunile:
PUSH
DPL
PUSH
DPH
vor seta pointerul stivei la valoarea 0BH i vor nc rca 23H i
01H n loca iile interne RAM cu adresele 0AH i 0BH.
39
RET
Func ia:
Descriere:

Exemplu:

40
RETI
Func ia:
Descriere:

Exemplu:

162

Revenire din subrutin


Instruc iunea RET extrage succesiv octe ii mai semnificativ
i mai pu in semnificativ ai adresei din stiv , decrementind
pointerul stivei cu 2. Execu ia programului continu de la
adresa rezultat , n general instruc iunea ce sccede
instruc iunile ACALL sau LCALL. Nici un indicator nu este
afectat.
Pointerul stivei con ine ini ial valoarea 0BH. Loca iile interne
RAM cu adresele 0AH i 0BH con in valorile 23H i,
respectiv 01H. Instruc iunea RET va seta pointerul stivei la
valoarea 09H, iar execu ia programului va continua de la
loca ia cu adresa 0123H.

Revenire din rutina de tratare a unei ntreruperi


Instruc iunea RETI extrage succesiv octe ii mai semnificativ
i mai pu in semnificativ ai contorului programului, PC, din
stiv i reactiveaz logica de ntreruperi s accepte ntreruperi
suplimentare, cu acelai nivel de prioritate ca cea tocmai
procesat . Pointerul stivei e decrementat prin 2. Nici un alt
registru nu este afectat. Cuvntul de stare a programului,
PSW, nu este renc rcat automat cu starea sa anterioar
trat rii ntreruperii. Execu ia programului continu de la
adresa rezultat , care e n general, instruc iunea imediat
urm toare celei dup care a fost detectat apelarea
ntreruperii. Dac o ntrerupere cu nivel de prioritate mai mic
sau egal a ap rut n timp ce se executa RETI, acea
instruc iune va fi executat naintea revenirii din ntrerupere.
Pointerul stivei con ine valoarea initial 0BH. O ntrerupere a
fost detectat n timpul instruc iunii care se termin la loca ia
cu adresa 0122H. Loca iile interne RAM cu adresele 0AH i
0BH con in valorile 23H i respectiv 01H. Instruc iunea:
RETI
va l sa pointerul stivei setat la valoarea 09H i va continua

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

execu ia programului de la adresa 0123H.


41
RL
Func ia:
Descriere:

Exemplu:

42
RLC
Func ia:
Descriere:

Exemplu:

43
RR
Func ie:
Descriere:

Exemplu:

44
RRC
Func ia:
Descriere:

A
Rotete acumulatorul la stnga
Cei 8 bi i ai acumulatorului sunt roti cu un bit la stnga.
Bitul 7 ajunge n pozi ia bitului 0. Nici un indicator nu e
afectat.
Acumulatorul con ine valoarea ini ial 0C5H (11000101B).
Instruc- iunea:
RL A
va determina ca acumulatorul s con in valoarea 8BH
(10001011B), f r a afecta indicatorul de transport.
A
Rotirea acumulatorului la stnga prin indicatorul de transport
Cei 8 bi i ai acumulatorului i indicatorul de transport sunt
amndoi roti i cu un bit la stnga. Bitul 7 ajunge n
indicatorul de transport, iar acesta pe pozi ia bitului 0. Nu
afecteaza nici un alt indicator.
Acumulatorul con ine valoarea ini ial 0C5H (11000101B), i
indicatorul de transport este 0. Instruc iunea:
RLC A
va l sa n acumulator valoarea 8BH (10001010B), cu setarea
indicatorului de transport.
A
Rotirea acumulatorului la dreapta
Cei 8 bi i ai acumulatorului sunt roti i cu un bit la dreapta.
Bitul 0 ajunge n pozi ia bitului 7. Nici un indicator nu e
afectat.
Acumulatorul con ine valoarea 0C5H (11000101B).
Instruc iunea:
RR A
va seta acumulatorul la valoarea 0E2H (11100010B), cu
indicatorul de transport neafectat.
A
Rotirea acumulatorului la dreapta prin indicatorul de
transport.
Cei 8 bi i ai acumulatorului i indicatorul de transport sunt
roti i mpreun cu un bit la dreapta. Bitul 0 ajunge n
indicatorul de transport, iar acesta n pozi ia bitului 7. Nici un

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

163

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

Exemplu:

45
SETB
Func ia:
Descriere:

Exemplu:

46
SJMP
Func ia:
Descriere:

Exemplu:

47
SUBB
Func ia:
Descriere:

164

alt indicator nu este afectat.


Acumulatorul con ine valoarea 0C5H, iar transportul este 0.
Instruc iunea:
RRC A
va determina ca acumulatorul s con in valoarea 62H
(01100010B), cu indicatorul de transport setat la 1.
<bit>
Seteaz bitul specificat
Instruc iunea SETB seteaz bitul indicat la 1. SETB poate
opera asupra indicatorului de transport sau oric rui alt bit
direct adresabil. Nu afecteaz al i indicatori.
Indicatorul de transport este resetat. Portul de ieire P1 a fost
nscris cu valoarea 34H (00110100B). Instruc iunile:
SETB C
SETB P1.0
vor seta indicatorul de transport la 1 i data de ieire la portul
P1 va fi 35H (00110101B).
rel
Short Jump
Instruc iunea SJMP determin un salt necondi ionat n
program, la adresa indicat . Destina ia saltului este compus
prin sumarea deplas rii cu semn, n al doilea octet al
instruc iunii, cu con inutul contorului programului, PC, dup
incrementarea PC de dou ori. Saltul permis are o valoare de
la -128 de octe i (preceden i instruc iunii SJMP) la +127
octe i (urm tori instruc iunii SJMP).
Eticheta RELADR e asociat instruc iunii de la loca ia cu
adresa 0123H. Instruc iunea:
SJMP RELADR
va duce la loca ia cu adresa 0100H. Dup ce instruc iunea
este executat , PC va con ine valoarea 0123H.
A, <src-byte>
Sc dere cu mprumut.
Instruc iunea SUBB va sc dea att variabila octet indicat ,
ct i indicatorul de transport din acumulator, l snd
rezultatul n acumulator. SUBB seteaz indicatorul de
transport (de mprumut) dac este nevoie de un mprumut
pentru bitul 7 i sterge indicatorul C altfel (dac C a fost setat
naintea execu iei instruc iunii SUBB, aceasta indic c a fost

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Exemplu:

48
SWAP
Func ie:
Descriere:

Exemplu:

49
XCH
Func ie:
Descriere:

necesar un mprumut la pasul anterior, ntr-o sc dere cu


precizie multipl , astfel nct transportul este sc zut din
acumulator odat cu operandul surs ). Indicatorul AC e setat
dac a fost necesar un mprumut pentru bitul 3 i resetat n
caz contrar. Indicatorul OV e setat dac e necesar un
mprumut la bitul 6, dar nu la bitul 7, sau la bitul 7, dar nu la
bitul6. La sc derea ntregilor cu semn, OV indic un num r
negativ cnd o valoare negativ e scazut dintr-o valoare
pozitiv , sau un rezultat pozitiv cnd un num r pozitiv e
sc zut dintr-un num r negativ. Operandul surs permite 4
moduri de adresare: prin registru, direct , indirect prin
registru, imediat .
Acumulatorul con ine valoarea 0C9H (11001001B), registrul
R2 con ine valoarea 54H (01010100B) i indicatorul de
transport e setat. Instruc iunea:
SUBB
A, R2
va determina valoarea 74H (01110100B) n Acumulator, cu
indicatorul de transport i AC reseta i, dar indicatorul OV
setat. Se observ c :
0C9H-54H =75H
Diferen a ntre acest rezultat i cel de mai sus este datorat
faptului c indicatorul de transport (mprumut) a fost setat
naintea opera iei. Dac starea indicatorului de transport nu e
cunoscut nainte de nceperea unei sc deri n precizie simpl
sau multipl , va fi n mod explicit resetat de o instruc iune:
CLR C.
A
Interschimb intern n acumulator
Instruc iunea SWAP A interschimb cmpurile de cte 4 bi i,
mai semnificativ i mai pu in semnificativ, ale
acumulatorului (bi ii 74 i bi ii 30). Opera ia poate, de
asemenea, s fie gndit ca o instruc iune de rota ie pe 4 bi i.
Nici un indicator nu este afectat.
Acumulatorul con ine valoarea 0C5H (11000101B).
Instruc iunea:
SWAP
A
determin n acumulator valoarea 5CH (01011100B).
A, <byte>
Schimb con inutul acumulatorului cu o variabil de tip octet
Instruc iunea XCH ncarc acumulatorul cu con inutul

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

165

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

Exemplu:

50
XCHD
Func ia:
Descriere:

Exemplu:

51
XRL
Func ie:
Descriere:

Exemplu:
166

variabilei indicate, scriind n acelai timp con inutul original


al acumulatorului n variabila de tip octet indicat . Operatorii
surs i destina ie pot folosi adresarea prin registru, adresarea
direct sau indirect prin registru.
Registrul R0 con ine adresa 20H. Acumulatorul con ine
valoarea 3FH (00111111B). Loca ia intern RAM cu adresa
20H con ine valoarea 75H (01110101B). Instruc iunea:
XCH A,@R0
va determina ca loca ia RAM cu adresa 20H s con in
valoarea 3FH (00111111B) i 75H (01110101B) n
acumulator.
A,@Ri
Schimb digit
Instruc iunea XCHD schimb cmpul de 4 bi i mai pu in
semnificativ al acumulatorului (bi ii 30), reprezentnd n
general un digit hexazecimal sau BCD, cu acela al loca iei
interne RAM adresat indirect prin registrul specificat.
Cmpul de 4 bi i mai semnificativ (bi ii 74) ai registrelor nu
sunt afecta i. Nici un indicator de condi ii nu este afectat.
Registrul R0 con ine adresa 20H. Acumulatorul con ine
valoarea 36H (00110110B). Loca ia intern RAM cu adresa
20H con ine valoarea 75H (01110101B). Instruc iunea:
XCHD
A, @R0
va determina ca loca ia RAM cu adresa 20H s con in
valoarea 76H (01110110B) i acumulatorul 35H
(00110101B).
<dest-byte>, <src-byte>
SAU EXCLUSIV ntre variabile de tip octet
Instruc iunea XRL realizeaz func ia SAU EXCLUSIV la
nivel de bit ntre variabilele octet indicate, inc rcnd
rezultatul n octetul destina ie. Nu afecteaz indicatorii de
condi ii. Cei doi operanzi permit 6 combina ii de moduri de
adresare. Cnd destina ia este acumulatorul, sursa poate fi
adresat ca registru, direct, registru-indirect sau imediat; cnd
destina ia este o adres direct , sursa poate fi acumulatorul
sau o dat imediat .
Not : Atunci cnd aceast instruc iune e utilizat ca s
modifice un port de ieire, valoarea utilizat ca dat ini ial
va fi citit de la ieire, nu de la intrare.
Acumulatorul con ine valoarea 0C3H (11000011B) i

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

registrul R0 con ine valoarea 0AAH (10101010B).


Instructiunea:
XRL A, R0
va determina ca acumulatorul s con in valoarea 69H
(01101001B).
Cnd destina ia e un octet direct adresabil, aceast
instruc iune poate nc rca complementele logice
ale
combina iilor de bi i n orice loca ie RAM sau registru
hardware. ablonul bi ilor care vor fi complementa i e
determinat de un octet masc , ce poate fi att o constant
con inut n instruc iune, ct i o variabil ob inut n
acumulator n timpul rul rii programului. Instruc iunea:
XRL P1, #00110001B
va complementa bi ii 5, 4 i 0 ai portului de ieire P1.

5.3 SISTEM DE DEZVOLTARE CU MICROCONTROLLER


80C552
Sistemul de dezvoltare ini ial, IMC500, a fost astfel conceput nct
permite dezvoltarea rapid a aplica iilor n domenii diverse - automatiz ri
industriale, aparate de m sur , industrie uoar , medicin , industria
automobilelor, domeniul casnic, etc.
Utilizarea tehnologiei CMOS l recomand pentru aplica iile care necesit
un consum redus de energie i care necesit imunitate ridicat la perturba ii.
Pre ul sc zut de cost l recomand att pentru produsele de serie, ct i
pentru prototipuri i unicate.
n fig. 5.8 este prezentat structura general a sistemului de dezvoltare
IMC500.
n fig. 5.9 este prezentat detaliat structura de interconexiune cu exteriorul
a sistemului de dezvoltare cu microcontroller 80C552.
Sistemul de dezvoltare este destinat n principal dezvolt rii de programe.
Hardware-ul suplimentar utilizat - de exemplu tastatura, afiaj cu cristale
lichide, etc. - permite unificarea din punct de vedere constructiv a diferitelor
produse. Acest proces de unificare hardware direc ioneaz efortul de proiectare
spre programe de aplica ie.
Acest sistem de dezvoltare, bazat pe microcontroller-ul 80C552, acoper
din punct de vedere hardware i software aplica iile dezvoltate cu
microprocesoarele 80C31, 80C32 i alte procesoare din familia 8051, putnd fi
folosit la dezvoltarea de aplica ii cu aceste procesoare.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

167

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)


Q
11,0592 MHz

LCD
OUT 0..7
OUT 8..15
IN 0..7
CONNECTOR CONNECTOR CONNECTOR CONNECTOR
XD1

X15

X14

LATCH
74HCT374

I 2 C Bus
XTAL1

OE

XTAL2

X16

LATCH
74HCT374
LE

S0

BUFFER
74HCT244

OE

LE

S1

OE

S2

S3

AD0 .. AD7

SDA

EEPROM
ST24C04

SCL

MICROCONTROLLER
RESET

RD
WR

AD0 .. AD7

AD0 .. AD7

RAM
DATA

To PC

74HCT373

TxD

RS-232
MAX232

LATCH

AD0 .. AD7

RxD

OE

PWM 0..1

DATA

A0 ..A14
ADR

WR
A15
RD
CS
KM62256

LE

ALE

A15

A15
RD
CS
27C256

74HCT08

IN ADC 0..7

P5.0 .. P5.7

IN/OUT 0..7

P4.0 .. P4.7

PSEN

FFFF H

A8 .. A15

A8 .. A15

DATA
MEMORY
- RAM (EXTERNAL)
32 Kbytes
PROGRAM
MEMORY
- EPROM (EXTERNAL)
32 Kbytes

ADR

A0.. A7

EPROM

A0 ..A14

A0 .. A15

A0 .. A15
A5
.
.
A7

C 80C552
74HCT08

8000 H
7FFF H

DCD
0
1
2
3
4
5
6
7

A..C

A8
A15

G1
G2A
G2B

S4
S5
S6
S7

74HCT138

0000 H

a) Structura de baz a sistemului de dezvoltare IMC500.


U6

U10
U1

KM
62256

27C256

74LS373

VCC

CD4

Q1

X12

PCB80C552

X11

U11

C2

C3

CD1

X13

U12

X2

U13

GND

X7

74LS08

74LS374

74LS04

74LS374

74LS244

X6
D5

U5

R9
R10
CD3

U6

XD1

74LS138

X5

U7

X16

X15

X14

X1
CD6
CD5
CX3 +

+
+
CX1

CX5
MAX 232

CX4

C4
R6

X4

C5

+
CX2 PB1

+
R1 C1

U2

XA1

X10
CD2
JP1
R7
R8

ST24C04

R2

R4

R3

R5

X3

b) Amplasarea componentelor sistemului de dezvoltare IMC500.


Fig. 5.8 Sistemul de dezvoltare IMC500.

168

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

CONECTOR X1 (SERIAL_LINK)
1
NC
2
TXD
3
RXD
4
NC
5
GND
6
NC
7
NC
8
NC
9
NC
CONECTOR X2 (DECODE)
1
VCC
2
S0/
3
VCC
4
S1/
5
VCC
6
S2/
7
NC
8
S3/
9
NC
10
S4/
11
GND
12
S5/
13
GND
14
S6/
15
GND
16
S7/
CONECTOR X3 (I2C_LINK)
1
SDA
2
SCL
CONECTOR X4 (INTERNAL_MEM)
1
VCC
2
EA/
3
GND
4
EA/

CONECTOR X6(ROM_EN)
1
VCC_P
2
VCC
3
GND
4
NC
CONECTOR X7 (MAIN_SUPPLY)
1
GND
2
VCC

CONECT OR X11 (C)


1
CMSR4
2
3
CMT2
4
5
RST
6
7
CT1I
8
9
CT3I
10
11
RT2
12
13
PSDA
14
15
PTXD
16
17
T0
18

CONECTOR X13 (C)


1
AVSS
2
3
AVREF4
5
AD1
6
7
AD3
8
9
AD5
10
11
AD7
12
13
ALE
14
15
A15
16
17
A13
18

ADC7
AVREF+
AD0
AD2
AD4
AD6
EA/
PSEN/
A14

CONECTOR X15 (OUT_LOW)


1
AX0
2
VCC
3
AX1
4
VCC
5
AX2
6
NC
7
AX3
8
NC
9
AX4
10
NC
11
AX5
12
NC
13
AX6
14
GND
15
AX7
16
GND

GND

CONECTOR X9 (SW1_RESET)
1
R6_VCC
2
R1_GND

CONECT OR X10 (C)


1
CMSR2
2
3
CMSR0
4
5
PWM1
6
7
STAD
8
9
ADC0
10
11
ADC2
12
13
ADC4
14
15
ADC6
16
17
AVDD
18

INT1
T1
RD/
NC
XT1
GND
A8
A10
A12

CONECTOR X14 (OUT_HIGH)


1
AX8
2
VCC
3
AX9
4
VCC
5
AX10
6
NC
7
AX11
8
NC
9
AX12
10
NC
11
AX13
12
NC
13
AX14
14
GND
15
AX15
16
GND

CONECTOR X5 (ROM_SEL)
1
PSEN/
2
CE_P
3
RD/
4
CE_P

CONECTOR X8 (JP1)
1
EW /
2

CONECTOR X12 (C)


1
T0
2
3
WR/
4
5
NC
6
7
XT2
8
9
GND
10
11
NC
12
13
A9
14
15
A11
16
17
A14
18

CMSR4
CMSR1
EW/
PW M1
VCC
ADC1
ADC3
ADC5
ADC7

CONECTOR X16 (INPUT)


1
IX0
2
3
IX1
4
5
IX2
6
7
IX3
8
9
IX4
10
11
IX5
12
13
IX6
14
15
IX7
16

CMSR3
CMSR5
CMT1
CT0I
CT2I
T2
PSCL
PRXD
INT0

VCC
VCC
NC
NC
NC
NC
GND
GND

CONECT OR XA1 (SUPPLY)


1
VCC
2
GND
CONECTOR XD1 (LCD)
1
VSS
2
3
V0
4
5
R/W
6
7
D0
8
9
D2
10
11
D4
12
13
D6
14

VDD
RS
EN
D1
D3
D5
D7

5
( V e d e r e d in s p r e
t e r m in a le )

Cupla CANNON (mama) 9 pini


catre sistemul de dezvoltare cu
microcontroller 80C552

TxD (2)

(2) TxD

RxD (3)

(3) RxD

GND (5)

(7) GND
(4) RTS
(5) CTS

( V e d e r e d in s p r e
t e r m in a le ) 1 3

(6) DSR
(8) DCD
(20) DTR

14

25

Cupla CANNON (mama) 25 pini


catre sistemul de calcul (PC)

Fig. 5.9 Structura interconexiunilor sistemului de dezvoltare IMC500.


SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

169

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

Sistemul de dezvoltare realizat dispune de urm toarele resurse hardware


i caracteristici tehnice:
microcontroller PCB80C552 (f r memorie intern de program),
lucrnd la o frecven maxim a ceasului de 16 MHz;
frecven a ceasului sistemului de dezvoltare 11,059200 MHz;
memoria de date extern (DATA MEMORY), static , implementat
cu un circuit de tip KM62256AL, realizat n tehnologie CMOS, cu
capacitatea de 32 kocte i i caracterizat de un timp de acces de 35ns.
Spa iul de adresare ocupat de memoria de date, n cadrul sistemului de
dezvoltare, este cuprins ntre adresele 8000H i FFFFH. Selectarea
memoriei RAM, activ pe nivel cobort, se efectueaz cu semnalul
A15 , iar semnalele de control sunt WR pentru scriere i PSEN RD
pentru citire (pentru a se putea rula din memoria RAM aplica iile
transferate pe interfa a serial de la PC);
memoria de program extern
(PROGRAM MEMORY),
implementat cu un circuit EPROM de tip 27C256, realizat n
tehnologie CMOS, cu capacitatea de 32 kocte i i caracterizat de un
timp de acces de 70ns. Spa iul de adrese ocupat de memoria de
program extern n cadrul sistemului de dezvoltare, este cuprins ntre
0000H i 7FFFH. Selectarea memoriei RAM, activ pe nivel cobort,
se efectueaz cu semnalul A15 , iar semnalul de control este PSEN
pentru citire. Memoria extern de program con ine programul de
aplica ie sau n faza de dezvoltare a acestuia con ine un program
monitor;
interfa serial compatibil RS-232 de mare vitez , full duplex, f r
semnale de dialog, func ionnd doar cu protocol software;
bus serial I2C (bus multimaster cu arbitrare de priorit i i vitez mare
de transmisie - 100 kbytes pe secund n modul standard i 400 kbytes
pe secund n modul rapid -, frecven a maxim a ceasului serial este
100 kHz. Destina ia principal este comunica ia cu circuite integrate
sau controller-e, prev zute cu interfa a I2C, aflate n aceeai carcas ;
memorie EEPROM serial , implemetat cu un circuit de tip
ST24C04, realizat n tehnologie CMOS, cu capacitatea de 512 octe i
i conectat la interfa a I2C;
2 porturi paralele de ieire de 8 bi i;
1 port paralel de intrare de 8 bi i;
8 intr ri multiplexate la un convertor analog-digital cu rezolu ia de 10
bi i, implementat n structura microcontroller-ului 80C552 i
caracterizat de un timp de conversie de 50 cicluri main (aproximativ
50 s);
8 ieiri decodificate de selec ie porturi, specificate n cadrul tabelului
170

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

5.1;
Dintre cele 8 semnale de decodificare porturi ocup un spa iu de
adrese cu dimensiunea de FFH, aa dup cum reiese din tabelul
prezentat anterior. Dintre cele 8 semnale de selec ie sintetizate, n
structura sistemului de dezvoltare sunt utilizate doar 4, i anume:
S0 - semnal de selec ie pentru afiajul cu cristale lichide LCD;
S1 - semnal de selec ie pentru portul de ieire mai pu in
semnificativ;
S2 - semnal de selec ie pentru portul de ieire mai semnificativ;
S4 - semnal de selec ie pentru portul de intrare;
S4 S7 - neutilizate (disponibile pentru extensii hardware);
Tabelul 5.1 Spa iul de adrese pentru selec iile de porturi.

Liniile de adrese A0 A15

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

Ieire
DCD

Adresa
(H)

S0

100H..11FH

S1

120H..13FH

S2

140H..15FH

S3

160H..17FH

S4

180H..19FH

S5

1A0H..1BFH

S6

1C0H..1DFH

S7

1E0H..1FFH

MOV P2,#1

MOV R0,#(A7A6A5A4A3A2A1A0)B
MOV @R0,A

Extinderea num rului de porturi de intrare-ieire poate fi f cut fie


prin utilizarea semnalelor de selec ie disponibile, ceea ce conduce la
nc rcarea magistralei interne a sistemului de dezvoltare, fie prin
subdecodificarea liniilor inferioare de adrese neutilizate A4 A0 i
multiplexarea, respectiv demultiplexarea, intr rilor, respectiv a
ieirilor, portului de intrare, respectiv a portului de ieire mai pu in
semnificativ. Procesul de multiplexare se realizeaz bazat pe circuite
cu ieiri de tip three-state, minimiznd deci num rul de resurse
hardware suplimentare necesare;
2 ieiri analogice de 8 bi i modulate n durat . Prin integrarea lor se pot
ob ine dou convertoare digital-analogice de 8 bi i;
3 num r toare de tip timer / counter;
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

171

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

1 watchdog programabil (mijloc de auto-deblocare n cazul execu iei


eronate a programelor, datorit perturba iilor sau interferen elor;
15 linii de ntreruperi, dintre care 6 linii externe;
reset la punerea sub tensiune;
conectarea direct a unui afiaj cu cristale lichide.

5.3.1 DOMENIUL DE APLICABILITATE


Echipamentul prezentat, poate fi uor extins la un sistem de m sur i
control construit n jurul unui microcontroller tip 80C552, destinat unei largi
clase de aplica ii n:
mediul industrial: m surarea / reglarea unor parametri: temperatura,
nivelul, tura ia etc.;
procesul de nv mnt: pentru dotarea laboratoarelor de automatiz ri
industriale;
dezvoltarea unor programe de aplica ii.
Echipamentul poate func iona independent sau conectat la un sistem de
calcul ierarhic superior.

5.3.2 DETALIEREA RESURSELOR SISTEMULUI


5.3.2.1 UNITATEA CENTRAL DE PRELUCRARE

Microcontroller de tip 80C552, cu frecven a ceasului de 11,0592 MHz;


Memorie RAM extern , 32 Kocte i;
Memorie EPROM extern , 32 Kocte i;
Memorie EEPROM extern , 512 octe i, conectat pe magistrala I2C.

5.3.2.2 INTERFA A CU PROCESUL CONTROLAT


2 intr ri analogice pentru semnal unificat n curent. Sistemul dispune
de dou intr ri analogice: IN_ANA_1 i IN_ANA_2, pentru m surarea
semnalelor de intrare n curent n domeniul (4...20)mA, furnizate de un
traductor.
Semnalele de intrare n curent sunt convertite intern n tensiune n
domeniul (0,4...2)V.
Acestea corespund canalelor de intrare ADC0 i ADC1 ale portului
172

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

P5 al microcontroller-ului 80C552.
Manipularea conversiei A/D se face prin registrele ADCON i
ADCH.
Caracteristici:
1. Semnal de intrare: (420)mA
2. Caracteristica de transfer a convertorului analog-digital:
V VREF
N = 210 IN
, cu rezultatul reprezentat pe 10 biti
VREF+ VREF_
V VREF
N = 28 IN
, cu rezultatul reprezentat pe 8 biti
VREF+ VREF_

(5.6)

n care VREF_ = 0,4V; VREF+ = 2V i VIN = (0,4...2)V;


3. Furnizeaz tensiunea de alimentare a traductorului: 24V / max.
100mA
Demararea conversiei A/D implic programarea registrului
ADCON.
1. Selectarea canalului de intrare ( bi ii ADR2ADR0);
2. Declanarea software a conversiei: ADCS=1;
3. Testarea sfritului conversiei: ADCI=1.
Rezultatul conversiei este depus n registrele ADCH (AD9...AD2)
i ADCON (AD1, AD0).

Registrul ADCON. Adresa: C5H. Valoare la reset: xx000000H


Bit 7 (MSB)
A/D1
A/D0
ADEX
ADCI
ADCS

Bit 0 (LSB)
ADR2
ADR1
ADR0
0 0 0 - canal de intrare ADC0;
0 0 1 - canal de intrare ADC1;

1 1 1 - canal de intrare ADC7.


Setarea la 1 - declanarea conversiei A/D;
0 - conversie n curs de desfurare;
1 - sfrit de conversie.
0 -conversie declanat software;
1 - conversie declanat fie hardware prin intermediul semnalului STADC, fie
software ca n cazul precedent
Bitul 0 (LSB) al rezultatului
Bitul 1 al rezultatului
Registrul ADCH. Adresa: C6H. Valoare la reset: xxxxxxxxH
Bit 7 (MSB)
A/D9
A/D8
A/D7
A/D6
A/D5
A/D4
Biii mai semnificativi ai rezultatului conversiei

Secven
digital :

A/D3

Bit 0 (LSB)
A/D2

de cod, n limbaj de asamblare, pentru conversia analog-

MOV
MOV

A,#0
ADCON,A

; CONVERSIE A/D CANAL 0

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

173

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

WAIT1:

ORL
MOV
MOV
JNB
MOV

A,#08H
ADCON,A
A,ADCON
ACC.4,WAIT1
A,ADCH

MOV
MOV
ORL
MOV
MOV
JNB
MOV

A,#1
; CONVERSIE A/D CANAL 1
ADCON,A
A,#08H
ADCON,A
A,ADCON
ACC.4,WAIT1
A,ADCH

sau

WAIT1:

2 intr ri logice, compatibile TTL, cu rezisten e interne de pull-up,


active pe nivel, pentru captarea unor condi ii externe. Sistemul dispune
de dou intr ri logice: IN_LOG_1 i IN_LOG_2, pentru captarea unor
condi ii externe.
Caracteristici:
1. semnale de intrare compatibile TTL;
2. intr rile sunt prev zute cu rezisten e interne de pull-up;
3. intr rile sunt active pe nivel.
Determinarea st rii intr rilor implic citirea Port Intr ri Logice.
Port intrri logice. Adresa: 160H
Bit 7 (MSB)
X
X
X
X
Neutilizai

Secven
logice:
MOV
MOV
MOVX

Bit 0 (LSB)
In _Log_ 2 In _Log_ 1
Intrri logice

de cod n limbaj de asamblare pentru citirea intr rilor


P2,#1
R0,#60H
A,@R0

1 intrare digital , activ pe front, pentru m surarea duratei ntre dou


evenimente externe succesive. Aceast intrare este dedicat conect rii
unui senzor cu ultrasunete. Semnalul de intrare este de tip impuls
pozitiv cu amplitudinea cuprins ntre (2...12)V;
1 intrare digital , activ pe front, pentru m surarea frecven ei unui
semnal periodic. Semnalul de intrare este de tip impuls pozitiv cu
amplitudinea cuprins ntre (2...12)V sau de tip alternativ, cu
amplitudinea cuprins n intervalul (4...24)Vvv. Alternativ, aceast
intrare poate fi reconfigurat hardware cu caracteristicile de la punctul
anterior;
Sistemul dispune de dou canale de intrare pentru determinarea
duratei ntre dou evenimente externe succesive i implicit a frecven ei
unui semnal de intrare.
174

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Primul canal este asociat cu registrele de captare CT0 i CT1.


Al doilea canal este asociat cu registrele de captare CT2 i CT3.
Registrele de captare CT0, CT1, CT2 i CT3 sunt cuplate cu timerul T2 i capteaz starea acestuia la apari ia semnalului de captare
asociat CT0I, CT1I, CT2I i CT3I.
Semnalele de captare pozi ioneaz indicatorii de stare asocia i
(CTI0, CTI1, CTI2 i CTI3 ) din registrul TM2IR.
Durata ntre evenimente rezult din diferen a con inutului
registrelor de captare.
Fiecare canal are asociate dou semnale:
cte un semnal de ieire pentru comanda capt rii, SEND_1,
respectiv SEND_2. Aceste semnale ini ializeaz att circuitele
interne de captare ( semnalele de captare CT0I respectiv CT2I ) ct
i dac este cazul, circuitele proprii senzorului conectat.
cte o intrare pentru semnalul captat: ECHO_1 respectiv ECHO_2.
Primul front cresc tor al semnalului de intrare activeaz semnalele
de captare CT0I respectiv CT2I (are ca efect captarea n registrul
CT0 respectiv CT2 a con inutului timer-ului T2 la acest moment de
timp) i ini ializeaz semnalele de captare CT1I respectiv CT3I. Al
doilea front cresc tor al semnalului de intrare activeaz semnalele
de captare CT1I respectiv CT3I (are ca efect captarea n registrul
CT1 respectiv CT3 a con inutului timer-ului T2 la acest moment de
timp).
Prima intrare (SEND_1, ECHO_1) este activ pe front cresc tor i
este rezervat pentru m surarea duratei ntre dou evenimente externe
succesive.
Aceast intrare permite conectarea unui senzor de nivel cu
ultrasunete din seria -wms- al firmei Microsonic.
A doua intrare (SEND_2, ECHO_2) este de asemenea activ pe
front cresc tor i este rezervat m sur rii frecven ei unui semnal
periodic. Aceast intrare permite conectarea unei sonde pentru
m surarea frecven ei de tip optic sau inductiv sau a unui generator de
semnal.
Caracteristici:
1. SEND_1 i SEND_2: ieiri open-colector;
2. ECHO_1: intrare de semnal, impuls pozitiv, cu amplitudinea
(2...12)V;
3. ECHO_2: intrare de semnal, impuls pozitiv, cu amplitudinea
(2...12)V sau semnal periodic alternativ cu amplitudinea
(4...24)Vvv.
Ini ializarea sec iunii de captare implic :
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

175

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

1. dezactivarea ntreruperilor provenite de la:


dep irea superioar pe 8/16 bi i a con inutului timer-ului T2.
registrele de captare a evenimentelor.
circuitele de comparare a con inutului timer T2 cu registrele de
comparare.
2. ini ializarea (nc rcare cu 0) a timer-ului TML2/TMH2.
3. programarea registrului CTCON astfel nct registrele de captare
CT0, CT1, CT2 i CT3 s fie activate pe fronturile cresc toare ale
semnalului de intrare.
4. programarea timer-ului T2 prin activarea acestuia, cu dezactivarea
dep irii pe 8/16 bi i, ceasul de num rare fiind constituit de un
oscilator intern cu frecven a de 1/12 din frecven a oscilatorului
microcontroller-ului urmat de un registru de divizare cu 2.
Not : Registrele de comparare CM0...CM2 i logica aferent , controlate prin intermediul registrelor RTE i STE, pot fi utilizate pentru
supravegherea hardware a ncadr rii unor parametrii ntre limite
programabile.
Registrul TM2CON. Adresa EAH. Valoare la reset 00H
Bit 7 (MSB)
T2IS1
T2IS0
T2ER
T2B0
T2P1

T2P0

Registrul IEN1. Adresa E8H. Valoare la reset 00H


Bit 7 (MSB)
ET2
ECM2
ECM1
ECM1

ECT2

Bit 0 (LSB)
T2MS1
T2MS0
0 0 - Timer T2 oprit;
0 1 - ceas = fOSC:12;
1 0 - mod test;
1 1 - ceas extern (T2).
0 0 - ceas : 1 (intern sau extern);
0 1 - ceas : 2 (intern sau extern);
1 0 - ceas : 4 (intern sau extern);
1 1 - ceas : 8 (intern sau extern).
Indicator ntrerupere depire pe 8 bii Timer T2
Activare reset extern Timer T2; dac este 1, T2 poate fi resetat cu un front
cresctor pe pinul RT2 (P1.5).
Selectare ntrerupere de depire pe 8 bii Timer T2
Selectare ntrerupere de depire pe 16 bii Timer T2

Bit 0 (LSB)
ECT0
Activare
ntrerupere
registru
captare 0
Activare ntrerupere
registru captare 1
Activare ntrerupere registru captare 2
Activare ntrerupere registru captare 3
Activare ntrerupere comparator 0 timer T2
Activare ntrerupere comparator 1 timer T2
Activare ntrerupere comparator 2 timer T2
Activare ntrerupere depire timer T2

176

ECT3

ECT1

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
Registrul CTCON. Adresa EBH. Valoare la reset 00H
Bit 7 (MSB)
CTN3
CTP3
CTN2
CTP2
CTN1

CTP1

Registrul RTE. Adresa EFH. Valoare la reset 00H


Bit 7 (MSB)
TP4.6
RP4.5
RP4.4
TP4.7

RP4.3

RP4.2

Registrul STE. Adresa EEH. Valoare la reset 00H


Bit 7 (MSB)
TG4.7
TG4.6
SP4.5
SP4.4

SP4.3

Bit 0 (LSB)
CTP0
Captare pe
front al
CT0I
Captare pe front al
CT0I
Captare pe front al CT1I
Captare pe front al CT1I
Captare pe front al CT2I
Captare pe front al CT2I
Captare pe front al CT3I
Captare pe front al CT3I
CTN0

Bit 0 (LSB)
RP4.0
Dac e 1,
P4.0 e resetat
la
egalita-tea
CM1 i
T2
Dac e 1, P4.1 e resetat
la egalitatea CM1 i T2
Dac e 1, P4.2 e resetat la egalitatea
CM1 i T2
Dac e 1, P4.3 e resetat la egalitatea CM1 i T2
Dac e 1, P4.4 e resetat la egalitatea CM1 i T2
Dac e 1, P4.5 e resetat la egalitatea CM1 i T2
Dac e 1, P4.6 basculeaz la egalitatea CM2 i T2
Dac e 1, P4.7 basculeaz la egalitatea CM2 i T2
RP4.1

Bit 0 (LSB)
SP4.0
Dac e 1,
P4.0 e setat
la egalitatea
CM0 i T2
Dac e 1, P4.1 e setat la
egalitatea CM0 i T2
Dac e 1, P4.2 e setat la egalitatea
CM0 i T2
Dac e 1, P4.3 e setat la egalitatea CM0 i T2
Dac e 1, P4.4 e setat la egalitatea CM0 i T2
Dac e 1, P4.5 e setat la egalitatea CM0 i T2
Basculare bistabil
Basculare bistabil
SP4.2

SP4.1

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

177

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)


Registrul TM2IR. Adresa C8H. Valoare la reset 00H
Bit 7 (MSB)
T2OV
CM2
CM1
CMO

CTI3

CTI2

CTI1

Indicator
CTI1
Indicator ntrerupere CTI2
Indicator ntrerupere CTI3
Indicator ntrerupere CM0
Indicator ntrerupere CM1
Indicator ntrerupere CM2
Indicator depire pe 16 bii a timer-ului T2

Bit 0 (LSB)
CTI0
Indicator
ntrerupere
CTI0
ntrerupere

Demararea capt rii implic activarea semnalelor de comand


Send_1 respectiv Send_2 prin bascularea 0-1-0 a bitului 0 respectiv 1
al portului de ieiri logice.
Port ieiri logice. Adresa: 140H
Bit 7 (MSB)
Linie 2
Linie 4
Linie 3

Secven
capt rii:
MOV
MOV
MOV
MOVX

Linie 1

Out _Log_ 2 Out_ Log_ 1

Bit 0 (LSB)
Send _2
Send _1
Comend Captare

de program n limbaj de asamblare pentru comanda


A,#xxxxxx00B
P2,#1
R0,#40H
@R0,A

1 ieire analogic n semnal unificat (4...20)mA;


1 ieire analogic tip PWM n impulsuri de curent (0...16)mA.
Alternativ, fiecare ieire analogic se poate reconfigura hardware.
Sistemul dispune de dou ieiri analogice: OUT_ANA_1 i
OUT_ANA_2 pentru generarea semnalelor de semnal unificat n
curent.
Aceste semnale se ob in prin integrarea celor dou ieiri modulate
n durat din cadrul structurii microcontroller-ului 80C552 astfel:
OUT_ANA_1 corespunde cu PWM0, iar OUT_ANA_2 cu PWM1.
Ieirea n curent este propor ional cu valoarea factorului de
umplere al semnalului generat pe calea PWM0 respectiv PWM1.
Caracteristici:
1. Frecven a semnalelor de la cele dou ieiri ( se recomand alegerea
unei frecven e de lucru de aproximativ 1KHz ) este aceeai i este
programat prin intermediul registrului PWMP (adresa FEH),
conform ecua iei:

178

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

f PWM =

f OSC
(5.7)
2 (1 + PWMP ) 255
2. Durata impulsurilor este determinat de registrele PWM0 i PWM1
(adresele FCH, respectiv FDH), fiind direct propor ional cu
valoarea negat a acestora;
3. Factorul de umplere al semnalelor de ieire este determinat de
ecua ia:
PWM i
i =
(5.8)
255 PWM i
4. semnalul de ieire este izolat optic;
5. sarcina maxim admis :
500;
6. semnal analogic de ieire:
(420)mA;
7. semnal de ieire n impulsuri: (016)mA.
Nota: 1. n varianta de echipare standard la ieirea OUT_ANA_1
este generat un semnal unificat n curent, 4mA20mA, iar la ieirea
OUT_ANA_2 este generat un semnal de tip PWM n impulsuri de
curent 0mA16mA.
2. Alternativ, fiecare ieire poate fi reconfigurat hardware
cu caracteristicile de la punctele 6 respectiv 7.
2 ieiri logice pentru comenzi externe, izolate galvanic (releu, 2x N.I./
N.D., 6A / 380V).
Sistemul dispune de dou ieiri logice pentru comenzi externe:
OUT_LOG_1 i OUT_LOG_2.
Caracteristici:
1. Ieirile sunt izolate galvanic.
2. Comanda extern se face prin intermediul unei perechi de contacte
N.I / N.D ale unui releu i admite o sarcin de max. 6A / 380V.
Generarea comenzilor externe implic activarea semnalelor de
comand Out_Log_1 i respectiv Out_Log_2 prin pozi ionarea n 1
a bitului 2 respectiv 3 al portului de ieiri logice.
Port ieiri logice. Adresa: 140H
Bit 7 (MSB)
Linie 4
Linie 2
Linie 3

Linie 1

Out _Log_ 2 Out _Log_ 1


Comand Ieiri logice

Send_2

Bit 0 (LSB)
Send_1

Manipularea portului de ieiri logice (scriere) se face cu urm toarea


secven de program n limbaj de asamblare:
MOV
MOV
MOV
MOVX

A,#xxxx00xxB
P2,#1
R0,#40H
@R0,A

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

179

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

5.3.2.3 INTERFA A CU OPERATORUL


tastatur matriceal local cu 16 taste, cu urm toarea configura ie:
Col. 1 Col. 2 Col.3 Col. 4
Lin. 1

F1

Lin. 2

F2

Lin. 3

F3

Lin. 4

F4

Citirea tastaturii implic :


1. pozi ionarea succesiv n 0 a bi ilor corespunz tori liniilor prin
programarea corespunz toare a portului de ieiri logice (coloanele sunt
inute n 1 prin rezisten e de pull-up);
2. citirea portului de intrare tastatur ;
3. interpretarea rezultatului.
Port ieiri logice. Adresa: 140H
Bit 7 (MSB)
Linie 4
Linie 3
Linie 2
Linii tastatur matricial

Linie 1

Out _Log_ 1 Out_ Log_ 0

Send_ 1

Bit 0 (LSB)
Send _0

Manipularea portului de ieiri digitale (scriere) se face cu


urm toarea secven de program n limbaj de asamblare:
MOV
MOV
MOV
MOVX

A,#1110xxxxB
P2,#1
R0,#40H
@R0,A

Port intrare tastatur. Adresa: 120H


Bit 7 (MSB)
Linie 4
Linie 3
Linie 2
Linii tastatur matricial

Linie 1

Col 4

Bit 0 (LSB)
Col 2
Col 1
Col 3
Coloane tastatur matricial

Manipularea portului de intrare tastatur (citire) se face cu


urm toarea secven de program n limbaj de asamblare:
MOV
180

P2,#1

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV R0,#20H
MOVX A,@R0

display alfanumeric tip LCD, cu 2 linii x 16 caractere. Sistemul dispune


de un display alfanumeric cu cristale lichide cu urm toarele
caracteristici:
1. memorie intern de date pentru 80 de caractere, (Display Data
RAM);
2. generator de caractere, 160 caractere, 5x7 puncte (Character
Generator ROM);
3. generator de caractere programabil, 8 caractere, 5x7 puncte
(Character Generator ROM);
4. Display Data RAM i Character generator ROM adresabile de
microcontroller;
5. comenzi: Clear Display, Cursor Home, Display ON/OFF, Cursor
ON/OFF, Blink Character, Cursor Shift, Display Shift;
6. circuitul este resetat la punerea sub tensiune;
7. oscilator incorporat.
Unitatea de afiare recep ioneaz codul caracterului transmis de
microcontroller, memoreaz codul n memoria intern de date (Display
data RAM), convertete codul caracterului ntr-un pattern asociat ( o
matrice 5x7 puncte) i afieaz caracterul.
Unitatea de afiare dispune de asemenea de un generator de
caractere programabil (Character Generator ROM) care permite
definirea de c tre utilizator a 8 caractere speciale.
Pentru afiarea unui caracter microcontroller-ul transmite pe
magistrala de date comenzile de pozi ionare care sunt nscrise n
Registrul de Instruc iuni. Codul caracterului (ASCII) este transmis
apoi tot pe magistrala de date i nscris n Registrul de Date. Starea
unit ii de afiare este citit din Registrul de Stare. Ca urmare, este
afiat caracterul corespondent codului transmis n pozi ia specificat .
Unitatea de afiare incrementeaz / decrementeaz automat pozi ia
caracterului afiat dup fiecare intrare astfel nct este necesar numai
transmiterea succesiv a codului pentru afiarea unui ir de caractere.
Instruc iunile de control a deplas rii cursorului permit introducerea
caracterelor de la stnga la dreapta sau de la dreapta la stnga.
Unitatea de afiare este coordonat de microcontroller prin
intermediul Registrului de Instruc iuni, Registrului de Stare i a
Registrului de Date.
Registrul de Instruciuni. Adresa: 100H. Display Clear
DB7 (MSB)
DB6
DB5
DB4
DB3
0
0
0
0
0

DB2
0

DB1
0

DB0(LSB)
1

Clear enter display area, Restore display from shift, Load address counter with
DD RAM address 00H. Execution Time: max. 1,64 ms.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

181

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)


Registrul de Instruciuni. Adresa: 100H. Display /Cursor Home
DB7 (MSB)
DB6
DB5
DB4
DB3
0
0
0
0
0

DB2
0

DB1
1

DB0(LSB)
X

Restore display from shift, Load address counter with DD RAM address 00H.
Execution Time: max. 1,64ms.
Registrul de Instruciuni. Adresa: 100H. Entry Mode Set
DB7 (MSB)
DB6
DB5
DB4
DB3
0
0
0
0
0

DB2
1

DB1
I/D

DB0(LSB)
S

Specify cursor advance direction and display shift mode. This operation take
place after each data entry. I/D=1, Increment / I/D=0, Decrement / S=1, Display
Shift On. Execution Time: max. 40s.
Registrul de Instruciuni. Adresa: 100H. Display ON / OFF
DB7 (MSB)
DB6
DB5
DB4
DB3
0
0
0
0
1

DB2
D

DB1
C

DB0(LSB)
B

Specify and activation of display ( D ), cursor ( C ), and blinking of character at


cursor position. Execution Time: max. 40s.
Registrul de Instruciuni. Adresa: 100H. Display / Cursor Shift
DB5
DB4
DB3
DB7 (MSB)
DB6
0
0
0
1
S/C

DB2
R/L

DB1
X

DB0(LSB)
X

Shift display or move cursor. S/C=1, Shift Display /S/C=0, Move Cursor.
Execution Time: max. 40s.
Registrul de Instruciuni. Adresa: 100H. Function Set
DB7 (MSB)
DB6
DB5
DB4
DB3
0
0
1
DL
N

DB2
0

DB1
X

DB0(LSB)
X

Set interface data lendht (DL) and numbers of display lines (N). DL=1, 8 bits /
N=1, Dual Lines. Execution Time: max. 40s.
Registrul de Instruciuni. Adresa: 100H. CG RAM Address Set
DB7 (MSB)
DB6
DB5
DB4
DB3
DB2
DB1
0
1
Acg: Caracter Generator RAM Address

DB0(LSB)

Load the Address Counter with CG RAM Address. Subsequent data is CG RAM
data. Execution Time: max. 40s.
Registrul de Instruciuni. Adresa: 100H. DD RAM Address Set
DB7 (MSB)
DB6
DB5
DB4
DB3
DB2
1
Add: Display Data RAM Address

DB1

DB0(LSB)

Load the Address Counter with DD RAM Address. Subsequent data is DD


RAM data. Execution Time: max. 40s.
Registrul de Stare. Adresa: 102H. Busy Flag / Address Counter Read
DB7 (MSB)
DB6
DB5
DB4
DB3
DB2
BF
AC: Address Counter

DB1

DB0(LSB)

Read busy flag (BF) and contentsof address counter. Execution Time: max. 0s.
Registrul de Date ( Write). Adresa: 101H. CG RAM / DD RAM Data Write
DB7 (MSB)
DB6
DB5
DB4
DB3
DB2
Write Data

182

DB1

DB0(LSB)

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Write data to CG RAM or DD RAM. Execution Time: max. 40s.


Registrul de Date (Read). Adresa: 103H. CG RAM / DD RAM Data Read
DB7 (MSB)
DB6
DB5
DB4
DB3
DB2
Read Data

DB1

DB0(LSB)

Read data from CG RAM or DD RAM. Execution Time: max. 40s.

5.3.2.4 INTERFA A CU UN SISTEM DE CALCUL


Comunica ie serial , standard RS232, full-duplex cu rata de transfer
programabil .

5.3.3 RESURSE SOFTWARE. UTILIZARE


Resursele software disponibile:
sub sistemul de operare MS-DOS:
asamblor, A51.EXE i variante (documenta ie);
compilator C, C51.EXE;
link-er, L51.EXE;
program conversie, OHS51.EXE;
progam monitor, MT.EXE;
sub sistemul de operare WINDOWS:
Franklin Compiler 1997 (include toate facilit ile anterioare,
exclusiv program monitor).
Faza de dezvoltare a unui program de aplica ie pentru o platform
hardware coordonat de o unitate central de prelucrare cu microcontroller
80C552 const din:
Scrierea programului cu ajutorul unui editor ASCII de texte, ca de
exemplu EDIT.COM din sistemul de operare MS-DOS,
NCEDIT.EXE din programul NORTON COMMANDER sau
NOTEPAD.EXE din sistemul de operare WINDOWS (se impune
utilizarea unui editor ASCII pentru a nu se introduce caractere speciale
de control n sursa programului).
n sursa programului de aplica ie sunt declarate explicit resursele
suplimentare ale microcontroller-ului 80C552 n raport cu 8051, ntr-o
sec iune declarativ la nceput.
Programul surs de aplica ie poate fi scris n limbajul de asamblare
al familiei de microcontroller-e 8051, caz n care numele s u va fi
PROGRAM.ASM sau ntr-o variant specializat a limbajului C
pentru familia de microcontroller-e 8051, caz n care numele s u va fi
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

183

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

PROGRAM.C.
Asamblarea sursei programului de aplica ie, scris n limbaj de
asamblare, cu ajutorul asamblorului A51.EXE, specializat pentru
familia de microcontroller-e 8051, folosind sintaxa: A51.EXE
PROGRAM.ASM
n urma execut rii asambl rii programului surs de aplica ii,
asamblorul A51.EXE genereaz dou fiiere:
PROGRAM.LST, un fiier list ce este destinat localiz rii
eventualelor erori rezultate n urma procesului de asamblare i
PROGRAM.OBJ, un fiier de tip obiect, care va fi folosit n
continuare pentru ob inerea formatului executabil;
sau, Compilarea sursei programului de aplica ie, scris n limbaj C, cu
ajutorul asamblorului C51.EXE, specializat pentru familia de
microcontroller-e 8051, folosind sintaxa: C51.EXE PROGRAM.C
Ob inerea formatului executabil, de tip INTEL HEX, pe baza
fiierului de tip OBJ, folosind programul OHS51.EXE cu sintaxa:
OHS51.EXE PROGRAM.OBJ

sau
OHS51.EXE PROGRAM

Este generat fiierul executabil PROGRAM.HEX ce constituie


programul propriu-zis de aplica ie.
Ca orice fiier n format HEX, acesta ncepe cu un header ce
con ine num rul de octe i ai programului, adresa la care este organizat
programul (specificat prin directiva ORG n prima linie), urmat de
corpul programului i se ncheie cu o sum de control.
Rularea programului PROGRAM.HEX presupune rularea pe un
calculator gazd , de tip PC, a programului monitor al unit ii centrale
cu microcontroller 80C552, denumit MT.EXE, care are n primul rnd
rolul de a stabili comunica ia serial ntre sistemul cu microcontroller
i calculatorul de tip PC.
Sintaxa este: MT.EXE X
n care X=1, 2, 3, 4 specific indicativul portului serial utilizat pentru
comunica ie (1 specific portul serial COM1, 2 specific portul serial
COM2, 3 specific portul serial COM3, 4 specific portul serial
COM4). Dac parametrul X lipsete, este utilizat n mod implicit
portul serial COM1.
Stabilirea comunica iei seriale ntre cele dou sisteme (pe viteza de
9600 bauds, folosind cuvinte de date cu lungimea de 8 bi i, f r
paritate, cu un bit de STOP i protocol XON-XOFF) este indicat prin
apari ia pe display-ul sistemului de calcul a unui mesaj, urmat de
prompter-ul de monitor (caracterul #).
184

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Transferarea programului de aplica ie. n acest stadiu poate fi


transferat c tre sistemul cu microcontroller programul de aplica ie,
PROGRAM.HEX, folosind comanda de up-load F2 i indicnd
numele programului de aplica ie.
Urmeaz procesul de up-load, indicat prin apari ia pe display-ul
calculatorului a unei succesiuni de linii, de lungime constant cu
excep ia ultimei, ce ncep cu #:_, i sunt alc tuite din cte 16 octe i
n format hexa (date) plus un octet sum de control.
La terminarea transferului de date pe leg tura serial , pe display-ul
calculatorului apare prompter-ul de monitor (caracterul #).
Lansarea n execu ie a programului se execut cu comanda de
monitor GO ADR, n care ADR reprezint adresa la care este
organizat programul n memoria de date a microcontroller-ului,
specificat n prima linie a acestuia prin directiva ORG.
Sintaxa este urm toarea: G 8000

5.3.4 RUTIIN
NE DE BAZ PENTRU MANIPULA
REA
IPULAR
RESURSELO
R SISTEMULUI DE DEZVOLTARE
OR
;*****************************************************************
;* PROGRAM CONVERSIE A / D 80C552 CU MONITOR 80X51 PE UN CANAL
;*
DE INTRARE SELECTABIL SI AFISARE IN HEXA, PE TREI CIFRE,
;*
A VALORII TENSIUNII DE INTRARE CONVERTITA PE PRIMII 8 BITI
;*****************************************************************
; Programul citeste de la tastatura locala una dintre tastele
; apasate. Corespunzator codului tastei se selecteaza unul dintre
; cele 8 canale analogice de intrare (daca codul tastei este 0..7),
; se converteste ; tensiunea aplicata intrarii selectate
; (ADC0 ... ADC8) si se afiseaza rezultatele conversiilor, sub forma
; hexa, pe trei cifre.
; Registrul ADCON contine fanioanele de control a conversiei, precum
; si cei mai putin semnificativi doi biti ai conversiei, astfel:
;
ADCON.7 = bitul 1 al conversiei
;
ADCON.6 = bitul 0 al conversiei
;
ADCON.5 = 0 (start conversie numai soft)
;
ADCON.4 = 0
;
ADCON.3 = 1 (start conversie)
;
ADCON.2, ADCON.1, ADCON.0 - specifica canalul analogic de
; intrare
;
ADCH - registru cu primii 8 biti semnificativi ai conversiei,
; dupa ce bitul ADCON.4=1.
; Conform documentatiei microcontrollerului 80C552, pentru
; registrele ADCON si ADCH s-a atribuit spatiul din memoria RAM
; interna de la adresele 0C5H, respectiv 0C6H.
; Spatiul utilizator incepe de la adresa 8000H, deci acest program
; va fi stocat incepand de la aceasta adresa.
ORG
8000H
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

185

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)


; declararea adreselor RAM ale resurselor suplimentare
ADCON
equ
0C5H
ADCH
equ
0C6H
;
; progam principal
LJMP INIT
; long jump la rutina de initializare
; afisaj cu cristale lichide LCD
INIT: ACALL INILCD
; apel rutina de initializare afisaj
ACALL CLRLCD
; apel rutina stergere LCD
ACALL KEYBRD
; citire tastatura
ACH: CLR
A
; initializeaza acumulatorul cu 0
MOV
ADCON,A
; initializeaza registrul de comanda A/D
MOV
A,R1
; se pune in acumulator codul canalului
; de intrare selectat de la tastatura
ORL
A,#08H
; bitii de control
MOV
ADCON,A
; start conversie prin software
WAIT: MOV
A,ADCON
; A:=registrul de stare al A/D
JNB
ACC.4,WAIT
; asteapta terminarea conversiei
MOV
A,ADCH
; citeste rezultatul conversiei
MOV
A,ADCH
; se restaureaza rezultatul conversiei
MOV
B,#33H
; impartire cu 51=255/5
DIV
AB
; obtine cifra unitatilor
PUSH ACC
; salveaza cifra unitatilor in stiva
MOV
A,B
; reface restul 1
MOV
B,#10
; B:=10
MUL
AB
; inmultire cu 10
MOV
R7,A
; stocheaza octet inferior rezultat
MOV
A,B
; restaureaza octet superior rezultat
ANL
A,#01H
; test depasire
JNB
ACC.0,LABEL1 ; salt continuare daca nu e depasire
ADD
A,#4
; calculul partii semnificative a catului
LABEL1:
CLR
C
; anuleaza CARRY
MOV
R4,A
; stocheaza partea semnificativa a catului
MOV
B,#33H
; impartire cu 51=255/5
MOV
A,R7
; restaureaza octet inferior rezultat
DIV
AB
; calculeaza cat 1 partial
ADD
A,R4
; calculeaza prima zecimala
PUSH ACC
; salveaza prima zecimala in stiva
MOV
A,B
; reface restul 2
MOV
B,#10
; B:=10
MUL
AB
; inmultire cu 10
MOV
R7,A
; stocheaza octet inferior rezultat
MOV
A,B
; restaureaza octet superior rezultat
ANL
A,#01H
; test depasire
JNB
ACC.0,LABEL2 ; salt continuare daca nu e depasire
ADD
A,#4
; calculul partii semnificative a catului
LABEL2:
CLR
C
; anuleaza CARRY
MOV
R4,A
; stocheaza partea semnificativa a catului
MOV
B,#33H
; impartire cu 51=255/5
MOV
A,R7
; restaureaza octet inferior rezultat
DIV
AB
; calculul cat 2 partial
ADD
A,R4
; calcul a doua zecimala
PUSH ACC
; salveaza a doua zecimala in stiva
MOV
A,R1
; numarul canalului selectat
ACALL HEXASC
; converteste in ASCII
186

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV
MOV
ACALL
MOV
MOV
ACALL
POP
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
POP
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
POP
ACALL
MOV
MOV
ACALL
MOV
MOV
ACALL
AJMP
HEXASC:
ANL

R4,A
R2,#0C7H
WRCMD
A,R4
R2,A
TRX
ACC
HEXASC
R4,A
R2,#0CDH
WRCMD
A,R4
R2,A
TRX
ACC
HEXASC
R4,A
R2,#0CCH
WRCMD
A,R4
R2,A
TRX
ACC
HEXASC
R4,A
R2,#0CAH
WRCMD
A,R4
R2,A
TRX
ACH

JNB
JB
JNB
ADJ: ADD
NOADJ: ADD
RET
END

ACC.3,NOADJ
ACC.2,ADJ
ACC.1,NOADJ
A,#07H
A,#30H

A,#0FH

;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

stocheaza cod numar canal


adresa pentru numar canal
pozitionare cursor
restaureaza cod numar canal
R2 contine codul de afisat
scrie la LCD numar canal
a doua zecimala
convertire cod ASCII
stocheaza cod ASCII a doua zecimala
adresa pentru a doua zecimala
pozitionare cursor
restaureaza cod a doua zecimala
R2 contine codul de afisat
scrie la LCD a doua zecimala
reface prima zecimala
converteste in cod ASCII
stocheaza codul primei zecimale
adresa primei zecimale
pozitionare cursor
restaureaza codul primei zecimale
R2 contine codul primei zecimale
scrie la LCD prima zecimala
reface cifra unitati
converteste in cod ASCII
stocheaza codul unitatilor
adresa scriere unitati
pozitionare cursor
restaureaza codul unitatilor
R2 contine codul unitatilor
scriere la LCD unitati
proces ciclic de conversie
rutina de conversie hexa-ascii
se mascheaza cei patru biti mai
semnificativi ai acumulatorului
daca bitul 3 = 0 salt la NOADJ
daca bitul 2 = 1 salt la ADJ
daca bitul 1 = 0 salt la NOADJ
aduna acumulatorul cu #07H
aduna acumulatorul cu #30H
revenire din rutina HEXASC
sfarsitul programului

;*******************************************************************
;*
PROGRAM DE TESTARE A IESIRILOR MODULATE IN DURATA
;*******************************************************************
; Se genereaza la canalul 0 (pinul 4 al 80C552), respectiv la
; canalul 1 (pinul 5 al 80C552)semnale cu ; frecventa specificata de
; continutul registrului PWMP si cu factorul de umplere specificat
; de registrul ADCH, ceea ce inseamna ca, prin integrarea iesirii
; canalelor, se poate implementa un convertor D/A dual.
; Definim registrele ce memoreaza parametri semnalelor generate ca
; fiind locatii din memoria RAM interna a 80C552, avand adresele
; specificate in catalog.
; Factorul de umplere nu este acelasi pentru ambele calale de
; iesire; factorul de umplere poate varia intre 0 si 100%, prin
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

187

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)


;
;
;
;
;
;
;
;
;

modificarea continutului registrelor PWM0, PWM1.


Frecventa semnalului de iesire, acceasi pentru ambele canale, este
precizata prin intermediul continutului registrului PWMP, fiind
data de formula: f=fosc/(2*(1+PWMP)*255), in care fosc reprezinta
frecventa ceasului microcontrollerului (fosc=11,059MHz).
Semnalul este generat continuu la iesirile 4 si 5, deoarece
parametrii au fost memorati in registrele PWMP si PWM0, PWM1.
Spatiul utilizator incepe de la adresa 8000H, deci acest program
va fi stocat incepand de la aceasta adresa.
ORG
8000H
; declararea adreselor RAM ale resurselor suplimentare
PWMP equ
0FEH
PWM0 equ
0FCH
PWM1 equ
0FDH
MOV
A,#20 ; se incarca acumulatorul cu #20 pentru
; frecventa semnalului de iesire sa
; fie 1kHz=11,059MHz/(2*(1+20)*255)
MOV
PWMP,A ; se programeaza registrul PWMP
MOV
A,#55 ; incarca in acumulator valoarea imediata 55H
CPL
A
; se complementeaza acumulatorul
; doarece iesirea PWM0 este negata
MOV
PWM0,A ; reconstituire semnal analogic
MOV
A,#0AA ; incarca in acumulator valoarea imediata AAH
CPL
A
; se complementeaza acumulatorul
; doarece iesirea PWM1 este negata
MOV
PWM1,A ; reconstituire semnal analogic
END
; sfarsitul programului
;*******************************************************************
;*
PROGRAM DEMONSTRATIV DE TESTARE SI PROGRAMARE
;*
A UNUI AFISAJ CU CRISTALE LICHIDE CU DOUA LINII DE CATE
;*
16 CARACTERE FIECARE, CUPLAT LA UN SISTEM DE DEZVOL;*
TARE CU MICROCONTROLLER 80C552, CU MONITOR 80C51.
;*******************************************************************
; Dialogul cu afisajul LCD se efectueaza prin intermediul unor
; subrutine:
;
WRCMD - scrierea comenzii din registrul R2 la LCD
;
WRDAT - scrierea datelor din registrul R2 la LCD
;
WLCD - asteapta terminarea operatiunilor interne ale LCD
;
INLCD - initializarea LCD pentru transfer pe 8 biti.
; Comenzile folosite sunt:
;
CLEAR - 1
;
CURSOR HOME - 2, 3
;
MODE - 1/INC/SHIFT
;
CONTROL - 1/DysplayON/CursorON/FlashON
;
SHIFT - 1/SHIFT/RIGHT/*/*
; Spatiul utilizator incepe de la adresa 8000H, deci acest program
; va fi stocat incepand de la aceasta adresa.
ORG
8000H
; progam principal
;
LJMP INIT
; long jump la rutina de initializare
; afisaj cu cristale lichide LCD
INIT: ACALL INILCD
; initializare afisaj
ACALL CLRLCD
; apel rutina stergere LCD
188

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
ACALL SEC1
MOV
DPTR,#TEXT1

; rutina de intarziere cu o secunda


; se memoreaza in DPTR adresa de in; ceput a sirului de caractere TEXT1
ACALL MESAJ
; apel rutina de afisare mesaj
ACALL CLEAR
; apel rutina stergere temporizata
SJMP INIT
; program care se executa ciclic
INILCD:
; rutina de initializare LCD.
; Aceasta rutina trimite la LCD comanda #38H = 0011 1000B. Conform
; datelor de catalog, acesta comanda seteaza urmatorii parametri ai
; afisajului:
;
- bitul 5 - defineste aceasta comanda (function set);
;
- bitul 4(DL-Data Length)=1 seteaza dialogul pe 8 biti
;
intre procesor si LCD;
;
- bitul 3(N-Number of display lines)=1 seteaza numarul
;
liniilor afisajului ca fiind 2^N=2;
;
- bitul 2(F-Character Font)=0 seteaza forma caracterului
;
ca fiind 5*7 puncte
MOV
R2,#38H
; incarca R2 cu cuvantul de comanda
; pregatind dialogul pe 8 biti cu
; driverele de afisaj
ACALL WRCMD
; transmite comanda anterioara la
; port, efectuand programarea LCD
MOV
R4,#50
; o intarziere
DEL4MS:
; intarziere cu 4 ms, necesara functio; narii display-ului LCD
ACALL DELAY
; absolute call rutina DELAY
DJNZ R4,DEL4MS
; se decrementeaza registrul R4 si
; salt la eticheta DEL4MS daca conti; nutul acestuia este nenul
MOV
R4,#4
; se incarca R4 cu valoarea imediata 4
LINI:
; LINI seteaza modul de lucru al
; afisajului
; cu cristale lichide LCD
ACALL WRCMD
; se scrie comanda la driverele LCD
ACALL DELAY
; apel rutina DELAY
DJNZ R4,LINI
; se decrementeaza registrul R4 si salt
; la eticheta LINI daca este nenul con; tinutul acestui registru
ACALL WLCD
; testarea starii driverelor LCD
MOV
R2,#6
; seteaza modul de lucru "entry"
ACALL WRCMD
; transmite comanda la LCD
ACALL WLCD
; testarea starii driverelor LCD
MOV
R2,#0EH
; seteaza modul "display on"
ACALL WRCMD
; transmite comanda la LCD
ACALL WLCD
; testarea starii driverelor LCD
MOV
R2,#1
; stergere LCD
ACALL WRCMD
; transmite comanda la LCD
ACALL WLCD
; testarea starii driverelor LCD
RET
; revenire din subrutina INILCD
WRCMD:
; rutina WRCMD scrie o comanda la
; driverele de afisaj, in urma verificarii starii acestora. Se
; selecteaza afisajul LCD si comanda continuta de registrul R2 este
; transferata driverelor din LCD
ACALL WLCD
; se verifica starea driverelor (BF=0)
MOV
A,R2
; comanda continuta in registrul R2 e
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

189

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)


; transferata in acumulator
; se selecteaza portul LCD (S0=1)
; se selecteaza pe magistrala de adrese
; cu A0 si A1 combinatia 0000 0000 B,
; corespunzatoare scrierii unei comenzi
; la driverele afisajului LCD
MOVX @R0,A
; se scrie in driverele afisajului LCD
; (la adresa stabilita anterior) comanda
RET
; revenire din rutina WRCMD
WLCD:
; rutina ce testeaza daca este sau
; nu posibila transmiterea unui nou caracter catre LCD, pe baza in
; formatiilor furnizate de rutina RDCMD. Se testeaza bitul 7 (BF
; Busy Flag) al registrului de stare al LCD.
; Daca BF=1, inseamna ca LCD efectueaza o operatie interna si nu
; poate accepta un nou caracter.
ACALL RDCMD
; apel rutina RDCMD
JB
ACC.7,WLCD
; se verifica daca BF=1 si asteapta
; trecerea lui in 0 (terminarea ope; ratiunilor interne)
RET
; revenire din subrutina WRCL
RDCMD:
; subrutina RDCMD selecteaza afisajul
; si citeste din registru de stare starea curenta a driverelor
; acestuia, informatie care este depusa in acumulator
MOV
P2,#1
; selectie port (S0=1)
MOV
R0,#2
; se realizeaza pe magistrala de adrese
; selectia cu A0 si A1 (0000 0010 B),
; pentru a se citi starea driverelor de
; afisaj LCD
MOVX A,@R0
; se transfera in acumulator valoarea
; gasita la adresa specificata anterior
RET
; revenire din rutina RDCMD
DELAY:
; subrutina DELAY realizeaza o intarziere
; cu 80 microsecunde
MOV
R3,#17
; registrul R3 este incarcat cu valoarea
; imediata 17
; 80E-6secunde = 17 * 2instructiuni NOP *
; * 12 perioade de ceas/instructiune NOP*
; 1/11.059MHz (perioada ceas procesor)
LL1: NOP
; no operation
NOP
; no operation
DJNZ R3,LL1
; se decrementeaza registrul R3, se compa; ra continutul sau cu 0. Daca rezultatul
; compararii este 1, salt la eticheta LL1
RET
; revenire din subrutina DELAY
CLRLCD:
; subrutina de stergere a afisajului
; cu cristale lichide si setare a modului de afisare
MOV
R2,#1
; stergere afisaj LCD
ACALL WRCMD
; transmite comanda la LCD
MOV
R2,#1100B
; 1, display on, cursor off, flash off
ACALL WRCMD
; transmite comanda la LCD
RET
; revenire din rutina de CLRLCD
TRX1:
; subrutina de scriere sir de caractere
; la afisajul cu cristale lichide LCD
CLR
A
; initializeaza acumulatorul cu 0
MOVC A,@A+DPTR
; muta in acumulator adresa gasita
MOV
MOV

190

P2,#1
R0,#0

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
; la adresa @A+DPTR
A,#24H,TRCAR1; compara continutul acumulatorului
; cu #24H (codul hexa al caracterului
; $ - sfarsit de mesaj) si daca este
; diferit se efectueaza salt la eticheta
; TRCAR1
RET
; iesire din subrutina TRX1
TRCAR1:
MOV
R2,A ; muta continutul acumulatorului in
; registrul R2
ACALL WRDAT
; apel subrutina de scriere date in
; registrele afisajului LCD
INC
DPTR
; adresa urmatorului caracter de scris
SJMP TRX1
; small jump la eticheta TRX1, pentru
; a scrie urmatorul caracter
TRX:
; subrutina de afisare caracter la LCD
CLR
A
; initializeaza acumulatorul cu 0
MOV
A,R2
; muta in acumulator continutul regis; trului R2
LJMP TRCAR
; long jump la eticheta TRCAR
LL7: RET
; revenire din subrutina TRX
TRCAR: MOV
R2,A
; muta in registrul R2 continutul Acc.
ACALL WRDAT
; scrie in driverele de date ale LCD
; codul caracterului de afisat
SJMP LL7
; small jump la LL7: RET
WRDAT:
; subrutina WRDAT este identica cu
; WRCMD dar este utilizata pentru scrierea la driverele LCD codul
; caracterelor ce urmeaza a fi afisate
ACALL WLCD
; testarea starii driverelor LCD
MOV
P2,#1
; se selecteaza portul LCD (S0=1)
MOV
R0,#1
; se selecteaza pe magistrala de adrese
; cu A0 si A1 combinatia 0000 0001 B,
; corespunzatoare scrierii unui caracter
; la driverele afisajului LCD
MOV
A,R2
; se transfera caracterul in acumulator
MOVX @R0,A
; se transmite caracterul driverelor LCD
RET
; revenire din rutina WRDAT
MESAJ:
; subrutina de afisare mesaj, continand
; doua linii de cate 16 caractere la afisaj cu cristale lichide
ACALL TRX1
; apel rutina de transmisie mesaj
MOV
R2,#0C0H
; pozitionare pe a doua linie
ACALL WRCMD
; scriere comanda pozitionare la LCD
INC
DPTR
; incrementare DPTR (linia a doua)
ACALL TRX1
; apel rutina de transmisie mesaj
RET
; revenire din subrutina MESAJ
CLEAR:
; subrutina de stergere si setare a
; modului de lucru a afisajului cu cristale lichide LCD
ACALL SEC1
; mentine starea afisajului 1 secunda
MOV
R2,#1
; comanda stergere display
ACALL WRCMD
; scriere comanda la LCD
MOV
R2,#2
; cursor home pe prima linie
ACALL WRCMD
; scrie comanda la LCD
RET
; revenire din subrutina CLEAR
SEC1:
; rutina de intarziere cu 0,5 secunde
; 0,5sec = (8instr.NOP x 12perioade ceas/NOP x 256 x 256)/11,059MHz
MOV
R6,#255
; se incarca registrul R6 cu #255
CJNE

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

191

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)


LOOP1: MOV
LOOP: NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ

R7,#255

; se incarca registrul R7 cu #255


; 16 instructiuni NOP

R7,LOOP

; se decrementeaza registrul R7 si
; daca este nenul, salt la LOOP
DJNZ R6,LOOP1
; se decrementeaza registrul R6 si
; daca este nenul, salt la LOOP1
RET
; revenire din subrutina SEC3
TEXT1: DB 'TESTARE DISPLAY$'
; text prezentare 1, linia 1
DB 'LCD 2lin.*16car$'
; text prezentare 1, linia 2
END
; sfarsitul programului
;*******************************************************************
;*
PROGRAM DE CITIRE A UNEI TASTATURI, CU TREI LINII SI
;*
PATRU COLOANE ( 12 TASTE FUNCTIONALE ), REALIZATA
;*
PRIN INTERMEDIUL UNUI PORT DE IESIRE SI A PORTULUI DE
;*
INTRARE AL MICROCONTROLLERULUI 80C552, CU MONITOR
;*
PENTRU FAMILIA INTEL 80C51
;*******************************************************************
; program citire in bucla a unei tastaturi de 3 linii * 4 coloane,
; pana la apasarea unei taste.
; Rezultatul citirii este convertit in hexa si memorat in registrul
; R1, urmand a fi afisat pe LCD.
; Spatiul utilizator incepe de la adresa 8000H, deci acest program
; va fi stocat incepand de la aceasta adresa.
ORG
8000H
; progam principal de citire in bucla a tastaturii
; citirea tastaturii, prin baleierea celor trei linii, citirea celor
; patru coloane si verificare daca s-a tastat ceva.
; prima linie
NEXT: MOV
A,#0E0H
; initializeaza acumulatorul cu #0E0H
; (se selecteaza prima linie de taste)
MOV
P2,#1
; selecteaza decodificatorul (A8=1)
MOV
R0,#20H
; incarca R0 cu 0010 0000 B:
; selectie port de iesire 1 (S1=0)
MOVX @R0,A
; muta continutul acumulatorului
; la portul de iesire 1 (AX0=0)
MOV
P2,#1
; selecteaza decodificatorul (A8=1)
MOV
R0,#60H
; incarca R0 cu 0110 0000B:
; selecteaza portul de intrare
MOVX A,@R0
; citeste in acumulator valorea gasita
; la adresa specificata anterior
CPL
A
; complementeaza acumulatorul
MOV
R3,A
; salveaza valoarea in registrul R3
ANL
A,#0FH
; mascheaza bitii mai semnificativi
; ai acumulatorului (codul liniei)
JZ
NEXT1
; daca A=0 (valoarea citita este 0FH; nu s-a tastat nimic),salt la eticheta
; NEXT1 (linia 1 de taste)
JNZ
COL
; daca continutul acumulatorului nu
192

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

; a doua linie
NEXT1: MOV
A,#0D0H
MOV
MOV

P2,#1
R0,#20H

MOVX

@R0,A

MOV
MOV

P2,#1
R0,#60H

MOVX

A,@R0

CPL
MOV
ANL

A
R3,A
A,#0FH

JZ

NEXT2

JNZ

COL

; a treia linie
NEXT2: MOV
A,#0B0H

COL:

MOV
MOV

P2,#1
R0,#20H

MOVX

@R0,A

MOV
MOV

P2,#1
R0,#60H

MOVX

A,@R0

CPL
MOV
ANL

A
R3,A
A,#0FH

JZ

NEXT

JNZ

COL

JB

ACC.0,COL0

;
;
;
;

este zero, salt la determinarea


codului HEXA al tastei, in functie
de linia activa si coloana pe care
este situata tasta apasata

;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

se initializeaza acumulatorul cu #0D0H


se selecteaza a doua linie de taste)
selecteaza decodificatorul (A8=1)
incarca R0 cu 0010 0000 B:
selectie port de iesire 1 (S1=0)
muta continutul acumulatorului
la portul de iesire 1 (AX0=0)
selecteaza decodificatorul (A8=1)
incarca R0 cu 0110 0000B:
selecteaza portul de intrare
citeste in acumulator valorea gasita
la adresa specificata anterior
complementeaza acumulatorul
salveaza valoarea in registrul R3
mascheaza bitii mai semnificativi
ai acumulatorului (codul liniei)
daca A=0 (valoarea citita este 0FH)
salt la eticheta NEXT
daca continutul acumulatorului nu
este zero, salt la determinarea
codului HEXA al tastei, in functie
de linia activa si coloana pe care
este situata tasta apasata

;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

se initializeaza acumulatorul cu #0D0H


se selecteaza a treia linie de taste)
selecteaza decodificatorul (A8=1)
incarca R0 cu 0010 0000 B:
selectie port de iesire 1 (S1=0)
muta continutul acumulatorului
la portul de iesire 1 (AX0=0)
selecteaza decodificatorul (A8=1)
incarca R0 cu 0110 0000B:
selecteaza portul de intrare
citeste in acumulator valorea gasita
la adresa specificata anterior
complementeaza acumulatorul
salveaza valoarea in registrul R3
mascheaza bitii mai semnificativi
ai acumulatorului (codul liniei)
daca A=0 (valoarea citita este 0FH)
salt la eticheta NEXT (prima linie)
daca continutul acumulatorului nu
este zero, salt la determinarea
codului HEXA al tastei, in functie
de linia activa si coloana pe care
este situata tasta apasata
salt la COL0, daca bitul 0 al acumulatorului este 1 (s-a apasat o
tasta de pe coloana 0)

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

193

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)


JB
JB
JB
COL0: MOV
MOV
SWAP
ANL
JB
JB
SJMP
COL1: MOV
MOV
SWAP
ANL
JB
JB
SJMP
COL2: MOV
MOV
SWAP
ANL
JB
JB
SJMP
COL3: MOV
MOV
SWAP
ANL
JB
JB
SJMP
LINIE1:
ADD
MOV
SJMP
LINIE2:
ADD
MOV
194

ACC.1,COL1

;
;
;
ACC.2,COL2
;
;
;
ACC.3,COL3
;
;
;
R1,#00H
;
A,R3
;
A
;
;
;
A,#00001111B ;
ACC.1,LINIE1 ;
ACC.2,LINIE2 ;
PLAY
;
R1,#01H
;
A,R3
;
A
;
;
;
A,#00001111B ;
;
ACC.1,LINIE1 ;
ACC.2,LINIE2 ;
PLAY
;
R1,#02H
;
A,R3
;
A
;
;
;
A,#00001111B ;
;
ACC.1,LINIE1 ;
ACC.2,LINIE2 ;
PLAY
;
R1,#03H
;
A,R3
;
A
;
;
;
A,#00001111B ;
;
ACC.1,LINIE1 ;
ACC.2,LINIE2 ;
PLAY
;
MOV
A,#04H ;
A,R1
;
R1,A
;
PLAY
;
MOV
A,#08H ;
A,R1
;
R1,A
;

salt la COL1, daca bitul 1 al acumulatorului este 1 (s-a apasat o


tasta de pe coloana 1)
salt la COL2, daca bitul 2 al acumulatorului este 1 (s-a apasat o
tasta de pe coloana 2)
salt la COL3, daca bitul 3 al acumulatorului este 1 (s-a apasat o
tasta de pe coloana 3)
s-a apasat tasta de pe coloana 0
se reconstituie acumulatorul
se interschimba bitii mai semnificativi
cu cei mai putini semnificativi ai
acumulatorului
se mascheaza bitii mai semnificativi
salt daca tasta apasata era pe linia 1
salt daca tasta apasata era pe linia 3
salt la rutina de afisare, tasta 0
s-a apasat tasta de pe coloana 0
se reconstituie acumulatorul
se interschimba bitii mai semnificativi
cu cei mai putini semnificativi ai
acumulatorului
se mascheaza bitii mai semnificativi
pentru identificarea codului liniei
salt daca tasta apasata era pe linia 1
salt daca tasta apasata era pe linia 2
salt la rutina de afisare, tasta 1
s-a apasat o tasta de pe coloana 2
se reconstituie acumulatorul
se interschimba bitii mai semnificativi
cu cei mai putini semnificativi ai
acumulatorului
se mascheaza bitii mai semnificativi
pentru identificarea codului liniei
salt daca tasta apasata era pe linia 1
salt daca tasta apasata era pe linia 2
salt la rutina de afisare, tasta 2
s-a apasat o tasta de pe coloana 3
se reconstituie acumulatorul
se interschimba bitii mai semnificativi
cu cei mai putini semnificativi ai
acumulatorului
se mascheaza bitii mai semnificativi
pentru identificarea codului liniei
salt daca tasta apasata era pe linia 1
salt daca tasta apasata era pe linia 2
salt la rutina de afisare, tasta 3
tasta apasata era pe linia 1
se aduna codul coloanei cu codul liniei
codul hexa al tastei apasate este in R1
salt la rutina de afisare, tastele 4..7
tasta apasata era pe linia 2
se aduna codul coloanei cu codul liniei
codul hexa al tastei apasate este in R1

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
SJMP
PLAY: AJMP
END.

PLAY
NEXT

; salt la rutina de afisare, tastele 8..B


; proces ciclic de citire a tastaturii

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

195

PREZENTAREA MICROCONTROLLERULUI 80C552 (PHILIPS)

196

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

6. SISTEM UNIVERSAL, MODULAR, DE ACHIZI II


DE DATE
6.1 M RIMI DE INTRARE N SISTEMUL DE ACHIZI II DE
DATE
Pentru proiectarea oric rui sistem de achizi ii de date dedicat este
esen ial studierea m rimilor de intrare prelevate din procesul studiat. Pentru un
sistem de achizi ii de date universal, ce poate fi utilizat n multe domenii de
aplica ii, cum este cel proiectat i care va fi descris, din punct de vedere
func ional, n continuare, trebuie avute n vedere o gam larg de considera ii de
proiectare, pentru a se putea ndeplini cerin ele de m surare pentru diversitatea
mare de domenii de utilizare. Se va ar ta c nregistrarea varia iei n timp a trei
tensiuni i a trei curen i permite determinarea tuturor indicatorilor i
parametrilor sistemelor electrice.

6.2 SPECIFICA IILE DE PROIECTARE ALE SISTEMULUI


DE ACHIZI II DE DATE
Analiza semnalelor electrice va fi realizat utiliznd un sistem specializat
de achizi ii de date i de analiz , de concep ie original , dispunnd de
urm toarele caracteristici:
echipament de m surare lucrnd n domeniu temporal, dispunnd de
ase canale analogice de intrare, dispunnd de urm toarele variante de
configurare:
ase canale analogice de tensiune, sau
trei de canale analogice de tensiune i trei canale analogice de curent,
sau
ase canale analogice de curent;
att intr rile de tensiune, ct i cele de curent, sunt complet
diferen iale, pentru a se putea conecta cu uurin att n scheme de
m surare de tip stea (Y), ct i triunghi ();
intr rile analogice de tensiune i de curent asigur izolarea galvanic a
semnalelor de intrare n raport cu sistemul de achizi ii de date;
intr rile analogice de tensiune i de curent permit achizi ia unor
semnale de intrare cu dubl polaritate, iar sensibilitatea intr rilor
(gama m rimilor analogice de intrare) poate fi selectat prin software;
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

197

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

circuitele de intrare de tensiune i de curent i conserv caracteristicile


de exactitate pentru o dep ire de 1,2 ori a m rimilor nominale de
intrare. De asemenea, consumul circuitelor de intrare, att de tensiune,
ct i de curent, nu dep ete 3 VA;
echipamentul de m surare permite att achizi ia sincron a celor ase
semnale analogice de intrare, ct i facilit i de supraeantionare
pentru semnalele de acelai tip (tensiune sau curent);
echipamentul de m surare asigur o conversie analog-numeric pe
8/12 bi i i cel pu in 32 de eantioane pe o period a semnalelor de
intrare de frecven fundamental (maximum 10 kHz). Aceast ultim
afirma ie este echivalent cu aceea c frecven a minim de eantionare,
pentru ase canale analogice de intrare, s fie de cel pu in 32 kHz, ceea
ce satisface teorema eantion rii a lui Shannon;
sistemul posed un grad nalt de inteligen , asigurat sub o form
distribuit de c tre o unitate central de prelucrare local a sistemului
i de c tre un calculator gazd performat, avnd rolul:
de a degreva un sistem de calcul gazd , de gestionarea procesului de
achizi ionare a semnalelor de intrare;
de a realiza identificarea perturba iilor care se manifest n sistemul
(procesul) studiat i de a adapta analiza n conformitate cu acestea,
pentru a conferi un maximum de exactitate;
de a realiza comunica ia, n forme compatibile, cu alte sisteme de
calcul, n vederea transmiterii informa iilor de stare i, eventual, de
alarmare, c tre un nivel ierarhic superior;
ntreg sistemul de achizi ie memoreaz eantioanele prelevate din
proces, iar dup ncheierea procesului de achizi ie transfer rezultatele,
pe un canal serial de mare vitez , unui sistem de calcul de tip IBM PC pentru prelucrare numeric ulterioar i afiare.
Sistemul de achizi ii de date universal, multifunc ional, proiectat integral
n acest scop i care va fi prezentat n capitolele urm toare, este un sistem
portabil, 100% compatibil cu orice calculator de tip IBM - PC sau compatibil.
Sistemul posed dou moduri de lucru:
modul supraveghere, caracterizat de o eficien mai redus - modul de
identificare a perturba iilor, care poate fi selectat att local, ct i prin
intermediul calculatorului gazd i care se execut doar local;
modul analiz, caracterizat de o eficien crescut - identificare i
analiz a perturba iilor, care se execut distribuit n cadrul sistemului i
a calculatorului gazd .
Sistemul de achizi ii de date este alc tuit din trei blocuri func ionale
importante, i anume:
interfaa de achiziii de date propriu-zis ;
unitatea central de prelucrare local;
198

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

instrumente software distribuite, incluznd:


programe de gestionare flexibil i adaptiv a procesului de
achiziie de date, dezvoltate pe calculatorul gazd i transferate prin
intermediul interfe ei seriale sistemului de achizi ii de date. Acest
subnucleu software este scris n limbajul de asamblare al familiei
de microcontroller-e 8051, pentru accesarea facil a resurselor
sistemului i, de asemenea, pentru a se minimiza i optimiza
lungimea codului executabil. O a doua posibilitate este aceea ca
acest subnucleu software s fie nscris n memoria de program a
unit ii centrale de prelucrare;
programe de comunicaie ntre sistemul de achizi ii de date i
analiz i calculatorul gazd de tip IBM - PC (host computer).
Comunica ia pe interfa a serial full duplex, este implementat n
software-ul rezident n memoria de progam a unit ii centrale de
prelucrare local , ns este completat cu un program, scris n
limbajul de nivel nalt C, pentru salvarea eantioanelor prelevate
din proces sub forma unui fiier de date cu structur compatibil cu
pachetul de programe de analiz . Exist posibilitatea de a utiliza
facilit ile de comunica ie ale platformei HP VEE pentru
memorarea eantioanelor prelevate din proces sub forma unui fiier
de date;
pachet de programe de analiz a semnalelor electrice, denumit
sugestiv ESA - Electrical Signal Analyser - i implementat sub
forma unui instrument virtual, folosind platforma HP VEE sub
sistemul de operare Windows.
Schema bloc a sistemului de achizi ii de date i analiz este prezentat n
fig. 6.1 (varianta simplificat ), iar n fig. 6.2 este prezentat structura hardware
detaliat (varianta simplificat ) a sistemului de achizi ii de date.
n urm toarele capitole vor fi prezentate detaliat elementele func ionale
ale subsistemelor componente, elementele de proiectare de baz i solu iile
originale implementate n cadrul sistemului de achizi ii de date i analiz .
ntreaga arhitectur a sistemului de achizi ii de date a fost elaborat ca s
ndeplineasc criterii de versabilitate i adaptabilitate la cerin ele n continu
modificare ale standardelor privind analiza semnalelor electrice.
Dup cum va reiei din analiza detaliat a arhitecturii sistemului de
achizi ii de date, prezentat n subcapitolele urm toare, acest instrument
combinat, hardware i software, dispune de diferite op iuni de echipare
hardware, astfel nct s asigure o exactitate ct mai ridicat de m surare i
analiz .
Concep ia acestui echipament este original , avnd la baz criteriile de
proiectare specificate n standardele interna ionale aplicabile la aceast dat .
Solu iile de cretere a exactit ii de m surare i a vitezei de achizi ie sunt rodul
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

199

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

unui efort iterativ de proiectare, n vederea utiliz rii unui num r ct mai redus de
componente electronice de nalt performan i fiabilitate, care s permit o
compatibilitate deplin a interconect rii.
Rezultatul acestui efort de proiectare const ntr-un echipament simplu,
versatil, cu facilit i crecute de adaptabilitate, fiabil, cu consum redus de energie
electric , ce respect normele de compatibilitate electromagnetic prev zute n
standardele interna ionale.
Power Line
Neutral
Host Computer Platform
Voltage
LEM
Converter

Current
LEM
Converter

Hardware Platform
(Host Computer)

Serial link
Signal
Conditioner

Signal
Conditioner

Low-pass
Filter

Low-pass
Filter

Sample/Hold
Amplifier

Sample/Hold
Amplifier

Local CPU

Data
Acquisition
Conversion

Hardware Software
Interactivities
Software Platform
(Windows)
Acquisition &
Communication
Software

Data
Acquisition
Conversion

Fig. 6.1 Schema bloc a sistemului de achizi ii de date i de analiz (varianta


simplificat ).

6.3 INTERFA A SPECIALIZAT DE ACHIZI II DE DATE A


SISTEMULUI DE ACHIZI II DE DATE
Interfa a de achizi ii de date a sistemului proiectat este o interfa sincron /asincron , destinat achizi ion rii m rimilor rapid variabile, de uz general,
folosit pentru prelevarea semnalelor de curent i de tensiune.
Criteriile principale de proiectare, utilizate pentru implementarea acestei
interfe e specializate de achizi ii de date, au la baz ob inerea unei viteze
crescute de achizi ie i asigurarea unei exactit i de m surare ct mai ridicate.

200

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

6.3.1 INTERFA A DE ACHIZI II DE DATE PROPRIU-ZIS


Interfaa de achiziii de date propriu-zis permite achizi ia simultan pe 6
canale a m rimilor electrice prelevate din proces. Interfa a de achizi ii de date
propriu-zis se compune din urm toarele blocuri func ionale:

blocul de adaptare a semnalelor analogice, cu rolul de compatibilizare


a nivelelor de tensiune i de curent cu nivelele de tensiune acceptate de
intr rile circuitelor filtrelor antialiasing, circuitelor de eantionarememorare, respectiv de convertoarele analog-digitale;
blocul filtrelor antialiasing (antirepliere);
blocul circuitelor de eantionare-memorare;
blocul circuitelor de conversie analog-digital;
blocul de interfa cu unitatea central de prelucrare local.

6.3.1.1 BLOCUL DE ADAPTARE A SEMNALELOR


ANALOGICE
Blocul de adaptare a semnalelor analogice se compune din:
trei, sau ase, convertoare curent-tensiune cu izolare galvanic
intr ri diferen iale;
trei, sau ase, amplificatoare de instrumenta ie cu izolare optic ;

cu

M surarea curen ilor, folosind convertoarele curent-tensiune cu izolare


galvanic , presupune luarea de m suri speciale pentru a se asigura o exactitate
ridicat i, de asemenea, o protec ie eficient a sistemului de achizi ii de date
(fig. 6.3).
M surarea curen ilor se efectueaz foarte simplu, cu ajutorul unui unt
nseriat cu circuitul analizat, intr rile de m surare fiind complet diferen iale.
Conectarea untului la intrarea blocului de m sur se efectueaz cu cablu
torsadat, pentru a asigura o imunitate ct mai ridicat la zgomot. Alimentarea
circuitului de intrare este izolat de alimentarea restului schemei, fiind asigurat
de o baterie, sau de o surs stabilizat de tensiune continu independent , cu
valoarea de 9V.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

201

Serial
Interface

Data
Data Bus
Bus
Command

Cut-off Frequency Selection

LE

IN

Programmable
Gain
Amplifier

D0..D6

Microcontroller

80C552
Command Register
Selection

LE
OE
WR
RD

WR
RD
CS

WR

FIFO1-H
Read

A/D Converter
MAX 181

RD

FIFO

PSEN

A/D Converter
Selection
WR
RD

WR
RD
CS

BD0..DB11

RD

FIFO
WR

A0..A14

Data
Memory
CS 32 Kbytes

RD
D0..D7

A0..A14

Program
Memory
CS 32 Kbytes
A15

FIFO2-H
Read

A/D Converter
MAX 181

RD
WR
D0..D7

FIFO1-L
Read

MODE
HBEN
BIP
DIFF

IN

Bus

Command Bus

Bus

WR

SampleHold
Amplifier

Differential
Current
Inputs

MODE
HBEN
BIP
DIFF

BD0..DB11

Low-pass
Active
Filter

Signal Conditioner /
Optical Isolation /
Overvoltage Protection

Differential
Voltage
Inputs

SampleHold
Amplifier

Low-pass
Active
Filter

D0..D6

Programmable
Gain
Amplifier

OE

Sample/Hold Command
GAIN0..GAIN2

74HCT374
Latch

Latch
74HCT374

Address
Address Bus

FIFO2-L
Read

OUT0
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7

A5..A7
IN
G1
G2

Decode
Logic

A8
A15

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

Fig. 6.2 Arhitectura detaliat a sistemului de achizi ii de date i analiz


(varianta simplificat ).

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

Clock
Circuitry

To Host Computer

202
RS-232/
RS-485

ELECTRONIC APLICAT

La baza schemei de m surare st un amplificator cu izola ie galvanic , cu


factor de rejec ie a modului comun de valoare mare (>140dB) de tip
HCPL7800. Acest circuit a fost special conceput pentru a asigura performan e
ridicate de precizie, stabilitate i liniaritate, n condi ii de medii zgomotoase,
pentru aplica ii ce necesit izolarea galvanic a semnnalelor analogice.
Circuitul HCPL7800 utilizeaz tehnologia sigma-delta (-) a
convertoarelor analog-digitale, amplificatoare cu chopper i o topologie complet
diferen ial .
Convertorul sigma-delta transform semnalul analogic de intrare ntr-un
cuvnt serial de bi i, a c rui durat este propor ional cu semnalul de intrare.
Acest cuvnt serial este codat i transmis optic c tre circuitul detector.
Semnalul detectat este decodat i este convertit n nivele analogice, precise, de
tensiune. Prin filtrarea acestor nivele de tensiune se ob ine tensiunea de ieire,
propor ional cu semnalul analogic de intrare.
Men inerea preciziei n timp i cu temperatura este asigurat de
stabilitatea amplificatoarelor interne cu chopper-e.
Intrarea circuitului este conectat la untul utilizat pentru monitorizarea
curentului.
Ieirea diferen ial a amplificatorului cu izola ie galvanic este convertit
ntr-un semnal raportat la mas cu ajutorul unui amplificator diferen ial simplu.
Astfel rela ia dintre tensiunea de ieire i curentul de intrare este:
R
VOUT = 2 R S I IN = 40 R S I IN
(6.1)
R1
Dei simpl , aceast structur necesit cteva preciz ri:
c derea de tensiune maxim acceptat la bornele untului este de 200
mV. Dac forma de und la ieire este limitat sau distorsionat , atunci
c derea de tensiune la bornele untului este prea mare;

Fig. 6.3 Schema de principiu a convertorului I-U cu izolare galvanic .


SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

203

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

amplificatorul opera ional cu care este implementat amplificatorul


diferen ial, cuplat la ieirea circuitului HCPL7800, trebuie s fie
suficient de precis pentru a nu afecta performan ele de offset i de
deriv reduse ale circuitului. n plus, acest amplificator opera ional
trebuie s fie caracterizat de o band larg de frecven i de slew-rate
mare, pentru a nu fi afectate performan ele globale de vitez ;
untul utilizat trebuie s aib o valoare mic , pentru a se minimiza
puterea disipat . De asemenea, inductan a proprie a untului trebuie s
fie ct mai redus , pentru a se asigura o precizie corespunz toare pentru
semnale de curent rapid variabile sau de frecven mare. Banda de
frecven a semnalelor de intrare determinat de circuitul HCPL7800 i
de amplificatorul opera ional ce l succede este de 65 kHz, permi nd
monitorizarea semnalelor de curent rapid variabile.
Monitorizarea tensiunilor este efectuat prin intermediul a trei amplificatoare de instrumenta ie cu izolare galvanic cu optocuploare. Aceast
metod asigur protec ia eficient a sistemului de achizi ii de date mpotriva
supratensiunilor accidentale, adaptarea precis a nivelelor de tensiune de ieire
i de intrare, impedan de intrare foarte mare, factor de rejec ie a tensiunilor i a
zgomotelor de mod comun foarte ridicat. Din p cate, dezavantajul prezentat de
aceste amplificatoare de instrumenta ie cu izolare optic este reprezentat de
liniaritatea relativ necorespunz toare a r spunsului (circa 10% procent de
neliniaritate).

6.3.1.2 BLOCUL FILTRELOR ANTIREPLIERE


Semnalele reale de tensiune sau de curent pot con ine componente
spectrale de frecven superioar frecven ei Nyquist (corespunz toare jum t ii
frecven ei de eantionare). n aceste situa ii, se manifest un efect de repliere al
spectrului semnalelor, cunoscut n literatura de specialitate sub denumirea de
alias, care falsific m sur rile. Cea mai simpl i eficient solu ie pentru
evitarea acestui fenomen const n filtrarea semnalelor originale, utiliznd un
filtru de tip trece-jos, caracterizat de o frecven de t iere egal cu frecven a
Nyquist, adic egal cu jum tate din frecven a de eantionare. Acest filtru se
numete filtru antialiasing (antirepliere).
Se impune ca atenuarea filtrului antialiasing n afara benzii de trecere s
fie mai mare de 50 dB.
Problema care se ridic n implementarea unui asemenea tip de filtru este
aceea c interfa a specializat de achizi ii de date a sistemului permite selectarea
frecven ei de eantionare prin software, ntr-un interval larg de valori. Cu alte
cuvinte, frecven a de eantionare nefiind constant , frecven a Nyquist este
variabil i deci frecven a de t iere a filtrului antirepliere trebuie s se modifice
204

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

pentru realizarea corect a func iei de eliminare a frecven elor superioare.


Avnd n vedere aceste considerente, implementarea filtrelor antialiasing
a fost realizat utiliznd un filtru activ de tip trece-jos, de ordinul al doilea,
avnd frecven a de t iere programabil digital (prin software). S-au folosit
circuite de tip MAX 271, care con in dou astfel de filtre, programabile fie n
mod independent, fie simultan, n aceeai capsul .
Structura filtrelor antialiasing este prezentat n fig. 6.4.
DATA 0 .. DATA 6

Ieire filtru A
Intrare

Intrare
filtru A
EN
Logic de
comand

EN

Ieire
circuit de
eantionarememorare

Intrare
filtru B
EN
T/H A/B

MAX 271

Ieire filtru B

+Vcc

Ieire
filtru

Comand eantionarememorare (T/R)

Fig. 6.4 Schema de conectare a filtrelor active, de tip trece-jos, programabile


(antialiasing).

Aceste circuite au implementat o interfa cu un microprocesor pe 8 bi i,


permi nd programarea frecven ei de t iere a filtrului trece-jos n 128 de pai,
prin intermediul a 7 linii de comand . Frecven a de t iere a filtrelor poate fi
programat ntre limitele 1Hz i 25 kHz.
Ecua iile care permit calcularea frecven ei de t iere a filtrului sunt:
87,5
fT =
1kHz; CODE = (0 63);f T = (1 3,75)kHz
87,5 CODE
(6.2)
262,5
fT =
1kHz; CODE = (64 127);f T = (3,75 25)kHz
137,5 - CODE
n care CODE reprezint combina ia de date aplicat terminalelor de comand ,
DATA0 DATA6 (DATA6 este bitul cel mai semnificativ). Intr rile de date ale
circuitului MAX 271 sunt compatibile att TTL, ct i CMOS.
Frecven a de t iere a filtrului nregistreaz erori dependente de datele de
programare folosite. Astfel, eroarea frecven ei de t iere este minim pentru
CODE=0, situa ie pentru care filtrele sunt ajustate special din fabrica ie, iar
eroarea maxim (circa 9,5%) se nregistreaz pentru CODE=127. n aceast
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

205

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

situa ie, frecven a de t iere a filtrului se ncadreaz n intervalul 22,6327,38


kHz.
Atenuarea n afara benzii de trecere pentru filtrele active implementate n
acest circuit este de 40 dB/decad . Pentru respectarea cerin elor de atenuare
recomandate de normativele n vigoare, s-a folosit legarea n cascad a celor
dou filtre din aceeai capsul , ob inndu-se o atenuare de 80 dB/decad .
n vederea reducerii efortului de programare a filtrelor active antialiasing,
circuitele MAX 271 sunt configurate n modul pin-programming. Acest mod
de programare este realizat prin conectarea pinului MODE la tensiunea pozitiv
de alimentare. n aceast configura ie, ambele filtre de tip trece jos sunt
caracterizate de aceeai frecven de t iere, specificat de combina ia de date
aplicat terminalelor de comand , DATA0 DATA6. Astfel programarea
ambelor filtre este realizat ntr-o singur etap (ciclu de programare).
n acest mod de func ionare, semnalele de interfa are cu magistrala
sistemului nu au nici o semnifica ie, ns utilizatorul are acces la comenzile de
activare a circuitului de eantionare-memorare intern, de selec ie a semnalului
(ieirea filtrului A, respectiv ieirea filtrului B) ce urmeaz a constitui sursa de
intrare a circuitului de eantionare-memorare i la comanda de eantionarememorare propriu-zis . Legarea n cascad a celor dou filtre permite
simplificarea comenzilor disponibile utilizatorului, astfel (conform fig. 6.4):
este activat n permanen func ionarea circuitului de eantionarememorare (T/H_EN=1);
intrarea circuitului de eantionare-memorare este ntotdeauna
constituit de ieirea filtrului B (T/H_A/B=0);
comanda de eantionare-memorare este disponibil n exterior i este
asigurat de c tre unitatea central de prelucrare local .
Circuitul de eantionare-memorare, implentat n circuitul MAX 271, este
caracterizat de urm torii parametri:
timp de stabilire (pentru o eroare de 0,1%): 500ns;
timp de achizi ie (pentru o eroare de 0,1%); 1,5s;
rata de c dere a tensiunii de ieire (n starea de memorare): 30V/s;
tensiune de decalaj (incluznd i tensiunea de offset a filtrelor): 4mV.
Impedan a de intrare a filtrelor nu este constant , ci este dependent de
frecven , fiind cuprins ntre 5M n curent continuu i 100k la 25kHz, fiind
ns suficient de mare pentru a nu introduce erori de m surare.
Bateria de filtre, ob inut prin legarea n cascad a celor dou filtre
implementate n circuitul MAX 271) este caracterizat prin distorsiuni armonice
totale mai mici de -70dB i de atenuare n band de practic 0dB.

206

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

6.3.1.3 BLOCUL CIRCUITELOR DE EANTIONAREMEMORARE SUPLIMENTARE (EXTERNE)


Deoarece semnalele de intrare, n sisteme electrice, pot fi rapid variabile
i se caracterizeaz prin prezen a armonicilor superioare, avnd frecven e
multipli ntregi ai frecven ei de 50 Hz, ct i frecven e care nu sunt multipli
ntregi ai frecven ei fundamentale, semnale care poart denumirea de
interarmonici, (n tehnic s-a constatat c numai armonicile pn la ordinul 40
dau efecte nedorite n instala iile electrice) sistemul de achizi ii de date
utilizeaz 6 circuite de eantionare-memorare. Acestea pot fi constituite fie de
circuitele de eantionare-memorare implementate n cadrul circuitelor MAX
271, fie de circuite suplimentare externe, de tip LF198, pentru a men ine la
intrarea convertoarelor analog-digitale semnalul de m surat constant
(0,25LSB) pe toat durata conversiei. De asemenea, caracterizarea unor
anumite procese impune eantionarea sincron a semnalelor de intrare. Astfel,
comanda de eantionare-memorare poate fi comun tuturor celor 6 circuite,
realizndu-se astfel o achizi ie sincron , sau poate fi individualizat la nivel de
cte un circuit, realizndu-se un proces de achizi ie asincron sau poate fi
implementat o schem cu facilit i de supraeantionare la nivel de grupuri de
cte trei circuite.
Circuitele externe folosite, de tip LF198, sunt circuite de eantionarememorare, realizate monolitic, ce utilizeaz tehnologia BI-FET pentru a ob ine
o precizie superioar att n curent continuu, ct i pentru achizi ia semnalelor
rapid variabile.
Func ionnd ca circuite repetoare, acestea sunt caracterizate printr-o
precizie de 0,002% a amplific rii i de un timp de achizi ie de 5 s, pentru o
precizie de 0,01%. Folosirea tehnologiei bipolare n realizarea etajului de intrare
asigur tensiuni de offset mici i o band larg de frecven (1MHz), f r
probleme de stabilitate. Impedan a de intrare, de 1010, permite achizi ionarea
semnalelor de excita ie ce provin de la surse de semnal cu impedan intern
ridicat , f r a fi afectat exactitatea.
Amplificatorul de ieire combin dispozitive bipolare i tranzistoare JFET
cu canal P, pentru a putea asigura rate de c dere de 5mV/min, utiliznd o
capacitate de memorare de 1F.
Se constat c aceste circuite de eantionare-memorare externe sunt mult
mai performante dect cele implementate n structura filtrelor antialiasing,
sistemul de achizi ii de date putnd fi echipat op ional cu acestea din urm .
Intr rile n circuitele de eantionare-memorare externe sunt constituite de ieirile
filtrelor B din cadrul fiec rui bloc de tip filtru antialiasing.
Trebuie ns remarcat faptul c , la cele dou tipuri de circuite, comenzile
de eantionare-memorare sunt inversate (comanda pentru starea de eantionare
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

207

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

n cazul circuitelor implementate intern n structura filtrelor antirepliere este


activ pe nivel cobort, n cazul circuitelor suplimentare externe fiind activ pe
nivel ridicat; n mod similar pentru trecerea n starea de memorare). Acest
impediment este rezolvat simplu, prin software, existnd variante de programe,
uor diferite, pentru diferitele variante de implementare hardware.
Circuitul este caracterizat de un factor de rejec ie a surselor de alimentare
ridicat (110dB), att n modul eantionare, ct i n modul memorare.
Intr rile logice ale circuitului LF198 sunt diferen iale i au curen i de
intrare mici, fiind interfa abile direct cu familiile logice TTL, CMOS.
Compensarea offset-ului static (n curent continuu) se realizeaz prin
conectarea pinului de compensare la cursorul unui semireglabil de 1k, avnd
unul din terminale legat la tensiunea pozitiv de alimentare, iar cel lalt terminal
nseriat cu o rezisten (ce trebuie s asigure un curent de aproximativ 0,6 mA
prin ponten iometru) la mas .
Compensarea offset-ului dinamic (anularea pasului de memorare) se
realizeaz prin folosirea suplimentar a unui inversor cu poten iometrul de
ajustare conectat ntre intrare i ieire. Un condesator de 10pF, conectat ntre
cursor i capacitatea de memorare, va asigura ajustarea cu 4mV a pasului de
memorare, utiliznd o capacitate de memorare de 0,01F i tensiunea de
alimentare logic de +5V.
Static offset compensation

+
R

P1

Out

AO2

AO1

In

S/H
Command

Comparator

LF198

P2
CS

CH

Dynamic offset compensation

Fig. 6.5 Schema de utilizare a circuitelor de eantionare-memorare LF 198.

n fig. 6.5 este ilustrat structura circuitelor de eantionare-memorare,


208

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

conform schemei de utilizare n sistemul de achizi ii de date (incluznd op iunile


de compensare a tensiunii de decalaj - offset-ul static - i de compensare a
pasului de memorare - offset-ul dinamic -).
Pentru o func ionare corect , semnalele logice aplicate circuitului de
eantionare-memorare LF198 trebuie s fie caracterizate de o vitez de varia ie
mai mare dect 1V/s. Semnalele de comand mai lente pot determina valori
sensibil crescute ale pasului de memorare. n situa ia concret a sistemului
proiectat, fronturile semnalelor de comand fiind asigurate de circuite din
familia TTL nu determin erori n func ionarea circuitului de eantionarememorare.

6.3.1.4 BLOCUL CONVERTOARELOR ANALOG-DIGITALE


n sistemul de achizi ii de date, mai precis n cadrul interfe ei specializate
de achizi ii, achizi ia semnalelor de intrare se efectueaz pe 12 bi i, ceea ce
permite o precizie de m surare de 0,04875%. Gama tensiunilor de intrare n
sistemul de achizi ii de date este selectabil software i/sau hardware n
intervalele:
(-0,3125 +0,3125)V;
(-0,625 +0,625)V;
(-1,25 +1,25)V;
(-2,5 +2,5)V;
(-5 +5)V;
(-10 +10)V.
Conversia analog-digital se efectueaz cu ajutorul a ase convertoare
analog-digitale, cu rezolu ie de 12 bi i, cu aproxima ii succesive, de tipul MAX
181, realizate n tehnologie CMOS.

6.3.1.4.1 DESCRIEREA FUNC IONAL A BLOCULUI DE


CONVERSIE ANALOG-DIGITAL DIN CADRUL
INTERFE EI SPECIALIZATE DE ACHIZI II DE DATE
Interfa a specializat de achizi ii de date utilizeaz ase circuite de tip
MAX181 pentru conversia analog-digital a eantioanelor de tensiune i de
curent prelevate din proces.
Circuitul MAX 181 este un sistem de achizi ii complet pe 12 bi i, care
include un multiplexor analogic de intrare cu ase canale, un circuit de
eantionare-memorare de band larg , o surs de tensiune de referin , realizat
cu o diod Zener cu deriv mic (25 ppm/oC) i o interfa flexibil cu
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

209

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

microprocesoare de 8/16 bi i, caracterizat prin vitez ridicat de transfer.


Circuitul este caracterizat printr-o rat ridicat de conversie (maxim 100
kHz pentru un canal), pentru care raportul semnal-zgomot al convertorului are o
valoare de minim 74dB iar distorsiunile armonice totale au o valoare de minim 89dB, o excelent| liniaritate (0,05LSB) i un consum redus de energie (110
mW). MAX 181 poate fi configurat software pentru conversia semnalelor
unipolare (05)V sau bipolare (-2,5+2,5)V, diferen iale sau nediferen iale, n
mod independent pe fiecare canal.
Arhitectura unui astfel de circuit este prezentat n fig. 6.6.
Capacitatea de intrare se comport ca o capacitate de memorare, fiind
nc rcat de semnalul de intrare, la fiecare conversie analog-digital . Aceast
capacitate este nc rcat prin intermediul unei rezisten e interne, cu valoare de
1k, conectat n serie cu semnalul de la intrare.
n modul de lucru nediferen ial, ntre dou cicluri de conversie (atunci
cnd semnalul BUSY este pe nivel logic ridicat), intrarea analogic selectat
este conectat la bornele capacit ii de memorare. Cnd se ini iaz o conversie,
se comand deconectarea capacit ii de memorare de la intrarea sistemului, n
acest mod realizndu-se memorarea tensiunii de intrare. Atunci cnd
comutatorul se nchide, la sfritul conversiei, capacitatea de memorare este
reconectat la semnalul de intrare, urmnd un nou ciclu de nc rcare. Efectul de
sarcin al intr rilor multiplexorului analogic asupra semnalelor de intrare este
foarte redus, astfel nct, de obicei, nu este necesar folosirea unui repetor de
vitez mare, deoarece convertorul analog-digital este deconectat de la terminalul
de intrare, pe durata conversiei curente.
Durata necesar circuitului de eantionare-memorare pentru achizi ionarea
semnalului de intrare depinde de constanta de timp a procesului de nc rcare a
capacit ii de memorare. Dac impedan a sursei de semnal este mare, timpul de
achizi ie se lungete i determin sc derea ratei de conversie. Timpul de
achizi ie al semnalului poate fi calculat astfel (fig. 6.7):
t S = 10 (R S + R IN ) 20pf > 1,875s
(6.3)
n care:
tS reprezint timpul de eantionare;
RS este impedan a sursei de semnal;
RIN =1k
Circuitul de eantionare prev zut la intrarea convertorului analog-digital
este realizat pentru a optimiza urm rirea semnalelor cu amplitudini mari i
band larg de frecven . Banda de frecven tipic a circuitului de eantionarememorare este de 6MHz, permi nd m surarea semnalelor periodice cu
frecven e superioare vitezei maxime de eantionare de 100kHz pentru care este
garantat rezolu ia de 12 bi i, folosind tehnica supraeantion rii.
Din structura fiec rui convertor este utilizat doar un singur canal de
intrare al multiplexorului analogic implementat intern, acest canal monitoriznd
210

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

cte o m rime de intrare asociat fiec rei faze a re elei trifazate. Fiecare
convertor are prev zute reglaje de offset (ajustare a zeroului) i un reglaj comun
de ajustare a ctigului (prin ajustarea tensiunii de referin ). Toate cele trei
convertoare sunt selectate prin intermediul unui semnal de selec ie unic, astfel
nct, la un moment de timp, poate fi declanat un proces de trei conversii
analog-digitale, n paralel. Motiva ia aceastei solu ii de implementare rezid n
alegerea drept criteriu principal de proiectare creterea vitezei de achizi ie a
interfe ei specializate de achizi ii de date. Convertoarele MAX181 func ioneaz
n modul de lucru port de intrre-ieire, pe 16 bi i, lucru realizat prin conectarea
semnalelor de configurare HBEN=0 i MODE=1. Convertoarele folosesc
sursa de tensiune de referin intern a unui singur convertor. Aceast facilitate
asigur o precizie sporit a procesului de conversie analog-digital .
MUXOUT

ADCIN

REFADJ

MAX 181

AIN0
AIN1
AIN2
AIN3
AIN4
AIN5

S/H
MUX
COMP

REFIN

DAC

REFOUT
REFADJ

REF
SAR

CONTROL

LATCH
3-STATE

CONTROL

BUSY

DB0..DB11

Fig. 6.6 Structura sistemului de achizi ii de date MAX 181.


TRACK-AND-HOLD AND COMPARATOR
R

IN

ADCIN

AIN_ (DIFF=1)
AGND (DIFF=0)

C
5pF

H O L D

TRACK

COMPARATOR

IN

HOLD
C
20pF
S W

5k

IT C H

TRACK

HOLD

Fig. 6.7 Circuitul de eantionare-memorare al convertorului MAX 181.


SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

211

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

Parametrii conversiei curente (modul de func ionare al convertorului prin intermediul semnalelor HBEN i MODE -, gama tensiunii de intrare,
configura ia intr rilor - unipolare sau bipolare, diferen iale sau nediferen iale -,
prin intermediul semnalelor BIP, respectiv DIFF), selec ia canalului de intrare)
pot fi programate software de c tre unitatea central de prelucrare local , prin
intermediul unui registru de comand i configurare. Aceast programare a
parametrilor de conversie trebuie efectuat la fiecare proces de achizi ie; de fapt
aceast opera ie declaneaz i procesul de achizi ie. Declanarea conversiei se
efectueaz n dou etape:
printr-o instruc iune de scriere, se configureaz registrul de comand ;
printr-o a doua instruc iune de scriere, se transfer con inutul registrului
de comand i configurare c tre convertoarele MAX181 i se ncepe un
ciclu sincron de conversie analog-digital .
Din cele prezentate anterior, se constat c liniile de configurare ale
registrelor de stare, implementate n structura circuitelor, nu sunt comune cu
liniile inferioare ale ieirilor de date.
Un ciclu de conversie dureaz 15 perioade de ceas, dintre care 3 sunt
necesare pentru achizi ionarea semnalului de intrare de c tre circuitul de
eantionare-memorare intern, iar celelalte 12 sunt efectiv necesare pentru
efectuarea conversiei analog-digitale prin metoda aproxima iilor succesive.
Frecven a maxim a ceasului este de 1,66MHz, ceea ce conduce la o durat a
ciclului de 8,33s.
Pentru a se realiza software selectarea gamelor semnalelor analogice de
intrare, a fost adoptat solu ia implement rii unui amplificator cu ctig reglabil,
conectat ntre ieirea circuitului de eantionare-memorare extern i intrarea
propriu-zis n convertorul analog-digital.
74HCT574

+5V
MUXOUT

ADCIN
AIN0

1k

MAX 400
VIN

16k
AIN1
8k
AIN2

A2
A1
A0
BIP
DIFF
HBEN
MODE

4k
AIN3
2k

GAIN2
GAIN1
GAIN0
BIP=1
DIFF=0
HBEN=0
MODE=1
T/H|T/H

Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0

D7
D6
D5
D4
D3
D2
D1
D0
LE
OE

D7
D6
D5
D4
D3
D2
D1
D0
LE=CSR x WR
OE

AIN4
1k
AIN5
1k

DB0..DB11

DB0..DB11

MAX 181

Comand de eantionare-memorare

Fig. 6.8 Amplificatorul cu ctig reglabil i comanda convertorului MAX181.

Componentele utilizate pentru realizarea acestui bloc func ional al


212

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

sistemului de achizi ii de date trebuie s ndeplineasc criterii foarte stricte de


exactitate i stabilitate.
Astfel, amplificatorul opera ional utilizat a fost ales de tip MAX 400,
fiind caracterizat de amplificarea n bucl deschis foarte mare (tipic 110 dB),
de o tesiune de offset extrem de mic (< 1V) i de o stabilitate n timp i cu
temperatura foarte bune.
Prin utilizarea unor rezisten e de precizie (cu toleran de 0,01%),
caracterizate i de o bun stabilitate n timp i cu temperatura, i care au o
valoare sensibil mai mare dect rezisten a n stare de conduc ie a canalului
selectat al multiplexorului analogic implementat intern n structura convertorului
analog-digital - pentru a se putea neglija efectul acesteia n calculul amplific rii
circuitului -, de exemplu minim 1k, s-a realizat un circuit cu ctig reglabil
(programabil software prin selectarea canalului de intrare al convertorului
analog-digital MAX181) de nalt precizie i performan .
n cazul prezentat n fig. 6.8, nivelurile de amplificare rezult 1, 2, 4, 8,
16, 32. Recalcularea valorilor rezisten elor, conform rela iei (caracteristica de
transfer a unui amplificator neinversor cu amplificator opera ional):
Ai = 1 +

Rk
i

k =1
6

Rk

(6.4)

k =i +1

conduce la ob inerea unor niveluri de amplificare diferite, conform dorin elor.


O variant op ional de a realiza software selectarea gamelor semnalelor
analogice de intrare, const n intercalarea ntre ieirea circuitului de
eantionare-memorare, implementat intern n structura convertorului MAX 181,
i intrarea n circuitul propriu-zis de conversie analog-numeric , din structura
aceluiai circuit, a unui amplificator cu ctig reglabil (fig. 6.9).
Multiplexorul care comand rezisten a de pe bucla de reac ie a
amplificatorului opera ional, folosit n configura ie de amplificator neinversor,
este un multiplexor adresabil, realizat n tehnologie CMOS, fiind caracterizat de
o rezisten a canalului n starea ON (n conduc ie) foarte mic (circa 5). De
asemenea, mperecherea canalelor este foarte precis , abaterile rezisten elor
canalelor n starea ON fiind sub valoarea de 0,25%. Multiplexorul folosit, de tip
MAX 368, este caracterizat i de protec ia intr rilor contra supratensiunilor
accidentale: un canal, indiferent dac este n stare de conduc ie sau de blocare,
suport o tensiune de intrare de maximum 45 V, chiar dac circuitul nu este
alimentat. Un canal selectat (n stare de conduc ie) va trece n stare OFF la
aplicarea pe intrarea corespunz toare a unei supratensiuni.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

213

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE


1k
+5V

ADCIN

+15V

MUXOUT

MAX 400
V+
64k
32k
16k
8k
4k
2k
1k
1k

IN0
IN1

OUT

IN2
IN3
IN4

ANALOG
MUX
MAX 368

SEL2

IN5

SEL1

IN6

SEL0

IN7

WR

GAIN2
GAIN1
GAIN0

EN
AGND

V-

-15V

Fig. 6.9 Schema electric a amplificatorului cu ctig reglabil (variant


op ional ).

n cazul prezentat n fig. 6.9, nivelurile de amplificare rezult de tipul 2i ,


n care i = 07. Recalcularea valorilor rezisten elor permite ob inerea unor
niveluri de amplificare diferite, conform necesit ilor.
Deoarece este realizat n tehnologie CMOS i func ioneaz n modul
dispozitiv de intrare-ieire, ale c rui diagrame temporale sunt prezentate n fig.
6.10, ieirile de date ale convertorului de tip MAX 181 sunt sensibile la
activitatea pe magistrala de date a sistemului pe durata efectu rii unei conversii.
Tranzi iile de pe magistrala de date a sistemului pe durata efectu rii unei
conversii cauzeaz erori n func ionarea comparatorului ce comand registrul de
aproxima ii succesive i, deci, produce erori n rezultatul conversiei. Pentru
rezolvarea acestei probleme s-a adoptat solu ia ca ieirile de date ale
convertoarelor s fie prev zute cu cte o memorie FIFO (First In First Out) cu
lungimea cuvntului de 16 bi i, de tip Am7204A, n defavoarea celeilalte solu ii
posibile: introducerea procesorului din unitatea central de prelucrare local n
stare de ateptare pe durata efectu rii conversiei, deoarece prima solu ie duce la
creterea vitezei de achizi ie (fig. 6.10). De asemenea, utilizarea acestor memorii
permite achizi ionarea datelor cu o frecven ridicat i citirea acestora, de c tre
unitatea central de prelucrare, cu o rat mai redus
Adncimea memoriilor FIFO, adic num rul de loca ii ale acestora, este
ales n func ie de num rul maxim de eantioane care vor fi prelevate din re eaua
electric trifazat (n fig. 6.11 este utilizat o memorie FIFO cu 4096 loca ii).
Extinderea capabilit ilor de memorare poate fi realizat foarte uor, prin
214

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

utilizarea unor memorii de tip Am7205A (cu 8192 loca ii), deoarece circuitele
sunt compatibile pin la pin.
Blocul memoriilor FIFO dispune de o intrare de ini ializare care este
comandat de c tre circuitul de ini ializare al unit ii centrale de prelucrare
local .
Citirea rezultatelor ob inute n urma efectu rii conversiei se face printr-o
singur instruc iune de citire, ceea ce determin nscrierea datelor de ieire ale
fiec rui convertor (pe doi octe i) n cte o pereche de memorii FIFO. O func ie
logic de tip SAU ntre semnalul de citire furnizat simultan celor ase
convertoare i semnalul comun de selec ie al acestora determin nscrierea
simultan a datelor de ieire n memoriile FIFO. n urma acestei opera ii, se
poate comanda o nou conversie.
CS
WR
RD
BUSY
DATAIN

VALID
DATA

VALID
DATA
NEW
DATA
DB0..DB11

DATAOUT
HOLD
SAMPLE
3 CLK

Fig. 6.10 Diagramele de func ionare ale convertorului analog-digital.

Scrierea n memoria FIFO determin incrementarea att a pointer-ului de


scriere, ct i a pointer-lui de citire. Procesul de memorare continu pn la
memorarea temporar a num rului prestabilit ini ial de eantioane sau pn la
umplerea memoriei. n oricare dintre aceste dou situa ii, la ncheierea
opera iilor de memorare, se activeaz facilitatea de RETRANSMIT, prin
activarea semnalului RT, fie de c tre semnalul FF (FIFO Full), fie de c tre un
semnal dedicat ini ializ rii ciclului de citire.
Memoriile FIFO au ieiri de tip three-state, preluarea con inutului
f cndu-se cu ajutorul unor semnale de selec ie distincte. Aceste semnale sunt
ob inute prin condi ionarea ieirilor unui decodificator de porturi (adrese) cu
semnalul de citire al procesorului. Prin manipularea seven ial a seturilor de
ieiri three-state ale memoriilor FIFO se realizeaz , de fapt, multiplexarea
numeric a datelor de ieire, ob inute n urma procesului de conversie analogdigital .
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

215

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

Pentru a facilita preluarea i interpretarea rezultatelor, semnalul de


selec ie MSBYTE, corespunz tor fiec rui convertor, permite preluarea, pe cei
patru bi i mai pu in semnificativi, a informa iilor de pe liniile de ieire
DB11DB8 ale circuitelor, iar semnalul de selec ie LSBYTE determin preluarea
informa iile de pe liniile de ieire DB7DB0.
Comand scriere

WR

Comand citire

RD
Semnal selecie convertor

CS
Scriere
FIFO

MAX181
DB0..DB11

DB0..DB7

Am7204A
DIN
DOUT

Semnal
selecie
LSByte

Citire
FIFO_L

D0..D7

74HCT32

XI

Magistral

de date

D0..D7

DB0..DB11

DB8..DB11

Am7204A
DIN
DOUT
XI

RS RT FF

D0..D7
Semnal
selecie
MSByte

Citire
FIFO_H
74HCT32

RESET
74HCT32

Fig. 6.11 Buffer-area ieirilor de date ale convertorului A/D cu memorii FIFO.

Bi ii mai semnificativi, neutiliza i, ai memoriei FIFO selectat cu


semnalul MSBYTE vor con ine informa iile referitoare la nivelul de amplificare
programat, astfel:
cei trei bi i mai semnificativi preiau informa ia de selec ie a amplific rii
din registrul de comand ;
cel de-al patrulea bit preia informa ia de dep ire de la un comparator
cu fereastr ; tensiunile de referin ale acestuia sunt ob inute de la sursa
de referin a intern a sistemului de achizi iii MAX181.
Prin alocarea diferit a bi ilor de date de la convertorul analog-digital
MAX 181 la liniile de intare ale memoriilor FIFO, se poate realiza foarte uor
comutarea software ntre rezolu ia de interpretare a rezultatelor conversiilor pe
12/8 bi i.
Trebuie remarcat simplitatea modului de interfa are a blocului de
conversie analog-digital cu unitatea central de prelucrare: prin intermediul
unor porturi de intrare-ieire.
Aceast structur simpl , dar, n acelai timp, eficient , a fost adoptat
pentru a p stra o compatibilitate deplin cu modul de organizare al
216

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

microcontroller-ului 80C552 (sub form de porturi cu func ii dedicate), ce st la


baza unit ii centrale.
Pentru evitarea problemelor de sincronizare ce pot apare n func ionare
(semnalele de selec ie, citire i scriere asociate convertorului trebuie s fie
corelate cu ceasul acestuia), ceasul, folosit de convertor pentru efectuarea
conversiilor, este ob inut prin divizare din ceasul unit ii centrale de prelucrare.
Timpul minim de achizi ie, compus din:
timpul de eantionare (maxim 5s),
timpul de stabilire a ieirii circuitelor eantionare-memorare (maxim
0,5s),
timpul de conversie analog-digital (maxim 9,5s),
la care se adaug durata instruc iunilor de selec ie a parametrilor
conversiei i de comand a unei conversii analog-digitale, de comand
a circuitului de eantionare-memorare (4s)
rezult de maximum 19s, ceea ce permite o frecven de achizi ie de 51,2 kHz
pe un canal, extrem de util n aplica iile de acest tip necesitnd analiz spectral
a semnalului eantionat.

6.3.1.5 BLOCUL DE CONVERSIE DIGITAL-ANALOGIC


Sec iunea ieirilor analogice este implementat utiliznd un circuit de tip
MAX526, ce con ine patru convertoare digital-analogice pe 12 bi i cu ieire n
tensiune. Circuitul include amplificatoare opera ionale de precizie de tip buffer
pentru a asigura ieirile n tensiune. Pentru func ionare circuitul MAX526
necesit o tensiune de alimentare pozitiv , n gama (+12 +15)V, precum i o
tensiune de alimentare negativ , cu valoarea de -5V, n raport cu tensiunea de
referin a schemei (masa electric 0V). Tensiunile de offset, amplific rile i
liniaritatea sunt ajustate tehnologic, astfel nct eroarea total s nu dep easc
VREF
V
).
=
1LSB (1LSB = REF
4096
212
Acest circuit dispune de o interfa digital dublu buffer-at , prin
intermediul unui registru de intrare de 12 bi i i a unui registru al convertoarelor
D/A de 12 bi i. Cuvntul nscris n acest din urm registru este folosit pentru
ob inerea tensiunii de ieire a convertorului. MAX526 poate fi interfa at cu un
microcontroller sau cu un microprocesor prin intermediul unei magistrale
externe de date, cu lungimea de un octet. Cuvntul de programare este nscris n
registrul de intrare prin intermediul a dou instruc iuni de scriere (activarea
semnalului de scriere pentru cei 8 bi i mai pu in semnificativi, respectiv pentru
cei mai semnificativi 4 bi i). Este disponibil i un semnal asincron de nc rcare a
registrului convertorului A/D, denumit LDAC i care este activ pe nivel logic
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

217

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

cobort. Toate intr rile logice sunt compatibile att TTL, ct i CMOS.
MAX526 con ine patru convertoare A/D cu ieire n tensiune. Convertoarele A/D sunt de tip re ea rezistiv R-2R inversat , care convertete
cuvntul digital de intrare, pe 12 bi i, ntr-o tensiune de ieire propor ional cu
acesta i dependent de tensiunea de referin extern aplicat convertorului.
Circuitul dispune de dou intr ri de tensiune de referin : o prim intrare este
partajat de convertoarele D/A A i B ( VREFA / B ); cea de-a doua tensiune de
referin este utilizat de c tre celelalte dou convertoare, respectiv C i D
( VREFC / D ). Aceste intr ri pentru tensiunile de referin , aplicate din exterior,
permit ob inerea unor game de tensiuni de ieire diferite pentru cele dou
perechi de convertoare digital-analogice, A i B pe de o parte, respectiv C i D
pe de alt parte.
Circuitul MAX526 poate fi utilizat n aplica ii ce necesit multiplicarea
analogic a semnalelor de intrare. Tensiunile de referin pot fi att tensiuni
continue ct i tensiuni alternative. Tensiunea extern aplicat fiec rei intr ri
VREF determin cap tul de scal al tensiunilor de ieire pentru fiecare pereche de
convertoare D/A. Impedan a de intrare prezentat de aceste intr ri este
dependent de codul binar aplicat intr rilor digitale ale circuitului. Valoarea
minim a impedan ei de intrare, cu valoarea tipic de 6k, apare pentru codul
binar de intrare cu valoarea 0101 0101 0101. Valoarea maxim a impedan ei de
intrare, cu valoarea tipic de 60k, se manifest pentru codul binar de intrare cu
valoarea 0000 0000 0000. Valoarea impedan ei intr rilor pentru tensiunile de
referin , dependent de valoarea codului de intrare binar aplicat circuitului,
necesit stabilizarea tensiunilor de referin externe. Este, de asemenea, necesar
ca sursele de tensiune extern de referin s fie caracterizate de o impedan de
ieire ct mai mic , n special la frecven e mari.
Impedan a minim de intrare garantat este de 5k. Atunci cnd ambele
intr ri sunt comandate de aceeai surs extern de tensiune de referin ,
impedan a minim garantat este de 2,5k. O prim modalitate de asigurare a
unei exactit i ct mai ridicate const n utilizarea unor surse externe de referin
ct mai stabile (de exemplu, tensiunea de ieire a sursei de tensiune de referin
MAX674 ( VREF = 10V ) variaz cu maximum 0,33LSB dac comand dou
intr ri n loc de una singur . Performan e mai bune pot fi ob inute prin utilizarea
unor circuite cu caracteristici de stabilitate superioare, cum ar fi de pild
MAX670/MAX671.
O a doua metod de ob inere a unei exactit i ct mai ridicate const n
buffer-area cu un amplificator opera ional de precizie a sursei de tensiune de
referin . Impedan a de ieire a amplificatorului func ionnd n bucl de reac ie
negativ trebuie s fie mai mic dect 0,05 . Aceast valoare a impedan ei de
ieire asigur o eroare maxim de 0,08 LSB n cazul n care sunt comandate
ambele intr ri. Se recomand utilizarea unui amplificator opera ional de precizie
218

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

ridicat , de tip MAX400 sau OP07.


Capacitatea intr rilor de tensiune de referin
este, de asemenea
dependent de codul binar aplicat intr rilor digitale ale circuitului i variaz
ntre 125pF 300pF.
Ieirile A/D pot fi reprezentate ca nite surse de tensiune controlate
N
numeric: VOUTi = B VREF ;i = A D , n care N B reprezint valoarea
4096
zecimal a codului binar aplicat la intr rile numerice ale circuitului
N B = 0 4095 .
Amplificatoarele interne de tip buffer cu care sunt prev zute ieirile celor
patru convertoare D/A din cadrul circuitului MAX526 sunt n configura ie de
repetoare de tensiune i sunt caracterizate printr-un slew-rate tipic de 5V/s.
Aceasta determin ca timpul de stabilire a ieirii, n limite de 0,5LSB, pentru o
excursie de 10V la ieire, s fie tipic 3s. Condi iile n care a fost determinat
acest timp sunt caracterizate printr-o sarcin de 5k || 100pF
Intr rile digitale ale circuitului MAX526 sunt compatibile TTL i CMOS.
Circuitul dispune de o interfa digital cu un microprocesor, pe 8 bi i. Structura
de intrare este dublu buffer-at i este constituit dintr-un registru de intrare de
12 bi i (8+4) i un registru corespunz tor fiec rui convertor A/D. Tensiunea de
ieire a fiec rui convertor reflect cuvntul memorat n registrul DAC
corespunz tor. Liniile de adres A0 i A1 sunt utilizate pentru a selecta care dintre
convertoare primete date de la magistral , aa dup cum reiese din urm torul
tabel:
A1

A0

REGISTRUL DE INTRARE
SELECTAT

L
L
H
H

L
H
L
H

registru de intrare DAC A


registru de intrare DAC B
registru de intrare DAC C
registru de intrare DAC D

Intr rile CSLSB , CSMSB , WR permit nc rcarea datelor de pe


magistral n registrele de intrare selectate prin intermediul liniilor de adrese A0
i A1. Prin activarea semnalelor CSLSB i WR se ncarc cei mai pu in
semnificativi 8 bi i n registrul de intrare. Prin activarea semnalelor CSMSB i
WR se ncarc cei mai semnificativi 4 bi i n registrul de intrare. Ordinea de
nc rcare a datelor (cei mai pu in semnificativi 8 bi i sau cei mai semnificativi 4
bi i) nu este important . Este de asemenea posibil nc rcarea concurent a
tuturor celor 12 bi i prin activarea simultan a semnalelor CSLSB , CSMSB i
WR . Trebuie, ns , men ionat faptul c bi ii 118 vor fi identici cu bi ii 30.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

219

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

CSLSB

CSMSB

WR

LDAC

FUNC IA
ncarc octetul mai pu in semnificativ n registrul de
intrare selectat
memoreaz octetul mai pu in semnificativ n registrul de
intrare selectat
memoreaz octetul mai pu in semnificativ n registrul de
intrare selectat
ncarc octetul mai semnificativ n registrul de intrare
selectat
Memoreaz octetul mai semnificativ n registrul de
intrare selectat
Memoreaz octetul mai semnificativ n registrul de
intrare selectat
Transfer datele din registrele de intrare n registrele
DAC
Memoreaz registrele DAC
ncarc octetul mai semnificativ n registrul de intrare
selectat i ncarc registrele de intrare n registrele DAC
nu se efectueaz nici o opera ie; dispozitivul nu este
selectat
nc rcare concurent 12 bi i n registrele de intrare,
transfer datele din registrele de intrare n registrele
DAC
nc rcare concurent 12 bi i n registrele de intrare
ncarc octetul mai pu in semnificativ n registrul de
intrare selectat i ncarc registrele de intrare n
registrele DAC
Transfer datele din registrele de intrare n registrele
DAC
nu se efectueaz nici o opera ie.

Datele sunt memorate n registrul de intrare selectat pe frontul cresc tor al


semnalului WR .
Datele sunt transferate din registrele de intrare n registrele DAC prin
for area semnalului LDAC la nivel logic cobort. Se reactualizeaz simultan
toate cele patru convertoare D/A.
Circuitul MAX526 poate func iona att n mod unipolar, ct i bipolar,
pentru etajele de ieire.
ntreaga arhitectur a interfe ei de achizi ii de date a fost conceput astfel
nct s ofere sistemului o flexibilitate ct mai mare, solu ii ct mai facile de
testare i calibrare i o exactitate ct mai ridicat de m surare.

220

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

6.4 UNITATEA CENTRAL DE PRELUCRARE LOCAL CU


MICROCONTROLLER 80C552
Unitatea central de prelucrare local, organizat n jurul unui
microcontroller 80C552, de fapt a unui sistem de dezvoltare reproiectat, cu
microcontroller 80C552, confer sistemului avantajul de a putea fi amplasat n
imediata vecin tate a procesului controlat, calculatorul central, compatibil IBMPC, putnd fi localizat la distan .

6.4.1 DESCRIEREA FUNC IONAL A UCPL


Unitatea Central de Prelucrare Local (UCPL) a sistemului de achizi ii
de date are la baz un sistem de dezvoltare reproiectat, organizat n jurul unui
microcontroller 80C552, realizat n tehnologie CMOS de firma PHILIPS,
compatibil software cu familia de procesoare 80C51.
Bazat pe aceast structur versatil i extensibil , s-a proiectat unitatea
central de prelucrare a sistemului de achizi ii de date. S-a modificat i
restructurat sistemul de dezvoltare n sensul creterii num rului de resurse
hardware: filtre antialiasing programabile, amplificatoare cu ctig reglabil
programabile, convertoare analog-digitale interfa abile i programabile, buffer-e
de date constituite de memorii FIFO, interfa serial de tip RS-485, registre de
comand i configurare, detectoare ale trecerii prin zero ale semnalelor analizate
n scopul determin rii frecven ei acestora; s-a extins, de asemenea, num rul de
semnale de selec ie n conformitate cu resursele hardware suplimentare; s-a
utilizat un microcontroller de tip 80C552 capabil s func ioneze la o frecven a
ceasului de 30 MHz. S-au p strat integral, din punct de vedere hardware i al
configura iei n spa iul de adresare, toate resursele sistemului de dezvoltare
ini ial, ele g sindu-i utilitatea n cadrul sistemului de achizi ii de date proiectat.
n fig. 6.12 este prezentat schema bloc detaliat a unit ii centrale de
prelucrare locale, UCPL, a sistemului de achizi ii de date i de analiz a
semnalelor electrice.

6.4.2 RESURSELE UNIT II CENTRALE DE PRELUCRARE


LOCALE A SISTEMULUI DE ACHIZI II DE DATE
Unitatea central de prelucrare local a sistemului de achizi ii de date i
de analiz a semnalelor electrice, dispune de urm toarele resurse hardware i
caracteristici tehnice:
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

221

222
LOCAL KEYBOARD
0
4

1
5

2
6

3
7

ANALOG SECTION CIRCUITRY


DATA (6/8 x 2 x 8 bits)

WR

OUT 0..7

Q
30,0 MHz

IN 0..7

FIFO
RD

WR

WR

FIFO
RD

...

WR
RD CONVERSION CUT-OFF
CS PARAMETERS FREQUENCY

WR

FIFO
RD

FIFO
RD

8
LATCH
OE LE

SDA
EEPROM

SCL

DATA BUS

C 80C552

RESET
TxD
RS-232

AD0 .. AD7

RxD

WR
RD

DATA
RAM

PSEN

WR
RD CS
RS-485

ALE

LATCH
LE OE

PWM 0..1
INADC 0..7
IN/OUT 0..7

ADR

DATA
EPROM
RD

DECODE
LOGIC

CS

ADR
6

IN

UNIDIRECTIONAL (R/W)
OUT

A0 .. A7

A8 .. A15

SELECTION BUS

EN

A8 .. A15
ADDRESS BUS (A0 .. A15)

IN

BIDIRECTIONAL (R&W)
OUT

EN
DECODE
LOGIC

SELECTION BUS

7
LATCH
LE

OE

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

Fig. 6.12 Structura unit ii centrale de prelucrare locale UCPL.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

LOCAL LCD DISPLAY

ELECTRONIC APLICAT

microcontroller PCB80C552 (f r memorie intern de program),


lucrnd la o frecven maxim a ceasului de 30 MHz;
frecven a ceasului unit ii centrale de prelucrare este de 30 MHz;
memoria de date extern (DATA MEMORY), de tip static,
implementat cu un circuit KM62256AL, realizat n tehnologie
CMOS, cu capacitatea de 32 kocte i i caracterizat de un timp de acces
de 35ns. Spa iul de adresare ocupat de memoria de date este cuprins
ntre 8000H i FFFFH (fig. 6.13);
memoria de program extern
(PROGRAM MEMORY),
implementat cu un circuit EPROM de tip 27C256, realizat n
tehnologie CMOS, cu capacitatea de 32 kocte i i caracterizat de un
timp de acces de 70ns. Spa iul de adrese ocupat de memoria de
program extern este cuprins ntre 0000H i 7FFFH (fig. 6.13);
64 K

FFFF H
DATA
MEMORY
- RAM (EXTERNAL)
32 Kbytes
8000 H
7FFF H

32 K
PROGRAM
MEMORY
- EPROM (EXTERNAL)
32 Kbytes
0K

0000 H

Fig. 6.13 Harta memoriei unit ii centale de prelucrare.

interfa serial compatibil RS-232 / RS-485 de mare vitez , full


duplex. Interfa a serial de tip RS-232 folosete protocol software de
comunica ie, f r semnale de dialog, permi nd viteze de comunica ie
cuprinse ntre 110 bauds i 19200 bauds, iar interfa a RS-485 posed i
semnale de dialog, permi nd viteze de comunica ie cuprinse ntre
1200 bauds i 115000 bauds;
bus serial I2C (bus multimaster cu arbitrare de priorit i i vitez mare
de transmisie - 100 kbytes pe secund n modul standard i 400 kbytes
pe secund n modul rapid -, frecven a maxim a ceasului serial este
100kHz. Destina ia principal este comunica ia cu circuite integrate
sau controller-e, prev zute cu interfa a I2C, aflate n aceeai incint ;
memorie EEPROM serial , implemetat cu un circuit de tip
ST24C04, realizat n tehnologie CMOS, cu capacitatea de 512 octe i
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

223

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

224

i conectat la interfa a I2C. Aceast memorie nevolatil con ine


valorile limit ale parametrilor supraveghea i;
4 porturi paralele de ieire de 8 bi i (constituite de: registrul de
comand i configurare a parametrilor conversiei, registrul de
programare a filtrelor antialiasing, registrul de ieire OUT 0..7,
registrul de ieire OUT 8..15);
17 porturi paralele de intrare de 8 bi i (constituite de portul de intrare
IN 0..7 i cele 6/8 perechi de buffer-e de date, constituite de memorii
FIFO, de tip Am7204A);
2 porturi paralele, bidirec ionale, de 8 bi i (constituite de ansamblul
celor 6/8 convertoare analog-digitale, de tip MAX181 i de afiajul cu
cristale lichide cu dou linii de cte 16 caractere, de tip
PVC160205AYL);
8 intr ri multiplexate la un convertor analog-digital cu rezolu ia de 10
bi i, implementat n structura microcontroller-ului 80C552 i
caracterizat de un timp de conversie de 50 cicluri main ;
32 ieiri decodificate de selec ie porturi (tabelul 6.1).
Porturile OUT 0..7 i IN 0..7 sunt utilizate pentru implementarea
tastaturii locale, de tip matriceal, cu trei linii i patru coloane. Liniile
sunt baleiate secven ial (sunt active pe 0) prin programarea liniilor
0..2 ale portului OUT 0..7, prin intermediul portului de intrare IN 0..7
se citesc pe liniile mai semnificative codul liniei, iar pe liniile mai
pu in semnificative codul coloanei, de pe care s-a ac ionat o tast .
Registrul de comand i configurare a achizi iei analog-digitale
reprezint un port de ieire pentru comanda sistemului de achizi ii de
date specializat, extern, caracterizat de o rezolu ie mai mare i o vitez
de achizi ie mai ridicat dect a celui implementat n cadrul
microcontroller-ului. Selectarea acestui port de ieire se face cu
semnalul CMDREG (CoMmanD REGister), ocupnd un spa iu de
adrese ntre 108H i 10FH. n cazul n care portul suplimentar este
utilizat pentru comnada unui sistem de achizi ii de date specializat,
bi ii portului au urm toarea semnifica ie:
bitul 0 (cel mai pu in semnificativ) - comand de eantio-narememorare, configurabil prin program pentru circuitele de
eantionare-memorare implementate n cadrul filtrelor antialiasing
MAX 271 sau pentru circuitele de eantionare-memorare externe,
de tip LF198;
bitul 1 - comanda modului de func ionare al convertoarelor analogdigitale MAX181 (MODE=1);
bitul 2 - comanda modului de preluare a rezultatului unei conversii
analog-digitale (HBEN=0 - preluare rezultat pe 12 bi i);
bitul 3 - comanda modului de configurare a intr rilor convertoarelor

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

analog-digitale (DIFF=0 - intr ri nedife-ren iale);


bitul 4 - comanda modului de configurare a intr rilor convertoarelor
analog-digitale (BIP=1- intr rile accept semnale bipolare);
bitul 5 - comanda amplificatorului cu ctig reglabil, GAIN0 - bitul
cel mai pu in semnificativ;
bitul 6 - comanda amplificatorului cu ctig reglabil, GAIN1 - bitul
intermediar;
bitul 7 (cel mai semnificativ) - comanda amplificatorului cu ctig
reglabil, GAIN2 - bitul cel mai semnificativ.
Tabelul 6.1 Spa iul de adrese pentru selec iile de porturi.

Liniile de adrese A0 A15

A15 A14 A13 A12 A11 A10 A9

A8

A7

A6

A5

A4

A3

A2

A1

A0

Ieire
DCD

Adresa
(H)

LCD

100H..07H

ADCSEL

108H..10FH

CMDREG

110H..117H

CUTOFF

118H..11FH

OUT 0..7

120H..127H

FIFO1L

128H..12FH

FIFO1H

130H..137H

FIFO2L

138H..13FH

OUT 8..15

140H..147H

FIFO2H

148H..14FH

FIFO3L

150H..157H

FIFO3H

158H..15FH

IN 0..7

160H..167H

FIFO4L

168H..16FH

FIFO4H

170H..177H

FIFO5L

178H..17FH

FIFO5H

180H..187H

FIFO6L

188H..18FH

FIFO6H

190H..197H

FIFO7L

198H..19FH

FIFO7H

1A0H..1A7H

FIFO8L

1A8H..1AFH

FIFO8H

1B0H..1B7H

NC

1B8H..1BFH

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

225

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

2 ieiri analogice de 8 bi i modulate n durat . Prin integrarea lor se pot


ob ine dou convertoare digital-analogice de 8 bi i;
3 num r toare de tip timer / counter;
1 watchdog programabil (mijloc de autodeblocare n cazul execu iei
eronate a programelor datorit perturba iilor sau interferen elor;
15 linii de ntreruperi dintre care 6 linii externe;
reset / autoreset (la punerea sub tensiune);
conectarea direct a unui afiaj cu cristale lichide, cu dou linii de cte
16 caractere.
Sec iunea de captare a evenimentelor, din cadrul microcontroller-ului
80C552 este utilizat pentru m surarea frecven ei semnalelor preluate din cadrul
re elei trifazate analizate.
Utiliznd un comparator de tip neinversor, cu tensiune de referin egal
cu zero, pot fi detectate trecerile prin zero ale semnalelor de intrare. La trecerea
prin zero i nceputul semialternan ei pozitive a semnalului de intrare (tensiune
sau curent), ieirea comparatorului basculeaz n 1 logic. Acest front este
utilizat generarea unui semnal (cu perioad dubl raportat la cea a semnalului
de intrare), destinat ini ializ rii timer-ului T2 i reprezint , de asemenea, frontul
ce determin captarea con inutului s u n registrul CT0. Astfel la cea de-a doua
captare, registrul CT0 va con ine un num r propor ional cu perioada semnalului
de intrare. Rezolu ia de 16 bi i permite o precizie foarte ridicat de determinare a
periodei semnalelor.

6.5 INTERFA AREA UNIT II CENTRALE DE


PRELUCRARE, CU MICROCONTROLLER 80C552, CU UN
SISTEM HARDWARE EXTERN (INTERFA A DE ACHIZI II
DE DATE)
6.5.1 MODALIT I DE CUPLARE A UNIT II CENTRALE
E PRELUCRARE CU UN DISPOZITIV HARDWARE
D
DE
EXTERN
Unitatea central de prelucrare local prezentat , organizat n jurul unui
microcontroller de tip PCB 80C552, poate fi interfa at cu un hardware extern,
dedicat extinderii facilit ilor unit ii centrale de prelucrare.
n ceea ce urmeaz , se va prezenta modalitatea de cuplare a unui sistem de
achizi ii de date performant la unitatea central de prelucrare local cu
microcontroller 80C552. Cuplarea oric rui sistem hardware extern, indiferent
de func ia realizat de acesta, poate fi f cut n dou moduri:
226

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

direct, prin intermediul sec iunilor de date, adrese i comenzi ale


magistralei sistemului de dezvoltare, de fapt ale magistralei (porturilor
dedicate acestor scopuri) ale microcontroller-ului 80C552;
prin intermediul porturilor de intrare/ieire ale sistemului de
dezvoltare, care sunt disponibile n exterior prin elemente dedicate de
interconectare.
Prima variant prezentat , dei confer avantajul unei versatilit i crescute
- solu iile de implementare fiind practic limitate doar de spa iul de adresare al
microcontroler-ului -, prezint dezavantajul major al nc rc rii magistralei
sistemului de dezvoltare. Trebuie precizat faptul c , aa dup cum reiese dintr-o
analiz atent a structurii sistemului, liniile magistralei de date, care este
multiplexat temporal cu sec iunea inferioar a magistralei de adrese prin
intermediul pinilor portului P0 al microcontroller-ului 80C552, nu permite o
solu ie simpl de buffer-are a acesteia. Aceast situa ie se datoreaz faptului c
nu se dispune de un semnal care s indice sensul de manipulare (transfer) al
datelor pe aceast sec iune a magistralei. De aceea, este recomandat ca sec iunea
de date a magistralei s nu fie nc rcat suplimentar. De asemenea, este foarte
important faptul c , datorit amplas rii pe pl ci diferite a sistemului de
dezvoltare i a echipamentului extern de achizi ii de date, interconectarea celor
dou sisteme necesit practic un num r mare de interconexiuni, cu lungimi mari,
realizate cu cabluri panglic , care reprezint liniile magistralei sistemului:
sec iunea de date pentru transferul informa iei n ambele sensuri, sec iunea de
adrese pentru decodificarea de porturi i sec iunea de control pentru specificarea
tipului de ac iune realizat .
Cea de-a doua variant enun at prezint avantajul minimiz rii
interconexiunilor ntre cele dou sisteme, cel al folosirii unor semnale care sunt
buffer-ate fa de semnalele de pe magistrala intern a sistemului de dezvoltare
i cel al utiliz rii unor conectori externi de interconexiune, care asigur o
grupare optimal a semnalelor pe grupuri func ionale.

6.5.2 DESCRIERE FUNC IONAL A ANSAMBLULUI


NITATE CENTRAL DE PRELUCRARE LOCAL U
UN
INTERFA A SPECIALIZAT DE ACHIZI II DE DATE
n urma unei analize atente a sistemelor de achizi ii de date existente pe
plan mondial, concluzia care s-a tras a fost aceea c o plac de achizi ii
introdus n calculatorul central (de tip plug-in) nu reprezint o solu ie optim ,
deoarece impune prezen a sistemului de calcul n imediata vecin tate a punctului
de m surare i un sistem de calcul dedicat acestei activit i.
Amplasarea sistemului gazd n vecin tatea procesului studiat ridic
probleme legate de compatibilitatea electromagnetic . Cmpurile electroSISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

227

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

magnetice intense din punctul de m surare determin erori tranzitorii n


func ionarea sistemului de calcul. Este cunoscut efectul acestor perturba ii de
foarte scurt durat asupra func ion rii procesoarelor evoluate, nglobnd
coprocesoare matematice, cum ar fi de pild genera ia INTEL 486
DX/DX2/DX4 sau Pentium, sau asupra procesoarelor de semnal DSP: erori n
efectuarea calculelor, care conduc de cele mai multe ori la imposibilitatea
recuper rii datelor procesate.
Solu ia propus elimin aceste dezavantaje, permi nd i o cuplare n re ea
a mai multor astfel de sisteme de achizi ii de date la acelai calculator central
(maximum 4 sisteme de achizi ii de date specializate, de acest tip, pot fi cuplate
la un calculator gazd ).
Comunica ia sistem de achizi ii-calculator se face pe o leg tur serial
full-duplex, compatibil RS-232, viteza de comunica ie fiind programabil
software i cuprins ntre 110 bauds i 19200 bauds.
n cazul n care cmpurile electromagnetice produc perturba ii ce
afecteaz calitatea transmisiei pe canalul serial, se poate efectua transmisia n
curent ntre sistemul de achizi ii de date i calculatorul compatibil IBM-PC.
Transmisia n curent, dei se tie c este mai lent , prezint o imunitate foarte
ridicat la cmpuri perturbatoare.
Pe linia de comunica ie serial calculatorul central transmite sistemului de
achizi ii rata de conversie, num rul de eantioane care trebuie prelevate din
proces i rata serial de transfer a rezultatelor. La ini ializarea procesului de
achizi ie, att sistemul de achizi ii de date, ct i calculatorul gazd , demareaz
comunica ia pe viteza de 9600 bauds. Comunica ia este ini iat de calculatorul
central, sub controlul direct al operatorului uman. Acesta precizeaz , selectnd
dintr-o fereastr de meniuri, parametrii achizi iei preciza i anterior. Rata de
transfer a rezultatelor achizi iei poate fi crescut pn la 19200 bauds, pentru
creterea operativit ii sistemului, sub ac iunea operatorului uman.
Am optat pentru acest tip de unitate central de prelucrare local
deoarece:
este caracterizat printr-o fiabilitate foarte ridicat i prin consum
energetic foarte redus, fiind realizat n tehnologie CMOS;
spa iul de adresare este dublat, deoarece cele dou tipuri de memorie
extern (memoria de program - 64 kocte i, memoria de date i porturi
de intrare-ieire - 64 kocte i) sunt selectate cu semnale de control
diferite;
setul de instruc iuni este mai bogat (instruc iuni de nmul ire i
mp r ire) i asem n tor cu cel al microprocesoarelor tradi ionale pe 8
bi i;
viteza de lucru este ridicat , durata tipic a unui ciclu main fiind de
aproximativ 0,4s;
dispune de o interfa I2C, de tip multimaster, permi nd dezvolt ri
228

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

ulterioare de sisteme multiprocesor. De asemenea, pe acest magistral


serial , caracterizat de o rat ridicat de transfer, poate fi conectat o
memorie suplimentar de tip EEPROM serial, n care pot fi memora i
parametri prestabili i ai sistemului sau care poate fi folosit pentru
identificarea tipurilor de perturba ii din re eaua electric analizat ,
nainte de efectuarea prelucr rilor numerice asupra eantioanelor
prelevate din proces;
unul dintre cele patru porturi ale microcontroller-ului cuprinde
semnalele de control specifice func ion rii ca microprocesor i
semnale de comunica ie serial (RxD, TxD). n acest mod, pentru
comunica ia cu un alt sistem de calcul, este necesar doar un minim de
hardware, respectiv circuitele de interfa pentru compatibilizare cu
standardul RS-232. Aceasta este realizat cu ajutorul unui circuit
specializat de tip MAX232, circuit care con ine o pereche de
emi toare-receptoare, translatoare de nivel TTLRS-232 i RS232TTL i dou circuite surs n comuta ie, asigurnd tensiunile de
10V necesare func ion rii translatoarelor de nivel. Pentru func ionare,
acest circuit necesit doar patru condensatoare externe. Rata serial de
transfer poate fi programat ntre 110 bauds i 19200 bauds, prin
utilizarea unuia dintre cele dou circuite timer / counter de 16 bi i,
implementate intern.

6.6 ESTIMAREA ERORILOR CE SE MANIFEST N


CADRUL SISTEMULUI DE ACHIZI II DE DATE
6.6.1 ESTIMAREA ERORILOR SOFTWARE
Aplicarea transformatei FFT presupune eantionarea i digitizarea
semnalului analogic de intrare. n func ie de raportul existent ntre frecven a de
eantionare i frecven a semnalului analizat, se pot distinge:
eantionare coerent, cnd frecven a de eantionare este un multiplu
al frecven ei semnalulul (fig. 6.14a);
eantionare necoerent, cand frecven a de eantionare nu este un
multiplu ntreg a frecven ei semnalului (fig. 6.14b).
n cazul eantionrii coerente, singurele erori care afecteaz amplitudinea
i faza fundamentalei (A, ) provin din zgomotul aleator suprapus peste semnalul util, a c rui valoare efectiv a fost considerat Vef=25 LSB pentru A=5 V.
Se deduc expresiile dispersiei erorilor A i n condi iile unui zgomot de
cuantizare care afecteaz eantioanele {sk}. Generaliznd aceste expresii pentru
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

229

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

un zgomot alb oarecare, cu distribu ie normal i medie nul , aa cum poate fi


considerat zgomotul de band larg care afecteaz lan ul de achizi ie, rezult :
2N
2
A =
NS
(6.5)
2
2

2 = N2
A
2
unde N reprezint dispersia zgomotului.
A
f0

n -3 n -2 n -1
0

n0
=
T0

n +1 n +2 n +3
0

a) Eantionarea coerent

f0 =

n0 0,5
T0

n -3 n -2 n -1
0

n +1 n +2 n +3
0

b) Eantionarea necoerent

Fig. 6.14 Eantionarea coerent i necoerent .

nlocuind N = 25LSB, N S = 160, A = 5V rezult :


A = 2,79LSB
= 0,006rad

Erorile relative medii (raportate la capul de scal ) rezult a fi:


A = 0,006%
= 0,1%

(6.6)

(6.7)

Aceste valori sunt neglijabile, dar dificult ile aplic rii eantion rii
coerente n condi iile fluctua iei frecven ei re elei, fac metoda inaplicabil pentru
aplica ia propus .
Eantionarea necoerent plaseaz linia spectral a fundamentalei n
loca ia cea mai apropiat de pozi ia adev rat , i prin aceasta conduce la o
eroare de estimare a frecven ei de maximum:
1
f = Te
(6.8)
2
Considernd N S = 160, f e = 1,97kHz (ceea ce corespunde la 40
230

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

puncte/perioad ) rezults f=0,7Hz, respectiv o eroare relativ de:


f = 1,4%
(6.9)
n plus, nregistrarea unui num r nentreg de perioade ale semnalului de
intrare, conduce la scurgerea liniei spectrale a fundamentalei n toate loca iiIe
DFT, astfel nct amplitudinea aparent a fundamentalei va sc dea. n cazul cel
mai nefavorabil, cnd frecven a semnalului este la jum tate ntre dou loca ii
f
f
succesive, k e i (k + 1) e , eroarea de amplitudine este:
NS
NS

A
A = 20 log 4dB
(6.10)
A
amplitudinea aparent a fundamentalei.
n care am notat cu A
n general, eroarea comis la determinarea amplitudinii este aproximativ
egal procentual cu abaterea frecven ei de eantionare de la cel mai apropiat
multiplu al frecven ei semnalului. Fixnd f e = 5000Hz (pentru a putea analiza
armonicile pn la ordinul 50), dac frecven a semnalului nregistreaz o abatere
de 1% fa de valoarea de 50Hz, vom avea o abatere asupra amplitudinii
componentelor spectrale de 1%.
Aceast eroare poate fi redus pn la o limit acceptabil folosind o
tehnic clasic de fereastr , ceea ce conduce ns la pierderea informa iei despre
faz .
Aceast metod de estimare este recomandat atunci cnd coeficientul de
distorsiune ce afecteaz semnalele este mare (>5%), iar fenomenele de
nesimetrie sunt neglijabile sau foarte reduse.

6.6.2 ESTIMAREA ERORILOR HARDWARE


n cele ce urmeaz , se va estima eroarea introdus de c tre partea
hardware a sistemului specializat de achizi ii de date, pentru a ne asigura c
exactitatea de m surare a acestui sistem este suficient de ridicat ca s permit
determinarea unor coeficien i de distorsiune cu valori de cel pu in un ordin de
m rime mai mici dect 1%.
Pentru sistematizarea problemei, se consider c modulele componente
care afecteaz exactitatea de m surare a sistemului de achizi ii de date sunt:
circuitele de adaptare a nivelelor analogice de intrare;
circuitele de tip filtru antialiasing;
circuitele de eantionare-memorare opionale;
circuitele de conversie analog-digital.
Circuitele de adaptare a nivelelor analogice de intrare sunt constituite de
elemente pasive (re ele de divizare rezistive). Aceste circuite nglobeaz , din
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

231

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

punct de vedere al erorilor, i amplificatoarele cu ctig reglabil programabile.


Asigurarea unor toleran e ct mai ridicate (0,001%) i a unor coeficien i de
varia ie cu temperatura de valori ct mai reduse (maxim 10ppm/oC) pentru
componentele rezistive, conduce la o eroare maxim :
CANA = 0,0025%
(6.11)
o
pentru o varia ie a intervalului de temperaturi de func ionare de 50 C.
Pentru circuitele de tip filtru antialiasing, din documenta ia circuitelor
MAX 271, se poate preciza c eroarea de amplificare maxim (pentru codul de
programare cu valoarea 127) este:
FTJ = 0,015%
(6.12)
Pentru circuitele de eantionare-memorare interne, implementate n
cadrul circuitelor MAX 271, pot fi determinate urm toarele erori:
eroarea de ctig, datorat amplific rii finite n bucl deschis a
amplificatorului opera ional con inut n structura circuitului:
AO(1) = 0,0075%
(6.13)
eroarea de desc rcare a condensatorului de memorare pe durata
efectu rii conversiei analog-digitale:
T
10s
100[%] = 0,006%
DESC (1) = VCH C 100[%] = 30V
(6.14)
VFS
5V
n care VCH reprezint valoarea sc derii tensiunii la bornele
V
condensatorului de memorare, exprimat n
, TC reprezint durata
s
conversiei analog-digitale, iar VFS reprezint tensiunea de intrare de
cap t de scal ;
eroarea prin offset-ul de sarcin asupra tensiunii la care este nc rcat
condensatorul de memorare, CH:
QOH (1) = 0,02%
(6.15)
eroarea de nc rcare a condensatorului de memorare:
CH (1) = 0,02%

(6.16)

Eroarea total maxim a circuitului de eantionare-memorare va fi:


E / M (1) = AO(1) + DESC (1) + QOS(1) + CH (1) =
(6.17)
= (0,0075 + 0,006 + 0,02 + 0,02 )% = 0,0535%
Pentru circuitele de eantionare-memorare opionale externe, de tip LF
198, din datele de catalog ale produc torului, pot fi extrase urm toarele
informa ii:
eroarea de ctig, datorat amplific rii finite n bucl deschis a
amplificatoarelor opera ionale con inute n structura circuitului:

232

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

AO(2 ) = 0,005%

(6.18)

eroarea de desc rcare a condensatorului de memorare pe durata


efectu rii conversiei analog-digitale:
I T
100pA 10s
100[%] = 10 5 %
DESC (2 ) = P C 100[%] =
(6.19)
C H VFS
1nF 10V
n care IP reprezint valoarea curentului de pierderi prin condensatorul
de memorare, CH reprezint valoarea capacit ii de memorare, TC
reprezint durata conversiei analog-digitale iar VFS reprezint tensiunea
de intrare de cap t de scal ;
eroarea prin offset-ul de sarcin asupra tensiunii la care este nc rcat
condensatorul de memorare, CH:
C DG
VCDA
VH
CH
100[% ] =
100[% ] = 0,01%
QOH (2 ) =
(6.20)
VFS
VFS
n care CDG reprezint valoarea capacit ii dren -poart de intrare a
circuitului buffer din aval de condensatorul de memorare, CH
reprezint valoarea capacit ii de memorare, VCDA reprezint excursia
maxim a tensiunii logice de comand a circuitului de eantionarememorare iar VFS reprezint tensiunea de intrare de cap t de scal ;
eroarea de nc rcare a condensatorului de memorare:
CH (2 ) = 0,01%
(6.21)
Eroarea total maxim a circuitului de eantionare-memorare va fi:
E / M ( 2 ) = AO (2 ) + DESC (2 ) + QOS (2 ) + CH (2 ) =
(6.22)
= (0,005 + 10 5 + 0,01 + 0,01) % = 0,025 %
n ceea ce privete circuitele de conversie analog-digital, n tabelul 6.2
sunt prezentate performan ele sintetice ale circuitului MAX 181.
Tabelul 6.2 Performan ele sintetice ale convertorului analog-digital MAX 181.
Parametrul
Considerat
Rezolu ie
Tensiune de intrare
Curent de intrare
Curent de referin
Eroare de offset
Eroare de amplificare

Eroare de conversie

Maxim
12
-2,5 .. +2,5
1
-2
4
10

Unitate
de m sur
Bit
V
A
MA
LSB
LSB

Valoare
Tipic
12
1
2

1
0,012% LSB
2

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

233

SISTEM UNIVERSAL, MODULAR, DE ACHIZI II DE DATE

n cadrul aplica iei, tensiunea de intrare variaz ntre -2,5V..+2,5V,


rezultnd excursia la cap t de scal a tensiunii VFS = 5V , iar 1LSB = 1,22mV . n
aceste condi ii, circuitul de conversie analog-digital prezint o eroare
maxim de conversie (care nglobeaz eroarea de amplificare, de neliniaritate i
de cuantificare), avnd valoarea:
1LSB
1,22mV
100[%] = 0,012 +
CAD = 0,012 +
100[%] = 0,0244% (6.23)
2 VFS
10V
Eroarea total maxim anticipat pentru partea hardware a sistemului
de achizi ii de date, pentru o varia ie a intervalului de temperaturi de func ionare
de 50oC, presupunnd c erorile de offset i de amplificare ale lan ului analogic
au fost compensate, va fi:
SAD (1 ) = CANA + FTJ + E / M (1 ) + CAD =

= 0,0025 % + 0,015 % + 0,0535 % + 0,0244 % 0,095 %

SAD (2 ) = CANA + FTJ + E / M (2 ) + CAD =

(6.24)

= 0,0025 % + 0,015 % + 0,025 % + 0,0244 % 0,067 %


Un alt mod de exprimare a erorii maxime totale este determinarea sa n
LSB. Se vede imediat c valoarea ob inut n ecua ia 4.40 corespunde unei erori
absolute:
3LSB; pentru varianta (1)
U =
(6.25)
(
)
4
LSB;
pentru
var
ianta
2

Avnd n vedere faptul c sursele de erori sunt numeroase i


independente, un mod mai realist de a exprima eroarea relativ este ca medie
p tratic a erorilor individuale:
2
2
2
2
SAD = CANA
+ ( 2AO + QOS
+ CH
+ 2DESC ) + CAD

(6.26)

nlocuind cu valorile calculate pn acum, eroarea relativ rezult :


SAD (1) = 0,0414591%
(6.27)
SAD (2 ) = 0,0324285%

234

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

7. SOFTWARE DE ANALIZ A SEMNALELOR


ELECTRICE
7.1 CONSIDERA II GENERALE ASUPRA
INSTRUMENTELOR SOFTWARE DE ANALIZ A
SEMNALELOR ELECTRICE
Instrumentele de msurare inteligente reprezint entit i independente,
separate de un sistem de calcul, capabile s comunice un set redus de parametri
i s execute o serie de comenzi. Toate echipamentele de m surare dezvoltate n
ultimii ani con in interfe e prin care transmit datele i comenzi unor relee cu care
sunt echipate.
Indiferent de tipul de m rime m surat : energie, putere, curent, tensiune,
factor de putere, etc., instrumentele inteligente sunt echipate cu relee care
comand direct echipamente externe, n func ie de valorile parametrului
m surat. Dup gradul de complexitate, pot fi nso ite de un pachet software
aferent, executabil pe un sistem de calcul compatibil IBM-PC, pentru a putea
executa citirile i comenzile la distan . Foarte multe asemenea sisteme dispun
de memorare extern , care stocheaz varia ia n timp a parametrului m surat sau
valorile instantanee, la anumite intervale de timp.
Implementarea unui instrument software de analiz a semnalelor electrice,
provenite din sistemul electroenergetic, presupune utilizarea unui calculator,
utilizat ca nucleu hardware de comand , i a unui sistem de achizi ii de date,
putnd fi realizat n mai multe moduri, func ie de sistemul de operare utilizat n
cadrul sistemului de calcul.
Suportul hardware este format dintr-un lan de m surare compus din:
senzor, dispozitivul de condi ionare a semnalului, placa de achizi ii de date i
sistemul de calcul aferent. Ceea ce diferen iaz aceste instrumente este prezen a
software-ului, un mediu de programare mobil, capabil s proiecteze pe
monitorul unui calculator orice parametru m surat, orice grafic preluat, orice
reglaj, buton, etc., transformnd practic calculatorul gazd al aplica iei, ntr-un
instrument de m surare.
Utilizatorul vede aceast interfa software ca o imagine grafic , cu
indicatoare, butoane, ideograme (imagini reprezentnd ac iuni sau prelucr ri
specifice), iar cu un ajutorul mouse-ului ob ine func ia simbolizat de ele:
vizualizarea datelor, analize matematice complexe, generare de semnale, citirea
datelor de intrare. Software-ul de instrumenta ie dispune de biblioteci bogate,
care scutesc utilizatorul de rutin , dar i de dificult i de programare, cum ar fi
comunicarea cu hardware-ul, deloc simpl . Ele sunt axate pe urm toarele
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

235

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

domenii:
achizi ia datelor i transferul acestora (prin driver-e software programe specializate pentru comanda unor dispozitive sau automate
programabile, regulatoare numerice, dispozitive pentru nregistrare);
controlul dispozitivelor, prin interfa ri de tip GPIB, VXI, RS-232,
etc;
analiza i reprezentarea datelor.

7.2 PLATFORMA HP VEE PENTRU WINDOWS.


PREZENTAREA GENERAL A ANALIZORULUI ESA
Software-ul de analiz a semnalelor electrice prelevate dintr-un proces
este realizat sub forma unui instrument virtual, implementat cu ajutorul
programului HP VEE - for Windows - versiunea 3.12 (July 07 1995) @
Copyright Hewlett-Packard Corporation 1991-1995.
Acest program lucreaz cu obiecte predefinite sau create de c tre
utilizator, care sunt plasate n spa iul de lucru i care sunt interconectate pentru a
realiza o diagram -bloc executabil . Fiecare obiect permite vizualizarea sa n
dou moduri:
modul de vizualizare restrns (ca icon n Windows);
modul de vizualizare detaliat (detail view).
Observa ie: Orice obiect al programului HP VEE, atunci
cnd este apelat, este reprezentat n modul de vizualizare
detaliat , cmpurile de parametri (atribute) ale obiectului
fiind direct accesibile.

De asemenea, fiecare obiect este caracterizat de un meniu propriu, care


permite modificarea dimensiunii, pozi iei, titlului, precum i altor atribute ale
acestuia.
A fost creat un instrument virtual de analiz semnalelor electrice,
intitulat ELECTRICAL SIGNAL ANALYSER, prescurtat ESA. Acest
intrument este, de fapt, un obiect creat de utilizator, ce permite:
demararea procesului de analiz , prin ac ionarea butonul Run,
prezent pe panoul global al oric rei aplica ii HP VEE. La demararea
procesului de analiz , este deschis o fereastr din care poate fi selectat
fiierul de date folosit ca punct de plecare n cadrul reprezent rii grafice
a m rimilor electrice. Fiierele de date sunt de tip standard de date, cu
extensia .dat, con innd pe cte doi octe i eantioanele de pe un num r

236

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

de maxim ase canale;


selectarea m rimilor de intrare prin intermediul unor liste circulare ce
dispun de urm toarele op iuni:
vizualizarea formei unui semnal de tensiune din cele maxim trei
posibile, respectiv de curent;
selectarea valorii ini iale a eantioanelor ce urmeaz a fi afiate, prin
intermediul unui comutator rotativ, denumit knob, n gama 020000 i
cu o rezolu ie de 256 puncte. Acest knob poart denumirea sugestiv de
From sample;
selectarea valorii finale a eantioanelor ce urmeaz a fi afiate, de
asemenea prin intermediul unui knob, gradat ntre 0 i 20000, cu o
rezolu ie de 256 puncte. Acest knob poart de numirea sugestiv de
to sample;
vizualizarea simultan a doi parametri: form de semnal de tensiune,
form de semnal de curent, corespunznd m rimilor de intrare, cu
ajutorul a dou instrumente de tip osciloscop, care indic :
prin intermediul titlului, imaginile grafice ce se vizualizeaz la un
moment dat;
indica ii ale m rimilor corespunz toare fiec rei axe, cum ar fi:
numele m rimii (de exemplu: timp pentru axa Ox, respectiv
amplitudine, pentru axa Oy), unitatea de msur a acesteia,
intervalul de vizualizare i gradarea axelor (unit i pe diviziune);
prin intermediul unui marker, se pot ob ine informa ii, legate de
valoarea instantanee a semnalelor, n func ie de timp;
instrumentul de vizualizare prezint facilit i de auto-scalare, fie
independent pe fiecare ax prin intermediul unor butoane dedicate
fiec rui instrument, fie simultan pe ambele axe prin intermediul unui
buton cu care este echipat instrumentul de vizualizare de tip
osciloscop;
afiarea, sub form numeric , a valorilor minime i maxime a
semnalelor, att pentru tensiune, ct i pentru curent, prin intermediul a
patru indicatoare alfanumerice.
Trebuie men ionat c toate butoanele i knob-urile, prin intermediul
c rora este controlat procesul de achizi ie i analiz , prezint facilit i de
autoexecute, ceeea ce nseamn c ac ionarea oric ruia dintre ele determin
declanarea unui nou proces de analiz .
n fig. 7.1, 7.2 i 7.3 este reprezentat panoul frontal al analizorului n trei
situa ii diferite: vizualizarea formei de semnal de tensiune i de curent pentru
semnalele 1 i 2 (fig. 7.1), vizualizarea formei de und de semnal de tensiune i
de curent pentru semnalele 3 i 2 (fig. 7.2), respectiv vizualizarea formei de
und de semnal de tensiune i de curent pentru semnalele 3 i 4 (fig. 7.3).
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

237

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

Fig. 7.1 Vizualizarea formei de semnal de tensiune i de curent pentru


semnalele 1 i 2.

Fig. 7.2 Vizualizarea formei de semnal de tensiune i de curent pentru


semnalele 3 i 2.

238

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Fig. 7.3 Vizualizarea formei de semnal de tensiune i de curent pentru


semnalele 3 i 4.

7.3 IMPLEMENTAREA ANALIZORULUI ESA


Fig. 7.4 con ine reprezentarea detaliat a blocurilor care compun
analizorul intitulat ESA i bazat pe platforma Windows HP VEE 3.12.
Aceste blocuri func ionale sunt:
modulul de prelucrare primar a fiierului de date de intrare, primind
ca intrare un fiier cu extensia .dat. Acest bloc furnizeaz ca ieiri un
num r de maxim ase vectori con innd eantioanele sub form
numeric a m rimilor de intrare;
circuitele de control ale dispozitivelor de afiare;
dispozitivele de afiare, de tip oscilograf;
blocul de afiare sub form digital a valorilor minime/maxime ale
semnalelor de intrare.
Toate aceste blocuri func ionale sunt nglobate ntr-un obiect utilizator
nou creat, avnd dou posibilit i de reprezentare:
reprezentarea detaliat - detail - (fig. 7.4), n care sunt puse n eviden
blocurile i interconexiunile func ionale;
reprezentarea de tip panou - panel -, care ilustreaz panoul propriu-zis
al analizorului, adic dispozitivul de afiare, reprezentat n fig. 7.5.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

239

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

Fig. 7.4 Reprezentarea detaliat a analizorului ESA.

Fig. 7.5 Reprezentarea panoului propriu-zis al analizorului ESA.

240

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

7.3.1 BLOCUL DE PRELUCRARE A FIIERULUI DE DATE


DE INTRARE
Reprezentarea detaliat a blocului de prelucrare a fiierului de date de
intrare este ilustrat n fig. 7.6.
n urma declan rii unui proces de analizare a semnalelor achizi ionate
din proces, prin ac ionarea butonului Run de pe panoul analizorului ESA, este
deschis o fereastr care permite selectarea fiierului de date de intrare. n
aceast fereastr sunt listate doar fiierele de date (cele care au extensia dat).
Prin selectarea cu ajutorul mouse-ului a fiierului de date dorit, se demareaz
procesul de analiz . Fiierul de date con ine alternativ eantioanele pe doi octe i
a mai multor semnale de intrare. n vederea reprezent rii grafice a unei m rimi,
acest fiier trebuie prelucrat.
Eantioanele, pe cte doi octe i, reprezint rezultatul conversiei analogdigitale pe 12 bi i a unor semnale analogice de tensiune i/sau curent, convertite
n gama de tensiune (010) V. n prima faz , trebuie reconstituite valorile
analogice ale eantioanelor. Aceasta este realizat prin mp r irea celor doi
octe i, ce reprezint un eantion, la valoarea 4096=212, i nmul irea cu 10,
reprezentnd cap tul de scal . n programul implementat se realizeaz
4096 212
mp r irea la 409,6 =
=
. Pentru alte capete de scal , poate fi g sit n
10
10
mod similar un coeficient de scalare corespunz tor.
n cea de-a doua faz , trebuie identifica i indicii cuvintelor de date din
cadrul seriei de valori, ob inute n cadrul pasului anterior, corespunz tori fiec rei
m rimi din cadrul fiierului de date. Dac n cadrul fiierului de date sunt
memorate eantioanele a patru m rimi analogice de intrare, atunci eantioanele
cu indici de tip 4k corespund primei m rimi, eantioanele cu indici de tip 4k+1
corespund celei de-a doua m rimi, eantioanele cu indici de tip 4k+2 corespund
celei de-a treia m rimi, iar eantioanele cu indici de tip 4k+3 corespund ultimei
(celei de-a patra) m rimi. n mod similar poate fi g sit o strategie pentru
identificarea eantioanelor corespunz toare n cazul n care fiierul de date
con ine mai mult de patru m rimi analogice. Extragerea cuvintelor de date din
cadrul fiierului prelucrat, corespunz toare fiec rei m rimi este realizat
utiliznd un obiect de tip For Range, care are ca parametri valoarea ini ial
precizat prin intermediul knob-ului From sample adunat cu 0, 1, 2,
respectiv 3, valoarea final precizat prin intermediul knob-ului to sample
i incrementul (step) 4, care calculeaz indicii eantioanelor m rimii 0, 1, 2, 3
din cadrul fiierului de date. Se determin apoi elementele sau valorile
corespunz toare indicilor determina i anterior, folosind o func ie utilizator de tip
A[i].
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

241

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

Fig. 7.6 Reprezentarea detaliat a blocului de prelucrare a fiierului de date de


intrare.

Fig. 7.7 Reprezentarea detaliat a obiectelor utilizate n cadrul modulului de


prelucrare a fiierului de date de intrare.

n final se ob ine cte un vector, cu un num r de elemente egal cu


diferen a to sample - From sample i divizat cu patru, con innd
eantioanele fiec rei m rimi, folosind un obiect predefinit, denumit Sliding
242

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Collector.
n fig. 7.7 este ilustrat reprezentarea detaliat a principalelor obiecte
utilizate n implementarea blocului de prelucrare primar a fiierului de date de
intrare.

7.3.2 BLOCURILE PENTRU CONTROLUL DISPOZITIVELOR


DE AFIARE
Blocurile pentru controlul dispozitivelor de afiare de tip osciloscop sunt
constituite de dou obiecte de tip utilizator nou create. Sunt n num r de dou ,
fiind foarte asem n toare din punct de vedere al implement rii. n continuare va
fi prezentat n detaliu blocul de control al dispozitivului de afiare pentru
tensiuni (fig. 7.8), urmnd a se preciza ulterior diferen ele comparative pentru
blocul de control al dispozitivului de afiare pentru curen i.
Acest modul utilizator este constituit din trei multiplexoare de tip 2:1.
Toate cele trei multiplexoare au intrar rile de selec ie comandate prin
intermediul unei unice liste circulare dispunnd de dou op iuni: Signal 1 i,
respectiv Signal 3 (n cazul blocului de control al dospozitivului de afiare
pentru curen i exist o alt list circular , cu op iunile: : Signal 2 i, respectiv
Signal 4).
Primul multiplexor primete ca intr ri dou constante de tip text,
denumite Title 1a pe intrarea A, respectiv Title 1b pe intrarea B. Ieirea
acestui multiplexor comand intrarea de comand , denumit Titles a
dispozitivului de afiare de tip osciloscop (n cadrul blocului de control al
dispozitivului de afiare pentru curen i, primul multiplexor primete ca intr ri
dou constante de tip text, denumite Title 2a pe intrarea A, respectiv Title
2b pe intrarea B). n fig. 7.9 este ilustrat reprezentarea detaliat a obiectului de
tip multiplexor 2:1 i constantele de tip text.
Cel de-al doilea multiplexor primete ca intr ri dou constante de tip
nregistrare, denumite Trace 1a pe intrarea A, respectiv Trace 1b pe
intrarea B. Ieirea acestui multiplexor comand intrarea de comand , denumit
Traces a dispozitivului de afiare de tip osciloscop (n cadrul blocului de
control al dispozitivului de afiare pentru curen i, cel de-al doilea multiplexor
primete ca intr ri dou constante de tip nregistrare, denumite Trace 2a pe
intrarea A, respectiv Trace 2b pe intrarea B).

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

243

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

Fig. 7.8 Blocul de control al dispozitivului de afiare pentru tensiuni.

Fig. 7.9 Reprezentarea detaliat a obiectului multiplexor i a constantelor de tip


text.

n fig. 7.10 sunt reprezentate constantele de tip nregistrare care constituie


int rile celui de-al doilea multiplexor.

244

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Fig. 7.10 Reprezentarea detaliat a constantelor de tip nregistrare pentru


selec ia liniei de reprezentare.

Aceste nregistr ri de tip nregistrare comand tipul i culoarea liniei de


reprezentare asociat m rimii selectate, precum tipul punctului de reprezentare,
dispunnd de cinci cmpuri (num rul spotului, implicit 1 pentru c nu se face
reprezentarea simultan a dou semnale pe ecran; numele semnalului
reprezentat, semnal 1 sau semnal 3, pentru tensiune i semnal 2 sau semnal 4,
pentru curent; culoarea spotului ce poate fi aleas dintr-o list de tip popdown; tipul liniei de reprezentare, ce poate fi aleas dintr-o list de tip popdown; tipul punctului de reprezentare ce poate fi ales dintr-o list de tip popdown). Din analiza figurii 5.10, se constat c pentru fiecare m rime, semnal 1
respectiv semnal 3, sunt asociate culori ale liniilor de reprezentare diferite pentru
o identificare rapid i o diferen iere facil .
Cel de-al treilea multiplexor primete pe intr rile de date dou constante
de tip nregistrare dubl cu cte cinci cmpuri, denumite Scale 1a pe intrarea
A, respectiv Scale 1b pe intrarea B (fig. 7.11). Ieirea acestui multiplexor
comand intrarea de comand , denumit Scales a dispozitivului de afiare de
tip osciloscop (n cadrul blocului de control al dispozitivului de afiare pentru
curen i, cel de-al doilea multiplexor primete ca intr ri dou constante de tip
nregistrare duble, denumite Scale 2a pe intrarea A, respectiv Scale 2b pe
intrarea B).
Cele cinci cmpuri ale fiec rei nregistr ri sunt:
numele axei de coordonate (X sau Y);
numele asociat fiec rei axe de coordonate (Time [ms] sau Voltage [V]);
valoarea minim de la care ncepe reprezentarea pe fiecare ax (implicit
valoare ini ial nul pentru timp; implicit valoare ini ial nul pentru
semnale monopolare de tensiune sau curent);
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

245

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

valoarea maxim a scalei pe care se face reprezentarea (valoare final


1000 ms pentru timp; respectiv valoare maxim de 10 V sau 5A pentru
tensiune sau curent);
tipul de scal de reprezentare utilizat (liniar sau logaritmic ).

Fig. 7.11 Reprezentarea detaliat a constantelor de tip nregistrare dubl pentru


selec ia scalei de reprezentare.

Cele dou nregistr ri duble corespunz toare fiec rui set de cte dou
m rimi de acelai tip sunt de fapt identice, dar sunt folosite ca atare din dou
motive: n primul rnd este necesar ca toate intr rile obiectelor folosite s fie
conectate pentru ca programul implementat s func ioneze corect, iar n al doilea
rnd, pentru ca cele trei module bazate pe multiplexare s aib structuri similare.

7.3.3 DISPOZITIVELE DE AFIARE DE TIP OSCILOGRAF


Dispozitivele de afiare de tip osciloscop, reprezentate n fig. 7.12, provin
din obiectele, predefinite n cadrul platformei HP VEE, cu denumirea XY
Trace, la care au fost ad ugate cinci intr ri suplimentare:
intrarea Scale, destinat predefinirii unor capete de scal pentru cele
dou axe de coordonate, necesit pentru comand o constant de tip
nregistrare dubl cu cinci cmpuri, detaliat n capitolul anterior (fig.
7.11);
intrarea Trace, destinat predefinirii numelui, culorii, tipului
punctului i liniei de reprezentare, necesit pentru comand o constant
de tip nregistrare cu cinci cmpuri (fig. 7.10);
intrarea Title, destinat predefinirii numelui m rimii de intrare care
246

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

este reprezentat , necesit pentru comand o constant de tip text;


intrarea Autoscale X, destinat autoscal rii reprezent rii grafice
axa X, necesit pentru comand un buton, denumit Autoscale X,
facilit i de autoexecute;
intrarea Autoscale Y, destinat autoscal rii reprezent rii grafice
axa Y, necesit pentru comand un buton, denumit Autoscale Y,
facilit i de autoexecute.

pe
cu
pe
cu

Fig. 7.12 Reprezentarea instrumentului de reprezentare, de tip osciloscop.

7.3.4 BLOCUL DE AFIARE SUB FORM DIGITAL A


VALORILOR MINIME/MAXIME ALE SEMNALELOR DE
INTRARE
n cadrul instrumentului virtual creat, n partea superioar a panoului
analizorului, sunt afiate valorile minime, respectiv maxime, ale celor dou
m rimi de intrare reprezentate la un moment dat pe ecran.
Blocul de afiare sub form digital a valorilor minime/maxime ale
semnalelor de intrare, reprezentat n fig. 7.13, const din:
obiectului utilizator ce determin valorile minime/maxime ale
m rimilor de intrare, reprezentat n fig. 7.13, compus din:
modulul de calcul statistic ce determin valoarea minim din vectorul
de eantioane al semnalului de intrare;
modulul de calcul statistic ce determin valoarea maxim din vectorul
de eantioane al semnalului de intrare;
modulul utilizator U, respectiv I, ce realizeaz sumarea dintre
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

247

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

valoarea numeric minim /maxim determinat din vectorul de


eantioane al semnalului de intrare i o constant de tip text, care
reprezint unitatea de m sur a m rimii reprezentate (V sau A). Acest
lucru este realizat pentru ca citirea indica iilor s fie facil i intuitiv .
n urma procesului de sumare se ob ine o constant de tip text, n care
reprezentarea num rului este efectuat pe 99 de zecimale. Pentru o
reprezentare intuitiv , este limitat num rul de caractere de reprezentat
la valoarea 6, care include i punctul zecimal.
Valorile astfel ob inute sunt afiate pe panoul frontal utiliznd obiectele
predefinite, denumite AlphaNumeric Display.

Fig. 7.13 Reprezentarea detaliat a obiectului utilizator ce determin valorile


minime/maxime ale m rimilor de intrare.

7.4 INTERFA AREA INSTRUMENTULUI VIRTUAL DE


ANALIZ A SEMNALELOR ELECTRICE, ESA, CU
INTERFA A SPECIALIZAT DE ACHIZI II DE DATE
n implementarea propus , comunica ia ntre instrumentul virtual de
analiz a semnalelor electrice, ESA i interfa a specializat de achizi ii de date
se realizeaz prin intermediul a dou elemente:
demararea procesului de achizi ie a tensiunii de faz i a curentului de
248

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

linie se realizeaz software, prin lansarea n execu ie a ferestrei de


comand Run PC Program (Dos) de sub platforma HP VEE for
Windows. n cmpurile predefinite ale acestei ferestre, se introduc
numele i calea (drive, director, subdirector, etc.) programului de
achizi ie scris n limbaj de asamblare. La sfrsitul cestei opera ii, se
ac ioneaz prin intermediul mouse-ului butonul OK. Pe durata
transfer rii programului, prin intermediul interfe ei seriale, c tre
sistemul de dezvoltare controlul este preluat de programul monitor.
Dup ce programul de achizi ie a fost lansat n execu ie, controlul este
din nou preluat de c tre instrumentul virtual ESA. La terminarea
ciclului de achizi ie i conversie, sistemul de dezvoltare transmite c tre
calculatorul gazd , pe care este rezident instrumentul ESA,
eantioanele semnalelor achizi ionate. Acestea vor fi salvate, la sfritul
transmisiei, sub forma unui fiier de date, compatibil HP VEE. Fiierul
de date este accesat de analizorul ESA de cte ori se comand procesul
de analiz a semnalelor electrice;
analiza se efectueaz folosind datele din fiierul de comunica ie. Exist
mai multe variante posibile de lucru cu acest fiier:
fiierul de date poate fi reactualizat la fiecare proces de achizi ie i
conversie;
fiierul de date poate fi completat cu noi serii de rezultate ob inute n
urma unui proces ciclic de achizi ie i conversie, folosind op iunea
de append to file;
poate fi creat o serie de fiiere, avnd acelai nume de baz , dar
indicative numerice diferite - de exemplu filexxx; fiecare fiier de
date din cadrul seriei con ine informa iile ob inute n urma
procesului de achizi ie i conversie cu indicativul generic xxx
(xxx=0999).
De asemenea, exist posibilitatea de a utiliza mai multe formate
pentru fiierul de date. Aceast structur , sau o form echivalent , n
care datele sunt reprezentate sub form hexa, sunt ns cele mai
recomandabile.
Structura fiierului con ine un antet care indic : semnifica ia datelor
(waveform - form de semnal), num rul de dimensiuni pentru
reprezentarea formei de semnal sub form
matriceal
(numDims=1 - o singur dimensiune, deci reprezentare vectorial ), lungimea structurii de date (size=2048) i sunt listate, n
ordine, elementele fiec rei coloane din matricea de reprezentare,
precedate de num rul coloanei (dim 1) i de extensia fiec rui
element. Elementele sunt separate ntre ele prin spa ii (space).

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

249

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

7.5 DETALII SUPLIMENTARE PRIVIND IMPLEMENTAREA


INSTRUMENTULUI VIRTUAL ESA
Fiierele de date pe care este f cut reprezentarea grafic a m rimilor de
intrare (temp.dat, temp1.dat, temp2.dat, temp3.dat) au fost achizi ionate cu
ajutorul unui sistem de achizi ii de date PLM-16, produs de firma National
Instruments, folosind programul de aplica ii NIDAQ al aceleiai firme.
Achizi ia de date este cu multiplexare temporal pe patru canale i este
caracterizat de o frecven de eantionare de 4000 Hz pe toate cele patru
canale. Acest lucru ne conduce la concluzia c ntr-o secund s-au efectuat 1000
de eantioane pentru fiecare m rime de intrare, adic informa ia pentru axa X
este exact timpul, exprimat n milisecunde. Dac frecven a de eantionare este
diferit , trebuie efectuat o scalare a valorilor de pe axa X, pentru exprimarea
timpului n milisecunde. M rimile achizi ionate reprezint for ele tangen iale,
respectiv normale, m surate cu ajutorul unor senzori inductivi de proximitate,
ntr-un sistem pentru determinarea coeficien ilor de frecare. Din p cate, aceste
m rimi nu sunt periodice i nu se poate efectua o analiz armonic a acestor
semnale (analiza Fourier, ca mijloc de analiz a semnalelor, se aplic pentru
semnale periodice).
Codul surs al aplica iei este generat automat prin amplasarea n spa iul
de lucru a obiectelor predefinite i a celor create de utilizator i interconectarea
acestora. Singurele modificari manuale n acest cod sunt legate de modificarea
unor propriet i ale modulelor utilizate. Crearea panoului frontal al analizorului,
care con ine doar instrumentele de afiare i butoanele de control, a fost
efectuat prin utilizarea facilit ii Add to Panel pentru aceste obiecte,
reprezentate n spa iul de lucru n modul detail.
Deoarece este vorba de un analizor care nu este destinat unei aplica ii
concrete, specifice, au fost create o serie suplimentar de obiecte utilizator, ce
vor fi descrise n capitolul urm tor, care pot fi apelate n spa iul de lucru i
interconectate cu obiectele preexistente, ceea ce conduce la modificarea
analizorului pentru focalizarea pe o situa ie concret .

7.6 RESURSE SUPLIMENTARE ALE ANALIZORULUI DE


SEMNALE ELECTRICE, ESA
Analizorul ESA pentru semnale electrice a fost completat cu o serie de
obiecte utilizator nou create, pentru extinderea facilit ilor acestuia.
n primul rnd, a fost creat un nou obiect utilizator, denumit Auto_XY,
care reprezint un instrument de afiare de tip osciloscop care efectueaz
automat autoscalarea pe ambele axe de coordonate. Pornind de la acest obiect, a
250

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

fost creat un obiect utilizator, denumit 2Auto_XY, capabil s afieze grafic,


prin multiplexare, dou m rimi de intrare de acelai tip.
n fig. 7.14 este ilustrat schem bloc a analizorului ESA ce utilizeaz
acest instrument de afiare. Schema bloc func ional a analizorului pentru
semnale electrice este, n acest caz, mult mai simpl , avnd n vedere nglobarea
tuturor obiectelor necesare n vederea reprezent rii grafice n modulul obiect
nou creat.
n fig. 7.15 este reprezentat panoul frontal al analizorului ESA ce
utilizeaz acest nou instrument de afiare. Se constat c panoul frontal, n
situa ia folosirii unor instrumente de afiare cu facilit i de autoscalare
ncorporate, este asem n tor cu cel prezentat anterior.

Fig. 7.14 Reprezentarea detaliat a analizorului ESA.

Modulul obiect denumit 2Auto_XY, a c rui reprezentare de tip panel


este prezentat n fig. 7.16, permite vizualizarea prin multiplexare a dou m rimi
de intrare de acelai tip (tensiuni sau curen i), selec ia efectundu-se prin
intermediul unei liste circulare cu dou op iuni, de tipul celor prezentate
anterior.
n fig. 7.17 este figurat reprezentat reprezentarea detaliat a modulului
obiect denumit 2Auto_XY, acesta compunndu-se din dou blocuri:
obiectul utilizator denumit Display Control, care nglobeaz toate
elementele legate de autoscalare, titlu, tipul, culoarea punctului i liniei
de reprezentare;
un modul obiect predefinit, descris anterior, de tip XY Display,
la care au fost ad ugate intr rile de comand Scales, Traces
i Title.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

251

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

Fig. 7.15 Reprezentarea panoului analizorului ESA.

Fig. 7.16 Reprezentarea noului instrument de afiare cu autoscalare.

252

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Fig. 7.17 Reprezentarea detaliat a noului instrument de afiare cu autoscalare.

Fig. 7.18 Reprezentarea detaliat a modulului Display Control.

n fig. 7.18 este figurat reprezentarea detaliat a obiectului utilizator nou


creat, denumit Display Control, care aduce elementele de noutate (autoscalare
pe ambele axe de coordonate prin mijloace proprii, f r a folosi butoane de
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

253

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

autoscalare sau facilit ile mijlocului de reprezentare grafic .

Fig. 7.19 Reprezentarea blocurilor componente ale modulului Display


Control.

n fig. 7.19 sunt prezentate blocurile componente ale obiectului Display


Control, i anume:
circuitul de calcul al valorii minime pentru axele de coordonate,
denumit Min X,Y;
circuitul de calcul al valorii maxime pentru axele de coordonate,
denumit Max X,Y;
constantele de tip text pentru scal i nume (Scales, Name);
constanta de tip nregistrare cu cinci cmpuri pentru reprezentarea
grafic pe ecran.

7.6..1
1 ANALIZORUL FOURIER
Reprezentarea detaliat a analizorului Fourier dublu este ilustrat n fig.
7.20.

Semnalelor de intrare, de tensiune i de curent, li se aplic ferestre de


eantionare de tip dreptunghiular, Hanning, Blackman sau Bartlet. Aceste
ferestre de eantionare, sub forma lor temporal , sunt descrise de ecua iile (7.1),
(7.2), (7.3) i (7.4) i sunt caracterizate printr-o durat de 8 perioade ale
semnalelor de intrare de frecven fundamental :

254

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Fig. 7.20 Structura analizorului Fourier dublu (reprezentare detaliat ).

fereastr de eantionare Dirichlet, descris de urm toarea ecua ie:


1, n = 0,1,...,N 1
w (n ) =
(7.1)

0
,
n
N

fereastr de eantionare Hanning, descris de urm toarea ecua ie:

2n
w(n) = 0,51 + cos
(7.2)
;n = 0,1,..., N 1
N

fereastr de eantionare Blackman, descris de urm toarea ecua ie;


2
2
w(n) = 0,42 - 0,5 cos n + 0,08 cos 2n ;n = 0,1,..., N - 1
(7.3)

N
N
fereastr de eantionare Bartlett, descris de urm toarea ecua ie:
N

k n
<
0
;
daca
n
(-1)
2
2 ;n = 0,1,...N - 1;k =
(7.4)
w(n) = 2

N
N -1
1;daca n >

2
Toate aceste ferestre de eantionare au fost implementate ca func ii
utilizator (user function), conform ecua iilor de defini ie prezentate anterior.
Obiectele ferestre de eantionare au fost implememtate ca func ii
utilizator (user function), la fel ca i obiectul algoritm FFT (fig. 7.21).
Rezultatele nmul irii, n domeniul timp, ale semnalelor de intrare cu
ferestrele de eantionare sunt multiplexate utiliznd un multiplexor de tip 4:1.
Acest multiplexor este un obiect utilizator nou creat, folosind multiplexorul de
tip 2:1 implementat n cadrul platformei HP VEE. Intr rile de selec ie ale
multiplexorului sunt comandate de c tre un obiect denumit List to Bin, nou
creat. Acest obiect convertete con inutul unei liste de intrare, de tip text, ntr-un
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

255

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

cuvnt binar de doi bi i, reprezentnd pozi ia n list a ferestrei de eantionare


selectat .

Fig. 7.21 Func iile utilizator utilizate n implementarea analizorului Fourier


dublu.

Acest proces de conversie text-cuvnt binar este realizat, conform figurii


7.22, prin compararea titlului reprezentnd numele ferestrei de eantionare din
list cu patru nregistr ri de tip text, predefinite i realizarea unei func ii cablate
(JCT) ntre ieirile celor patru comparatoare. Rezultatul func iei cablate JCT
indic , n format zecimal, pozi ia textului selectat n lista de intrare. n
continuare, se realizeaz convertirea num rului zecimal ob inut n form binar ,
prin utilizarea func iei bit(x,n) ce furnizeaz ca rezultat bitul de pe pozi ia n a
variabilei de intrare x.

Fig. 7.22 Reprezentarea detaliat a obiectului utilizator List to Bin.


256

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Prin selectarea unui anumit tip de fereastr de eantionare, semnalelor de


intrare multiplicate cu fereastra aleas li se aplic un algoritm de transformare
Fourier redus, cu decimare n frecven .
Conform figurii 7.21, obiectul FFT este o func ie utilizator. Rezultatul
transform rii FFT este un vector de numere complexe, fiecare element al
vectorului con innd informa ii referitoare la amplitudinea i faza ini ial a
armonicii corespunz toare. Utiliznd func ia UnBuild PComplex, se
determin m rimile anterior men ionate. Trebuie men ionat c trebuie efectuat
o corec ie a fazei armonicilor pentru a fi reprezentat pe intervalul [0, +],
deoarece n urma calculelor, faza se ncadreaz n intervalul [-, +]. De
asemenea, calculul amplitudinilor fiec rei armonici necesit mp r irea
modulului num rului complex corespunz tor din vectorul transform rii FFT la
lungimea acestuia.
n concluzie, solu ia de implementare utiliznd fiiere de comunica ii
pentru date, respectiv pentru comenzi, crete productivitatea utiliz rii
instrumentului virtual de analiz a regimului deformant n re ele electrice
poluate armonic prin creterea independen ei de platforma hardware de achizi ii
de date. Compromisul care trebuie acceptat const n sc derea, ntr-o oarecare
m sur , a timpului de r spuns a instrumentului virtual, datorit execu iei de tip
secven ial a aplica iilor.
Instrumentele virtuale reprezint o modalitate facil , intuitiv i
productiv de integrare a unor echipamente de m surare microprogramate ntr-o
aplica ie industrial .

7.7 TESTAREA INSTRUMENTULUI VIRTUAL ESA I


REZULTATE EXPERIMENTALE
Testarea instrumentului virtual de m surare i analiz a semnalelor
electrice, ESA, a fost f cut , n prim faz , prin aplicarea la intr rile analizorului
a unor fiiere de date reprezentnd eantioanele unor semnale de intrare
(tensiune i curent), de form dreptunghiular , simulate software cu ajutorul
obiectului predefinit function generator.
n a doua faz , testarea a fost efectuat prin aplicarea la intr rile
analizorului a unor fiiere de date reprezentnd eantioanele unor semnale de
intrare (tensiune i curent), de form dreptunghiular , achizi ionate de la un
generator de semnal dreptunghiular.
Se constat , analiznd rezultatele ob inute, c prin aplicarea unor semnale
de tensiune i de curent de form dreptunghiular (simulate software sau reale),
cu frecven de 50 Hz i cu amplitudini de 100 V, respectiv 5 A, prin analiz
armonic se ob in doar armonici impare, a c ror valoare este invers
propor ional cu ordinul acesteia n raport cu fundamentala. Erorile rezultate
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

257

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

sunt inferioare valorii de 0,377% i pot fi justificate prin urm toarele


considerente:
semnalele de intrare, reale sau simulate, nu sunt perfect
dreptunghiulare (duratele fronturilor sunt foarte scurte, dar nenule),
acest aspect contribuind n mod decisiv la eroarea analizei. Acest lucru
poate fi justificat, analiznd rezultatele experimentale, prin faptul c
erorile relative nu depind de valoarea amplitudinii semnalului de
intrare (semnalul de tensiune are amplitudine de 100 V, iar cel de
curent are amplitudine de 5 A). n cadrul rezultatelor experimentale, a
fost limitat ordinul maxim al armonicilor la 50, care reprezint ordinul
maxim al armonicilor de tensiune, respectiv de curent, care dau efecte
nedorite n instala iile electroenergetice, dei instrumentul ESA poate
pune n eviden armonici cu ranguri mai mari (n analizele efectuate
n vederea test rii acestui instrument virtual s-au pus n eviden
armonici cu ranguri de pn la 100);
precizia de calcul, cu pondere net inferioar , instrumentul virtual
lucrnd n precizie dubl (maxim 10-6%);
erorile de trunchiere, rezultatele fiind limitate din punct de vedere al
reprezent rii la maxim 4 zecimale, avnd o pondere mic (maximum
10-2%).
Se constat c erorile de determinare ale valorilor efective ale semnalelor
de tensiune i de curent, nu dep esc 0,01%, ceea ce confer o exactitate ridicat
de analiz pentru acest instrument virtual.

7.8 LISTINGUL PROGRAMULUI DE ACHIZI IE DE DATE


;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

Programul citeste de la tastatura locala una dintre


tastele apasate. Aceasta este de tip matriceal, cu 3
linii si 4 coloane. Corespunzator codului tastei, se
selecteaza unul dintre cele 6 canale analogice de
intrare (daca codul tastei este 0..5), sau o pereche
de canale de intrare tensiune-curent (daca codul tastei
este 6..8), sau toate canalele de intrare (daca codul
tastei apasate este 9) - achizitie sincrona -, se
converteste tensiunea aplicata intrarii selectate si se
memoreaza rezultatele in memoria RAM de date, urmand a
fi transmise pe interfata seriala la PC.
Dialogul cu afisajul LCD se efectueaza prin intermediul unor
subrutine:
WRCMD - scrierea comenzii din registrul R2 la LCD
WRDAT - scrierea datelor din registrul R2 la LCD
WLCD - asteapta terminarea operatiunilor interne ale LCD
INLCD - initializarea LCD pentru transfer pe 8 biti.
Comenzile folosite sunt:
CLEAR - 1

258

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
;
CURSOR HOME - 2, 3
;
MODE - 1/INC/SHIFT
;
CONTROL - 1/DysplayON/CursorON/FlashON
;
SHIFT - 1/SHIFT/RIGHT/*/*
;
; Spatiul utilizator incepe de la adresa 8000H, deci acest
; program va fi stocat incepand de la aceasta adresa.
;
ORG
8000H
;
; progam principal
;
LJMP INIT
; long jump la rutina de initializare
; afisaj cu cristale lichide LCD
INIT: ACALL INILCD
; apel rutina de initializare afisaj
ACALL CLRLCD
; apel rutina stergere LCD
; prezentarea programului de achizitie pe LCD - dispaly 1
MOV
DPTR,#TEXT1 ; se memoreaza in DPTR adresa de in; ceput a sirului de caractere TEXT1
ACALL MESAJ
; apel rutina de afisare mesaj la LCD
ACALL CLEAR
; apel rutina de stergere temporizata
; prezentarea programului de achizitie pe LCD - dispaly 2
MOV
DPTR,#TEXT2 ; se memoreaza in DPTR adresa de in; ceput a sirului de caractere TEXT2
ACALL MESAJ
; apel rutina de afisare mesaj la LCD
ACALL CLEAR
; apel rutina de stergere temporizata
; prezentarea programului de achizitie pe LCD - dispaly 3
MOV
DPTR,#TEXT3 ; se memoreaza in DPTR adresa de in; ceput a sirului de caractere TEXT3
ACALL MESAJ
; apel rutina de afisare mesaj la LCD
ACALL CLEAR
; apel rutina de stergere temporizata
; prezentarea programului de achizitie pe LCD - dispaly 4
MOV
DPTR,#TEXT4 ; se memoreaza in DPTR adresa de in; ceput a sirului de caractere TEXT4
; apel rutina de afisare mesaj la LCD
ACALL MESAJ
ACALL CLEAR
; apel rutina de stergere temporizata
; prezentarea programului de achizitie pe LCD - dispaly 5
MOV
DPTR,#TEXT5 ; se memoreaza in DPTR adresa de in; ceput a sirului de caractere TEXT5
; apel rutina de afisare mesaj la LCD
ACALL MESAJ
ACALL CLEAR
; apel rutina de stergere temporizata
; prezentarea programului de achizitie pe LCD - dispaly 6
MOV
DPTR,#TEXT6 ; se memoreaza in DPTR adresa de in; ceput a sirului de caractere TEXT6
; apel rutina de afisare mesaj la LCD
ACALL MESAJ
ACALL CLEAR
; apel rutina de stergere temporizata
; prezentarea programului de achizitie pe LCD - dispaly 7
MOV
DPTR,#TEXT7 ; se memoreaza in DPTR adresa de in; ceput a sirului de caractere TEXT7
; apel rutina de afisare mesaj la LCD
ACALL MESAJ
MOV
R2,#0CBH
; adresa scriere cod tasta
ACALL WRCMD
; pozitionare cursor
R2,#1101B
; display on, cursor off, flash on
MOV
; scrie comanda la LCD
ACALL WRCMD
; citirea tastaturii, prin baleierea celor trei linii, citirea celor
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

259

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE


; patru coloane si verificare daca s-a tastat ceva.
; prima linie
NEXT: MOV
A,#0E0H
; initializeaza acumulatorul cu #0E0H
; (se selecteaza prima linie de taste)
ACALL WRPRDP
; se apeleaza rutina de scriere/citire
; port
MOV
R3,A
; salveaza valoarea in registrul R3
ANL
A,#0FH
; mascheaza bitii mai semnificativi
; ai acumulatorului (codul liniei)
JZ
NEXT1
; daca A=0 (valoarea citita este 0FH; nu s-a tastat nimic),salt la eticheta
; NEXT1 (linia 1 de taste)
JNZ
COL
; daca continutul acumulatorului nu
; este zero, salt la determinarea
; codului HEXA al tastei, in functie
; de linia activa si coloana pe care
; este situata tasta apasata
; a doua linie
NEXT1: MOV
A,#0D0H
; se initializeaza acumulatorul cu #0D0H
; se selecteaza a doua linie de taste)
ACALL WRPRDP
; se apeleaza rutina de scriere/citire
; port
MOV
R3,A
; salveaza valoarea in registrul R3
ANL
A,#0FH
; mascheaza bitii mai semnificativi
; ai acumulatorului (codul liniei)
JZ
NEXT2
; daca A=0 (valoarea citita este 0FH)
; salt la eticheta NEXT
JNZ
COL
; daca continutul acumulatorului nu
; este zero, salt la determinarea
; codului HEXA al tastei, in functie
; de linia activa si coloana pe care
; este situata tasta apasata
; a treia linie
NEXT2: MOV
A,#0B0H
; se initializeaza acumulatorul cu #0D0H
; se selecteaza a treia linie de taste)
ACALL WRPRDP
; se apeleaza rutina de scriere/citire
; port
MOV
R3,A
; salveaza valoarea in registrul R3
ANL
A,#0FH
; mascheaza bitii mai semnificativi
; ai acumulatorului (codul liniei)
JZ
NEXT
; daca A=0 (valoarea citita este 0FH)
; salt la eticheta NEXT (prima linie)
JNZ
COL
; daca continutul acumulatorului nu
; este zero, salt la determinarea
; codului HEXA al tastei, in functie
; de linia activa si coloana pe care
; este situata tasta apasata
COL: JB
ACC.0,COL0
; salt la COL0, daca bitul 0 al acu; mulatorului este 1 (s-a apasat o
; tasta de pe coloana 0)
JB
ACC.1,COL1
; salt la COL1, daca bitul 1 al acu; mulatorului este 1 (s-a apasat o
; tasta de pe coloana 1)
JB
ACC.2,COL2
; salt la COL2, daca bitul 2 al acu; mulatorului este 1 (s-a apasat o
260

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

JB
COL0: MOV
MOV
SWAP
ANL
JB
JB
SJMP
COL1: MOV
MOV
SWAP
ANL
JB
JB
SJMP
COL2: MOV
MOV
SWAP
ANL
JB
JB
SJMP
COL3: MOV
MOV
SWAP
ANL
JB
JB
SJMP
LINIE1:
ADD
MOV
SJMP
LINIE2:
ADD
MOV
SJMP
PLAY: MOV
CALL
MOV

;
;
;
;
R1,#00H
;
A,R3
;
A
;
;
;
A,#0FH
;
ACC.1,LINIE1 ;
ACC.2,LINIE2 ;
PLAY
;
R1,#01H
;
A,R3
;
A
;
;
;
A,#0FH
;
;
ACC.1,LINIE1 ;
ACC.2,LINIE2 ;
PLAY
;
R1,#02H
;
A,R3
;
A
;
;
;
A,#0FH
;
;
ACC.1,LINIE1 ;
ACC.2,LINIE2 ;
PLAY
;
R1,#03H
;
A,R3
;
A
;
;
;
A,#0FH
;
;
ACC.1,LINIE1 ;
ACC.2,LINIE2 ;
PLAY
;
MOV
A,#04H ;
A,R1
;
R1,A
;
PLAY
;
MOV
A,#08H ;
A,R1
;
R1,A
;
PLAY
;
A,R1
;
HEXASC
;
;
R2,A
;
ACC.3,COL3

tasta de pe coloana 2)
salt la COL3, daca bitul 3 al acumulatorului este 1 (s-a apasat o
tasta de pe coloana 3)
s-a apasat tasta de pe coloana 0
se reconstituie acumulatorul
se interschimba bitii mai semnificativi
cu cei mai putini semnificativi ai
acumulatorului
se mascheaza bitii mai semnificativi
salt daca tasta apasata era pe linia 1
salt daca tasta apasata era pe linia 2
salt la rutina de afisare, tasta 0
s-a apasat tasta de pe coloana 0
se reconstituie acumulatorul
se interschimba bitii mai semnificativi
cu cei mai putini semnificativi ai
acumulatorului
se mascheaza bitii mai semnificativi
pentru identificarea codului liniei
salt daca tasta apasata era pe linia 1
salt daca tasta apasata era pe linia 2
salt la rutina de afisare, tasta 1
s-a apasat o tasta de pe coloana 2
se reconstituie acumulatorul
se interschimba bitii mai semnificativi
cu cei mai putini semnificativi ai
acumulatorului
se mascheaza bitii mai semnificativi
pentru identificarea codului liniei
salt daca tasta apasata era pe linia 1
salt daca tasta apasata era pe linia 2
salt la rutina de afisare, tasta 2
s-a apasat o tasta de pe coloana 3
se reconstituie acumulatorul
se interschimba bitii mai semnificativi
cu cei mai putini semnificativi ai
acumulatorului
se mascheaza bitii mai semnificativi
pentru identificarea codului liniei
salt daca tasta apasata era pe linia 1
salt daca tasta apasata era pe linia 2
salt la rutina de afisare, tasta 3
tasta apasata era pe linia 1
se aduna codul coloanei cu codul liniei
codul hexa al tastei apasate este in R1
salt la rutina de afisare, tastele 4..7
tasta apasata era pe linia 2
se aduna codul coloanei cu codul liniei
codul hexa al tastei apasate este in R1
salt la rutina de afisare, tastele 8..B
codul hexa al tastei in acumulator
conversie in ASCII a codului tastei,
pentru afisare pe LCD
codul HEXA al tastei apasate in R2

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

261

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE


ACALL TRX
MOV
R2,#0CBH
ACALL WRCMD
MOV
R2,#1100B
ACALL WRCMD
ACALL CLEAR
; prezentarea programului
MOV
DPTR,#TEXT8
ACALL MESAJ
MOV
A,R1
JZ
SCH

SCH:

DCH:

262

DEC
JZ

A
SCH

DEC
JZ

A
SCH

DEC
JZ

A
SCH

DEC
JZ

A
SCH

DEC
JZ

A
SCH

DEC
JZ

A
DCH

DEC
JZ

A
DCH

DEC
JZ

A
DCH

DEC
JZ

A
ALL

MOV
ACALL
ACALL
LJMP
MOV
CLR
SUBB
MOV
ACALL
ACALL
MOV
INC
INC
INC

A,R1
SH
SINGLE
NEXT
A,R1
C
A,#6
R7,A
SH
SINGLE
A,R7
A
A
A

; scrie la LCD codul tastei


; adresa scriere cod tasta
; pozitionare cursor
; display on, cursor off, flash off
; scrie comanda la LCD
; apel rutina stergere temporizata a LCD
de achizitie pe LCD - dispaly 8
; se memoreaza in DPTR adresa de in; ceput a sirului de caractere TEXT8
; apel rutina afisare mesaj la LCD
; codul tastei apasate in acumulator
; daca este 0, canalul selectat este
; canalul 0 si salt la eticheta SCH
; decrementeaza acumulatorul
; daca este 0, canalul selectat este
; canalul 1 si salt la eticheta SCH
; decrementeaza acumulatorul
; daca este 0, canalul selectat este
; canalul 2 si salt la eticheta SCH
; decrementeaza acumulatorul
; daca este 0, canalul selectat este
; canalul 3 si salt la eticheta SCH
; decrementeaza acumulatorul
; daca este 0, canalul selectat este
; canalul 4 si salt la eticheta SCH
; decrementeaza acumulatorul
; daca este 0, canalul selectat este
; canalul 5 si salt la eticheta SCH
; decrementeaza acumulatorul
; tasta apasata era 6 si se selecteaza
; perechea de canale 0 si 3 (esantionare
; sincrona)
; decrementeaza acumulatorul
; tasta apasata era 7 si se esantioneaza
; sincron perechea de canale 1 si 3
; decrementeaza acumulatorul
; tasta apasata era 8 si se esantioneaza
; sincron perechea de canale 2 si 5
; decrementeaza acumulatorul
; tasta apasata era 9 si se esantioneaza
; sincron canalele 0 .. 5

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

ALL:

;
SH:

ACALL
LJMP
MOV
CLR
SUBB
MOV
ACALL
ACALL
MOV
INC
MOV
ACALL
MOV
INC
MOV
ACALL
MOV
INC
MOV
ACALL
MOV
INC
MOV
ACALL
MOV
INC
MOV
ACALL
LJMP

SINGLE
NEXT
A,R1
C
A,#9
R7,A
SH
SINGLE
A,R7
A
R7,A
SINGLE
A,R7
A
R7,A
SINGLE
A,R7
A
R7,A
SINGLE
A,R7
A
R7,A
SINGLE
A,R7
A
R7,A
SINGLE
NEXT

ORL
A,#11000000B
PUSH ACC
ACALL WRCDA
;
;
ACALL WAIT5
;
;
POP
ACC
ANL
A,#00111111B
PUSH ACC
ACALL WRCDA
;
;
POP
ACC
RET

;
SINGLE:
ACALL WRCONV
ACALL WAIT10
ACALL RDCONV
ACALL RDLSBYTE
ACALL WRMEM
ACALL RDMSBYTE

;
;
;
;
;
;
;
;
;
;

comanda de esantionare, selectie


canal si amplificare
asteapta 5us pentru achizitia
semnalului de intrare

comanda de memorare pentru canalul


de intrare selectat

start conversie
se asteapta sfarsitul conversiei
se transfera rezultatul conversiei
pe 12 biti, in registrele LSBYTE si
MSBYTE
se citeste octetul mai putin semnificativ al conversiei, din registrul
LSBYTE
se salveaza octetul in memorie
se citeste octetul mai semnificativ

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

263

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

ACALL WRMEM
RET

; al conversiei, din registrul MSBYTE


; se salveaza octetul in memorie

;
WRCDA:
; rutina de selectie a parametrilor
; conversiei: numarul canalului selectat, comanda de esantionare,
; amplificarea amplificatorului cu cqstig reglabil
MOV
P2,#1
; se selecteaza porturile de iesire
MOV
R0,#28H
; se selecteaza portul COMAND
MOVX @R0,A
; muta continutul acumulatorului
; la portul de iesire COMAND
RET
;
P2,#1
WRCONV:
MOV
MOV
R0,#20H
MOVX @R0,A
RET
;
P2,#1
RDCONV:
MOV
MOV
R0,#20H
MOV
A,@R0
RET
;
RDLSBYTE:
MOV
P2,#1
MOV
R0,#68H
MOV
A,@R0
RET
;
RDMSBYTE:
MOV
P2,#1
MOV
R0,#70H
MOV
A,@R0
RET
;
WAIT5: MOV
R3,#5
LOOP2: NOP
DJNZ R3,LOOP2
RET
;
WAIT10:
MOV
R3,#10
LOOP3: NOP
DJNZ R3,LOOP3
RET
;
WRMEM: NOP
RET
;
INILCD:
; rutina de initializare LCD.
; Aceasta rutina trimite la LCD comanda #38H = 0011 1000B.
; Conform datelor de catalog, acesta comanda seteaza urmatorii
; parametri ai afisajului:
;
- bitul 5 - defineste aceasta comanda (function set);
;
- bitul 4(DL-Data Length)=1 seteaza dialogul pe 8 biti
;
intre procesor si LCD;
264

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
;
;
;
;

- bitul 3(N-Number of display lines)=1 seteaza numarul


liniilor afisajului ca fiind 2^N=2;
- bitul 2(F-Character Font)=0 seteaza forma caracterului
ca fiind 5*7 puncte
MOV
R2,#38H
; incarca R2 cu cuvantul de comanda
; pregatind dialogul pe 8 biti cu
; driverele de afisaj
ACALL WRCMD
; transmite comanda anterioara la
; port, efectuand programarea LCD
MOV
R4,#50
DEL4MS:
; rutina de intarziere cu 4 ms,
; necesara functionarii display-ului LCD
ACALL DELAY
; absolute call rutina DELAY
DJNZ R4,DEL4MS
; se decrementeaza registrul R4 si
; salt la eticheta DEL4MS daca conti; nutul acestuia este nenul
MOV
R4,#4
; se incarca R4 cu valoarea imediata 4
LINI:
; LINI seteaza modul de lucru al LCD
ACALL WRCMD
; se scrie comanda la driverele LCD
ACALL DELAY
; apel rutina DELAY
DJNZ R4,LINI
; se decrementeaza registrul R4 si salt
; la eticheta LINI daca este nenul con; tinutul acestui registru
ACALL WLCD
; testarea starii driverelor LCD
MOV
R2,#6
; seteaza modul de lucru "entry"
ACALL WRCMD
; transmite comanda la LCD
ACALL WLCD
; testarea starii driverelor LCD
MOV
R2,#0EH
; seteaza modul "display on"
ACALL WRCMD
; transmite comanda la LCD
ACALL WLCD
; testarea starii driverelor LCD
MOV
R2,#1
; stergere LCD
ACALL WRCMD
; transmite comanda la LCD
ACALL WLCD
; testarea starii driverelor LCD
RET
; revenire din subrutina INILCD
;
WRCMD:
; rutina WRCMD scrie o comanda la
; driverele de afisaj, in urma verificarii starii acestora. Se se; lecteaza afisajul LCD si comanda continuta de registrul R2 este
; transferata driverelor din LCD.
ACALL WLCD
; se verifica starea driverelor (BF=0)
MOV
A,R2
; comanda continuta in registrul R2 e
; transferata in acumulator
MOV
P2,#1
; se selecteaza portul LCD (S0=1)
MOV
R0,#0
; se selecteaza pe magistrala de adrese
; cu A0 si A1 combinatia 0000 0000 B,
; corespunzatoare scrierii unei comenzi
; la driverele afisajului LCD
MOVX @R0,A
; se scrie in driverele afisajului LCD
; (la adresa stabilita anterior) comanda
RET
; revenire din rutina WRCMD
;
WLCD:
; rutina ce testeaza daca este sau
; nu posibila transmiterea unui nou caracter catre LCD, pe baza in; formatiilor furnizate de rutina RDCMD. Se testeaza bitul 7 (BF ; Busy Flag) al registrului de stare al LCD. Daca BF=1, inseamna ca
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

265

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE


; LCD efectueaza o operatie interna si, deci, nu poate accepta un
nou
; caracter.
ACALL RDCMD
; apel rutina RDCMD
JB
ACC.7,WLCD
; se verifica daca BF=1 si asteapta
; trecerea lui in 0 (terminarea ope; ratiunilor interne)
RET
; revenire din subrutina WRCL
;
RDCMD:
; subrutina RDCMD selecteaza afisajul
; si citeste din registru de stare starea curenta a driverelor
acestuia,
; informatie care este depusa in acumulator
MOV
P2,#1
; selectie port (S0=1)
MOV
R0,#2
; se realizeaza pe magistrala de adrese
; selectia cu A0 si A1 (0000 0010 B),
; pentru a se citi starea driverelor de
; afisaj LCD
MOVX A,@R0
; se transfera in acumulator valoarea
; gasita la adresa specificata anterior
RET
; revenire din rutina RDCMD
;
DELAY:
; subrutina DELAY realizeaza o intarziere
; cu 80 microsecunde
MOV
R3,#17
; registrul R3 este incarcat cu valoarea
; imediata 17
; 80E-6secunde = 17 * 2instructiuni NOP *
; * 12 perioade de ceas/instructiune NOP*
; 1/11.059MHz (perioada ceas procesor)
LL1: NOP
; no operation
NOP
; no operation
DJNZ R3,LL1
; se decrementeaza registrul R3, se compa; ra continutul sau cu 0. Daca rezultatul
; compararii este 1, salt la eticheta LL1
RET
; revenire din subrutina DELAY
;
CLRLCD:
; subrutina de stergere a afisajului
; cu cristale lichide si setare a modului de afisare
MOV
R2,#1
; stergere afisaj LCD
ACALL WRCMD
; transmite comanda la LCD
MOV
R2,#1100B
; 1, display on, cursor off, flash off
ACALL WRCMD
; transmite comanda la LCD
RET
; revenire din rutina de CLRLCD
;
TRX1:
; subrutina de scriere sir de caractere
; la afisajul cu cristale lichide LCD
CLR
A
; initializeaza acumulatorul cu 0
MOVC A,@A+DPTR
; muta in acumulator adresa gasita
; la adresa @A+DPTR
CJNE A,#24H,TRCAR1; compara continutul acumulatorului
; cu #24H (codul hexa al caracterului
; $ - sfarsit de mesaj) si daca este
; diferit se efectueaza salt la eticheta
; TRCAR1
RET
; iesire din subrutina TRX1
266

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
TRCAR1:

MOV

ACALL WRDAT
INC
SJMP

DPTR
TRX1

;
TRX:
; caracter ASCII
CLR
A
MOV
A,R2

R2,A

;
;
;
;
;
;
;

muta continutul acumulatorului in


registrul R2
apel subrutina de scriere date in
registrele afisajului LCD
adresa urmatorului caracter de scris
small jump la eticheta TRX1, pentru
a scrie urmatorul caracter

; subrutina de afisare la LCD a unui


;
;
;
;
;
;
;
;

se initializeaza acumulatorul cu 0
se transfera continutul registrului
R2 in acumulator
long jump la eticheta TRCAR
iesire din rutina TRX
se restaureaza in R2 continutul Acc.
se scriu datele in driverele LCD
short jump la eticheta LL7

LJMP TRCAR
LL7: RET
TRCAR: MOV
R2,A
ACALL WRDAT
SJMP LL7
;
WRDAT:
; subrutina WRDAT este identica cu WRCMD
; dar este utilizata pentru scrierea la driverele LCD codul
; caracterelor ce urmeaza a fi afisate
ACALL WLCD
; testarea starii driverelor LCD
MOV
P2,#1
; se selecteaza portul LCD (S0=1)
MOV
R0,#1
; se selecteaza pe magistrala de adrese
; cu A0 si A1 combinatia 0000 0001 B,
; corespunzatoare scrierii unui caracter
; la driverele afisajului LCD
MOV
A,R2
; se transfera caracterul in acumulator
MOVX @R0,A
; se transmite caracterul driverelor LCD
RET
; revenire din rutina WRDAT
;
MESAJ:
; subrutina de afisare la LCD a doua linii
; de cate 16 caractere
ACALL TRX1
; apel rutina de transmisie mesaj
MOV
R2,#0C0H
; pozitionare pe a doua linie
ACALL WRCMD
; scriere comanda pozitionare la LCD
INC
DPTR
; incrementare DPTR (linia a doua)
ACALL TRX1
; apel rutina de transmisie mesaj
RET
; revenire din rutina MESAJ
;
CLEAR:
; subrutina mentine starea afisajului
; timp de 3 secunde, sterge afisajul si pozitioneaza cursorul pe
; prima pozitie, de pe prima linie
ACALL SEC3
; mentine starea afisajului 3 sec.
MO V
R2,#1
; comanda stergere display
ACALL WRCMD
; scriere comanda la LCD
MOV
R2,#2
; cursor home, prima linie
ACALL WRCMD
; scriere comanda la LCD
RET
; revenire din subrutina MESAJ
;
WRPRDP:
; rutina de scriere/citire port
MOV
P2,#1
; selecteaza decodificatorul (A8=1)
MOV
R0,#20H
; incarca R0 cu 0010 0000 B:
; selectie port de iesire 1 (S1=0)
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

267

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE


MOVX

@R0,A

MOV
MOV

P2,#1
R0,#60H

MOVX

A,@R0

CPL
RET

;
;
;
;
;
;
;
;
;

muta continutul acumulatorului


la portul de iesire 1 (AX0=0)
selecteaza decodificatorul (A8=1)
incarca R0 cu 0110 0000B:
selecteaza portul de intrare
citeste in acumulator valorea gasita
la adresa specificata anterior
complementeaza acumulatorul
iesire din rutina WRPRDP

;
SEC3:
; rutina de intarziere cu
; 3sec = (43instr. NOP x 12 perioade ceas/NOP x 256
MOV
R6,#255
; se incarca registrul R6
LOOP1: MOV
R7,#255
; se incarca registrul R7
; 43 instructiuni NOP
LOOP: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
268

3 secunde
x 256)/11,059MHz
cu #255
cu #255

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
NOP
NOP
DJNZ

R7,LOOP

DJNZ

R6,LOOP1

;
;
;
;
;

se decrementeaza registrul R7 si
daca este nenul, salt la LOOP
se decrementeaza registrul R6 si
daca este nenul, salt la LOOP1
revenire din subrutina SEC3

RET
;
TEXT1: DB ' ACHIZITIE A/D: $'
DB 'PE 6 CANALE: 12b$'
TEXT2: DB 'AFISARE: 2 LINII$'
DB 'DE 16 CARACTERE $'
TEXT3: DB 'STOCARE: 2 BYTES$'
DB ' IN MEMORIA RAM $'
TEXT4: DB 'TRANSFER SERIAL$'
DB 'LA PC:9600 BAUDS$'
TEXT5: DB 'CONVERSIE D/A:8b$'
DB 'REFACERE SEMNAL$'
TEXT6: DB 'APASATI O TASTA:$'
DB ' (NUMAR: 0..11) $'
TEXT7: DB 'TASTA ACTIONATA:$'
DB ' TASTA "
" $'
TEXT8: DB ' SEMNAL INTRARE $'
DB ' CANAL : .
V$'
;
HEXASC:
; rutina de conversie hexa-ascii
ANL
A,#0FH
; se mascheaza cei patru biti mai
; semnificativi ai acumulatorului
JNB
ACC.3,NOADJ ; daca bitul 3 = 0 salt la NOADJ
JB
ACC.2,ADJ
; daca bitul 2 = 1 salt la ADJ
JNB
ACC.1,NOADJ ; daca bitul 1 = 0 salt la NOADJ
ADJ: ADD
A,#07H
; aduna acumulatorul cu #07H
NOADJ: ADD
A,#30H
; aduna acumulatorul cu #30H
RET
; revenire din rutina HEXASC
;
END
; sfarsitul programului

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

269

SOFTWARE DE ANALIZ A SEMNALELOR ELECTRICE

270

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

8. SISTEM CU MICROCONTROLLER PENTRU


M SURAREA I CONTROLUL TEMPERATURII
8.1 SPECIFICA IILE DE PROIECTARE ALE SISTEMULUI
PENTRU M SURAREA I CONTROLUL TEMPERATURII
n condi iile actuale, tot mai multe echipamente de m surare i reglare, n
domeniile industrial, industriei auto i casnic, au la baz sisteme organizate n
jurul unui microprocesor sau a unui microcontroller. Acest tip de abordare a
proiect rii prezint o serie de avantaje substan iale, dintre care putem remarca:
simplitatea i caracterul de compatibilitate a proiect rii, grad ridicat de integrare,
gabarit redus, consum redus de energie electric , facilit i de adaptabilitate la
determinarea i controlul unor noi parametri (sau n situa ia modific rii rela iilor
de calcul ale acestora), imunitate ridicat la perturba ii i zgomote electrice i,
binen eles, nu n ultimul rnd, fiabilitate ridicat .
n cele ce urmeaz , va fi prezentat structura i elementele de proiectare
ale unui sistem destinat m sur rii i controlului temperaturii n mediu industrial.
Acest sistem va fi organizat n jurul unui microcontroller de tip 80C552, fiind
caracterizat de urm torii parametri:
m surarea temperaturii n 8 puncte al procesului, folosind senzori de
temperatur de tip LM135, cu rezolu ie de 0,5oC, sau senzori de
temperatur cu ieire n curent (semnal unificat 4 .. 20 mA);
intervalul de temperatur controlat este cuprins ntre 0oC i +100oC;
conversie analog-digital pe 8 bi i, n format binar direct, a
informa iilor de temperatur preluate din proces;
memorarea temporar a codurilor binare de temperatur ntr-o
memorie de date, de tip RAM static;
programarea, prin intermediul unui dispozitiv local de introducere a
datelor (tastatur local ) a temperaturii de echilibru n cadrul
sistemului controlat;
afiarea local , pe un display cu cristale lichide, att a temperaturii de
lucru preprogramate, ct i a temperaturii medii determinate;
controlul continuu al elementului de execu ie (elementul de nc lzire)
pentru men inerea temperaturii preprogramate;
extinderea posibilit ilor de control la dou elemente de execu ie;
transmiterea informa iilor de temperatur prelevate din proces, pe o
leg tur serial full-duplex, de mare vitrz , compatibil RS-232, c tre
un calculator gazd , n vederea analizei statistice i interpret rii la un
nivel nalt a rezultatelor.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

271

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII

Va fi elaborat i un program de aplica ie, scris n limbaj de asamblare,


care permite m surarea i controlul temperaturii n cadrul procesului. Limbajul
de asamblare, dei mai greu de utilizat i de interpretat, prezint avantajul
minimiz rii codului aplica iei.
n cele ce urmeaz , se va concentra efortul de proiectare pentru
minimizarea hardware-ului utilizat, ns cu asigurarea performan elor de
exactitate specificate.
n subcapitolele urm toare vor fi descrise, ntr-o ordine ce ine seama de
complexitatea structurilor utilizate, elementele hardware i software care
compun acest sistem microprocesat destinat m sur rii i controlului
temperaturii.

8.2 DESCRIEREA FUNC IONAL A SISTEMULUI DE


M SURARE I CONTROLUL TEMPERATURII
Sistemul de msurare i controlul temperaturii se compune din mai
multe unit i func ionale, dup cum urmeaz :
blocul de msurare a temperaturii, care con ine:
senzorul de temperatur , de tip A135;
sursele de tensiune de referin i de prag;
sistemul de dezvoltare cu microcontroller 80C552, folosit pentru:
prescrierea temperaturii programate;
conversia analog-digital a informa iei de temperatur ;
memorarea rezultatelor ob inute n urma supravegherii procesului;
controlul continuu al temperaturii n cadrul procesului
supravegheat;
transmisia serial a rezultatelor prelevate n cadrul procesului
supravegheat c tre un sistem de calcul mai puternic, de tip IBM-PC
sau compatibil, n vederea analizei detaliate, reprezent rii grafice a
regimului tranzitoriu de control al temperaturii n cadrul procesului
controlat i a analizei statistice a rezultatelor ob inute;
blocul de comand al elementului de execuie.

8.2.1 BLOCUL DE M SURARE A TEMPERATURII


Blocul de msurare a temperaturii se compune din urm toarele module
func ionale:
senzorul de temperatur , de tip A135;
sursele de tensiune de referin i de prag.
272

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

8.2.1.1 TRADUCTORUL DE TEMPERATUR


8.2.1.1.1 CONECTAREA TRADUCTORULUI DE
TEMPERATUR
Senzorul de temperatur este conectat, prin intermediul unor etaje de
adaptare, la portul P5 al microcontroller-ului, prin care sunt vehiculate alternativ
i semnalele de control ale sec iunii analogice. Informa ia de temperatur
furnizat de senzorul specializat este vehiculat de semnalul ADC0 ADC7.

8.2.1.1.2 SENZORUL DE TEMPERATUR


Senzorul de temperatur, de tip A135, permite m surarea temperaturilor
n domeniul -55oC +150oC, gam ce acoper intervalul de temperatur
0oC+100oC, impus prin tema de proiectare. Acest senzor de temperatur este
constituit de fapt de o diod Zener a c rei tensiune, n polarizare invers , variaz
liniar cu +10mV/grad, func ie de temperatur pe ntreg domeniul de temperaturi
de lucru specificat.

Senzorul de temperatur A135 este caracterizat de o rezisten dinamic


foarte redus (tipic 1), ceea ce uureaz mult preluarea informa iei de
temperatur de la acest circuit. Circuitul func ioneaz normal pentru o gam
larg de curen i de polarizare, respectiv ntre 400 A i 5 mA.
Senzorul de temperatur folosit este caracterizat de o eroare de maximum
1 C. Aceast eroare ini ial poate fi compensat prin conectarea unui
poten iometru cu valoarea de 10k ntre anodul i catodul diodei, cursorul
poten iometrului fiind conectat la terminalul de compensare al senzorului de
temperatur .
o

Senzorul de temperatur A135 furnizeaz


propor ional cu temperatura absolut , n Kelvin.

la ieire o tensiune

Schema electric de utilizare a acestui senzor de temperatur este


prezentat n fig. 8.1, n care P1 este poten iometrul de compensare (P1=10k).

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

273

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII

+AVDD
R1

A135

P1

AVSS

Fig. 8.1 Senzorul de temperatur .

Pentru acest circuit se poate scrie:


VCC U Z1 (T ) U Z1 (T )
I Z1 =

R1
P1

(8.1)

Curentul prin dioda D1 (A135) trebuie s se ncadreze n intervalul


400A5mA, n vederea unei func ion ri corecte, pe intreg intervalul de
temperatur specificat (0oC+100oC).
Se poate deduce:
U Z1 (273K ) = U Z1 (0o C ) = 2,73V
(8.2)
U Z1 (373K ) = U Z1 (+ 100o C ) = 3,73V
n concluzie:
VCC U Z1 (100o C ) U Z1 (100o C )

I Z1, min =
R1
P1
(8.3)
VCC U Z1 (0o C ) U Z1 (0o C )

I Z1, max =
R1
P1
Rezult prin utilizarea ecua iilor anterioare limitele intervalului de
apartenen pentru rezisten a de polarizare R1:
VCC U Z1 (100o C )
= 1,2359k
R 1,max =
U Z1 (100o C )
I Z1, min +
P1
(8.4)
VCC U Z1 (0o C )
R 1,min =
= 0,435k
U Z1 (0o C )
I Z1, max +
P1
Trebuie satisfacut rela ia:
274

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

R 1,min R 1 R 1,max

(8.5)

Se alege R1=0,68k, valoare standard care satisface condi iile de


func ionare specificate anterior.

8.2.1.1.3 MODULUL SURSELOR DE TENSIUNE DE


REFERIN
Rolul acestui modul func ional este acela de a ob ine folosind sursa de
tensiune analogic (AVDD n raport cu AVSS) care alimenteaz convertorul
analog-digital implementat intern n cadrul structurii microcontroller-ului
80C552 a dou tensiuni de referin , VREF- i VREF+.
Alegerea acestor dou tensiuni de referin se bazeaz pe faptul c
sistemul de achizi ii de date din cadrul microcontroller-ului 80C552 convertete
pe 10 bi i tensiunea de intrare delimitat de intervalul [VREF-, VREF+], conform
ecua iei:
V VREF
V VREF
(8.6)
N = 210 IN
= 1024 IN
VREF+ VREF
VREF+ VREF
Prin utilizarea numai a celor mai semnificativi 8 bi i ai rezultatului,
con inu i n registrul ADCH, caracteristica de transfer devine:
V VREF
V VREF
N = 28 IN
(8.7)
= 256 IN
VREF+ VREF
VREF+ VREF
Astfel, se asociaz codul binar N=0 pentru VIN =VREF- i N=1024 (sau
256, dac sunt utiliza i doar cei mai semnificativi opt bi i ai rezultatului) pentru
VIN=VREF+.
Pentru a se realiza o asociere uor de interpretat a rezultatului conversiei,
ob inut sub form binar , ct i o minimizare a erorii la interpretarea acestuia
(pentru simplitate se vor prelua doar cei mai semnificativi opt bi i ai rezultatului
conversiei analog-digitale, con inu i n registrul ADCH), tensiunile de referin
care se aplic convertorului analog-digital vor corespunde unui interval extins de
temperatur , i anume 0oC+128oC:
VREF = U Z1 (0o C ) = 2,73V
(8.8)
VREF+ = U Z1 (128o C ) = 4,01V
n acest mod, codul binar corespunz tor lui N=0 se ob ine pentru
tensiunea de intrare corespunz toare temperaturii t0=0oC iar codul binar
corespunz tor lui N=256 se ob ine pentru o tensiune de intrare corespunz toare
temperaturii t1=128oC. Rezolu ia conversiei sub form numeric a temperaturii
este de 1bit/0,5oC, putndu-se astfel interpreta temperaturi variind n pai de
jum tate de grad. Pentru temperaturi m surate i controlate cu varia ii de un
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

275

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII

grad (rezolu ie impus prin tema de proiectare) se ob ine ntotdeauna un cod


binar de ieire direct reprezentnd un num r ntreg. Astfel este realizat
minimizarea eroarea de m surare i de interpretare a rezultatului.
Prin alegerea unor valori corespunz toare ale tensiunilor de referin
aplicate convertorului analog-digital, se ob ine un rezultat reprezentat n cod
binar direct propor ional cu temperatura exprimat n grade Celsius, f r a fi
necesar utilizarea unui amplificator diferen ial pentru realizarea conversiei
Kelvin / grad Celsius.
Schema electric a acestui modul func ional este prezentat n fig. 8.2.
+AVDD
R1

R2
VREF+
R3

VREF-

AVSS

Fig. 8.2 Modulul surselor de referin .

Conform circuitului reprezentat n fig. 8.2, se poate scrie:


R
VREF = U Z1 (0o C ) = 2,73V = 3 3 AVDD
Ri
VREF+ = U Z1 (128 C ) = 4,01V =
o

R2 + R3
i =1

Ri
3

AVDD

(8.9)

i =1

n care AVDD=+5V.
Se alege un curent prin divizorul R1, R2, R3, notat I, egal cu 1mA. n
aceste condi ii, rezult :
AVDD

I= 3
= 1mA
3

(8.10)
R 1 = 5k
Ri
=
i
1
i =1

AVDD = 5V
276

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Trebuie men ionat c valoarea acestui curent a fost aleas suficient de


mare astfel nct s poat fi neglija i curen ii absorbi i de intr rile tensiunilor de
referin ale convertorului analog-digital.
Ca urmare, folosind ecua ia rezult :
3
R
V
VREF = 3 3 AVDD R 3 = R i REF = 2,73k
AVDD
i =1
Ri
i =1
(8.11)
3
R2 + R3
VREF+
VREF+ = 3
AVDD R 2 + R 3 = R i
= 4,01k
AVDD
i =1
Ri
i =1

Se alege R3=2,73k valoare standard, rezultnd valoarea lui R2:


R 2 = R i R 3 = 4,01k 2,73k = 1,28k
3

(8.12)

i= 2

Valoarea rezisten ei R1 rezult conform ecua iei:

R 1 = R i R j = 5k 4,01k = 0,99k
3

i =1

j= 2

(8.13)

Pentru a se ob ine valoarea calculat a rezisten ei R1, aceasta va fi


compus din dou rezisten e standard cu valorile 1k i respectiv 100k, legate
n paralel.
1k 100k
R1 =
= 0,990099k
(8.14)
1k + 100k
Pentru a se ob ine valoarea calculat a rezisten ei R2, aceasta va fi
compus din trei rezisten e standard cu valorile 1,5k, 10k i respectiv 68k,
legate n paralel.
1,5k 10k
68k
1,5k + 10k
R2 =
= 1,279999k
(8.15)
1,5k 10k
+ 68k
1,5k + 10k
Toate rezisten ele care implementeaz blocul surselor de referin sunt
alese cu precizie ct mai ridicat (0,25% n cazul de fa ) i cu un coeficient de
varia ie cu temperatura de valoare ct mai sc zut , pentru a se putea garanta
exactitatea de m surare impus . De asemenea, valorile acestor rezisten e sunt
relativ mici (ordin k), pentru a se putea neglija curen ii de intrare ai
convertorului analog-digital din punctele VREF- i VREF+.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

277

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII

8.2.1.1.4 SENZOR DE TEMPERATUR CU IEIRE


UNIFICAT N CURENT
Pentru realizarea compatibilit ii cu echipamentele standard de
automatiz ri industriale a fost realizat i o sond de temperatur cu ieire
unificat n curent 420 mA pentru un interval de temperatur 0100 oC. Acest
traductor de temperatur este prezentat n fig. 8.3.
Curentul de ieire I S (t ) este dat de urm toarele componente:
curentul prin rezisten a R2, dependent de temperatur i asigurat
integral de colectorul tranzistorului Q1:
U(t ) + xP1 (I + I REF )
I R 2 = I (t ) =
(8.16)
R2
curentul de alimentare al senzorului de temperatur , I , for at de un
generator de curent realizat cu tranzistorul Q1:
U
0,6V
I = I + = EB =
= 0,1276595744681mA
(8.17)
R1
4,7k
curentul prin poten iometrul P1, determinat de sursa de tensiune de
referin :
V xP1 I
I REF = REF
(8.18)
R 3 + P1

curentul prin terminalul de ajustare al sursei de referin :


I ADJ = (50 100 )A = neglijabil
(8.19)
Sumnd aceste componente, se constat c valoarea minim a curentului
I S (t ) este de 4mA, ob inut pentru t=0oC, adic U(t)=0V. Aceast valoare poate
fi ajustat prin intermediul poten iometrului P1. Valoarea maxim a curentului
IS(t) este de 20mA, ob inut pentru t=100oC, adic U(t)=1,00V (de fapt la
valoarea minim ajustat la valoarea de 4mA se adaug valoarea
U (100 0 C )
1V
=
= 16mA ). Se constat , de asemenea, c aceast schem nu
R2
62,5
necesit reglajul ambelor capete de scal , n condi iile n care rezisten a R2 este
aleas ntr-o clas de precizie bun (0,25%, de exemplu).
n aceast schem este utilizat un senzor de temperatur centigrad, de tip
LM35, a c rui ieire variaz cu 10mV pe grad Celsius. Stabilizatorul de tensiune
ajustabil, de tip LM317, este utilizat n aceast schem doar pentru referin a sa
intern , cu valoare de 1,25V, pentru a creea zero-ul viu al senzorului de
temperatur cu ieire unificat n curent.

278

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

D1
1N4001

R1
4,7k
Q1
BC177

IN
OUT
OUT

IOUT=0
R2
62,5

+Vcc

U(t C)
0

I(t C)

+
U1
LM35
I-=I+

IREF
R3
402

U2
LM317

VREF
(1,25V)
P1
50

ADJ

IADJ<100A
IS(t)=4..20mA
0
t=0..100 C

Fig. 8.3 Senzor de temperatur cu ieire unificat n curent.

8.2.2 UTILIZAREA RESURSELOR UNIT


PRELUCRARE

II CENTRALE DE

Din cadrul sistemului de dezvoltare, organizat n jurul unui


microcontroller 80C552, i care constituie unitatea central de prelucrare local
a sistemului de m surare i controlul temperaturii, descris detaliat n cadrul
capitolului al treilea al acestei lucr ri, sunt utilizate, n cadrul acestei aplica ii,
urm toarele resurse:
microcontroller-ul 80C552, utilizat n configura ie de microprocesor
pentru gestionarea achizi iei analog-digitale pe 8 canale a temperaturii
controlate din proces, pentru memorarea temporar a datelor prelevate
n memoria de date a sistemului i pentru manipularea acestora prin
intermediul interfe ei seriale bidirec ionale c tre calculatorul gazd ,
pentru gestionarea a dou ieiri modulate n durat , utilizate pentru
controlul continuu al temperaturii n cadrul procesului, pentru
gestionarea porturilor de intrare-ieire locale ale sistemului de
dezvoltare;
memoria de program, con innd programul monitor al sistemului de
dezvoltare, utilizat pentru: nc rcarea programului de aplica ie (prin
folosirea facilit ilor de down-load), transferul serial al datelor c tre
calculatorul gazd (prin folosirea facilit ilor de up-load) i binen eles,
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

279

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII

fapt transparent pentru utilizator, ini ializarea i programarea resurselor


sistemului de dezvoltare (rutine de transmisie/recep ie pe leg tura
serial , rutine de ntreruperi interne i externe, etc.);
memoria de date, utilizat pentru memorarea programului de aplica ie
i a eantioanelor de temperatur prelevate din procesul controlat;
tastatura local de tip matriceal, cu 12 taste, este utilizat pentru
programarea temperaturii de referin a sistemului controlat. Tastatura
local utilizeaz dou porturi locale: un port de intrare, pe care este
citit octetul care va furniza prin prelucrare software codul tastei
ac ionate (cei mai semnificativi patru bi i ai acestui octet con in codul
liniei baleiate, iar cei mai pu in semnificativi patru bi i con in codul
coloanei pe care este situat tasta ac ionat ) i un port de ieire, de la
care sunt utiliza i doar cei patru bi i mai pu in semnificativi, prin
intermediul c rora sunt baleiate n bucl liniile tastaturii;
afiajul cu cristale lichide, cu dou linii de cte 16 caractere, este
utilizat pentru afiarea continu i comparativ a temperaturii de
referin preprogramate i a temperaturii medii m surate. Acest
dispozitiv este utilizat pentru afiarea la nceputul execu iei
programului de aplica ie a ctorva mesaje de prezentare succint a
acesteia.
Programul de aplica ie, scris n limbaj de asamblare 8051, asamblat i
convertit n format INTEL HEX standard (acest format este executabil, con ine
un header format din adresa de nceput a programului din memoria RAM
(specificat n cadrul programului surs prin directiva ORG adres ), num rul
de octe i ai programului (lungimea acestuia exprimat n num r de octe i) i
informa ii de control (sum de control) i este strucurat sub forma unor linii de
cte 16 octe i, reprezenta i sub forma a dou cifre hexa, reprezentnd codurile
instruc iunilor utilizate n cadrul programului i o sum de control, de asemenea
sub forma unui octet, calculat ca reprezentnd valoarea, exprimat sub forma a
dou cifre hexa, care adunat cu to i cei 16 octe i de informa ie conduce la
valoarea FFH), con ine rutine pentru:
iniializarea resurselor utilizate n cadrul sistemului pentru m surarea
i controlul temperaturii: ini ializarea afiajului cu cristale lichide (prin
itermediul rutinei INITLCD care ini ializeaz dialogul pe 8 bi i cu
driver-ele de afiaj, testeaz starea driver-elor de afiaj, realizeaz
tergerea afiajului i seteaz modul de lucru (display on, entry-mode);
citirea tastaturii locale de tip matriceal, ntr-o secven de program
care utilizeaz o apelare de dou ori a rutinei KEY pentru programarea
temperaturii de referin .
Rutina de citire a tastaturii, denumit KEY, for eaz ciclic pe fiecare
linie a tastaturii valoarea binar "0", n timp ce toate celelalte linii sunt
pozi ionate pe "1" logic. Se citete, prin intermediul portului de intrare,
280

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

configura ia de linii i coloane, verificndu-se dac unul din bi ii


reprezentnd coloanele tastaturii este "0" logic. Dac da, atunci a fost
ac ionat tasta situat la intersec ia liniei for ate la "0" (codul ei este
preluat pe cei mai semnificativi 4 bi i ai portului de intrare) i coloana
pe care a fost detectat nivelul logic "0". Dac nu, nseamn c nu a fost
ac ionat nici o tast de pe linia baleiat i se trece la linia urm toare.
Rutina se execut n bucl pn se ac ioneaz o tast . n urma
ac ion rii unei taste (numerice), se trece la ob inerea codului acesteia,
prin intermediul unei secven e de program care furnizeaz drept
rezultat un octet ce con ine pe cei patru bi i mai pu in semnificativi
codul BCD al tastei ac ionate. Prin convertirea acestui octet n format
ASCII, utiliznd rutina BINASC, codul ob inut poate fi transmis c tre
driver-ele de afiare ale display-ului LCD.
n cadrul secven ei de program pentru citirea tastaturii din cadrul
acestei aplica ii, se apeleaz de dou ori rutina de citire a tastaturii i
de afiare a codului ASCII al tastei ac ionate (pe pozi ii diferite i
adiacente ale uneia dintre liniile de afiare ale display-ului LCD) i, de
asemenea, se ob ine un octet unic, reprezentnd valoarea temperaturii
de echilibru programate, de tip mpachetat BCD. Acest octet va fi
memorat ntr-unul dintre registrele disponibile ale microcontroller-ului
i va fi utilizat pentru controlul temperaturii;
gestionarea afirii pe display-ul cu cristale lichide const n
utilizarea, n mod organizat, a rutinelor RDCMD (citire a informa iilor
de stare de la driver-ele de afiare), WRCMD (scriere a comenzilor de
setare a modului de lucru, de pozi ionare a cursorului, de setare a
tipului de interfa are sau a m rimii caracterelor sau a tipului de cursor,
la driver-ele de afiare), WLCD (testarea driver-elor de afiare n
vederea transmiterii unui nou caracter), WRDAT (scrierea unui
caracter ASCII la driver-ele de afiare), TRX1 (scrierea unui ir de
caractere al display-ul cu cristale lichide, pentru afiarea unor mesaje
sau a unor caractere la display-ul local
gestionarea achiziiei analog-digitale: specificarea canalului de intrare
pe care se efectueaz conversia, ini ializarea prin software a conversiei
analog-digitale, preluarea rezultatului i prelucrarea acestuia n vederea
interpret rii ulterioare.
Deoarece n cadrul acestei aplica ii se folosesc 8 traductoare de
temperatur , de tip LM135, acestea vor fi conectate pe intr rile 07 ale
multiplexorului din microcontroller. Astfel, adresa canalului ini ial
selectat va fi 000, respectiv bi ii 0, 1, 2 din cadrul registrului ADCON
vor fi pozi iona i la 0 prin cuvntul de programare. Este declanat
procesul de achizi ie analog-digital , prin software (este necesar ca
bitul 6 al registrului de control ADCON, denumit ADEX, s fie
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

281

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII

pozi ionat la "0") de pe canalul de intrare selectat prin pozi ionarea


bitului 3 (ADCS) al registrului de control ADCON. Sfritul
conversiei este detectat tot software prin citirea periodic (polling) a
bitului 5 (ADCI) din registrul de control ADCON. cnd acest bit
devine 1, procesul de conversiei s-a ncheiat. Rezultatul, pe 10 bi i,
al conversiei analog-digitale este disponibil n registrele ADCH (cei 8
bi i mai semnificativi) i ADCON (cei doi bi i cei mai pu in
semnificativi, fiind bi ii 7 i 8 din cadrul acestui registru). Rezultatul,
considerat pe 8 bi i, se afl n registrul ADCH i va fi transferat n
acumulator pentru prelucr ri. n continuare, este incrementat adresa
canalului de intrare selectat i se declaneaz un nou proces de
conversie, pn cnd sunt baleiate toate cele 8 traductoare de
temperatur . Toate rezultatele intermediare sunt memorate n memoria
extern de date, iar cnd s-au efectuat toate cele 8 conversii analogdigitale rezultatele intermediare sunt mediate aritmetic, pentru a
determina temperatura medie din incinta supravegheata.
n urma analizei efectuate anterior, s-a constatat c rezultatul binar
al conversiei are o rezolu ie de 2bi i/grad. Astfel, prin mp r ire la 2 a
acestuia, se ob ine o valoare binar reprezentnd exact temperatura
m surat , exprimat n grade Celsius. Urmeaz ob inerea celor dou
cifre ale temperaturii m surate, ce urmeaz a fi afiate: aceasta se
realizeaz prin mp r irea la 10 a codului binar reprezentnd
temperatura (se ob in doar dou cifre, deoarece s-a impus ncadrarea
temperaturii m suate ntre 0 i 100oC). Cei doi octe i, reprezentnd
formatul BCD ale celor dou cifre, sunt converti i n format ASCII n
vederea afi rii. De asemenea, prin interschimbarea celor patru bi i
mai semnificativi cu cei patru bi i mai pu in semnificativi ai octetului
reprezentnd cifra zecilor i prin efectuarea unei instruc iuni SAULOGIC la nivel de octet se formeaz un octet mpachetat BCD care
con ine informa ia referitoare la temperatura medie n cadrul
procesului supravegheat. Acest octet, mpreun cu acela care con ine
informa ia referitoare la temperatura preprogramat , vor fi utiliza i n
continuare pentru controlul temperaturii;
gestionarea ieirilor modulate n durat pentru controlul continuu al
temperaturii n sistem este realizat n cadrul programului de aplica ie
prin programarea registrului PWMP pentru ca frecven a impulsurilor
de ieire s fie de 1kHz, conform rela iei:
f OSC
(8.20)
f PWM =
2 (1 + PWMP ) 255
Factorul de umplere al impulsurilor de ieire este controlat, prin
intermediul registrului de comand PWM1, de c tre diferen a
registrelor ce con in octe ii reprezentnd temperatura programat i
282

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

temperatura curent din cadrul sistemului controlat, conform rela iei:


= PWM1
255 - PWM1
(8.21)
PWM1 = R 4 - R 5
PWM2 = R 5 - R 4
n care registrul R4 con ine octetul ce reprezint temperatura
programat la nceputul procesului de control, iar registrul R5 con ine
octetul ce reprezint temperatura medie m surat . Componenta
continu a tensiunii de ieire variaz ntre 0V (la echilibru, cnd
temperaturile programat i m surat sunt egale) i 3V (atunci cnd
diferen a dintre temperatura programat i cea m surat , exprimate sub
forma a doi octe i mpacheta i BCD, este maxim , adic atunci cnd
temperatura programat coincide cu cap tul superior al intervalului de
temperatur (+99oC) iar temperatura m surat coincide cu cap tul
inferior al intervalului (0oC), conform ecua iei:
(PWM1 )min = 0;
(PWM1 )min = 99BCD = 153Z ;
(Vout )max =

153
5V = 3V
255

(8.22)

8.2.3 ETAJELE DE IEIRE PENTRU COMANDA


ELEMENTELOR DE EXECU IE
Fiecare etaj de ieire de comand folosete ca informa ie primar impulsurile de la ieirea corespunz toare modulat n durat a microcontroller-ului
80C552 pe care o prelucreaz (integrare cu un circuit simplu de tip RC i
eantionare-memorare n vederea ob inerii componentei continue a acestora,
inversarea polarit ii tensiunii i amplificare cu doi, sumare cu o tensiune de
referin cu valoare ajustabil n limite de 10% n jurul tensiunii de 8V), pentru
a o utiliza drept tensiune de comand a unui circuit de comand pe faz a
tiristoarelor. Tiristorul comandat are drept sarcin elementul de nc lzire sau
elementul de ventila ie, pentru controlul temperaturii.
Circuitul de integrare, de tip RC, este astfel proiectat nct s se ncheie
procesele tranzitorii de la ieirea sa n situa ia n care factorul de umplere al
impulsurilor de la ieire este maxim (valoarea sa maxim este de 60%).
Conform ecua iei:
1
t 1 = RC ln 10 = 2,3 = 60%
(8.23)
= 0,6ms
1kHz
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

283

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII

se alege C=62nF i R=10k.


Circuitul de eantionare-memorare folosit, de tip LF198, este un circuit
realizat monolitic, ce utilizeaz tehnologia BI-FET pentru a ob ine o exactitate
superioar att n curent continuu, ct i pentru achizi ia semnalelor rapid
variabile. Func ionnd ca circuit repetor, acesta este caracterizat printr-o
exactitate de 0,002% a amplific rii i de un timp de achizi ie de 5 s, pentru o
exactitate de 0,01%. Folosirea tehnologiei bipolare n realizarea etajului de
intrare asigur tensiuni de offset mici i o band larg de frecven (1 MHz),
f r probleme de stabilitate. Impedanta de intrare, de 1010 , permite
achizi ionarea semnalelor de excita ie ce provin de la surse de semnal cu
impedan intern ridicat , f r a fi afectat exactitatea. Amplificatorul de ieire
combin dispozitive bipolare i tranzistoare JFET cu canal P, pentru a putea
asigura rate de c dere de 5mV/min, uiliznd o capacitate de memorare de 1F.
Frontul c z tor al fiec rui impuls de la ieirea modulat n durat va
determina circuitul de eantionare-memorare s intre n starea de memorare,
re innd de fapt valoarea maxim de tensiune de la ieirea circuitului de
integrare.
Ieirea circuitului de eantionare-memorare este aplicat pe una dintre
cele dou intr ri ale unui sumator inversor cu amplificare -2. Pe cea de-a doua
intrare se aplic o tensiune de referin cu valoarea de -4V. La ieirea
sumatorului se ob ine o tensiune pozitiv variind ntre 8V (la echilibru termic) i
respectiv 2V (cnd diferen a dintre temperaturile programat i m surat este
maxim ). Aceast tensiune constituie semnalul de control al circuitului de
comand a tiristorului ce ac ioneaz elementul de nc lzire/ventila ie. Diagrama
de func ionare a acestui circuit este reprezentat n fig. 8.4.
Descrierea func ion rii circuitului AA145 poate fi rezumat astfel:
func ionarea circuitului este sincronizat cu frecven a re elei electrice
de alimentare (prin intermediul unui divizor rezistiv de tensiune c ruia
i se aplic tensiunea re elei). Acest divizor este constituit din dou
rezisten e R1=22k i R2=8,2k. Puterea disipat de c tre rezisten a
R1 este de circa 2,2W i, de aceea, se alege R1=22k/3W;
generatorul de ramp din structura circuitului genereaz o tensiune
liniar variabil sincronizat cu frecven a re elei, aa dup cum reiese
din fig. 8.4. Aceast tensiune, denumit vR, are o amplitudine de 8V,
amplitudine determinat de blocul intern de alimentare a circuitului;
pe intrarea de comand a fazei se aplic o tensiune de control,
denumit vS, provenit de la ieirea circuitului de eantionarememorare;
ori de cte ori se manifest coinciden a ntre tensiunea de comand i
rampa cresc toare a tensiunii liniar variabile, se genereaz un impuls
de comand pe poarta tiristorului (triacului), a c rui durat este
determinat de elementele de temporizare ale unui circuit basculant
284

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

monostabil din structura circuitului AA145. Elementele de


temporizare, P2=250k, R6=5,6k, C3=47nF, permit reglarea duratei
impulsurilor de comand ntre 0,1ms i 4ms. Comanda triacului se face
n cadranele I i III prin implementarea unei func ii de tip I-cablat
ntre ieirile de comand ale circuitului. Aceste ieiri sunt de tip
colector n gol i au prev zute rezisten e de pull-ul, cu valoarea de
820. Deoarece curentul de poart al triacului este de maxim 300mA,
este necesar buffer-area n curent a acestora cu ajutorul unui
tranzistor de medie putere, de tip BD135/137/139.
vsinc

vR

vS

iGT

iL

Fig. 8.4 Diagrama temporal de functionare a elementelor de comand .

Schema de principiu a etajului de comand pe faz


prezentat n fig. 8.5.

a triacului este

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

285

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII

220V~

+15V
Rp

Rs
Vs

AA145

T
D1
D2

Rp
+15V
Fig. 8.5 Schema de principiu a etajului de comand pe faz .

8.3 SOFTWARE DE ANALIZ A REZULTATELOR


Software-ul de analiz i monitorizare a temperaturilor prelevate dintr-un
proces este realizat sub forma unui instrument virtual, implementat cu ajutorul
programului HP VEE - for Windows -versiunea 3.12 (July 07 1995) @
Copyright Hewlett-Packard Corporation 1991-1995.
Acest program lucreaz cu obiecte predefinite sau create de c tre
utilizator, care sunt plasate n spa iul de lucru i care sunt interconectate pentru a
realiza o diagram -bloc executabil . Fiecare obiect permite vizualizarea sa n
dou moduri:
modul de vizualizare restrns (ca icon n Windows);
modul de vizualizare detaliat (detail view).
De asemenea, fiecare obiect este caracterizat de un meniu propriu, care
permite modificarea dimensiunii, pozi iei, titlului, precum i altor atribute ale
acestuia.
Am fost creat un instrument virtual de monitorizare a temperaturii,
intitulat PROTERM. Acest intrument este, de fapt, un obiect creat de utilizator,
ce permite:
demararea procesului de analiz , prin ac ionarea butonul Run,
prezent pe panoul global al oric rei aplica ii HP VEE. La demararea
procesului de analiz , este deschis o fereastr din care poate fi selectat
286

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

fiierul de date folosit ca punct de plecare n cadrul reprezent rii grafice


a temperaturilor. Fiierele de date sunt de tip standard de date, cu
extensia .dat, con innd pe cte doi octe i eantioanele de pe un num r
de maxim opt canale;
selectarea m rimilor de intrare prin intermediul unor liste circulare ce
dispun de urm toarele op iuni:
vizualizarea formei de varia ie a dou temperaturi din cele maxim
opt posibile;
selectarea valorii ini iale a eantioanelor ce urmeaz a fi afiate, prin
intermediul unui comutator rotativ, denumit knob, n gama 020000
i cu o rezolu ie de 256 puncte. Acest knob poart denumirea
sugestiv de From sample;
selectarea valorii finale a eantioanelor ce urmeaz a fi afiate, de
asemenea prin intermediul unui knob, gradat ntre 0 i 20000, cu o
rezolu ie de 256 puncte. Acest knob poart de numirea sugestiv de
To sample;
vizualizarea simultan a doi parametri: form de semnal de
comand , form de semnal de r spuns al sistemului, cu ajutorul a
dou instrumente de tip osciloscop, care indic :

Fig. 8.6 Panoul frontal al instrumentului virtual PROTERM.

prin intermediul titlului, imaginile grafice ce se vizualizeaz la un


SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

287

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII

moment dat;
indica ii ale m rimilor corespunz toare fiec rei axe, cum ar fi:
numele m rimii (de exemplu: timp pentru axa Ox, respectiv
temperatur, pentru axa Oy), unitatea de msur a acesteia,
intervalul de vizualizare i gradarea axelor (unit i pe diviziune);
prin intermediul unui marker, se pot ob ine informa ii, legate de
valoarea instantanee a semnalelor, n func ie de timp;
instrumentul de vizualizare prezint facilit i de autoscalare, fie
independent pe fiecare ax prin intermediul unor butoane dedicate
fiec rui instrument, fie simultan pe ambele axe prin intermediul
unui buton cu care este echipat instrumentul de vizualizare de tip
osciloscop;
afiarea, sub form numeric , a valorilor minime i maxime a
parametrilor, att pentru comand , ct i pentru r spuns, prin
intermediul a patru indicatoare alfanumerice.
Trebuie men ionat c toate butoanele i knob-urile, prin intermediul
c rora este controlat procesul de achizi ie i analiz , prezint facilit i de
autoexecute, ceeea ce nseamn c ac ionarea oric ruia dintre ele determin
declanarea unui nou proces de analiz .
n fig. 8.6 este reprezentat panoul frontal al instrumentului virtual
PROTERM.

8.3.1 IMPLEMENTAREA ANALIZORULUI PROTERM


Fig. 8.7 con ine reprezentarea detaliat a blocurilor care compun
instrumentul virtual intitulat PROTERM i bazat pe platforma Windows HP
VEE 3.12.
Aceste blocuri func ionale sunt:
modulul de prelucrare primar a fiierului de date de intrare, primind
ca intrare un fiier cu extensia .dat. Acest bloc furnizeaz ca ieiri un
num r de maxim opt vectori con innd eantioanele sub form
numeric a m rimilor de intrare;
circuitele de control ale dispozitivelor de afiare;
dispozitivele de afiare, de tip oscilograf;
blocul de afiare sub form digital a valorilor minime/maxime ale
semnalelor de intrare.
Toate aceste blocuri func ionale sunt nglobate ntr-un obiect utilizator
nou creat, avnd dou posibilit i de reprezentare:
reprezentarea detaliat - detail - (fig. 8.7), n care sunt puse n eviden
blocurile i interconexiunile func ionale;
reprezentarea de tip panou - panel -, care ilustreaz panoul propriu-zis
288

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

al analizorului, adic dispozitivul de afiare, reprezentat n fig. 8.6.

Fig. 8.7 Reprezentarea detaliat a analizorului PROTERM.

8.4 LISTINGUL APLICA IEI DE M SURARE I CONTROL


A TEMPERATURII
; ******************************************************************
; PROGRAM PENTRU ECHIPAMENTE DE MASURARE SI CONTROL A TEMPERATURII
; CU UNITATE CENTRALA DE PRELUCRARE LOCALA CU MICROCONTROLLER 80C552
;
IN LIMBAJ DE ASAMBLARE AL FAMILIEI 80X51
; ******************************************************************
ORG
8000H
; adresa de inceput a programului
; secventa de declarare a resurselor suplimentare ale
; microcontroller 80C552 utilizate in cadrul aplicatiei
ADCON equ
0C5H ; adresa registrului ADCON
ADCH equ
0C6H ; adresa registrului ADCH
PWMP equ
0FEH ; adresa registrului PWMP
PWM0 equ
0FCH ; adresa registrului PWM0
PWM1 equ
0FDH ; adresa registrului PWM1
; secventa de initializare echipamentului si de programare a
; parametrilor de functionare (introducerea valorii temperaturii
; programate).
LJMP INIT
; salt la eticheta INIT
INIT: ACALL INILCD
; apel rutina initializare LCD
ACALL CLRLCD
; apel rutina stergere LCD
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

289

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII

290

MOV

DPTR,#TEXT

ACALL
MOV
ACALL
INC
ACALL
ACALL
ACALL
MOV

TRX1
R2,#0C0H
WRCMD
DPTR
TRX1
SEC
CLRLCD
DPTR,#TEXT1

ACALL
MOV
ACALL
MOV
ACALL
MOV
ACALL
MOV
ACALL
INC
ACALL
MOV
ACALL
MOV
ACALL
MOV
ACALL
MOV

TRX1
R2,#1100B
WRCMD
R2,#8DH
WRCMD
R2,#0DFH
TRX
R2,#0C0H
WRCMD
DPTR
TRX1
R2,#1100B
WRCMD
R2,#0CDH
WRCMD
R2,#0DFH
TRX
A,#20

MOV
ACALL
MOV
ACALL
MOV
ACALL
MOV
MOV
CALL

PWMP,A
KEY
R2,#1110B
WRCMD
R2,#08BH
WRCMD
A,R1
R4,A
HEXASC

MOV
ACALL
ACALL
ACALL
MOV
MOV
CALL

R2,A
TRX
SEC
KEY
A,R1
R5,A
HEXASC

MOV
ACALL
MOV
SWAP
ORL
MOV

R2,A
TRX
A,R4
A
A,R5
R4,A

;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

se memoreaza in DPTR adresa de inceput a sirului de caractere TEXT


apel rutina de transmisie mesaj
pozitionare pe a doua linie
scriere comanda pozitionare la LCD
incrementare DPTR (linia a doua)
apel rutina de transmisie mesaj
mentine starea afisajului 3 sec.
apel rutina stergere LCD
se memoreaza in DPTR adresa de inceput a sirului de caractere TEXT1
apel rutina de transmisie mesaj
display on, cursor off, flash off
scrie comanda la LCD
scrie in R2 pozitia cursorului
pozitionare cursor
codul caracterului grade
scrie codul caracterului la LCD
pozitionare pe a doua linie
scriere comanda pozitionare la LCD
incrementare DPTR (linia a doua)
apel rutina de transmisie mesaj
1,display on,cursor off, flash off
scrie comanda la LCD
scrie in R2 pozitia cursorului
pozitionare cursor
codul caracterului grade
scrie codul caracterului la LCD
incarca acumulatorul cu #20 pentru
frecventa semnalului de iesire sa
fie 1kHz=11,059MHz/(2*(1+20)*255)
se programeaza registrul PWMP
citire tastatura
display on, cursor off, flash off
scrie comanda la LCD
adresa scriere cod tasta
pozitionare cursor
codul hexa al tastei in acumulator
transfera acumulatorul in R4
conversie ASCII a codului tastei,
pentru afisare pe LCD
codul hexa al tastei in acumulator
scrie la LCD codul tastei
rutina intarziere
citire tastatura
codul hexa al tastei in acumulator
transfera acumulatorul in R5
conversie ASCII a codului tastei,
pentru afisare pe LCD
codul HEXA al tastei apasate in R2
scrie la LCD codul tastei
transfera in acc. registrul R4
interschimb biti acumulator
sau logic intre acumulator si R5
transfer acc. in R4 - va contine

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
; forma BCD a temperaturii prescrise
; secventa de masurare in bucla a celor 8 valori ale temperaturii,
; de la cele 8 traductoare de temperatura, calculul temperaturii din
; valorile binare citite de la convertorul A/D si stocarea in
; memorie a fiecarui rezultat incepand de la adresa B000H
ACH: MOV
DPTR,#0B000H; adresa de inceput a bufferului
CLR
A
; initializeaza acumulatorul cu 0
MOV
R1,#00H
; R1 initializat va memora canalul
; de intrare selectat
MOV
R5,#08H
; numarul maxim de canale de intrare
ACH11: MOV
A,R1
; selectarea canalului de intrare
ORL
A,#08H
; bitii de control
MOV
ADCON,A
; start conversie prin software
WAIT: MOV
A,ADCON
; A:=registrul de stare al A/D
JNB
ACC.4,WAIT
; asteapta terminarea conversiei
MOV
A,ADCH
; citeste rezultatul conversiei
MOV
B,#2
; B pentru impartire la 2
DIV
AB
; obtine cod binar temperatura
MOVX @DPTR,A
; salveaza in memorie temperatura
; citita de la traductorul "i"
INC
DPTR
; incrementeaza pointerul adresei
; din bufferul de memorie
INC
R1
; adresa canalului urmator
DJNZ R5,ACH11
; se decrementeaza registrul R5 si
; salt la conversia A/D pe canalul
; urmator daca R5 nu este nul
; secventa de calcul a mediei aritmetice a celor 8 valori ale tem; peraturii, in raport cu care se efectueaza reglarea temperaturii.
; calculul sumei celor 8 valori ale temperaturilor masurate
MOV
R5,#08H
; numarul maxim de valori de sumat
MOV
DPTR,#0B000H ; adresa de inceput a bufferului de
; memorie
MOV
R1,#00H
; initializarea octet inferior suma
MOV
R2,#00H
; initializarea octet superior suma
SUM: MOVX A,@DPTR
; citire in acc. valoare din buffer
ADD
A,R1
; adunare cu valoare anterioara
MOV
R1,A
; salvare suma partiala (octet inf.)
MOV
A,R2
; citire octet sup. suma partiala
ADDC A,#0
; eventual propagarea transportului
MOV
R2,A
; salvare octet superior rezultat
INC
DPTR
; incrementare adresa buffer memorie
DJNZ R5,SUM
; decrementare contor R5 si salt la
; calculul unei alte sume partiale
; daca contor nenul
; calculul valorii medii a temperaturii, prin impartirea sumei celor
; 8 valori ale temperaturilor la valoarea 8, ceea ce este echivalent
; cu shiftarea la dreapta cu 3 pozitii a rezultatului sumei obtinute
; anterior pe 2 octeti.
; rezultatul (valoarea medie a temperaturii) este continut in R1
MOV
R3,#03H
; R3 initializat cu nr de shifturi
SHIFTR:
; citeste octet superior in A
MOV
A,R2
; stergere CARRY
CLR
C
RRC
A
; rotire la dreapta prin CARRY
; salvare octet superior
MOV
R2,A
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

291

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII


MOV
RRC
MOV
DJNZ

; citire octet inferior


; rotire la dreapta prin CARRY
; salvare octet inferior
; decrementare contor si efectuarea
; unei noi rotatii pe 2 octeti daca
; continutul contorului este nenul
; secventa de transmisie seriala a valorii temperaturii medii
; masurate folosind interfata seriala de comunicatie a sistemului de
; masurare si control a temperaturii (1 bit de START, 8 biti de
; date, 1 bit STOP, fara semnale hardware de protocol, cu protocol
; software XON-XOFF)
MOV
A,R1
; citesc in acumulator valoarea
; temperaturii medii
MOV
SBUF,A
; pun aceasta valoare in reg. de
; transmisie pe seriala
CLR
TI
; reset bit TI (Transmit Interrupt)
WAIT1:JNB
TI,WAIT1
; se asteapta in bucla pozitionarea
; pe 1 a acestui bit (octet preluat)
CLR
TI
; initializare bit TI
; secventa de afisare locala pe LCD a valorii medii a temperaturii
; masurate (calcul cifrelor acesteia printr-un algoritm iterativ de
; impartire la 10, calcul valoare ASCII a cifrelor obtinute si
; afisare propriu-zisa) si codificarea sub forma a unui octet
; impachetat BCD a acestei valori medii, memorat in registru R5.
MOV
R2,#1100B
; 1,display on, cursor on, flash off
ACALL WRCMD
; scriere comanda
; adresa pentru prima cifra
MOV
R2,#0CBH
ACALL WRCMD
; pozitionare cursor
MOV
A,R1
; valoare binara temperatura medie
MOV
B,#10
; B pentru impartire la 10
DIV
AB
; in A cifra semnificativa a temp.
ANL
A,#00FH
; mascheaza bitii mai semnificativi
MOV
R6,A
; salveaza acumulatorul in R6
ACALL HEXASC
; convertire in cod ASCII
MOV
R2,A
; in R2 codul caracterului
ACALL TRX
; transmite caracter la LCD
MOV
A,B
; in A cifra mai putin semnificativa
; a temperaturii
ANL
A,#00FH
; mascheaza bitii mai semnificativi
MOV
R7,A
; salveaza acumulatorul in R7
ACALL HEXASC
; conversie in cod ASCII
MOV
R2,A
; R2 contine codul de afisat
ACALL TRX
; scrie la LCD a doua cifra
MOV
A,R6
; transfera acumulatorul cu R6
SWAP A
; interschimb biti acumulator
ORL
A,R7
; sau logic intre acumulator si R7
MOV
R5,A
; salveaza acc in R5-va contine
; forma BCD a temp. medii masurate
; secventa de reglare a temperaturii prin programarea celor doua
; iesiri modulate in durata (programarea factorilor de umplere cu o
; valoare proportionala cu diferenta intre valoarea programata si
; valoarea medie).
; doar una dintre iesiri va fi activa la un moment dat pentru
; controlul elementului de incalzire sau de racire.
MOV
A,R4
; citire in A a temp. programate
292

A,R1
A
A,R1
R3,SHIFTR

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
SUBB
JC

A,R5
LABEL1

; scadere cu temperatura medie


; daca rezultatul este negativ
; salt la eticheta LABEL1
CPL
A
; daca rezultatul este pozitiv, este
; complementat, pt. ca iesirea modu; lata in durata este complementata
MOV
PWM1,A
; programare iesire modulata
CLR
A
; initializare acumulator
CPL
A
; complementare acumulator
MOV
PWM0,A
; dezactivare iesire modulata
; pentru comanda element de racire
; pentru comanda elementului de incalzire
SJMP LABEL2
; salt neconditionat la LABEL2
LABEL1:
CLR
A
; initializare acumulator
CPL
A
; complementare acumulator
MOV
PWM1,A
; dezactivare iesire modulata
; pentru comanda element incalzire
MOV
A,R5
; citire in A a temperaturii medii
SUBB A,R5
; scadere cu temperatura programata
CPL
A
; rezultatul este complementat,
; pentru ca iesirea modulata
; este complementata
MOV
PWM0,A
; programare iesire modulata
; pentru comanda element de racire
LABEL2:
ACALL SEC
; rutina de intarziere
; reluare proces de achizitie
AJMP ACH
;
; secventa de subrutine scrise si utilizate in cadrul programului
; principal
;
; Rutina de citire a unei cifre zecimale de la o tastatura
; matriciala cu trei linii si patru coloane. Rezultatul citirii sub
; forma HEXA se afla in registrul R1.
;
KEY: MOV
A,#0E0H
; adresa primei linii de taste
ACALL PORT
; subrutina de scriere/citire port
JZ
NEXT
; daca acumulatorul este 0 (nu s-a
; tastat nimic) salt la eticheta NEXT
JNZ
COL
; daca acumulatorul este nenul, salt la
; eticheta COL
NEXT: MOV
A,#0D0H
; adresa liniei a doua de taste
ACALL PORT
; apel subrutina de scriere/citire port
JZ
NEXT1
; daca acumulatorul este zero, salt la
; eticheta NEXT1
JNZ
COL
; daca acumulatorul este nenul, salt la
; eticheta COL
NEXT1:
MOV
A,#0B0H
; adresa liniei a treia de taste
; apel subrutina de sriere/citire port
ACALL PORT
JZ
KEY
; daca acumulatorul este nul, proces
; ciclic de citire taste
JNZ
COL
; daca acumulatorul este nenul, salt la
; eticheta COL, pentru determinarea coSISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

293

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII


COL:

loanei pe care se afla tasta apasata


daca bitul 0 al acumulatorului este 1,
tasta se afla pe coloana 0 si salt la
eticheta COL0
daca bitul 1 al acumulatorului este 1,
tasta se afla pe coloana 1 si salt la
eticheta COL1
daca bitul 2 al acumulatorului este 1,
tasta se afla pe coloana 2 si salt la
eticheta COL2
daca bitul 3 al acumulatorului este 1,
tasta se afla pe coloana 3 si salt la
eticheta COL3
registrul R1 se incarca cu 0
se transfera in acumulator registrul R3
interschimb biti acumulator
mascare biti mai semnificativi
daca bitul 1 al acumulatorului este 1,
salt la eticheta LINIE1
daca bitul 2 al acumulatorului este 1,
salt la eticheta LINIE2
salt la eticheta PLAY
registrul R1 se incarca cu 1
se transfera in acumulator registrul R3
interschimb biti acumulator
mascare biti mai semnificativi
daca bitul 1 al acumulatorului este 1,
salt la eticheta LINIE1
daca bitul 2 al acumulatorului este 1,
salt la eticheta LINIE2
salt la eticheta PLAY
registrul R1 se incarca cu 2
se transfera in acumulator registrul R3
interschim biti acumulator
mascare biti mai semnificativi
daca bitul 1 al acumulatorului este 1,
salt la eticheta LINIE1
daca bitul 2 al acumulatorului este 1,
salt la eticheta LINIE2
salt la eticheta PLAY
registrul R1 se incarca cu 3
se transfera in acumulator registrul R3
interschimb biti acumulator
mascare biti mai semnificativi
daca bitul 1 al acumulatorului este 1,
salt la eticheta LINIE1
daca bitul 2 al acumulatorului este 1,
salt la eticheta LINIE2
salt la eticheta PLAY

A,#04H
A,R1
R1,A
PLAY

;
;
;
;

acumulatorul se incarca cu 4
aduna acumulatorul cu R1
se transfera acumulatorul in R1
salt la eticheta PLAY

ACC.0,COL0

JB

ACC.1,COL1

JB

ACC.2,COL2

JB

ACC.3,COL3

COL0: MOV
MOV
SWAP
ANL
JB
JB
SJMP
COL1: MOV
MOV
SWAP
ANL
JB
JB
SJMP
COL2: MOV
MOV
SWAP
ANL
JB
JB
SJMP
COL3: MOV
MOV
SWAP
ANL
JB
JB
SJMP
LINIE1:
MOV
ADD
MOV
SJMP
LINIE2:
294

PLAY

;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

JB

R1,#00H
A,R3
A
A,#00001111B
ACC.1,LINIE1
ACC.2,LINIE2
PLAY
R1,#01H
A,R3
A
A,#00001111B
ACC.1,LINIE
ACC.2,LINIE2
PLAY
R1,#02H
A,R3
A
A,#00001111B
ACC.1,LINIE1
ACC.2,LINIE2
PLAY
R1,#03H
A,R3
A
A,#00001111B
ACC.1,LINIE1
ACC.2,LINIE2

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV
A,#08H
; acumulatorul se incarca cu 8
ADD
A,R1
; aduna acumulatorul cu R1
MOV
R1,A
; se transfera acumulatorul in R1
; salt la eticheta PLAY
SJMP PLAY
; revenire din subrutina
PLAY: RET
;
; Rutina de scriere la un port de iesire si de citire de la un port
; de intrare. Informatiile sunt vehiculate prin intermediul
; acumulatorului.
;
PORT: MOV
P2,#1
; selecteaza decodificatorul (A8=1)
MOV
R0,#20H
; incarca R0 cu 0010 0000 B:
; selectie port de iesire 1 (S1=0)
MOVX @R0,A
; muta continutul acumulatorului
; la portul de iesire 1 (AX0=0)
MOV
P2,#1
; selecteaza decodificatorul (A8=1)
MOV
R0,#60H
; incarca R0 cu 0110 0000B:
; selecteaza portul de intrare
MOVX A,@R0
; citeste in acumulator valorea gasita
; la adresa specificata anterior
CPL
A
; complementeaza acumulatorul
MOV
R3,A
; salveaza valoarea in registrul R3
ANL
A,#0FH
; mascheaza bitii mai semnificativi
; ai acumulatorului (codul liniei)
RET
; revenire din subrutina
;
; Rutina de scriere sir de caractere la afisajul cu cristale lichide
; LCD.
;
TRX1: CLR
A
; initializeaza acumulatorul cu 0
MOVC A,@A+DPTR
; muta in acumulator adresa gasita
; la adresa @A+DPTR
CJNE A,#24H,TRCAR1; compara continutul acumulatorului
; cu #24H (codul hexa al caracterului
; $ - sfarsit de mesaj) si daca este
; diferit se efectueaza salt la eticheta
; TRCAR1
RET
; revenire din subrutina
TRCAR1:
MOV
R2,A
; muta continutul acumulatorului in
; registrul R2
ACALL WRDAT
; apel subrutina de scriere date in
; registrele afisajului LCD
INC
DPTR
; adresa urmatorului caracter de scris
SJMP TRX1
; small jump la eticheta TRX1, pentru
; a scrie urmatorul caracter
;
; Rutina de intarziere cu 0.5 secunde:
; 0.5sec = (7instr.NOP x 12perioade ceas/NOP x 256 x 256)/11,059MHz.
;
SEC: MOV
R6,#255
; se incarca registrul R6 cu #255
LOOP1: MOV
R7,#255
; se incarca registrul R7 cu #255
LOOP: NOP
; 7 instructiuni NOP
NOP
NOP
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

295

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII


NOP
NOP
NOP
NOP
DJNZ

R7,LOOP

DJNZ

R6,LOOP1

RET

;
;
;
;
;

se decrementeaza registrul R7 si
daca este nenul, salt la LOOP
se decrementeaza registrul R6 si
daca este nenul, salt la LOOP1
revenire din subrutina

;
TEXT: DB 'PROGRAMARE TEMP:$'
; text prezentare 1, linia 1
DB '(TEMP.: 0 .. 99)$'
; text prezentare 1, linia 2
TEXT1: DB 'TEMP. REF: 00 C $'
; text prezentare 2, linia 1
DB 'TEMP. MAS: 00 C $'
; text prezentare 2, linia 2
;
; Rutina de conversie hexa-ascii. Sursa si destinatia sunt
; constituite de acumulator.
;
HEXASC:
ANL
A,#0FH
; se mascheaza cei patru biti mai
; semnificativi ai acumulatorului
JNB
ACC.3,NOADJ ; daca bitul 3 = 0 salt la NOADJ
JB
ACC.2,ADJ
; daca bitul 2 = 1 salt la ADJ
JNB
ACC.1,NOADJ ; daca bitul 1 = 0 salt la NOADJ
ADJ: ADD
A,#07H
; aduna acumulatorul cu #07H
NOADJ: ADD
A,#30H
; aduna acumulatorul cu #30H
RET
; revenire din subrutina
;
; Rutina de transmisie la LCD a unui caracter ASCII continut in
; registrul R2.
;
TRX: CLR
A
; se initializeaza acumulatorul cu 0
MOV
A,R2
; se transfera continutul registrului
; R2 in acumulator
LJMP TRCAR
; long jump la eticheta TRCAR
LL7: RET
; revenire din subrutina
TRCAR: MOV
R2,A
; se restaureaza in R2 continutul Acc.
ACALL WRDAT
; se scriu datele in driverele LCD
SJMP LL7
; short jump la eticheta LL7
;
; Rutina de initializare LCD. Aceasta rutina trimite la LCD comanda
; #38H = 0011 1000B. Conform datelor de catalog, acesta comanda
; seteaza urmatorii parametri ai afisajului:
;
- bitul 5 - defineste aceasta comanda (function set);
;
- bitul 4(DL-Data Length)=1 seteaza dialogul pe 8 biti
;
intre procesor si LCD;
;
- bitul 3(N-Number of display lines)=1 seteaza numarul
;
liniilor afisajului ca fiind 2^N=2;
;
- bitul 2(F-Character Font)=0 seteaza forma caracterului
;
ca fiind 5*7 puncte.
;
INILCD:
MOV
R2,#38H
; incarca R2 cu cuvantul de comanda
; pregatind dialogul pe 8 biti cu
; driverele de afisaj
296

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
ACALL

WRCMD

MOV

R4,#50

DEL4MS:
ACALL
DJNZ

DELAY
R4,DEL4MS

MOV
LINI: ACALL
ACALL
DJNZ

R4,#4
WRCMD
DELAY
R4,LINI

ACALL
MOV
ACALL
ACALL
MOV
ACALL
ACALL
MOV
ACALL
ACALL
RET

WLCD
R2,#6
WRCMD
WLCD
R2,#0EH
WRCMD
WLCD
R2,#1
WRCMD
WLCD

;
;
;
;

transmite comanda anterioara la


port, efectuand programarea LCD
se incarca registrul R4 cu valoarea
imediata 50

;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

apel subrutina DELAY


se decrementeaza registrul R4 si
salt la eticheta DEL4MS daca continutul acestuia este nenul
se incarca R4 cu valoarea imediata 4
se scrie comanda la driverele LCD
apel subrutina DELAY
se decrementeaza registrul R4 si salt
la eticheta LINI daca este nenul continutul acestui registru
testarea starii driverelor LCD
seteaza modul de lucru "entry"
transmite comanda la LCD
testarea starii driverelor LCD
seteaza modul "display on"
transmite comanda la LCD
testarea starii driverelor LCD
seteaza modul "clear LCD"
transmite comanda la LCD
testarea starii driverelor LCD
revenire din subrutina

;
; Subrutina de stergere a afisajului cu cristale lichide si setare a
; modului de lucru.
;
CLRLCD:
MOV
R2,#1
; stergere afisaj LCD
ACALL WRCMD
; transmite comanda la LCD
MOV
R2,#1100B
; display on, cursor off, flash off
ACALL WRCMD
; transmite comanda la LCD
RET
; revenire din rutina de CLRLCD
;
; Rutina ce testeaza daca este sau nu posibila transmiterea unui nou
; caracter catre LCD, pe baza informatiilor furnizate de rutina
; RDCMD. Se testeaza bitul 7 (BF - Busy Flag) al registrului de
; stare al LCD. Daca BF=1, inseamna ca LCD efectueaza o operatie
; interna si, deci, nu poate accepta un nou caracter.
;
WLCD: ACALL RDCMD
; apel rutina RDCMD
JB
ACC.7,WLCD
; se verifica daca BF=1 si asteapta
; trecerea lui in 0 (terminarea ope; ratiunilor interne)
RET
; revenire din subrutina
;
; Subrutina RDCMD selecteaza afisajul si citeste din registru de
; stare starea curenta a driverelor acestuia, informatie care este
; depusa in acumulator.
;
RDCMD:
MOV
P2,#1
; selectie port (S0=1)
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

297

SISTEM CU CONTROLLER PENTRU M SURAREA I CONTROLUL TEMPERATURII


MOV

R0,#2

MOVX

A,@R0

;
;
;
;
;
;
;

se realizeaza pe magistrala de adrese


selectia cu A0 si A1 (0000 0010 B),
pentru a se citi starea driverelor de
afisaj
se transfera in acumulator valoarea
gasita la adresa specificata anterior
revenire din subrutina

RET
;
; Rutina WRCMD scrie o comanda la driverele de afisaj, in urma
; verificarii starii acestora. Se selecteaza afisajul LCD si comanda
; continuta de registrul R2 este transferata driverelor din LCD.
;
WRCMD:
ACALL WLCD
; se verifica starea driverelor (BF=0)
MOV
A,R2
; comanda continuta in registrul R2 e
; transferata in acumulator
MOV
P2,#1
; se selecteaza portul LCD (S0=1)
MOV
R0,#0
; se selecteaza pe magistrala de adrese
; cu A0 si A1 combinatia 0000 0000 B,
; corespunzatoare scrierii unei comenzi
; la driverele afisajului LCD
MOVX @R0,A
; se scrie in driverele afisajului LCD
; (la adresa stabilita anterior) comanda
RET
; revenire din subrutina
;
; Subrutina WRDAT este identica cu WRCMD dar este utilizata pentru
; scrierea la driverele LCD codul caracterelor ce urmeaza a fi
; afisate.
;
WRDAT:
ACALL WLCD
; testarea starii driverelor LCD
MOV
P2,#1
; se selecteaza portul LCD (S0=1)
MOV
R0,#1
; se selecteaza pe magistrala de adrese
; cu A0 si A1 combinatia 0000 0001 B,
; corespunzatoare scrierii unui caracter
; la driverele afisajului LCD
MOV
A,R2
; se transfera caracterul in acumulator
MOVX @R0,A
; se transmite caracterul driverelor LCD
RET
; revenire din subrutina
;
; Subrutina DELAY realizeaza o intarziere cu 80 microsecunde.
;
DELAY:
MOV
R3,#17
; registrul R3 este incarcat cu valoarea
; imediata 17
; 80E-6secunde = 17 * 2instructiuni NOP *
; * 12 perioade de ceas/instructiune NOP*
; 1/11.059MHz (perioada ceas procesor)
; no operation
LL1: NOP
NOP
; no operation
DJNZ R3,LL1
; decrementare registrul R3, se compa; ra continutul sau cu 0. Daca rezultatul
; compararii este 1, salt la eticheta LL1
RET
; revenire din subrutina
END

298

; sfarsitul programului

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

9. IMPLEMENTAREA HARDWARE-SOFTWARE A
UNUI INSTRUMENT DE VIZUALIZARE A
SEMNALELOR (EASY SCOPE)
n cadrul acestui capitol se va prezenta structura hardware i software a
unui osciloscop digital cu dou canale de intrare, a c rui arhitectur este
organizat n jurul unui microcontroller PIC16C71 func ionnd cu o frecven a
ceasului de 20MHz. n esen , este utilizat sec iunea de conversie analogdigital implementat n cadrul familiei de circuite PIC16Cxx, completat cu o
schem original , simpl dar eficient de prelucrare analogic a semnalelor,
pentru a se realiza compatibilizarea cu circuitele de intrare uzuale ale
osciloscoapelor analogice i digitale (impedan de intrare cu valoarea de 1M,
trepte de atenuare de 1:1, 1:2, 1:5, 1:10).

9.1 DESCRIEREA FUNC IONAL A OSCILOSCOPULUI


DIGITAL EASY SCOPE
Orice pasionat al electronicii, tehnician sau inginer, i-ar dori s aib
propriul osciloscop. ns n cele mai multe situa ii este dificil justificarea
costului ridicat al unui asemenea echipament de m surare. Este mult mai
probabil ca fiecare dintre aceti specialiti s posede un calculator compatibil
PC. Osciloscopul digital Easy Scope transform calculatorul ntr-un osciloscop
digital cu memorie, cu dou canale. Ca i un osciloscop analogic, un osciloscop
digital cu memorie permite vizualizarea semnalelor electric pe ecran. ns , spre
deosebire de un osciloscop analogic, acesta convertete semnalele de intrare n
form digital prin eantionarea intr rilor utiliznd un convertor analog-digital.
Acest procedeu confer osciloscopului digital cu memorare avantaje comparativ
cu unul analogic, ca de exemplu:
capacitatea de a vizualiza un singur eantion al semnalului analogic de
intrare;
capacitatea de a afia forma de semnal att dinaintea ct i dup un
semnal de trigger;
capacitatea de a salva datele pentru vizualizarea lor ulterioar sau
pentru prelucarerea acestora;
Binen eles c cei care prefer utilizarea osciloscoapelor analogice vor
sublinia faptul c variantele digitale nu permit vizualizarea varia iilor semnalelor
de intrare ntre dou opera ii succesive de eantionare ale acestora. Acest aspect
poate constitui un dezavantaj n anumite situa ii deosebite.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

299

300

JP1
4 HEADER

200k
RB2
200k
RB3

-5V

Vin

C5
100nF

3
R2B
1k1

R2A
1k1

C3
22uF

C2
100nF

R1B
1k1

C10
15pF

12
14

RB7

13

1k

D2
DZ5V1

GND
8

RA1

200k
RA2

R13

R12A

R12B

1k5

1k

620

U1C
TL084

200k
RA3

+9Vcc

200k
RA5

6
7
8
9
10

100k
RA6
100k

1
2
3
4

GND

1
2

11

SWITCH

RA7

18
17
16
15
14
13
12
11
10

11GND
5
7
6
U1B
TL084

R8
1k

U1A
TL084
-9Vcc

6
7
8
9
10

RA1
RA0
OSC1
OSC2
Vdd
RB7
RB6
RB5
RB4

16C71

11

100k
RA4

RA2
RA3
RA4
MCLR
Vss
RB0
RB1
RB2
RB3

SW1
1
2
3
4

U2
1
2
3
4
5
6
7
8
9

17 C61

GND
10

LPT
1
14
2
15
3
16
4
17
5
18
6
19
7
20
8
21
9
22
10
23
11
24
12
25
13

GND

R14

U1D
TL084

GND

C11
15pF

20MHz

GND

GND
R1A
1k1

100k

100k

100k
RB6

GND

LED

GND
R3
1K

200k
RB5

Sg.A

GND

470
+5V

Vin

C1
22uF

C4
22uF

RLED

XTAL

100k
RB4

100k

+9Vcc

DN G

C6
22uF

-9Vcc

U3
LM7805CT

R7

R6A

R6B

1k5

1k

620

D1
DZ5V1
GND

GND

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

4
3
2
1

RB1

DN G

GND

U4
LM7905CT

Fig. 9.1 Schema electric a osciloscopului Easy Scope.

Osciloscopul Easy Scope este un osciloscop digital cu memorie (Digital

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

LED1
Sg.B

ELECTRONIC APLICAT

Storage Oscilloscope - DSO), interfa abil cu calculatoare personale compatibile


IBM PC, de pre redus i caracterizat de urm toarele caracteristici principale:
cuplarea (interfa area) pe portul paralel al calculatorului are avantajul
de a nu solicita un conector (slot) de magistral ;
este portabil, de dimensiuni reduse, func ioneaz alimentat de la baterii
i are un consum redus. n combina ie cu un laptop, acest instrument
devine un adev rat echipament de test;
rata de eantionare maxim este de aproximativ 50KHz, depinznd de
frecven a de lucru a calculatorului;
dispune de caracteristici DVM (Digital VoltMeter) pentru efectuarea
de m sur tori statice de tensiuni;
dispune de 3 game de sensibilitate pentru intr ri: 2,4V, 6,0V i
12V, utiliznd o sond de osciloscop 1;
poate fi utilizat o sond de osciloscop 10 pentru a se ob ine trei
game suplimentare de intrare (24V, 60V i 120V);
software pentru PC uor de utilizat;
facilit i de adaptare a circuitului pentru aplica ii atipice.
Cum se poate s se nglobeze att de multe facilit i ntr-o construc ie att
de compact ?
Circuitul con ine dou sec iuni analogice i o sec iune digital . ntrega
schem se bazeaz pe un microcontroller PIC16C71. Acesta prezint avantaje
substan iale n compara ie cu controller-ele din seria PIC16C5x, utilizate
frecvent n multe aplica ii. n plus fa de circuitele PIC uzuale, 16C71
nglobeaz un convertor analog-digital (A/D).
Convertorul A/D implementat n cadrul microcontroller-ului PIC16C71
func ioneaz n gama 0 ... +5V. Pentru a utiliza convertorul analog-digital pentru
mai multe game de tensiuni de intrare, inclusiv pentru tensiuni de intrare
negative, este necesar utilizarea unei sec iuni de condi ionare a semnalelor
nainte de aplicarea acestora la intr rile convertorului analog-digital.
Osciloscopul digital Easy Scope dispune de dou canale ce necesit
condi ionarea semnalelor de intrare nainte de aplicarea la intr rile circuitului de
conversie. Circuitul de condi ionare a semnalului pentru canalul A este
implementat cu un circuit TL084 (amplificator opera ional cuadruplu), un
comutor rotativ cu dou sec iuni de cte 4 contacte i o serie de rezisten e. n
primul rnd, semnalul este aplicat unui divizor rezistiv compus dintr-o grupare
serie de rezisten e, cu rezisten a total de 1M. Semnalul este preluat dintr-unul
dintre cele trei puncte ale divizorului rezistiv (corespunznd atenu rilor de 1:2,
1:5 sau 1:10 fa de semnalul de intare) prin intermediul comutatorului SW1.
Semnalul atenuat este aplicat pe intrarea neinversoare a unui amplificator
sumator-substractor realizat cu U1. Amplificarea acestuia este egal cu
(R6/R7)+1. O tensiune de offset de 2,5V este suprapus peste semnalul util.
Aceast tensiune de offset este ob inut prin intermediul unui divizor rezistiv
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

301

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

ajustabil (R1, R2 i semireglabilul multitur R3), c ruia ie se aplic tensiunea


stabilizat de 5V furnizat de un stabilizator integrat de tensiune de tip
LM7905. Tensiunea de referin ob inut pe cursorul semireglabilului trebuie s
fie egal cu 2,3V i poate fi ajustat fin prin reglarea lui R3. Aceast tensiune
de referin este buffer-at , utiliznd un al doilea amplificator opera ional n
configura ie de repetor de tensiune, i este aplicat intr rii inversoare a
amplificatorului sumator-substractor. Aplicnd o tensiune de 0V la intrarea
canalului A, ieirea amplificatorului sumator-substractor trebuie s fie de 2,5V.
Dac la intarea canalului A se aplic o tensiune negativ , ieirea circuitului este
mai mic dect 2,5V iar aplicarea unui semnal de polaritate pozitiv la intrarea
canalului A determin ca tensiunea de la ieirea circuitului s fie superioar
valorii de 2,5V. Ieirea amplificatorului sumator-substractor este aplicat intr rii
analogice RA0 a microcontroller-ului PIC16C71 prin intermediul unei
rezisten e, R8. Dioda Zener D1 asigur protec ia la supratensiune a intr rii
convertorului A/D, limitnd excursia de semnal la intervalul 0,6V...+5,1V.
Cea de-a doua sec iune a comutatorului SW1 ac ioneaz asupra bi ilor
portului B (RB4 i RB5) astfel:
RB4
1
0
1

RB5
1
1
0

Atenuare
1:2 (gama 2,4V)
1:5 (gama 6,0V)
1:10 (gama 12V)

Aa cum se poate observa din analiza schemei electrice a osciloscopului


Easy Scope, circuitul de condi ionare a semnalului pentru canalul B este identic
cu cel implementat pentru canalul A, cu excep ia faptului c pentru acest canal
s-a ales gama fix de tensiuni de intrare 12V. n variantele ulterioare se pot
prevedea facilit i de selec ia a gamelor de tensiuni de intrare la fel ca pentru
canalul A, utiliznd un comutator SW1 cu 3 sec iuni.
Convertorul A/D din cadrul microcontroller-ului PIC16C71 este setat s
efectueze conversii ale semnalelor analogice aplicate intr rilor RA0 i RA1,
furniznd rezultatele sub form binar (0...255). Intreruperea de la timer-ul
intern din structura circuitului PIC16C71 este utilizat pentru generarea unei
baze de timp stabile n vederea eantion rii. La apari ia nteruperii generate de
timer se citete con inutul registrului ADRES, valoarea citit este memorat i se
declaneaz o nou conversie A/D. Dac rata de eantionare este setat la
10KHz, atunci trebuie efectuat o conversie A/D la fiecare 100 s. Intreruperea
de timer trebuie setat n acest situa ie la fiecare 100 s. ntre dou ntreruperi
succesive datele sunt transferate la PC prin intermediul portului paralel.
Transferul se efectueaz paralel pe 4 bi i i utilizeaz protocolul handshake
REQ*/ACK*.
Interfa a cu portul paralel al calculatorului (PC) include n total 10
semnale; 5 dintre ele sunt furnizate de c tre PC (intr ri n microcontroller-ul
302

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

16C71) iar 5 sunt furnizate de PIC16C71 (intr rile n PC). Semnalele de


interfa
sunt prezentate, de asemenea, n cadrul schemei electrice a
osciloscopului digital Easy Scope. Unul dintre semnalele furnizate de c tre PC
controleaz intrarea de reset a controller-ului PIC (MCLR*); aceasta permite
calculatorului s ini ializeze func ionarea microcontroller-ului la orice moment
de timp. Trei dintre semnalele de la PC sunt dedicate pentru controlul modului
(MODE control). La aplicarea unui semnal de reset, controller-ul PIC citete
semnalele MODE pentru a determina modul de func ionare. Modurile de lucru
include: func ionarea ca osciloscop, func ionarea ca voltmetru pe canalul 0,
func ionarea ca voltmetru pe canalul 1 i stare/nc rcare constante de timp i
bascularea ieirilor (modul debug). Patru dintre pinii controller-ului PIC sunt
configura i ca pini de date. Celelalte dou semnale r mase reprezint semnalele
de protocol de tip handshake (request i acknowledge) utilizate pentru
transferurile de date. Transferul celor dou grupe de cte 4 bi i demareaz prin
activarea semnalului REQ* de c tre PC. Simbolul * indic faptul c semnalul
este activ pe 0 logic. Aceasta nseamn c semnalul REQ* devine 0 logic.
Atunci cnd controller-ul PIC transfer datele pe pinii corespunz tori, el
activeaz semnalul ACK*. Activarea semnalului ACK* indic calculatorului c
datele sunt disponibile. Dup ce PC-ul citete datele, dezactiveaz semnalul
REQ* (nivel logic 1), pentru a indica faptul c datele au fost citite. n urma
identific rii acestei situa ii, controller-ul PIC dezactiveaz semnalul ACK*.
Urm torul cadru de 4 bi i este transferat n mod similar, cu excep ia faptului c
semnalul MODE A este setat la 0 pe durata transferului.

9.2 PREZENTAREA CIRCUITULUI PIC16C71 (MICROCHIP)


Caracteristicile principale ale familiei de microcontroller-e PIC16C71X
sunt:

arhitectur CPU de tip RISC de nalt performan ;


set simplu i eficient de instruc iuni (35 instruc iuni pe un cuvnt);
toate intruc iunile dureaz un singur ciclu, cu excep ia celor de salt n
program care dureaz dou cicluri;
frecven a maxim a cesului de sistem 20 MHz, durata unui ciclu
instruc iune minim 200 ns;
memorie de program - Program memory - de maxim 2k x 14 cuvinte,
maxim 128 x 8 octe i de memorie de date - Data Memory (RAM);
facilit i de ntreruperi;
stiv hardware organizat pe maximum 8 nivele;
capabilit i de adresare direct , indirect i relativ ;
Power-on Reset (POR);
Power-up Timer (PWRT) i Oscillator Start-up Timer (OST);

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

303

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

Watchdog Timer (WDT) cu oscilator RC propriu implementat pe chip


pentru func ionare sigur ;
protec ie software a codului;
implementarea modului de economie de energie (power saving) SLEEP mode;
op iuni de selectare a oscilatorului;
memorie EPROM n tehnologie HighSpeed-CMOS cu putere
consumat redus ;
implementare complet static ;
gam larg a tensiunilor de alimentare: de la 2,5V la 6,0V;
capabilitate mare a curen ilor debita i de pini: 25 mA
gam de temperaturi de func ionare: comercial , industrial i extins ;
circuit de verificare a parit ii memoriei de program cu Parity Error
Reset (PER) (doar la PIC16C715);
putere total consumat redus :
< 2 mA @ 5V, 4 MHz;
15 mA tipic @ 3V, 32 kHz;
< 1 mA tipic curent de alimentare n stand-by;
organizare sub forma a 13 pini de intrare/ieire controla i individual.

9.2.1 DESCRIERE GENERAL A PIC16C71


Familia de microcontroller-e PIC16C71X este caracterizat de costuri
sc zute, nalt performan , implementare n tehnologie CMOS static ,
reprezentnd o familie de microcontroller-e de 8 bi i ce integreaz n cadrul
structurii un convertor analog-digital (A/D) i situat n cadrul familiei
PIC16CXX. Toate microcontroller-ele PIC16/17 utilizeaz o arhitectur
avansat de tip RISC. Familia de microcontroller-e PIC16CXX prezint
caracteristici performante ale nucleului de baz , stiv cu adncime de 8 nivele i
mai multe surse de ntreruperi interne i externe.
Separarea sec iunilor de intruc iuni i de date ale arhitecturii Harvard
permite lungimea de 14 bi i a formatului instruc iunilor i separat cuvinte de
date cu lungimea de 8 bi i. Execu ia de tip pipeline (pe dou nivele) a
instruc iunilor asigur executarea acestora ntr-un singur ciclu, cu excep ia
acelora de ramificare a programului, acestea din urm necesitnd pentru
execu ie dou cicluri. Utilizatorului i este disponibil un set redus, dar eficient,
con innd 35 de nstruc iuni. n plus, setul complex de registre interne permite
ob inerea unor performan e deosebite prin utilizarea inova iilor arhitecturale.
Microcontroller-ele PIC16CXX asigur n medie o compresie a codului
de 2 ori i o cretere a vitezei de 4 ori n compara ie cu alte microcontroller-e de
304

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

8 bi i din aceeai clas .


Dispozitivele PIC16C710/71 dispun de 36 octe i de memorie RAM (Data
Memory), PIC16C711 dispune de 68 octe i de memorie RAM iar PIC16C715
are 128 octe i de memorie RAM. Fiecare reprezentant al familiei dispune de 13
pini de intrare/ieire (I/O). n plus este disponibil un circuit timer/counter. De
asemenea, n cadrul structurii este implementat un convertor analog-digital
rapid, cu rezolu ie de 8 bi i i dispunnd de 4 canale analogice de intrare
multiplexate. Rezolu ia de 8 bi i este ideal pentru aplica ii necesitnd
interfa are analogic de cost redus, cum ar fi comanda termostatelor, m surarea
presiunii, etc.
Familia de microcontroller-e PIC16C71X prezint caracteristici speciale
menite s reduc la maxim num rul de componente externe, reducnd astfel
costurile, determinnd creterea fiabilit ii i reducerea puterii consumate.
Sunt disponibile patru op iuni de oscilator, dintre care oscilatorul RC
asigur a solu ie foarte economic din punct de vedere cost, oscilatorul LP
minimizeaz puterea consumat , oscilatorul XT reprezint un cristal standard de
cuar , iar oscilatorul HS este destinat pentru cristale High Speed. Caracteristica
SLEEP (power-down) asigur modul de economisire a puterii consumate.
Utilizatorul poate scoate circuitul din modul SLEEP n mai multe moduri,
utiliznd ntreruperi externe i interne, precum i semnale de reset.
Un circuit fiabil i cu func ionare sigur de tip Watchdog Timer pilotat de
propriul s u oscilator RC implementat pe chip asigur protec ia eficient
mpotriv bloc rilor software.
Capsulele CERDIP cu fereastr de cuar pentru tergere cu ultaviolete
(UV) a memoriei de program (UVEPROM) sunt recomandate pentru
dezvoltarea de aplica ii, pe cnd variantele OTP (One-Time-Programmable),
sensibil mai ieftine sunt eficiente pentru produc ia la orice nivel.
Familia PIC16C71X este eficient din punct de vedere hardware-software
pentru aplica ii diverse, de la aplica ii gen sisteme de securitate i senzori
inteligen i comanda i de la distan , pn la sisteme de control n locuin e i n
industria auto. Utilizarea tehnologiei EPROM pentru memoria de program
permite adaptarea facil i rapid a programelor de aplica ii (coduri de
transmisie, controlul tura iei motoarelor, receptoare de frecven , etc.).
Varietatea amprentelor componentelor permite utilizarea acestor microcontroller-e n cadrul aplica iilor ce impun limit ri din punct de vedere a spa iului
ocupat. Pre ul redus, puterea consumat redus , performan ele ridicate, uurin a
utiliz rii i flexibilitatea mare a liniilor de intrare/ieire (I/O) determin ca
familia PIC16C71X s fie deosebit de atractiv i versatil chiar n domenii n
care nu s-a avut n vedere pn acum utilizarea microcontroller-elor (cum ar fi
implementarea unor func ii de timer, comunica ia serial , captarea i
compararea, func ii PWM (Power Width Modulation) i aplica ii de tip
coprocesor matematic).
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

305

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

9.2.2 PREZENTARE ARCHITECTURAL


Performan ele deosebite din punct de vedere a eficien ei calculelor i a
versatilit ii ale familiei de microcontroller-e PIC16CXX se datoreaz n
principal unui num r de caracterisitici arhitecturale tipice pentru
microprocesoarele de tip RISC. n primul rnd, familia de circuite PIC16CXX
utilizeaz o arhitectur Harvard, n cadrul c reia instruc iunile i datele sunt
accesate din memorii dedicate distincte utiliznd magistrale distincte. Aceasta
mbun t ete l rgimea de band comparativ cu arhitectura tradi ional von
Neumann, n cadrul c reia instruc iunile i datele sunt manipulate pe aceeai
magistral din cadrul unei memorii comune. Separarea magistralelor de
instruc iuni (program) i de date permit dimensiuni (lungimi) diferite ale
instruc iunilor i datelor. Codul opera iei are o lungime de 14 bi i permi nd ca
toate instruc iunile s fie codificate ntr-un singur cuvnt. Ciclul de fetch (citire
a instruc iunii) aduce codul instruc iunii (cu lungimea de 14 bi i) pe magistrala
dedicat din memoria de program ntr-un singur ciclu. O structur pipeline pe
dou nivele suprapune fazele de citire i execu ie a instruc iunilor. Ca urmare,
toate instruc iunile (35) sunt executate ntr-un singur ciclu (200 ns @ 20 MHz),
cu excep ia instruc iunilor de ramificare n program.
n tabelul urm tor se prezint memoria de program (EPROM) i memoria
de date (RAM) pentru fiecare reprezentant al familiei de microcontroller-e
PIC16C71X.
Reprezentant

PIC16C710
PIC16C71
PIC16C711
PIC16C715

Capacitate memorie Capacitate memorie


de program
de date
512 x 14
36x8
1K x 14
36x8
1K x 14
68x8
2K x 14
128x8

Circuitele din familia PIC16CXX pot adresa direct sau indirect registrele
interne sau memoria de date. Toate registrele de func ii speciale, inclusiv
contorul programului (Program Counter) sunt mapate n memoria de date.
Familia PIC16CXX dispune de un set de instruc iuni ortogonal (simetric), ceea
ce face posibil execu ia oric rei instruc iuni cu oricare registru, utiliznd
oricare dintre modurile de adresare. Aceast caracteristic de simetrie i lipsa
situa iilor speciale de optimizare fac ca programarea pentru PIC16CXX s fie
simpl , dar cu toate acestea eficient . n plus, curba de nv are se reduce
semnificativ.
Circuitele din familia PIC16CXX con in o unitate aritmetico-logic
(ALU) i un registru de lucru de 8 bi i. ALU este o unitate aritmetic de uz
general. Execut func ii aritmetice i logice ntre datele con inute n registrul de
306

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

lucru i oricare alt registru. ALU lucreaz cu operanzi pe 8 bi i i permite


adunarea, sc derea, shift-area i opera ii logice. Cu excep ia unor men iuni
speciale, opera iile aritmetice se execut n complement fa de 2. n cadrul
instruc iunilor cu 2 operanzi, tipic unul dintre operanzi este registrul de lucru
(registrul W). Cel lalt operand este un alt registru de date sau o valoare
imediat . n cadrul instruc iunilor cu un singur operand, acesta este constituit fie
de registrul de lucru (W) sau de un registru de date.
Registrul W este un registru de lucru de 8 bi i utilizat pentru opera iile n
cadrul ALU. Nu este un registru adresabil.
n func ie de instruc iunea executat , unitatea aritmetico-logic poate
afecta valorile indicatorilor Carry (C), Digit Carry (DC) i Zero (Z) din cadrul
registrului STATUS. Indicatorii C i DC au semnific ia unor bi i de borrow i
digit borrow, respectiv n cadrul opera iilor de sc dere.

Fig. 9.2 Arhitecura microcontroller-ului PIC16C71.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

307

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

9.2.2.1 CEASUL DE SISTEM / CICLUL INSTRUC IUNE


Intrarea de ceas (OSC1) este intern divizat cu patru pentru a genera patru
semnale de ceas n cuadratur i f r suprapunere, Q1, Q2, Q3 i Q4. Intern,
contorul programului (PC) este incrementat la fiecare perioad Q1, codul
instruc iunii este citit din memoria de program i este memorat n registrul de
instruc iuni n Q4. Instruc iunea este decodificat i executat n urm toarele
perioade Q1 pn la Q4. Diagramele temporale ale semnalelor de ceas i fluxul
de execu ie al instruc iunii sunt ilustrate n fig. 9.3.

Fig. 9.3 Ceasul de sistem, ciclul instruc iune

9.2.2.2 FLUXUL DE EXECU IE AL INSTRUC IUNII /


PIPELINE-ING
Un ciclu instruc iune con ine patru cicli de ceas Q (Q1, Q2, Q3 i Q4).
Citirea din cadrul memoriei de program i execu ia codului instruc iuniifolosesc
tehnica pipeline, astfel nct ciclul de fetch dureaz un ciclu instruc iune iar
decodificarea i executarea dureaz un alt ciclu instruc iune. Cu toate acestea,
datorit tehnicii pipeline, fiecare instruc iune este executat efectiv n cadrul
unui singur ciclu. Dac instruc iunea curent determin modificarea con inutului
contorului programului (de exemplu GOTO) atunci sunt necesare dou cicluri
pentru executarea sa.
308

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Un ciclu de fetch ncepe prin incrementarea contorului de program (PC)


pe durata Q1.
n cadrul ciclului de execu ie, instruc iunea citit din memoria de program
este memorat n cadrul registrului de instruc iuni Instruction Register (IR) pe
durata Q1. Aceast instruc iune este apoi decodificat i executat n ciclurile de
ceas Q2, Q3 i Q4. Memoria de date (Data memory) este citit pe durata Q2
(citirea operandului) i scris n ciclul Q4 (scrierea rezultatului).

9.2.3 ORGANIZAREA MEMORIEI DE PROGRAM


(PROGRAM MEMORY)
Familia de microcontroller-e PIC16C71X dispune de un contor de
program (PC) cu lungimea de 13 bi i, capabil s adreseze un spa iu de memorie
de program de 8k x 14 cuvinte.

Fig. 9.4 Organizarea memoriei de program la familia de microcontroller-e


PIC16C71X.

Capacitatea memoriei de program disponibil pentru fiecare reprezentant


al familiei este prezentat n tabelul urm tor:
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

309

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

Reprezentant

PIC16C710
PIC16C71
PIC16C711
PIC16C715

Capacitatea memoriei
de program
512 x 14
1k x 14
1k x 14
2K x 14

Spa iul de adrese

0000h-01FFh
0000h-03FFh
0000h-03FFh
0000h-07FFh

Pentru acei reprezentani dispunnd de o capacitate a memoriei de


program mai mic de 8K, accesarea unei locaii de memorie n afara spaiului
fizic implementat va determina o blocare a funcionrii.
Vectorul de reset se afl la adresa 0000h, iar vectorul de ntrerupere la
adresa 0004h.

9.2.4 ORGANIZAREA MEMORIEI DE DATE (DATA


MEMORY)
Memoria de date este parti ionat n dou bancuri care con in registrele de
uz general (General Purpose Registers) i registrele de func ii speciale (Special
Function Registers). Bitul RP0 determin selectarea bancului de registre (bank
select bit).
RP0 (STATUS<5>) = 1 Bank 1
RP0 (STATUS<5>) = 0 Bank 0
Fiecare banc se extinde pn la 7Fh (dispune de 128 octe i). Loca iile
inferioare din cadrul fiec rui banc sunt rezervate pentru registrele de func ii
speciale. La adresele imediat superioare se g sesc registrele de uz general,
implementate ca memorie RAM static . Att Bank 0 ct i Bank 1 con in
registre de func ii speciale. Unele registre de func ii speciale frecvent utilizate
din Bank 0 sunt oglindite n Bank 1 din motive de minimizare a codului i
facilitare a accesului.

9.2.4.1 REGISTRUL STATUS


Registrul de stare (STATUS register) con ine starea unit ii aritmeticologice (ALU), starea de RESET i bi ii de selectare a bancului de registre pentru
memoria de date. Registrul STATUS poate constitui destina ie a oric rei
instruc iuni, ca i oricare alt registru. Dac registrul STATUS reprezint
destina ia unei instruc iuni care afecteaz indicatorii de condi ie (Z, DC sau C),
atunci scrierea acestor bi i este dezactivat . Aceti bi i sunt seta i sau reseta i
corespunz tor logicii dispozitivului. n plus, bi ii TO i PD nu pot fi scrii. De
aceea rezultatul unei instruc iuni n care se utilizeaz registrul STATUS ca
310

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

destina ie poate fi diferit fa de rezultatul preconizat.


De exemplu, n urma execu iei instruc iunii CLRF STATUS se vor reseta
cei mai semnificativi 3 bi i i va fi setat indicatorul Z. Con inutul registrului
STATUS n urma acestei opera ii va fi 000NN1NN (N = nemodificat). Ca
urmare, se recomand ca doar instruc iunile BCF, BSF, SWAPF i MOVWF s
fie utilizate n corela ie cu modificarea registrului STATUS, deoarece aceste
instruc iuni nu afecteaz indicatorii de condi ii (Z, C i DC) din cadrul
registrului STATUS.

Fig. 9.5 Organizarea bancurilor de registre.


Nota 1: Pentru dispozitivele care nu utilizeaz bi ii IRP i RP1
(STATUS<7:6>), se recomand men inerea acestor bi i reseta i pentru
a se asigura compatibilitatea cu produse din genera iile urm toare.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

311

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

Nota 2: Bi ii C i DC func ioneaz ca semnale borrow i digit


borrow n cadrul opera iilor de sc dere (a se vedea instruc iunile
SUBLW i SUBWF).

9.2.5 PORTURI I/O


Unii dintre pinii acestor porturi de intrare/ieire (I/O) sunt multiplexa i cu
func ii alternative pentru implementarea caracteristicilor periferice speciale ale
dispozitivelor. n general, atunci cnd este activat o astfel de func ie, pinul
corespunz tor nu poate fi utilizat ca un pin general de intrare/ieire.

9.2.5.1 REGISTRELE PORTA I TRISA


PORTA este implementat ca un latch de 5 bi i. Pinul RA4/T0CKI
func ioneaz ca o intrare de tip Trigger Schmitt input i ca ieire de tip dren n
gol. To i ceilal i pini ai portului RA sunt caracteriza i de nivele logice de intrare
de tip TTL i de driver-e de ieire de tip CMOS. To i pinii sunt controla i de bi i
de direc ie (registrul TRIS) care pot configura aceti pini fie ca intr ri, fie ca
ieiri. Setarea unui bit din cadrul registrului TRISA determin comandarea
driver-ului de ieire al pinului corespunz tor n starea de mare impedan (hi-Z
mode). Resetarea unui bit din cadrul registrului TRISA determin transferarea
con inutului latch-ului de ieire la pinul corespunz tor.
Citirea registrului PORTA determin citirea st rii pinilor asocia i, iar
scrierea registrului PORTA nseamn scrierea la registrul latch al portului. Toate
opera iile de scriere sunt de tip citire-modificare-scriere. Deci, o scriere la un
port implic citirea st rii pinilor portului, modificarea valorii citite i apoi
scrierea datelor n registrul latch al portului.
Pinul RA4 este multiplexat cu semnalul de intrare de ceas al modulului
Timer0, devenind astfel pinul RA4/T0CKI.
Ceilal i pini ai portului PORTA sunt multiplexa i cu intr rile analogice i
intrarea de tensiune de referin VREF. Func ionarea corespunz toare a fiec rui
pin este comandat prin resetarea/setarea bi ilor de control din cadrul registrului
ADCON1 (A/D Control Register1).
Registrul TRISA controleaz (comand ) sensul transferului pe pinii RA,
chiar n situa ia n care sunt utiliza i ca intr ri analogice. Utilizatorul trebuie s
se asigure c bi ii registrului TRISA sunt men inu i seta i atunci cnd utilizeaz
pinii portului PORTA ca intr ri analogice.
Not : La Power-on Reset, aceti pini sunt configura i ca intr ri
analogice i citi i ca 0.
312

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Fig. 9.6 Configura ia intern a bi ilor portului PORTA .

9.2.5.2 REGISTRELE PORTB I TRISB


PORTB este un port bidirec ional dispunnd de 8 bi i. Registrul
corespunz tor sensului transferului individual la nivel de pin este TRISB.
Setarea unui bit din cadrul registrului TRISB determin comandarea driver-ului
de ieire al pinului corespunz tor n starea de mare impedan (hi-Z mode).
Resetarea unui bit din cadrul registrului TRISA determin transferarea
con inutului latch-ului de ieire la pinul corespunz tor.
Fiecare dintre pinii portului PORTB dispune de un pull-up intern de
valoare mare. Un singur bit de control poate activa toate aceste dispozitive de
pull-up. Aceasta poate fi realizat prin resetarea bitului RBPU (OPTION<7>).
Dispozitivele de pull-up sunt automat dezactivate atunci cnd pinii portului sunt
configura i ca ieiri. Dispozitivele de pull-up sunt dezactivate la apari ia Poweron Reset.
Patru dintre pinii portului PORTB, RB7:RB4, dispun de facilit i de
ntrerupere la modificarea caracteristicilor acestora. Doar pinii configura i ca
intr ri pot produce apari ia unei ntreruperi (adic oricare dintre pinii RB7:RB4
configura i ca ieire sunt exclui din facilitatea de generare a unei ntreruperi n
procesul de comparare a modific rii st rii). Pinii configura i ca intr ri (dintre
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

313

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

RB7:RB4) sunt compara i cu valorile anterioare memorate la ultima citire n


cadrul registrului portului PORTB. Ieirile necoinciden elor pinilor RB7:RB4
sunt aplicate unei func ii SAU pentru a genera ntreruperea corespunz toare
modific rii portului RB (RB Port Change Interrupt), caracterizat de flag-ul
RBIF (INTCON<0>). Aceast ntrerupere poate determina ca dispozitivul s
p r seasc modul SLEEP. Utilizatorul, n cadrul rutinei de tratare a ntreruperii,
poate terge ntreruperea n unul dintre urm toarele moduri:
a) prin orice citire sau scriere la portul PORTB, ceea ce va ncheia
condi ia de necoinciden ;
b) resetarea indicatorului RBIF. O condi ie de necoinciden va continua
s seteze indicatorul RBIF. Citirea portului PORTB va ncheia condi ia
de necoinciden i va permite resetarea flag-ului RBIF. Generarea
unei ntreruperi n condi ia de necoinciden , mpreun cu circuitele de
pull-up configurabile software pentru aceti patru pini, permit o
interfa are simpl cu o tastatur i fac posibil activarea sistemului la
ap sarea unei taste.
Se recomand ca ntreruperea generat n caz de necoinciden
(schimbarea valorii logice aplicat pe pinii de intrare ai portului PORTB) s fie
utilizat pentru activarea sistemului la ac ionarea unei taste i n cazul n care
PORTB este utilizat doar pentru generarea unei astfel de ntreruperi. Efectuarea
polling-ului pe PORTB nu este recomandat dac se utilizeaz ntreruperile
determinate de modificarea st rii intr rilor portului PORTB.

Fig. 9.7 Configura ia intern a pinilor portului PORTB.

314

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Exemplul 9.1: Ini ializarea PORTB


BCF
CLRF

STATUS, RP0
PORTB

BSF

STATUS, RP0
MOVLW 0xCF
MOVWF TRISB

;
;
;
;
;
;
;
;
;
;

iniializeaz PORTB prin


resetarea ieirilor
de date ale latch-ului
selecteaz Bank 1
valoare utilizat pentru
iniializarea direciei
seteaz RB<3:0> ca intrri
RB<5:4> ca ieiri
RB<7:6> ca intrri

Not : Pentru PIC16C71, dac apare o modificare a st rii pinilor I/O n


cursul execut rii unui ciclu de citire (nceputul perioadei Q2) exist
posibilitatea ca indicatorul RBIF s nu fie setat.

9.2.6 CONSIDERA II DE PROGRAMARE I/O


9.2.6.1 PORTURI I/O BIDIREC IONALE
Orice instruc iune de scriere func ioneaz intern ca o opera ie de citire
urmat de o opera ie de scriere. Instruc iunile BCF i BSF, de exemplu, citesc
con inutul registrului n CPU, execut opera ia la nivel de bit i scriu rezultatul
ob inut n registru. n situa ia n care aceste instruc iuni sunt aplicate pentru un
port n care unii dintre bi i sunt configura i ca intr ri iar al ii ca ieiri trebuie
luate m suri de precau ie speciale. De exemplu, o instruc iune BSF asupra
bitului 5 al portului PORTB va determina citirea tuturor celor opt bi i ai portului.
Apoi are loc executarea instruc iunii BSF asupra bitului 5 i PORTB este scris n
latch-ul de ieire. Dac un alt bit al portului PORTB este utilizat ca pin
bidirec ional (de exemplu bitul 0) i este definit ca intrare la acest moment de
timp, semnalul de intrare prezent pe acest pin va fi citit de c tre CPU i rescris
n latch-ul de date asociat acestui pin, suprascriind con inutul anterior. Att timp
ct pinul func ioneaz n mod intrare nu apare nici o problem n func ionare.
Cu toate acestea, dac bitul 0 este comandat n modul ieire, con inutul
registrului de date poate deveni neprecizat n aceast situa ie.
Citirea registrului portului reprezint citirea valorilor logice aplicate
pinilor portului. Scrierea n registrul portului nseamn scrierea valorii
corespunz toare n latch-ul de date al portului. Cnd se utilizeaz instruc iuni de
citire-modificare-scriere (de exemplu BCF, BSF, etc.) asupra unui port, se citesc
valorile logice ale pinilor portului, se efectueaz opera ia dorit cu aceste valori
iar rezultatul este scris n cadrul latch-ului portului.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

315

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

n exemplul 9.2 se ilustreaz efectul a dou instruc iuni consecutive de


citire-modificare-scriere asupra unui port de intrare/ieire (I/O).
Exemplul 9.2: Instruc iuni consecutive de citire-modificare-scriere asupra
unui port I/O
; Setri iniiale: PORTB<7:4> intrri
; PORTB<3:0> ieiri
; PORTB<7:6> pull-up activat, fr a fi conectate n exterior
;
PORT latch
PORT pins
;
-----------------BCF PORTB, 7
; 01pp pppp
11pp pppp
; 10pp pppp
11pp pppp
BCF PORTB, 6
;
BSF STATUS, RP0
; 10pp pppp
11pp pppp
BCF TRISB, 7
; 10pp pppp
10pp pppp
BCF TRISB, 6
; Utilizatorul se putea atepta ca valorile pinilpr s fie
; 00pp pppp. Cea de-a doua instruciune BCF a determinat
; ca RB7 s fie memorat ca valoarea pinului (high).

Un pin configurat ca ieire activ Low sau High nu trebuie comandat


n acelai timp de dispozitive externe pentru a schimba nivelul logic asociat
ieirii (SAU-cablat, I-cablat). Curen ii de ieire de valori mari pot
determina defect ri iremediabile ale circuitului.

9.2.6.2 OPERA II SUCCESIVE ASUPRA PORTURILOR I/O


Scrierea curent la un port de intrare/ieire (I/O) are loc la sfritul
ciclului instruc iune, n timp ce pentru citire datele trebuie s fie valide de la
nceputul ciclului instruc iune. De aceea este necesar aten ie dac se execut o
opera ie de scriere urmat de o opera ie de citire la/de la acelai port de
intrare/ieire. Secven a de instruc iuni trebuie s permit stabilizarea tensiunii la
nivel de pini (n cazul dependen ei de sarcin ) nainte de execu ia urm toarei
instruc iuni, ce determin ca datele s fie citite ce c tre CPU. n caz contrar, este
posibil i mai probabil citirea st rii anterioare dect a celei curente. Atunci
cnd exist ndoieli, este util separarea acestor instruc iuni printr-o instruc iune
NOP sau oricare alt instruc iune care nu acceseaz portul I/O respectiv.

9.2.7 MODULUL DE CONVERSIE ANALOG-DIGITAL


Modulul de conversie analog-digital con ine patru intr ri analogice.
Convertorul A/D asigur o rezolu ie de 8 bi i a conversiei semnalelor analogice
de intrare. Ieirea circuitului de eantionare-memorare este conectat la intrarea
316

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

convertorului A/D, ce func ioneaz dup metoda aproxima iilor succesive.


Tensiunea de referin poate fi selectat prin software fie ca fiind tensiunea de
alimentare (VDD), fie ca fiind tensiunea aplicat pinului RA3/AN3/VREF.

Fig. 9.8 Configura ia modulului de conversie A/D.

Convertorul A/D se distinge prin aceea c este capabil s func ioneze


chiar dac microcontroller-ul se g sete n modul de operare SLEEP. Pentru
aceasta, ceasul de conversie A/D tebuie ob inut din oscilatorul RC intern.
Modulul A/D dispune de trei registre. Aceste registre sunt:
A/D Result Register (ADRES);
A/D Control Register 0 (ADCON0);
A/D Control Register 1 (ADCON1).
Registrul de control ADCON0 comand i coordoneaz func ionarea
modulului A/D.
Registrul de control ADCON1 permite configurarea func iilor pinilor
portului. Pinii pot fi configura i ca intr ri analogice (RA3 poate, de asemenea, fi
configurat a surs de tensiune de referin ) sau ca intr ri/ieiri digitale.
Registrul ADRES con ine rezultatul conversiei A/D. Atunci cnd s-a
ncheiat procesul de conversie A/D, rezultatul este transferat n registrul
ADRES, bitul GO/DONE (ADCON0<2>) este resetat iar indicatorul de
ntrerupere A/D, bitul ADIF, este setat.
n urma configur rii dup necesit i a modulului A/D, trebuie selectat
canalul de intrare nainte de declanarea unui proces de conversie. Canalele de
intrare analogice trebuie s aib bi ii corespunz tori TRIS selecta i ca intr ri.
Dup expirarea timpului de eantionare poate fi demarat un proces de
conversie A/D. Pentru efectuarea unei conversii analog-digitale trebuie
ndeplini i urm torii pai:
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

317

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

Fig. 9.9 Organigrama de efectuare a conversiei A/D.

1. configurarea modulului A/D:


configurarea pinilor intr ri analogice / referin a de tensiune / intr riieiri digitale (ADCON1);
selectarea canalului analogic de intrare (ADCON0);
selectarea ceasului de conversie A/D (ADCON0);
activarea modulului A/D (ADCON0);
2. configurarea nteruperilor A/D (op ional):
resetarea bitului ADIF;
setarea bitului ADIE;
setarea bitului GIE;
3. respectarea timpului de eantionare;
4. Start conversie:
setarea bitului GO/DONE (ADCON0);
5. ateptarea sfritului conversiei A/D, fie:
polling pentru ca bitul GO/DONE s fie resetat, sau
318

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

ateptarea unei ntreruperi;


6. citirea rezultatului conversiei n registru rezultat (ADRES), resetarea
bitului ADIF (dac este necesar);
7. pentru urm toarea conversie, napoi la pasul 1 sau 2, dup cum este
necesar. Timpul de conversie pe bit este definit ca TAD. Pentru
nceperea unui nou proces de conversie este necesar un interval de
timp de ntrziere de minim 2TAD.

9.2.7.1 SPECIFICA II PENTRU ACHIZI IA A/D


Pentru ca o conversie analog-digital s fie caracterizat de precizia
specificat , este necesar ca s i se permit condensatorului de memorare (CHOLD)
nc rcarea complet pn la valoarea tensiunii aplicate canalului analogic de
intrare. Modelul analogic al intr rii este prezentat n fig. 9.10. Impedan a sursei
de semnal (RS) i rezisten a intern a comutatorului din circuitul de eantionarememorare (RSS) afecteaz n mod nemijlocit timpul de nc rcare al
condensatorului de memorare, CHOLD. Rezisten a intern a comutatorului, RSS,
variaz n func ie de tensiunea de alimentare VDD. Impedan a sursei de semnal
afecteaz decalajul de tensiune a intr rii analogice (datorit curentului de
pierderi).
Impedan a maxim recomandat a sursei analogice de semnal este de
10 k. Dup selectarea canalului analogic de intrare, trebuie s expire timpul de
eantionare calculat pe baza elementelor mai sus men ionate i, abia dup
aceasta, poate fi declanat un proces de conversie A/D.
Nota 1: Valoarea tensiunii de referin
timpului de eantionare.

(VREF) nu are efect asupra

Nota 2: Condensatorul de memorare (CHOLD) nu se descarc complet


dup efectuarea unei conversii.
Nota 3: Impedan a maxim recomandat a sursei analogice de semnal
este de 10 k, fiind impus de respectarea recomand rilor privind
curentul de pierderi.
Nota 4: Dup ncheierea unei conversii A/D, este necesar o ntrziere
de minimum 2,0 TAD nainte de renceperea unui ciclu de achizi ie. Pe
durata acestui timp, condensatorul de memorare nu este conectat la
canalul de intrare selectat.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

319

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

Fig. 9.10 Configura ia canalelor analogice de intrare.

9.2.7.2 PARTICULARIT I DE UTILIZARE A CIRCUITULUI


DE CONVERSIE ANALOG-DIGITAL A
MICROCONTROLLER-ULUI PIC16C71
Sec iunea de conversie analog digital a PIC16C71 este uor de setat i
de utilizat. n continuare se prezint cteva considera ii i recomand ri generale
asupra acestui subiect.
1. Se alege drept referin de tensiune fie tensiunea de alimentare VDD fie
o surs de referin extern , VREF.
Atunci cnd se utilizeaz o surs de tensiune de referin extern ,
trebuie avut n vedere ca valorile analogice ale tensiunilor de intrare nu
trebuie s dep easc VREF. O cale economic i pu in costisitoare de a
genera o tensiune de referin VREF const n utilizarea unei diode
Zener (fig. 9.11a). Majoritatea diodelor Zener uzuale asigur o precizie
de 5%. Curen ii de polarizare invers pot fi de valori foarte reduse
(10A). Cu toate acestea, se recomand utilizarea unor curen i de
polarizare invers de valori mai mari (1 mA ... 20 mA) din
considerente de stabilitate, precum i pentru a se asigura o impedan
de ieire mai mic a sursei de tensiune de referin VREF.
n cazul aplica iilor sensibile la varia ia tensiunii de alimentare,
utilizatorul poate comanda sursa de tensiune de referin VREF utiliznd
un alt pin de intrare/ieire (fig. 9.11b): comandnd la nivel logic '1'
pinul RB1, de exemplu, atunci cnd se utilizeaz sec iunea de
320

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

conversie A/D sau comandnd la nivel logic '0' pinul RB1 atunci cnd
nu este utilizat convertorul A/D. Trebuie men ionat faptul c n aceast
situa ie pinul RB1 nu func ioneaz n regim three-state. Chiar dac
VREF va nregistra valori intermediare, aceasta nu va determina ca
buffer-ul de intrare al pinului RB1 s absoarb curent. Ca variant , pot
fii utiliza i unul dintre pinii RA0, RA1 sau RA2 pentru a asigura curent
n loc de pinul RB1. Pinul RA utilizat trebuie configurat ca pin
analogic (aceasta va dezactiva buffer-ul s u digital de intrare).

a) Tensiune de referin ob inut cu


diod Zener.

b) Tensiune de referin comandat prin


intermediul pinului RB1.

c) Tensiune de referin comandat prin


intermediul unui pin RA.

d) Sc derea impedan ei de ieire a


sursei de tensiune de referin .

Fig. 9.11 Sursa de referin extern .


SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

321

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

n momentul actual exist numeroase surse de tensiune de referin


integrate, caracterizate de o precizie sensibil mai ridicat dect cea a
diodelor Zener (tabelul 9.1).
Tabelul 9.1 Diode Zener i surse de tensiune de referin
Tipul diodei Zener
1N746
1N747
1N748
1N749
1N750
1N751
1N752
Referin e de tensiune
AD580 (Maxim)
LM385
LM1004
LT1009 (LIN. Tech.)
LT1019 (LIN. Tech.)
LT1021 (LIN. Tech.)
LT1029 (LIN. Tech.)

Tensiunea VZ
3,3V
3,6V
3,9V
4,3V
4,7V
5,1V
5,6V
Tensiunea VREF
2,5V
2,5V
2,5V
2,5V
5,0V
5,0V
5,0V

Toleran a
5%
5%
5%
5%
5%
5%
5%
Toleran a
3% 0,4%
1,5%
1,2%
0,2%
0,2%
0,05% 1%
0,2% 1%

Ideal, sursa de tensiune de referin VREF trebuie s fie caracterizat


de o impedan de ieire ct mai redus posibil. Conform fig. 9.11a,
impedan a sursei de tensiune de referin VREF este aproximativ egal
cu R. Dac se micoreaz valoarea lui R (pentru micorarea
impedan ei sursei de tensiune de referin ) se constat o creterea
consumului. Deoarece sursa de tensiune de referin VREF este utilizat
pentru nc rcarea re elei de condensatoare care st la baza func ion rii
convertorului A/D i a condensatorului de memorare (CHOLD51 pF),
trebuie s se asigure urm toarele condi ii:
TAD = 6(1k + R)51,2 pF+ 1,677 s
n care TAD reprezint perioada ceasului de conversie A/D. Pentru
TAD=2s; CHOLD = 50 pF, rezult VREF 50.
Dac impedan a sursei de tensiune de referin VREF este mai mare
dect valoarea calculat anterior, atunci perioada ceasului de conversie
A/D (TAD) trebuie m rit n mod corespunz tor.
n tabelul 9.2 sunt prezentate cteva exemple referitor la rata
maxim de conversie pe bit corelat cu impedan a sursei de tensiune
de referin .

322

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Tabelul 9.2 Rata maxim de conversie pe bit


Impedan a sursei de referin
1k
5k
10k
50k
100k

TAD (max)
2,29 s
3,52 s
5,056 s
16,66 s
32,70 s

Pentru a ob ine o impedan mai sc zut a sursei de tensiune de


referin dect prin utilizarea unei diode Zener, se recomand utilizarea
unui repetor de tensiune (fig. 9.11d).
Doi dintre bi ii registrului ADCON1, anume PCFG1 i PCFG0,
controleaz modul de configurare a pinilor RA3:RA0.
Ori de cte ori unul dintre aceti pini este configurat ca analogic:
buffer-ul digital de intrare al pinului este dezactivat pentru
reducerea curentului de intrare. Opera ia de citire a portului va
interpreta ca '0' valoarea pinului corespunz tor;
bitul TRIS va continua s comande buffer-ul de ieire al acestui
pin. Astfel, n mod normal, bitul TRIS va fi setat (intrare);
dac bitul TRIS va fi resetat, atunci pinul corespunz tor va furniza
la ieire con inutul latch-ului de date.
Ori de cte ori unul dintre aceti pini vor fi comanda i ca fiind
digitali:
intrarea analogic este conectat direct la convertorul A/D i, n
concluzie, pinul poate fi utilizat ca intrare analogic ;
buffer-ul digital de intrare nu este dezactivat.
Astfel, utilizatorul dispune de fexibilitate n configurarea acestor
pini.
Se selecteaz frecven a ceasului de conversie A/D (TAD): 2TOSC,
8TOSC, TOSC or TRC (ceas RC intern). Pentru primele trei op iuni este
recomandat ca durata conversiei TAD 2,0 s. Dac este necesar un
timp de conversie riguros determinat, se recomand selectarea TOSC ca
baz de timp. Dac este necesar efectuarea unor conversii A/D pe
durata SLEEP, se recomand selectarea TRC ca baz de timp.
2. Selectarea canalului: dac se dorete efectuarea unor achizi ii A/D
monocanal, registrul ADCON1 trebuie programat cu valoarea 03h.
Aceast opera ie configureaz pinii A/D ca pini de I/O digital . Dac
se dorete efectuarea unor achizi ii A/D multicanal, nainte de
declanarea fiec rei conversii este necesar selectarea canalului
corespunz tor.
3. Eantionarea i conversia: dup selectarea unui nou canal analogic,
este necesar un timp minim de eantionare nainte de pozi ionarea
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

323

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

bitului GO/DONE din ADCON0 pentru declanarea unei conversii


A/D. Odat demarat un proces de conversie, se poate selecta urm torul
canal, ns eantionarea nu se efectueaz dect dup ncheierea
conversiei curente. De aceea, este ntotdeauna necesar asigurarea
timpului minim de eantionare:
i) dup sfritul unei conversii;
ii) dup selectarea unui nou canal analogic;
iii) dup activarea facilit ilor de conversie A/D (bitul ADON=1);
4. Citirea rezultatului: ncheierea procesului de conversie A/D poate fi
identificat fie prin polling pe bitul GO/DONE (resetat), fie prin
polling pe indicatorul ADIF (setat), fie ateptnd o cerere de
ntrerupere ADIF.
n plus:
a) Nu se recomand setarea bi ilor GO/DONE i ADON n cadrul
aceleiai instruc iuni. n primul rnd, se seteaz (activeaz )
func ionarea convertorului A/D prin setarea bitului ADON. Ulterior
trebuie s se asigure un timp de eantionare de minim 5 s nainte de
declanarea procesului de conversie (setarea bitului GO/DONE).
b) ntreruperea unui ciclu de conversie aflat n desf urare: O conversie
A/D poate fi ntrerupt prin resetarea bitului GO/DONE. Convertorul
A/D i va nceta func ionarea i va reveni n starea de eantionare.

Fig. 9.12 Diagrama temporal pentru configurarea i achizi ia A/D.

c) Se recomand utilizarea registrului ADRES ca registru dedicat:


convertorul A/D scrie n registrul ADRES doar la sfritul procesului
de conversie. Cu toate acestea este posibil utilizarea registrului
ADRES ca un registru de transfer ntre dou conversii succesive sau
atunci cnd convertorul A/D este dezactivat.
324

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

n urm toarele patru exemple se prezint secven e de cod pentru


manipularea modulului de conversie A/D din cadrul PIC16C71.
Achizi ie monocanal
; InitializeAD, initializeaza si seteaza nucleul hardware A/D.
; Se utilizeaza doar canalul ch2, cu oscilator RC.
InitializeAD
bsf
STATUS, 5
; selecteaza Bank1
movlw
b'00000000'
; selecteaza RA3-RA0
movwf
ADCON1
; ca intrari analogice
bcf
STATUS, 5
; selecteaza Bank0
movlw
b'11010001'
; selecteaza RC osc, ch2...
movwf
; activeaza A/D
ADCON0
; timp de esantionare
Convert call
sample-delay
;
; start conversie A/D
bsf
ADCON0, 2
loop
; conversie A/D gata?
btfsc
ADCON0, 2
; nu, atunci polling
goto
loop
; da, citeste valoarea A/D
movf
adres, w

Achizi ie multicanal, n mod ciclic


; InitializeAD, initializeaza si seteaza nucleu hardware A/D.
; Selecteaza ch0 pana la ch3 circular, oscilator RC intern.
; Incarca rezultate la 4 adrese consecutive incepand cu
; ADTABLE (10h)
;
InitializeAD
bsf
STATUS, RP0
; selecteaza Bank1
movlw
b'00000000'
; selecteaza RA3-RA0
movwf
ADCON1
; ca intrari analogice
bcf
STATUS, RP0
; selecteaza Bank0
movlw
b'11000001'
; selecteaza: RC osc, ch0...
movwf
ADCON0
; activeaza A/D
movlw
ADTABLE
; fsr pozitionat la ...
movwf
FSR
; inceputul tabelei
;
new_ad
call
sample_delay
; timp esantionare
bsf
ADCON0, GO
; start conversie A/D
; conversie A/D gata?
loop
btfsc
ADCON0, GO
goto
loop
; nu, polling
;
movf
adres, w
; da, citeste valoare A/D
movwf
0
; incarcare indirecta
movlw
4
; selecteaza canal urmator
addwf
ADCON0
; /
bcf
ADCON0, ADIF
; reset indicator intrerupere
; incrementeaza pointer corectie offset tabela.
clrf
temp
; sterge registru temporar
btfsc
ADCON0, CH50
; test lsb canal selectat
temp, 0
; set daca ch1 selectat
bsf
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

325

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR


btfsc
bsf
movlw
addwf
movwf
goto

ADCON0, CH51
temp, 1
ADTABLE
temp, w
FSR
new_ad

;
;
;
;
;

test msb canal selectat


/
adresa tabelei
aduna cu temp
muta indirect la ...

Manipularea ntreruperilor A/D


org
goto
org
goto
;
;
start

0x00
start
0x04
service_ad

; vector intrerupere

org 0x10
movlw
movwf
tris

b'00000000'
PORT_B
PORT_B

call

InitializeAD

bcf
call
bcf
bsf
bsf

flag, adover
SetupDelay
ADCON0, adif
ADCON0, go
INTCON, gie

; initializare porturi I/O

;
update
;
;
;
;
;

reset software flag A/D


delay >= 10uS.
reset A/D flag intrerupere
start conversie A/D
activare globala intreruperi

loop
btfsc
flag, adover
; conversie A/D gata?
goto
update
; da, start noua conversie
goto loop
; nu, verifica
; InitializeAD, initializeaza si seteaza nucleul hardware A/D.
; Selecteaza ch0 - ch3, oscilator RC, intreruperi A/D.
InitializeAD
bsf
STATUS, RP0
; selecteaza Bank1
movlw
b'00000000'
; selecteaza RA0-RA3...
movwf
ADCON1
; ca intrari analogice
bcf
STATUS, RP0
; selecteaza Bank0
clrf
INTCON
; sterge toate intreruperile
bsf
INTCON, ADIE
; activeaza intrerupere A/D
movlw
b'11010001'
; selecteaza: RC, ch2...
movwf
ADCON0
; activeaza convertor A/D
return
;
service_ad
btfss
ADCON0, ADIF
; intrerupere A/D?
retfie
; nu, atunci ignora
movf ADRES, W
; citeste valoare A/D
return
; nu activez intreruperi

Efectuarea conversiei A/D n modul sleep


; InitializeAD, initializeaza si seteaza nucleul hardware A/D.
; Selecteaza ch0 - ch3, oscilator RC intern.
326

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
; In cursul unei conversii initiaza modul sleep.
; Aceasta va minimiza interferentele si zomotele digitale.
; Oscilatorul RC al A/D trebuie folosit obligatoriu
; in aceasta situatie.
;
InitializeAD
bsf
STATUS, RP0
; selecteaza Bank1
movlw
b'00000000'
; selecteaza RA0-RA3...
movwf
ADCON1
; ca intrari analogice
bcf
STATUS, RP0
; selecteaza Bank0
; selecteaza osc RC, ch0...
movlw
b'11000001'
; activeaza A/D si ADIE
movwf
ADCON0
movlw
ADTABLE
; fsr pointeaza la inceputul...
movwf
FSR
; tabelei
;
new_ad
bsf ADCON0, GO
; start conversie A/D
sleep
; mod sleep
; la terminarea conversiei programul continua din acest punct
;
movf
ADRES, w
; citeste valoarea A/D

9.3 CARACTERISTICI CONSTRUCTIVE. TESTARE I


CALIBRARE EASY SCOPE
Osciloscopul digital Easy Scope este construit pe circuit imprimat dublu
placat. Toate componentele prezentate n cadrul schemei electrice sunt
amplasate pe cablaj, pe o singur fa (fa a cu componente sau plantat ).
Rezisten ele utilizate pentru implementarea divizoarelor de intrare, precum i
cele care intr n componen a amplificatoarelor sumator-substractor sunt cu
toleran e reduse (0,1%), asigurnd precizia impus acestui echipament. Sunt
prev zute condensatoare de filtrare a surselor de tensiune de alimentare. Intr rile
sunt prev zute cu mufe BNC cu plantare pe circuitul imprimat pentru a se
realiza compatibilizarea deplin cu sondele de osciloscop existente.
n ceea ce privete punerea n func iune a osciloscopului, s-au urm rit
urm toarele etape:
circuitul imprimat a fost echipat cu toate componentele pasive, mufele
BNC de intrare, mufele de alimentare, mufa pentru interconectare cu
portul paralel al calculatorului;
au fost montate cele dou stabilizatoare de tensiune integrate LM7805
(+5V) i LM7905 (-5V) i a fost alimentat montajul. Au fost m surate
cu un voltmetru digital tensiunile de la ieirile stabilizatoarelor de
tensiune integrate (5V) i tensiunile de alimentare ale capsulei TL084
(9V);
s-a m surat cu un voltmetru digital tensiunea de pe cursorul
poten iometrului multitur R3 i acest tensiune a fost ajustat la
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

327

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

328

valoarea de 2,3V;
n urma verific rii corectitudinii tensiunilor din cadrul schemei, s-a
ntrerupt alimentarea i s-a montat pe soclul corespunz tor circuitul
TL084 (amplificator opera ional cuadruplu). S-a alimentat montajul.
Intr rile canalelor A i B au fost conectate la mas i s-au verificat
tensiunile de la ieirile circuitelor de condi ionare a semnalelor
(+2,5V). A fost reajustat tensiunea de referin (tipic 2,3V) pentru a
se ob ine la intrarea convertorului A/D din microcontroller tensiunea
de 2,5V n cazul aplic rii unor tensiuni de intrare nule (cod de ieire
A/D 7FH);
s-a decuplat alimentarea i a fost montat pe soclu i circuitul
PIC16C71 programat n mod corespunz tor (codul surs n limbaj de
asamblare este prezentat n capitolul 6);
se cupleaz osciloscopul Easy Scope la portul paralel al calculatorului
utiliznd un cablu paralel, cu lungime maxim de 1,8m, cu mufe
DB25M la ambele capete;
se alimenteaz osciloscopul Easy Scope i se ruleaz programul
EasyScope.exe de pe PC;
n urma apel rii programului EasyScope.exe pentru prima dat exist
posibilitatea apari iei unui mesaj indicnd absen a unui fiier de
configurare. Este un mesaj normal la rularea pentru prima dat a
aplica iei. Pentru continuare se apas orice tast i apare un meniu de
op iuni. Selectarea op iunilor se face prin utilizarea tastelor func ionale
F1...F10. Se selecteaz op iunea F8: CONFIGURE. Se selecteaz
portul paralel la care este conectat osciloscopul (LPT1 sau LPT2), prin
utilizarea tastelor 1 sau 2 urmate de ENTER. Urmeaz selectarea
culorii liniilor de reprezentare pentru canalele A i B, precum i
culoarea grid-ului. Se introduc culorile dorite sub form numeric .
Aceste atribute ale reprezent rii grafice pot fi modificate ulterior
oricnd. Selectarea acestor op iuni va determina generarea unui fiier
de configurare. Ulterior, s-a selectat op iunea F1 - DVM mode. Acest
program va afia un heading, citirea A/D pentru canalul B i apoi gama
tensiunilor (2,4, 6 or 12), citirea A/D n hex i tensiunea m surat
pentru canalul A. Se scurtcircuiteaz intrarea canalului A la mas
pentru a ob ine tensiunea de 0,0V la intrare. Se selecteaz gama de
2,4V prin intermediul comutatorului SW1. Se ajusteaz
poten iometrul R3 (dac mai este necesar) pn cnd valoarea citit pe
canalul A este stabil i are valoarea 7FH i tensiunea citit este 0,0V.
Dac se scurtcircuiteaz intrarea canalului B la mas , citirea
convertorului A/D pentru acest canal va fi tot 7FH. Se testeaz
func ionarea convertorului A/D pentru fiecare canal prin conectarea
intr rilor la o baterie. Valoarea citit trebuie s se modifice conform

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

tensiunii de la bornele bateriei. n acest moment testarea i calibrarea


osciloscopului Easy Scope a fost efectuat cu succes.

9.4 DESCRIEREA MEN


NIIULUI APLICA IEI EASYSCOPE
Pe durata calibr rii osciloscopului digital Easy Scope a fost utilizat modul
de lucru DVM (op iunea F1), aa ca n cele ce urmeaz nu mai sunt necesare
explica ii suplimentare referitoare la acest mod de lucru.

EASYSCOPE
F1 - DVM mode
F2 - SCOPE mode : SINGLE Channels 1
F3 - TRIGGER level : 0.00
F4 - TRIGGER slope : +
F5 - TRIGGER position : 4/8
F6 - ACQUISITION period : 100 uS Frequency 10.00 KHz
F7 - ACQUIRE
F8 - CONFIGURE
F9 - DISPLAY DATA BUFFER
F10 - Exit
Fig. 9.13 Panoul aplica iei EASYSCOPE.

Op iunea F2 selecteaz modul de func ionare al Easy Scope:


CONTINUOUS, SINGLE sau NORMAL. Se selecteaz , de asemenea, num rul
canalelor de intrare active (1= A, 2 = A&B). n modul CONTINUOUS,
osciloscopul va eantiona n mod continuu semnalele de intrare i va actualiza
afiarea, f r a utiliza op iunea trigger. n modul SINGLE, osciloscopul va
achizi iona i afia un singur eantion al semnalelor de intrare utiliznd triggerul.
n modul NORMAL, osciloscopul va achizi iona i va afia datele utiliznd
trigger-ul, ca un osciloscop analogic.
Op iunea F3 permite setarea nivelului tensiunii de trigger.
Op iunea F4 permite setarea polarit ii trigger-ului ca + sau -.
Op iunea F5 permite selectarea pozi iei trigger-ului n cadrul datelor
achizi ionate n incremente de 1/8. Valoarea of 0/8 semnific faptul c toate
datele afiate sunt ulterioare semnalului de trigger, ca n cazul unui osciloscop
analogic. Valoarea 3/8 semnific faptul c 3/8 dintre datele afiate sunt
achizi ionate nainte de semnalul de trigger iar restul de 5/8 sunt achizi ionate
dup acest semnal.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

329

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

Op iunea F6 permite setarea perioadei de achizi ie n s.


Op iunea F7 starteaz modul osciloscop, datele fiind afiate grafic n
cadrul ecranului. Pentru ieirea dim modul de lucru DVM sau ACQUIRE se
utilizeaz tasta ESC.

Fig. 9.14 Vizuzlizarea buffer-ului de date.

Easy Scope reprezint un instrument ieftin i flexibil, oferind


utilizatorului ansa s lucreze cu un Digital Storage Oscilloscope pentru o
frac iune nesemnificativ din pre ul unui osciloscop uzual.

330

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

9.5 CODUL SURS N LIMBAJ DE ASAMBLARE AL


MICROCONTROLLER-ULUI PIC16C71 PENTRU
OSCILOSCOPUL DIGITAL EASY SCOPE
;
;
;

EASY SCOPE rev 1.0 RGB 19/04/2000


Fisirer sursa PIC16C71 pentru EASY SCOPE

list P=16C71
#include
"P16CXX.INC"
__FUSES
_XT_OSC&_WDT_OFF&_CP_OFF
timecnt
equ 10h
temp_w
equ 11h
temp_status
equ 12h
head
equ 13h
poweron
equ 14h
temp_fsr
equ 15h
tmp
equ 16h
mode
equ 17h
org
goto
org

0
start
4

movwf
swapf
movwf
movf
movwf
btfsc
goto
bsf
movf
movwf
incf
andlw
movwf
xorwf
btfsc
goto
movf
movwf
movf
movwf
bcf
bcf
movf
movwf
swapf
movwf
swapf
swapf
retfie

temp_w
STATUS,W
temp_status
FSR,w
temp_fsr
mode,0
int2
ADCON0,GO
timecnt,w
TMR0
head,w
2fh
head
FSR,w
STATUS,Z
overflow
head,w
FSR
ADRES,w
INDF
INTCON,INTF
INTCON,T0IF
temp_fsr,w
FSR
temp_status,w
STATUS
temp_w,f
temp_w,w

int:

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

331

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR


int2:
btfsc
goto
bcf
bsf
goto

mode,1
int3
ADCON0,CHS0
mode,1
int4

bsf
bcf
nop
nop

ADCON0,CHS0
mode,1

int3:

int4:
nop
nop
nop
nop
nop
nop
movf
movwf
incf
andlw
movwf
xorwf
btfsc
goto
movf
movwf
movf
movwf
bsf
bcf
bcf
movf
movwf
swapf
movwf
swapf
swapf
retfie
overflow:
movf
movwf
swapf
movwf
swapf
swapf
return
start:
bcf
movlw
movwf
movlw
movwf
bsf
332

timecnt,w
TMR0
head,w
2fh
head
FSR,w
STATUS,Z
overflow
head,w
FSR
ADRES,w
INDF
ADCON0,GO
INTCON,INTF
INTCON,T0IF
temp_fsr,w
FSR
temp_status,w
STATUS
temp_w,f
temp_w,w
temp_fsr,w
FSR
temp_status,w
STATUS
temp_w,f
temp_w,w
STATUS,RP0
1fh
PORTA
00fh
PORTB
STATUS,RP0

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
movlw
movwf
movlw
movwf
movlw
movwf
movlw
movwf
bcf
movlw
xorwf
btfsc
goto
movlw
movwf
movlw
movwf
start1:
btfsc
goto
btfsc
goto
diag:
bsf
bsf
bsf
bsf
bsf
nop
nop
bcf
bcf
bcf
bcf
bcf
goto
adcona:
btfsc
goto
movlw
movwf
goto
adconb:
movlw
movwf
adconc:
btfsc
goto
bsf
adconc1:
btfsc
goto
movf
movwf
movwf

02h
ADCON1
01h
OPTION_REG
1bh
TRISA
0f0h
TRISB
STATUS,RP0
5ah
poweron,w
STATUS,Z
start1
0a7h
timecnt
5ah
poweron
PORTB,7
scope0
PORTA,4
adcona
PORTA,2
PORTB,0
PORTB,1
PORTB,2
PORTB,3
PORTA,2
PORTB,0
PORTB,1
PORTB,2
PORTB,3
diag
PORTB,6
adconb
81h
ADCON0
adconc
89h
ADCON0
PORTA,3
adconc
ADCON0,GO
ADCON0,GO
adconc1
ADRES,w
PORTB
tmp

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

333

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR


bcf
nop
nop
adconc2:
btfss
goto
bsf
swapf
movwf
adcon2a:
btfsc
goto
bcf
nop
nop
adcon3:
btfss
goto
bsf
goto
scope0:
btfsc
goto
tbit:
bcf
bsf
btfsc
goto
bcf
goto
tbitab:
bsf
tbitac:
btfsc
goto
bcf
goto
tbitae:
bsf
tbitaf:
clrf
tbit0:
btfsc
goto
btfsc
bsf
bcf
nop
nop
tbit0a:
btfss
goto
bsf
tbit1:
btfsc
334

PORTA,2

PORTA,3
adconc2
PORTA,2
tmp,w
PORTB
PORTA,3
adcon2a
PORTA,2

PORTA,3
adcon3
PORTA,2
adconc
PORTB,6
scope1
PORTB,3
PORTB,2
PORTB,4
tbitab
PORTB,0
tbitac
PORTB,0
PORTB,5
tbitae
PORTB,1
tbitaf
PORTB,1
tmp
PORTA,3
tbit0
PORTB,7
tmp,0
PORTA,2

PORTA,3
tbit0a
PORTA,2
PORTA,3

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
goto
btfsc
bsf
bcf
nop
nop
tbit1a:
btfss
goto
bsf
tbit2:
btfsc
goto
btfsc
bsf
bcf
nop
nop
tbit2a:
btfss
goto
bsf
tbit3:
btfsc
goto
btfsc
bsf
bcf
nop
nop
tbit3a:
btfss
goto
bsf
tbit4:
btfsc
goto
btfsc
bsf
bcf
nop
nop
tbit4a:
btfss
goto
bsf
tbit5:
btfsc
goto
btfsc
bsf
bcf
nop
nop
tbit5a:

tbit1
PORTB,7
tmp,1
PORTA,2

PORTA,3
tbit1a
PORTA,2
PORTA,3
tbit2
PORTB,7
tmp,2
PORTA,2

PORTA,3
tbit2a
PORTA,2
PORTA,3
tbit3
PORTB,7
tmp,3
PORTA,2

PORTA,3
tbit3a
PORTA,2
PORTA,3
tbit4
PORTB,7
tmp,4
PORTA,2

PORTA,3
tbit4a
PORTA,2
PORTA,3
tbit5
PORTB,7
tmp,5
PORTA,2

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

335

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR


btfss
goto
bsf
tbit6:
btfsc
goto
btfsc
bsf
bcf
nop
nop
tbit6a:
btfss
goto
bsf
tbit7:
btfsc
goto
btfsc
bsf
bcf
nop
nop
tbit7a:
btfss
goto
bsf
movf
movwf
bcf
tbitm:
btfsc
goto
btfsc
bsf
bcf
nop
nop
tbitma:
btfss
goto
bsf
goto
scope1:
movlw
movwf
movlw
movwf
movwf
bcf
clrf
bsf
bsf
bsf
movf
336

PORTA,3
tbit5a
PORTA,2
PORTA,3
tbit6
PORTB,7
tmp,6
PORTA,2

PORTA,3
tbit6a
PORTA,2
PORTA,3
tbit7
PORTB,7
tmp,7
PORTA,2

PORTA,3
tbit7a
PORTA,2
tmp,w
timecnt
mode,0
PORTA,3
tbitm
PORTB,7
mode,0
PORTA,2

PORTA,3
tbitma
PORTA,2
tbit
81h
ADCON0
20h
head
FSR
mode,1
TMR0
INTCON,T0IE
INTCON,GIE
ADCON0,GO
timecnt,w

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
movwf

TMR0

loop:
movf
loopa:
xorwf
btfsc
goto
movf
movwf
loop1:
btfsc
goto
bcf
swapf
loop3:
btfss
goto
bsf
movwf
loop4:
btfsc
goto
bcf
incf
andlw
loop5:
btfss
goto
bsf
movwf
goto
end

FSR,w
head,w
STATUS,Z
loop
INDF,w
PORTB
PORTA,3
loop1
PORTA,2
INDF,w
PORTA,3
loop3
PORTA,2
PORTB
PORTA,3
loop4
PORTA,2
FSR,w
2fh
PORTA,3
loop5
PORTA,2
FSR
loopa

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

337

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR

9.6 CODUL SURS N LIMBAJ C PENTRU OSCILOSCOPUL


DIGITAL EASY SCOPE
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <graphics.h>
#define F1 0x3b00
#define F2 0x3c00
#define F3 0x3d00
#define F4 0x3e00
#define F5 0x3f00
#define F6 0x4000
#define F7 0x4100
#define F8 0x4200
#define F9 0x4300
#define F10 0x4400
#define MINPERIOD 20
#define MAXPERIOD 267
#define RESETPIN 0x20
#define MODEAPIN 0x08
#define MODEBPIN 0x10
#define MODECPIN 0x40
#define REQPIN 0x80
#define ACKPIN 0x08
unsigned char data[1024],buf[1024];
unsigned char lookup[256];
int dataport=0x278,statusport=0x279,portval;
int first=0,last=1023,ch1color=14,ch2color=13,gridcolor=7;
int smode=0,channels=0,trigslope=1,trigpos=4,period=100,acqrange=0,easyrev=0;
float voltrange=2.4,triglevel=0.0,acqrate=10000.0,
main()
{
int c,i;
for(i=0;i<1024;i++)buf[i]=(((i%256)<128)?i:256-i);
makelookup(lookup);
rdconfig();
for(;;){
clrscr();
printf("\n\t\tEASYSCOPE Rev 1.0\n\n");
printf("\t\t(C) COPYRIGHT 2000 A&C\n");
printf("\t\tAll Rights Reserved\n");
easyrev=(getconfig()>>6)&0x03;
printf("\t\tEASYSCOPE REV %x\n\n",easyrev);
printf("\t\tF1 - DVM mode\n");
printf("\t\tF2 - SCOPE mode : %s Channels %d\n",
smode?(smode==1?"SINGLE":"NORM"):"CONTINOUS",channels+1);
printf("\t\tF3 - TRIGGER level : %5.2f\n",triglevel);
printf("\t\tF4 - TRIGGER slope : %s\n",trigslope?"+":"-");
printf("\t\tF5 - TRIGGER position : %d/8\n",trigpos);

338

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
printf("\t\tF6 - ACQUISITION period : %3d uS Frequency %5.2f KHz\n"
,period,acqrate*0.001);
printf("\t\tF7 - ACQUIRE\n");
printf("\t\tF8 - CONFIGURE\n");
printf("\t\tF9 - DISPLAY DATA BUFFER\n");
printf("\t\tF10 - exit\n");
c=bioskey(0);
switch(c){
case F1:
dvm();
break;
case F2:
channels++;
channels &=0x01;
if(!channels)smode++;
if(smode>2)smode=0;
break;
case F3:
printf("Enter trigger level in volts :");
scanf("%f",&triglevel);
break;
trigslope++;
case F4:
trigslope &=0x01;
break;
case F5:
trigpos++;
trigpos &=0x07;
break;
case F6:
if(easyrev==2){
do{
printf("select acquisition range Standard/Low (S/L)\n");
c=getch()&0xdf;
}while((c!='S')&&(c!='L'));
}
if(c=='L'){
printf("enter acqusition period in uS (1600 - 17088) :");
scanf("%d",&period);
i=period/64;
if((i<MINPERIOD)||(i>MAXPERIOD))
i=100;
period=i*64;
acqrange=1;
}
else {
printf("enter acqusition period in uS (25 - 267) :");
scanf("%d",&period);
if((period<MINPERIOD)||(period>MAXPERIOD))
period=100;
acqrange=0;
i=period;
}
acqrate=1000000.0/(double)period;
c=configeasy(267-i);
voltrange=(c==0x30?12.0:(c==0x10?6.0:2.4));
break;
case F7:
scope();
break;
case F8:
configure();
break;
case F9:
display();
break;
case F10:
exit(0);
}
}

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

339

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR


}
makelookup()
{
int i,data,tmp;
for(i=0;i<256;i++){
switch(i&0xc0){
case 0x00:
case 0x40:
case 0x80:
case 0xc0:
}
data=i&0x3f;
data |=tmp;
switch(i&0x0c){
case 0x00:
case 0x04:
case 0x08:
case 0x0c:

tmp=0x40;
break;
tmp=0xc0;
break;
tmp=0x00;
break;
tmp=0x80;
break;

tmp=0x04;
break;
tmp=0x0c;
break;
tmp=0x00;
break;
tmp=0x08;
break;

}
data &=0xf3;
data |=tmp;
lookup[i]=data;
}
}
datain(unsigned char buf[],int pre,int post,int trig,int slope)
{
int data,data1,i=0,timeout=0,lasttrig=0,triggered=0;
int t;
if(trig== -1)triggered=1;
while(post){
outportb(dataport,0x7f);
for(timeout=0;timeout<32766;timeout++)
if(0==((data=inportb(statusport))&ACKPIN))break;
data >>=4;
if(timeout==32766)return(-1);
outportb(dataport,0xff);
for(timeout=0;timeout<32766;timeout++)
if((inportb(statusport)&ACKPIN))break;
while(!(inportb(statusport)&ACKPIN));
outportb(dataport,0x77);
if(timeout==32766)return(-1);
for(timeout=0;timeout<32766;timeout++)
if(!((data1=inportb(statusport))&ACKPIN))break;
while((data1=inportb(statusport))&ACKPIN);
outportb(dataport,0xff);
if(timeout==32766)return(-1);
data |=(data1&0xf0);
data=lookup[data];

340

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
buf[i++]=data;
i &=0x3ff;
if(pre)pre--;
else{
if(triggered)post--;
else {
if(slope){
if(data>trig){
if(lasttrig)triggered=1;
}
else lasttrig=1;
}
else {
if(data<trig){
if(lasttrig)triggered=1;
}
else lasttrig=1;
}
}
}
while(!(inportb(statusport)&ACKPIN));
for(timeout=0;timeout<32766;timeout++)
if((inportb(statusport)&ACKPIN))break;
if(timeout==32766)return(-1);
}
return(i);
}
datain2(unsigned char buf[],int pre,int post,int trig,int slope)
{
int data,data1,i=0,timeout=0,lasttrig=0,triggered=0;
int t;
if(trig== -1)triggered=1;
while(post){
outportb(dataport,0x7f);
for(timeout=0;timeout<32766;timeout++)
if(0==((data=inportb(statusport))&ACKPIN))break;
data >>=4;
if(timeout==32766)return(-1);
outportb(dataport,0xff);
for(timeout=0;timeout<32766;timeout++)
if((inportb(statusport)&ACKPIN))break;
while(!(inportb(statusport)&ACKPIN));
outportb(dataport,0x77);
if(timeout==32766)return(-1);
for(timeout=0;timeout<32766;timeout++)
if(!((data1=inportb(statusport))&ACKPIN))break;
while((data1=inportb(statusport))&ACKPIN);
outportb(dataport,0xff);
if(timeout==32766)return(-1);
data |=(data1&0xf0);
data=lookup[data];
buf[i++]=data;
i &=0x3ff;
if(pre)pre--;
else{
if(triggered)post--;
else if(i&0x01){
if(slope){

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

341

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR


if(data>trig){
if(lasttrig)triggered=1;
}
else lasttrig=1;
}
else {
if(data<trig){
if(lasttrig)triggered=1;
}
else lasttrig=1;
}
}
}
while(!(inportb(statusport)&ACKPIN));
for(timeout=0;timeout<32766;timeout++)
if((inportb(statusport)&ACKPIN))break;
if(timeout==32766)return(-1);
}
return(i);
}
int configeasy(int count)
{
int mask,ret,endmask=0x200;
outportb(dataport,0xd0);
delay(100);
outportb(dataport,0xf0);
delay(5);
ret=lookup[inportb(statusport)];
printf("configeasy ret %02x\n",ret);
getch();
count &=0xff;
if((channels)&&(ret&0xc0))count |=0x100;
else channels=0;
if(ret&0x80){
if(acqrange)count |=0x200;
endmask=0x400;
}
for(mask=0x01;mask<endmask;mask <<=1){
if(count&mask){
outportb(dataport,0xf0);
outportb(dataport,0x70);
}
else {
outportb(dataport,0xe0);
outportb(dataport,0x60);
}
while(inportb(statusport)&ACKPIN);
outportb(dataport,0xf0);
while(!(inportb(statusport)&ACKPIN));
}
outportb(dataport,0xf0);
return(ret);
}
int getconfig()
{
outportb(dataport,0xd0);
delay(100);

342

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
outportb(dataport,0xf0);
delay(5);
return(lookup[inportb(statusport)]);
}
dvm()
{
int ad,con,ad1;
float val;
clrscr();
printf("EASY SCOPE\n");
printf("Digital Voltmeter Mode\n\n");
for(;;){
con=getconfig();
ad=getad0();
ad1=getad1();
con &=0x30;
if(con==0x30)val=(ad-127)*0.09375;
if(con==0x10)val=(ad-127)*0.046875;
if(con==0x20)val=(ad-127)*0.01875;
printf("Ch 2 %02x Ch 1 Range %5.2f A/D reading %02x Voltage %6.2f\r",
ad1,con==0x30?12.0:(con==0x10?6.0:2.4),ad,val);
if(kbhit()){if(getch()==27)break;}
}
}
int getad0()
{
int val;
outportb(dataport,portval=MODECPIN|REQPIN);
delay(100);
outportb(dataport,portval |=RESETPIN);
delay(1);
outportb(dataport,portval & ~REQPIN);
while(inportb(statusport)&ACKPIN);
val=inportb(statusport)>>4;
outportb(dataport,portval);
while(!(inportb(statusport)&ACKPIN));
outportb(dataport,portval & ~REQPIN);
while(inportb(statusport)&ACKPIN);
val |=inportb(statusport)&0xf0;
outportb(dataport,portval);
val=lookup[val];
return(val);
}
int getad1()
{
int val;
outportb(dataport,portval=MODECPIN|MODEAPIN|REQPIN);
delay(100);
outportb(dataport,portval |=RESETPIN);
delay(1);
outportb(dataport,portval & ~REQPIN);
while(inportb(statusport)&ACKPIN);
val=inportb(statusport)>>4;

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

343

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR


outportb(dataport,portval);
while(!(inportb(statusport)&ACKPIN));
outportb(dataport,portval & ~REQPIN);
while(inportb(statusport)&ACKPIN);
val |=inportb(statusport)&0xf0;
outportb(dataport,portval);
val=lookup[val];
return(val);
}
scope()
{
int gdriver=VGA,gmode=VGAHI,errorcode;
int j,w,i,position,pre,post,c,cold,trigad,pass=0;
char linebuf[128];
configeasy(267-period);
c=cold=getconfig()&0x30;
voltrange=(c==0x30?12.0:(c==0x10?6.0:2.4));
if(smode)trigad=triglevel/voltrange*127.0+127;
else trigad= -1;
if((trigad>253)||(trigad<2))trigad= -1;
pre=(640*trigpos)/8+1;
post=640-pre+1;
errorcode=registerbgidriver(EGAVGA_driver);
if(errorcode<0){
printf("graphics error: %s\n",grapherrormsg(errorcode));
printf("press any key\n");
getch();
return(0);
}
initgraph(&gdriver,&gmode,"");
errorcode=graphresult();
if(errorcode != grOk){
printf("graphics error: %s\n",grapherrormsg(errorcode));
printf("press any key\n");
getch();
return(0);
}
setcolor(15);
setwritemode(COPY_PUT);
cleardevice();
setfillstyle(EMPTY_FILL,0);
sprintf(linebuf," EASY SCOPE");
w=textwidth(linebuf);
bar(319-w/2,5,319+w/2,textheight(linebuf)+5);
outtextxy(319-w/2,5,linebuf);
sprintf(linebuf,"MODE %s X: %6.3f ms/div Y: %5.2f V/div",
smode?((smode==1)?"sing":"norm"):"cont",(float)period*40.0/1000.0,
voltrange/4.0);
w=textwidth(linebuf);
outtextxy(319-w/2,18,linebuf);
setcolor(gridcolor);
for(position=0;position<640;position +=40)
line(position,479,position,30);
for(i=479;i>30;i -=32)line(0,i,639,i);
line(639,479,639,30);
do {
outportb(dataport,~RESETPIN);
delay(100);
outportb(dataport,0xff);
while((inportb(statusport)&0x10)==0);

344

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
if(channels)j=datain2(data,pre,post,trigad,trigslope);
else j=datain(data,pre,post,trigad,trigslope);
if(j== -1){
closegraph();
printf("Data Underrun Error reduce acquistion rate - press any key\n");
getch();
return(-1);
}
for(i=639;i>=0;i--){
buf[i]=(data[j]);
j--;
if(j<0)j=1023;
}
if(pass){
c=getconfig()&0x30;
if(c!=cold){
cold=c;
voltrange=(c==0x30?12.0:(c==0x10?6.0:2.4));
sprintf(linebuf,"MODE %s X: %6.3f ms/div Y: %5.2f V/div",
smode?((smode==1)?"SING":"NORM"):"CONT",(float)period*40.0/1000.0,
voltrange/4.0);
w=textwidth(linebuf);
setcolor(15);
bar(319-w/2,18,319+w/2,textheight(linebuf)+18);
outtextxy(319-w/2,18,linebuf);
}
bar(0,29,639,479);
setcolor(gridcolor);
for(position=0;position<640;position +=40)
line(position,479,position,30);
for(i=479;i>30;i -=32)line(0,i,639,i);
line(639,479,639,30);
for(position=0;position<640;position +=40){
for(i=195;i>66;i -=16)putpixel(position,i,1);
}
}
for(i=0;i<640;i++){
if(channels&&(i&0x01))putpixel(i,478-buf[i],ch2color);
else putpixel(i,286-buf[i],ch1color);
}
pass=1;
if(kbhit())break;
}while(smode!=1);
getch();
closegraph();
return(0);
}
display()
{
int gdriver=VGA,gmode=VGAHI,errorcode;
int j,w,i,position,pre,post,c,cold,trigad,pass=0;
char linebuf[128];
smode=1;
errorcode=registerbgidriver(EGAVGA_driver);
if(errorcode<0){
printf("graphics error: %s\n",grapherrormsg(errorcode));
printf("press any key\n");
getch();
return(0);

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

345

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR


}
initgraph(&gdriver,&gmode,"");
errorcode=graphresult();
if(errorcode != grOk){
printf("graphics error: %s\n",grapherrormsg(errorcode));
printf("press any key\n");
getch();
return(0);
}
setcolor(15);
setwritemode(COPY_PUT);
cleardevice();
setfillstyle(EMPTY_FILL,0);
sprintf(linebuf,"EASY SCOPE");
w=textwidth(linebuf);
bar(319-w/2,5,319+w/2,textheight(linebuf)+5);
outtextxy(319-w/2,5,linebuf);
sprintf(linebuf,"MODE %s X: %6.3f ms/div Y: %5.2f V/div",
smode?((smode==1)?"sing":"norm"):"cont",(float)period*40.0/1000.0,
voltrange/4.0);
w=textwidth(linebuf);
outtextxy(319-w/2,18,linebuf);
setcolor(gridcolor);
for(position=0;position<640;position +=40)
line(position,479,position,30);
for(i=479;i>30;i -=32)line(0,i,639,i);
line(639,479,639,30);
for(i=0;i<640;i++){
if(channels&&(i&0x01))putpixel(i,478-buf[i],ch2color);
else putpixel(i,286-buf[i],ch1color);
}
getch();
closegraph();
return(0);
}
rdconfig()
{
FILE *fp;
char line[128];
int i;
if((fp=fopen("EASYSCII.CFG","rt"))==NULL){
clrscr();
printf("Can NOT open config file - Using DEFAULTS - Press any key\n");
dataport=0x278;
statusport=dataport+1;
getch();
return(0);
}
fgets(line,128,fp);
sscanf(line,"%x",&dataport);
statusport=dataport+1;
fgets(line,128,fp);
sscanf(line,"%d",&ch1color);
fgets(line,128,fp);
sscanf(line,"%d",&ch2color);
fgets(line,128,fp);
sscanf(line,"%d",&gridcolor);
fclose(fp);
}
info()

346

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
{
clrscr();
printf("\n\n\n\t\t\tEASY SCOPE\n");
printf("\n\t\t\tA&C 2000\n");
getch();
}
int configure()
{
int cal,c;
FILE *fp;
printf("Select port LPT1 (378) or LPT2 (278) or LPT3 (3BC) (1/2/3) :");
do{
c=getch();
}while((c!='1') && (c!='2') && (c!=3));
if(c=='1')dataport=0x378;
else if(c=='2')dataport=0x278;
else dataport=0x3bc;
printf("\nSelect channel 1 color (1-15) :");
scanf("%d",&ch1color);
printf("Select channel 2 color (1-15) :");
scanf("%d",&ch2color);
printf("Select grid color (1-15) :");
scanf("%d",&gridcolor);
if((fp=fopen("EASYSCII.CFG","wt"))==NULL){
clrscr();
printf("CAN NOT OPEN CONFIG FILE - PRESS ANY KEY\n");
getch();
return(0);
}
fprintf(fp,"%x\n",dataport);
fprintf(fp,"%d\n",ch1color);
fprintf(fp,"%d\n",ch2color);
fprintf(fp,"%d\n",gridcolor);
fclose(fp);
statusport=dataport+1;
easyrev=(getconfig()>>6)&0x03;
printf("complete - press any key\n");
getch();
}
file()
{
int c,i;
FILE *fp;
char file[128],dummy[496];
clrscr();
for(i=0;i<496;i++)dummy[i]=0;
printf("\n\t\t\tRGB LOGIC ANALYZER FILE MENU\n");
printf("\n\t\t\tF1 - SAVE DATA FILE\n");
printf("\t\t\tF2 - LOAD DATA FILE\n\n");
printf("\t\t\tF10 - CANCEL\n\n");
c=bioskey(0);
switch(c){
case F1: printf("\t\t\tenter file name : ");
scanf("%s",file);
if((fp=fopen(file,"wb"))==NULL){
printf("CAN NOT OPEN FILE - PRESS ANY KEY");
getch();
return(0);
}
fwrite(&masterclock,sizeof(masterclock),1,fp);

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

347

IMPLEMENTAREA UNUI INSTRUMENT DE VIZUALIZARE A SEMNALELOR


fwrite(&clockrate,sizeof(clockrate),1,fp);
fwrite(&trigger,sizeof(trigger),1,fp);
fwrite(&dontcare,sizeof(dontcare),1,fp);
fwrite(&triglength,sizeof(triglength),1,fp);
fwrite(&first,sizeof(first),1,fp);
fwrite(&last,sizeof(last),1,fp);
fwrite(dummy,sizeof(dummy[0]),496,fp);
fwrite(dbuf,sizeof(dbuf[0]),8192,fp);
fclose(fp);
break;
case F2: printf("\t\t\tenter file name : ");
scanf("%s",file);
if((fp=fopen(file,"rb"))==NULL){
printf("CAN NOT OPEN FILE - PRESS ANY KEY");
getch();
return(0);
}
fread(&masterclock,sizeof(masterclock),1,fp);
fread(&clockrate,sizeof(clockrate),1,fp);
fread(&trigger,sizeof(trigger),1,fp);
fread(&dontcare,sizeof(dontcare),1,fp);
fread(&triglength,sizeof(triglength),1,fp);
fread(&first,sizeof(first),1,fp);
fread(&last,sizeof(last),1,fp);
fread(dummy,sizeof(dummy[0]),496,fp);
fread(dbuf,sizeof(dbuf[0]),8192,fp);
fclose(fp);
break;
case F10: return(0);
}
}

348

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

10. TRADUCTOR INTELIGENT PENTRU


M SURAREA NIVELULUI
Tematica propus n cadrul acestui capitol const n cercetarea i
proiectarea unui echipament pentru determinarea nivelului lichidelor depozitate
n vase sta ionare la presiune joas , denumit NIVELMETRU CU
ULTRASUNETE.
Determinarea nivelului lichidului n vas se bazeaz pe m surarea
intervalului de timp ntre momentul emisiei unei unde ultrasonice dirijate
perpendicular pe suprafa a lichidului de c tre un senzor specializat amplasat la
partea superioar a vasului, ntr-o pozi ie determinat , i momentul recep iei de
c tre acesta a undei reflectate. Dat fiind c temperatura mediului n care se
propag unda sonor afecteaz timpul de propagare, se impune corec ia acestuia.
n acest scop se amplaseaz n vecinat tea senzorului ultrasonic un senzor de
temperatur .
Scopul echipamentului const n determinarea nivelului lichidului n vas
i a temperaturii n punctul de amplasare a senzorului ultrasonic, putnd fi
utilizat n aplica ii industriale care necesit determinarea nivelului lichidului, n
limitele condi iilor de lucru impuse de traductorul ultrasonic utilizat.
Caracteristicile echipamentului de m surare a nivelului includ:
m surarea i afiarea nivelului lichidului din vas i a temperaturii n
punctul de amplasare a senzorului;
semnalizarea (alarmare) la atingerea unor m rimi programate: nivel
maxim i nivel minim;
posibilitatea de conectare a echipamentului la un calculator ierarhic
superior, printr-o leg tur serial RS-232, n vederea unor prelucr ri
ulterioare a informa iilor prelevate din proces;
furnizarea unui semnal unificat de curent propor ional cu nivelul
lichidului n vas.
Parametrii tehnici ai echipamentului de m surare sunt:
domeniul de m surare a nivelului: (800...6000)mm;
precizia de m surare a nivelului: 4 mm;
rezolutia de m surare a nivelului: 1 mm;
precizia de m surare a temperaturii: 10C;
temperatura mediului de lucru: (-20...+100)0C;
temperatura de operare: (-20...+70)0C.
Noile aplica ii n domeniul automatiz rilor industriale sunt definite de un
grad nalt de inteligen , ceea ce permite adoptarea de noi algoritmi de
func ionare, att n prelucrarea i transmiterea informa iilor, ct i n conducerea
proceselor.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

349

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

Tema propus se ncadreaz n eforturile de introducere n produc ia de


serie de noi tipuri de traductoare inteligente, cu referire la m surarea nivelului.
Performan ele impuse prin tem , ct i solu iile tehnice adoptate justific
ncadrarea nivelmetrului cu ultrasunete n clasa traductoarelor inteligente.
Gradul de inteligen este determinat de func iile traductorului i anume:
1. Programarea regimurilor de func ionare:
domeniul de m surare a nivelului;
limitele de alarmare, superioar i inferioar , a valorii nivelului;
valorea zonei de insensibilitate la semnalizarea ieirii din limite;
2. Protec ie la accesul neautorizat pentru programarea regimurilor de
func ionare prin utilizarea unei parole de acces;
3. Utilizarea unei tastaturi func ionale pentru programarea regimurilor de
func ionare i pentru introducerea parolei de acces;
4. Afiarea pe un display alfanumeric cu cristale lichide a valorilor
programate i a parametrilor m sura i;
5. Asigurarea func ion rii n clasa de exactitate impus , n condi iile
modific rii valorii temperaturii mediului ambiant;
6. Transmiterea a dou comenzi de alarmare, la atingerea unor valori
critice ale nivelului lichidului n vas;
7. Transmiterea unui semnal unificat de curent propor ional cu nivelul
lichidului;
8. Transmiterea pe o linie serial a datelor prelevate din proces c tre un
calculator ierarhic superior, ceea ce este necesar n sistemele de
conducere sau monitorizare a proceselor tehnologice, n monitorizarea
unor sisteme n ecologie i n cercet ri pe sta tii pilot.

10.1 PREZENTAREA HARDWARE A TRADUCTORULUI


INTELIGENT DE NIVEL
Schema func ional a traductorului inteligent de nivel cuprinde
urm toarele module.
Unitatea Central de Prelucrare. Unitatea Central de Prelucrare
permite programarea prin intermediul unei tastaturi, memorarea ntr-o
memorie nevolatil i vizualizarea pe un afiaj cu cristale lichide a
regimurilor de func ionare alese de c tre operatorul uman dup
confirmarea unei parole, efectuarea calculelor necesare ndeplinirii
func iilor principale ale aparatului i pentru asigurarea comunica iei cu
un calculator ierarhic superior;
Celula de m surare a nivelului. Celula de m surare a nivelului, referit
n continuare ca senzor de ultrasunete, are rolul de a emite un fascicol
de ultrasunete i de a recep iona unda reflectat . Comanda emisiei se
350

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

face de c tre unitatea central de prelucrare, care primete de la celula


de m surare i semnalul determinat de c tre unda reflectat ;
Senzorul de temperatur . Senzorul de temperatur servete pentru
ob inerea unui semnal privind valoarea temperaturii mediului ambiant,
valoare care este utilizat n calcule pentru corec ia cu temperatura a
informa iei de nivel;
Interfa a serial de comunica ii. Interfa a serial de comunica ie
permite transmiterea informa iilor rezultate din procesul de m surare a
nivelului i temperaturii, la un calculator superior ierarhic, utilizat
pentru conducerea sau monitorizarea unui proces tehnologic;
Modulul de alarmare / semnalizare. Modulul de alarmare / semnalizare
transmite n exterior dou comenzi asociate cu atingerea unor valori
critice, programabile, a nivelului lichidului n vas: Limita Superioar i
Limita Inferioar ;
Modulul pentru semnal unificat. Modulul pentru semnal unificat
transmite n exterior un semnal unificat de curent, propor ional cu
nivelul lichidului n vas;
Modul pentru tensiuni de alimentare.
Traductorul de nivel este compatibil cu aparatura din sistemele unificate
de automatizare, prin furnizarea unui semnal unificat standardizat i prin
utilizarea standardului de comunicatie pe linii seriale RS-232.
Modulul surselor de alimentare con ine:
SURSA DE ALIMENTARE +5V:
Utilizare:
alimentarea unit ii centrale de prelucrare;
alimentarea unitatii de afiare alfanumeric ;
alimentarea tastaturii;
alimentarea circuitului de intrare a optocuplorului;
SURSA DE ALIMENTARE +24V:
Utilizare:
alimentarea senzorului de nivel cu ultrasunete;
alimentarea traductorului de nivel (daca se utilizeaz );
alimentarea traductorului de temperatur ;
Alimentarea circuitelor de alarmare.
SURSELE DE ALIMENTARE +15V i -15V
Utilizare:
alimentarea generatorului de curent (4...20)mA;

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

351

RELAY
UNIT

RELAY
UNIT

DIGITAL
FILTER
UNIT

NSA
UNIT

NIA
UNIT

ULTRASONIC
SENSOR

LOCAL LCD DISPLAY

TEMPERATURE SENSOR

CT0I

LOCAL KEYBOARD
+5V

Q
LCD
11,0592 MHz CONNECTOR

CT1I

XTAL1
P4.0 .. P4.7

RESET

PROGRAMARE
UP
DOWN
VALIDARE

OUT 8..15
CONNECTOR

IN 0..7
CONNECTOR

LATCH
74HCT374 OE

XTAL2

LE

AD0 .. AD7

S0

OE

P4.0 .. P4.7

MICROCONTROLLER
RD
WR

AD0 .. AD7

RAM

AD0 .. AD7

DATA

RS-232

To PC

MAX232

f/I Converter
4..20 mA

PWM0

I/U Converter
0,5..4 V

ADC 0..1

74HCT373

TxD
RxD

LATCH

AD0 .. AD7

OE

LE

A0.. A7

A0 ..A14

ADR
WR
RD

CS

A0 ..A14
ADR

A15

KM62256

ALE

EPROM
DATA

A15

A15
CS
RD
27C256

PWM 0..1
74HCT08

PSEN

ADC0
ADC1

BUFFER
74HCT244

S3

S2

P5.0 .. P5.7
A8 .. A15

A8 .. A15

A0 .. A15

A0 .. A15
A5
.
.
A7

C 80C552
74HCT08

A8
A15

DCD
A..C
G1
G2A
G2B

0
1
2
3
4
5
6
7

74HCT138

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

Fig. 10.1 Schema bloc a nivelmetrului cu ultrasunete.

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

Circuitule de control ale senzorului de nivel cu ultrasunete


(varianta cu ieire logic ).
Circuitul de comand a emisiei fascicolului ultrasonic este organizat n
jurul unui tranzistor n montaj open-colector, comandat n baz de semnalul
AX8 (extensie port ieire output high). Semnalul de comand a tranzistorului

352

COMMAND
UNIT

ELECTRONIC APLICAT

este i comanda de start pentru contorul de evenimente CT1 prin semnalul CT0I.
Circuitul de recep ie a semnalului reflectat este organizat n jurul unui
tranzistor n montaj EC. Semnalul CT1I, cules n colectorul tranzistorului, este
semnalul de stop pentru contorul de evenimente.
Generatorul pentru semnal unificat n curent
n vederea prelucr rii exterioare a informa iei de nivel, este prevazut i o
ieire pentru semnal unificat n curent (4...20)mA.
n acest scop se utilizeaz un generator de curent comandat de unul din
canalele cu ieire modulat n durat , prin semnalul PWM0.
Din considerente de protec ie aceast sec iune este separat galvanic de
restul circuitelor, prin utilizarea unei surse de alimentare dedicate i izolat optic
pe calea circuitului de comand .
Generaratorul pentru semnal unificat n curent este un convertor tensiune
(0...5)V / curent (4...20)mA.
Tensiunea de comand se ob ine, dup filtrare, din semnalul PWM0 (un
tren de impulsuri modulate n durat , cu frecven a de 10KHz), aplicate la
intrarea convertorului prin intermediul unui optocuplor comandat la intrare prin
intermediul unui tranzistor.
Circuitele de conversie curent / tensiune
Exist dou astfel de circuite. Acestea convertesc un semnal de curent
unificat n domeniul (4...20)mA ntr-un semnal de tensiune n domeniul (1...5)V,
n vederea prelucr rii ulterioare n sec iunea anlogic a unit ii de control la care
se conecteaz prin semnalele ADC0 i respectiv ADC1.
Constructiv, aceste circuite de conversie simuleaz o rezisten
echivalent de 250 cu o precizie de 0,1%.
Primul circuit este rezervat conect rii unui traductor de nivel cu ieire n
curent, ca solu ie alternativ la utilizarea senzorului cu ieire logic , iar cel de al
doilea conect rii unui traductor de temperatur . Ambele traductoare sunt
alimentate de la sursa +24V.
Alimentarea convertorului analog / digital
Terminalele de alimentare sunt AVDD conectat la sursa +5V i AVSS
conectat la masa sistemului.
Pentru ob inerea tensiunilor de referin s-a utilizat un circuit specializat
LM 336-5V, avnd o bun precizie i stabilitate termic .
Tensiunea de referinta REF+ (+5V) se ob ine direct la bornele referin ei,
iar REF- (+1V) se ob ine pe cursorul unui semireglabil.
Circuite de alarmare
Sunt prev zute dou circuite de alarmare, activate la atingerea unor nivele
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

353

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

critice programabile.
Circuitele sunt controlate la intrare de semnalele AX9 i respectiv AX10
(portul de ieire output high), care prin intermediul unor tranzistoare comand
dou releele.
Ieirea circuitului Alarmare Superioar este constituit de perechea de
contacte N.I./N.D. a releului K1.
Ieirea circuitului Alarmare Inferioar este constituit de perechea de
contacte N.I./N.D. a releului K2.
Simulator pentru senzorul de ultrasunete
n lipsa senzorului ultrasonic, a fost utilizat un circuit de simulare a
acestuia. Circuitul introduce o ntrziere reglabil n domeniul (0...45)ms, pe
calea de la circuitul de comand a senzorului (semnal AX8) la circuitul de
recep ie (semnal CT1I), simulnd timpul parcurs de fascicolul ultrasonic de la
emi tor la suprafa a tint i napoi.
Circuitul de ntrziere se conecteaz n locul senzorului ultrasonic.
Primul etaj al circuitului, introduce o ntrziere reglabil cu ajutorul unui
poten iometru, n domeniul (0...45)ms. Acesta este un monostabil comandat de
tranzi ia 10 a impulsului de comand (semnalul AX8 inversat).
Al doilea etaj este, de asemenea, un monostabil, comandat de ieirea Q
a primului monostabil la tranzi ia 10 a acesteia. Rezisten a variabil R6
permite ajustarea duratei impulsului cules la ieirea negat a monostabilului,
care comand tranzistorul (n colectorul c ruia se culege semnalul CT1I)
corespunz tor undei reflectate.

10.2 PROGRAMUL DE APLICA II NIV.ASM


Faza de dezvoltare a programului de aplicaie destinat determin rii
n l imii coloanei de lichid dintr-un vas, folosind un senzor cu ultrasunete
conectat la o unitate central de prelucrare cu microcontroller 80C552, a constat
din:
scrierea programului, n limbajul de asamblare al familiei de
microcontroller-e 8051, cu ajutorul unui editor ASCII de texte, ca de
exemplu EDIT.COM din sistemul de operare MS-DOS,
NCEDIT.EXE
din
NORTON
COMMANDER
sau
NOTEPAD.EXE din sistemul de operare WINDOWS (se impune
utilizarea unui editor ASCII pentru a nu se introduce caractere speciale
de control n sursa programului). n sursa programului de aplica ie sunt
declarate n mod explicit resursele suplimentare ale microcontrollerului 80C552 n raport cu 8051, ntr-o sec iune declarativ la nceput
(aceasta sec iune con ine linii de cod n limbaj de asamblare de tip
354

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

ADCON equ 0C5H). Programul surs de aplica ie are numele


NIV.ASM;
asamblarea sursei programului de aplica ie, cu ajutorul asamblorului
A51.EXE, specializat pentru familia de microcontroller-e 8051,
folosind sintaxa:
A51.EXE NIV.ASM

n urma execut rii asambl rii programului surs de aplica ii,


asamblorul A51.EXE genereaz dou fiiere: NIV.LST, un fiier list
ce este destinat localiz rii eventualelor erori rezultate n urma
procesului de asamblare i NIV.OBJ, un fiier de tip obiect, care va fi
folosit n continuare pentru ob inerea formatului executabil;
ob inerea formatului executabil, de tip INTEL HEX, pe baza fiierului
de tip OBJ, folosid programul OHS51.EXE cu sintaxa:
OHS51.EXE NIV.OBJ

Este generat fiierul executabil NIV.HEX ce constituie programul


propriu-zis de aplica ie. Ca orice fiier format HEX, acesta ncepe cu
un header ce con ine num rul de octe i ai programului, adresa la care
este organizat programul (specificat prin directiva ORG n prima
linie), urmat de corpul programului i se ncheie cu o sum de control.
rularea programului NIV.HEX presupune rularea pe un calculator
gazd , de tip PC, a programului monitor al unit ii centrale cu
microcontroller 80C552, denumit MT.EXE, care are n primul rnd
rolul de a stabili comunica ia serial ntre sistemul cu microcontroller
i calculatorul de tip PC. Sintaxa utilizat este urm toarea:
MT.EXE X

n care X=1, 2, 3, 4 specific indicativul portului serial utilizat pentru


comunica ie (1 specific portul serial COM1, 2 specific portul serial
COM2, 3 specific portul serial COM3, 4 specific portul serial
COM4). Dac parametrul X lipsete, este utilizat n mod implicit
portul serial COM1.
Stabilirea comunica iei seriale ntre cele dou sisteme (pe viteza de
9600 bauds, folosind cuvinte de date cu lungimea de 8 bi i, f r
paritate, cu un bit de STOP i protocol XON-XOFF) este indicat prin
apari ia pe display-ul sistemului de calcul a unui mesaj, urmat de
prompter-ul de monitor (caracterul #). n acest stadiu poate fi
transferat c tre sistemul cu microcontroller programul de aplica ie,
NIV.HEX, folosind comanda de up-load F2 i indicnd numele
programului de aplica ie. Urmeaz procesul de up-load, indicat prin
apari ia pe display-ul calculatorului a unei succesiuni de linii, de
lungime constant cu excep ia ultimei, ce ncep cu #:_, i sunt
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

355

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

alc tuite din cte 16 octe i n format hexa (date) plus un octet sum de
control. La terminarea transferului de date pe legatura serial , pe
display-ul calculatorului apare prompter-ul de monitor (caracterul #).
Lansarea n execu ie a programului se execut cu comanda de monitor
GO ADR, n care ADR reprezint adresa la care este organizat
programul n memoria de date a microcontroller-ului, specificat n
prima linie a acestuia prin directiva ORG. n cazul de fa , sintaxa
este urm toarea:
G 8000

n faza ulterioar punerii la punct a programului de aplica ie, acesta va fi


nscris n memoria de program a unit ii centrale de prelucrare cu
microcontroller.
Interconectarea sistemului de calcul cu unitatea central de prelucrare cu
microcontroller este realizat prin intermediul unui cablu serial cu trei fire.

10.2.1 DESCRIEREA PROGRAMULUI DE APLICATIE


NIV.ASM
Programul surs de aplica ie, cu denumirea NIV.ASM, este organizat
modular, sub forma unui corp principal al aplica iei i o colec ie de subrutine.
Acestea reprezint secven e de linii de cod care au o frecven de apari ie mare
n cadrul aplica iei. O astfel de subrutin este apelat cu instruc iunea ACALL
subrutina i se ncheie cu instruc iunea RET pentru a se reveni la pozi ia
imediat ulterioar apel rii acesteia n cadrul programului principal.
n fig. 10.2 este prezentat organigrama general a programului
NIV.ASM.

10.2.1.1 SEC IUNEA DE INI IALIZARE I DECLARATIV


Secven a de linii de cod n limbaj de asamblare ce reprezint programul
principal ncepe cu instruc iunea ORG adresa, specificnd adresa din memoria
de date a microcontroller-ului la care ncepe programul.
n continuare urmeaz declararea tuturor resurselor specifice ale
microcontroller-ului 80C552 (care nu exist n cadrul microcontroller-ului 8051)
utilizate n cadrul aplica iei, cum ar fi:
ADCON - adresa registrului de control al convertorului analog-digital;

356

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Start

Mesaj introductiv
Nivelmetru cu ultrasunete

Rutina citire tastatura

NU

Tasta apasata ?

DA

DA

Tasta validare (#)?

NU

Secventa de
programare

Secventa de
masurare propriu-zisa

Fig. 10.2 Organigrama general a programului NIV.ASM.

ADCH - adresa registrului care con ine octetul cel mai semnificativ al
rezultatului conversiei analog-digitale;
PWMP - adresa registrului de setare a frecven ei de ieire comun
ambelor canale modulate n durat ;
PWM0, PWM1 - adresele registrelor de setare a factorului de umplere
pentru cele dou canale cu ieiri modulate n durat ;
CTH0, CTL0 - adresele registrelor superior, respectiv inferior de
captare a evenimentelor CT0;
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

357

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

CTH1, CTL1 - adresele registrelor superior, respectiv inferior de


captare a evenimentelor CT1;
TMH2, TML2 - adresa octe ilor superior, respectiv inferior ale timerului T2;
TM2CON - adresa registrului de control al timer-ului T2;
CTCON - adresa registrului de control al registrelor de captare a
evenimentelor;
IEN1 - adresa registrului de activare a ntreruperilor asociate
registrelor de captare a evenimetelor i de comparare.
Urmeaz o sec iune introductiv de linii de cod, care ini ializeaz
resursele unit ii centrale cu microcontroller (afiajul cu cristale lichide, canalele
de ieire modulate n durat , portul de ieire de comenzi), afieaz un mesaj
introductiv, afieaz un al doilea mesaj destinat valid rii oper rii echipamentului
de m surare sau de parcurgere a sec iunii de programare a func ion rii.
Ramificarea n cadrul programului este realizat prin citirea tastaturii: dac este
ac ionat tasta de validare (#), atunci se execut un salt n program pn la
sec iunea de m surare (func ionare normal a echipamentului); dac este
ac ionat tasta de programare (*) sau oricare alt tast , se intr n sec iunea de
programare a func ion rii echipamentului de m surare.

10.2.1.2 SEC IUNEA DE PROGRAMARE A PARAMETRILOR


DE FUNC IONARE
n cadrul sec iunii de programare a func ion rii echipamentului de
m surare, accesul este limitat prin validarea unei parole prestabilite: n urma
afi rii unui mesaj de validare a parolei, se ateapt ac ionarea temporizat a
dou taste, avnd drept rezultat un octet mpachetat BCD. Ac ionarea unei taste
se soldeaz cu afiarea a cte unui caracter * pe cea de-a doua linie a afiajului
LCD. Octetul mpachetat BCD este comparat cu parola prestabilit , proprie
echipamentului de m surare. n cazul n care cei doi octe i nu coincid, se
afieaz un mesaj de incorectitudine a parolei, iar programul revine n bucl la
sec iunea de validare a parolei. n cazul coinciden ei celor doi octe i, se afieaz
un mesaj de corectitudine a parolei, iar utilizatorul are acces la sec iunea
efectiv de programare a parametrilor de m surare.
n prima faz , este programat n l imea vasului n care se face
determinarea n l imii coloanei de lichid (H), prin intermediul tastaturii. Se
tasteaz patru cifre de la tastatur , ceea ce conduce la ob inerea a doi octe i
mpacheta i BCD. n paralel se execut i afiarea valorii programate. Cei doi
octe i mpacheta i BCD, reprezentnd n l imea vasului, sunt depui n memoria
de date a unit ii centrale la adresele FF00H i FF01H.
n faza a doua, este programat nivelul superior de alarmare (NSA), prin
358

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

intermediul tastaturii. Se tasteaz patru cifre de la tastatur , ceea ce conduce la


ob inerea a doi octe i mpacheta i BCD. n paralel se execut i afiarea valorii
programate. Cei doi octe i mpacheta i BCD, reprezentnd nivelul superior de
alarmare, sunt compara i cu n l imea vasului, programat n pasul anterior i
depui n memoria de date a unit ii centrale la adresele FF02H i FF03H doar
dac rezultatul sc derii pe 16 bi i (H - NSA) este pozitiv. Dac nivelul superior
de alarmare programat este mai mare dect n l imea vasului, programul revine
n bucl la sec iunea de programare a nivelului superior de alarmare.
n faza a treia, este programat nivelul inferior de alarmare (NIA), prin
intermediul tastaturii. Se tasteaz patru cifre de la tastatur , ceea ce conduce la
ob inerea a doi octe i mpacheta i BCD. n paralel se execut i afiarea valorii
programate. Cei doi octe i mpacheta i BCD, reprezentnd nivelul inferior de
alarmare, sunt compara i cu nivelul superior de alarmare, programat n pasul
anterior i depui n memoria de date a unit ii centrale la adresele FF04H i
FF05H doar dac rezultatul sc derii pe 16 bi i (NSA - NIA) este pozitiv. Dac
nivelul inferior de alarmare programat este mai mare dect nivelul superior de
alarmare, programul revine n bucl la sec iunea de programare a nivelului
inferior de alarmare.
n cea de-a patra faz a sec iunii de programare a parametrilor de
func ionare ai echipamentului este realizat calibrarea generatorului de curent
comandat cu care este echipat sistemul. Aceast calibrare este realizat n dou
etape:
n prima etap , este programat factorul de umplere al ieirii modulate
n durat PWM0 la valoarea FFH, astfel nct la ieire (care este
negat ) se ob ine un nivel zero (0V). Acest nivel este utilizat pentru
calibrarea cap tului inferior de scal a generatorului de curent la
valoarea de 4 mA. Programul ateapt n bucl ac ionarea unei taste; la
ac ionare se trece la cea de-a doua etap ;
n cea de-a doua etap , este programat factorul de umplere al ieirii
modulate n durat PWM0 la valoarea 00H, astfel nct la ieire (care
este negat ) se ob ine un nivel ridicat (+5V). Acest nivel este utilizat
pentru calibrarea cap tului superior de scal a generatorului de curent
la valoarea de 20 mA. Programul ateapt n bucl ac ionarea unei
taste; ac ionarea oric rei taste ncheie sec iunea de programare a
parametrilor de func ionare ai echipamentului;
trebuie men ionat faptul c n cadrul celor dou etape descrise anterior
pentru calibrarea independent a capetelor de scal ale generatorului
de curent, poate fi efectuat i calibrarea circuitelor de intrare cu care
sunt echipate dou dintre cele opt intr ri ale convertorului analogdigital, implementat n structura microcontroller-ului.
n fig. 10.3 este prezentat organigrama sec iunii de programare a
parametrilor de func ionare a echipamentului nivelmetru cu ultrasunete.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

359

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

Start

Mesaj
Validare parola
Citire tastatura
(2 taste)

NU

Parola
corecta ?

Mesaj
Parola incorecta

DA

Mesaj
Parola corecta
Mesaj
Inaltime vas
Citire tastatura
(4 taste)
Afisare
inaltime vas (H)
Memorare
inaltime vas (H)
Mesaj
Nivel superior alarmare
Citire tastatura
(4 taste)

NSA>H
Afisare
nivel superior alarmare
Memorare
nivel superior alarmare
Mesaj
Nivel inferior alarmare
Citire tastatura
(4 taste)
Citire tastatura
(1 tasta)
DA
NU

Tasta apasata ?

NU

DA
Afisare
nivel inferior alarmare
Programare
PWM0=FFH

Memorare
nivel inferior alarmare
Mesaj calibrare
generator de curent

Citire tastatura
(1 tasta)

NU

NIA>NSA

Tasta apasata ?

Programare
PWM0=FFH

DA

End

Fig. 10.3 Organigrama sec iunii de programare a parametrilor de func ionare.

360

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

10.2.1.3 SEC IUNEA DE M SURARE PROPRIU-ZIS


n acest punct, cele dou ramuri - de validare a oper rii normale a
echipamentului, respectiv de programare a parametrilor de func ionare, converg
i se intr n sec iunea de m surare propriu-zis .
Sec iunea de m surare propriu-zis ncepe cu afiarea unui mesaj de
avertizare a faptului c s-a ajuns n sec iunea de m surare, care este men inut
circa 0,5 secunde. Se continu cu ini ializarea sec iunii de captare a
evenimentelor:
sunt dezactivate ntreruperile provenite de la dep irea superioar pe
8/16 bi i a con inutului timer-ului T2, de la registrele de captare a
evenimentelor, de la circuitele de comparare a con inutului timer-ului
T2 cu registrele special prev zute n acest sens;
sunt ini ializate (nc rcate cu 0) registrele CTL0, CTH0, CTL1, CTH1,
TML2, TMH2;
este programat registrul CTCON, astfel nct registrele de captare a
evenimentelor CTI0 i CTI1 s fie activate de fronturile descresc toare
ale impulsurilor externe;
este programat timer-ul T2, prin activarea acestuia, cu dezactivarea
dep irii pe 8/16 bi i, ceasul de num rare fiind constituit de un
oscilator intern cu frecven a 1/12 din frecven a oscilatorului
microcontroller-ului, urmat de un registru de divizare cu 8 a acestui
ceas.
Este, n continuare, activat emi torul senzorului cu ultrasunete prin
bascularea nivel cobort / nivel ridicat a bitului AX8. Frontul cresc tor al
semnalului AX8 determin captarea n registrul CTI0 a con inutului timer-ului
T2 la acest moment de timp. Dup reflexia ultrasunetelor de suprafa a lichidului,
acestea sunt captate de senzor, care emite un semnal de acelai tip cu cel de
activare. Frontul cresc tor al acestui semnal determin captarea con inutului
timer-ului T2 n registrul CTI1. Se determin num rul de impulsuri captate pe
durata emisie-recep ie prin efectuarea diferen ei pe 2 octe i ntre registrele CTI1
i CTI0. Aceast diferen este codificat , urmnd s fie utilizat pentru
determinarea n l imii coloanei de lichid din vas, conform urm toarei rela ii:
CTI1 CTI0 CODIFICARE

N
(10.1)
N MAX N
6 = h
N MAX
n aceast faz de elaborare a programului, codificarea este realizat prin
extragerea bi ilor 118, respectiv 74, ai diferen ei dintre CTI1 i CTI0 i
alc tuirea unui octet (N). Ob inerea n l imii coloanei de lichid din vas se ob ine
conform ecua iei de mai sus, n care N MAX reprezint valoarea octetului de cod
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

361

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

pentru n l imea maxim a vasului, respectiv depinde de tipul de traductor


( N MAX = 127 pentru 6 m). n l imea coloanei de lichid este afiat dup
determinarea cifrelor BCD ale acesteia, utiliznd un algoritm iterativ de
mp r ire la 10. Cele patru cifre BCD ob inute prin acest algoritm sunt
mpachetate n doi octe i codifica i BCD i memorate n memoria de date a
microcontroller-ului la adresele FF006H i FF07H
Cuvntul de date care corespunde n l imii coloanei de lichid,
complementat, adic 2 (N MAX N ) , este folosit pentru programarea factorului
de umplere al impulsurilor de la ieirea modulat n durat PWM0, care
comand generatorul de curent.
Se verific dep irea nivelurilor prestabilite de alarmare (NSA i NIA),
comparnd n l imea coloanei de lichid din vas cu pragurile programate anterior.
Se efectueaz diferen a dintre nivelul superior de alarmare (NSA) i n l imea
coloanei de lichid din vas, iar dac diferen a este negativ (setarea indicatorului
CARRY) se pozi ioneaz pe 1 logic bitul AX9. Se efectueaz diferen a dintre
n l imea coloanei de lichid din vas i nivelul inferior de alarmare (NIA), iar
dac diferen a este negativ (setarea indicatorului CARRY) se pozi ioneaz pe
1 logic bitul AX10. Aceti bi i ai portului de ieire ac ioneaz releele
corespunz toare. Att valorile nivelului superior, ct i inferior de alarmare,
NSA i NIA, sunt citite din memoria de date a microcontroller-ului, de la
adresele specificate anterior.
Urmeaz m surarea temperaturii mediului n care este efectuat
determinarea n l imii coloanei de lichid. Ieirea n curent, de tip unificat (4...20)
mA, a sondei de temperatur este aplicat unui convertor curent-tensiune de tip
unt. Aceast tensiune este aplicat intr rii ADCIN0 a convertorului analogdigital. Conversia este demarat prin software, programnd n registrul ADCON
bitul ADCCON.3 la 1 logic, iar bi ii ADCON.2, ADCON.1, ADCON.0
conform adresei canalului de intrare utilizat (n aceast situa ie, cei trei bi i sunt
programa i la 0 logic). Se ateapt sfritul conversiei analog-digitale, lucru
sesizat prin pozi ionarea n 1 logic a bitului ADCON.4 (se execut de fapt o
verificare n bucl a acestui bit, prin intermediul acumulatorului). Urmeaz
interpretarea rezultatului i afiarea acestuia. Rezultatul conversiei este
transferat n acumulator, este mp r it la 2 pentru a se realiza conversia n
domeniul specificat de temperatur , apoi se ob in cifrele temperaturii printr-un
algoritm de acelai tip ca n cazul determin rii n l imii coloanei de lichid.
Programul execut un salt necondi ionat la secven a de ini ializare a
timer-ului T2, pentru reluarea n bucl infinit a sec iunii de m surare propriuzis . Ieirea din program se poate face doar prin reset-area unit ii centrale cu
microcontroller. Poate fi prev zut , ns , facilitatea de citire a tastaturii dup
fiecare secven de m surare i n cazul ac tion rii tastei de validare (#) s se
ncheie for at execu ia acestuia.
Rutinele scrise i utilizate n cadrul acestei aplica ii sunt:
362

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

subrutina de citire a unei cifre zecimale de la o tastatur matricial cu


trei linii i patru coloane. Rezultatul citirii sub form BCD se afl n
registrul R1;
subrutina de scriere la un port de ieire i de citire de la un port de
intrare, utilizat n cadrul subrutinei de gestionare a tastaturii.
Informa iile sunt vehiculate prin intermediul acumulatorului;
subrutina de scriere ir de caractere la afiajul cu cristale lichide LCD;
subrutina de ntrziere cu 0,5 secunde (0,5sec = (7 instr. NOP x 12
perioade ceas/NOP x 256 x 256)/11,059MHz);
subrutina de conversie hexa-ASCII, utilizat pentru afiarea la LCD.
Sursa i destina ia sunt constituite de acumulator;
subrutina de transmisie la LCD a unui caracter ASCII con inut n
registrul R2;
subrutina de ini ializare LCD. Aceast rutin trimite la LCD comanda
#38H = 0011 1000B. Conform datelor de catalog, acest comand
seteaz urm torii parametri ai afiajului: bitul 5 - definete aceast
comand (function set); bitul 4 (DL-Data Length) = 1 seteaz dialogul
pe 8 bi i ntre procesor i LCD; bitul 3 (N-Number of display lines) = 1
seteaz num rul liniilor afiajului ca fiind 2^N=2; bitul 2 (F-Character
Font) = 0 seteaz forma caracterului ca fiind 5*7 puncte;
subrutina de tergere a afiajului cu cristale lichide i setare a modului
de lucru;
subrutina ce testeaz dac este sau nu posibil transmiterea unui nou
caracter c tre LCD, pe baza informa iilor furnizate de rutina RDCMD.
Se testeaz bitul 7 (BF-Busy Flag) al registrului de stare al LCD. Dac
BF=1, nseamn c LCD efectueaz o opera ie intern i, deci, nu
poate accepta un nou caracter;
subrutina RDCMD selecteaz afiajul i citete din registrul de stare al
LCD starea curent a driver-elor acestuia, informa ie care este depus
n acumulator;
rutina WRCMD scrie o comand la driver-ele de afiaj, n urma
verific rii st rii acestora. Se selecteaz afiajul LCD i comanda
con inut de registrul R2 este transferat driver-elor din LCD;
subrutina WRDAT este identic cu WRCMD, dar este utilizat pentru
scrierea la driver-ele LCD a codului caracterelor ce urmeaz a fi
afiate;
subrutina DELAY, ce realizeaz o ntrziere cu 80 microsecunde,
pentru func ionarea intern a LCD.
n fig. 10.4 este prezentat organigrama sec iunii de m surare propriu-zis
a n l imii coloanei de lichid din vas i a temperaturii. n fig. 10.5 este
prezentat organigrama rutinei de gestionare a tastaturii matriciale cu trei linii i
patru coloane.
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

363

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

Start

Mesaj
Regim masurare
Initializare si programare
timer T2
Activare impuls
iesire AX8
Captare T2
in registrul CTI0
Rutina
intarziere
Calcul
CTI1-CTI0
Codificare si calcul
inaltime coloana (h)
Programare
registru PWM0
Obtinere cifre BCD
inaltime h si afisare

Activare semnal
depasire superioara AX9

DA

Activare semnal
depasire inferioara AX10

DA

h>NSA

NU

NU

h>NSA

Programare
convertor A/D
Citire
registru ADCON

NU

End of
Convertion ?

DA

Citire rezultat
conversie A/D
Codificare si calcul
temperatura
Afisare
temperatura
Citire tastatura
(1 tasta)
Citire tastatura
(1 tasta)

NU

Tasta
validare ?

DA

End

Fig. 10.4 Organigrama sec iunii de m surare propriu-zis .

364

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Start

Programare port iesire


Bit3=1 Bit2=0 Bit1=1 Bit0=1
Delay
Citire port intrare

NU

Tasta apasata ?

DA

Programare port iesire


Bit3=1 Bit2=1 Bit1=0 Bit0=1
Delay
Citire port intrare

NU

Tasta apasata ?

DA
Salvare octet

Programare port iesire


Bit3=1 Bit2=1 Bit1=1 Bit0=0

Mascare biti semnificativi


Determinare cod coloana

Delay

Reconstituire octet

Citire port intrare

Interschimb grup de 4 biti


NU

Tasta apasata ?

DA

Mascare biti semnificativi


Determinare cod linie
Determinare cod tasta

End

Fig. 10.5 Organigrama rutinei de gestionare a tastaturii.


SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

365

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

10.3 PROGRAMUL DE APLICA II NIVOK.ASM


A doua variant a programului surs de aplica ie, cu denumirea
NIVOK.ASM, este organizat modular, sub forma unui corp principal al
aplica iei i o colec ie de subrutine.

10.3.1 SEC IUNEA DE INI IALIZARE I DECLARATIV


Secven a de linii de cod n limbaj de asamblare ce reprezint programul
principal ncepe cu instruc iunea ORG adresa, specificnd adresa din memoria
de date a microcontroller-ului la care ncepe programul.
n continuare urmeaz declararea tuturor resurselor specifice ale
microcontroller-ului 80C552 (care nu exist n cadrul microcontroller-ului 8051)
utilizate n cadrul aplica iei.
Urmeaz o sec iune introductiv de linii de cod, care ini ializeaz
resursele unit ii centrale cu microcontroller (afiajul cu cristale lichide, canalele
de ieire modulate n durat , portul de ieire de comenzi), afieaz un mesaj
introductiv, afieaz un al doilea mesaj destinat valid rii oper rii echipamentului
de m surare sau de parcurgere a sec iunii de programare a func ion rii.
Ramificarea n cadrul programului este realizat prin citirea tastaturii: dac este
ac ionat tasta de validare (ENTER), atunci se execut un salt n program pn
la sec iunea de m surare (func ionare normal a echipamentului); dac este
ac ionat tasta de programare (MODE), se intr n sec iunea de programare a
func ion rii echipamentului de m surare.

10.3.2 SEC IUNEA DE CALIBRARE A GENERATORULUI DE


CURENT
Se intr ntr-un meniu (op ional) destinat calibr rii generatorului de
curent, care afieaz un ecran indicnd opera ia curent . Calibrarea
generatorului de curent este validat prin ac ionarea tastei de programare
(MODE) sau poate fi ocolit prin ac ionarea tastei de validare (ENTER).
Calibrarea generatorului de curent al sistemului necesit reglarea manual a
capetelor de scal (reglajele sunt independente), efectundu-de, de obicei, doar
n faza de realizare a echipamentului de m surare i comportnd dou etape:
n prima etap , este programat factorul de umplere al ieirii modulate
n durat PWM0 la valoarea 00H, astfel nct la ieire (care este
direct ) se ob ine un nivel zero (0V) i se afieaz un ecran care indic
366

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

opera ia curent . Acest nivel este utilizat pentru calibrarea cap tului
inferior de scal a generatorului de curent la valoarea de 4 mA.
Programul ateapt n bucl ac ionarea tastei de validare (ENTER); la
ac ionarea ei se trece la cea de-a doua etap ;
n cea de-a doua etap , este programat factorul de umplere al ieirii
modulate n durat PWM0 la valoarea FFH, astfel nct la ieire (care
este direct ) se ob ine un nivel ridicat (+5V) i se afieaz un ecran
care indic opera ia curent . Acest nivel este utilizat pentru calibrarea
cap tului superior de scal a generatorului de curent la valoarea de 20
mA. Programul ateapt n bucl ac ionarea tastei de validare
(ENTER); ac ionarea ei ncheie sec iunea de calibrare a generatorului
de curent;
trebuie men ionat faptul c n cadrul celor dou etape descrise anterior
pentru calibrarea independent a capetelor de scal ale generatorului
de curent, poate fi efectuat i calibrarea circuitelor de intrare
(convertoare curent-tensiune) cu care sunt echipate dou dintre cele
opt intr ri ale convertorului analog-digital, implementat n structura
microcontroller-ului.
Se afieaz un mesaj destinat selec iei fie a oper rii echipamentului de
m surare, fie de parcurgere a sec iunii de programare a func ion rii. Ramificarea
n cadrul programului este realizat prin citirea tastaturii: dac este ac ionat
tasta de validare (ENTER), atunci se execut un salt n program pn la
sec iunea de m surare (func ionare normal a echipamentului); dac este
ac ionat tasta de programare (MODE), se intr n sec iunea de programare a
func ion rii echipamentului de m surare.

10.3.3 SEC IUNEA DE PROGRAMARE A PARAMETRILOR


DE FUNC IONARE
n cadrul sec iunii de programare a func ion rii echipamentului de
m surare, accesul este limitat prin validarea unei parole prestabilite: n urma
afi rii unui mesaj ce indic ac iunea de introducere a parolei, se ac ioneaz
tastele UP / DOWN pentru configurarea primei cifre a parolei, se valideaz
prima cifr prin ac ionarea tastei de validare, se pozi ioneaz a doua cifr prin
ac ionarea tastelor UP / DOWN, urmat de validarea acesteia i, implicit a
parolei. Configurarea celor dou cifre ale parolei au drept rezultat un octet
mpachetat BCD. Octetul mpachetat BCD este comparat cu parola prestabilit ,
proprie echipamentului de m surare. n cazul n care cei doi octe i nu coincid, se
afieaz un mesaj de incorectitudine a parolei, iar programul revine n bucl la
sec iunea de validare a parolei. n cazul coinciden ei celor doi octe i, se afieaz
un mesaj de corectitudine a parolei, iar utilizatorul are acces la sec iunea
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

367

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

efectiv de programare a parametrilor de m surare.


Aceasta variant de aplica ie utilizeaz valori prestabilite ale parametrilor
globali utiliza i de c tre echipamentul de m surare: n l imea vasului, nivelul
superior de alarmare, respectiv nivelul inferior de alarmare, pentru a se reduce
timpul de programare. Valoarea implicit a n l imii vasului este 6.000 m
(conform specifica iei de proiectare), iar valorile implicite ale nivelurilor de
alarmare reprezint dou treimi, respectiv o treime din n l imea vasului (6.000
m), adic NSA=4.000m iar NIA=2.000m.
n prima faz , este programat n l imea vasului n care se face
determinarea n l imii coloanei de lichid (H), prin intermediul tastaturii. Se
afieaz meniul de programare a n l imii vasului i valoarea implicit a
acesteia. Cursorul este pozi ionat pe prima cifr a n l imii, urmnd modificarea
acesteia, folosind tastele UP / DOWN sau validarea ei, folosind tasta de
validare. Validarea cifrei determin deplasarea cursorului pe cea de-a doua cifr ,
urmat de modificarea sau validarea ei. Opera iile se repet pentru ultimele dou
cifre. Validarea ultimei cifre nseamn i validarea n l imii vasului. Se afieaz
un mesaj de confirmare i se ateapt ac ionarea tastei de programare pentru
reprogramarea n l imii sau tasta de validare pentru a se continua. Validarea
celor patru cifre conduce la ob inerea a doi octe i mpacheta i BCD,
reprezentnd n l imea vasului, ce sunt depui n memoria de date a unit ii
centrale la adresele FF00H i FF01H. n continuare, cei doi octe i mpacheta i
BCD sub forma MSZU (mii-sute-zeci-unit i de milimetru), reprezentnd
n l imea vasului, sunt converti i n binar conform algoritmului:
(MSZU )H (M )H 1000 + (S)H 100 + (Z )H 10 + (U )H
(10.2)
i depui n memorie pentru calculele ulterioare.
n faza a doua, este programat nivelul superior de alarmare (NSA), prin
intermediul tastaturii, folosind un algoritm identic. Cei doi octe i mpacheta i
BCD reprezentnd nivelul superior de alarmare sunt compara i cu n l imea
vasului, programat n pasul anterior i depui n memoria de date a unit ii
centrale la adresele FF02H i FF03H doar dac rezultatul sc derii pe 16 bi i (H NSA) este pozitiv. Dac nivelul superior de alarmare programat este mai mare
dect n l imea vasului, programul revine n bucl la sec iunea de programare a
nivelului superior de alarmare. n continuare, cei doi octe i mpacheta i BCD sub
forma MSZU (mii-sute-zeci-unit i de milimetru), reprezentnd valoarea
nivelului superior de alarmare, sunt converti i n binar conform algoritmului:
(MSZU )NSA (M )NSA 1000 + (S)NSA 100 + (Z)NSA 10 + (U )NSA (10.3)
i depui n memorie pentru calculele ulterioare.
n faza a treia, este programat nivelul inferior de alarmare (NIA), prin
intermediul tastaturii, folosind un algoritm identic. Cei doi octe i mpacheta i
BCD reprezentnd nivelul inferior de alarmare sunt compara i cu nivelul
superior de alarmare, programat n pasul anterior i depui n memoria de date a
unit ii centrale la adresele FF04H i FF05H doar dac rezultatul sc derii pe 16
368

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

bi i (NSA - NIA) este pozitiv. Dac nivelul inferior de alarmare programat este
mai mare dect nivelul superior de alarmare, programul revine n bucl la
sec iunea de programare a nivelului inferior de alarmare. n continuare, cei doi
octe i mpacheta i BCD sub forma MSZU (mii-sute-zeci-unit i de milimetru),
reprezentnd valoarea nivelului inferior de alarmare, sunt converti i n binar
conform algoritmului:
(MSZU )NIA (M )NIA 1000 + (S)NIA 100 + (Z)NIA 10 + (U )NIA
(10.4)
i depui n memorie pentru calculele ulterioare.

10.3.4 SEC IUNEA DE M SURARE PROPRIU-ZIS


n acest punct, cele dou ramuri - de validare a oper rii normale a
echipamentului, respectiv de programare a parametrilor de func ionare, converg
si se intr n sec iunea de m surare propriu-zis .
Sec iunea de m surare propriu-zis ncepe cu afiarea unui mesaj de
avertizare a faptului ca s-a ajuns n sec iunea de m surare, care este men inut
circa 0,5 secunde. Se continu cu ini ializarea sec iunii de captare a
evenimentelor:
sunt dezactivate ntreruperile provenite de la dep irea superioar pe
8/16 bi i a con inutului timer-ului T2, de la registrele de captare a
evenimentelor, de la circuitele de comparare a con inutului timer-ului
T2 cu registrele special prev zute n acest sens;
sunt ini ializate (nc rcate cu 0) registrele CTL0, CTH0, CTL1, CTH1,
TML2, TMH2;
este programat registrul CTCON, astfel nct registrele de captare a
evenimentelor CTI0 i CTI1 s fie activate de fronturile descresc toare
ale impulsurilor externe;
este programat timer-ul T2, prin activarea acestuia, cu dezactivarea
dep irii pe 8/16 bi i, ceasul de num rare fiind constituit de un
oscilator intern cu frecven a 1/12 din frecven a oscilatorului
microcontroller-ului, urmat de un registru de divizare cu 2 a acestui
ceas.
Este, n continuare, activat emi torul senzorului cu ultrasunete prin
bascularea nivel cobort / nivel ridicat a bitului AX8. Primele dou fronturi
crec toare ale semnalului recep ionat de la ieirea senzorului cu ultrasunete sunt
prelucrate n vederea ob inerii a dou semnale diferite: frontul cresc tor al
primului semnal determin captarea n registrul CTI0 a con inutului timer-ului
T2 la acest moment de timp; frontul cresc tor al celui de-al doilea semnal
(ob inut prin recep ionarea ultrasunetelor captate n urma reflexiei pe suprafa a
lichidului) determin captarea con inutului timer-ului T2 n registrul CTI1. Se
determin num rul de impulsuri captate pe durata emisie-recep ie prin
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

369

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

efectuarea diferen ei pe 2 octe i ntre registrele CTI1 i CTI0.


Urmeaz secven a de m surare a temperaturii mediului n care este
efectuat determinarea in l imii coloanei de lichid. Ieirea n curent, de tip
unificat 420 mA, a sondei de temperatur este aplicat unui convertor curenttensiune de tip unt. Aceast tensiune este aplicat intr rii ADCIN0 a
convertorului analog-digital. Conversia este demarat prin software, programnd
n registrul ADCON bitul ADCCON.3 la 1 logic, iar bi ii ADCON.2,
ADCON.1, ADCON.0 conform adresei canalului de intrare utilizat (n aceast
situa ie, cei trei bi i sunt programa i la 0 logic). Se ateapt sfritul conversiei
analog-digitale, lucru sesizat prin pozi ionarea n 1 logic a bitului ADCON.4
(se execut de fapt o verificare n bucl a acestui bit, prin intermediul
acumulatorului). Urmeaz interpretarea rezultatului i afiarea acestuia.
Rezultatul conversiei transferat n acumulator, este mp r it la 2 pentru a se
realiza conversia n domeniul specificat de temperatur (00H pentru temperatura
de -20oC, respectiv 80H pentru temperatura de 108oC). Apoi de ob in cifrele
temperaturii printr-un algoritm de comparare cu valoarea 14H i efectuarea
sc derii (14H - rezultat) pentru afiarea temperaturilor negative, respectiv
(rezultat - 14H) pentru afiarea temperaturilor pozitive i mp r ire 10 pentru
ob inerea cifrelor pentru grade i zeci de grade.
Urmeaz secven a de determinare a nivelului lichidului din vas, conform
algoritmului:
o
%
[ ]
1
mm N T s 1 + 0,17 o C t C

(10.5)
h[mm] = H[mm] v 0
2
s
ms
1000
ms
n care: h reprezint nivelul lichidului din vas, H reprezint valoarea programat
a n l imii vasului, v0 reprezint viteza ultrasunetelor la temperatura de 0oC
m

v 0 = 321,5 , N reprezint num rul de impulsuri captate pe durata emisies

recep ie, T reprezint durata unui ciclu main al microcontroller-ului


1

reprezint coeficientul de
= 1,085s , 0,17 % o
T = 12
C
11,059200MHz

varia ie a vitezei de propagare a ultrasunetelor cu temperatura, iar t reprezint


temperatura mediului ambiant. Toate calculele se efectueaz n binar, cu
rezultatul pe 2 octe i, ceea ce asigur o rezolu ie de m surare a nivelului mai
bun de 1 mm.
n l imea coloanei de lichid este afiat dup determinarea cifrelor BCD
ale acesteia, utiliznd un algoritm iterativ de mp r ire la 10. Cele patru cifre
BCD ob inute prin acest algoritm sunt mpachetate n doi octe i codifica i BCD
i memorate n memoria de date a microcontroller-ului la adresele FF006H i
FF07H.

370

[ ])

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

Cuvntul de date care corespunde n l imii coloanei de lichid, redus la o


valoare pe un octet folosind un algoritm de codificare, este folosit pentru
programarea factorului de umplere al impulsurilor de la ieirea modulat n
durat PWM0, care comand generatorul de curent.
Se verific dep irea nivelurilor prestabilite de alarmare (NSA i NIA),
comparnd n l imea coloanei de lichid din vas cu pragurile programate anterior,
compararea avnd un histerezis de 25 mm. Se efectueaz diferen a dintre
nivelul superior de alarmare (NSA) si n l imea coloanei de lichid din vas, iar
dac diferen a este negativ (setarea indicatorului CARRY) se pozi ioneaz pe
1 logic bitul AX9. Se efectueaz diferen a dintre n l imea coloanei de lichid
din vas i nivelul inferior de alarmare (NIA), iar dac diferen a este negativ
(setarea indicatorului CARRY) se pozi ioneaz pe 1 logic bitul AX10. Aceti
bi i ai portului de ieire ac ioneaz releele corespunz toare. Att valorile
nivelului superior, ct i inferior, de alarmare, NSA i NIA, sunt citite din
memoria de date a microcontroller-ului, de la adresele specificate anterior.
Se citete tastatura local . Daca nu s-a ac ionat nici o tast , programul
execut un salt necondi ionat la secven a de ini ializare a timer-ului T2, pentru
reluarea n bucl a sec iunii de m surare propriu-zis . Dac , ns , s-au ac ionat
simultan (pentru evitarea unei ac ion ri accidentale a tastaturii) tastele de
programare (MODE) i de validare (ENTER), programul execut un salt la
nceputul sec iunii de programare a parametrilor globali de func ionare.
Rutinele specifice scrise i utilizate n cadrul acestei aplica ii sunt:
KEY - subrutina de citire a unei taste de la o tastatur cu o linie i
patru coloane. Rezultatul citirii se afl n acumulator;
INPORT - subrutina de citire de la un port de intrare, utilizat n cadrul
subrutinei de gestionare a tastaturii. Informa iile sunt vehiculate prin
intermediul acumulatorului;
UP - subrutina de incrementare a unei cifre BCD con inut n registrul
R5, folosid tastatura local ;
DOWN - subrutina de decrementare a unei cifre BCD con inut n
registrul R5, folosind tastatura local ;
DKEY1 - subrutina de programare a dou cifre utiliznd tastatura
local , afiarea celor dou cifre la afiajul cu cristale lichide pe
pozi iile 7 i 9 ale celei de-a doua linii i mpachetare ntr-un octet
codificat BCD;
DKEY2 - subrutina de programare a dou cifre utiliznd tastatura
local , afiarea celor dou cifre la afiajul cu cristale lichide pe
pozi iile 10 i 11 ale celei de-a doua linii i mpachetare ntr-un octet
codificat BCD;
SCR - afiarea a patru cifre la afiajul cu cristale lichide pe pozi iile 7,
9, 10 i 11 ale celei de-a doua linii. Cele patru cifre se ob in din doi
octe i codifica i BCD, manipula i prin intermediul registrelor R4 i R5;
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

371

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

SCR1 - afiarea a patru cifre la afiajul cu cristale lichide pe pozi iile


7, 9, 10 i 11 ale primei linii. Cele patru cifre se ob in din doi octe i
codifica i BCD, manipula i prin intermediul registrelor R4 i R5.

10.4 LISTINGUL PROGRAMULUI DE APLICA IE PENTRU


M SURAREA NIVELULUI NIVOK.ASM
; --------------------------; "Nivelmetru cu ultrasunete"
; --------------------------ORG
8000H
; declararea resurselor suplimentare
ADCON equ
0C5H
ADCH equ
0C6H
PWMP equ
0FEH
PWM0 equ
0FCH
PWM1 equ
0FDH
CTH0 equ
0CCH
CTL0 equ
0ACH
CTH1 equ
0CDH
CTL1 equ
0ADH
TMH2 equ
0EDH
TML2 equ
0ECH
TM2CON equ
0EAH
CTCON equ
0EBH
IEN1 equ
0E8H
RAM
equ
70H
; secventa de initializare
LJMP INIT
INIT: MOV
A,#00H
MOV
P2,#1
MOV
R0,#40H
MOVX @R0,A
MOV
A,#1
MOV
PWMP,A
MOV
SCON,#40H
MOV
TMOD,#20H
MOV
PCON,#00H
MOV
TH1,#0FDH
MOV
TCON,#40H
CLR
TI
LCALL INILCD
LCALL CLRLCD
MOV
DPTR,#TEXT
LCALL TRX1
MOV
R2,#0C0H
LCALL WRCMD
INC
DPTR
LCALL TRX1
; definirea valorilor initiale
MOV
DPTR,#0E000H
372

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV
MOVX
INC
MOV
MOVX
MOV
MOV
MOVX
INC
MOV
MOVX
MOV
MOV
MOVX
INC
MOV
MOVX
MOV
MOV
MOVX
INC
MOV
MOVX
; calibrare
LCALL
LCALL
MOV
LCALL
MOV
LCALL
INC
LCALL
OK4: LCALL
LCALL
JB
JB
JB
JB
GC4: LCALL
LCALL
MOV
LCALL
MOV
LCALL
INC
LCALL
MOV
MOV
OK5: LCALL
LCALL
JB
JB
JB
JB
GC20: LCALL

A,#60H
@DPTR,A
DPTR
A,#00H
@DPTR,A
DPTR,#0E004H
A,#40H
@DPTR,A
DPTR
A,#00H
@DPTR,A
DPTR,#0E008H
A,#20H
@DPTR,A
DPTR
A,#00H
@DPTR,A
DPTR,#0E012H
A,#00H
@DPTR,A
DPTR
A,#00H
@DPTR,A
generator de curent
SEC
CLRLCD
DPTR,#TEXT8
TRX1
R2,#0C0H
WRCMD
DPTR
TRX1
KEY
SEC1
ACC.0,NON4
ACC.1,OK4
ACC.2,OK4
ACC.3,GC4
SEC
CLRLCD
DPTR,#TEXT14
TRX1
R2,#0C0H
WRCMD
DPTR
TRX1
A,#0FFH
PWM0,A
KEY
SEC1
ACC.0,GC20
ACC.1,OK5
ACC.2,OK5
ACC.3,OK5
SEC

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

373

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


LCALL CLRLCD
MOV
DPTR,#TEXT15
LCALL TRX1
MOV
R2,#0C0H
LCALL WRCMD
INC
DPTR
LCALL TRX1
MOV
A,#00H
MOV
PWM0,A
OK6: LCALL KEY
LCALL SEC1
JB
ACC.0,NON4
JB
ACC.1,OK6
JB
ACC.2,OK6
JB
ACC.3,OK6
; selectare mod de functionare
NON4: LCALL SEC
LCALL CLRLCD
MOV
DPTR,#TEXT1
LCALL TRX1
MOV
R2,#0C0H
LCALL WRCMD
INC
DPTR
LCALL TRX1
LCALL SEC
TAST: LCALL KEY
LCALL SEC1
JB
ACC.0,OPER
JB
ACC.1,TAST
JB
ACC.2,TAST
JB
ACC.3,PROGR
OPER: LJMP ACH
; introducere parola
PROGR: LCALL CLRLCD
MOV
DPTR,#TEXT2
LCALL TRX1
MOV
R2,#0C0H
LCALL WRCMD
INC
DPTR
LCALL TRX1
MOV
R5,#0
MOV
R2,#1110B
LCALL WRCMD
KEY1: MOV
R2,#0C7H
LCALL WRCMD
LCALL KEY
LCALL SEC1
JB
ACC.0,VAL1
JB
ACC.1,SUS1
JB
ACC.2,JOS1
JB
ACC.3,PROGR
SUS1: LCALL UP
SJMP PLAY1
JOS1: LCALL DOWN
PLAY1: MOV
A,R5
374

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
LCALL
MOV
LCALL
AJMP
VAL1: MOV
ANL
SWAP
PUSH
MOV
KEY2: MOV
LCALL
LCALL
LCALL
JB
JB
JB
JB
SUS2: LCALL
SJMP
JOS2: LCALL
PLAY2: MOV
LCALL
MOV
LCALL
AJMP
VAL2: POP
ORL
SUBB
JNZ
JZ
RAU: LCALL
MOV
LCALL
MOV
LCALL
INC
LCALL
LCALL
AJMP
BINE: LCALL
MOV
LCALL
MOV
LCALL
INC
LCALL
; programare
INALT: LCALL
LCALL
MOV
LCALL
MOV
LCALL
INC
LCALL

HEXASC
R2,A
TRX
KEY1
A,R5
A,#0FH
A
ACC
R5,#0
R2,#0C8H
WRCMD
KEY
SEC1
ACC.0,VAL2
ACC.1,SUS2
ACC.2,JOS2
ACC.3,PROGR
UP
PLAY2
DOWN
A,R5
HEXASC
R2,A
TRX
KEY2
ACC
A,R5
A,#59H
RAU
BINE
CLRLCD
DPTR,#TEXT3
TRX1
R2,#0C0H
WRCMD
DPTR
TRX1
SEC
ACH
CLRLCD
DPTR,#TEXT4
TRX1
R2,#0C0H
WRCMD
DPTR
TRX1
inaltime vas
SEC
CLRLCD
DPTR,#TEXT5
TRX1
R2,#0C0H
WRCMD
DPTR
TRX1

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

375

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


MOV
MOVX
MOV
INC
MOVX
MOV
LCALL
LCALL
MOV
MOV
MOVX
LCALL
MOV
MOV
MOVX
; validare a
LCALL
LCALL
MOV
LCALL
MOV
LCALL
INC
LCALL
MOV
MOVX
MOV
INC
MOVX
MOV
LCALL
OK1: LCALL
LCALL
JB
JB
JB
JB
NON1: AJMP
; programare
NSA: LCALL
LCALL
MOV
LCALL
MOV
LCALL
INC
LCALL
MOV
MOVX
MOV
INC
MOVX
MOV
LCALL
LCALL
376

DPTR,#0E000H
A,@DPTR
R5,A
DPTR
A,@DPTR
R4,A
SCR
DKEY1
DPTR,#0E000H
A,R5
@DPTR,A
DKEY2
DPTR,#0E001H
A,R5
@DPTR,A
inaltimii vasului
SEC
CLRLCD
DPTR,#TEXT11
TRX1
R2,#0C0H
WRCMD
DPTR
TRX1
DPTR,#0E000H
A,@DPTR
R5,A
DPTR
A,@DPTR
R4,A
SCR1
KEY
SEC1
ACC.0,NSA
ACC.1,OK1
ACC.2,OK1
ACC.3,NON1
INALT
nivel superior alarmare
SEC
CLRLCD
DPTR,#TEXT6
TRX1
R2,#0C0H
WRCMD
DPTR
TRX1
DPTR,#0E004H
A,@DPTR
R5,A
DPTR
A,@DPTR
R4,A
SCR
DKEY1

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV
DPTR,#0E000H
MOVX A,@DPTR
CLR
C
SUBB A,R5
JC
NSA
PUSH ACC
MOV
DPTR,#0E004H
MOV
A,R5
MOVX @DPTR,A
LCALL DKEY2
POP
ACC
CLR
C
SUBB A,#0
JNZ
GATA
MOV
DPTR,#0E001H
MOVX A,@DPTR
CLR
C
SUBB A,R5
JC
NSA
GATA: MOV
DPTR,#0E005H
MOV
A,R5
MOVX @DPTR,A
; validare nivel superior alarmare
LCALL SEC
LCALL CLRLCD
MOV
DPTR,#TEXT12
LCALL TRX1
MOV
R2,#0C0H
LCALL WRCMD
INC
DPTR
LCALL TRX1
MOV
DPTR,#0E004H
MOVX A,@DPTR
MOV
R5,A
INC
DPTR
MOVX A,@DPTR
MOV
R4,A
LCALL SCR1
OK2: LCALL KEY
LCALL SEC1
JB
ACC.0,NIA
JB
ACC.1,OK2
JB
ACC.2,OK2
JB
ACC.3,NON2
NON2: AJMP NSA
; programare nivel inferior alarmare
NIA: LCALL
SEC
LCALL CLRLCD
MOV
DPTR,#TEXT7
LCALL TRX1
MOV
R2,#0C0H
LCALL WRCMD
INC
DPTR
LCALL TRX1
MOV
DPTR,#0E008H
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

377

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


MOVX A,@DPTR
MOV
R5,A
INC
DPTR
MOVX A,@DPTR
MOV
R4,A
LCALL SCR
LCALL DKEY1
MOV
DPTR,#0E004H
MOVX A,@DPTR
CLR
C
SUBB A,R5
JC
NIA
PUSH ACC
MOV
DPTR,#0E008H
MOV
A,R5
MOVX @DPTR,A
LCALL DKEY2
POP
ACC
CLR
C
SUBB A,#0
JNZ
GATA1
MOV
DPTR,#0E005H
MOVX A,@DPTR
CLR
C
SUBB A,R5
JC
NIA
GATA1: MOV
DPTR,#0E009H
MOV
A,R5
MOVX @DPTR,A
; validare nivel inferior alarmare
LCALL SEC
LCALL CLRLCD
MOV
DPTR,#TEXT13
LCALL TRX1
MOV
R2,#0C0H
LCALL WRCMD
INC
DPTR
LCALL TRX1
MOV
DPTR,#0E008H
MOVX A,@DPTR
MOV
R5,A
INC
DPTR
MOVX A,@DPTR
MOV
R4,A
LCALL SCR1
OK3: LCALL KEY
JB
ACC.0,ACH
JB
ACC.1,OK3
JB
ACC.2,OK3
JB
ACC.3,NON3
NON3: AJMP NIA
; masurare h si temperatura
ACH: LCALL CLRLCD
MOV
DPTR,#TEXT9
LCALL TRX1
378

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV
R2,#0C0H
LCALL WRCMD
INC
DPTR
LCALL TRX1
LCALL SEC
; calcul valoare binara H
MOV
DPTR,#0E001H
MOVX A,@DPTR
MOV
R7,A
ANL
A,#00001111B
MOV
R3,A
MOV
A,R7
SWAP A
ANL
A,#00001111B
MOV
B,#10
MUL
AB
ADD
A,R3
PUSH ACC
MOV
DPTR,#0E000H
MOVX A,@DPTR
MOV
R7,A
ANL
A,#00001111B
MOV
R1,#0
MOV
R2,A
MOV
R3,#0
MOV
R4,#64H
MOV
A,R2
MOV
B,R4
MUL
AB
PUSH ACC
MOV
A,R4
MOV
R4,B
MOV
B,R1
MUL
AB
ADD
A,R4
MOV
R5,A
MOV
A,B
ADDC A,#0
MOV
R6,A
MOV
A,R2
MOV
B,R3
MUL
AB
ADD
A,R5
PUSH ACC
MOV
A,B
ADDC A,R6
MOV
R6,A
MOV
A,R3
MOV
B,R1
MUL
AB
ADD
A,R6
MOV
A,B
ADDC A,#0
MOV
A,R7
SWAP A
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

379

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


ANL
MOV
MOV
MOV
MOV
MOV
MOV
MUL
PUSH
MOV
MOV
MOV
MUL
ADD
MOV
MOV
ADDC
MOV
MOV
MOV
MUL
ADD
PUSH
MOV
ADDC
MOV
MOV
MOV
MUL
ADD
MOV
ADDC
POP
MOV
POP
MOV
POP
MOV
POP
MOV
POP
MOV
MOV
CLR
ADD
MOV
MOV
ADDC
MOV
MOV
CLR
ADD
MOV
MOV
ADDC
380

A,#00001111B
R1,#0
R2,A
R3,#03H
R4,#0E8H
A,R2
B,R4
AB
ACC
A,R4
R4,B
B,R1
AB
A,R4
R5,A
A,B
A,#0
R6,A
A,R2
B,R3
AB
A,R5
ACC
A,B
A,R6
R6,A
A,R3
B,R1
AB
A,R6
A,B
A,#0
ACC
R3,A
ACC
R4,A
ACC
R5,A
ACC
R6,A
ACC
R7,A
A,R7
C
A,R6
R6,A
A,R5
A,#0
R5,A
A,R6
C
A,R4
R4,A
A,R5
A,#0

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
ADD
A,R3
MOV
R3,A
MOV
DPTR,#0E002H
MOV
A,R3
MOVX @DPTR,A
INC
DPTR
MOV
A,R4
MOVX @DPTR,A
; calcul valoare binara NSA
MOV
DPTR,#0E005H
MOVX A,@DPTR
MOV
R7,A
ANL
A,#00001111B
MOV
R3,A
MOV
A,R7
SWAP A
ANL
A,#00001111B
MOV
B,#10
MUL
AB
ADD
A,R3
PUSH ACC
MOV
DPTR,#0E004H
MOVX A,@DPTR
MOV
R7,A
ANL
A,#00001111B
MOV
R1,#0
MOV
R2,A
MOV
R3,#0
MOV
R4,#64H
MOV
A,R2
MOV
B,R4
MUL
AB
PUSH ACC
MOV
A,R4
MOV
R4,B
MOV
B,R1
MUL
AB
ADD
A,R4
MOV
R5,A
MOV
A,B
ADDC A,#0
MOV
R6,A
MOV
A,R2
MOV
B,R3
MUL
AB
ADD
A,R5
PUSH ACC
MOV
A,B
ADDC A,R6
MOV
R6,A
MOV
A,R3
MOV
B,R1
MUL
AB
ADD
A,R6
MOV
A,B
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

381

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


ADDC
MOV
SWAP
ANL
MOV
MOV
MOV
MOV
MOV
MOV
MUL
PUSH
MOV
MOV
MOV
MUL
ADD
MOV
MOV
ADDC
MOV
MOV
MOV
MUL
ADD
PUSH
MOV
ADDC
MOV
MOV
MOV
MUL
ADD
MOV
ADDC
POP
MOV
POP
MOV
POP
MOV
POP
MOV
POP
MOV
MOV
CLR
ADD
MOV
MOV
ADDC
MOV
MOV
CLR
ADD
382

A,#0
A,R7
A
A,#00001111B
R1,#0
R2,A
R3,#03H
R4,#0E8H
A,R2
B,R4
AB
ACC
A,R4
R4,B
B,R1
AB
A,R4
R5,A
A,B
A,#0
R6,A
A,R2
B,R3
AB
A,R5
ACC
A,B
A,R6
R6,A
A,R3
B,R1
AB
A,R6
A,B
A,#0
ACC
R3,A
ACC
R4,A
ACC
R5,A
ACC
R6,A
ACC
R7,A
A,R7
C
A,R6
R6,A
A,R5
A,#0
R5,A
A,R6
C
A,R4

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV
R4,A
MOV
A,R5
ADDC A,#0
ADD
A,R3
MOV
R3,A
MOV
DPTR,#0E006H
MOV
A,R3
MOVX @DPTR,A
INC
DPTR
MOV
A,R4
MOVX @DPTR,A
; calcul NSAI
MOV
A,R4
CLR
C
SUBB A,#3CH
MOV
R4,A
MOV
A,R3
SUBB A,#00H
MOV
R3,A
MOV
DPTR,#0E014H
MOV
A,R3
MOVX @DPTR,A
INC
DPTR
MOV
A,R4
MOVX @DPTR,A
; calcul valoare binara NIA
MOV
DPTR,#0E009H
MOVX A,@DPTR
MOV
R7,A
ANL
A,#00001111B
MOV
R3,A
MOV
A,R7
SWAP A
ANL
A,#00001111B
MOV
B,#10
MUL
AB
ADD
A,R3
PUSH ACC
MOV
DPTR,#0E008H
MOVX A,@DPTR
MOV
R7,A
ANL
A,#00001111B
MOV
R1,#0
MOV
R2,A
MOV
R3,#0
MOV
R4,#64H
MOV
A,R2
MOV
B,R4
MUL
AB
PUSH ACC
MOV
A,R4
MOV
R4,B
MOV
B,R1
MUL
AB
ADD
A,R4
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

383

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


MOV
MOV
ADDC
MOV
MOV
MOV
MUL
ADD
PUSH
MOV
ADDC
MOV
MOV
MOV
MUL
ADD
MOV
ADDC
MOV
SWAP
ANL
MOV
MOV
MOV
MOV
MOV
MOV
MUL
PUSH
MOV
MOV
MOV
MUL
ADD
MOV
MOV
ADDC
MOV
MOV
MOV
MUL
ADD
PUSH
MOV
ADDC
MOV
MOV
MOV
MUL
ADD
MOV
ADDC
POP
MOV
POP
384

R5,A
A,B
A,#0
R6,A
A,R2
B,R3
AB
A,R5
ACC
A,B
A,R6
R6,A
A,R3
B,R1
AB
A,R6
A,B
A,#0
A,R7
A
A,#00001111B
R1,#0
R2,A
R3,#03H
R4,#0E8H
A,R2
B,R4
AB
ACC
A,R4
R4,B
B,R1
AB
A,R4
R5,A
A,B
A,#0
R6,A
A,R2
B,R3
AB
A,R5
ACC
A,B
A,R6
R6,A
A,R3
B,R1
AB
A,R6
A,B
A,#0
ACC
R3,A
ACC

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV
R4,A
POP
ACC
MOV
R5,A
POP
ACC
MOV
R6,A
POP
ACC
MOV
R7,A
MOV
A,R7
CLR
C
ADD
A,R6
MOV
R6,A
MOV
A,R5
ADDC A,#0
MOV
R5,A
MOV
A,R6
CLR
C
ADD
A,R4
MOV
R4,A
MOV
A,R5
ADDC A,#0
ADD
A,R3
MOV
R3,A
MOV
DPTR,#0E00AH
MOV
A,R3
MOVX @DPTR,A
INC
DPTR
MOV
A,R4
MOVX @DPTR,A
; calcul NIAS
MOV
A,R4
CLR
C
ADD
A,#3CH
MOV
R4,A
MOV
A,R3
ADDC A,#00H
MOV
R3,A
MOV
DPTR,#0E016H
MOV
A,R3
MOVX @DPTR,A
INC
DPTR
MOV
A,R4
MOVX @DPTR,A
; captare evenimente START si STOP
ACH1: CLR
A
MOV
IEN1,A
MOV
CTL0,A
MOV
CTH0,A
MOV
CTL1,A
MOV
CTH0,A
MOV
TML2,A
MOV
TMH2,A
A,#00000101B
MOV
MOV
CTCON,A
MOV
A,#00100101B
MOV
TM2CON,A
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

385

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


MOV
A,#01H
MOV
R3,A
MOV
DPTR,#0E012H
MOVX A,@DPTR
ORL
A,R3
MOV
R3,A
INC
DPTR
MOVX A,@DPTR
ORL
A,R3
MOV
P2,#1
MOV
R0,#40H
MOVX
@R0,A
MOV
A,#00H
MOV
R3,A
MOV
DPTR,#0E012H
MOVX A,@DPTR
ORL
A,R3
MOV
R3,A
INC
DPTR
MOVX A,@DPTR
ORL
A,R3
MOV
P2,#1
MOV
R0,#40H
MOVX
@R0,A
LCALL SEC1
MOV
A,#00100100B
MOV
TM2CON,A
MOV
A,CTL1
MOV
R4,CTL0
CLR
C
SUBB A,R4
MOV
R4,A
MOV
A,CTH1
MOV
R3,CTH0
SUBB A,R3
MOV
R3,A
; salvare N
MOV
DPTR,#0E00CH
MOV
A,R3
MOVX @DPTR,A
INC
DPTR
MOV
A,R4
MOVX @DPTR,A
; masurare temperatura
LCALL CLRLCD
MOV
DPTR,#TEXT10
LCALL TRX1
MOV
R2,#0C0H
LCALL WRCMD
INC
DPTR
LCALL TRX1
MOV
R2,#1100B
LCALL WRCMD
MOV
R2,#0C8H
LCALL WRCMD
386

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV
R2,#0DFH
LCALL TRX
CLR
A
MOV
ADCON,A
ORL
A,#08H
MOV
ADCON,A
WAIT: MOV
A,ADCON
JNB
ACC.4,WAIT
MOV
A,ADCH
MOV
B,#2
DIV
AB
MOV
DPTR,#0E00FH
MOVX @DPTR,A
; REZ1 = 17 x DELTA_T + 10000
MOV
DPTR,#0E00FH
MOVX A,@DPTR
MOV
B,A
MOV
A,#17
MUL
AB
MOV
R1,#27H
MOV
R2,#10H
CLR
C
ADD
A,R2
MOV
R4,A
MOV
A,B
ADDC A,R1
MOV
R3,A
; REZ2 = N x (10000 + 17 x DELTA_T)
MOV
DPTR,#0E00CH
MOVX A,@DPTR
MOV
R1,A
INC
DPTR
MOVX A,@DPTR
MOV
R2,A
MOV
A,R2
MOV
B,R4
MUL
AB
PUSH ACC
MOV
A,R4
MOV
R4,B
MOV
B,R1
MUL
AB
ADD
A,R4
MOV
R5,A
MOV
A,B
ADDC A,#0
MOV
R6,A
MOV
A,R2
MOV
B,R3
MUL
AB
ADD
A,R5
PUSH ACC
MOV
A,B
ADDC A,R6
MOV
R6,A
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

387

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


MOV
A,R3
MOV
B,R1
MUL
AB
ADD
A,R6
PUSH ACC
MOV
A,B
ADDC A,#0
PUSH ACC
; REZ3 = REZ2 / 16384
POP
ACC
MOV
R4,A
POP
ACC
MOV
R5,A
POP
ACC
MOV
R6,A
POP
ACC
MOV
R3,#6
SHR1: MOV
A,R4
CLR
C
RRC
A
MOV
R4,A
MOV
A,R5
RRC
A
MOV
R5,A
MOV
A,R6
RRC
A
MOV
R6,A
DJNZ R3,SHR1
; REZ4 = REZ3 x 9353
MOV
A,R5
MOV
R3,A
MOV
A,R6
MOV
R4,A
MOV
R1,#24H
MOV
R2,#89H
MOV
A,R2
MOV
B,R4
MUL
AB
PUSH ACC
MOV
A,R4
MOV
R4,B
MOV
B,R1
MUL
AB
ADD
A,R4
MOV
R5,A
MOV
A,B
ADDC A,#0
MOV
R6,A
MOV
A,R2
MOV
B,R3
MUL
AB
ADD
A,R5
PUSH ACC
MOV
A,B
ADDC A,R6
388

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV
MOV
MOV
MUL
ADD
PUSH
MOV
ADDC
PUSH
; s = REZ4 /
POP
MOV
POP
MOV
POP
MOV
POP
MOV
SHR2: MOV
CLR
RRC
MOV
MOV
RRC
MOV
MOV
RRC
MOV
DJNZ
; calcul h =
MOV
MOVX
MOV
INC
MOVX
MOV
MOV
CLR
SUBB
MOV
MOV
SUBB
MOV
; corectie h
CLR
MOV
ADD
MOV
MOV
ADDC
MOV
; salvare h
MOV
MOV
MOVX

R6,A
A,R3
B,R1
AB
A,R6
ACC
A,B
A,#0
ACC
16384
ACC
R4,A
ACC
R5,A
ACC
R6,A
ACC
R3,#6
A,R4
C
A
R4,A
A,R5
A
R5,A
A,R6
A
R6,A
R3,SHR2
H - s
DPTR,#0E002H
A,@DPTR
R3,A
DPTR
A,@DPTR
R4,A
A,R4
C
A,R6
R6,A
A,R3
A,R5
R5,A
+ 800
C
A,R6
A,#20H
R6,A
A,R5
A,#03H
R5,A
DPTR,#0E010H
A,R5
@DPTR,A

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

389

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


INC
DPTR
MOV
A,R6
MOVX @DPTR,A
; cifra milimetri
MOV
DPTR,#0E010H
MOVX A,@DPTR
MOV
R6,A
INC
DPTR
MOVX A,@DPTR
MOV
R5,A
MOV
R3,A
CLR
A
MOV
R2,A
MOV
R4,#8
MOV
R7,A
MOV
A,R6
MOV
B,#10
DIV
AB
MOV
R1,A
MOV
R6,B
T_TWO1:
MOV
A,R5
RLC
A
MOV
R5,A
MOV
A,R6
RLC
A
MOV
R6,A
MOV
A,R7
RLC
A
MOV
R7,A
COMP1: CJNE A,#0,DONE1
MOV
A,R6
CJNE A,#10,DONE1
CJNE R5,#0,DONE1
DONE1: CPL
C
B_QUO1:
MOV
A,R2
RLC
A
MOV
R2,A
JNB
ACC.0,LOP1
SUBS1: MOV
A,R6
SUBB A,#10
MOV
R6,A
MOV
A,R7
SUBB A,#0
MOV
R7,A
LOP1: DJNZ R4,T_TWO1
MOV
A,#10
MOV
B,R2
MUL
AB
MOV
B,A
MOV
A,R3
SUBB A,B
PUSH ACC
CLR
OV
; cifra centimetri
MOV
A,R1
390

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV
R6,A
MOV
A,R2
MOV
R5,A
MOV
R3,A
MOV
R4,#8
CLR
A
MOV
R2,A
MOV
R7,A
MOV
A,R6
MOV
B,#10
DIV
AB
MOV
R1,A
MOV
R6,B
T_TWO2:
MOV
A,R5
RLC
A
MOV
R5,A
MOV
A,R6
RLC
A
MOV
R6,A
MOV
A,R7
RLC
A
MOV
R7,A
COMP2: CJNE A,#0,DONE2
MOV
A,R6
CJNE A,#10,DONE2
CJNE R5,#0,DONE2
DONE2: CPL
C
B_QUO2:
MOV
A,R2
RLC
A
MOV
R2,A
JNB
ACC.0,LOP2
SUBS2: MOV
A,R6
SUBB A,#10
MOV
R6,A
MOV
A,R7
SUBB A,#0
MOV
R7,A
LOP2: DJNZ R4,T_TWO2
MOV
A,#10
MOV
B,R2
MUL
AB
MOV
B,A
MOV
A,R3
SUBB A,B
PUSH ACC
CLR
OV
; cifra decimetri si metri
MOV
A,R2
MOV
B,#10
DIV
AB
MOV
R2,A
MOV
A,B
PUSH ACC
MOV
A,R2
PUSH ACC
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

391

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


; afisare h
MOV
R2,#84H
LCALL
WRCMD
POP
ACC
LCALL
HEXASC
MOV
R2,A
LCALL
TRX
MOV
R2,#86H
LCALL
WRCMD
POP
ACC
LCALL
HEXASC
MOV
R2,A
LCALL
TRX
MOV
R2,#87H
LCALL
WRCMD
POP
ACC
LCALL
HEXASC
MOV
R2,A
LCALL
TRX
MOV
R2,#88H
LCALL
WRCMD
POP
ACC
LCALL
HEXASC
MOV
R2,A
LCALL
TRX
; afisare temperatura
MOV
DPTR,#0E00FH
MOVX A,@DPTR
MOV
R5,A
CLR
C
SUBB A,#20
MOV
R4,A
JC
TNEG
TPOZ: MOV
R2,#0C4H
LCALL WRCMD
MOV
R2,#00101011B
LCALL TRX
MOV
R2,#0C5H
LCALL WRCMD
MOV
A,R4
MOV
B,#10
DIV
AB
LCALL HEXASC
MOV
R2,A
LCALL TRX
MOV
R2,#0C6H
LCALL WRCMD
MOV
A,B
LCALL HEXASC
MOV
R2,A
LCALL TRX
LJMP SALT
TNEG: MOV
R2,#0C4H
LCALL WRCMD
MOV
R2,#00101101B
392

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
LCALL TRX
MOV
R2,#0C5H
LCALL WRCMD
MOV
A,#20
CLR
C
SUBB A,R5
MOV
B,#10
DIV
AB
LCALL HEXASC
MOV
R2,A
LCALL TRX
MOV
R2,#0C6H
LCALL WRCMD
MOV
A,B
LCALL HEXASC
MOV
R2,A
LCALL TRX
SALT: LCALL SEC
; programare generator curent
; codificare h pe un octet
MOV
DPTR,#0E010H
MOVX A,@DPTR
MOV
R6,A
INC
DPTR
MOVX A,@DPTR
MOV
R7,A
MOV
R3,#3
C
SHL1: CLR
MOV
A,R7
RLC
A
MOV
R7,A
MOV
A,R6
RLC
A
MOV
R6,A
DJNZ R3,SHL1
; codificare H pe un octet
MOV
DPTR,#0E002H
MOVX A,@DPTR
MOV
R4,A
INC
DPTR
MOVX A,@DPTR
MOV
R5,A
MOV
R3,#3
SHL2: CLR
C
MOV
A,R5
RLC
A
MOV
R5,A
MOV
A,R4
RLC
A
MOV
R4,A
DJNZ R3,SHL2
; calcul valoare hx255
MOV
A,R6
MOV
B,#0FFH
MUL
AB
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

393

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


; calcul (hx255)/H
MOV
R6,B
MOV
R5,A
MOV
R3,A
MOV
A,R4
MOV
R0,A
MOV
RAM,A
MOV
R4,#8
CLR
A
MOV
R2,A
MOV
R7,A
MOV
A,R6
MOV
B,R0
DIV
AB
MOV
R1,A
MOV
R6,B
T_TWO3:
MOV
A,R5
RLC
A
MOV
R5,A
MOV
A,R6
RLC
A
MOV
R6,A
MOV
A,R7
RLC
A
MOV
R7,A
COMP3: CJNE A,#0,DONE3
MOV
A,R6
CJNE A,RAM,DONE3
CJNE R5,#0,DONE3
DONE3: CPL
C
B_QUO3:
MOV
A,R2
RLC
A
MOV
R2,A
JNB
ACC.0,LOP3
SUBS3: MOV
A,R6
SUBB A,R0
MOV
R6,A
MOV
A,R7
SUBB A,#0
MOV
R7,A
LOP3: DJNZ R4,T_TWO3
MOV
A,R0
MOV
B,R2
MUL
AB
MOV
B,A
MOV
A,R3
SUBB A,B
CLR
OV
MOV
A,R2
; programare PWM0
CPL
A
MOV
PWM0,A
; citire h in binar
MOV
DPTR,#0E010H
MOVX A,@DPTR
394

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
MOV
R1,A
INC
DPTR
MOVX A,@DPTR
MOV
R2,A
; depasire inferioara
; citire NIA in binar
DEI: MOV
DPTR,#0E00AH
MOVX A,@DPTR
MOV
R4,A
INC
DPTR
MOVX A,@DPTR
MOV
R5,A
; citire NIAS in binar
MOV
DPTR,#0E016H
MOVX A,@DPTR
MOV
R6,A
INC
DPTR
MOVX A,@DPTR
MOV
R7,A
; calcul h-NIA si semnalizare
MOV
A,R2
CLR
C
SUBB A,R5
MOV
A,R1
SUBB A,R4
JC
DEPINF
JNC
NDI
DEPINF:
MOV
A,#04H
MOV
DPTR,#0E012H
MOVX @DPTR,A
MOV
P2,#1
MOV
R0,#40H
MOVX @R0,A
AJMP CONTS
NDI: MOV
DPTR,#0E012H
MOVX A,@DPTR
ANL
A,#04H
JB
ACC.2,CAZ1
JNB
ACC.2,CAZ2
; scadere NIAS-h si avertizare
CAZ1: MOV
A,R7
CLR
C
SUBB A,R2
MOV
A,R6
SUBB A,R1
JNC
DEPINF
JC
NDPI
NDPI: MOV
A,#00H
MOV
DPTR,#0E012H
MOVX @DPTR,A
MOV
P2,#1
MOV
R0,#40H
MOVX @R0,A
AJMP DES
CAZ2: AJMP NDPI
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

395

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


; depasire superioara
; citire NSAI in binar
DES: MOV
DPTR,#0E014H
MOVX A,@DPTR
MOV
R4,A
INC
DPTR
MOVX A,@DPTR
MOV
R5,A
; citire NSA in binar
MOV
DPTR,#0E006H
MOVX A,@DPTR
MOV
R6,A
INC
DPTR
MOVX A,@DPTR
MOV
R7,A
MOV
DPTR,#0E013H
MOVX A,@DPTR
ANL
A,#02H
JB
ACC.1,CAZ3
JNB
ACC.1,CAZ4
CAZ3: MOV
A,R2
CLR
C
SUBB A,R5
MOV
A,R1
SUBB A,R4
JC
NDPS
JNC
DEPSUP
CAZ4: MOV
A,R2
CLR
C
SUBB A,R7
MOV
A,R1
SUBB A,R6
JC
NDPS
JNC
DEPSUP
DEPSUP:
MOV
A,#02H
MOV
DPTR,#0E013H
MOVX @DPTR,A
MOV
P2,#1
MOV
R0,#40H
MOVX @R0,A
AJMP CONTS
NDPS: MOV
A,#00H
MOV
DPTR,#0E013H
MOVX @DPTR,A
MOV
P2,#1
MOV
R0,#40H
MOVX @R0,A
AJMP CONTS
CONTS: LCALL SEC
; transmisie seriala
MOV
R7,#3
MOV
DPTR,#0E00FH
TRANS: MOVX A,@DPTR
MOV
SBUF,A
CLR
TI
396

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
WT:

PRO:
GO:
;
UP:

JNB
CLR
INC
DJNZ
LCALL
JZ
JB
LJMP
LJMP

TI,WT
TI
DPTR
R7,TRANS
INPORT
GO
ACC.0,PRO
PROGR
ACH1

MOV
INC
DA
ANL
MOV
RET

A,R5
A
A
A,#0FH
R5,A

;
DOWN: MOV
ANL
CLR
SUBB
JC
JNC
ADJST: MOV
CONT: ANL
MOV
RET
;
KEY: LCALL
JZ
RET
;
INPORT:
MOV
MOVX
CPL
ANL
RET
;
DKEY1: MOV
MOV
SWAP
ANL
MOV
MOV
LCALL
KEY3: MOV
LCALL
LCALL
LCALL
JB
JB
JB
SUS3: LCALL
SJMP

A,R5
A,#0FH
C
A,#1
ADJST
CONT
A,#9H
A,#0FH
R5,A
INPORT
KEY
MOV
P2,#1
R0,#60H
A,@R0
A
A,#0FH
A,R5
R3,A
A
A,#0FH
R5,A
R2,#1110B
WRCMD
R2,#0C6H
WRCMD
KEY
SEC1
ACC.0,VAL3
ACC.1,SUS3
ACC.2,JOS3
UP
PLAY3

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

397

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


JOS3: LCALL
PLAY3: MOV
LCALL
MOV
LCALL
AJMP
VAL3: MOV
ANL
SWAP
PUSH
MOV
ANL
MOV
KEY4: MOV
LCALL
LCALL
LCALL
JB
JB
JB
SUS4: LCALL
SJMP
JOS4: LCALL
PLAY4: MOV
LCALL
MOV
LCALL
AJMP
VAL4: POP
ORL
MOV
RET
;
DKEY2: MOV
MOV
SWAP
ANL
MOV
MOV
LCALL
KEY5: MOV
LCALL
LCALL
LCALL
JB
JB
JB
SUS5: LCALL
SJMP
JOS5: LCALL
PLAY5: MOV
LCALL
MOV
LCALL
AJMP
398

DOWN
A,R5
HEXASC
R2,A
TRX
KEY3
A,R5
A,#0FH
A
ACC
A,R3
A,#0FH
R5,A
R2,#0C8H
WRCMD
KEY
SEC1
ACC.0,VAL4
ACC.1,SUS4
ACC.2,JOS4
UP
PLAY4
DOWN
A,R5
HEXASC
R2,A
TRX
KEY4
ACC
A,R5
R5,A
A,R4
R3,A
A
A,#0FH
R5,A
R2,#1110B
WRCMD
R2,#0C9H
WRCMD
KEY
SEC1
ACC.0,VAL5
ACC.1,SUS5
ACC.2,JOS5
UP
PLAY5
DOWN
A,R5
HEXASC
R2,A
TRX
KEY5

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
VAL5: MOV
ANL
SWAP
PUSH
MOV
ANL
MOV
KEY6: MOV
LCALL
LCALL
LCALL
JB
JB
JB
SUS6: LCALL
SJMP
JOS6: LCALL
PLAY6: MOV
LCALL
MOV
LCALL
LJMP
VAL6: POP
ORL
MOV
RET
;
SCR: MOV
LCALL
MOV
LCALL
MOV
SWAP
ANL
CALL
MOV
LCALL
MOV
LCALL
MOV
ANL
LCALL
MOV
LCALL
MOV
LCALL
MOV
SWAP
ANL
CALL
MOV
LCALL
MOV
LCALL
MOV

A,R5
A,#0FH
A
ACC
A,R3
A,#0FH
R5,A
R2,#0CAH
WRCMD
KEY
SEC1
ACC.0,VAL6
ACC.1,SUS6
ACC.2,JOS6
UP
PLAY6
DOWN
A,R5
HEXASC
R2,A
TRX
KEY6
ACC
A,R5
R5,A
R2,#1100B
WRCMD
R2,#0C6H
WRCMD
A,R5
A
A,#0FH
HEXASC
R2,A
TRX
R2,#0C8H
WRCMD
A,R5
A,#0FH
HEXASC
R2,A
TRX
R2,#0C9H
WRCMD
A,R4
A
A,#0FH
HEXASC
R2,A
TRX
R2,#0CAH
WRCMD
A,R4

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

399

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


ANL
LCALL
MOV
LCALL
RET
;
SCR1: MOV
LCALL
MOV
LCALL
MOV
SWAP
ANL
CALL
MOV
LCALL
MOV
LCALL
MOV
ANL
LCALL
MOV
LCALL
MOV
LCALL
MOV
SWAP
ANL
CALL
MOV
LCALL
MOV
LCALL
MOV
ANL
LCALL
MOV
LCALL
RET
;
TRX1: CLR
MOVC
CJNE
RET
TRCAR1:
LCALL
INC
SJMP
;
SEC: MOV
LOOP1: MOV
LOOP: NOP
NOP
NOP
NOP
400

A,#0FH
HEXASC
R2,A
TRX
R2,#1100B
WRCMD
R2,#086H
WRCMD
A,R5
A
A,#0FH
HEXASC
R2,A
TRX
R2,#088H
WRCMD
A,R5
A,#0FH
HEXASC
R2,A
TRX
R2,#089H
WRCMD
A,R4
A
A,#0FH
HEXASC
R2,A
TRX
R2,#08AH
WRCMD
A,R4
A,#0FH
HEXASC
R2,A
TRX
A
A,@A+DPTR
A,#24H,TRCAR1
MOV
R2,A
WRDAT
DPTR
TRX1
R6,#255
R7,#255

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
NOP
NOP
NOP
NOP
DJNZ
DJNZ
RET

R7,LOOP
R6,LOOP1

;
SEC1: MOV
R6,#255
LOOP3: MOV
R7,#255
LOOP2: NOP
NOP
NOP
NOP
DJNZ R7,LOOP2
DJNZ R6,LOOP3
RET
;
TEXT: DB '
NIVELMETRU
$'
DB ' CU ULTRASUNETE $'
TEXT1: DB 'OPERARE (ENTER)$'
DB 'PROGRAMARE(MODE)$'
TEXT2: DB 'VALIDARE PAROLA:$'
DB '
00
$'
TEXT3: DB '
PAROLA
$'
DB '
INCORECTA!
$'
PAROLA
$'
TEXT4: DB '
DB '
CORECTA!
$'
TEXT5: DB ' INALTIME VAS $'
DB ' H = .
m
$'
TEXT6: DB 'NIV.SUP.ALARMARE$'
DB 'NSA = .
m
$'
TEXT7: DB 'NIV.INF.ALARMARE$'
DB 'NIA = .
m
$'
TEXT8: DB 'CALIBRARE G.C.?$'
DB '(D-MODE N-ENTER)$'
TEXT9: DB ' REGIM NORMAL $'
DB ' DE FUNCTIONARE $'
DB 'h = .
m
$'
TEXT10:
DB 't =
C
$'
TEXT11:
DB ' H = .
m ?$'
DB '(D-ENTER N-MODE)$'
TEXT12:
DB 'NSA = .
m ?$'
DB '(D-ENTER N-MODE)$'
DB 'NIA = .
TEXT13:
m ?$'
DB '(D-ENTER N-MODE)$'
TEXT14:
DB ' CALIBRARE 4 mA $'
DB ' (GATA - ENTER) $'
TEXT15:
DB ' CALIBRARE 20mA $'
DB ' (GATA - ENTER) $'
;
ANL
A,#0FH
HEXASC:
JNB
ACC.3,NOADJ
JB
ACC.2,ADJ
JNB
ACC.1,NOADJ
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

401

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI


ADJ: ADD
NOADJ: ADD
RET
;
TRX: CLR
MOV
LJMP
LL7: RET
TRCAR: MOV
LCALL
SJMP
;
INILCD:
LCALL
MOV
DEL4MS:
DJNZ
MOV
LINI: LCALL
LCALL
DJNZ
LCALL
MOV
LCALL
LCALL
MOV
LCALL
LCALL
MOV
LCALL
LCALL
RET
;
CLRLCD:
LCALL
MOV
LCALL
RET
;
WLCD: LCALL
JB
RET
;
RDCMD: MOV
MOV
MOVX
RET
;
WRCMD: LCALL
MOV
MOV
MOV
MOVX
RET
;
402

A,#07H
A,#30H
A
A,R2
TRCAR
R2,A
WRDAT
LL7
MOV
R2,#38H
WRCMD
R4,#50
LCALL DELAY
R4,DEL4MS
R4,#4
WRCMD
DELAY
R4,LINI
WLCD
R2,#6
WRCMD
WLCD
R2,#0EH
WRCMD
WLCD
R2,#1
WRCMD
WLCD
MOV
R2,#1
WRCMD
R2,#1100B
WRCMD
RDCMD
ACC.7,WLCD
P2,#1
R0,#2
A,@R0
WLCD
A,R2
P2,#1
R0,#0
@R0,A

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT
WRDAT: LCALL
MOV
MOV
MOV
MOVX
RET
;
DELAY: MOV
LL1: NOP
NOP
DJNZ
RET
;
END

WLCD
P2,#1
R0,#1
A,R2
@R0,A
R3,#17
R3,LL1

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

403

TRADUCTOR INTELIGENT PENTRU M SURAREA NIVELULUI

404

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

BIBLIOGRAFIE
1.

Albu, M., Vlaicu, C., .a.: Probleme legate de proiectarea, alegerea i


utlizarea programelor specializate pentru msurri electrice, Lucr rile
Sesiunii Jubiliare de Comunic ri tin ifice, Facultatea de Electrotehnic ,
decembrie 1996, pg.111-115;

2.

Antoniu, M., Poli, t., Antoniu, E.: Msurri electronice - Aparate i


sisteme de msur numerice, Editura SATYA, 1997;

3.

Damms, K. J., Heinze, R .: Leittechnik: Unix und Windows NT, ETZ


Archiv, Heft 1-2/1998, pg. 8-10;

4.

Dale, N., Weems, C.: Introduction to PASCAL and Structured Design, D.


C. Heath and Company, 1987;

5.

Dale, N., Lilly, C. S.: PASCAL Plus Data Structures. Algorithms and
Advanced Programming, D. C. Heath and Company, 1989;

6.

Fitzgerald, J.: Businesd Data Comunications - Basic Concepts, Security


and Design, J. Wiley & Sons Inc., 1990;

7.

Ghinea, D., Popescu, C., Popescu, M., Analiza spectral a semnalelor


energetice, Ars docendi, Bucureti, 1999;

8.

Golovanov, C., tef nescu, C.: Real Time Microcontroller - Based System
For Assessing Voltage Quality With Relation To Unbalance, Rev. Roum.
Sci. Techn. - Electrotechn. et Energ., 41, 3, Bucharest, 1996;

9.

Golovanov, C., tef nescu, C.: Intelligent Data Acquisition System for
Assessing Quality to Unbalance, AMSE Press - Modelling, Measurement
& Control, A, Vol. 59, No. 3, pag. 1-10, 1995;

10. Gray, P. R., Meyer, R. G.: Circuite integrate analogice. Analiz i


proiectare, Editura Tehnic , Bucureti, 1983;
11. Hilburn, J.: Manual of Active Filter Design, McGraw Hill, 1973;
12. Hilton, H. E.: A 10 Megasample-per-Second Analog-to-Digital Converter
with Filter and Memory, Hewlett - Packard Journal, Volume 44, Number 5,
Octomber 1993;
13. Holland, R. C.: Microcomputers and Their Interfacing, Pergamon Press,
1987;
14. Kientzle, T.: The Working Programmer's Guide to Serial Protocols,
Coriolis Group Books, 1995;
15. Lacanette, K.: A Basic Introduction to Filters, Active, Passive and
Switched-Capacitor, AN 779, National Semiconductor, 1991;
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

405

BIBLIOGRAFIE

16. Lipovski,G.,J.: Object - Oriented Interfacing to 16-Bit Microcontrollers,


Prentice-Hall, Texas, 1993;
17. Melkonian, L. G.: Dynamic Specifications for Sampling A/D converters,
AN 769, National Semiconductor, 1991;
18. Millman, J., Grabel, A.: Microelectronics (second edition), Mc Graw Hill,
1987;
19. Posd r scu, E., Cupcea, N., tef nescu, C. - Sistem automat de msur i
control al transferului termic pentru incinte izoterme n regim stationar, A
Doua Conferin Interna ional de Sisteme Electromecanice SIELMEC99,
vol. III, pag. 63-68, 8-9 octombrie 1999, Chiin u;
20. Posd r scu, E., Cupcea, N., tef nescu, C. - Stand pentru studierea
experimental a amortizoarelor hidraulice de translaie, A Doua
Conferin Interna ional de Sisteme Electromecanice SIELMEC99, vol.
III, pag. 168-173, 8-9 octombrie 1999, Chiin u;
21. Potolea, E., Gheorghe, t.: Calitatea tensiunii n reelele electrice poluate
cu armonici. Sistem de analiz i datele obinute, Simpozionul Na ional de
Re ele Electrice, Suceava 1994, vol. I, pag. 121-131;
22. Potolea, E., P tr coiu, S., Gheorghe, t.: Supravegherea reelelor i
analiza regimului deformant n sistemele electroenergetice zonale, Revista
Energetica nr. 1, seria B, Editura Tehnic , 1992;
23. Schumny, H.: Metechnik mit dem Personal Computer, Springer Verlag,
Berlin, 1993;
24. tef nescu, C.: Sistem inteligent de analiz a regimului deformant n reele
electrice, Tez de doctorat, U.P.B., Bucureti, 1998;
25. tef nescu, C., .a.: Sistem inteligent de analiz a calitii tensiunii n
reele electrice trifazate, funcionnd n regim nesinusoidal, Conferin a
Na ional de Energetic Industrial CNEI 98, Bac u 30 oct - 1 nov 1998;
26. tef nescu, C., Cupcea, N., .a.: Sistem cu microcontroller pentru
msurarea nivelului lichidelor depozitate n vase staionare la presiune
joas, Conferin a Na ional de Energetic Industrial CNEI 98, Sec ia I Electroenergetic , Bac u 30 oct - 1 nov 1998;
27. tef nescu, C., Cupcea, N., Popescu, D. - Intelligent Power Quality
Analyzer, Proceedings of 5th International Conference on Information
Systems Analysis and Synthesis ISAS 99, vol. 7 - Industrial Systems, pag.
192-198, Orlando, Florida, July 31 - August 4, 1999;
28. tef nescu, C., Cupcea, N. - Echipamente numerice versatile destinate
proceselor de reglare in domeniul industrial, A Doua Conferin
Interna ional de Sisteme Electromecanice SIELMEC99, vol. II, pag. 1518, 8-9 octombrie 1999, Chiin u;
406

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

ELECTRONIC APLICAT

29. tef nescu, C., Cupcea, N. - Sisteme inteligente de msurare a perioadei


semnalelor electrice, A Doua Conferin Interna ional de Sisteme
Electromecanice SIELMEC99, vol. III, pag. 15-18, 8-9 octombrie 1999,
Chiin u;
30. tef nescu, C., Cupcea, N., Simion, V.: Microcontroller-based
development system for system control applications, Proceedings of the
Symposium on Advanced Topics in Electrical Engineering ATEE - 2000,
pag. 139-146, Bucharest, 2000;
31. tef nescu, C., S r cin, M.: Sistem inteligent, multifuncional, de achiziii
de date, Grupul ICPE: Electronica Prezent i Perspective, pag. M32-M36,
Bucureti, 30-31 oct. 1995;
32. tef nescu, C., Simion, V.: General-purpose digital scope based on PIC
microcontrollers, Proceedings of the Symposium on Advanced Topics in
Electrical Engineering ATEE - 2000, pag. 147-154, Bucharest, 2000;
33. Tedeschi, F.: Active Filter Cookbook, Tab Book No. 1133, 1979;
34. Tertico, M., Stoica, P., Popescu, Th.: Identificarea asistat de calculator a
sistemelor, Editura Tehnic , Bucureti, 1987;
35. Tran Tien Lang: Acquisition et traitement des signaux de masure a l'aide
de microprocesseur, Techniques de l'ingenieur, Mesures et Controle, R
525-1 SUPELEC, Paris 1989;
36. Tran Tien Lang: Microprocesseurs de traitement du signal de mesure,
Techniques de l'ingenieur, Mesures et Controle, R 526-1 SUPELEC, Paris
1989;
37. Tran Tien Lang: Systemes de Mesures Informatises - mise en oeuvre des
microprocesseurs et microcontroleurs en instrumentation, Masson Paris,
1992;
38. Turturea, D.: Totul despre WINDOWS 3.1, Editura Tehnic , Bucureti,
1993;
39. Vlaicu, C.: Sisteme digitale de msurare, Editura ICPE, 2000;
40. Vlaicu, C., Albu, M.: Sisteme numerice de msurare, ndrumar de
laborator, Litografia UPB, 1999;
41. Wong, T. : Understanding USB, in Electronics World, November 1999, pg.
890-900;
42. Young, D.A.: Motif Debugging and Performance Tuning, Prentice Hall,
1995;
43. ***: Advanced Micro Devices - CMOS Memory Products Data
Book/Handbook, 1991;
SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

407

BIBLIOGRAFIE

44. ***: Advanced Micro Devices - PAL Device Data Book and Design Guide,
1993;
45. ***: Analog Devices - Data Acquisition Components and Subsystems Data
Book, 1996;
46. ***: Burr Brown - Intelligent Instrumentation: Personal Computer
Instrumentation - Data Acquisition, Test, Measurement and Control -,
1994;
47. ***: Cyberresearch - PC Systems HandBook for Scientists and Engineers,
No. 1, 1997;
48. ***: Getting Started with HP VEE for Windows, Hewlett-Packard
Company, 1995;
49. ***: Hybrid Memory Products Ltd. - Advanced MOS Memory, 1990;
50. ***: Keithley Metrabyte Data Acquisition - Catalog & Reference Guide,
1993;
51. ***: National Instruments - Data Acquisition Systems Data Book, 1997;
52. ***: Micron Semiconductor Inc, - SRAM Data Book, 1993;
53. ***: Micron Semiconductor Inc, - DRAM Data Book, 1993;
54. ***: Micron Semiconductor Inc, - Specialty DRAM Data Book, 1993;
55. ***: National Semiconductor - Data Acquisition Systems Data Book, 1996;
56. ***: National Semiconductor - Interface Products Data Book, 1996;
57. ***: National Semiconductor - Linear Applications' Data Book (second
edition), 1995;
58. ***: Philips Semiconductor - 80C51-Based 8-Bit Microcontrollers, 1997.

408

SISTEME INTELIGENTE HARDWARE-SOFTWARE DE M SURARE I CONTROL

Das könnte Ihnen auch gefallen