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
Scarica

La Strumentazione di misura