ESEMPIO DI SISTEMA AUTOMATICO DI MISURA

Documenti analoghi
QUINTA LEZIONE: LO STANDARD IEEE-488

Esercitazioni di Misure per la Bioingegneria e l Habitat e Strumentazioni Elettroniche A.A

LabVIEW BUS IEEE-488 Gianfranco Miele

Dialogo tra strumentazione elettronica e calcolatore mediante protocollo IEEE-488

Strumentazione tradizionale vs. strumentazione virtuale

Corso di Sistemi di Misura Distribuiti. Ing. Domenico Capriglione

Il protocollo RS Introduzione. 1.2 Lo Standard RS-232

Sistemi automatici di misura. Sistemi automatici di misura. Bus standard per strumentazione. Strumentazione virtuale Politecnico di Torino 1

I BUS DI COMUNICAZIONE PARALLELI

SETTIMA LEZIONE: TRASMISSIONE DI DATI E COMANDI NEL SISTEMA IEEE-488

I BUS DI COMUNICAZIONE PARALLELI

QUINTA LEZIONE: LO STANDARD IEEE-488

Dispense delle Esercitazioni dei moduli:

I dispositivi di input/output

Lab. Sistemi - Classe 5Bn A. S. 2000/2001 ITIS Primo Levi - Torino AA.AA. STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di

Sistemi di acquisione dati (1)

SESTA LEZIONE: TRASMISSIONE DI DATI E COMANDI NEL SISTEMA IEEE-488

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

LabVIEW. Introduzione. Laboratory Virtual Instrument Engineering Workbench. Esempio di pannello frontale. Misure Elettroniche 1

Influenza dell' I/O sulle prestazioni (globali) di un sistema

Architettura del Calcolatore

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Problematiche Interfacciamento

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino

Laboratorio di metodi di acquisizione dati. Giorgio Maggi

I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione.

Corso di Calcolatori Elettronici I

Interfacciamento di periferiche I/O al μp 8088

Componenti e connessioni. Capitolo 3

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

Fondamenti di Informatica B

Corso di Informatica

22/09/2010. Rossato Alessio

Elementi di informatica

Bus RS-232. Ing. Gianfranco Miele April 28, 2011

UNDICESIMA LEZIONE: I PROTOCOLLI DI COMUNICAZIONE DEL BUS VXI

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Architettura dei sistemi di elaborazione (Input/Output parte 1)

FOXLINK SIRCO MANUALE D'USO COMUNICAZIONE SERIALE (FOXLINK) Sirco Automazione 1

La macchina di Von Neumann

Elementi di informatica

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Corso di Reti di Calcolatori

COMUNICAZIONE SERIALE a cura dell' Ing. Buttolo Marco

I dispositivi di input/output

Architettura del calcolatore (Seconda parte)

Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione.

SISTEMI AUTOMATICI DI MISURA. Programma

Note sull architettura del calcolatore

Componenti principali

Specifiche del protocollo di comunicazione semplificato per il modulo seriale di I/O

Modulo di stato per ingressi ad impulso, doppio modulo

I dispositivi di input/output

Area FA AE Specifica tecnica STM009 Cliente: DATALOGIC

Rappresentazione (Codifica Binaria dei Numeri) ed Elaborazione delle Informazioni

Dispositivi Power Line: manuale per l'installatore

Le Reti Informatiche

Architettura di von Neumann

Generalità su P-NET. Usato per acquisizione dati, configurazione di nodi/sensori, e downloading di programmi.

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Programmazione Procedurale in Linguaggio C++

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Interfacce parallele

CPU, RAM, ROM e BUS Corso di Abilità Informatiche Laurea in Fisica

Fondamenti di Informatica 2008 corso prof. A. Picariello. Operazioni sui FILE in C++

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

LA GESTIONE DELLA I/O

EEPROM SERIALI IN I2C BUS.

