Академический Документы
Профессиональный Документы
Культура Документы
7.1 Introduzione
Gli elaboratori sono ben stati inventati per elaborare i dati, ma a prescindere dal modo col quale essi lo fan-
no i dati da elaborare devono comunque essere immessi negli elaboratori e da questi estratti come risultati.
I dati in ingresso e i risultati e in uscita dagli elaboratori assumono forme diverse e vengono trattati da peri-
feriche differenti a seconda che essi siano generati e utilizzati da un operatore umano o siano acquisiti dal resto del
mondo fisico, “il campo”, e a quest’ultimo siano diretti. Nel primo caso abbiamo a che fare con che siamo ormai
abituati ad adoperare durante l’uso di un comune personal computer: tastiera, monitor, mouse, stampante, ecc.;
mentre nel secondo caso, che è quello degli elaboratori dedicati, compresi quelli embedded, i dispositivi
d’ingresso/uscita interfacciano l’elaboratore con il campo, e cioè con le grandezze fisiche considerate in
quest’ultimo.
Al fine di far comprendere meglio l’importanza dell’argomento che andremo a trattare, è opportuno ricor-
dare che i dati in forma numerica, cioè digitalizzati, non compaiono solo all’interno degli elaboratori perché lì
possono esistere ed essere trattati solo in quella forma, ma il formato numerico viene sempre più spesso preferito a
quello analogico sia per la memorizzazione a lungo termine di suoni e immagini fisse e in movimento (Compact
Disk, Digital Versatile Disk), sia per la trasmissione degli stessi nella televisione digitale (HighDefinition Tele
Vision), nella telefonia numerica mobile (GSM) e fissa (Integrated Service Data Network), nella trasmissione di
La spiegazione del perché la tecnologia della memorizzazione e della trasmissione dei dati (di quella
dell’elaborazione si è già parlato) tenda al “tutto digitale” è dovuta all’enorme vantaggio in flessibilità, costo, ma
soprattutto robustezza che hanno la memorizzazione, la trasmissione e l’elaborazione digitale nei confronti delle
loro controparti analogiche. Un esempio per tutti: ognuno di noi sa che il trasferimento di un brano da una supporto
magnetico all’altro (per esempio copia da una musicassetta all’altra, anche quando non viola i diritti d’autore),
genera una copia sempre di qualità peggiore dell’originale anche se il trasferimento è avvenuto completamente per
via elettronica. Ciò accade perché sia nella riproduzione, sia nella registrazione del segnale analogico viene intro-
dotta una perturbazione del segnale, chiamata rumore (ma questo vale anche per la trasmissione di un segnale
analogico tramite un qualsivoglia mezzo) che non può mai essere riconosciuto, se non per confronto con la copia
originale, e tantomeno eliminato; nella riproduzione e trasmissione digitale è invece possibile, tramite opportuni
algoritmi numerici, sia riconoscere la presenza di rumore nel segnale riprodotto o trasmetto (in questo caso il rumo-
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 1 di 15
re prende la forma dell’alterazione di parte dei bit che compongono il dato), sia eliminare il rumore, ricostruendo il
segnale originale.
Lo scopo di questo capitolo è quello di spiegare, a grandi linee, come sia possibile per un elaboratore elet-
tronico interagire con le grandezze fisiche che lo circondano e quali siano i problemi, anche teorici, che ciò com-
porta. Queste nozioni sono propedeutiche allo studio del problema del controllo dei sistemi che sarà trattato nel
po, riportato in campo ingegneristico, si trasforma nel controllo dei sistemi tramite la variazione di opportune con-
dizioni al loro contorno. Il controllo dei sistemi è uno dei campi d’elezione degli elaboratori elettronici, per cui il
nostro scopo diventa ora quello di capire come sia possibileinterfacciare gli elaboratori elettronici al mondo fisico,
sia per acquisire dati, sia per modificare l’ambiente in cui operano i sistemi di nostro interesse.
In Fisica acquisire dati significa soprattutto dare una stima quantitativa di certe qualità degli enti oggetti
della nostra speculazione. Le qualità di cui sopra che ammettono un’indagine quantitativa si dicono grandezze e il
processo attraverso il quale giungiamo alla loro stima quantitativa viene detto processo di misura, o semplicemente
misura. Per misurare il valore di una grandezza posseduta da un ente la si confronta quantitativamente con la stessa
grandezza posseduta da un particolare ente detto campione. In genere il confronto, diretto o indiretto, della gran-
dezza posseduta dai due enti, il campione e quello sotto misura, avviene sugli effetti che si osservano in particolari
sistemi detti strumenti di misura (deviazione percepibile dall’osservatore di un opportuno indice, o altro fenomeno
Nel processo di misura sopra appena delineato, oltre all’ente da misurare e al campione due sono i protago-
nisti importanti: l’osservatore e lo strumento di misura. Essenzialmente il compito del primo si riduce acontare gli
effetti che le due istanze della grandezza hanno sullo strumento di misura (per es. di quante “tacche” si è spostato
l’indice dello strumento) il quale, a sua volta, ha per scopo quello ditrasdurre la grandezza sotto misura in un’altra
Nel caso presente, la parte dell’osservatore è assolta da particolari dispositivi elettronici detti “Analog to
Digital Converter, ADC) descritti nel seguito, mentre quella dello strumento di misura rimane assolta da una parti-
colare classe di trasduttori i cui componenti, ognuno a fronte di una propria grandezza in ingresso, hanno come
1
Alcuni ritengono più corretto identificare lo “strumento di misura” nell’insieme formato dal trasduttore e
dall’osservatore, in quanto il risultato della misura deve essere un valore numerico e solo la loro unione è in
grado di fornirlo.
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 2 di 15
grandezza trasdotta in uscita la tensione elettrica. La ragione di ciò risiede nel fatto che i dispositivi deputati alla
funzione di osservatore sono di natura elettronica e, come tali, intrinsecamente ben si adattano “ad osservare”
7.3 I trasduttori
I trasduttori sono dei (semplici) sistemi fisici che reagiscono alla variazione di una grandezza con la varia-
zione di un’altra.
Esempi di trasduttori sono gli altoparlanti e gli auricolari (tensione ⇒ spostamento), i microfoni (movi-
mento ⇒ tensione), i termometri a fluido termometrico (temperatura ⇒ volume), i dinamometri a molla (forza ⇒
spostamento), gli anemometri a filo caldo (velocità dell’aria ⇒ temperatura ⇒ resistenza elettrica ⇒ tensione
elettrica), ecc..
In genere si cerca di costruire o di sfruttare sistemi la cui funzione di trasferimento sia lineare, almeno
nell’intervallo di valori d’interesse della grandezza in ingresso: questo per rendere più semplice il trattamento dei
dati derivati dalla misura; generalmente le funzioni di trasferimento dei trasduttori non sono esattamente lineari e
necessitano di una qualche elaborazione numerica o particolari accorgimenti fisici per rapportare la variazione
della grandezza trasdotta e misurata a quella della grandezza originale; talvolta le funzioni di trasferimento assu-
mono delle forme matematiche che si discostano decisamente dalla forma lineare, come quella esponenziale che è
Come detto in precedenza, i trasduttori di nostro interesse sono tuttavia quelli che rapportano una grandez-
za in ingresso in tensione elettrica o vice versa (in questo caso vengono talvolta denominatiattuatori). Questo tipo
di trasduttori sta assumendo sempre più importanza di pari passo con l’espandersi dell’utilizzo dei sistemi elettro-
parte degli elaboratori elettronici, nel seguito di questo paragrafo ci limiteremo a considerare per semplicità sola-
Una volta misurato il valore della tensione fornita dal trasduttore, sarà compito del programma di calcolo
tener conto dell’effetto della funzione di trasferimento introdotta dal trasduttore stesso ai fini della determinazione
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 3 di 15
7.4.1 Problemi di discretizzazione
Date la differente natura delle grandezze da misurare, continue, e degli elaboratori elettronici, discreti, la
misura di una grandezza da parte di un elaboratore è affetta da un errore ineliminabile detto “errore di campiona-
mento”. Data una rappresentazione binaria su n bit, associati alla rappresentazione “00….00” il minimo valore che
può assumere la grandezza da misurare2 e alla rappresentazione “11….11” il massimo, l’intervallo dei valori (che
sono in numero infinito, data l’ipotesi della natura continua della grandezza) viene suddiviso in 2n – 1 parti, ognuna
Limitandoci ora a considerare misure di tensione, si supponga che l’intervallo dei valori assunti sia com-
preso tra Vmin e Vmax e che la rappresentazione del dato misurato sia a 8 bit: l’intervallo di variazione della tensione
sarà suddiviso in 2n-1 = 255 intervalli di ampiezza ∆V = (Vmax- Vmin)/( 2n-1); facendo in modo3 che il valore nomi-
nale della configurazione sia posizionato sul valore centrale di ogni intervallo, ad ogni configurazione corrispon-
dono tutti i valori di tensione compresi nell’intorno di centro il valore centrale e di raggio∆V/2; dunque ogni de-
terminazione della tensione in ingresso sarà affetta da un errore assoluto pari a±∆V.
corrente. Il dispositivo elettronico che esegue la misura della tensione, l’ADC, confronta la tensione in ingresso
con quella di riferimento fornita da un dispositivo campione il cui valore non è facilmente modificabile, ed è bene
che non lo sia se si vuole mantenere una buona precisione della misura. L’ADC pertanto deve fornire il rapporto tra
il segnale in ingresso, che varia tra Vmin e Vmax, e quella di riferimento, generalmente indicata con Vref.
Normalmente la configurazione “00….00” corrisponde al valore 0V4 e quella “11…11” a Vref, con ∆V =
Vref/( 2n-1); ed altrettanto normalmente i valori Vmin e Vmax differiscono entrambi da 0 V e Vref. Nel caso in cui Vmin
e Vmax siano compresi nell’intervallo 0 V ÷ Vref la misura risultante avrà una risoluzione inferiore a quella massima
disponibile con l’ADC adoperato perché l’intervallo di variazione della tensione in ingresso sarà suddiviso in
(Vmax- Vmin)/[Vref/( 2n-1)] passi, certamente minori di 2n-1. Mentre, nel caso in cui Vmin e Vmax siano esterni
2
Qui per “minimo valore”, e poi per “massimo “valore”, s’intende rispettivamente il minimo e il massimo valore
che la grandezza può assumere nel sistema sotto misura e non in assoluto: il modulo della velocità di un corpo
può assumere tutti i valori compresi tra 0 m/s e la velocità della luce nel vuoto, ma l’intervallo dei valori possi-
bili per la velocità di un centometrista è ben più ristretto!
3
Per mezzo di predisposizioni hardware.
4
In alcuni ADC la tensione di riferimento inferiore può essere diversa da 0V.
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 4 di 15
all’intervallo 0 V ÷ Vref, oltre a non riuscire a misurare tensioni estreme, si rischia di danneggiare permanentemente
l’ADC.
Per evitare i problemi sopra evidenziati si deve interporre tra la sorgente del segnale da misurare, che il più
delle volte è costituita dal trasduttore, e l’ingresso dell’ADC un circuito amplificatore avente per funzione di trasfe-
rimento una funzione lineare (una equazione di 1° !) che sia un grado sia di traslare il valoreVmin a 0 V, sia di far
corrispondere Vmax a Vref, adattando così l’intervallo di variazione in ingresso con l’intervallo di misura dell’ADC.
L’adattamento dell’intervallo deve tenere di conto anche dell’effetto sull’ampiezza del segnale da misurare di
eventuali altri dispositivi elettronici interposti tra la sorgente del segnale el’ADC; questi ulteriori dispositivi e le
misura di una grandezza costante, bensì allo studio e al controllo di sistemi nei quali le grandezze variano nel tem-
po. Per fare ciò è necessario acquisire i valori assunti nel tempo dal segnale da studiare senza perdere variazioni
significative del segnale che possono essere presenti tra un campionamento e il successivo.
Dal momento che acquisire campioni ad alta velocità può essere costoso in relazione all’ADC da utilizzare,
alla quantità di memoria necessaria a memorizzare i dati campionati e alle prestazioni che deve avere il sistema
elettronico che li analizza, è legittimo chiedersi qual è la velocità minima da utilizzare per campionare corretta-
La risposta ci viene fornita dal Teorema del Campionamento il quale afferma che per campionare corretta-
mente un segnale continuo, periodico, limitato in frequenza alla componente fM, è sufficiente utilizzare una fre-
Qui è interessante osservare che taluni scrivono tale diseguaglianza nella forma di “maggiore o uguale”:
ebbene, supponendo per esempio di campionare un segnale sinusoidale esattamente al doppio della sua frequenza,
iniziando quando passa per lo zero, si ottiene una successione di zeri, che non può certo soddisfare la tesi del Teo-
Nel Teorema del Campionamento si fa cenno a una non meglio specificata componente di frequenza mas-
sima fM: questo deriva dalla possibilità data dal Teorema di Fourier di scomporre una qualunque funzione periodi-
ca, generalmente continua, di periodo 2l in una serie di funzioni trigonometriche secondo la formula:
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 5 di 15
a0 ∞ kπ kπ
f ( x) = +∑ kcos x + bksen x)
2 k =1 l l
in questo caso la nostra frequenza massima fM corrisponde alla componente k-esima dopo la quale il resto
della serie dà un contributo trascurabile (minore di metà del valore del bit meno significativo5 della
rappresentazione binaria utilizzata) alla somma (i coefficientiak e bk tendono a zero al crescere di k).
Se l’ipotesi del Teorema del Campionamento non viene rispettata, e cioè se il segnale viene campionato a
una frequenza fc < 2 fM, si crea un artefatto nel segnale sotto forma di componente spuria di frequenza pari a 2fM -
fc che, a seconda delle caratteristiche del segnale in ingresso, non può essere eliminata dal segnale campionato,
compromettendo così l’acquisizione. L’effetto che si viene a creare vene detto di “aliasing”.
Scelta la frequenza di campionamento dell’ADC in base alle caratteristiche fisiche del sistema che produce
il segnale da misurare, è sempre buona regola anteporre all’ADC un filtropassa-basso che elimini dal segnale in
ingresso le componenti di frequenza maggiore o uguale a fc/2, o che perlomeno ne riduca il contributo all’intero
segnale a meno della metà del valore dell’LSB della rappresentazione binaria utilizzata.
Dovrebbe essere ormai chiaro, anche per quanto detto nei capitoli precedenti, che qualunque trasformazio-
ne o operazione ha una durata temporale diversa da zero. Mentre in altri casi la durata finita di un’operazione com-
porta solo un noioso dilatarsi dell’attesa del risultato, in questo caso interagisce direttamente con la variazione nel
Difatti, se durante il tempo di campionamento il segnale varia il suo valore per più di metà del valore
dell’LSB, si genera un errore di misura indebito rispetto a quello intrinseco di discretizzazione. Per evitare che ciò
accada, si antepone al convertitore un circuito avente funzione di memoria analogica, costituito essenzialmente da
un interruttore elettronico seguito da un condensatore posto tra il segnale e la massa di riferimento. A seconda della
posizione dell’interruttore, il circuito riporta in uscita esattamente il segnale in ingresso se l’interruttore e chiuso,
mentre mantiene l’ultimo valore che aveva il segnale quando l’interruttore viene aperto. Tali circuiti prendono il
5
In Inglese “bit meno significativo” viene tradotto “less significant bit”, in sigla LSB.
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 6 di 15
nome di Track & Hold (T/H) o di Sample & Hold (S/H) a seconda della loro architettura elettronica, ma sono equi-
Anche tali circuiti sono lontani dalla perfezione e non mantengono indefinitamente nel loro stato diHold il
valore memorizzato, ma quest’ultimo decresce nel tempo. Per quantificare la loro bontà quali elementi di memoria
viene considerato l’angolo costituito dalla curva di scarica del circuito (approssimata a una retta) nel diagramma
temporale della tensione d’uscita, con la retta teorica, parallela all’asse t, che la stessa tensione d’uscita dovrebbe
L’angolo tra le due rette, detto “angolo di drop”, o meglio la sua tangente, viene utilizzato come misura
della bontà del circuito. Valori comuni per la tangente dell’angolo di drop si aggirano attorno a 10-4.
velocità di campionamento e costo. Inoltre, alcuni contengono al loro interno particolari dispositivi come S/H e
commutatori d’ingresso (un commutatore in ingresso a un ADC permette di scegliere di volta in volta la sorgente
di segnale da campionare).
Attualmente sul mercato sono disponibili ADC con risoluzioni comprese tra 6 e 24 bit e con velocità che
vanno dai pochi campionamenti al secondo (per gli ADC a più alta risoluzione) a 500 milioni di campionamenti al
secondo e oltre (per ADC a bassa risoluzione). Il loro costo è direttamente proporzionale alla risoluzione ed alla
velocità di campionamento e varia dalle poche migliaia di Lire al mezzo milione ed oltre.
Anche le tecniche costruttive sono altrettanto varie e sono ancora in via d’espansione al migliorare delle
tecnologie d’integrazione e delle accresciute esigenze dei loro usi più moderni (gli ADC e i DAC sono pesante-
mente usati nelle trasmissioni dati e nell’acquisizione e riproduzione delle immagini e dei suoni: nei primi due casi
sul confronto contemporaneo del segnale in ingresso con 2n-1 differenti frazioni della tensione di riferimento, otte-
nute tramite un partitore resistivo, effettuato per mezzo di altrettanti comparatori analogici. La configurazione
ottenuta ponendo in parallelo le 2n-1uscite dei comparatori (ponendo all’estrema sinistra l’uscita del comparatore
con tensione di riferimento maggiore e all’estrema destra quella del comparatore avente tensione di riferimento
minore) è in binario naturale; la configurazione così ottenuta viene inviata in ingresso ad una logica combinatoria
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 7 di 15
Per esempio, si supponga per semplicità di avere a disposizione un flash ADC a 4 bit e con questo di misu-
rare una tensione in ingresso che è ¼ della tensione di riferimento: la configurazione in uscita dai sedici compara-
tori sarà “0000 0000 0000 1111”6 , mentre l’uscita binaria dell’ADC sarà 0001B.
I flash ADC sono di gran lunga i più veloci esistenti poiché il loro tempo di conversione è determinato uni-
camente dal tempo di commutazione dei comparatori, che è di pochi nanosecondi, e da quello d’assestamento della
logica combinatoria in uscita, anch’esso di pochi nanosecondi. Tuttavia, hanno risoluzioni che sono limitate agli
otto bit a causa dei problemi tecnologici inerenti la costruzione di partitori resistivi di oltre 256 elementi (28-1 =>
255) aventi la precisione richiesta. In particolari casi, i resistori del partitore vengono tarati singolarmente con un
Gli errori tipici per questo tipo di ADC sono quelli di non linearità e di non monotonicità: la taratura dei er-
sistori del partitore annulla quello di non monotonicità e riduce fortemente quello di non linearità a fronte di mag-
7.5.2 DAC
I DAC sono dispositivi più semplici degli ADC e sono costituiti da una rete di resistori di valori R-2R con-
nessi in modo tale da formare una serie di partitori binari di corrente in cascata: il valore della corrente “in uscita”
da ogni partitore viene dimezzata o meno dal partitore successivo e così via per il numero di partitori presenti (per
il numero di bit di risoluzione) formando così una serie binaria che fornisce una corrente totale in uscita data dalla
relazione
Vref 1 1 1
Iout = an + an − 1 + ... + a 0 n
R 2 4 2
La corrente così generata è poi trasformata in un valore di tensione tramite un semplice amplificatore ope-
6
Si sono raggruppati a quattro a quattro i bit della configurazione per facilitarne la lettura.
7
Tenendo presente la nota relazione R = ρ⋅l/S, dove R è la resistenza del resistore, ρ la resistività della pasta con-
duttrice di cui è costituito il resistore e l e S sono rispettivamente la sua lunghezza e la sua sezione, il resistore
viene dapprima costruito con dimensioni l e S che ne sopra dimensionano la resistenza: in seguito, misurando il
valore della resistenza ottenuta, con un fascio LASER si praticano delle incisioni parziali nel corpo del resistore
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 8 di 15
I DAC sono più semplici da costruire e meno critici da tarare grazie alla loro semplicità circuitale e al ir-
dotto numero di componenti che li compongono. Anche in questo caso, per migliorare le caratteristiche di linearità,
è l’ADC ad approssimazioni successive. Sebbene di alcuni ordini di grandezza più lento dei flash ADC, quello ad
approssimazioni successive ha maggior risoluzione, minor costo e, come tempo di campionamento, ben si adatta ad
L’idea che sta alla base del funzionamento di questo tipo di ADC è quella di confrontare in maniera es-
quenziale il valore di una tensione ottenuta sommando quelle rappresentate dai singoli bit di una configurazione di
n bit, con quella del segnale da convertire. Partendo dal bit più significativo, posto a “1” un bit (e mantenendo a
“0” quelli di rango inferiore), si confronta la tensione equivalente della configurazione con il segnale in ingresso;
ciò fatto, se la tensione equivalente della configurazione così ottenuta è maggiore del segnale in ingresso siriasse-
gna a quel bit il valore “0”, altrimenti lo si mantiene a “1” e, comunque, si pone a “1” il valore del bit alla sua
destra e si ripete il ciclo fintanto che non è stato in tal maniera assegnato un valore a ogni bit.
L’ADC ad approssimazioni successive è costituito da tre blocchi funzionali: Comparatore, DAC e Unità di
L’Unità di Controllo e Temporizzazione riceve dall’esterno, oltre a un clock, il comando d’inizio campio-
namento (Start Of Conversion) e, a conversione terminata, attiva il segnale di fine conversione (End Of Conver-
sion). Al suo interno contiene il SAR che viene inizializzato con la configurazione “100…00” (il numero di bit
usati dipende dalla risoluzione) che, posta in ingresso al DAC, forza l’uscita del DAC a Vref/2. L’uscita del DAC è
collegata all’ingresso (-) del comparatore, mentre all’ingresso (+) dello stesso è collegato il segnale da convertire.
Trascorso un periodo di clock, l’uscita del comparatore, che indica con “1” se l’ingresso è maggiore della
tensione generata dal DAC, oppure con “0” l’evento opposto, viene copiata nel bit del SAR che era stato prece-
dentemente posto a “1” e si pone a “1” il bit immediatamente a destra; la configurazione risultante funge da nuovo
ingresso al DAC. Il ciclo si ripete fino a quando tutti i bit del SAR sono stati riscritti in base ai risultati del compa-
ratore.
allungando il percorso della corrente e dunque della sua lunghezza l efficace ai fini della formazione della resi-
stenza.
8
Gli ADC ad approssimazioni successive sono i più rappresentati sul mercato.
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 9 di 15
Questo tipo di ADC deriva il suo nome dalla particolare modalità di conversione adottata, in quanto, per
approssimazioni successive, l’uscita del DAC ad ogni passo si avvicina al valore incognito della tensione in ingres-
so per la metà, al più, dello scarto residuo tra le due tensioni. Il modo di procedere è anche un buon esempio
La risoluzione dell’ADC ad approssimazioni successive deriva direttamente da quella del DAC e del com-
paratore utilizzati, e comunque può arrivare ai quattordici e anche ai sedici bit (dopodiché intervengono altri fattori
che ne limitano la risoluzione). Unico problema macroscopico è che con l’aumentare della risoluzione aumenta
linearmente il numero di periodi di clock necessari alla conversione e il periodo stesso aumenta per dare tempo al
DAC di raggiungere con più precisione il valore di tensione di volta in volta richiesto, e al comparatore di valutare
la differenza tra le due tensioni in ingresso. Gli ADC di questo tipo presenti sul mercato hanno tempi di conversio-
• per il campionamento dei segnali audio si adoperano ADC a “capacità commutate” che presentato
un’ottima dinamica (anche 24 bit!) a scapito del tempo di campionamento che raramente resta al di
sotto dei 20 µs;
• per misurare segnali di bassa frequenza (al più qualche centinaio di Hz) da digitalizzare con buona ir-
soluzione, ma con tempi di conversione dell’ordine della frazione di secondo (tipici degli strumenti di
misura), si usano ADC a “singola rampa” e a “doppia rampa”;
• per risoluzioni medio - alte (dodici – quattordici bit) con frequenze di campionamento tra 1 e 10 MHz,
generalmente necessarie nel campo delle trasmissioni telefoniche sulle tratte d’utente (sui tratti di i-
l
nea telefonica tra la centrale e la presa d’utente per le trasmissioni dati ad alta velocità), si adoperano
ADC a tecnologia “mista” costituiti da flash ADC a pochi bit (in genere 4 bit), affiancati ad ADC ad
approssimazioni successive.
gnali digitali. In particolare nel mondo dell’Automazione Industriale, molti dei segnali che un elaboratore deve
acquisire sono già in forma digitale. Tale fatto deriva da una parte dalla natura intrinsecamente digitale di certi
fenomeni quali, per esempio, l’apertura e la chiusura di un interruttore, e da un’altra dal fatto che spesso gli stati
intermedi di una grandezza non sono di particolare interesse. A quest’ultimo proposito si pensi, per esempio, a tutti
quei casi in cui è interessante conoscere se qualcosa c’è o non c’è: il serbatoio è vuoto? Il serbatoio è pieno? c’è
tensione? Il meccanismo è in una posizione estrema? La ruota ha compiuto un giro completo? E così via….
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 10 di 15
A questo fatto si deve aggiungere quello che è senz’altro più semplice e naturale, per un elaboratore elet-
tronico, acquisire lo stato di un segnale binario che non quello di un segnale continuo. Per il segnali continui ab-
biamo già visto in precedenza, per i segnali binari basta mettere in comunicazione un bit di un registro interno con
lo stato di una porta di I/O tramite un’istruzione di lettura (o di scrittura, se invece d’acquisire un dato vogliamo
stimolare un dispositivo esterno, ad esempio un relè). Tuttavia, anche in questo caso le cose possono complicarsi
leggermente se, invece del semplice stato del segnale esterno, vogliamo sapere se il segnale ha cambiato stato o
quante ha cambiato stato o, come vedremo nel prossimo paragrafo, quante volte ha cambiato stato in un tempo
In mancanza di particolari dispositivi hardware che s’incarichino per conto della CPU di attendere un cam-
biamento di stato o di contare il numero dei cambiamenti di stato avvenuti, tale incombenza viene demandata ad
Un tipico algoritmo che attende indefinitamente un cambiamento particolare di stato, per esempio da “0” a
“1”, legge ciclicamente la porta sulla quale è interfacciato il segnale da controllare finché esso non risulta a “1”.
Un algoritmo per attendere che si siano verificati un certo numero di eventi può essere costruito utilizzando
due versioni dell’algoritmo precedente, una che attende per “1”, l’altra che attende per “0”, facendo in modo di
passare ciclicamente da un’attesa all’altra finché un contatore, inizializzato al numero voluto di conteggi e decre-
mentato su uno dei due fronti del segnale in ingresso, non si azzeri.
Anche in questi semplici casi bisogna comunque fare attenzione a qualche problema: l’algoritmo di ricerca
del cambiamento di stato, che è quello, comunque sia fatto, che sta alla base di ogni altro algoritmo software di
rilevazione di un evento digitale, ha un tempo proprio di ciclo che dipende dal numero d’istruzioni con cui è co-
struito, dall’architettura interna dell’elaboratore e dal periodo di clock con il quale l’elaboratore funziona.
L’algoritmo campionerà il segnale esterno una volta per ciclo e dunque se tra un campionamento e l’altro il segnale
effettua due transizioni di stato, l’algoritmo non sarà in grado di rivelarle e si creerà un artefatto nell’elaborazione
Per evitare simili casi, bisogna che il progettista s’assicuri che il periodo di ciclo dell’algoritmo sia stretta-
mente inferiore alla durata minima di uno stato del segnale in ingresso. Se ciò non è sempre assicurato dalla fisica
9
…o abbandonare il progetto!
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 11 di 15
7.7 Misura del tempo
Altre misure che si effettuano comunemente sui segnali digitali sono la misura del “tempo di volo”, cioè la
misura dell’intervallo di tempo che intercorre tra due eventi consecutivi come due variazioni “0” => “1”, la lar-
ghezza d’impulso, cioè il tempo in cui un dato segnale permane in uno dei suoi stati e, per segnali periodici, la
frequenza e il periodo.
Per tutte quante le misure sopra descritte, e per tutte quelle da loro derivate, è necessario disporre di un
campione di tempo. Sebbene sia possibile generare un campione di tempo via software, costruendo un algoritmo
ciclico basato sul periodo di clock di sistema e sul numero di cicli di clock necessari per eseguirlo, è preferibile
utilizzare dispositivi hardware dedicati allo scopo. Difatti, un algoritmo ciclico che misuri il tempo tra due eventi
(contando il numero di cicli che vengono eseguiti tra i due eventi) monopolizza l’uso della CPU bloccando qualun-
que altra attività; se l’algoritmo è può invece essere interrotto dalla risposta della CPU ad eventi esterni (ricono-
scimento e servizio di interruzioni) il suo ciclo non sarà più isocrono e potrà creare artefatti fornendo così misure
inattendibili.
Inoltre, il periodo di ciclo di un algoritmo software non è molto breve (dipendentemente dall’algoritmo,
dall’architettura dell’elaboratore e dal periodo di clock di sistema può variare tra alcune centinaia di nanosecondi e
decine di microsecondi) e determina la risoluzione con la quale l’intervallo di tempo viene misurato. Se una risolu-
zione dell’ordine dei microsecondi normalmente è ampiamente sufficiente per misurare eventi generati da masse in
movimento (tempi di reazione umani, rotazioni e spostamenti di meccanismi, ecc.), essa diventa largamente insuf-
ficiente per eventi fisici molto veloci (tempo di volo di particelle quasi relativistiche, velocità di propagazione di
In genere, per la misura del tempo si adoperano dei dispositivi hardware, “timer” e “counter”, che, oppor-
tunamente programmati permettono effettuare agevolmente misure temporali. Per esempio, per misurare la durata
dello stato “1” di un segnale (l’intervallo di tempo che impiega un mobile a percorrere lo spazio tra due traguardi,
il tempo di chiusura di un interruttore, ecc.) è possibile utilizzare un contatore che viene incrementato da unclock
quando un segnale di abilitazione al conteggio è allo stato “1”: se si collega il segnale da misurare all’abilitazione
del contatore preventivamente azzerato e si attende che il segnale da misurare compia una transizione “1” => “0”
(eventualmente generante una richiesta d’interruzione), la lettura del contatore moltiplicata per il periodo diclock
10
Nella pratica anche in questo caso bisogna fare attenzione a certi particolari, quale ad esempio che il periodo del
clock moltiplicato per il numero di conteggi effettuabili dal contatore sia inferiore alla durata dello stato del es-
gnale.
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 12 di 15
Mano a mano che la frequenza di un segnale aumenta, fissato il periodo del ciclo di misura del tempo,
l’errore relativo compiuto nella determinazione del periodo aumenta. Perciò non è conveniente misurare con questo
sistema segnali aventi periodo vicino a quello di campionamento11. In questi casi è opportuno riportarsi a una misu-
ra di frequenza, contando il numero di eventi di uno stesso tipo (per esempio transizioni “0” => “1”) in un inter-
vallo di tempo predefinito. Per fare ciò è necessario disporre di un contatore attivato dal segnale esterno e da un
timer che sia in grado di generare una richiesta d’interruzione allo scadere del periodo prefissato; il servizio
dell’interruzione leggerà il valore del contatore e lo dividerà per il tempo impostato, calcolando così la frequenza
del segnale; oppure dividerà il valore dell’intervallo di tempo impostato per il numero di conteggi, calcolando così
Nel caso precedente si noti come contatore e timer non siano altro che due contatori caricati inizialmente
con valori diversi (il contatore con zero, il timer con un valore corrispondente all’intervallo desiderato), attivati con
conteggi in direzioni opposte l’uno dal segnale esterno da misurare, l’altro da un segnale diclock noto.
Anche in questo caso bisogna fare attenzione agli errori introdotti nella determinazione dalla risoluzione
del clock e dalle operazioni algebriche necessarie al computo: dalla teoria della propagazione degli errori, e come
accennato nel Cap. 2, l’operazione di divisione intera tra due numeri può generare risultati affetti da grandi errori.
11
Si ricorda che anche in questi casi il periodo di campionamento deve essere strettamente inferiore a quello della
fase più breve del segnale da misurare.
Liceo Scientifico “F. Cecioni” – Livorno - Appunti d’Informatica per le classi IV ST – Ed. 0
Cap. 7 pagina 13 di 15