Sunteți pe pagina 1din 20

Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

Lucrarea de laborator 5

SISTEME DE ACHIZIIE DE DATE CU PC

I. SCOPUL LUCRRII:
Scopul acestei lucrri este de a face o introduce n problematica achiziiei de date n
general, a structurii generale a unui sistem de achiziie de date, cu particularizri asupra modului
de realizare a sistemelor de achiziie i distribuie a datelor pentru calculatoarele personale. Se
vor analiza posibilitile de introducere a datelor n PC, exemple de plci de achiziie de date
cuplate pe aceste interfee i modul de programare a aplicaiilor cu aceste plci.

II. NOIUNI TEORETICE

Achiziia de date se poate defini ntr-un sens mai larg ca fiind procesul de obinere a
datelor de la o surs, de obicei una exterioar sistemului care face msurtoarea. n domeniul
tehnic achiziia de date se refer la msurarea unor mrimi electrice sau neelectrice i prelucrarea
rezultatelor acestor msurtori. Odat cu evoluia extraordinar a calculatoarelor, a devenit
posibil preluarea sau generarea de date analogice sau digitale cu PC-ul direct din proces, n mod
automatizat (fr introducerea acestora de ctre operatorul uman).
Achiziia de date este ntlnit n foarte multe din domeniile de activitate din zilele noastre:
n industrie - n cadrul calculatoarelor de proces care supravegheaz i regleaz instalaii
tehnologice, n cercetarea tiinific - pentru msurarea i prelucrarea unui spectru extrem de vast
de mrimi electrice i neelectrice, n comunicaii - pentru supravegherea i msurarea liniilor de
comunicaie, etc. Avantajul folosirii calculatoarelor personale n sisteme de achiziie i
distribuie de date este dat de puterea de calcul foarte mare ce permite realizarea de prelucrri
complexe ale semnalelor, flexibilitatea i uurina cu care se pot modifica relaiile ntre mrimi i
algoritmii de comand i control.
Preluarea mrimilor analogice i digitale n calculator se face prin intermediul sistemelor
de achiziie de date, care au rolul de a prelucra i transforma mrimile analogice de intrare n
mrimi numerice i pot genera semnale de comand analogice sau digitale.
n general, un sistem de achiziie de date trebuie s poat executa trei funcii fundamentale:
- convertirea fenomenului fizic ntr-un semnal care poate fi msurat;
- msurarea semnalelor generate de senzori sau traductoare n scopul extragerii
informaiilor despre procesele fizice;
- analizarea datelor i prezentarea lor ntr-o form utilizabil.
Structura tipic a unui sistem de achiziie de date cu PC este prezentat n figura 2.1. El
este alctuit din urmtoarele
- senzori sau traductoare - convertesc fenomenul fizic ntr-un semnal electric ce poate
fi apoi prelucrat i msurat;
- circuite de condiionare prelucreaz analogic semnalul i realizeaz funcii diverse
cum sunt: adaptarea semnalului, convertirea i/sau amplificarea semnalului provenit
de la traductoare, izolare galvanic, excitarea senzorului, liniarizare, filtrare, etc.;

57
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

- un subsistem de achiziie de date (plac de achiziie de date) - care poate include


multiplexoare i convertoare analog-digitale;
- sistemul de calcul (PC);
- soft pentru achiziie de date;

Figura 2.1 Structura general a unui sistem de achiziie de date cu PC

Funciile principale ale plcilor de achiziie de date sunt:


- intrarea analogic - msurarea unui semnal - tensiune electric provenit de la un
traductor;
- ieire analogic generarea unui semnal de comand sub form de tensiune sau
curent analogice;
- intrri/ieiri digitale informaia este transmis sub forma unor coduri numerice sau
se pot msura/genera semnale de tip on/of.
- Numrare/cronometrare primirea i generarea de semnale sub form de serii de
impulsuri TTL la care informaia este coninut n numrul de impulsuri sau n
frecvena impulsurilor.

Pentru sistemele cu intrri analogice, acestea sunt caracterizate de urmtorii parametri


principali:
Numrul canalelor de intrarea analogice. Pentru a realiza creterea numrului de intrri
pa care le poate msura o interfa analog-numeric, se poate folosi multiplexarea intrrilor.
Multiplexorul este un dispozitiv care dispune de mai multe canale de intrare, un canal de ieire i
de intrri digitale de control. Cu ajutorul intrrilor de control se poate selecta canalul de intrare
ce este conectat la ieire. n cazul folosirii unui multiplexor, rata de eantionare pe canal se
obine mprind rata de eantionare a convertorului A/D la numrul de canale de intrare.
Configurarea intrrilor. Exist dou configuraii principale pentru conectarea conectarea
semnalelor de intrare: intrri simple i intrri difereniale. Intrrile simple se utilizeaz atunci
cnd msurtorile analogice trebuie s fie fcute fa de o mas extern comun.
Configuraia diferenial este indicat n urmtoarele situaii:
- atunci cnd se msoar semnale care au tensiuni de mod comun ridicate (ca n cazul
mrcilor tensometrice). Intrarea difereniala reduce eroarea produs de tensiunea de mod comun
cu o valoare egal cu rejecia de mod comun a amplificatorului de intrare (uzual, 80 dB sau mai
mare);

58
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

