Sisteme de Achizitie de Date Cu Pc-ul

download Sisteme de Achizitie de Date Cu Pc-ul

of 20

Transcript of Sisteme de Achizitie de Date Cu Pc-ul

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    57

    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.;

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    58

    - 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);

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    59

    - 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

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    60

    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

    GD uu

    i

    i 20 log max

    min.det (1)

    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.

    FILTRU DE

    INTRARE

    AMPLIFICATOR CU CASTIG

    PROGRAMABIL

    CEM

    ADC

    SISTEM DE PRELUCRARE NUMERICA (SPN)

    START STARE

    b1,b2,...,bN

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

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    61

    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.

    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:

    N2f

    f esescanal sau altfel scris, es

    escanal TN2T (2)

    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.

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

    CEM

    ADC

    SISTEM DE PRELUCRARE NUMERICA

    START STARE

    b1,b2,...,b

    MUX

    N:1

    IN1 IN2

    INN

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    62

    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.

    Figura 2.4 Conectorul ISA pe 8 bii

    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 )

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    63

    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.

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    64

    Tabelul 1 Pinii corespunztori mufei DB-25 Pin No

    (D-Type 25) Pin No

    (Centronics) SPP Signal Direction In/out Register Hardware 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

    12 12 Paper-Out / Paper-End In Status

    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

    17 36 nSelect-Printer / nSelect-In In/Out Control Yes

    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)

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    65

    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:

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    66

    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

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    67

    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).

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    68

    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.

    CLK5

    U3C

    74LS00

    9 10

    8

    CLK4

    A8

    G3

    A9

    U2

    74LS138

    1236 45

    15

    14

    13

    12

    11

    10

    97

    ABCG1

    G2A

    G2B

    Y0

    Y1

    Y2

    Y3

    Y4

    Y5

    Y6

    Y7

    CLK2

    AE\

    A2A1

    U1

    74LS30

    12345611

    12

    8

    A7A6

    U3B

    74LS00

    456

    +5V

    A5

    JP1

    CON3

    123

    R2

    1k

    CLK3

    A3

    CLK6

    IOWR\

    A4

    IORD\

    A0

    Magistrala adrese

    G1

    U3A

    74LS00

    123

    CLK1

    G2

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

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    69

    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

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    70

    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

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    71

    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

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    72

    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.

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    73

    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.

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    74

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

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    75

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

  • Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 5

    76

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