La Strumentazione di misura. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 1 Schema a blocchi di una catena analogica di misura Grandezza Trasduttore da Misurare Emilio Sardini Elaborazione del segnale Presentazione dei dati “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 2 Schema a blocchi di una catena digitale di misura Grandezza Trasduttore da Misurare Interconessioni porte I/O, reti Elettronica di condizionamento Unità digitale di elaborazione Convertitore Analogico digitale A/D Presentazione display, LCD, LED etc etc Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 3 Schema a blocchi di una catena digitale di regolazione Grandezza Trasduttore da Misurare Elettronica di condizionamento Convertitore Analogico digitale A/D Unità di elaborazione Grandezza Attuatore da controllare Emilio Sardini Elettronica di potenza Convertitore Digitale Analogico (D/A) Elaborazione “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 4 Schema di sistema di controllo di processo Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 5 Confronto tra strumentazione analogica e numerica • La strumentazione analogica utilizza una architettura hardware dedicata e finalizzata alla misura del valore di un parametro del segnale d’interesse. Un amperometro è diverso da un voltmetro, a sua volta diverso da un wattmetro. • La strumentazione numerica, converte il segnale analogico in numerico sfruttando un architettura “universale” e misura il parametro d’interesse impiegando esclusivamente algoritmi numerici. • La strumentazione numerica utilizza un hardware la cui architettura è “uguale” mentre il software cambia a secondo del parametro d’interesse. Lo stesso concetto del PC e del software Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 6 Vantaggi della strumentazione numerica • Uno stesso strumento numerico compie le funzioni di un certo numero di strumenti analogici: pertanto il costo di uno strumento numerico risulta spesso inferiore al costo globale degli strumenti analogici richiesti per determinare le varie grandezze. • La possibilità di realizzare con il software complesse funzioni matematiche permette anche l’aggiunta di funzionalità alla strumentazione. • La comunicazione verso l’esterno permete: – la realizzazione di procedure automatiche di misura collegandosi con il controller – Scalabilità del sistema grazie ai driver software e alle reti di comunicazione Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 7 normalizzare il segnale analogico d’ingresso in modo da adattare il range del segnale al range del convertitore A/D input Condizionamento analogico filtraggio passa basso del segnale d’ingresso per prevenire fenomeni di aliasing. Emilio Sardini La strumentazione numerica Processo di conversione da analogico a digitale Conversione A/D Hardware digitale Struttura hardware “uguale” per i diversi strumenti di misura “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 8 Schema a blocchi di un multimetro Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 9 Schema a blocchi oscilloscopio digitale Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 10 Differenti modi per comunicare di uno strumento • IEEE488 (detta anche GPIB) • Ethernet • Serial USB Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 11 Long-Term Instrument Control and Connectivity Solutions Documento pubblicato in rete della “National Instrument” Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 12 Key characteristics of instrument control software • 1) Complete application development environment (ADE) versus a limitedfunctionality executable • 2) Built-in instrument connectivity functions • 3) Analysis and presentation capabilities Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 13 Complete application development environment (ADE) versus a limited functionality executable A complete application development environment provides considerable advantages over a preprogrammed software tool. Complete ADEs deliver flexibility and power to you for customization, application integration, system connectivity and more. That flexibility combined with measuremen-and-automation-specific tools delivers the fundamentals of virtual instrumentation Virtual instrumentation represents a fundamental shift from traditional hardware-centered instrumentation systems and defined software packages to flexible, measurement-and-automation-software-centered systems that exploit the computing power, productivity, display, and connectivity capabilities of popular desktop computers and workstations. Although the PC and integrated circuit technology have experienced significant advances, it is software that truly provides the leverage to build on this powerful hardware foundation to create virtual instruments, providing better ways to innovate and significantly reduce cost. empowering engineers and scientists to build measurement and automation systems that suit their needs exactly (user-defined) instead of being limited by traditional fixed-function instruments and a software executable (vendor-defined) limited in functionality. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 15 Built-in instrument connectivity functions Another key to ensure project success is the out-ofthe-box capabilities of the software package. To meet demanding project deadlines, you need software that does some of the work for you. Built-in instrument connectivity functions save you significant development time. There is a considerable difference between calling one native query command to communicate with your instrument and declaring the function through a DLLImport command, instructing the compiler to marshal the parameters, transferring control, throwing an exception to the managed caller, and then calling the query command. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 16 Analysis and presentation capabilities Finally, you should ensure that your software includes robust analysis and presentation capabilities. Once you have acquired the data from your instrument, you need built-in powerful algorithms and functions designed specifically for measurement analysis and signal processing. If the software package you choose does not contain measurement analysis functions, you are forced to write your own algorithms to turn raw data into critical information. With proper software capabilities, you can extract information from acquired data and unique measurements, generate, modify, process, and analyze signals, add intelligence and decision-making capabilities to your applications, perform inline and offline analysis, and then present information in a professional user interface designed for measurement data or to your data management sytems. Collegamento al documento National • Documento National Instrument Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 18 La strumentazione automatica:il bus IEEE488 Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 19 Il mezzo trasmissivo LINEE: • 8 dati: DIXX • 3 handshake: NFRD, NDAC, DAV; • 5 gestione interfaccia: ATN, IFC, REN, SRQ, EOI; Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 20 Specifiche del livello di collegamento • la logica utilizzata è TTL Schottky compatibile (VLOW <= 0,8V VHIGH >= 2V) open collector o tristate; questo permette che alcune linee siano gestite con una connessione wired-or e un minor consumo di corrente nello stato logico FALSO; • i messaggi sono trasferiti sul bus parallelo a 8 bit in modo byte seriale, asincrono controllato da handshake a tre linee; • il codice utilizzato è l'ASCII a 7 bit più un bit di parità. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 21 Topologia della rete Configurazione a stella Configurazione daisy -chain Emilio Sardini • Massimo numero di dispositivi collegabili è 15; il limite è dovuto a problemi di fan out • La massima velocità di trasmissione è di 1MB/s su distanze limitate. Inoltre la velocità di trasmissione è limitata dai dispositivi più lenti “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 22 Controller, listeners, talkers • Ciascun dispositivo può assumere ruoli diversi durante le varie fasi in cui si articola il processo di misurazione. I ruoli previsti sono i seguenti: ascoltatore (Listener), parlatore (Talker), controllore (Controller) esiste anche un "ruolo" di ozioso (Idle). Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 23 Ruolo dell’ascoltatore e del parlatore • Il ruolo di ascoltatore è assegnato a un dispositivo per metterlo in condizioni in quella fase del processo di ricevere i dati (device dependent) trasmessi sul bus. Se la rete è costituita da N dispositivi, gli ascoltatori possono essere al massimo N-l (deve esserci almeno un parlatore). • Il ruolo di parlatore è assegnato a un dispositivo per metterlo in condizioni di trasmettere, in quella fase del processo, i dati (device dependent) sul bus. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 24 Ruolo del controllore • Il ruolo di controllore è affidato a quel particolare dispositivo che è in grado di assegnare, mediante una procedura di indirizzamento, a sè stesso e agli altri dispositivi il ruolo di parlatore e/o di ascoltatore. Il controllore risponde alle richieste di servizio degli altri dispositivi e gestisce il funzionamento della rete. In un sistema IEEE-488 possono esserci più dispositivi in grado di esercitare il ruolo di controllori, ma soltanto uno di essi può essere controllore attivo in ciascuna fase. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 25 Ruolo dell’ozioso • Il dispositivo ozioso è un dispositivo a cui non è assegnato né il ruolo di ascoltatore né il ruolo di parlatore. Esso non rallenta le operazioni di trasferimento dei dati, tuttavia rimane disponibile al controllore nella ricezione di quei comandi che possono interessare qualunque dei dispositivi presenti sulla rete. Per esempio un dispositivo ozioso deve poter ricevere quei comandi che servono ad attivar lo, in una fase successiva, come ascoltatore o parlatore. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 26 Listeners, talkers oscilloscopio Emilio Sardini stampante • Se i ruoli non cambiano, non è necessario un controllore. • Si pensi ad un oscilloscopio digitale che deve trasferire ad una stampante i dati relativi alle forme d'onda acquisite. In una rete di questo tipo, all'oscilloscopio sarà assegnato stabilmente il ruolo di parlatore (talker only) mentre alla stampante verrà assegnato il ruolo fisso di ascoltatore (listener only). “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 27 Assegnazione degli indirizzi al device • L'assegnazione degli indirizzi ai device può essere fatta mediante microswitch presenti sul retro dello strumento. Su questi microswitch si imposta anche la condizione di talker only o listener only in alternativa alla condizione di addressable per la quale il dispositivo è • Per esempio è riportato una impostazione di talker only, mentre, se fosse configurato come indirizzabile, il device avrebbe indirizzo binario 11001 (25 decimale) Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 28 Esempio: assegnazione dei ruoli ai dispositivi • Abbiamo un elaboratore, un generatore di segnali e un voltmetro. Il generatore di segnali deve generare un onda sinusoidale di ampiezza 2Vp e frequenza l kHz, (attivabile con un messaggio “SWAVlK2VP”) e il voltmetro misurare la tensione efficace di tale segnale con fondo scala di l0V (attivabile con un messaggio “MISFSl0V”). Le varie operazioni sono previste dal programma e la misura effettuata dal voltmetro dovrà infine essere trasferita all'elaboratore per eventuali elaborazioni e/o presentazioni su grafico. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 29 Esempio: assegnazione dei ruoli ai dispositivi (fase 1 e 2) 1. L'elaboratore ha il ruolo di controllore 2. Il controllore assegna, in modalità comandi, al generatore di segnali (indirizzo#2) il ruolo di ascoltatore, e a se stesso (indirizzo #1) il ruolo di parlatore, e, come tale invia, nella modalità dati il messaggio "SWAVlK2VP" per la generazione della forma d'onda desiderata. In questa fase il voltmetro non interviene per cui esso è un dispositivo ozioso. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 30 Esempio: assegnazione dei ruoli ai dispositivi (fase 3 e 4) 3. l'elaboratore riprende il ruolo di controllore; disattiva l'ascoltatore in carica (indirizzo#2) e assegna al voltmetro (indirizzo #3) il nuovo ruolo di ascoltatore. Essendo ancora #1 parlatore attivo, invia a #3 il messaggio "MISFS10V". 4. L'elaboratore riprende il ruolo di controllore; disattiva l'ascoltatore in carica (indirizzo#3) e assegna al voltmetro (indirizzo #3) il nuovo ruolo di parlatore e a se stesso (indirizzo #1) il ruolo di ascoltatore, Il parlatore attivo (il voltmetro) invia all'ascoltatore attivo (l'elaboratore) il risultato della misurazione effettuata (es. la sequenza di Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 31 caratteri "1.4l4213V"). Linee di handshake. • NFRD (not Ready for data): indica se una unità è pronta a ricevere un messaggio. • NDAC (not Data accepted): indica l’accettazione di un messaggio da parte di una unità. • DAV (data valid): indica che i valori sulle linee dati sono stabili e possono essere letti. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 32 Handshaking IEEE 488 Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 33 Linee di gestione interfaccia: ATN,IFC,REN Sono gestite dal system controller: • ATN (attention): alta quando sulle linee dei dati ci sono i comandi e bassa quando è consentito al talker di mandare messaggi. • IFC (interface clear) alta per inizializzare il bus (reset). • REN ( Remote enable) viene usata per porre i dispositivi in modo remoto o locale Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 34 Messaggi: dati e comandi • I messaggi possono essere comandi, che devono essere comprensibili da ogni apparecchiatura in rete oppure dati,ovvero informazioni che hanno significato solo per il dispositivo a cui sono dirette • In generale i comandi attivano una particolare funzione di interfaccia e sono quindi device independent, mentre i dati attivano una funzione interna di uno o più dispositivi e sono quindi device dependent. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 35 • Per distinguere il tipo di messaggio si utlizza la linea di interfaccia ATN. Se ATN (linea gestita dal system controller) è negata (asserita), i messaggi sono dati(comandi); • Quando il bus è in modo comandi (ATN asserita), partecipano alle fasi di handshake anche i dispositivi idle; infatti, il comando inviato sul bus può interessare anche i dispositivi idle come nel caso degli indirizzamenti. • I tipi di comando – indirizzamenti, – comandi universali – comandi indirizzati, Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 36 • L'indirizzamento consiste nell'attivazione di un dispositivo come ascoltatore o come parlatore da parte del controllore. Indirizzamento UNT (untalker): 1011111 UNL (unlisten): 0111111 disabilitazione bit modalità parlatore ascoltatore 7 Bp 6 1 5 0 4 X 3 X 2 X 1 X 0 X Bp 0 1 X X X X X Bit di parità Emilio Sardini Indirizzo del dispositivo “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 37 Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 38 Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 39 Messaggi multilinea universali • UNT (Untalk): Disindirizza il parlatore attivo. Prima di indirizzare un nuovo parlatore, è necessario disindirizzare il precedente onde evitare conflitti sul bus. • UNL (Unlistcn):Disindirizza tutti i dispositivi precedentemente indirizzati come ascoltatori. • LLO (Local Lock Out): Disabilita l'impostazione manuale dei comandi sul pannello frontale di tutti gli strumenti. • SPE (Serial Poll Enable): Abilita gli strumenti ad una risposta sequenziale in una operazione di interrogazione, che segue ad una richiesta di servizio da parte di un dispositivo. • SPD (Serial Poll Disable) Chiude la sequenza delle operazioni di polling seriale • PPU (Parallel Poll Unconfigure): Disabilita tutti gli strumenti a rispondere alla interrogazione di tipo parallelo Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 40 Comandi indirizzati • GET (Group Execute Trigger) Tutti gli strumenti, precedentemente indirizzati come ascoltatori, iniziano contemporaneamente un'attività, per esempio una misurazione. • SDC (SelectedDeviceClear) Riporta a uno stato predefinito (di default) tutti gli ascoltatori attivi. • GTL (GO To Local) Gli ascoltatori possono essere programmati tramite i comandi manuali del pannello frontale (modalità locale). • PPC (Parallel Poll Configure) Configura il dispositivo, precedentemente attivato come ascoltatore, per istruirlo sulla modalità di risposta ad un'operazione di interrogazione parallela. • TCT (Take Control) Viene utilizzato dal controllore attivo per trasferire il ruolo di controllore ad un altro dispositivo precedentemente indirizzato come ascoltatore. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 41 Utilizzo del comando GET • Misura del valore dell'impedenza di un bipolo. Per far questo, si alimenta il bipolo con una tensione alternata, si registrano più valori istantanei (campioni) della tensione ai capi del bipolo e della corrente che lo percorre. I dati registrati verranno poi elaborati per calcolare l'impedenza. E’ evidente che in corrispondenza di ciascun campione, la misurazione della tensione deve avvenire contemporaneamente alla misurazione della corrente. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 42 Utilizzo del comando GET • Sulla rete sono presenti un voltmetro e un amperometro opportunamente collegati al bipolo a cui è applicata la tensione sinusoidale. È necessario che questi due strumenti inizino contemporaneamente l'attività di misurazione. Dopo essere stati configurati, gli strumenti rimangono in attesa del comando di trigger di gruppo. Il controllore invierà, poi, il comando GET in modo che gli strumenti avviino la misurazione. Questa operazione verrà ripetuta per ogni campione di tensione e di corrente prelevato. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 43 Linee di gestione interfaccia: SRQ,EOI • SRQ (service request) gestita da ogni dispositivo per richiedere in modo asincrono l’attenzione del system controller. • EOI (end or identify) questa linea ha due funzioni a secondo del valore della linea ATN. (ATN negata): Il talker usa EOI per contrassegnare la fine di una stringa di byte (messaggio), (ATN asserita) il controller per identificare il chiamante in una richiesta in parallelo. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 44 Modalità di collegamento alla linea SRQ Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 45 Interfacciamento • Logica cablata – wired And per famiglie logiche CMOS e TTL – Wired OR per famiglie logiche ECL • Uscite tri-state (a tre stati, uno ad alta impedenza, gli altri due 1 e 0 logico) • Invertitore con isteresi Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 46 Funzione logica wired AND tra le uscite di più porte NAND Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 47 Invertitore CMOS a tre stati (tri-state) Schema elettrico Emilio Sardini Tabella della verità e simbolo logico “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 48 Applicazioni delle porte tri-state Buffer bidirezionale Connessioni multiple di controller a un singolo bus Porte di I/O Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 49 I terminatori: segnalazione della fine di un messaggio • Il parlatore, quando invia dati, emette una sequenza di byte seguita da un terminatore che indica la fine della sequenza. Il terminatore è’ indispensabile al controllore per riprendere il controllo del bus • Il terminatore può essere software – sequenza di caratteri ASCII, CR (Carriage Return) e LF (Line Feed), (può essere presente tale sequenza durante la trasmissione del testo del messaggio) oppure hardware – asserimento della linea EOI in contemporanea con ATN negata. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 50 Gestione delle richieste di servizio • Può accadere che in una qualunque fase in cui si stanno svolgendo operazioni sul bus, un device necessiti di attenzione da parte del controllore. • Le motivazioni possibili, perché un device richieda attenzione, possono essere di varia natura, sia di normale funzionamento (per esempio il device che stava eseguendo una misurazione ha pronto il dato di misura), sia di segnalazione di situazioni anomale e/o malfunzionamenti che devono essere segnalate all'operatore. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 51 Gestione delle richieste di servizio • La richiesta di servizio viene effettuata asserendo da parte del dispositivo la linea SRQ, condivisa da tutti i device e gestita in "wired-or". • Il controllore avverte che la linea SRQ è allo stato attivo e deve individuare il richiedente tramite un'interrogazione (polling), dei dispositivi. Lo standard IEEE-488 prevede due possibili procedure di polling: il polling seriale e il polling parallelo. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 52 Polling seriale • Ciascun dispositivo, che ha implementato la funzione SRQ, è in grado di generare un byte di stato (STB status byte), il cui settimo bit indica se è avvenuta o meno una richiesta di servizio. Gli altri bit hanno un significato che dipende dal tipo di strumento e possono indicare il motivo della richiesta. • Poichè lo standard lEEE-488 non definisce il significato di questi bit, essi devono essere interpretati in funzione del particolare dispositivo, tramite un'operazione di mascheramento, che viene effettuata dal controllore. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 53 Procedura di polling seriale • La procedura di polling seriale consiste in una lettura, da parte del controllore, dei byte di stato dei vari device con una scansione sequenziale degli stessi. Prima di avviare la procedura di polling seriale, il controllore invia il comando universale multilinea SPE. • Esso viene percepito da tutti i dispositivi presenti sulla rete, i quali si preparano, dopo essere stati indirizzati come parlatori, ad inviare lo status byte anziché i dati contenuti nel buffer di uscita dell'interfaccia. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 54 Procedura di polling seriale • La procedura di polling seriale viene terminata tramite l’invio da parte del controllore del comando SPD. • Tutte le operazioni che eseguono l’interrogazione seriale sono gestite dal programma di controllo che quindi può decidere quando accogliere la richiesta di servizio e con che priorità consultare i dispositivi. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 55 Polling parallelo • La procedura di polling parallelo, sopperisce alla lentezza intrinseca di un’interrogazione seriale ma richiede una fase piuttosto complessa di configurazione iniziale. A ciascuno strumento viene assegnata una particolare linea di I/0, che deve essere attivata nel momento in cui il controllore avvia una procedura di polling parallelo. • La configurazione iniziale viene effettuata inidirizzando il device come ascoltatore: viene inviato il comando PPC seguito dal comando PPE, che contiene negli ultimi 3 bit la linea di I/O assegnata al dispositivo. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 56 Polling parallelo • IL controllore attiva la procedura di polling parallelo asseredno contemporaneamente le linee ATN e EOI. • A questo punto i dispositivi abilitati a rispondere al polling parallelo si dichiarano, nel senso che ciascuno pone a uno o a zero la linea di I/0 di propria competenza, a seconda che abbia o no richiesto servizio. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 57 Funzioni di interfaccia dell’IEEE 488 • Un apparato compatibile con IEEE488 è costituito da – 1) un dispositivo con la propria funzionalità e – 2) un interfaccia (costituita da (alcune o tutte) funzioni standard) che permette il colloquio del dispositivo con gli altri presenti sulla rete. • Particolari messaggi tra il dispositivo e l’interfaccia e l’interfaccia e il bus attivano o meno le funzioni di interfaccia. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 58 A = Funzioni definite dallo standard B = Funzioni definite dal progettista 1 = Linee di segnale del bus di interfaccia 2 = Messaggi remoti di interfaccia provenienti da o diretti a funzioni di interfaccia 3 = Messaggi device dependent provenienti da o diretti a funzioni del dispositivo 4 = Legami logici fra le funzioni di interfaccia 5 = Messaggi locali fra funzioni del dispositivo e funzioni di interfaccia 6 = Messaggi di interfaccia remoti inviati dal dispositivo con funzione di controllore Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 59 SH AH C TE LE SR PP RL DC DT Funzioni d’interfaccia • SH (Source Handshake):Funzione che permette la gestione dell'handshake quando l’interfaccia trasmette un messaggio multilinea. Ha il controllo della linea DAV. • AH (Acceptor Handshake) Funzione che permette all'interfaccia di un apparato di gestire l'handshake come destinatario di un messaggio multilinea. Questa funzione ha il controllo delle linee NRFD e NDAC. Attivano questa funzione di interfaccia tutti i messaggi multilinea ricevuti dal bus. La funzione AH deve essere implementata su tutti i dispositivi: tutti, infatti, devono partecipare all'handshake quando il bus è in modalità comandi Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 60 • C (Controller) Funzione che permette a un apparato di assumere il ruolo di controllore. Attivano questa funzione tutti quei messaggi multilinea e unilinea inviati dal controllore e il comando indirizzato TCT. Ovviamente solo gli apparati in grado di assumere tale ruolo posseggono questa funzione di interfaccia. • T o TE (Talker o Extended Talker) Funzione che permette a un apparato di assumere il ruolo di parlatore o, nel caso disistemi di strumenti, di parlatore esteso.Interessano questa funzione gli indirizzamenti primari o secondari e i messaggi inviati sul bus dal parlatore. • L o LE Funzione che permette ad un apparato di assumere il ruolo di ascoltatore o, nel caso di sistemi di strumenti, di ascoltatore esteso. Interessano questa funzione gli indirizzamenti primari o secondari e i messaggi ricevuti dalEmilio busSardini dall'ascoltatore. “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 61 • SR (Service Request) Funzione che permette ad un dispositivo di richiedere servizio. Compete a questa funzione di interfaccia il controllo della linea SRQ e l'eventuale risposta ad una procedura di polling seriale. • PP (Parallel Poll) Funzione che permette ad un determinato apparato di partecipare alle procedure di polling parallelo e quindi di riconoscere i comandi ad essa associati. • RL (Remote to Local) Funzione che permette ad un dispositivo di essere programmabile mediante messaggi inviati sul bus (modalità remota) oppure tramite il pannello frontale (modalità locale). Questa funzione riconosce i comandi REN e GTL. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 62 • DC (Device Clear) Funzione che permette ad un dispositivo di riconoscere messaggi di reset e di attivare una configurazione predefinita. Interessa questa funzione il comando SDC. • DT (Device Trigger) Funzione che permette ad un dispositivo di attivare un'attività al ricezione dal bus di un comando di sincronismo (trigger). Interessa questa funzione il comando GET. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 63 Funzioni d’interfaccia • Lo standard IEEE-488.1 non prevede che l'interfaccia di un particolare apparato supporti tutte le funzioni descritte. Per esempio se le funzioni SR e PP non sono previste, il device non riconoscerà nessuno dei comandi che coinvolgono le procedure di polling. • Le funzioni di interfaccia sono definite in modo rigoroso dallo standard, mediante dei diagrammi di stato, uno o più diagrammi di stato per ogni funzione. In questi si utilizzano delle convenzioni sulla denominazione dei messaggi Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 64 Linguaggi di programmazione dell’IEEE488 • Quando si scrive un programma che verrà eseguito dal controllore, per il coordinamento delle operazioni effettuate dai vari dispositivi, si utilizzano linguaggi ad alto livello. • Oggi si usano linguaggi di programmazione ad oggetti come, ad esempio, quello utilizzato in ambiente SW LABVIEW sviluppato dalla National Instruments. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 65 Strumentazione su scheda • I sistemi automatici di misura rendono uno o più strumenti completamente programmabili da un elaboratore. • La strumentazione su scheda non ha un pannello con comandi manuale o visualizzatore tradizionale in quanto la programmazione avviene in modalità remota tramite il bus e per la visualizzazione lo strumento sfrutta il display (monitor) dell'elaboratore stesso. • Esempi di strumenti su scheda sono quelli che rispettano gli standard VME e VXI. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 66 Esempi di strumentazione su scheda • Il VME strumentazione relativamente semplice per l'acquisizione dati e il controllo di processi industriali. Gli strumenti sono costruiti su schede di dimensioni definite in alcuni formati, che si inseriscono sul bus VME di un calcolatore compatibile con questo standard. • Il VXI riguarda, invece, strumentazione complessa con potenzialità pari ad un analogo strumento da laboratorio. Ciascuno strumento, sia esso un multimetro, un oscilloscopio, un generatore di segnali, è contenuto in una scatola, generalmente schermata, delle dimensioni di una scheda VME (formato C), ma dello spessore di“Didattica alcuni centimetri. Emilio Sardini della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 67 • Mancando di pannello frontale e di visualizzatore, lo strumento occupa uno spazio minore di quello occupato dall'analogo strumento convenzionale. Il singolo strumento è fornito di un connettore che permette di alloggiarlo in un rack o cestello e collegarlo al bus. • Anche l'elaboratore che controlla la strumentazione è concepito in modo del tutto identico. Tramite un terminale l'operatore può interfacciarsi con l'elaboratore, e, quindi, con gli strumenti. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 68 Strumentazione sul bus dei personal computer • E’ stata realizzata strumentazione su scheda compatibile con il bus dei personal computer ( bus PCI per esempio). • Tali schede utilizzano principalmente convertitori A/D e D/A. • Si possono effettuare misure di vario genere anche su più segnali contemporaneamente (tensione di picco, tensione efficace, frequenza, periodo, duty cycle, differenze di fase, calcolo di funzioni di trasferimento, ecc.). • Inoltre, sfruttando le potenzialità del convertitore D/A, è possibile trasformare lo strumento in un generatore di segnali con una infinita varietà di forme d'onda, in quanto la forma d'onda può essere elaborata al computer e quindi inviata al convertitore Emilio Sardini “Didattica A/D. della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 69 Limitazioni della strumentazione su scheda (personal computer) • In realtà questo tipo di strumentazione non sostituisce la strumentazione classica, sia perché è generalmente meno accurata, sia perché non è in grado di raggiungere velocità di conversione elevate, per cui si possono acquisire segnali a banda limitata. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 70 Linguaggi di programmazione • Per semplificare la gestione di un convertitore A/D-D/A sono stati sviluppati ambienti di programmazione "object oriented", di cui si possono citare il LABVIEWTM della National lnstruments che produce anche le schede per PC multifunzionali (acquisizione e generazione di segnali analogici e digitali). • Questo software permette all'utente di gestire in maniera relativamente semplice, le schede di strumentazione collegate al calcolatore. Se sul computer è anche installata una scheda di interfaccia IEEE-488, è inoltre possibile controllare strumentazione tipica da laboratorio dotata di questa interfaccia. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 71 Strumenti virtuali • Si avvalgono delle potenzialità sia dei convertitori A/DD/A e dei circuiti accessori presenti sulla scheda (contatori, temporizzatori, porte digitali ecc...), sia delle funzioni elaborative del software di data processing. • Lo strumento di misura perde la classica interfaccia utente, (un pannello con manopole e pulsanti di controllo). Essa viene sostituita da una immagine rappresentata sullo schermo del calcolatore. I comandi e i controlli sono immagini di cursori e manopole comandate da tastiera o da mouse con funzionalità decisa dall'utente, in base alle proprie esigenze. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 72 Schema di principio di una scheda A/D Strumentazione basata su scheda di acquisizione dati e PC Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 74 • Elementi di una SAD: – – – – – Unità di scansione o multiplexer (MUX) Amplificatore a guadagno programmabile (PGA) Sample and hold (S/H) Convertitore Analogico digitale (ADC) Unità di controllo e memorizzazione • Gli elementi di un SAD devono essere coordinati al fine di selezionare il sensore, amplificare, convertire in digitale e memorizzare in memoria il dato convertito. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 75 Funzione degli elementi di un SAD • unità di scansione o multiplexer: collega una alla volta le catene di misura con l’amplificatore a guadagno programmabile. • amplificatore a guadagno programmabile: adatta il campo dei valori d’uscita del trasduttore selezionato al campo d’ingresso del convertitore ADC. • sample and hold: campiona e mantiene il valore del segnale per tutto il tempo di conversione del segnale da analogico a digitale. • ADC: convertitore analogico-digitale • Unità di controllo: esegue nella corretta sequenza le operazioni necessarie per l’acquisizione dei dati. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 76 Sequenza delle operazioni di controllo dei singoli elementi del SAD 1/2 1. Il sample and Hold e il convertitore A/D vengono azzerati. 2. Il canale d’ingresso del multiplexer viene selezionato tramite il “comando selezione indirizzo”. 3. Il guadagno dell’amplificatore programmabile viene programmato tramite il”comando programmazione guadagno”. 4. Il S/H campiona e trattiene tramite il comando”inizio memorizzazione” Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 77 Sequenza delle operazioni di controllo dei singoli elementi del SAD 2/2 5. Dopo un breve transitorio, ossia quando il sample and hold è pronto, viene iniziata la procedura di conversione attivando il segnale start del convertitore A/D. 6. Dopo il tempo di conversione dell’ADC il dato viene letto sull’uscita dell’ADC e memorizzato in memoria. 7. Può partire una nuova conversione. Si ricomincia da 1 Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 78 Il sistema di controllo e memorizzazione • Un sistema di controllo ed elaborazione genera la sequenza opportuna dei segnali per coordinare le operazioni sopra riportate. • La sua architettura può essere molto diversa partendo da un semplice sequenziatore fino a sistemi molto articolati. • Alcuni esempi di esempi semplici sono: – Single chip che contiene convertitore A/D e multiplexer – Personal Computer con scheda d’acquisizione dati • Le prestazioni del sistema, in termini di risorse hardware e software, influiscono significativamente sulle prestazioni dell’unità di acquisizione dati Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 79 Unità di controllo e memorizzazione • L’unità di controllo e memorizzazione può essere realizzata secondo diverse architetture e negli ultimi anni ha subito profonde modifiche. • Può essere considerata come una unità a se stante, inserita in un sistema di elaborazione come, per esempio, un personal computer o facente parte di un sistema distribuito. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 80 Esempio: unità d’acquisizione dati interfacciata ad un sistema di elaborazione I due sistemi sono unità stand alone. La comunicazione avviene utilizzando interfacce standard ( a volte sviluppate anche ad hoc) Emilio Sardini Scheda di acquisizione in unità esterna Calcolatore RS232 USB Ethernet Sistema di comunicazione “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 81 Esempio: unità d’acquisizione dati interfacciata ad un sistema di elaborazione La scheda di acquisizione dati e è un componente da integrare nel sistema di elaborazione Scheda di acquisizione dati Calcolatore ISA SPI PCI Sistema di comunicazione La comunicazione avviene utilizzando bus standard: ISA, EISA, SPI, PCI, PCMCIA etc etc Scheda di acquisizione dati • E’ una scheda che viene montata sul bus del PC (per esempio PCI). • Include oltre alla funzione di un SAD anche altre fra cui: – Gestione di linee digitali di ingresso e d’uscita – Gestione di timer unit – Gestione di convertitori Digitali Analogici (D/A) Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 83 Caratteristiche di una scheda d’acquisizione dati • numero delle linee analogiche d’ingresso (conversione analogico-digitale) e d’uscita ( conversione digitale-analogico) • risoluzione del convertitore analogico-digitale e digitale analogico • linee digitali di ingresso e d’uscita. • massima frequenza di campionamento • Configurazione dei circuiti d’ingresso ( single or differential ended) Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 84 Caratteristiche di una scheda d’acquisizione dati • valori di set dell’amplificatore a guadagno programmabile • Campo d’ingresso • Interfaccia verso l’unità centrale: tipo di bus (ISA, PCI) • Unità di memorizzazione (buffer di memoria locale, DMA (Dierct memory transfer) • Unità di controllo: gestione locale ( sequenziatore hardware, microprocessore) o gestione esterna da parte dell’unità centrale del PC Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 85 Unità di memorizzazione per una scheda montata all’interno del computer • La memorizzazione dei dati può utilizzare memorie locali, ossia presenti sulla scheda stessa, oppure memorie esterne quali quelle (RAM, Dischi etc etc) del PC. In questo caso il trasferimento dei dati può avvenire sotto la supervisione dell’unità centrale del PC oppure si può avvalere di tecniche di DMA ossia di accesso diretto in memoria. • Sono possibili anche soluzioni ibride, cioè utilizzo della memoria locale come buffer temporaneo per inoltro differito dei dati nella memoria centrale. Esempio di uno schema a blocchi di una scheda d’acquisizione dati Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 87 Software per la gestione • La scheda di acquisizione dati senza il software è di poco uso e senza un controllo appropriato può essere difficile da programmare. • Le funzioni che il software deve svolgere sono: – acquisizione dati (anche in background) ad una specifica frequenza di campionamento. – Streaming dei dati da e per la memoria principale – Integrazione di diverse schede e uso delle diverse funzioni di una scheda da una singola interfaccia utente. • Esistono tools di programmazione che facilitano il compito al programmatore. Tra i diversi tools commercialmente disponibili il più diffuso è il Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” LabView. anno accademico 2005 2006 pagina 88 Organizzazione di LabView Labview Driver Software Bus del computer: PCI,XT/AT etc …… Schede PCMCIA Emilio Sardini Porte seriali “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 89 • Driver sono procedure software che consentono all’unità centrale di interagire con uno specifico hardware. • I driver permettono di eseguire tutte le necessarie operazioni per inizializzare, configurare, inviare e ricevere dati dalle schede. • Tali driver possono essere usati dalla maggior parte dei compilatori dei più conosciuti linguaggi quali per esempio, compilatori C o da sistemi di sviluppo ( per esempio Lab Windows CVI) specificatamente progettati per schermare l’operatore dai non necessari dettagli per la programmazione a basso livello dell’hardware. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 90 LabView • LabVIEW è uno strumento di programmazione che si avvale di strumenti grafici. Un insieme di icone che rappresentano i controlli e le funzioni disponibili nel menù del software sono opportunamente collegate insieme e descrivono il programma • L’interfaccia utente consiste di due parti: un pannello frontale e un diagramma. Tale organizzazione è simile ad uno strumento dove il pannello frontale è usato per gli ingressi e le uscite e per visualizzare le informazioni e invece i circuiti risiedono sulla scheda. Allo stesso modo i bottoni e gli interruttori sono sul pannello frontale. Emilio Sardini “Didattica della strumentazione digitale e sistemi a microprocessore” anno accademico 2005 2006 pagina 91