- atunci cnd trebuie efectuate msurtori de la mai multe traductoare care nu au o mas
comun. Prin conectarea tuturor terminalelor LOW ale traductoarelor la un punct comun se pot
produce cureni de mas care pot genera erori de offset i zgomote;
- atunci cnd traductorul este amplasat fizic la distan mare de sistemul de achiziie de
date. Rejecia de mod comun asigurat de o intrare diferenial ofer o bun protecie fa de
zgomotele induse n cablul de msur sau n linia de transmitere a semnalului.
Dei intrrile difereniale sunt ceva mai complicat de utilizat i mai scumpe dect intrrile
cu mas comun, ele asigura n mod obinuit o imunitate la zgomote mai bun.
Rezoluia de intrare definete cea mai mic variaie a semnalului de intrare ce poate fi
detectat de ctre sistem. Rezoluia poate fi exprimat sub form de procente, dar cel mai adesea
ea se exprim n bii. De exemplu, daca vrem s msurm un semnal ntre 0-10V i avem un
convertor A/D pe 8 bii, rezoluia cu care putem msura semnalul de intrare este 10/256 =
0,039V. Pentru a crete precizia de msur trebuie deci s se foloseasc convertoarele analog-
digitale cu rezoluii ridicate.
Rata de eantionare (viteza de eantionare) - reprezint o msur a vitezei cu care placa
A/D poate s scaneze canalul de intrare i s identifice valoarea discret a semnalului fa de
valoarea de referin. Rata de eantionare se exprim uzual n eantioane pe secunda (mai rar n
Hz) i ea este unul din parametrii cei mai importani ai unei interfee analog-digitale. Conform
teoriei eantionrii, un sistem de achiziie de date trebuie s eantioneze un semnal cu o viteza de
cel puin dou ori mai mare dect cea mai mare frecven ce poate exista n semnalul de intrare;
n practic, rata de eantionare minim folosit este trei ori mai mare dect frecvena maxim a
semnalului.
Dac viteza de eantionare este prea mic, din datele (eantioanele) achiziionate se va
obine o form de und complet diferit ca form i de frecven mai mic dect semnalul iniial.
Acest efect este denumit aliasing. Dac semnalul de msurat conine componente cu frecven
mai mare dect jumtate din rata de eantionare, se recomand utilizarea unui filtru anti-aliasing.
Modul de conversie. Unul din cele mai importante aspecte care trebuie avute n vedere la
proiectarea sau analizarea unui sistem de achiziie de date este tipul convertorului analog-digital
folosit. Cele mai des ntlnite tipuri de convertoare A/D sunt:
- cu conversie tensiune/frecven i numrare (V/F counting);
- cu integrare (integrating);
- cu aproximri succesive (successive aproximation);
- paralele (flash);
- delta-sigma pentru rezoluii mari i frecvene de lucru ridicate.

Modul de declanare (triggering) a convertorului A/D este i el un factor important. n


aplicaiile de analiz cu FFT (Fast Fourier Transform = Transformata Fourier Rapid), orice
abatere n timpul dintre eantionri va produce erori considerabile. De asemenea, srirea sau
pierderea unui eantion poate uor s fac datele inutilizabile. Conversia A/D trebuie s fie
iniiat direct de ctre ceasul din hardware sau de ctre un ceas extern. Sistemele care folosesc
rutine soft pentru startarea conversiei sunt pasibile de erori. Porile i declanrile hardware
permit un control mai bun al datelor i reduc consumul de memorie.
De asemenea, prezint importan i modurile de eantionare. Unele plci pot s nceap
achiziia datelor atunci cnd primesc un semnal de declanare i s nceteze achiziia pe baza
unui semnal de oprire conversie. Aceste moduri unt utile atunci cnd datele prezint interes
numai n anumite situaii, atunci cnd se produce un eveniment. Achiziionarea lor continu ar
rezulta ntr-o cantitate mare de date, care nu intereseaz.
Modul de transmitere a datelor. Cea mai mare parte a plcilor (interfeelor) de achiziie
de date transfer informaia fie folosind ntreruperile, fie folosind accesul direct la memorie
(DMA = Direct Memory Acces). n cazul transferurilor iniiate de ntreruperi, apariia unei
59
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

ntreruperi determin oprirea programului ce rula n acel moment pe sistem i saltul la o rutin de
tratare a ntreruperii. n mod obinuit, rutina preia datele de la interfeele de achiziie, le depune
n memorie i execut alte eventuale procesri nainte de a reda controlul programului ntrerupt.
Pe de alta parte, un transfer DMA preia datele de la interfeele de achiziie i le pune direct
n memoria calculatorului. Dup transferarea a 66 KB de date, este necesar reprogramarea
controlerului DMA. Pentru a se evita pierderea de date se poate folosi un tampon de memorie
FIFO care, fiind amplasat chiar pe placa de achiziie, poate memora datele citite pe durata
reprogramrii. O alt soluie poate fi i instalarea unui al doilea canal DMA, ceea ce permite ca
un canal s transfere date n timpul reprogramrii celuilalt.
Avnd n vedere faptul c transferurile DMA sunt controlate complet prin hardware i c
se desfoar n background, ele sunt extrem de rapide. Exista i plci de achiziie foarte
rapide, care utilizeaz memorie amplasat direct pe placa de achiziie, ceea ce face ca ele s nu
fie limitate de viteza magistralei calculatorului.
Pentru aplicaiile mai lente ns, poate fi adecvat transferul iniial de ntreruperi.

2.1. Principiile de baza ale achiziiei de date

Structura unui sistem de achiziie de date cuprinde circuite analogice cu funcii de


prelucrare necesare pentru conversia datelor, circuite pentru conversia analog numeric i
circuite de interfa pentru transferul semnalului numeric rezultat din achiziie la sistemul de
prelucrare numerica, SPN (microcalculator). De asemenea, prin circuitele de interfa se poate
realiza controlul funcionrii sistemului se achiziie de ctre SPN.
Structura unui SAD cu un semnal analogic de intrare (figura 2.2) cuprinde un filtru de
intrare de tipul trece jos, cu rolul de eliminare a erorilor de aliasing care pot rezulta n urma
reprezentrii numerice a semnalelor analogice. Amplificatorul cu ctig programabil din
structura SAD permite mrirea gamei dinamice corespunztoare semnalului analogic de intrare,
pentru care se poate utiliza un sistem de achiziie de date. Gama dinamica (GD) a semnalului de
intrare ui este exprimat n funcie de valoarea maxim a semnalului de intrare uimax i de
valoarea minim impus a se detecta uimin.det . Astfel, relaia de definire a gamei dinamice este

ui max
GD 20 log (1)
ui min.det

FILTRU b1,b2,...,bN
AMPLIFICATOR
DE CU CASTIG CEM ADC
INTRARE PROGRAMABIL

START STARE

SISTEM DE PRELUCRARE NUMERICA (SPN)

Figura. 2.2 Structura unui sistem de achiziie de date cu un semnal analogic de intrare

Sistemul de achiziie de date mai conine n structura sa un circuit de eantionare i


memorare (CEM), care menine semnalul constant la intrarea convertorului analog-digital (ADC)
pe durata conversiei.

60
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

Controlul funcionrii sistemului de achiziie de date este realizat de sistemul de prelucrare


numeric (calculator, microcalculator, sistem cu microprocesor sau microcontroler).
Pentru achiziia mai multor semnale analogice de intrare se impune utilizarea unui circuit
multiplexor. Structura sistemului de achiziie de date cu multiplexarea semnalelor analogice de
intrare este prezentat n figura 2.3.
Structura sistemului de achiziie de date cu multiplexarea semnalelor analogice de intrare
cuprinde un ansamblu CEM - ADC la intrrile cruia se conecteaz succesiv semnalele analogice
de intrare, prin multiplexare n timp.

IN1
IN2
MUX
b1,b2,...,b
N:1
INN
CEM ADC

START STARE

SISTEM DE PRELUCRARE NUMERICA

Figura 2.3. Structura unui sistem de achiziie de date cu multiplexarea semnalelor


analogice de intrare

Achiziia datelor corespunztoare celor N semnale analogice de intrare se realizeaz prin


controlul SAD comandat de sistemul de prelucrare numeric (microcalculator, microcontroler).
Frecvena de achiziie maxim a semnalului pe un canal se reduce n acest caz de N ori fa de
cazul anterior. Dac fes este frecvena de eantionare maxim a ansamblului CEM ADC, atunci
frecvena semnalului pe un canal de intrarea este:
f 2N
f escanal es sau altfel scris, Tescanal (2)
2N Tes

2.2 Interfee PC folosite pentru achiziia de date


Pentru a forma sisteme de achiziie de date cu PC, acestora le trebuiesc ataate plci de
achiziie. Dup modul de conectare exist dou mari categorii de plci i sisteme de achiziie:
- sisteme de achiziie la care plcile sunt conectate n interiorul calculatorului pe una
din tipurile de magistrale interne existente: ISA, EISA, PCI, PCMCIA, VL - Bus
- plci de achiziie care sunt conectate n exterior prin unul din porturile de
intrare/ieire: serial RS 232C sau variantele RS 422, 425, IEEE 488 (GPIB), portul
paralel, USB.

61
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

2.2.1 Magistrala ISA


ISA (Industry Standard Architecture) este arhitectura de magistral utilizat la primul IBM
PC, n 1982. Iniial a fost o magistral pe 8 bii, dar mai trziu a fost extins la 16 bii i utilizat
n modelul IBM PC/AT, lansat pe piaa n 1984.
Exist dou versiuni de magistrale ISA , care se deosebesc prin numrul de bii de date ce
pot fi transferai simultan pe magistral. Versiunea mai veche este magistrala pe 8 bii, iar cea
nou este magistrala pe 16 bii. Versiunea original pe 8 bii era utilizat n PC i XT la 4,77
MHz Varianta pe 16 bii a fost introdus n AT i lucra la 6 MHz i apoi la 8 MHz. Ulterior,
productorii au stabilit la 8,33 MHz valoarea frecvenei standard maxime a versiunilor ISA pe 8
bii i pe 16 bii, pentru a asigura compatibilitatea cu versiunile vechi.
n toate sistemele transferul de date pe magistrala ISA necesit dou pn la opt perioade
de ceas. De aceea, rata teoretic maxim de transfer a magistralei ISA este de 8 M pe secund,
conform formulei :
8 MHz * 16 bii = 128 megabii / secund
128 megabii / secund : 2 perioade = 64 megabii / secund
64 megabii / secund : 8 = 8 megabii / secund
Limea de banda a unei magistrale de 8 bii va fi la jumtate din aceast cifr (4 M /s).
ns, din cauza protocoalelor de comunicaie de pe magistrala I/O, limea de band real este
mult mai mic , n general jumtate din cea teoretic.

Dimensiuni conector ISA pe 8 bii

nlime - 4,2 inci ( 106,68 mm )


lungime - 13, l3 inci ( 333,5 mm )
grosime - 0,5 inci ( 12,7 mm )

Figura 2.4 Conectorul ISA pe 8 bii

62
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

2.2.2. Interfaa paralel


Interfaa paralel se gsete n componena oricrui calculator compatibil IBM-PC, pe
acest port fi conectate pn la trei interfee paralele la un calculator IBM-PC.
n principal pe interfaa paralel se conecteaz imprimanta, dar pot fi conectate i alte
echipamente periferice dac se dispune de un driver soft .
Primul tip de interfa paralel cu care erau echipate primele calculatoare personale,
permitea transferul unidirecional, dar ulterior s-a definit un standardul IEEE1284, care este de
cincizeci de ori mai rapid i permite transferul de date bidirecional . Porturile de astzi, n cea
mai mare parte, respect acest standard. Standardul definete 5 moduri de operare ale acestor
porturi :
- Modul Compatibilitate (Compatibility Mode) unidirecional;
- Modul Nibble ;
- Modul Byte ;
- Modul EPP (Enhanced Parallel Port) ;
- Modul ECP (Extended Parallel Port) .
Primele 3 moduri utilizeaz doar hardware-ul aflat pe plcile de porturi paralele obinuite
(SPP), n timp ce modurile EPP i ECP necesit hardware suplimentar, fiind ns compatibile cu
porturile paralele standard (SPP) .
Pentru a putea primi date, nu numai pentru a trimite, am putea s utilizm modul
Nibble, care utilizeaz 4 bii de date pentru intrare.
Modul Byte este bidirecional i utilizeaz portul paralel n ambele direcii (intrare/ieire),
utiliznd 8 bii pentru transmisia/recepia de date .
Modurile ECP i EPP sunt moduri complexe, genernd i adresnd protocoale (pentru
perifericele cu care lucreaz) .
n principiu, pentru a transmite un octet (byte) la imprimant n modul Compatibilitate,
programul trebuie s efectueze urmtoarele operaii, ceea ce limiteaz viteza de lucru a portului :
- Scrie octetul n registrul de date ;
- Verific dac imprimanta este ocupat(busy) . Dac da, octetul este pierdut, dac nu :
- Pune pinul 1 (STROBE) pe 0 logic. Acesta spune imprimantei c datele sunt corecte
i pot fi citite ;
- Ateapt 5 microsecunde dup care pune pinul 1 n 1 logic .
Porturile EPP i ECP las partea hardware s efectueze paii descrii, n timp ce
programul va transmite doar instruciunile referitoare la pinul STROBE . Astfel viteza de lucru
poate crete pn la 1 megabyte/secund. n pus, modul ECP utilizeaz canalele DMA, ceea ce
nu era posibil n modurile anterioare .
Interfaa paralel comunic cu echipamentele ce se cupleaz printr-un bus paralel pe 8 bii
de date, 5 semnale de stare i 4 semnale control, semnalele ce au nivele logice TTL.
Conectorul portului paralel este de tip DB 25 i are semnificaia pinilor din Tabelul 1.

