Utilizarea interfetei paralele GPIB in sistemele de achizitii de date
1. Scopul lucrarii
In
cadrul lucrarii se va studia modul in care se configureaza un sistem de
achizitii de date care are ca standard de comunicatie GPIB.
Studiul comunicatiei pe magistrala GPIB va debuta prin prezentarea modului de
instalare si configurare a interfetei. In continuare se vor analiza din punct
de vedere teoretic si practic standardele IEEE 488.1 si IEEE 488.2 - SCPI.
2. Definitii
GPIB (General Purpose Interface Bus) - interfata de comunicatie dedicata
interconectarii instrumentelor de masurare programabile intr-un sistem de
masurare condus de calculator
IEEE 488.1 - Specificatia tehnica in cadrul careia sunt
prezentate caracteristile logice, electrice si mecanice impuse unui sistem de
masurare automat prin interfata GPIB
IEEE 488.2 - Specificatia tehnica in cadrul careia sunt
extinse precizarile specificatiei IEEE 488.1, completate cu definirea precisa a
modului de comunicare controller/instrumente si intrumente/instrumente
SCPI (Standard Commands for Programmable
Instruments) - Specificatia
tehnica prin care se precizeaza un set de comenzi unic si complet pentru
programarea claselor de instrumente cu interfata programabila
Controller (Coordonator) - un echipament asemanator microprocesorului
intr-un calculator, capabil a dirija pachetele de date catre/dinspre
instrumente
Listener (Ascultator) - un instrument capabil a capta datele dupa
magistrala atunci cand ii sunt adresate de catre controller sau vorbitor
Talker (Vorbitor) - un instrument capabil a transmite date pe
magistrala atunci cand este adresat de controller
3. Studiul standardelor IEEE 488.1, IEEE 488.2 si SCPI
3.1. Structura unui sistem automat de masurare
Structura unui sistem automat de masurare utilizand specificatiile GPIB este prezentata in figura 1 avand in componenta:
instrumente
de masurare echipate cu interfata programabila;
cablu
de conexiune special;
placa
dedicata functiei de controller, care poate fi plasata intr-un slot liber al
calculatorului;
drivere
software pentru instrumente si controller;
aplicatie
software care gestioneaza protocolul de comunicatie, achizitia, stocarea,
analiza si afisarea informatiilor.
3.2. Mod de configurare si caracteristici
numarul
instrumentelor interconectate: maxim 15 fara amplicatoare de magistrala.
modul
de conectare: stea, liniar sau combinatii ale acestora avand lungimea totala a
cablurilor de conectare maxim 20 m.
linii de semnal: 16 active, dintre care 8 pentru transferul datelor si 8 pentru managementul comunicarii (Figura 3);
schema
de transfer a unui mesaj: byte serial, bit paralel, asincron utilizand 3 fire
pentru protocolul de comunicatie (handshake);
viteza
de transfer a datelor: 1 Mb/s pentru distante reduse, 250 . 500 kb/s
pentru
lungimea maxima a cablurilor si numar maxim de instrumente conectate;
mod
de adresare: adresa primara, adresa secundara.
Caracteristicile
unui instrument definite ca stari masina conform lui IEEE 488.1 sunt:
T/TE - instrumentul are capacitatea de a vorbi (vorbitor/vorbitor extins);
L/LE - instrumentul are capacitatea de a asculta (ascultator/ascultator extins);
SH - instrumentul poate transmite comenzi sau date utilizand protocolul
specific pe 3 fire (sursa de handshake);
AH - instrumentul poate receptiona comenzi sau date utilizand protocolul
specific pe 3 fire (acceptor de handshake);
R/L - instrumentul permite comutarea intre comanda data de la panoul frontal la
cea de la distanta;
SR - instrumentul poate transmite un mesaj de intrerupere catre controller;
PP - instrumentul permite modul de identificare paralela la o interogare a
controller-ului ca urmare a unei cereri de intrerupere;
DC - instrumentul permite trecerea intr-o stare initiala;
DT - instrumentul permite declansarea executiei unor operatii ca urmare a unei
comenzi primite pe magistrala;
C - este specifica controller-ului si reprezinta capacitatea acestuia de a
transmite adrese, comenzi universale catre instrumentele conectate pe
magistrala pe care o conduce.
Pentru a exemplifica modul de utilizare al codurilor prezentate anterior sa
consideram ca in cartea tehnica a unui instrument de masurare sunt trecute
urmatoarele:
SH1, AH1, T6, L3, SR1, RL2, PP2, DC1, DT0, DT0, C0 ceea ce inseamna:
· posibilitate de vorbitor;
· poate transmite informatii despre starea in care se afla atunci cand este
interogat;
· posibilitate de ascultator;
· existenta unui comutator pentru modul doar ascultator;
· posibilitate de cerere serviciu;
· posibilitate de comanda de la distanta fara blocarea tastaturii locale;
· posibilitate de configurare locala pentru testare paralela in cazul unei
cereri de serviciu;
· posibilitate de stergere completa;
· nu poate fi declansat pentru efectuarea unor operatii;
· nu poate fi utilizat in functie de controller.
Cifrele care insotesc identificatorii sunt definite in cadrul specificatiei
IEEE 488.1.
3.3. Configurarea interfetei instrumentelor
La
osciloscopul HP54600A: |
La
generatorul HP33120A: |
|
|
|
|
La instrumentul virtual:
Meniu HP VEE: I/O --> Instrument
3.4. Protocolul de comunicatie
Liniile de date permit transferul informatiilor sub format byte paralel la un anumit moment de timp. Protocolul de comunicatie utilizeaza pentru transferul informatiilor 4 linii dedicate:
ATN (ATeNtion)
- utilizat de sursa pentru a indica faptul ca un byte de date este pregatit
pentru a putea fi citit, este linia pe care controller-ul indica daca
magistrala de date este in "modul date" (ATN = 0) sau in "modul comenzi" (ATN =
1);
DAV (DAta Valid) - utilizat de sursa pentru a indica
faptul ca un byte de date este pregatit pentru a putea fi citit;
NRFD (Not Ready For Data) - utilizat de
acceptor pentru a indica faptul ca nu este pregatit sa primeasca byte-ul de
date;
NDAC (Not Data ACcepted) - utilizat de acceptor
pentru a indica faptul ca inca nu a citit byte-ul de date pus pe magistrala.
Din punct de vedere logic protocolul lucreaza in logica inversata. Schita protocolului de transfer al informatiilor este urmatoarea:
NRFD = high toti acceptorii sunt pregatiti
pentru un nou transfer;
DAV = low sursa valideaza byte-ul pus pe magistrala de date;
NRFD = low dupa validarea datelor de catre sursa acceptorii trec in starea de
lucru
NDAC = high acceptorii confirma citirea datei de pe magistrala
DAV = high dupa ce toti acceptorii au preluat data, sursa invalideaza data
NDAC = low acceptorii trec in stare de asteptare
NRFD = high toti acceptorii sunt pregatiti pentru alt transfer
Liniile NRFD si NDAC trec in starea high sau low dupa ce toti acceptorii au confirmat starea. Mai precis aceste linii realizeaza un OR-cablat controlat de acceptorul cel mai lent.
3.5. Modul de operare al magistralei
Modul
de operare al magistralei se diferentiaza in functie de starea liniei ATN.
Atunci cand ATN este activat de controller ne gasim in modul comanda.
Controller-ul in acest mod poate configura interfata sau poate realiza diverse
operatii de control.
Atunci cand ATN este dezactivat ne gasim in modul data, iar vorbitorul adresat
transmite byte-urile de date catre ascultatorii adresati.
Legatura intre operatiile efectuate si liniile de semnal pentru managementul
protocolului este:
1. daca un instrument cere un serviciu
controller-ului atunci acesta activeaza linia SRQ;
2. pentru a afla cine a cerut o intrerupere, controller-ul lanseaza in executie
o testare (polling) seriala sau paralela a instrumentelor, prin verificarea
bitului 6 din byte-ul de stare al fiecarui instrument:
- pentru testarea seriala se trece linia ATN in modul date si se lanseaza in
executie comanda SPE (Serial Poll Enable);
- pentru testarea paralela se trece linia ATN in modul date, se activeaza linia
EOI (End Of Identification) si se lanseaza comanda PPC (Parallel Poll
Configure) urmata de PPE (Parallel Poll Enable);
3. pentru transferul controlului magistralei de la un controller la altul se
adreseaza noul controller ca vorbitor si i se transmite comanda TCT (Take
Control);
4. pentru a aduce toate instrumentele de pe magistrala intr-o stare initiala se
activeaza linia IFC (Interface Clear).
|
Partea practica a lucrarii are ca scop: schitarea
sistemului automat de masurare care formeaza platforma experimentala
evidentiindu-se elementele componente; P1. Crearea instrumentelor de tip Direct I/O care sa comunice cu multimetrul HP34401A, generatorul HP33120A, osciloscopul HP54600A.
P2. Pentru a studia activitatea de pe magistrala paralela se
pot interfata toate cele trei instrumente pentru a realiza urmatoarele:
P3. Pentru a salva activitatile dupa magistrala pentru obiectul Bus I/O Monitor se va activa optiunea To File, iar numele fisierul va fi de forma: Grupa_Subgrupa_Nr.asc
Platforma experimentala utilizata este:
Pentru a se intelege modul de operare al interfetei GPIB se vor utiliza instrumentele conectate pe magistrala. Pentru fiecare instrument se va crea un instrument virtual. Adresele acestora vor fi: multimetru: adresa = 12; generator de semnal: adresa = 14; osciloscop: adresa = 16.
Platforma experimentala se va particulariza pentru a simula un sistem automat de masurare care sa permita trasarea caracteristici de amplitudine a unui filtru. Pentru aceasta se vor schita operatiile pe care trebuie sa le execute generatorul, respectiv osciloscopul. In continuare se va dezvolta o aplicatie HP VEE care va utiliza instrumente virtuale tip Direct I/O in care se vor scrie comenzile necesare. |
||||||
|
|||||||
|
In cadrul prereferatului se vor nota: notiuni
generale (topologie), componentele sistemului; |
||||||
|
|||||||
|
In cadrul referatului se vor nota: activitatile
de pe magistrala (fisierele furnizate de monitorul de magistrala),
evidentiindu-se: starea semnalelor, rolul fiecarei componente a sistemului de
masurare in momentul respectiv si operatia care se executa; In final se vor comenta rezultatele. |
4. Cativa algoritmi de protocol
Majoritatea
algoritmilor descrisi in cadrul specificatiei IEEE 488.2 se bazeaza pe o bucla
de cautare parcursa prin modificarea unui pointer proportional cu numarul de
instrumente conectat pe magistrala.
In continuare sunt propuse pentru implementare cativa algoritmi.
4.1. Identificarea instrumentului care a cerut un serviciu
Se initializeaza variabila care descrie numarul
instrumentelor conectate la magistrala.
Se initializeaza pointerul de parcurgere a listei de instrumente.
Se trece magistrala in modul comanda prin activarea liniei ATN
Se transmite comanda UNL si adresa de ascultator a controller-ului (LAG)
Se declaseaza modul de testare seriala prin transmiterea comenzii SPE
Se repeta
Se transmite adresa vorbitorului
selectionat prin valoarea pointerului
Se trece magistrala in modul date (ATN = false)
Se citeste byte-ul de stare si se testeaza bitul 6 (RSQ)
Se incrementeaza pointerul
Se trece magistrala in modul comanda (ATN=true)
Pana cand bitul 6 al byte de stare este
gasit TRUE sau pointerul are valoarea maxima
Se dezactiveaza testarea seriala prin transmiterea comenzii SPD
Se interzice posibilitatea de a vorbi a instrumentelor prin transmiterea
comenzii UNT
Daca bitul 6 este TRUE atunci
Se memoreaza ultima adresa testata
Se memoreaza ultimul byte de stare citit
Altfel se trateaza o eroare
|
Ordinea in care sunt atribuite adresele instrumentelor poate fi importanta atunci cand numarul acestora este mare. Se recomanda atribuirea adreselor pe baza evaluarii prioritatii si a frecventei posibilitatii aparitiei unei cereri de serviciu, pentru a scurta timpul de recunoastere a instrumentului care a cerut serviciul. |
4.2. Detectarea instrumentelor conectate la magistrala
Se initializeaza variabila care descrie numarul maxim de instrumente conectate la magistrala. Se initializeaza pointerul de parcurgere a listei de instrumente. Atata timp cat nu am parcurs toata lista se executa
Nici un ascultator pe magistrala (comanda
UNL)
Se transmite adresa primara corespunzatoare valorii pointerului
Se trece magistrala in modul date (ATN = FALSE)
Se asteapta cel putin 1 ms
Daca controller-ul detecteaza NDAC = TRUE atunci
Se marcheaza adresa respectiva ca verificata
Altfel
Se transmit toate adresele secundare Se trece magistrala in modul date (ATN = FALSE) Se asteapta cel putin 1 ms
Daca NDAC = TRUE atunci
Nici un ascultator (comanda UNL) Se transmite adresa primara a ascultatorului (LAG valoare pointer)
Atata timp cat nu au fost testate toate adresele secundare executa
Se transmite o adresa secundara netestata Se trece magistrala in modul data (ATN = FALSE) Se asteapta cel putin 1 ms
Daca NDAC = TRUE atunci
Se inscrie adresa in lista de adrese Se transmite UNL Se transmite adresa primara (LAG) Se afiseaza lista cu adrese
|
Acesta procedura se executa la inceputul unei aplicatii pentru a stabili lista de instrumente care sunt conectate la magistrala, precum si adresa acestora. Procedura se poate modifica in vederea decsrierii cat mai complete a instrumentului conectat la o adresa prin adaugarea informatiilor referitoare la tipul, versiune, producator utilizand comanda specifica *IDN. Timpul de asteptare de 1 ms se impune pentru a fi siguri ca semnalele pe magistrala s-au stabilizat. |
Tabela ASCII corespunzatoare magistralei GPIB
__________ ______ ____ __________ ______ ____ ____________
ch ctl cmd D H O ch cmd D H O ch cmd D H O ch cmd D H O
___________________ ________________ ________________ __________________
NUL ^@ 0 0 0 sp L0 32 20 40 @ T0 64 40 100 ' SC0 96 60 140
SOH ^A GTL 1 1 1 ! L1 33 21 41 A T1 65 41 101 a SC1 97 61 141
STX ^B 2 2 2 ' L2 34 22 42 B T2 66 42 102 b SC2 98 62 142
ETX ^C 3 3 3 # L3 35 23 43 C T3 67 43 103 c SC3 99 63 143
EOT ^D SDC 4 4 4 $ L4 36 24 44 D T4 68 44 104 d SC4 100 64 144
ENQ ^E PPC 5 5 5 % L5 37 25 45 E T5 69 45 105 e SC5 101 65 145
ACK ^F 6 6 6 & L6 38 26 46 F T6 70 46 106 f SC6 102 66 146
BEL ^G 7 7 7 ` L7 39 27 47 G T7 71 47 107 g SC7 103 67 147
___________________ _______________ ________________ __________________
BS ^H GET 8 8 10 ( L8 40 28 50 H T8 72 48 110 h SC8 104 68 150
HT ^I TCT 9 9 11 ) L9 41 29 51 I T9 73 49 111 i SC9 105 69 151
LF ^J 10 a 12 * L10 42 2a 52 J T10 74 4a 112 j SC10 106 6a 152
VT ^K 11 b 13 + L11 43 2b 53 K T11 75 4b 113 k SC11 107 6b 153
FF ^L 12 c 14 , L12 44 2c 54 L T12 76 4c 114 l SC12 108 6c 154
CR ^M 13 d 15 - L13 45 2d 55 M T13 77 4d 115 m SC13 109 6d 155
SO ^N 14 e 16 . L14 46 2e 56 N T14 78 4e 116 n SC14 110 6e 156
SI ^O 15 f 17 / L15 47 2f 57 O T15 79 4f 117 o SC15 111 6f 157
___________________ _______________ ________________ __________________
DLE ^P 16 10 20 0 L16 48 30 60 P T16 80 50 120 p SC16 112 70 160
DC1 ^Q LLO 17 11 21 1 L17 49 31 61 Q T17 81 51 121 q SC17 113 71 161
DC2 ^R 18 12 22 2 L18 50 32 62 R T18 82 52 122 r SC18 114 72 162
DC3 ^S 19 13 23 3 L19 51 33 63 S T19 83 53 123 s SC19 115 73 163
DC4 ^T DCL 20 14 24 4 L20 52 34 64 T T20 84 54 124 t SC20 116 74 164
NAK ^U PPU 21 15 25 5 L21 53 35 65 U T21 85 55 125 u SC21 117 75 165
SYN ^V 22 16 26 6 L22 54 36 66 V T22 86 56 126 v SC22 118 76 166
ETB ^W 23 17 27 7 L23 55 37 67 W T23 87 57 127 w SC23 119 77 167
___________________ _______________ ________________ __________________
CAN ^X SPE 24 18 30 8 L24 56 38 70 X T24 88 58 130 x SC24 120 78 170
EM ^Y SPD 25 19 31 9 L25 57 39 71 Y T25 89 59 131 y SC25 121 79 171
SUB ^Z 26 1a 32 : L26 58 3a 72 Z T26 90 5a 132 z SC26 122 7a 172
ESC ^[ 27 1b 33 ; L27 59 3b 73 [ T27 91 5b 133 SC29 125 7d 175
RS ^^ 30 1e 36 > L30 62 3e 76 ^ T30 94 5e 136 ~ SC30 126 7e 176
US ^_ 31 1f 37 ? UNL 63 3f 77 _ UNT 95 5f 137 DEL SC31 127 7f 177
__________ ______ ____ __________ ______ ____ ____________
GTL Go To Local. PPU Parallel Poll Unconfigure.
SDC Selected Device Clear. SPE Serial Poll Enable.
PPC Parallel Poll Configure. SPD Serial Poll Disable.
GET Group Execute Trigger. L0-L30 Listen addresses (32+ADDR).
TCT Take Control. UNL Unlisten (= L31).
GTL Go To Local. T0-T30 Talk addresses (64+ADDR).
LLO Local Lockout. UNT Untalk (= T31).
DCL Device Clear. SC0-SC31 Secondary commands (96+ADDR).
__________ ______ ____ __________ ______ ____ ____________
NOTATII.
ch caracterul ASCII
cmd atunci cand magistrala de date este in modul de lucru COMANDA
D,H,O codul zecimal, hexa si octal corespunzator caracterului ASCII
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |