REFERENTNI
STANDARDI
|
Benchmarking
je vrlo zbunjujuca tema gdje netko specificira vrlo specificne vrijednosti
cija stvarna povezanost sa stvarima koja ta osoba zeli znati nije ništa
više od aproksimacije. Ima više
oznaka ovog pojma,kao ono što cini "benchmarking"
(dobro utvrdjene cinjenice),i što ga razlikuje od loše izvedenice tog
pojma. U slucaju
HPIB-a postoji mnogo takvih standarda.Korisnici zele procjenu o
perfomancama (u kbp/s), tako da znaju mogu li iskoristiti HPIB aplikaciju
sa specificnom HPIB karticom. Dva su tipa
ispitivanja potrebna:tipicni "benchmarking",i ispitivanje
maksimuma perfomanci.To se obicno radi
korištenjem racunala i jednostavnih instrumenata(HP 34401
"Alf" DMM je
trenutno popularan),i tada se ispituju svojstva na tipicnim korisnickim
aplikacijama. Svojstva
sistema ovise o 4 stvari: §
Brzini PC racunala: najjednostavnije prosudbe daje brzina
njegovog procesora,ali to ne mora puno znaciti,jer treba uzeti u obzir
koliko su podaci koje on obradjuje veliki,npr. 16 ili 32 bita,razlicite
velicine RAM memorije i njezine brzine,brzina graficke kartice,hard
diska,da li se rade ispitivanja u DOS ili Windows okruzenju §
odabiru u kojem cemo jeziku pisati program s kojim cemo
raditi testJednostavni pokazni program poslao bi samo naredbu i procitao izlazne vrijednosti.Bolji programi ce
uzeti u obzir svojstva grafickih kartica,spremaju povratne podatke u
datoteku,rade provjeru statusa i grešaka,emuliraju jednostavne aplikacije
za biljezene podataka. §
Tipu HPIB kartice upotrijebljene u racunalu,no to najmanje
utjece na rezultate §
Brzina kojom instrument moze komunicirati sa okolinom.Ovo
je jako bitna znacajka.HPIB je dizajniran tako da ostali uređaji ne mogu
"govoriti" brze nego što ostali uređaji mogu "slušati"
i naravno jedan uređaj ne moze "slušati" brze nego što drugi
mogu govoriti Mnogi
benchmark programi traze specificne instrumente za provedbu testiranja. Tipicni
programi također ne uzimaju u obzir svojstva HPIB kartica ,zato što bi
svaka takva kartica trebala raditi na gotovo svakom sistemu.Brzina ce u
prvom redu biti određena brzinom racunala i test programa,zato što je u
udio prijenosa podataka preko HPIB malen u odnosu na ukupni prijenos
podataka Ispitivanja
koja ispituju maksimum svojstava su optimizirana da se dobiju maksimalni
rezultati kod operacija na HPIB karticama. Sljedece
cetiri stvari cine ovakvu vrst ispitivanja: §
Brzina PC-a je optimizirana,tj.u njemu se eliminira sve
ono što bi pogoršalo rezultate ispitivanja,i poboljšanje svega onog što
je u racunalu ostalo,oslobađanje što je više moguce memorije.Hard
diskovi ce se
defragmentirati,velicine disk-cachea ce biti uvecane,a kompresirani
diskovi nece se koristiti (zato što algoritmi za kompresiju podataka
usporavaju spremanje podataka). PC konfiguracije,iako npr.neke potpuno iste mogu dati iznenađujuće
razlicite rezultate §
Program ce
biti optimiziran da mu se poveca sirova brzina.Bit ce pisan tako da
omoguci što brzi prijenos podataka od instrumenta-kao i da se koriste
veliki blokovi podataka. Treba voditi racuna o tome da
li cemo uredaj koristiti u zahtjevnim operacijama.To obicno nema puno
utjecaja ukoliko imamo dobru ispitnu opremu ·
brzina HPIB kartice postaje vazna u zahtjevnim
operacijama, i to je u danasnje vrujeme postalo usko grlo svakog
mjerenja.Takodjer su vazni i sami konektori ,zato sto dolazi do problema u
prijenosu ukoliko je dodano još kabela mjernom sistemu.Zato je potrebno
duzine prikljucnih kabela svesti na minimum.To je dobro i iz razloga što
je moguce reprogramirati HPIB za brzu komunikaciju preko sabirnica ·
brzina instrumenta je takodjer vrlo znacajan faktor za
zahtjevna ispitivanja.Ima relativno malo instrumenata koji us sposobni za
komunikaciju na brzinama iznad 250 kbp/s,vecina ih operira na brzinama
ispod 100 kbp/s. Na kraju treba vidjeti što nam ustvari treba.Skuplja oprema dat ce nam i
bolje perfomanse.U stvari,perfomanse su stvar sistema i u
tome kako korisnik zna izvuci ono najbolje iz opreme. KONTROLA PROLAZA I NEUPRAVLJACKE
OPERACIJE Ovdje je bitno poznavati HPIB protokoleVrlo je tesko
napraviti programe za uredjaje koji bi bili potpuno upravljivi..Ovdje se
sve oslanja na HPIB BASIC .Ponekad nije sve standardizirano pa se moraju
pronalaziti solucije i ekvivalenti nekih upravljackih naredbi. Ukoliko imamo vise upravljackih programa vezanih na isti
HPIB ,jedan ce biti sistemski kontroler,a svi ostali ne-sistemski
kontroleri.Na uobicajenoj HPIB BASIC radnoj stanici to se namjesta sa DIP
prekidacem. Razlika izmedju takvih kontrolere vidljiva je u prvom redu
u ovom:kad se kontroleri ukljuce u napajanje,sistemski kontroler ce
postati aktivan,i bit cemo u mogucnosti komunicirati sa instrumentima,dok
ce ostali kontroleri biti u slave modu,i nece biti u mogucnosti adresirati
bilo koji instrument prikljucen na HPIB. Ako
izvrsimo naredbu : OUTPUT 705;”*IDN?” na
sistemskom kontroleru,sve radi (prepoznat
ce uredjaj na adresi 705 na HPIB),ali ako to napravimo sa nesistemskim
kontrolerom dobit cemo poruku o gresci: ERROR 173 Active/system controller req ‘d Ako
stavimo do dva kontrolera na jedan HPIB i zelimo osigurati protok podataka
medju njima, treba prvo zapamtiti da svaki kontoler ima svoju HPIB adresu
kao i uredjaj(po defaultu ta adresa je 21),i mozemo imati 2
uredjaja na istoj sabirnici, i sa istim adresama. Nasrecu,upravljackom
uredjaju mozemo dati drugu adresu pomocu upisivanja u HPIB status registar
3.
CONTROL 7,3;1
! Set interface 7 to HPIB address 1. Ovdje se
pretpostavilo da je kod za izbor sucelja 7.
Sljedeca
naredba osigurava tok signala izmedju sistemskih i
nesistemskih kontolera PASS
CONTROL 701 !
Sends TCT (Take ConTrol) byte. Ne-sistemski
kontroler se tada odaziva sa: PASS CONTROL
721 No,prije
svega treba znati kako programu reci na kojem upravljackom uredjaju on
radi,da li na sistemskom ili nesistemskom,i koji je trenutno aktivni.Bez
ovog dolazi do konfuzije u komunikaciji. To se
osigurava pomocu status registra .7. bit kaze da li je to sistemski
kontroler (1),nesistemski (0),a 6.bit daje informaciju je li aktivni (1) ili neaktivni kontroler (0). STATUS
7,2;Sts IF
BIT(Sts,7)=1 THEN PRINT
"System controller." ELSE PRINT
"Non-system controller." END IF IF
BIT(Sts,6)=1 THEN PRINT
"Active controller." ELSE PRINT
"Inactive controller." END IF 5 najnizih
bitova tog registra takodjer
daju HPIB adresu kontrolera : PRINT
"HPIB Address =";BINAND(Sts,31)
! Print lowest five bits. Sljedeci
detalj je trenutni protokol koji se koristi u komunikaciji.Ako jedan
kontroler proslijedi kontrolu drugom,on postaje aktivni,ali obicno
neaktivni kontroler upravlja procesom,ukoliko on zeli nesto raditi,a
aktivni nije u mogucnosti da to izvrsi. Stoga
neaktivni kontroler moze ubaciti SRQ-service request koristeci REQUEST
naredbu da pita aktivni kontroler da proslijedi naredbu REQUEST 7,64 Aktivni
kontroler ce tada serijskom komunikacijom provjeriti tko je dao SRQ.Ako je
to neaktivni kontroler,kontrola ce biti proslijedjena.
STATUS
7,7;Sts
IF
BIT(Sts,10)=1 THEN !
SRQ bit is bit 10 of HPIB status 7. Sts=SPOLL(701)
! Serial poll inactive controller. IF
BIT(Sts,6)=1 THEN ! If
SRQ bit set, then pass control.
PASS CONTROL 701 END
IF END IF Treci
detalj je da sistemski kontroler moze,za razliku od svih stalih na HPIB
,moze povratiti kontrolu u bilo koje vrijeme,komandom ABORT ,koja daje IFC
(interface clear) i resetira
sve medjusklopove u normalno stanje. Aktivni
kontroler moze postajati bilo koji kontroler kako se kontrola prenosi
preko sabirnice. Znacaj
svega ovog je u tome sto us takvi instrumenti npr.sposobni poslati crtez
na ploter koji je prikljucen na isti HPIB.Program salje komandu za
stampanje,prosljedjuje se kontrola i zatim se ceka da se kontrola vrati
natrag. Logicno je
da instrument “govori” printeru sto da radi ,no kontroler moze
postaviti jedan uredjaj koji “govori”,te drugi koji
“slusa”.,postavljajuci talker-listener konfiguraciju.(DATA “” na
kraju oslobadja ATN linju,dopuštajuci prolaz transakciji) . Ukoliko
instrument zna operirati sa 488.2OPC? (operation complete )
upitima,program takodjer moze ubaciti SRQ kad je gotov sa print
operacijom. Ovdje je
dan program u nekontroler modu,upravljan direktno sa kontrolerom. Mora se
postaviti prekid u neaktivni kontroler tako da se on moze odazvati kad je
to potrebno.Najbolja za to je TLAC(talk-kistener addres change) zastavica
,koja se postavlja uvijek kad je adresirani upravljani sklop.Ovo se moze
uciniti na ovaj nacin: ON
INTR 7 GOSUB Tlacintr ENABLE
INTR 7;256 Kad slave
sklop primi TLAC zahtjev za prekid,onda on provjerava da li je postavljena
adresa za “slusanje” ili “govor” tako da se pravilno odazove: Tlacintr: ! STATUS
7,6;Sts IF
BIT(Sts,10)=1 THEN
! Addressed to listen (LADS). ENTER
7;S$
! Get a command (I/O is from interface). ELSE IF
BIT(Sts,9)=1 THEN
! Addressed to talk (TADS)
SELECT S$
CASE "*IDN?"
OUTPUT 7;Addrstr$
...
END SELECT END
IF END IF Primjetiti
da Status registar 6 sadrzi listen-adresni (LADS) bit (bit 10), talk-adresni (TADS) bit (bit 9), te da i izlazi moraju biti
izmedju sklopova. Slave sklop
se odaziva sa serijom CASE linija.Protokol kojim se ovo odvija mora biti
dogovoren izmedju upravljackog kontrolera i slave-a. Kontroler
salje komandu i slave se odaziva.Slave operacija moze izgledati nesto
poput ovog
get TLAC interrupt slave
is listen addressed get
and check command go
back to wait on TLAC interrupt get
TLAC interrupt slave
is talk addressed provide
proper output for command go
back and wait on TLAC interrupt Slave
uredjaj mora izvrsiti mnoge provjere gresaka..Ukoliko se one jave salje se
signal kontoleru i ceka nova naredba. Ovo postaje
vrlo skakljivo ukoliko zelimo poslati datoteku .Ukoliko se zeli poslati
datoteka ,salje se linija po linija datoteke.Na posljednoj liniji,slave
mora dati EOI sa zadnjim byteom da se kaze kontroleru da je prijenos
gotov.Isto vrijedi za prijenos datoteka od kontrolera prema
slave-u.Ponekad RS-232 radi umnogome bolje nego HPIB.
|