63
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

Tabelul 1 Pinii corespunztori mufei DB-25


Pin No Pin No Hardware
SPP Signal Direction In/out Register
(D-Type 25) (Centronics) Inverted
1 1 nStrobe In/Out Control Yes
2 2 Data 0 Out Data
3 3 Data 1 Out Data
4 4 Data 2 Out Data
5 5 Data 3 Out Data
6 6 Data 4 Out Data
7 7 Data 5 Out Data
8 8 Data 6 Out Data
9 9 Data 7 Out Data
10 10 nAck In Status
11 11 Busy In Status Yes
Paper-Out / Paper-
12 12 In Status
End
13 13 Select In Status
14 14 nAuto-Linefeed In/Out Control Yes
15 32 nError / nFault In Status
16 31 nInitialize In/Out Control
nSelect-Printer /
17 36 In/Out Control Yes
nSelect-In
18 - 25 19-30 Ground Gnd

8 pini de ieire pentru semnalele de DATE ;


5 pini de intrare (unul inversat) pentru semnalele de STARE
4 pini de ieire (trei inversai) pentru semnalele de CONTROL
8 pini sunt pui la mas

Figura 2.5 Conector DB 25 (tip mam)

64
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

Adresele uzuale pentru porturile paralele sunt prezentate mai jos :


Adresa Observaii
3BCH-3BFH Utilizat de porturile paralele care sunt ncorporate n plcile video
378H-37FH Adres des utilizat pentru LPT1
278H-27FH Adres des utilizat pentru LPT2

Pentru fiecare spaiu de adres interfaa paralel conine 3 regitri:


- registru de stare ce poate fi doar citit ;
- registru de control ce poate fi scris i citit ;
- registru de date ce poate fi scris i citit .

Registrul de stare este un registru de 5 bii prin care se citete starea imprimantei.
Preluarea datelor se face pe 8 bii de date bii 0-2 avnd valoarea 0. Portul de stare are adresa
379H (279H) .

Registrul de comand este un registru pe 8 bii prin care se transmit 4 semnale de comand
pentru imprimant i un semnal pentru controlul ntreruperii, el poate fi scris i citit. Portul de
comand are adresa 37AH (27AH) .

- Bit 4 validare ntrerupere ;


- Biii 5,6,7 sunt n general neutilizai i au n general valoarea 0 la citirea registrului de
comand. Bitul 5 se utilizeaz pentru comanda registrului de date pentru transfer bidirecional
(1 logic pentru trecerea bufferului registrului de date n nalt impedan intrare date).
La citirea registrului de comand se citesc 5 bii pentru portul setat n configuraie normal
i 6 bii pentru configuraia de transfer bidirecional.

Registrul de date e un registru pe 8 bii. Are adresa de selecie 378H, 278H i 3BCH. Sensul
de transfer al datelor este de la calculator la echipamentul ce se conecteaz la interfaa paralel.
Portul de scriere date are adresa 378H (278H) .

Dac se dorete lucru cu ntreruperile atunci se va folosi semnalul ACKNOLEDGE pentru


generarea acestei ntreruperi i se va modifica vectorul de ntreruperi ca acesta s acceseze noua
rutin de tratare a ntreruperii .
Obs. Pentru un sistem de achiziie de date cu transfer bidirecional pe liniile de date se
poate realiza teoretic un flux de transfer de pn la 2Moctei pe secund.

2.2.3 Interfaa serial


Sistemele de achiziie de date cuplate pe interfaa serie au cunoscut n ultimul timp o
dezvoltare destul de important. Aceast dezvoltare se datoreaz faptului c sistemele de
achiziie de date ce comunic pe interfaa serie RS232 prezint urmtoarele avantaje:

65
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

pot fi considerate universale, putndu-se cupla cu orice tip de calculator ce are n


componen acest tip de interfa;
amplasarea lor la locul de generare a semnalului de msur sau n apropierea
acestuia, eliminndu-se erorile de transmisie a semnalelor analogice;
transmisia semnalelor digitale este mai puin perturbat de zgomote dect cea a
semnalelor analogice;
amplasarea convertorului analog-numeric la distan de calculator, elimin
perturbaiile induse de sursele de alimentare n comutaie, monitor, plac de baz
i interfeele calculatorului;
zgomotele au o influen cu att mai mare cu ct semnalele ce trebuie msurate
sunt mai mici i necesit amplificare pe sistemul de achiziie date;
realizarea destul de uoar a izolrii galvanice;
Pentru a realiza izolarea galvanic sistemul de achiziie de date trebuie s dispun de o
surs de alimentare de +/-12V.
Marea majoritate a calculatoarelor dispun de dou interfee seriale, dar pot fi cuplate pn
la patru astfel de interfee pe un calculator, fiind denumite COM1, COM2, COM3 i COM4.
Comunicaia pe acest tip de interfa se face pe trei fire, unul pentru transmiterea datelor, unul
pentru recepia datelor i un fir de mas.
Interfeele seriale au fost realizate la nceput utiliznd circuitul 8250 ( 8251 ) i buffer-ele
pentru conversia de nivel TTL/V.24 SN75188 i SN75189. n prezent se utilizeaz circuitele
16450 i 16550.
Transmisia pe linia serial se face cu semnale care au nivelele de tensiune 3.-5V pentru
1 logic i +3.+15V pentru 0 logic conform standardului V.24. De obicei aceste semnale de
ieire au valoarea de aproximativ 8.-10 i respectiv +8.+10V pentru o transmisie serial
ntre dou calculatoare.
Transmisia pe interfaa serial se face asincron. nainte de iniierea unei legturi de date
ntre cele dou echipamente DTE, se fixeaz urmtoarele:
- viteza de transmisie;
- tipul paritii utilizate (par sau impar);
- durata bitului de stop (acesta putnd fi: 1T, 2T);
Diagrama temporal a unei transmisii seriale a 7 bii, cu un bit de start, bit de paritate i doi
bii de stop este prezentat n figura 2.6

