Téma 3 Automatizované měřicí systémy se sběrnicí IEEE 488 (GPIB) Standard sběrnice IEEE 488.1, konfigurace přístrojů, signály sběrnice, elektrické parametry, princip korespondence, typy GPIB zpráv, vícevodičové stykové zprávy, adresy, univerzální příkazy, funkce rozhraní. IEEE 488.2, vysoce-rychlostní přenos HS 488, přístrojové příkazy a dotazy, soubor příkazů pro programování přístrojů SCPI, stavový model SCPI, standardní registr událostí, registr stavového bajtu, sériové hlášení, paralelní hlášení. Systémy IEE 488 složené z autonomních přístrojů propojených sběrnicí IEEE 488 jsou nejrozšířenější laboratorní systémy. IEEE 488 (GPIB) (HP-IB) Konektor GPIB, signály Téma 3 GPIB HW str. 1
Lineární konfigurace Hvězdicová kofigurace Základní technické parametry sběrnice Měřicí systém podle standardu IEEE 488.1 se skládá z funkčně samostatných zařízení (přístrojů, počítačů apod.) propojených standardizovanou paralelní sběrnicí. Základní vlastnosti systému IEEE 488.1: - celkový počet funkčních jednotek zapojených v systému max. 15 - celková max. délka sběrnice 20 m - max. vzdálenost mezi dvěma funkčními jednotkami 2 m - počet vodičů sběrnice 24 (8 datových DIO1 až DIO8, 3 pro řízení přenosu dat DAV, NRFD, NDAC, 5 pro vysílání jednovodičových zpráv ATN, IFC, REN, SRQ, EOI, 8 zemních vodičů) - max. přenosová rychlost 1 MB/s (typicky podstatně nižší 250 až 500 kb/s) - elektrické úrovně signálu TTL, L (< 0.8 V), H (> 2,0 V) - logické úrovně signálu log. 1 (TRUE) ~ L, log. 0 (FALSE) ~ H Téma 3 GPIB HW str. 2
Signály IEEE 488 Datové linky DIO1 DIO8 8 datových linek nese buď data nebo interfejsové zprávy, někdy nazývané stykové zprávy (interface messages). Stav ATN určuje, zda jde o data nebo interfejsové zprávy. Všechny zprávy a většina dat používá 7 bitový ASCII nebo ISO kód. Korespondenční linky Tři linky asynchronně řídí přenos zpráv mezi zařízeními. Zaručují, že přenos je bez chyb a přizpůsobí se nejpomalejšímu zařízení. NRFD (nepřipravenost dat not ready for data), indikuje, zda je zařízení připraveno přijmout byte zprávy. Linka je buzena všemi zařízeními při příjmu povelů, posluchači při příjmu datových zpráv a mluvčím při umožnění HS 488 protokolu (viz dále). NDAC (nepřijatá data not data accepted). Indikuje, zda zařízení přijalo nebo nepřijalo data. Linka je buzena všemi zařízeními, které přijímají příkazy a všemi posluchači, kteří přijímají data. DAV (data platná) určuje kdy jsou data stabilní a mohou být přijmuta zařízeními. Řídič (controller) budí linku, když posílá povely a mluvčí budí linku při posílání datových zpráv. Linky řízení sběrnice (jednovodičové signály - zprávy) ATN kontroler dá ATN platná při posílání povelů po datových linkách tj. ATN = TRUE interfaceové zprávy- command adresy, vícevodičové zprávy ATN = FALSE informační data (device depen. messages) data, program. instrukce, výsledky měření, stavy zařízení IFC systémový řídič budí linku při inicializaci sběrnice REN systémový řídič budí linku při uvedení zařízení do místního nebo vzdáleného (remote) režimu SRQ vyžádání obsluhy zařízení budí asynchronně linku při požadavku obsluhy EOI značka konce přenosu dat mluvčí nebo identifikace paralelního hlášení - řídič Jednovodičové příkazy (shrnutí) IFC, REN, ATN, zpráva IDY (identify) při ATN & EOI = TRUE Téma 3 GPIB HW str. 3
Elektrické parametry realizuje funkci logického součinu pro negativně pravdivostní. logiku pomocí tzv. wired or (součet -or) Využívá princip duality y = a * b y a b Maximální vzdálenost mezi zařízeními: 4 m celková délka kabelu: 20 m počet přístrojů: 15 (pro HS 488 zpřísněné podmínky) Téma 3 GPIB HW str. 4
Handshake korespondence Téma 3 GPIB HW str. 5
Blokové schéma korespondence mluvčího a posluchače v systému IEEE 488 Téma 3 GPIB HW str. 6
HS 488 Zvýšení přenosové rychlosti (až do 8 Mb/s) - mluvčí vyšle impuls LOW, informuje posluchače, že je schopen přenášet data v HIGH SPEED 488 režimu - posluchač nereaguje změnou NRDF na DAV a tím indikuje, že je schopen použití HS 488 - další byty jsou přenášeny synchronně s použitím HS 488 Principy komunikace v systému IEEE 488 Jedna systémová řídicí jednotka (systém controller) - ovládá činnost systému - vysílá jednovodič. zprávu IFC, REN - umožňuje vysílání jednovodič. příkazů ATN, EOI, adres, vícevodičových příkazů, vysílání a příjem přístrojových zpráv Vlastní komunikace probíhá mezi jednou vysílací jednotkou (mluvčí - talker) a jednou nebo více přijímacími jednotkami (posluchači - listeners). Není rozlišen směr přenosu, určení směru přenosu je řešeno tak, že každá jednotka má přiřazeny dvě adresy přijímací MLA a vysílací MTA. Adresy se liší v 6. a 7. bitu, prvních 5 bitů je společných viz. tab. 2.1 Adresa - pomocí přepínačů - z klávesnice na předním panelu přístroje - rozsah (0-30), 31 je odadresování posluchačů a příjemců UNL, UNT Na sběrnici jsou 2 druhy zpráv: 1. interfejsové zprávy: adresy, univerz. příkazy, vícevodičové zprávy ATN = true 2. přístrojové zprávy: informační data, data, instrukce ATN =false Téma 3 GPIB HW str. 7
Interfaceové zprávy: ATN = TRUE univerzální příkazy sekundární příkazy adresované příkazy adresy funkčních jednotek Univerzální příkazy vyvolávají odpovídající činnost současně ve všech přístrojích zapojených v systému IEEE 488.1 bez nutnosti jejich adresování. LLO (local lockout - 11H) blokování místního ovládání. Příkaz zablokuje lokální ovládání přístroje, tzn. že přístroj v dálkově řízeném stavu (REMOTE) nebude možné stisknutím tlačítka local převést do stavu lokálního ovládání (LOCAL). Odblokování tohoto stavu a přechod do místního ovládání se provádí vysláním adresovaného příkazu GTL. PPU (parallel poll unconfigure - 15H) zrušení konfigurace pro paralelní hlášení DCL (device clear - 14H) nulování přístroje. Příkaz uvede přístroj do klidového stavu (definovaného výrobcem). SPE (serial poll enable - 18H) povolení sériového hlášení SPD (serial poll disable - 19H) ukončení sériového hlášení UNL (unlisten 3FH) UNT (untalk 5FH) Adresované příkazy: GTL přejdi do místního ovládání SDC výběrové nulování přístroje PPC konfigurace pro paralelní hlášení GET group execution trigger skupinové spuštění TCT převezmi řízení Sekundární příkazy: PPE umožnění paralelního hlášení PPD znemožnění paralelního hlášení Téma 3 GPIB HW str. 8
Přístrojové zprávy: ATN = FALSE programovací příkazy (znaky nebo řetězce) naměřená data informace o vnitřním stavu přístroje Funkce rozhraní IEEE 488 Vlastnosti rozhraní (interface) funkčních jednotek FJ jsou určeny pomocí funkcí rozhraní (interfaceové funkce). Ve standardu je definováno 10 funkcí: SH (Source Handshake) zdroj korespondence AH (Acceptor Handshake) příjemce korespondence T/TE (Talker/Extended Talker) mluvčí/rozšířený mluvčí L/LE (Listener/Extended Listener) posluchač/rozšířený posluchač RL (Remote/Local) dálkové/místní ovládání DC (Device Clear) nulování přístroje DT (Device Trigger) spouštění přístroje SR (Service Request) vyžádání obsluhy PP (Parallel Poll) paralelní hlášení C (Controller) kontrolér Některé funkce mohou mít několik odlišných variant, které se označují číslem za písmennou zkratkou funkce (např. T0 až T8, 0 znamená, že daná funkce není použita). Požadované funkce rozhraní: Dle standardu IEEE musí mít FJ implementovány tuto sestavu funkcí : SH1, AH1, T5, L3,SR1, RL0, PP0, DC1, DT0, C0. Formáty dat: kódy: ASCII, 8 bit binární Numerické formáty: NR1 123, +123, -12345 NR2 12.3, -0.1234, +12.34 NR3 1.23E5, +123.5E-28 Znakové formáty: R4-D2 musí začínat písmenem Řetězcový formát: libovolný kód ASCII Blokový formát hlavička + vlastní blok Oddělovací a ukončovací znaky: ukončení: - příjem: -LF LF+EOI linka na EOS, možno zadat ukončovací byte - vysílání: LF LF+EOI linka oddělení (příkazy SCPI): : dvojtečka dvě rozdílné úrovně ; středník stejné úrovně, čárka např. rozlišení (CONF:VOLT:DC10, 003) Téma 3 GPIB HW str. 9
Stavový model IEEE 488.2 (vždy je součástí dokumentace k danému přístroji) Udává stav přístroje pomocí registrů, které mohou být programovány (enable registry), nebo čteny registry událostí přístroje MSS bit 6 (master sumary status bit) = 1 nastala-li alespoň jedna příčina k žádosti o obsluhu MAV(message available) or ESB (event status bit) MAV or QD programově: - testování SRQ = TRUE sériové hlášení - čtení (*STB?) - paralelní hlášení Téma 3 GPIB HW str. 10
Stavový model pro funkční generátor HP 33120A Téma 3 GPIB HW str. 11
Stavový model pro multimetr HP 34401A Model rozšířený o 16-bit event registr questionable data (umožňuje podrobnější zjištění stavu multimetru) Téma 3 GPIB HW str. 12
Sériové hlášení (seriál poll) Umožní vyhledávání zařízení a získání specifických informací ze zařízení- přístrojů, která požadují obsluhu (SRQ) důvody: - data jsou ve výstupním bufferu (MAV bit) po předchozím dotazu (QUERRY) - nastala událost: dokončena operace (ESB bit) chyby - příkazu - provedení - dotazu - zařízení STATUS BYTE 488.2 7 6 5 4 3 2 1 0 x RQS ESB MAV QD x x x př. Čtení stavového bajtu char a; ibwait (ud, RQS/TIMO); ibrsp (ud, &spr); if (spr==a){... x záleží na výrobním zařízení Mechanismus: - jednotka (přístroj) vyšle SRQ - signál SRQ musí řídič testovat otázka programu - řídič zjišťuje jaký přístroj SRQ zapnul a důvody - adresuje přístroje, čte STATUS BYTE, bit 6 RQS, podle vyhodnocení STATUS BYTE nebo podrobněji EVEN REGISTR BYTE zjistí příčinu (případně při nastavování rovnou provádí akci) SYSTEM CONTROLLER DEVICE UNL (viz. tabulka Multiline Interface Messages) MLA SPE DEVICE TALK ADDRESS generuje S. P. Byte zařízení nastaveno jako mluvčí musí bít mluvčí, aby mohl poslat byte (data)! čtení SER. POLL BYTE Serial Poll Byte vrácen SERIAL POLL DISABLE vypne Serial Poll Mode UNT (odadres. mluvčích) Téma 3 GPIB HW str. 13
Paralelní hlášení ( PP parallel poll) Funkce rozhraní PP umožní řídící jednotce zjistit stav několika přístrojů připojených na sběrnici IEEE 488 současně. Stavová informace je obsažena v jednom bitu, tedy při jednom volání je možno získat paralelní hlášení až z 8mi zařízení.každému přístroji je přidělen individuální stavový bit ist (individual status bit) zařízení. 1) Zařízení musí být konfigurováno před skutečným voláním PP - zařízení přiřazena linka DIO1 DIO8, na které odpovídá - přiřazená linka (DIO1 DIO8) odpovídá ist = 1 s = 1 char num = 0x66; char ppr; ibppc(dev, num); 0 1 1 E S D2 D1 D0 nebo ist = 0 s = 0 E = 1 disable PP E = 0 enable PP S = 1 vložit přiřaz. linku při ist = 1 S = 0 vložit přiřaz. linku při ist = 0 D0 D2 číslo linky, fyz. linka = bin(d 2 D 1 D 0 ) + 1 2) Vyvolání PP ibrppc (dev, &ppr); činnosti sekvence interfejsových zpráv : UNL, (LAD), PPC, PPE, UNL IDY (identify, ATN=true, současně EOI = true) je výzvou aby zařízení poslala své stavové bity do bytu paralelní odezva ppr, viz. program 3) zrušení schopnosti paralelního hlášení UNL (LAD), PPC, PPD (paralel poll disable) UNL Téma 3 GPIB HW str. 14
Souhrn IEEE 488 hardware IEEE 488 rozlišuje tři typy zařízení- funkčních jednotek F.J. : Kontroler - počítač Posluchač F.J pouze poslouchá Mluvčí F.J. Jednotka vysílá data Jednotky mohou být pouze posluchači např. generátor, mluvčími i posluchači např. voltmetr Základní charakteristiky: Počet jednotek 15 Délka sběrnice celkem 20 m 24 vodičů 8 datových, 8 řídících (3 pro korespondenci, 5 pro řízení sběrnice), 8 zemnících max. rychlost 1MB/s, 8MB/s pro HS 488 Druhy zpráv: úroveň signálů TTL negativně pravděpodobnostní logika informační data, data, instrukce ATN =false interfejsové zprávy: adresy, univerz. příkazy, vícevodičové zprávy ATN = true Adresy zařízení adr= 0-30, 31 = UNL, UNT odadresování Posluchačské adresy: MLA0 MLA 30 = adr +32 Adresy mluvčích: MTA0 MTA 30 = adr +64 Komunikace: Formát dat: ASCII Numerické Znakové řídí kontroler ( akt. controller in charge), při ATN= true odadresuje, adresuje sebe jako mluvčího, adresuje posluchačské jednotky, případně pošle univerz. příkazy při ATN = false vyšle podle programu data řetězce, kterými jsou programovány jednotlivé přístroje posluchači, dále se podle programu může přepnout na posluchače, případně přepne další jednotky a přijme data z přístroje ve formě řetězců; vše podle programu Řetězce, bloky Téma 3 GPIB HW str. 15
Stavový model IEE 488.2 Je součástí dokumentace ke každému přístroji vybaveného IEEE 488 a ukazuje význam jednotlivých bitů v registrech přístupných (přístupných softwarově uživateli). Registr stavového slova (status Byte Registr) obsah registru je schopna jednotka na požádání vyslat bit.6 (request service) identifikuje, zda jednotka žádá nebo nežádá obsluhu. Další udávají důvod požadavku obsluhy Standardní stavový registr událostí ( standard even status registr) určuje blíže,jaká událost nastala Ke každému registru je přiřazen pomocný registr (Enable Registr) umožňující aktivaci nebo maskování jednotlivých bitů stavových registrů Sériové hlášení: Po zjištění SRQ je nutné, aby kontroler zjistil, která jednotka žádá obsluhu, případně z jakého důvodu. Postupně jsou adresovány přístroje a předávají řídícímu počítači informace o stavovém bajtu. (Přístroj, který vyslal signál SRQ má ve stavovém bajtu nastavený bit 6. Paralelní hlášení: umožní řídící jednotce zjistit stav několika přístrojů současně. Stavová informace je obsažena v jednom bitu, tedy při jednom volání je možno získat paralelní hlášení až z 8mi zařízení.každému přístroji je přidělen individuální stavový bit ist (individual status bit) zařízení. Téma 3 GPIB HW str. 16
Další studijní púomůcky: 1. Haasz a kol.: Číslicové měřicí systémy, ČVUT 2000 2. GPIB tutorial: NI Instrumentation Catalog, 1996-2000 3. HP: Tutorial Description of HP-IB 4. Katalogy NI NI 488.2 User Manual NI 488.2 Function Reference Manual GPIB Analyzer User Manual 5. Application Notes (GPIB cca 60 Application Notes) 6. Katalogy přístrojů HP osciloskop, multimetr, čítač, generátor 7. web: www.ni.com http://www.natinst.com/gpib ftp://ftp.natinst.com/support/gpib http://digital.natinst.com/appnotest.nsp e-mail: gpib.support@natinst.com Téma 3 GPIB HW str. 17