Docente Prof. Claudio De Capua Ing. Antonella Meduri

Interfaccia KNX per contatore d energia - da guida DIN GW Manuale Tecnico

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

INFORMATICA MODULO DI CALCOLATORI ELETTRONICI LAUREA IN INGEGNERIA INFORMATICA

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

CONTATORE DI ENERGIA TRIFASE INSERZIONE DIRETTA PM30D01KNX. Manuale D Uso

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Componenti di un sistema di acquisizione dati

ISA Input / Output (I/O) Data register Controller

10 Realizzazione Firmware

1. Un array è: A. Un simbolo usato nel linguaggio C per rappresentare un numero non specificato di variabili B. Un insieme di indirizzi di memoria

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Calcolatori Elettronici da 6CFU (CdL Ingegneria Informatica) Esame del 20 luglio 2018 tempo a disposizione: 1 ora e 25 minuti

Architetture dei Calcolatori Interfacce

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

Istituto di Istruzione Superiorevia Salvini 24 Roma Liceo M. Azzarita Liceo delle scienze applicate Materia:Informatica Programmazione a.s.

Tecnologie dei Sistemi di Automazione

Elementi di programmazione

PECUP: ELETTRONICA-ELETTROTECNICA ART. ELETTROTECNICA agg.:01/09/2012 (prof. Daniele RISI)

Il protocollo di comunicazione del CAN è standardizzato come ISO (2003) ed è di tipo

Esame di INFORMATICA Lezione 4

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino. Gruppo H: Sistemi Elettronici Lezione n H - 5: Collegamenti seriali Conclusione

Architettura di un elaboratore. Il modello di von Neumann

Caratteristiche di un PC

Transcript:

ESEMPIO DI SISTEMA AUTOMATICO DI MISURA MANUALE DI ESERCITAZIONE Introduzione Il seguente manuale descrive l'esercitazione di misure elettroniche sulla realizzazione di un banco automatico di misura ed il relativo collaudo mediante analizzatore di stati logici. Lo scopo principale di questa esercitazione consiste nel presentare agli allievi alcuni fondamenti dell'interfaccia IEEE488 e del linguaggio HP-Basic per poter automatizzare la misura della tensione da un multimetro, digitale. Nella seconda parte si analizza il protocollo di gestione del bus mediante l'uso di un analizzatore di stati logici viene quindi fornita una breve panoramica sulle principali funzioni di tale strumento che vengono utilizzate in questa esercitazione. Politecnico di Torino Pagina 1 di 14

Nozioni elementari sul bus IEEE 488 Lo standard IEEE 488 e' un interfaccia digitale sapientemente progettata che semplifica drasticamenti i problemi di data handling tra strumenti diversi ed il calcolatore di gestione. L'interfaccia minirnizza i problemi elettrici e meccanici di interconnessione e consente una sufficiente flessibilita' alle future generazioni di strumenti. Le caratteristiche essenziali di questa interfaccia sono: Scambio delle informazioni digitale (percio' tutti gli strumenti per essere collegati a questa interfaccìa devono possedere un opportuna unita! di conversione A/D) Il numero di dispositivi (strumenti ma anche stampanti, unità a dischi ed altro) non puo' superare 15. La lunghezza complessiva dei collegamenti non puo' superare i 20 m. La velocita' massima di trasmissione non puo' eccedere 1 Mbyte/s Un sistema di intefacciamento, come I' IEEE488, si puo' caratterizzare in termini di funzionalita', elettrica, meccanica ed operativa, come raffigurato nella figura 1. Figura 1: Specifiche generali per un interfaccia Lo standard IEEE488 non si preoccupa di definire le specifiche operative, lasciando all'utente la completa liberta' di realizzazione del sistema di misura; viceversa specifica sistematicamente le caratteristiche funzionali ovvero le funzioni di interfaccia disponibili e le caratteristiche elettriche (livelli logici, protocollo, tempistica) e meccaniche (connettori, montaggio, dimensioni dei cavi). Politecnico di Torino Pagina 2 di 14