Figura 2.6 Diagrama temporal a unei transmisii seriale pentru standardul RS232

66
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

III. EXEMPLE DE SISTEME DE ACHIZIIE DE DATE

3.1. Plac de achiziie de date pe magistrala ISA de 8 bii.

n continuare se va prezenta un exemplu de plac de achiziie simpl pe magistrala intern


ISA cu transfer pe 8 bii, care are mai multe intrri analogice i o ieire analogic cu rezoluia de
12 bii. Placa se numete 12-Bit A/D D/A Adapter i este produs de firma Decision
Computer International Co., Ltd. Controlul plcii se face software prin generarea de ctre
calculator a semnalelor de care are nevoie pentru funcionare. Placa nu are implementate funcii
de ntrerupere hardware sau de transfer DMA.

Placa este formata din urmtoarele pri principale:


- partea de conversie A/D pe 12 bii, care are 16 canale de intrare analogice
- partea de conversie D/A pe 12 bii, cu un singur canal de ieire analogic
- blocul de decodare a adreselor 1a care lucreaz placa ;
Se poate configura adresa de baz, domeniul de intrare i domeniul de ieire:
Din jumper-ul JP1 se seteaz domeniul adreselor I/O:
- 278H-27FH pentru JP1 poziia 1-2;
- 2F8H-2FFH pentru JP1 poziia 2-3.
Din jumperul JP2 se seteaz domeniul tensiunii de ieire care poate fi:
- unipolar ntre 0 9 V pentru JP2 poziia 3-4 ;
- bipolar ntre -9 V +9 V pentru JP2 poziia 1-2.
Din jumperul JP3 se seteaz domeniul tensiunii de intrare care poate fi :
- unipolar ntre 0 9 V pentru JP3 poziia 3-4 ;
- bipolar ntre 9 V +9 V pentru JP3 poziia 1-2

Harta de adrese a portului I/O pentru placa de conversie 12 bit AD/DA este urmtoarea:
278H / 2F8H : Numrul canalului de intrare A/D (low-nibble)
279H / 2F9H : Intrare cel mai puin semnificativ octet (8 bii ) al conversiei A/D
27AH / 2FAH: Intrare cel mai semnificativ octet al conversiei A/D (4 bii low-nibble)
27BH / 2FBH : Golire regitri A/D
27CH / 2FCH : Bucla de conversie A/D (low)
27DH / 2FDH : Bucla de conversie A/D (high)
27EH / 2FEH : Ieire cel mai puin semnificativ octet al conversiei D/A (8 bii)
27FH / 2FFH : Ieire cel mai semnificativ octet al conversiei D/A (4 bii- low nibble)
Cele dou bucle de conversie A/D high i low sunt folosite n procesul de conversie
analog/digital a semnalului de intrare, dup principiul cu aproximaii succesive.

Descriere schem bloc


Conversia A/D este realizat de un convertor cu aproximaii succesive pe 12 bii. Cuplarea
celor 12 bii ai convertorului A/D la magistrala de date a calculatorului, care are 8 bii se face
prin dou grupe de cte 8 i 4 bufferi cu ieire n nalt impedan. Schema bloc a plcii este
prezentat n Anexa 1
Citirea celor 12 bii se face n doi pai, prin activarea succesiv a celor doi bufferi i citirea
nti a primilor 4 bii mai semnificativi, iar apoi a celor mai puini semnificativi bii (8 bii).
67
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

Semnalele G3 i G4 de activare a bufferilor sunt generate de decodorul de adrese, pentru dou


adrese diferite.
Convertorul A/D este realizat dup principiul cu aproximaii succesive. Pentru realizarea
conversiei el are nevoie de un semnal de tact, care se genereaz software la dou adrese diferite
(semnalele CLK4 i CLK5) pentru stabilirea celor 4 bii mai semnificativi, respectiv a celor 8 bii
mai puin semnificativi.
Selectarea uneia din cele 16 intrri se face din program prin trimiterea unei combinaii (4
bii) corespunztoare canalului de intrare dorit pe pinii de date, la adresa rezervat pentru selecia
canalului de intrare. Memorarea combinaiei respective se face cu ajutorul unui registru de
memorare, activat de semnalul CLK3.
Generarea unei tensiuni analogice de ieire se face prin trimiterea combinaiei numerice
corespunztoare la convertorul D/A. Transferul celor 12 bii se face tot n 2 pai: nti se trimit
cei 4 bii mai semnificativi ai codului la adresa corespunztoare celui mai semnificativ byte i se
memoreaz n registrul de la intrarea DAC-ului; apoi se trimit i ceilali 8 bii mai puini
semnificativi la adresa octetului cel mai puin semnificativ i se memoreaz n registrul
corespunztor de la intrarea DAC-ului (cu ajutorul semnalului semnalului CLK2).
Decodorul de adrese.
Adresarea plcii se face folosind adresele A0 A9 [l0 adrese] din magistrala de adrese.
Pentru a obine un spaiu de adresare continuu (adrese consecutive), blocul de decodare adrese
este format dintr-un bloc care decodeaz adresa de baz a plcii folosind adresele A3-A9 i
semnalele de scriere/citire a dispozitivelor de intrare/ieire IORD , IOWR . Aceste semnale sunt
aplicate unei pori NAND cu 8 intrri (74LS30), care i activeaz ieirea n zero logic pentru 8
adrese superioare plecnd de la adresa de baz. Adresa de baz la care se activeaz decodorul
este selectabil din jumperul JP1 care aplic la intrarea porii NAND8 semnalul de adres A7 sau
A7 negat. Cele dou adrese de baz sunt 278H pentru JP1 n poziia l-2 i 2F8H pentru poziia 2-
3.
CLK4 CLK6
CLK5 G3
CLK2 G2
CLK1 CLK3
10
11
12
13
14
15
7
9
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0

