IEEE 488
Tomislav Ribarić & Amir Omahić
IEEE-488 je standard
koji definira digitalno sabirničko sučelje (interface) opće namjene, a koristi se za
povezivanje računala i programabilnih mjernih uređaja, pored toga omogućuje
komunikaciju između instrumenata različitih proizvođača. Hewlett-Packard je prvobitno razvio sabirničko sučelje, te ga nazvao HP-IB (Hewlett-Packard Interface Bus). Kako je sučelje ubrzo postalo popularno u računalnoj industriji, zbog svoje svestranosti, IEEE povjerenstvo je prihvatilo HP sučelje, te ga preimenovalo u GPIB (General Purpose Interface Bus). Standard sabirničgog sučelja poznat je još pod sljedećim nazivima:
|
IEEE-488 sabirnica opisana je standardima ANSI, MC 1.1, IEC 625-1, B.S. 6146, pri čemu
se zadnja dva razlikuju od prethodnih samo u tipu konektora.
Skoro svaki instrument se može koristiti s IEEE-488 standardom jer standard ne propisuje
funkcije pojedinog instrumenta niti oblik podatka kojeg instrument šalje ili prima.
Standardom IEEE-488 su u potpunosti opisane mahaničke karakteristike (konektori, kablovi,
spajanja), električke karkateristike (logički nivoi, protokoli), funkcionalne
karakteristike, dok operacijske karakteristike (set funkcija uređaja upravljanog od
strane međusklopa IEEE-488) nisu obuhvaćene.
IEEE-488 opisuje dvosmjernu, asinkronu sabirnicu koja omogućuje byte-serijsku komunikaciju brzinom do 1MB/s. Na sabirnicu je moguće priključiti 1 kontroler, te 1 do 14 uređaja u strukturu koja može biti linijska ili zvjezdasta (Slika 1.).
Slika 1. Struktura sabirnice.
Dužina sabirnice između dva susjedna uređaja ne smije prelaziti 2 m, dok je ukupna dužina sabirnice za sve uređaje na sabirnici 20 metara.
Sabirnica koristi standardne TTL naponske nivoe negativne logike, tj.niska naponska razina predstavlja logičku jedinicu
Uređaj priključen na sabirnicu, ovisno o funkciji koju obavlja u nekom trenutku, može biti:
- upravljač (controller) -uređaj može preuzeti upravljanje sabirnicom
- govornik (talker) -uređaj može slati podatke drugim uređajima
- slušatelj (listener) -uređaj može primati podatke od govornika ili upravljača
Pojedini uređaji mogu sadržavati više od jedne navedene funkcije,
tj. mogu biti slušatelji i govornici. Moguće je na sabirnici imati nekoliko upravljača,
ali samo jedan od njih smije biti aktivan u bilo kojem trenutku.Aktivni upravljač provodi
kontrolu sabirnice za sve instrumente na sabirnici. Aktivni upravljač može predati
kontrolu drugom upravljaču, koji može prihvatiti kontrolu ili je prosljediti drugom
upravljaču. Na sabirnici može biti aktivan samo jedan govornik, dok
ostalih 14 uređaja može istovremeno imati funkciju slušatelja. Minimalni sustav sastoji
se od jednog upravljača, te jednog govornika ili slušatelja.
OPIS LINIJA SABIRNICE IEEE-488
Sabirnica se sastoji od 16 signalnih linija i 8 linija mase. Šesnaest
signalnih linija moguće je podijeliti u tri osnovne grupe:
- dvosmjernu sabirnicu podataka od 8 bita (DIO1 - DIO8)
- sabirnicu za upravljanjem prijenosa podataka - engl. handshake lines (DAV, NRFD, NDAC)
- upravljačku sabirnicu opće namjene (ATN, SRQ, REN, IFC, EOI)
IEEE-488 definira signale na svih 24 kontakata (pinova) konektora (Tablica 1.).
Pin | Signal | Oznaka | Izvor |
1 | bit 1 podatka | DIO1 | govornik |
2 | bit 2 podatka | DIO2 | govornik |
3 | bit 3 podatka | DIO3 | govornik |
4 | bit 4 podatka | DIO4 | govornik |
5 | End Or Indentity | EOI | govornik/upravljač |
6 | Data Valid | DAV | upravljač |
7 | Not Ready For Data | NRFD | slušatelj |
8 | No Data Accepted | NDAC | slušatelj |
9 | Interface Clear | IFC | upravljač |
10 | Service Request | SRQ | govornik |
11 | Attention | ATN | upravljač |
12 | Shield | - | - |
13 | Data Bit 5 | DIO5 | govornik |
14 | Data Bit 6 | DIO6 | govornik |
15 | Data Bit 7 | DIO7 | govornik |
16 | Data Bit 8 | DIO8 | govornik |
17 | Remote Enabled | REN | upravljač |
18 | Ground DAV | - | - |
19 | Ground NRFD | - | - |
20 | Ground NDAC | - | - |
21 | Ground IFC | - | - |
22 | Ground SRQ | - | - |
23 | Ground ATN | - | - |
24 | Logical Ground | - | - |
Tablica 1.
Izgled konektora:
'muški' | 'ženski' |
IEEE-488 sučelje je programirano vršiti funkciju sistemskog upravljača, te za vrijeme
uključivanja napajanja preuzima ulogu aktivnog upravljača. Sistemski upravljač
posjeduje nekoliko jedinstvenih mogućnosti, uključujuči mogućnost slanja naredbe IFC
(Inerface Clear) i REN (Remote Enable). Naredba IFC čisti sva sučelja uređaja i vraća
kontrolu sistemskom upravljaču. Naredba REN dopušta uređaju koji je adresiran
pristup podatkovnoj sabirnici, kako bi slušao.Sistemski upravljač može po volji predati
kontrolu drugom upravljaču, koji tada postaje aktivan upravljač.
PRIJENOS PODATAKA
Podatkovne linije (DIO1 - DIO8)
koriste se za prijenos adresa, kontrolnih riječi i podataka. Oblik adrese i kontrolnih
riječi definiran je IEEE-488 standardom. Podaci se putem sabirnice
prenose u 7-bitnom ASCII formatu (ili binarnom), dok se osmi bit može koristiti kao
kontrolni bit, tj. kao bit pariteta. DIO1 je definiran kao bit najmanjeg značenja.
Pri upravljanju prijenosa podataka koriste se tri linije (handshake line - NRFD, NDAC,
DAV). One kontroliraju prijenos podataka do uređaja i koriste metodu potvrde prijema
podatka od strane uređaja. Prijenos podataka rukovanjem garantira da će podaci na
podatkovnoj liniji bit poslani i primljeni bez greške.
Liniju NRFD postavlja slušatelj kako bi pokazao da još nije
spreman za sljedeći podatak ili kontrolnu riječ.
Liniju NDAC postavlja slušatelj kako bi pokazao da još nije
primio podatak ili kontrolnu riječ.
Liniju DAV postavlja govornik kako bi pokazao da je podatak ili
kontrolna riječ postavljena na podatkovne linije i da je potrebno neko vrijeme da podaci
postanu valjani.
Opis prijenosa podataka rukovanjem (engl. handshaking):
- kada upravljač ili govornik zažele poslati podatak, on postavlja liniju DAV visoko (podaci na sabirnici nisu stabilni), zatim provjerava da li su linije NRFD i NDAC nisko, te zatim postavlja podatke na podatkovne linije (DIO1 - DIO8)
- kada su svi uređaji koji mogu primati podatke spremni, svaki od njih postavlja svoju liniju NRFD visoko
- nakon što posljednji uređaj postavi liniju NRFD visoko, upravljač ili govornik postavlja DAV liniju u nisko, što indicira da su podaci stabilni na podatkovnim linijama
- svaki uređaj stavlja liniju NRFD nisko (indikacija da je zauzet) i postavlja NDAC visoko kada je prihvatio sve podatke
- kada posljednji uređaj primi podatke, linija NDAC odlazi visoko, te upravljač ili govornik postavljaju liniju DAV visoko kako bi prenjeli sljedeći byte podatka
U slučaju da nakon postavljanja linije DAV visoko, upravljač ili govornik primjete da su obje linije NRFD i NDAC visoko doći će do greške. Isto tako ako bilo koji uređaj preskoči svoje dio u izvođenju 'handshake' i oslobodi bilo koju od linija (NDAC ili NRFD) podaci neće biti preneseni sabirnicom, te će doći do greške.
Slika 2. Vremenski dijagram.
UPRAVLJČKE LINIJE:
Pet upravljačkih linija (ATN, EOI, IFC, REN, SRQ)
upravljaju tokom kontrolnih i podatkovnih riječi kroz sučelje.
ATN (Attention) signal postavlja upravljač kako bi pokazao da li se na podatkovnim linijama nalazi adresu ili kontrolnu riječ. Ako je linija ATN nisko tada govornik može postaviti status ili podatak na podatkovne linije. Upravljač preuzima kontrolu postavljajući liniju ATN visoko, to se vrši sinkronizirano zajedno s 'handshake' kako bi se izbjeglo mješanje kontrolne riječi i podataka na podatkovnim linijama.
ATN = TRUE - na sabirnici je naredba ili adresa uređaja
ATN = FALSE - na sabirnici su podaci
SRQ (Service Request) signal sličan je zahtjevu za prekid. Može biti postavljen od bilo kojeg uređaja na sabirnici kao zahtjev upravljaču za daljnje djelovanje. Upravljač mora utvrditi koji od uređaja je postavio signal SRQ koristeći serijsko prozivanje. Nakon što upravljač pronađe uređaj, taj uređaj oslobađa SRQ liniju.
REN (Remote Enable) signal postavlja jedino sistemski upravljač. Njegovo postavljanje ne postavlja uređaj u 'remote control mod', već omogućuje uređaju da pređe u 'remote mod' kada je adresiran da sluša. Kada je uređaj u modu tada ignorira svoje lokalne komande.
IFC (Interface Clear) signal postavlja jedino sistemski upravljač, kako bi inicijalizrao sva sučelja uređaja u neaktivno stanje. Nakon deaktivacije IFC linije sistemski upravljač postaje aktivnim upravljačem.
EOI (End Of Identify) signal ima dvije uloge. Govornik može postaviti liniju EOI simultano sa zadnjim bytom podatka tada to predstavlja kraj poruke, a ako upravljač postavi liniju EOI zajedno s linijom ATN tada inicira paralelna prozivanje.
ADRESIRANJE UREĐAJA NA SABIRNICI
Adrese uređaja na sabirnici kreću se od 0 do 30. Svaki uređaj koji se
nalazi na sabirnici mora imati jedinstvenu primarnu adresu, a pored toga može mu se
definirati sekundarna adresa koja može poprimiti vrijednosti od 0 do 30. Adresa pojedinog
uređaja mijenja se pomoću sklopki na stražnjoj strani uređaja ili upravljanjem s
prednje ploče instrumenta. Pojedini mjerni instrumenti imaju unaprijed definiranu adresu
proizvođača. Upravljač obavlja adresiranje pojedinog uređaja preko linija DIO1 - DIO8
uz aktivan signal ATN. Prvih pet bitova (DIO1-DIO5) predstavlja adresu, dok ostali bitovi
(DIO6, DIO7) određuju dali se radi o slušatelju (DIO7=0, DIO6=1) ili o govorniku
(DIO7=1, DIO6=0). Dvije kombinacije bitova koriste se kao univerzalne naredbe za prekid
aktivnosti svih slušatelja, tj. svih govornika. To su naredbe za prekid prijema podatka
UNL (unlisten), te naredba za prekid slanja podatka UNT (untalk). Pojedini uređaji na
sabirnici mogu imati adresu od 2 byta, te takve uređaje nazivamo proširenim
govrnikom/slušateljom (extended talker/listener).
ZAHTJEV ZA POSLUŽIVANJE
Pojedini uređaji mogu zahtijevati posluživanje od upravljača (npr. kada
neki uređaj završi mjerenje ili kada se pojavi neka greška...). Zahtjev se šalje
upravljaču postavljanjem linije SRQ u nisko. Nakon što upravljač primi zahtjev za
posluživanje, tada proziva sve uređaje na sabirnici kako bi pronašao uređaj koji je
poslao taj zahtjev. Taj postupak naziva se prozivanje (engl. polling). Kod IEEE-488
sabirnice postoje dve vrste prozivanja: serijsko i paralelno.
Serijsko prozivanje
Nakon što upravljač zaprimi zahtjev za posluživanjem od strane nekog
uređaja prelazi se u prozivanje slanjem naredbe SPE (serial poll enable). Upravljač
zatim redom adresira sve uređaje kao govornike uz aktivni signal ATN. Nakon što je
adresirani uređaj prihvatio
poruku prozivke, linija ATN se oslobađa, a prozvani uređaj, ukoliko je zahtijevao posluživanje, postavlja liniju DIO7 u nisko. Po završetku prozivke upravljač šalje naredbu SPD (serial poll disable) kako bi obavijestio ostale uređaje da je prozivanje završeno.
Paralelno prozivanje
Nakon zahtjeva za posluživanjem status svih uređaja na sabirnici se
određuje istovremeno. Uređaji moraju imati mogućnost da im se pri konfiguriranju za
paralelnu prozivku mogu pridružiti pojedine linije podataka DIO1 - DIO8, te da stoga
takvih uređaja nema više od 8 na sabirnici. Upravljač proziva uređaje
istovremeno postavljanjem linija ATN i EOI. U ređaj koji je zahtijevao posluživanje
postavlja njemu pridruženu liniju sabirnice (DIO×) nisko.
IEEE-488.1 standard uveliko pojednostavljuje međusobno spajanje programabilnih instrumenata uz pomoć strogo definiranih mehaničkih, sklopovskih i električkih protokola. Pojavom ove sabirnice po prvi puta su se mogli povezati uređaji različitih proizvođača pomoću standardnog kabla. Ovaj standard ne definira format adrese podataka, statusne izvještaje, protokole izmjenjivanja poruka, tipične konfiguracijske komande ili specifične naredbe uređaja.
IEEE-488.2 standard proširuje i pojačava IEEE-488.1standard definirajući format podataka, statusne izvještaje, utvrđivanje greške i zajedničke komande uređaja. IEEE-488.2 najviše je usredotočen na pitanja programskih protokola i što veću kompatibilnost s uređajima orijentiranih na IEEE-488.1 standard. IEEE-488.2 sustavi teže za što većom kompatibilnošću i pouzdanošću.
LINKOVI:
[1] www.ieee.com
[2] www.hp.com