Aspetti Funzionati L'IEEE 488 si basa su un bus a 16bit condiviso da tutti gli strumenti. Grazie alla logica wired- e' possibile collegare fino a 15 strumenti in parallelo. Ogni dispositivo per poter essere compatibile funzionalmente con l'interfaccia deve essere in grado di svolgere almeno una delle seguenti funzioni: (ovvero saper intepretare le informazioni sul bus e comportarsi di conseguenza) LISTENER (ASCOLTATORE) Il dispositivo deve essere in grado di ricevere dati sul bus ogni volta che viene indirizzato come ascoltatore, ad esempio una stampante potrebbe essere un perfetto ascoltatore TALKER (PARLATORE) Il dispositivo in grado di trasmettere dati sull'interfaccia quando viene indirizzato, tutti gli strumenti di misura devono logicamente essere perlomeno dei parlatori, viceversa non sarebbe possibile estrarre alcuna informazione automaticamente (lapalissiano!!!!). CONTROLLER (CONTROLLORE) Il dispositivo e' in questo caso in grado di gestire il flusso di informazione sull'interfaccia, definendo di volta in volta quale dispositivo debba parlare e quali ascoltare. In generale vi è un solo controllore in ogni sistema automatico (in genere H calcolatore di gestione), ma alcuni strumenti intelligenti dell'ultima generazione possegono la capacità di fungere da controllore. Il controllore, come gia` accennato, gestisce l'intero bus specificando quale strumento si debba comportare da ascoltatore e chi da parlatore. Questa operazione avviene mediante una procedura di indirizzamento che verrà specificata in seguito. E protocollo prevede che ci possa essere un solo parlatore, ma piu' ascoltatori. E' importante sottolineare che il protocollo di interfaccia non specifica gli aspetti operativi, ovvero non stabilisce nulla su quello che i dispositivi possono o non possono compiere, ma si limita a definire delle regole per la corretta gestione del flusso di informazione. Descrizione Elettrica Il bus e' costituito da 16 linee di segnale e 8 linee di massa per fornire un'appropriata schermatura. Tra le 16 linee di segnale vi sono 8 linee di dati e 8 linee di controllo. L'IEE488 usa logica attiva bassa e normalmente sulle 8 linee di dati vengono trasferite le informazioni sottoforma di caratteri ASCII a 7bit lasciando l'ultimo bit per il controllo di parita'. In figura 2 viene presentato H connettore standard con i mnernonici di tutte le 16 linee nonche' le 8 masse. Tra gli 8 segnali di controllo, per la cui descrizione completa si rimanda ad [1], assumono particolare importanza i 3 segnali di handshake, ovvero che coordinano il trasferimento asincrono del singolo byte ed il segnale di attention: DAV - Data Valid. Questa linea viene controllata dal parlatore attivo ed indica che i dati sul bus sono pronti per essere ricevuti. NRFD - Not Ready For Data. Questa linea e' controllata dgli ascoltatori ed indica al parlatore lo stato del ricevitore NDAC- Not data accepted. Questa linea controllata dagli ascoltatori specifica se il byte e' stato ricevuto. Grazie alla particolarita' della logica wired or negata, finche' il più lento degli acoltatori non ha terminato la lettura del byte dal bus e non pone questo segnale a 1 il parlatore mantiene invariato il dato sul bus. In questo modo e' possibile mantenere la comunicazione tra vari dispositivi anche assai differenti in potenzialita' di ricezione, ovvero si andra' piu'piano, ma almeno si comunica!!! Politecnico di Torino Pagina 3 di 14

ATN - Attention. Viene usato per indicare se il byte presente sul bus dati e' un comando o un dato. Questo segnale e' fondamentale per il protocollo in quando funge da discriminatore ovvero grazie a questo segnale i disposifivi interpretano correttamente i segnali sul bus dati. Gli altri quattro segnali di controllo sono: IFC - Interface clear. Inizializza il bus ponendolo in uno stato di idle, ovvero vengono disabifitati tutti glii ascoltatori e tutti i parlatori tranne ovviamente il master controller. SRQ - Service Request. Indica al controllore che uno dispositivi richiede H servizio, ad esempio questa linea potrebbe essere usata da uno strumento intelligente per avvisare il controllore che ha terminato la misura; a questo punto il controllore procede ad un operazione di polling (interrogazione) per determinare quale strumento ha richiesto il servizio e quindi lo attiva come parlatore per ricevere i dati. REN - Remote enable. Abilita i dispositivi a rispondere ai comandi remoti quando vengono indirizzati E0I - End or Identify. Indica l'invio dell'ultimo byte di una sequenza. In genere viene usato per trasferimenti veloci di dati binari in modo da evitare di trasmettere un carattere riconoscitore di fine trasferimento. CONNECT0R DIAGRAM CONNECTOR DIMENSIONS Figura 2: Connettore IEEE488 con indicazione dei segnali In figura 3 e' raffigurata la classica tempistica per lo scambio di un byte, scopo dell'esercitazione mediante analizzatore di stati logici sara' di verificare sperimentalmente questa tempistica. Politecnico di Torino Pagina 4 di 14