U2

+5V G1
G2B
G2A
G1

74LS138
C
B
A
6
5
4

3
2
1

R2
1k
8

U1
74LS30
JP1
12
11
6
5

4
3
2
1

1
2
3
CON3
3

74LS00 U3B U3C


6

8
2

U3A
10
5

AE\ 74LS00 74LS00


IOWR\ IORD\
A7
A0
A1
A2

A3
A4
A5
A6
A9
A8

Magistrala adrese

Figura 3.1 Schema decodorului de adrese pentru adresele de baz 278H i 2F8H

68
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

Adresele inferioare A0 - A2 se aplic pe intrrile de selecie ale demultiplexorului 74LS138,


permind selecia uneia din ieirile acestuia. Pentru a-i activa ieirile (n 0 logic) n spaiul de
adese al plcii, demultiplexorul are aplicat pe una din intrrile de activare a circuitului semnalul
de la poarta NAND8, mpreun cu semnalul de activare a adreselor AE .

3.2. Plac de achiziie de date pe portul paralel.


Placa de achiziie prezentat este cuplat la PC pe portul paralel n ambele moduri de lucru
ale portului (unidirecional sau bidirecional) i are un canal de intrarea analogic i un canal de
ieire analogic, ambele cu rezoluia de 8 bii. Domeniile de intrarea i de ieire sunt ntre 0 5V.
Modul de funcionare al plcii de achiziie de date poate fi setat dintr-un jumper de pe
plac (JP1), ntr-unul din modurile de transfer ale portului paralel unidirecional sau
bidirecional. Schema bloc a plcii este prezentat Anexa 2.
n modul unidirecional, avem la dispoziie 5 semnale de intrare i 12 semnale de ieire pe
interfaa paralel. Pentru a putea face transferul datelor n acest mod, cei 8 bii de date de la
ieirea convertorului A/D se citesc pe rnd, n grupe de cte 4 bii. Citirea se face n 2 pai :
- se citesc nti 4 bii mai puin semnificativi (low nibble) prin patru intrri ale registrului
de stare ;
- se citesc cei 4 bii mai semnificativi (high nibble) ai rezultatului conversiei A/D prin
aceleai 4 intrri ale registrului de stare .

Pentru aceasta se folosesc semnalele Busy, Acknoledge, Paper End i Select ai registrului
de stare. Aceste semnale ale registrului de stare sunt accesibile la conectorul DB 25 prin pinii 11,
10, 12 i respectiv 13. Separarea i cuplarea acestor grupe de cte 4 octei la intrrile portului se
face cu ajutorul unor bufferi cu ieiri three state, care trebuiesc activai pe rnd, pentru a putea
citi, pe rnd, cei 8 bii de date la doar 4 intrri n portul paralel. Selecia alternant a acestor doi
bufferi se face printr-o intrare de activare (notat cu G), de la acelai semnal de activare, dar
trecut printr-un inversor .
Dup citirea celor 2 grupe de cte 4 bii, data iniial pe 8 bii se recalculeaz prin program.
Cellalt pin de intrare al registrului de stare STROBE este folosit pentru a verifica dac
convertorul A/D a terminat conversia curent .
Convertorul A/D este un convertor pe 8 bii half-flash de tipul ADC0820 produs de Naional
Semiconductor. Este realizat n tehnologie CMOS, are un timp de conversie de 1.5s, tensiunea
de alimentare este de 5V iar domeniul de intrare ntre 0-5V. Convertorul are integrat funcia de
Track and Hold i poate opera independent sau poate fi interfaat cu microprocesor .
Diagrama de funcionare a convertorului n modul independent (stand-alone) WR-RD
este prezentat n figura de mai jos:

Figura 3.2 Forme de und pentru convertorul ADC 0820 n modul stand-alone
69
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

Canalul de ieire analogic este realizat cu convertorul TDA 8702 produs de Philips. Acest
convertor este un convertor rapid ce lucreaz cu rate de conversie de 30MHz, avnd astfel
aplicaii n conversiile D/A de mare vitez, n televiziunea digital , etc.
Pentru realizarea conversiei, TDA8702 nu necesit tensiune de referin extern. Interfaa
digital este compatibil TTL astfel c nu sunt necesare alte circuite de adaptare de nivele ntre
intrrile digitale ale convertorului i pinii de date ai conectorului portului paralel (DB25), care
sunt i ei compatibili TTL. Convertorul conine i un registru intern pe 8 bii pentru stocarea
datelor pe durata conversiei D/A, activat de un semnal extern de clock.

3.3. Plac de achiziie de date pe portul serial RS232.


