IEEE-488

IEEE-488 on digitaalne 8-bitine paralleelliides, mis on eelkõige mõeldud mõõte- ja testseadmete ühendamiseks arvutiga. Siini disainimisel loodeti saavutada optimaalset andmeedastuskiirust vältides liigsete liinide kasutamist. Tulemuseks on 24 liiniga siin, millest andmeedastuse jaoks on eraldatud 8 liini. Siin lubab ühendada korraga 15 seadet, millest üks on süsteemi kontroller. IEEE-488 on tuntud ka kui GPIB ("General Purpose Interface Bus").
Siini ajaloost.
Algupärase siini valmistas aastal 1965 firma Hewlett-Packard ja kandis nime HPIB ("Hewlett Packard Interface Bus"). Siin oli mõeldud HP programmeeritavate seadmete ühendamiseks ja juhtimiseks. 1975. aastal standardiseeris IEEE ("Institute of Electrical and Electronic Engineers") antud liidese, määratledes selle elektrilised, mehaanilised ja funktsionaalsed parameetrid. Standardi tunnuseks sai IEEE-488. 
1978. aastal täiendati standardi dokumentatsiooni, kuid jätkuvalt ei sisaldanud dokument formaadi ega süntaksi sätteid. Siini populaarsus kasvas ja tekkis vajadus erinevate testsüsteemide ühendamisel tagada ühilduvus ja konfigureeritavus. Edasise töö eesmärk oli tagada konfigureeritavus ja ühildavus erinevate testsüsteemide vahel. Tulemusena töötati 1978. aastal välja standard IEEE-488.2, mis tõi kaasa veatöötluse, määras sõnumite süntaksi ja kasutavad andmestruktuurid. 
1990. aastal ilmus SCPI ("Standard Commands for Programming Interface"), mis võttis standardi IEEE-488.2 käsustruktuurid ja lõi ühe kompleksse programmeerimiskäskude kogu, mida saab kasutada iga SCPI-d kasutava instrumendi juures. Kõige hilisem versioon on HS-488 ("High-Speed IEEE-488"), mis toodi avalikkuse ette 1993. aastal ja mille töötas välja National Instruments.
Ühendamine.
Üldjuhul on GPIB-ühenduspesal emane ja isane ühenduslüli. See võimaldab seadmeid lihtsal viisil juurde liita. Lisaks on GPIB-pesal kinnituskruvid, mis fikseerivad pesad. Seadmed ühendatakse "Daisy Chain" viisil. GPIB-süsteemis võib kasutada seadmete jadaühendust, tähtühendust või nende variatsioone.
IEEE-488 siini ühendamiseks arvutiga kasutatakse enamasti GPIB-laienduskaarte, mis paigutatakse arvuti emaplaadi ISA- või PCI-pessa. Saadaval on ka GPIB/USB-üleminekud.
GPIB-siin koosneb :
Piirangud.
Tagamaks süsteemi normaalset toimimist peab kinni pidama järgmistest nõuetest :
Andmevahetus.
IEEE-488 kasutab asünkroonset bait-jada andmeedastusskeemi. See tähendab, et andmeühikuks on bait ja infot saadetakse järjestikuselt, kiirusel, mille määrab kõige aeglasem seade. Siini maksimumkiirus on 1 MB/s.
GPIB-ühenduses võib seade täita kolme erinevat ülesannet, olles kontroller, kuulaja või saatja. Ühel ajahetkel saab seade esineda vaid ühes olekus.
Ühendusliinid.
Madal signaal tähendab loogilist ühte ("true") ja kõrge signaal loogilist nulli ("false").
Kätlemine ("handshake").
GPIB kasutab 3 juhtme kätlust. Käskude saatmise korral peavad kõik seadmed kätlemisest osa võtma, aga andmete edastamise korral kätlevad ainult kuulajad. See võimaldab kiiret andmeedastust kahe kiire seadme vahel ka juhul kui siini külge on ühendatud palju aeglasem seade.
Kätlemisetapid:
kõik seadmed on valmis andmeid vastu võtma.
käsu asetamist andmeliinidele seab kontroller DAV-liini madalaks, kinnitamaks käsu informatsiooni kehtivust.
Sellise toiminguga näitavad seadmed, et on tuvastanud uue infobaidi andmeliinidel, kuid pole veel seda kätte saanud.
Kätlemine on analoogne kui andmeid edastab saatja, vaid ATN-liin on kõrges olekus ja kätlemises osalevad ainult aktiivses olekus kuulajad.
Adresseerimine.
Siinil töötavate seadmete eristamiseks kasutatakse 5-bitist siiniaadressi. Seadmed võivad aadressi vabalt valida, juhul kui see ei kattu ühegi olemasolevaga. Aadressid on kahte sorti, primaarsed ja sekundaarsed. Ühel primaaraadressil võib olla kuni 32 sekundaaraadressi. Keerulisemate süsteemide puhul võivad primaaraadressid alamsüsteemide puhul kattuda, kuid siis erinevad sekundaaraadressid. 
Juhtkäskude saatmisel kasutab süsteemi kontrollel seitset andmeliini, kus bitid 0–4 viitavad adresseeritava seadme primaaraadressile. Bitte 5 ja 6 kasutatakse, et panna mingi seade, kas kuulaja või saatja rolli. Väärtustades 5. biti ühega, kästakse seadmel kuulata ja kui 6. bitt omab väärtust üks, siis asetub seade saatja rolli. Seitsmenda biti väärtust ignoreeritakse ehk väärtus loetakse alati nulliks. Sekundaaraadressile sõnumi saatmisel tuleb kõigepealt aktiveerida primaaraadress ja seejärel käsu saatmisel määrata nii viies kui ka kuues bitt üheks.