Università degli studi di Padova Facoltà di Ingegneria Corso di Dialogo tra strumentazione elettronica e calcolatore mediante protocollo IEEE-488 M.Bertocco 1 Comunicazione tra calcolatore e strumentazione Standard di interfaccia: fornisce specifiche mechanical (meccaniche) contenitori, montaggio, connettori, cavi,... electrical (elettriche) livelli logici, tempistiche, protocolli (device independent) functional (funzionali) funzioni disponibili application/device independent (reset, ) operational (operationali) funzioni disponibili application dependent Parecchi standard (RS-232, RS-485, profibus, ethernet, ) strumentazione elettronica di misura: standard IEEE-488 2 1
Connessione parallela (bus) 24 linee lunghezza bus 20 m distanza tra dispositivi 4 m max 15 dispositivi connessione lineare Caratteristiche fisiche DEVICE 1 DEVICE 2 DEVICE 3 connessione a stella DEVICE 1 DEVICE 1 DEVICE 5 DEVICE 3 DEVICE 2 DEVICE 2 DEVICE 2 DEVICE 4 connessione in topologia mista lineare e a stella 3 Caratteristiche fisiche Device A Device B Device C Device D Able to talk, listen and control Able to talk and listen Able to talk only Able to listen only EOI REM SRQ ATN IFC NDAC NRFD DAV DIO 1 8 (e.g. c al c ul at General or bus Management ) Handshake Lines 4 2
Handshaking trasferimento dati DIO1-8 DAV data byte valid not valid NRFD all ready NDAV DAV NRFD NDAC data valid not ready for data not data accepted handshake con tre linee di controllo la velocità di trasmissione è determinata dal dispositivo più lento 5 Bus management accesso al bus modello tavola rotonda con moderatore, il moderatore decide in ogni istante chi può parlare e chi ascolta system controller: il moderatore (unico) talker: scrittura sul bus (unico) listener: lettura dal bus (più di uno) linee fisiche ATN Attention imposta il bus è in modo command o in modo data IFC Interface Clear inizializzazione interfaccia 488 SRQ Service request richiesta al controller l utilizzo controllo del bus per trasferirmento dati REN Remote Enable abilita dispositivo a rispondere a comandi remoti, quando indirizzato come listener EOI End Or Identity identifica l ultimo byte trasmesso oppure identifica una richiesta a un dispositivo di rispondere a fronte di operazione parallel poll 6 3
Indirizzamento comandi: universal = rivolti a tutti i dispositivi connessi addressed = rivolti a un solo dispositivo indirizzamento indirizzi (7 bit) inviati attraverso data bus, linea ATN attiva bit 6 5 4 3 2 1 0 significato TA LA primary address (0-30) TA Talker Address LA Listener Address determinano se dispositivo indirizzato diventerà talker o listener indirizzo 31 significa: indirizzo contenuto nel byte successivo (secondary address) 7 Comandi 4 classi di comandi Uniline commands associati alle linee fisiche Universal multiline commands inviati contemporaneamente a tutti i dispositivi Addressed commands inviati a un dispositivo in quel momento addressed Secondary commands specificati mediante indirizzo secondario 8 4
Comandi uniline ATN Attention imposta il bus è in modo command o in modo data IFC Interface Clear inizializzazione interfaccia 488 SRQ Service request richiesta al controller l utilizzo controllo del bus per trasferirmento dati REN Remote Enable abilita dispositivo a rispondere a comandi remoti, quando indirizzato come listener EOI End Or Identity identifica l ultimo byte trasmesso oppure identifica una richiesta a un dispositivo di rispondere a fronte di operazione parallel poll linee fisiche 9 Comandi universal multiline Device Clear DCL inizializza dispositivo Local Lockout LLO disabilita il controllo del pannello frontale return to local Serial Poll Enable SPE effettua un serial poll dei dispositivi indirizzati come talker Serial Poll SPD conclude l attività di serial poll Disable Parallel Poll Unconfigure PPU imposta i dispositivi in uno stato di non risposta nel caso di invio di un comando parallel poll a ciascun comando corrisponde un codice (7 bit) inviato su linee dati linea ATN attiva 10 5
Comandi addressed controller prima imposta dispositivi come listener (o talker), poi invia comando comando ha effetto solo su dispositivi selezionati Group Execute Trigger GET invio comando di trigger Selected Device Clear SDC imposta strumento in configurazione di default Go To Local GTL fine modalità di accettazione comandi remoti Parallel Poll Configure PPC configura dispositivi selezionati in accordo a comando successivo Take Control TCT imposta dispositivo selezionato come bus controller 11 Organizzazione dei functional layers - IEEE 488.2 device x device y device dependent messages common commands and queries syntax and data structures remote interface messages D C B A A B C D A: funzioni di interfaccia ( fisiche ) B: sintassi messaggi (comandi e dati) C: comandi comuni (*IDN?) D: comandi utente (MEAS:VPP) 488.1 A 488.2 B, C SCPI D 12 6
Estensioni nello standard 488.2 488.1 definisce un interfaccia per la strumentazione e funzioni di interfaccia non è sufficiente per comandare strumentazione in modo uniforme 488.2 definisce insiemi di funzioni di interfaccia che devono essere rese disponibili da parte di uno strumento o e sintassi per i dati scambiati protocollo relativo ai messaggi scambiati o dello status byte fornito da un dispositivo in seguito ad una interrogazione 13 SCPI Standard Commands for Programmable Instrumentation modello di riferimento di uno strumento measurement function trigger memory generation 14 7
Measurement Function SCPI ogni blocco del modello diviso in sotto-blocchi struttura ad albero esempi INPut SENSe CALCulate Generation CALCulate SOURce OUTPut 15 SCPI strumento: uno o più blocchi del modello di riferimento trigger measurement function memory esempi generation voltmetro measurement function alimentatore trigger generation Data Bus 16 8
SCPI measurement function linguaggio di programmazione trigger memory generation descrizione strumento = albero funzionalità strumento = foglia dell albero = comando a ogni unità dell albero corrisponde una parola chiave comando = - percorso dalla radice a una foglia dell albero - radice = blocco del modello di riferimento strumento - il passaggio ad un nodo figlio è rappresentato dal separatore : stessi comandi per tutti gli strumenti 17 Esempio il comando: SCPI SENSe:CURRent:DC:RANGe:AUTO INPut DISPlay SENSe TRIGger albero sintattico SCPI COUPling NAME MENU RESistance CURRent DELay RANGe AC DC AUTO RANGe RANGe AUTO AUTO measurement functions SENSe 18 9
Funzioni 488 in LabVIEW palette functions instrument I/O 488.2 funzioni 488.2 GPIB funzioni 488.1 19 alcune funzioni interessanti Funzioni 488 in LabVIEW Send - invia dati/comandi su bus 488 Receive - riceve dati dal bus 488 WaitSRQ - attende che un dispositivo invii system request DevClear - imposta dispositivo in configurazione di default Trigger - forza evento di trigger su dispositivi selezionati 20 10