Pentru realizarea unui sistem de achiziie pe portul serial, datele care trebuiesc transferate
n calculator sau din calculator la sistemul de achiziie trebuiesc convertite n format serial. Cum
numrul de semnale disponibile pe un astfel de port este limitat, sistemul de achiziie va trebui s
aib ncorporat o logic de comand i control care s genereze semnalele necesare funcionrii.
El mai trebuie s conin i circuite pentru comunicaia serial. Schema bloc a unui astfel de
sistem care are 5 canale de intrare analogice cu intrarea ntre 0 5V i un canal analogic de
ieire tot ntre 0 5V este prezentat Anexa 3.
Partea de logic de control, conversia i comunicaia serial sunt realizate cu un
microcontroller PIC 16F870. Tot microcontrollerul mai conine i convertorul A/D pe 10 bii i
partea de multiplexare n timp a celor 5 semnale analogice. Selecia uneia din intrri, a ratei de
eantionare sau a canalului de ieire analogic se face prin trimiterea de ctre PC a unor cuvinte
de cod.
Convertirea semnalului la nivelele specifice logice de pe conexiunea RS 232 ( +0.3 15 V
pentru 0 logic i -315 V pentru 1logic ) se realizeaz cu ajutorul blocului de translaie
nivele logice (MAX 232). Comunicaia fcndu-se n ambele sensuri se folosete un protocol de
comunicaie de tip handsheking cu semnale de tip: DSR, DTR, CTS, RTS.
Canalul de ieire analogic este realizat cu un convertor D/A pe 8 bii cu ieire n curent de
tip DAC 0832. Circuitul are latch intern pentru memorarea combinaiei aplicate la intrare, iar
pentru setarea curentului de ieire, DAC-ul are nevoie de o tensiune de referin Uref.
Curentul generat de DAC variaz n funcie de combinaia pe intrri i de tensiunea de
referin. Curentul de ieire generat de DAC se aplic unui convertor I/U pentru a obine la ieire
o tensiune n domeniul 0 5V.
Transmiterea datelor de la microcontroller la convertorul D/A se face pe pinii porturilor de
ieire RB i RC respectiv, pinii RC0 RC3 i RB4 RB7.. Conectarea celor 5 intrri la intrarea
convertorului A/D se face utiliznd pinii AN0 AN4 ai portului A, pini ce sunt configurai ca
intrri analogice.
Comunicaia serial este asigurat de usart, care transmite i recepioneaz date prin pinii
RC7 i RC6 ai portului de 8 bii PORT C. Aceti 2 pini au i funcia de Rx i Tx, folosii la
comunicaia serial asincron. n schem , aceti 2 pini sunt setai pentru comunicaia serial prin
setarea corespunztoare a registrului TRISC. Pentru celelalte dou semnale, pentru protocolul
harware n comunicaia serial asincron sunt folosii 2 pini ai portului PORT B, respectiv RB1
pentru semnalul CTS i RB2 pentru semnalul RTS. Viteza de comunicaie dintre placa de
achiziie i PC se face cu 9.600 baud/s , iar ceasul microcontroller-ului este de 4 MHz.
Sistemul permite modificarea programului din memoria de program a microcontroller-ului
pe portul serial direct de pe PC. Pentru aceasta se folosete un program numit bootloader, care
este deja ncrcat n memoria microcontroller-ului.
Pinul RB0 al portului PORT B este utilizat pentru testul de la pornire. Acest pin este legat
la 1 logic, iar prin intermediul unui comutator de tip push button se poate pune la mas (n
0 logic). Dac la pornire acest pin este n 0 logic, programul bootloader va scrie n memorie
noul program de aplicaie disponibil pentru ncrcare, transmis pe portul serial de la PC. Dac
70
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

acest pin este n 1 logic, bootloader-ul executa programul de aplicaie deja existent n
memoria microcontrollerului, sau dac aceasta nu exist, va atepta un semnal reset-ul.

IV. DESFURAREA LUCRRII.

Aparatura necesar
- plcile de achiziie + PC
- osciloscop
- generator de semnal
- voltmetru
- software de achiziie, Borland C 3.1

Chestiuni de studiat
- posibilitile de realizare a sistemelor de achiziie de date n funcie de modul de
conectare la PC.
- programarea interfeelor PC pentru controlul plcilor de achiziie.
- achiziia de date i generare de forme de und.

A. Achiziia de date pe magistrala intern ISA


Se va folosi o plac de achiziie intern cu rezoluia de 12 bii conectat pe magistrala
intern ISA de 8 bii. Se verific i se configureaz placa la urmtorii parametri: adresa de baz
278H , intrare bipolar n domeniul [9V, +9V], ieire unipolar n domeniul [0, +9V].

1. Exemple de programare a achiziiei de date n limbajul C.

4.1. Se ruleaz programul de achiziie Achiz_16 care citete valoarea semnalului de pe


cele 16 intrri analogice ale plcii. Se observ valorile tensiunilor citite atunci cnd intrrile sunt
neconectate.

4.2. Se aplic pe una din intrrile plcii (de exemplu CH 0) un semnal continuu ntre -9V
i +9V i se ruleaz din nou aplicaia de achiziie. Se observ valoarea afiat pe ecran i se
compar cu cea msurat cu voltmetrul. Se modific tensiunea de la intrare n domeniul
specificat i se citete valoarea achiziionat. S se modifice programul astfel nct s se afieze
i valoarea combinaiei biilor de intrare i s se calculeze valoarea codului n binar.

4.3. Se va rula aplicaia de achiziie i control Control care citete valoarea semnalului de
pe canalul CH0 al plcii i genereaz un semnal de comand analogic pe ieirea analogic a
plcii. S se stabileasc algoritmul de control (dependena tensiunii de comand de tensiunea de
intrare) i s se msoare tensiunile de intrare i de comand. Valorile acestor tensiuni sunt
salvate n dou fiiere

71
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

4.4. Vizualizarea i prelucrarea dalelor achiziionate la punctul anterior. Se deschide o


sesiune de lucru nou n programul MATLAB.
- Se tasteaz numele programului de vizualizare a datelor achiziionate (viz_date);
- Se introduce calea i numele fiierului ce conine datele: c:\achizit.dat sau c:\comand.dta.

Generarea de semnale forme de und folosind canalul de ieire al plcii.

Se conecteaz osciloscopul la ieirea analogic a plcii.


4.5. Se va genera un semnal dreptunghiular cu perioada de 100ms, amplitudinea de 5V i
factor de umplere 1/2. (programul Dreptung.cpp). Se vizualiza i se msoar semnalul cu
osciloscopul. Se vor modifica din program perioada, amplitudinea i factorul de umplere ai
semnalului generat i se vor msura cu osciloscopul.