Figura 3: Tempistica del singolo byte I comandi fondamentalí Come gia` accennato l'ieee488 governa il trasferimento delle informazioni (dati, stringhe di configurazione, comandi speciali per i singoli strumenti) mediante comandi che indirizzano chi debba ascoltare e l'unico parlatore. Questi comandi vengono inviati sulle 8 linee del bus dati mantenendo H segnale di controllo ATN basso (attivo). Ogni comando e' rappresentato da un singolo carattere ASCII. La tabella completa della correlazione tra caratteri ASCII e comandi IEEE 488 e' presentata in figura 5. Per lo scopo di questa esercitazione e' necessaria la conoscenza dei soli comandi che configurano i dispositivi come parlatori (ascoltatori), in particolare: UNL Unlisten ( carattere ASCII? Impone a tutti gli ascoltatori di andare nello stato di idle. UNT Untalk (carattere ASCII Impone all'unico parlatore di andare nello stato di idle. LISTEN addr. Determina uno o piu' ascoltatori. a seconda del valore di addr si invia un carattere ASCII diverso. ovvero ogni strumento e' identificato da un carattere ASCII che ne determina il ruolo di ascoltatore. La tabella I. presenta gli indirizzi e i relativi caratteri ASCII. TALK addr Indica chi debba essere il parlatore. Anche in questo caso ogni strumento viene identifcato da un solo carattere ASCII come nella tabella 1. Politecnico di Torino Pagina 5 di 14

Tabella 1: Indirizzi per parlatore e ascoltatore e relativi caratteri ASCII Politecnico di Torino Pagina 6 di 14

Figura 1: Tabella ASCII e relativi codici IEEE 488 Politecnico di Torino Pagina 7 di 14

Esempio di trasferimento Si supponga di avere i seguenti dispositivi sul bus: Controllore (indirizzo 21) Strumento A (indirizzo 10) Strumento B (indirizzo 13) Stampante C (indirizzo 5) Le operazioni necessarie per il corretto trasferimento dei dati dal dispositivo A al controllore sono: 1. Il master controller disabilita tutti i dispositivi ad ascoltare e a parlare, overro invia il comando UNL unlisten, (carattere ASCII?) con ATN bassa 2. Il master controller indirizza a parlare lo strumento A (indirizzo 10 come parlatore -3# carattere ASCII J ) 3. Il master controller indirizza se stesso ad ascoltare (indirizzo 21 come ascoltatore 4 carattere ASCII 5) 4. Il master controller alza ATN 5. Lo strumento invia i dati. La sequenza di invio termina o con un carattere di fine stringa, tipicamente LF oppure attivando il segnale EOI. A questo punto il master controller ha ricevuto tutti i dati e procede oltre secondo programma. Esercizio : Sapendo gli indirizzi indicati sopra si interpreti la seguente stringa di comandi IEEE488: UNI, UNT LISTEN 5 LISTEN 21 TALK 10 e si determinino i relativi caratteri ASCII da inviare sul BUS. Soluzione: Il master controller indirizza a parlare lo strumento A mentre ad ascoltare la stampante e se stesso, lo strumento B non e' interessato e quindi e' automaticamente posto in idle dal comando UNL. In questo modo i dati vengono contemporaneamente acquisiti e stampati. 1 caratteri ASCII sono:? %5J Esercizio: Si determini la sequenza di caratteri ASCII necessaria a configurare lo strumento B come parlatore, e la stampante come ascoltatore. Politecnico di Torino Pagina 8 di 14

IL SOFTWARE DI GESTIONE Prima di descrivere dettagliatamente l'oggetto dell'esercitazione e' opportuno dedicare una breve introduzione alla descrizione generale del problema di automatizzazione delle misure e del relativo software. Un generico software per l'automazione di un banco di misura è strutturato nelle seguenti parti: Configurazione degli strumenti Misura ed Acquisizione dei dati Presentazione dei dati Nonostante l'estrema schematizzazione qui adottata essa si ritrova anche nei programmi di gestione piu' sofisticati. Delle tre parti, quella che richiede maggior lavoro e' la presentazione dei dati anche se oggi e' possibile ricorrere a librerie software che includono programmi per le piu' svariate rappresentazioni grafiche. l'ingegnere misurista si occupa principalmente dei due primì blocchi. La configurazione degli strumenti sul bus richiede un approfondita conoscenza delle caratteristiche degli strumenti presenti al fine di ottimizzarne le prestazioni sia di acquisizione dei dati che di gestione della misura stessa. In genere si tratta di fissare, tramite invio agli strumenti di opportune stringhe di controllo, quei parametri caratteristici della misura in esame, ad esempio valori del fondo scala, range di frequenza, velocita! della misura ecc. Ovviamente le possibilita' di ottimizzazione sono innumerabili e spesso il buon ingegnere si distingue per colui che riesce a sfruttare a proprio vantaggio tutti i "trucchi" che le capacita' operative degli strumenti offrono. Il lettore e' opportuno che non sottovaluti queste affermazioni se si considera che oggi quasi tutti i moderni strumenti di misura sia di grandezze elettriche che non, sono basati su microprocessori e quindi in grado di gestire complesse operazioni di misura e l'abilita' consiste proprio nel configurare al meglio gli strumenti a disposizione. La misura vera e propria non presenta particolari problemi di gestione in quanto di competenza del singolo strumento. Unico caso in cui è necessario un coordinamento superiore e' rappresentato dal sincronizzare strumenti diversi per eseguire piu' misure contemporaneamente. Questo problema e' stato brillantemente risolto dai progettisti dell'ieee488 mediante il comando GET. Questo comando e' un comando IEEE488 (come LISTEN, TALKER ecc) che consente di sincronizzare l'istante di misura: quando gli strumenti interessati opportunamente configurati ricevono il comando GET eseguono contemporaneamente la misura, quindi il controllore provvederà! alla raccolta dei dati interrogando serialmente i vari strumenti. Nel nostro caso i vari blocchi funzionali si riducono ad una semplicissima sequenza di istruzioni nel linguaggio HP-BASIC Politecnico di Torino Pagina 9 di 14

IL BASIC HP La gestione del banco di misura verra' realizzata mediante un calcolatore HP programmato in linguaggio BASIC HP particolarmente sviluppato per l'interfaccia IEEE488, Questo linguaggio oltre a possedere le caratteristiche comuni a tutti i linguaggi interpretati offre una serie di istruzione dedicate alla gestione dell'interfaccia IEEE488 che consentono di risolvere semplicemente H problema del trasferimento dati. In particolare le istruzioni: OUTPUT XXX; "dati... XXX contiene l'indirizzo dello strumento preceduto dall'indirizzo della scheda IEEE488 interna al calcolatore. Ad esempio se si vuole indirizzare lo strumento con indirizzo 12 e se la scheda e' quella di default identificata dal numero 7 si avra' XXX= 712. La stringa "dati..." contiene le istruzioni che devono essere inviate allo strumento. Ad esempio si supponga di voler configurare un generatore di segnale (indírizzo HPIB 17) con il calcolatore-controller (indirirzzo 21) per produrre un segnale sinusoidale a frequenzza fissa a IOKHz; leggendo H manuale dello strumento si trova che la parola di configurazione e' FREQ10K, allora l'istruzione BASIC che configura questo strumento diviene: 10 OUTPUT 717;"TREQ10K" Il lettore osservi come non si usi nessuna delle istruzioni a basso livello presentate nel paragrafo precedente, ma semplicemente un instruzioni BASIC ad alto livello. Questo è possibile grazie alle particolarita' della macro che procede automaticamente ad inviare sul bus i caratteri necessari, ovvero: corrispondenti all'azione:? 1 U F R E Q 10 K LF UNI, LISTEN 17 TALK 21... line feed ovviamente dopo il carattere U il segnale di ATN cambia stato ad indicare che sul bus d ora in poi vi saranno dei dati; al termine il carattere di line feed chiude la stringa. Il linguaggio consente all'utente anche la gestione diretta del BUS mediante l'istruzione: SEND 7; Mnemonici HPIB DATA "... ad esempio l'istruzione OUTPUT dell'esempio precedente si sarebbe potuta sostituire con l'istruzione: 10 SEND 7;UNL LISTEN 17 TALK 21 DATA "FREQ10K" Infine l'istruzione SEND consente di inviare sul bus direttamente i caratteri ASCII senza alcun controllo mediante la seguente sintassi: SEND 7;CMD " "DATA Il prefisso CNID pone l'atn bassa il prefisso DATA viceversa. L'esempio precedente adesso diviene: 10 SEND 7;CMD "? 1 U' DATA T R E Q 10 K W' Come si osserva dall'analisi reale dei dati sul bus, l'istruzione a piu' alto livello OUTPUT inserisce dei caratteri non strettamente necessari mentre la SEND no esegue nessun controllo ed invia solo quelli strettamente specificati dall'utente. Percio' in taluni casi e' utile usare l'istruzione a più basso livello anche se la macro resta da preferirsi per semplicita' d'uso. Politecnico di Torino Pagina 10 di 14

Il comando complementare all'output ovvero che consente la ricezione dei dati dal BUS è: ENTER XXX; Variabile Ove XXX e' specificata analogamente a prima mentre "Variabile" e' la variabile o le variabili dove vogliamo trasferire i dati inviati sul bus. In generale il formato di trasferimento dei dati numerici sul BUS e' ASCII, ma e' possibile anche usare le notazioni singola o doppia precisione tradizionali; questa istruzione ad alto livello verifica la compatibilita' tra il tipo di variabile (stringa, reale, complesso ecc) e il dato presente sul bus. L'istruzione dapprima configura parlatore ed ascoltatore e quindi trasferisce il dato in memoria. E' possibile anche in questo caso usare le istruzioni a basso livello per la gestione del BUS complementare. Ad esempio se si vuole ricevere una stringa dallo strumento con indirizzo 17 (il calcolatore controller indirizzo 21) si avrà: 10 ENTER 717;A$ La variabile A$ contiene la stringa ricevuta. Questa istruzione si puo' sostituire con la coppia di istruzioni: 10 SEND 7;UNL LISTEN 21 TALK 17 20 ENTER 7;A$ In questo caso l'istruzione ENTER carica semplicemente in memoria quello che vi e' sul BUS senza provvedere a nessun indirizzamento. Per quanto riguarda le altre normali istruzioni di controllo e di stampa esse sono identiche ai più usati BASIC incommercio e percio' se ne omette la descrizione. Politecnico di Torino Pagina 11 di 14

IL BANCO DI MISURA In figura 4 e' raffigurato il banco di misura per l'esercitazione: Scopo dell'esercitazione e' dapprima scrivere un programma HP-BASIC che consenta la gestione del multimetro in modo da automatizzare la misura della tensione ai capi dell'alimentatore. Quindi si dovra' provvedere alla stampa e all'analisi dei dati sul BUS mediante analizzatore di stati logici. Questo strumento e' collegato in parallelo sul BUS IEEE488 tramite uno speciale cavo di connessione e consente la presentazione di tutti i 16 bit su due canali differenti. In particolare sì dovranno configurare i due canali in modo da presentare su uno gli otto fili di dati e sull'altro quelli di comando. Questo avviene agendo sui comandi a menu dell'analizzatore di stati logici che verranno illustrati direttamente in aula sullo strumento. Grazie all'uso di un segnale di clock interno e' possibile verificare H corretto funzionamento dei tre segnali di sincronismo del singolo byte (RFD,DAV,DAC). Viceversa collegando il pin del clock esterno con il pin DAV del bus e' possibile sincronizzare l'acquisizione con il flusso dei dati sul bus, ovvero acquisire byte dopo byte. Avendo cura di rappresentare gli otto fili di dati come ASCII negato, si trovano direttamente sullo schermo dello strumento le stringhe inviate garantendo l'immediata comprensione del corretto funzionamento del BUS. Politecnico di Torino Pagina 12 di 14

L'esercitazione si svolge nelle seguenti parti: Lettura manuale del Voltmetro per determinare la stringa di configurazione opportuna per la lettura di tensione Costruzione hardware del banco ponendo attenzione agli indirizzi IEEE488 (che non ve ne siano due uguali) Scrittura dei programma di gestione che svolga le funzioni di: 1) Invia stringa di configurazione 2) Acquisisce la misura 3) Stampa H dato acquisito su video e printer 4) Ripete dal punto 2 Analisi dei dati sul bus mediante analizzatore di stati logici. In particolare: Verifica della tempistica di invio del singolo byte 1) Configurare LA (Logic Analyzer) a 16bit (canali A e B) 2) Configurare il clock interno a 100ns 3) Configurare H Delay a 1900 4) Si scelga come trigger il carattere ASCII piu'opportuno ovvero quello sicuramente presente sul canale A 5) Configurare la presentazione con ilcanale A ASCII negato e B Binario Lanciare il programma e verificare la sequenza di sincronismo. Verifica dei caratteri ASCII 1) Configurare LA come al punto 1 precedente 2) Configurare il clock esterno con RFI) o DAV 3) Configurare il Delay a 1900 4) Si scelga come trigger il carattere ASCII piu' opportuno ovvero quello sicuramente presente sul canale A 5) Configurare la presentazione con ilcanale A ASCII negato e B Binario A questo punto lanciare l'acquisizione e verficare la presenza dei caratteri ASCII previsti. Si ripetano quindi le verifiche precedenti dopo aver sostituito alle istruzioni di alto livello le corrispondenti istruzioni di basso livello, osservando la diminuzione dei caratteri effettivamente inviati sul bus. L'istruzione OUTPUT, come gia' accennato, introduce alcuni spazi bianchi non necessari al termine di ogni stringa. Politecnico di Torino Pagina 13 di 14

BIBLIOGRAFIA [1] "Tutorial Description of the Hewlett Packard Interface Bus", Novembre 1980 Politecnico di Torino Pagina 14 di 14