4.6. Frecvena maxim a semnalului analogic de la ieire depinde viteza de lucru a


convertorului N/A (timpul de stabilizare), de numrul de eantioane din care este alctuit
semnalul i de rata de transfer maxim a datelor pe magistral i de timpul de execuie al
instruciunilor.

4.7. Se genereaz un semnal dreptunghiular cu amplitudinea de 9V i perioada de 10ms. Se


msoar pe osciloscop perioada semnalului i se compar cu cea teoretic. Se msoar timpului
de execuie al instruciunilor din bucla de generare a semnalului analogic fcnd diferena dintre
perioada semnalului la ieire i perioada teoretic (10ms).

4.8. Se scade perioada semnalului generat sub 10ms i se determin frecvena maxim ce
se poate obine la ieirea analogic.

4.9. S se modifice programul anterior astfel nct s se genereze la ieire semnale de


form sinusoidal i triunghiular. Se vor msura parametrii semnalelor i se vor reprezenta
grafic aceste semnale. Se va observa influena numrului de eantioane ntr-o perioad asupra
acurateii formei semnalelor.

2. Moduri de declanare a achiziiei

Achiziia i reprezentarea grafic a datelor se va face cu programul Datacap.exe. Se


configureaz parametrii pentru achiziia i reprezentarea grafic a semnalelor folosind meniurile
programului.

4.10. Achiziia de date cu prelevarea eantioanelor la intervale de timp egale (modul de


declanare temporizat). Se configureaz placa s lucreze n modul de declanare Time (Analo I/O
-> Setup -> Triggering -> Time) i se stabilete frecvena de eantionare de 18 Hz. Se aplic
pe intrarea plcii semnale dreptunghiulare i sinusoidale de frecven redus i se reprezint
grafic. Se compar cu forma de und ce se vizualizeaz pe osciloscop.
4.11. Evidenierea fenomenului de aliasing. Se crete frecvena semnalului de la intrare
astfel nct s nu mai fie ndeplinit teorema eantionrii. Se compar forma i parametrii
semnalului achiziionat cu cel de pe osciloscop.
4.12 Se aplic la intrare un semnal cu frecvena apropiat de un multiplu al frecvenei de
eantionare (de exemplu 18 Hz) i se vizualizeaz semnalul achiziionat. Se msoar parametrii
semnalului i se compar cu cei ai semnalului de pe osciloscop. Se vor reprezenta grafic cele
dou semnale.

72
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

4.13 Achiziia de date cu declanarea achiziiei n funcie de un semnal extern (triggering).


Se configureaz placa s lucreze n modul de declanare Signal (Analo I/O -> Setup ->
Triggering -> Signal), se stabilete frecvena de eantionare la 18 Hz i se editeaz semnalul de
declanare a achiziiei (de exemplu declanarea se va face n funcie de un semnal analogic
aplicat pe intrarea CH5, pentru valoare mai mare de 2V, iar oprirea achiziiei se va face pentru o
valoare mai mare de 7V a aceluiai semnal). Se aplic semnalul de achiziionat de la generatorul
de semnal pe intrarea CH0, iar semnalul de declanare (o tensiune continu)se aplic pe intrarea
CH5 a plcii.

B. Achiziia de date pe portul paralel LPT1


Pentru achiziia de date pe portul paralel se folosete placa de achiziie prezentat n
Anexa2, care are parametrii: o intrare unipolar n domeniul [0V, +5V], o ieire unipolar n
domeniul [0, +5V], rezoluia pe 8 bii.

Se configureaz placa pentru a lucra cu transfer pe 4 bii sau pe 8 bii. Observaie: modul
de transfer pe 8 bii se alege numai dup ce s-a verificat c portul LPT1 din calculatorul respectiv
permite unul din modurile de configurare bidirecionale (Byte, ECP i EPP) i s-a configurat n
unul din aceste moduri. Se cupleaz placa la portul paralel al unui calculator PC. Se pornete
calculatorul i apoi se alimenteaz placa cu tensiune +12V.
4.14. Se aplic la intrare o tensiune continu intre 0 i 5V i se ruleaz programul de
achiziie pentru transferul pe 4 bii Par_in4.cpp (sau Par_in8.cpp pentru transfer pe 8 bii). Se
msoar tensiunea la intrare cu un voltmetru i se compar cu cea afiat pe ecran.
4.15. Se ruleaz programul pentru generarea unei tensiuni dreptunghiulare la ieirea
analogic i se vizualizeaz semnalul cu osciloscopul. Se va modifica programul astfel nct s
genereze un semnal sinusoidal.
4.16. Se va conecta la intrarea plcii semnalul de la un traductor de temperatur i se va
msura temperatura ntr-o incint. Se va completa un tabel care s conin temperatura, tensiunea
la intrarea plcii i codul numeric corespunztor.

C. Achiziia de date pe portul serial


Se va folosi placa de achiziie prezentat n Anexa 3
4.17. Se conecteaz plac ala portul serial COM1al unui PC. Se alimenteaz placa cu
tensiune simetric 15V i se aplic la intrare o tensiune continu n domeniul 0 - 5V. Pentru
comunicaia pe portul serial se va folosi SerialWatcher configurat pentru urmtorii parametri: 8
bii de date, 1 bit de stop, fr paritate, hard handshaking RTS/CTS, soft handskaking none,
viteza comunicaiei 19200 baud . Datele recepionate se vor salva ntr-un fiier, iar apoi vor fi
reprezentate grafic n Matlab.
4.18. Se va conecta la intrarea AN0 a plcii semnalul de la un traductor de temperatur i
se va msura temperatura ntr-o incint. Se va folosi un program care va recepiona datele n
format serial i va reprezenta grafic evoluia temperaturii n timp.

73
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

Anexa 1. Schema bloc a plcii de achiziie de date pe magistrala intern ISA pe 8 bii

74
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

Anexa 2. Schema bloc a plcii de achiziie cuplat la PC pe portul paralel

75
Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

Anexa 3. Schema bloc a plcii de achiziie cuplat la PC pe portul serial RS 232C

76

S-ar putea să vă placă și