Lezioni di Laboratorio di Segnali e Sistemi

Transcript

Lezioni di Laboratorio di Segnali e Sistemi
Lezioni di
Laboratorio di Segnali e Sistemi
A.NIGRO
Dipartimento di Fisica, Università La Sapienza di Roma
(settembre 2016)
2
Introduzione
Queste dispense costituiscono una rielaborazione delle lezioni da me tenute per il corso di
Laboratorio di Segnali e Sistemi (Laboratorio di Fisica I, nel vecchio ordinamento) negli
ultimi anni. Nella nostra Università questo corso ha sempre avuto la funzione di insegnare
agli studenti l’Elettronica; di fatto è l’unico corso che molti ricevono in questo campo.
L’obiettivo è di dare agli studenti una certa dimestichezza con questa materia, che li metta
in grado, qualunque sia il loro mestiere futuro, di affrontare e risolvere semplici problemi
applicativi, ovvero li metta in grado di interagire efficacemente con degli specialisti, per i
problemi piu’ complessi. Oggi la cultura elettronica è fondamentale in qualunque campo
della Scienza e della Tecnica ed è quindi fondamentale, per un laureato in Fisica, capire, o
almeno intravedere, cosa si puo’, e cosa non si puo’ fare, con l’Elettronica.
L’unico modo per conoscere seriamente questa materia è attraverso la pratica, quindi in
questo corso hanno un ruolo centrale, come in passato, le esercitazioni che gli studenti
svolgono in laboratorio parallelamente al corso in aula, imparando a progettare e a costruire
circuiti via via più complicati1 .
Nel corso degli ultimi anni l’Elettronica ha fatto progressi giganteschi che stanno rivoluzionando il mondo in cui viviamo. Alcuni potrebbero quindi trovare strano che ancora
si parli di circuiti RC e si perda tempo con "antiquati" transistors, mentre si potrebbe
meglio impiegare il tempo con circuiti ultra-moderni capaci di prestazioni esaltanti. Io,
come molti altri, sono in totale disaccordo con questa filosofia: è la filosofia delle "scatole
nere", che gli studenti imparano ad usare (leggendo i fogli illustrativi), senza nessuna possibilita’ di capire cosa succede. Invece, nella nostra filosofia, lo studente deve "capire" cosa
succede, e padroneggiare completamente i circuiti che costruisce ed usa. In altre parole, se
si conoscono i "fondamentali" si è in grado, studiando, di aggiornarsi e di arrivare, in modo
consapevole, ad usare scatole che ora non saranno piu’ completamente nere, ma, almeno,
semitrasparenti.
1
La Guida alle Esercitazioni costituisce oggetto di un fascicolo separato, reperibile sul sito http://wwwzeus.roma1.infn.it/nigro/.
3
4
Indice
1 Introduzione all’elettronica
1.1 Introduzione . . . . . . . . . . . . . . .
1.2 Riepilogo sulle reti lineari . . . . . . .
1.3 Amplificatori . . . . . . . . . . . . . .
1.4 Trasformazione di Laplace . . . . . . .
1.4.1 Definizione . . . . . . . . . . .
1.4.2 Anti-trasformazione di Laplace
1.4.3 Conclusione . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
12
19
25
25
29
32
2 Circuiti passivi
2.1 Introduzione . . . . . . . . . .
2.2 Circuito RC passa-alto . . . .
2.3 Circuito RC Passa-Basso . .
2.4 Derivatore e integratore . . .
2.5 Attenuatore compensato . . .
2.6 Filtri in cascata . . . . . . . .
2.6.1 Doppio passa-basso . .
2.6.2 Doppio passa-alto . . .
2.6.3 Passa-banda . . . . . .
2.7 Circuiti RLC . . . . . . . . .
2.7.1 RLC in serie . . . . .
2.7.2 Circuito RLC parallelo
2.8 Linee di trasmissione . . . . .
2.8.1 Linee reali . . . . . . .
2.8.2 Ulteriori applicazioni .
2.9 Cenni sul trasformatore . . .
2.10 Sorgenti di segnale . . . . . .
2.11 Circuiti reali . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
35
35
38
41
43
46
46
48
49
50
51
56
58
63
65
67
68
72
3 Diodi
3.1 Introduzione . . . . . . . .
3.2 Fisica dei semiconduttori .
3.3 Il diodo a giunzione . . . .
3.4 Circuiti con diodi . . . . .
3.5 Altri diodi . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
75
75
75
85
87
89
.
.
.
.
.
.
.
.
.
.
5
6
INDICE
4 Transistor a giunzione (BJT)
4.1 Il transistor a giunzione . . . . . . . . . . . . . .
4.1.1 Modello di Ebers-Moll del transistor . . .
4.1.2 Curve caratteristiche del transistor . . . .
4.1.3 Utilizzazione del transistor . . . . . . . . .
4.1.4 Il transistor pnp . . . . . . . . . . . . . .
4.2 Amplificatore ad emettitore comune . . . . . . .
4.2.1 Analisi per piccoli segnali . . . . . . . . .
4.2.2 Modelli lineari per piccoli segnali . . . . .
4.2.3 Polarizzazione del transistor . . . . . . . .
4.2.4 L’amplificatore a emettitore comune . . .
4.2.5 L’amplificatore a emettitore comune senza
4.3 Amplificatore a base comune . . . . . . . . . . .
4.4 Amplificatore a collettore comune . . . . . . . . .
4.5 Riepilogo . . . . . . . . . . . . . . . . . . . . . .
4.6 Altri circuiti di polarizzazione . . . . . . . . . . .
4.6.1 Doppia alimentazione . . . . . . . . . . .
4.6.2 Polarizzazione con generatore di corrente .
4.7 Amplificatore Darlington . . . . . . . . . . . . . .
4.8 La risposta in frequenza degli amplificatori . . . .
4.8.1 Il modello π ad alta frequenza . . . . . . .
4.8.2 L’effetto Miller . . . . . . . . . . . . . . .
4.8.3 La regione di bassa frequenza . . . . . . .
4.8.4 La regione di alta frequenza . . . . . . . .
4.8.5 Riepilogo . . . . . . . . . . . . . . . . . .
4.9 Amplificatori a due stadi . . . . . . . . . . . . . .
4.9.1 Amplificatore CE - CC . . . . . . . . . . .
4.9.2 Amplificatore CC - CB . . . . . . . . . . .
4.9.3 Amplificatore CE - CB (cascode) . . . . .
4.10 Stadio d’uscita negli amplificatori multi stadio . .
4.10.1 Amplificatori di classe A . . . . . . . . . .
4.10.2 Amplificatori di classe B . . . . . . . . . .
4.10.3 Amplificatori di classe AB . . . . . . . . .
4.11 Specchi di corrente . . . . . . . . . . . . . . . . .
4.12 Amplificatore differenziale . . . . . . . . . . . . .
4.13 La reazione negativa . . . . . . . . . . . . . . . .
4.13.1 Esempi . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
capacita’ di emettitore
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
93
93
96
98
106
109
109
109
112
118
120
124
128
130
133
134
134
135
136
137
138
140
142
145
151
151
152
152
153
156
156
157
158
161
163
175
178
6 Amplificatori operazionali
6.1 Introduzione . . . . . . . . . . . .
6.2 Caratteristiche generali . . . . . .
6.3 Amplificatori operazionali reali .
6.4 Applicazioni . . . . . . . . . . . .
6.5 Filtri attivi . . . . . . . . . . . .
6.5.1 Filtri VCVS . . . . . . . .
6.5.2 Filtri a reazione multipla
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
183
183
183
188
197
208
209
211
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
INDICE
7 Rumore
7.1 Introduzione . . . . . . . . . . . . . . . . .
7.2 Rumore termico . . . . . . . . . . . . . . .
7.3 Rumore shot . . . . . . . . . . . . . . . .
7.4 Rumore 1/f (flicker noise) . . . . . . . . .
7.5 Rumore burst e avalanche . . . . . . . . .
7.6 Rumore negli amplificatori . . . . . . . . .
7.6.1 Amplificatore a transistor bipolare
7.6.2 Amplificatore operazionale . . . . .
7.7 Generatori di rumore . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
215
215
217
219
220
220
220
221
222
225
7 Circuiti digitali
7.1 Numerazione binaria ed algebra di Boole . . . . . . . . . .
7.2 Circuiti logici . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Famiglie logiche . . . . . . . . . . . . . . . . . . . . . . . .
7.3.1 Famiglia DTL . . . . . . . . . . . . . . . . . . . . .
7.3.2 Famiglia TTL . . . . . . . . . . . . . . . . . . . . .
7.3.3 Famiglia CMOS . . . . . . . . . . . . . . . . . . . .
7.3.4 Famiglia ECL . . . . . . . . . . . . . . . . . . . . .
7.3.5 Riepilogo . . . . . . . . . . . . . . . . . . . . . . .
7.4 Circuiti digitali combinatori . . . . . . . . . . . . . . . . .
7.4.1 Sommatori . . . . . . . . . . . . . . . . . . . . . .
7.4.2 Moltiplicazione e divisione . . . . . . . . . . . . . .
7.4.3 Comparatore digitale . . . . . . . . . . . . . . . . .
7.4.4 Multiplexer e demultiplexer . . . . . . . . . . . . .
7.4.5 Encoder e decoder . . . . . . . . . . . . . . . . . .
7.5 Circuiti sequenziali . . . . . . . . . . . . . . . . . . . . . .
7.5.1 Flip-flop . . . . . . . . . . . . . . . . . . . . . . . .
7.5.2 Registro a scorrimento . . . . . . . . . . . . . . . .
7.5.3 Contatore asincrono . . . . . . . . . . . . . . . . .
7.5.4 Contatore sincrono . . . . . . . . . . . . . . . . . .
7.6 Conversione digitale-analogica . . . . . . . . . . . . . . . .
7.6.1 Convertitore digitale-analogico a pesiera . . . . . .
7.6.2 Convertitore digitale-analogico con rete R-2R . . .
7.6.3 Convertitore digitale-analogico a somma di correnti
7.7 Conversione analogico-digitale . . . . . . . . . . . . . . . .
7.7.1 Campionamento . . . . . . . . . . . . . . . . . . .
7.7.2 Analisi di campioni digitali . . . . . . . . . . . . .
7.7.3 Realizzazione di convertitori analogico-digitale . . .
7.7.4 Convertitore analogico-digitale a conteggio . . . . .
7.7.5 Convertitore analogico-digitale a doppia rampa . .
7.7.6 Flash ADC . . . . . . . . . . . . . . . . . . . . . .
7.7.7 ADC a pipeline . . . . . . . . . . . . . . . . . . . .
7.8 Multivibratori . . . . . . . . . . . . . . . . . . . . . . . . .
7.8.1 Multivibratore bistabile . . . . . . . . . . . . . . .
7.8.2 Multivibratore astabile . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
227
227
233
235
237
237
242
244
245
246
246
249
250
251
252
253
255
261
262
264
265
265
266
267
270
271
274
276
276
278
280
281
282
282
283
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
INDICE
7.9
7.8.3 Multivibratore monostabile . . . . .
Il timer 555 . . . . . . . . . . . . . . . . . .
7.9.1 Multivibratore astabile con 555 . . .
7.9.2 Multivibratore monostabile con 555 .
7.9.3 Multivibratore bistabile con 555 . . .
8 Il microprocessore Z80
8.1 Introduzione . . . . . . . . . . . . . .
8.1.1 Il sistema esadecimale . . . .
8.1.2 Logica "tri-state" . . . . . . .
8.2 Struttura dello Z80 . . . . . . . . . .
8.3 Programmazione dello Z80 . . . . . .
8.3.1 Temporizzazione dello Z80 . .
8.3.2 Le istruzioni dello Z80 . . . .
8.3.3 Il concetto di "catasta" . . .
8.3.4 Operazioni di ingresso/uscita
8.3.5 Interruzioni . . . . . . . . . .
8.4 La scheda didattica Z80 . . . . . . .
8.4.1 Descrizione circuitale . . . . .
9 Microcontrollori
9.1 Introduzione . . . . . . . . . . . .
9.2 I microcontrollori ATMEL AVR .
9.3 Il microcontrollore ATMega328P
9.3.1 Caratteristiche generali .
9.3.2 Input-output . . . . . . .
9.3.3 Comunicazione seriale . .
9.3.4 Lock bits e fuse bits . . .
9.4 La scheda Arduino Uno . . . . .
9.4.1 Introduzione . . . . . . .
9.4.2 Precauzioni . . . . . . . .
9.4.3 Programmare Arduino . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
285
287
288
293
293
.
.
.
.
.
.
.
.
.
.
.
.
297
. 297
. 299
. 299
. 302
. 306
. 309
. 312
. 316
. 317
. 317
. 319
. 319
.
.
.
.
.
.
.
.
.
.
.
325
. 325
. 327
. 328
. 328
. 334
. 336
. 340
. 340
. 340
. 346
. 346
Capitolo 1
Introduzione all’elettronica
1.1
Introduzione
Oggetto di questo corso e’ lo studio teorico - pratico dell’Elettronica. In pratica questo
termine indica oggi l’insieme di conoscenze pratiche e teoriche necessarie per progettare e
realizzare apparati in grado di elaborare grandezze fisiche, tradotte per mezzo di opportuni
dispositivi, servendosi di grandezze fisiche relative ai fenomeni elettrici. Le realizzazioni
dell’elettronica sono dei circuiti elettronici costituiti da componenti, attivi e passivi, collegati per mezzo di tracciati conduttivi, in genere metallici, attraverso cui circolano correnti
elettriche.
L’elettronica non va confusa con l’elettrotecnica, anche se le discipline sono strettamente
legate: mentre l’elettrotecnica ha come scopo principale la trasmissione della potenza elettrica e la gestione e il progetto delle macchine elettriche, l’elettronica si occupa soprattutto
dell’uso e dell’elaborazione dei segnali elettrici in quanto portatori di informazione.
Segnali
La parola segnale puo’ assumere un significato molto vasto e si applica ad una grande
quantita’ di fenomeni e situazioni, piu’ o meno complesse. Segnale puo’ essere considerata
l’informazione prodotta ad esempio da un termometro elettrico: un opportuno dispositivo
(trasduttore) traduce la grandezza fisica temperatura, T , in una tensione elettrica, V
V = f (T )
(1.1)
Se il trasduttore e’ lineare al posto della 1.1 avremo la piu’ semplice relazione
V = aT + b
(1.2)
Segnale e’ anche una voce che ci arriva l’altoparlante di una radio. E’ un’informazione acustica (sostanzialmente variazioni di pressione dell’aria) che colpisce il nostro orecchio. Ma
prima di cio’ l’informazione ha viaggiato nell’etere sotto forma di onda elettromagnetica,
e’ stata captata dalla radio e trasformata in una tensione elettrica, la quale, a sua volta e’
stata trasformata in onda di pressione nell’altoparlante (trasduttore).
E’ chiaro che ora l’informazione e’, in una certa fase, contenuta in una tensione elettrica
variabile nel tempo, ottenuta, all’origine, trasformando l’onda di pressione della voce umana grazie ad un opportuno trasduttore.
9
10
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
Noi non siamo interessati all’operazione di trasduzione. Quindi ci limiteremo agli aspetti
strettamente legati ai fenomeni elettrici, il che vuol dire che assumeremo l’esistenza di un
segnale elettrico (con un certo contenuto informativo) e ci concentreremo sulle operazioni
necessarie per processare questo segnale mediante l’uso di sistemi e dispositivi elettronici.
Spettro in frequenza dei segnali
Una caratterizzazione dei segnali molto utile e’ quella in termini di spettro di frequenza.
Questa descrizione e’ ottenuta utilizzando le serie di Fourier, per i segnali periodici, e la
trasformata di Fourier per situazioni piu’ generali.
Ricordiamo anzitutto che una funzione periodica del tempo,f (t), puó essere sviluppata in
serie di Fourier, cioe’
X
1
f (t) = a0 +
{an cos nω0 t + bn sin nω0 t}
2
n
(1.3)
dove
Z
1 T
f (t) cos nω0 tdt
T 0
Z
1 T
f (t) sin nω0 tdt
T 0
an =
bn =
e
T =
(1.4)
(1.5)
2π
ω0
(1.6)
é il periodo della funzione.
Se prendiamo ad esempio un’onda quadra di periodo T e ampiezza V (Fig.1.1(a)), essa
v
4V
π
T
+V
t
ωo
3ωo
5ωo
7ωo
9ωo
ω
-V
(a)
(b)
Figura 1.1:(a) Onda quadra;(b) Spettro in frequenza dell’onda quadra
puo’ essere espressa come
v(t) =
1
1
4V
(sinω0 t + sin 3ω0 t + sin 5ω0 t + . . .)
π
3
5
(1.7)
11
1.1. INTRODUZIONE
Poiche’ le ampiezze decrescono progressivamente la serie puo’ essere troncata e fornire
un’approssimazione dell’onda quadra. Nella Fig. Fig.1.1(b) e’ riportato graficamente questo sviluppo, che rappresenta appunto lo spettro in frequenza dell’onda quadra.
Le funzioni non periodiche non sono sviluppabili in serie di Fourier, dobbiamo quindi
utilizzare la trasformazione di Fourier.
Z ∞
1
g(ω)ejωt dω
(1.8)
f (t) =
2π −∞
dove
g(ω) =
Z
∞
f (t)e−jωt dt
(1.9)
−∞
La funzione g(ω) e’ detta la trasformata di Fourier della funzione f (t) e rappresenta lo
spettro in frequenza della funzione f (t), che e’ quindi continuo e non discreto come quello
delle funzioni periodiche 1 .
In conclusione un segnale puo’ essere rappresentato o come funzione del tempo, o in termini
del suo spettro di frequenza. Le due rappresentazioni, nel dominio del tempo, o nel dominio
della frequenza, sono assolutamente equivalenti. La rappresentazione in frequenza, come
vedremo in seguito ci sara’ utile per analizzare circuiti e dispositivi il cui comportamento
sia dipendente dalla frequenza.
Le precedenti considerazioni ci fanno capire che i segnali di tipo sinusoidale sono fondamentali in elettronica, proprio perche’ ad essi si puo’ ricondurre in sostanza qualunque
segnale.
Sono pero’ importanti anche i segnali di tipo impulsivo, come ad esempio quello rappresentato in Fig. 1.2, che prende il nome di impulso rettangolare. Un impulso di questo
V
T
Va
t
t1
Figura 1.2:
Un segnale impulsivo di ampiezza Va e durata T , che arriva
all’istante t1 .
genere ha dei contenuti informativi: ampiezza, durata e tempo di arrivo, che posso essere
legati a grandezze fisiche di nostro interesse. Naturalmente l’impulso rettangolare e’ una
pura astrazione, non esistono in natura sorgenti che emettano segnali di questo tipo, cioe’
perfettamente squadrati. Gli impulsi reali come vedremo in seguito, hanno forme assai
meno definite. Tuttavia questo tipo di segnali e’ molto importante e ci capitera’ di farne
uso.
Da un punto di vista matematico l’impulso rettangolare puo’ essere ben descritto utilizzando la funzione di Heaviside, u(t), nota anche come funzione a gradino. La definizione
di u(t) e’:
1
Non tutte le funzioni sono trasformabili secondo Fourier, ma questo non e’ rilevante per le nostre
considerazioni
12
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
u(t) = 0
se t < 0
u(t) = 1
se t > 0
ed e’ rappresentata nella Fig. 1.3.
La funzione u(t) realizza un gradino all’istante t = 0. Si puo’ ottenere un gradino ad un
V
1
t
Figura 1.3: La funzione u(t).
istante qualunque, ad esempio t = t1 , scrivendo semplicemente u(t−t1 ). Quindi utilizzando
la funzione di Heaviside possiamo scrivere un impulso rettangolare di altezza Va , durata
T , e tempo di arrivo t1 come
r(t) = Va [u(t − t1 ) − u(t − (t1 + T ))]
(1.10)
cioe’ come sovrapposizione di un gradino positivo e un gradino negativo temporalmente
sfasati di un intervallo T .
Il comportamento dei circuiti con segnali di tipo impulsivo non e’ indipendente da quello
con segnali sinusoidali; vi e’ una complementarita’ nelle due situazioni come comprenderemo meglio in seguito.
1.2
Riepilogo sulle reti lineari
E’ utile fare un riepilogo di nozioni elementari sui circuiti elettrici, apprese nei corsi precedenti, che costituiranno il punto di partenza di questo corso.
Una rete lineare é un circuito che da luogo a equazioni o sistemi di equazioni lineari.
Prendiamo ad esempio il circuito in Fig.1.4(a): il circuito e’ composto da un generatore di
tensione costante, V , e da alcuni resistori. Risolvere il circuito significa trovare le correnti
che circolano in ogni elemento, supposti noti tutti i valori dei componenti, cioe’ V , R1 , R2
e R3 . E’ un problema molto semplice che consiste nel risolvere un sistema di equazioni
algebriche lineari.
In Fig. 1.4(b) abbiamo invece un esempio di circuito molto piu’ complicato, in cui abbiamo
un generatore di tensione variabile nel tempo, v(t), resistori, induttori e capacitori. Risolvere il circuito significa ora, in linea generale, risolvere un sistema di equazioni differenziali
lineari: le incognite non sono dei numeri, come nel caso precedente, ma delle funzioni del
tempo (le correnti che circolano nei vari elementi). E’ chiaramente un problema molto
complicato e dovremo imparare le tecniche piu’ idonee per affrontarlo.
Ma prima conviene riepilogare le nostre nozioni sugli "elementi" che costituiscono un
circuito. I piú semplici sono quelli "bipolari", nei quali esiste una relazione funzionale tra
la corrente i(t) che circola nell’ elemento e la differenza di potenziale v(t) tra i suoi estremi.
13
1.2. RIEPILOGO SULLE RETI LINEARI
R1
L1
R2
_
C1
+
+
V
L2
R3
R4
v(t)
_
R1
(a)
R2
R3
(b)
Figura 1.4:(a) Un semplice circuito elettrico;(b) Un circuito più complesso
Si ha quindi:
v(t) = f [i(t)]
(1.11)
i(t) = g[v(t)]
(1.12)
Dove, evidentemente
g = f −1
Le suddette relazioni funzionali tra tensione e corrente non sono necessariamente di tipo
algebrico, ma possono essere più in generale di tipo analitico, cioe’ espresse attraverso
operazioni di derivazione o integrazione. Dalla forma della funzione f , gli elementi si
possono distinguere tra lineari e non lineari, dove la linearità va intesa in senso esteso,
cioe’ anche analitica.
Un’ altra importante distinzione va operata tra gli elementi attivi e passivi, cioé tra quelli
che rispettivamente contengono e non contengono sorgenti interne di energia.
Gli elementi passivi che conosciamo sono:
• Resistore
• Induttore
• Condensatore (o capacitore)
Possiamo in modo del tutto generale scrivere:
(1.13)
v(t) = {z}i(t)
(1.14)
i(t) = {y}v(t)
dove l’operatore {z} si chiama impedenza, mentre l’operatore inverso {y} si chiama ammettenza. Si ha, per i tre elementi suddetti:
Resistore
Induttore
Condensatore
{z} ≡ R
d
{z} ≡ L dt
1 R dt
{z} ≡ C
{y} ≡ G
1 R dt
{y} ≡ L
{y} ≡ C d
dt
14
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
Come si vede questi tre elementi passivi sono di tipo lineare. Vedremo in seguito esempi
di elementi non lineari.
Se diversi elementi sono connessi in serie l’impedenza complessiva del sistema e’ data dalla
somma delle impedenze dei singoli elementi:
X
{z} =
{zi }
i
Se invece sono connessi in parallelo l’ammettenza complessiva e’ data dalla somma delle
ammettenze dei singoli elementi:
X
{y} =
{yi }
i
Gli elementi attivi sono invece:
• Generatore di tensione ideale
• Generatore di corrente ideale
Nella Fisica Generale e’ stato introdotto il concetto di generatore di forza elettromotrice:
un dispositivo in grado di mantenere una differenza di potenziale tra i suoi "morsetti" e di
erogare una corrente elettrica. In Elettronica e’ conveniente schematizzare un generatore
in due diversi modi, cioe’ attraverso la definizione di due possibili modelli ideali di esso.
Il generatore di tensione ideale e’ un dispositivo in grado di mantenere una differenza
di potenziale tra i suoi morsetti, indipendentemente dal carico ad esso connesso, cioe’
indipendentemente dalla corrente erogata. Invece il generatore di corrente ideale e’ un
dispositivo in grado di erogare una ben definita corrente, indipendentemente dal carico ad
esso connesso. I generatori reali hanno ovviamente un comportamento diverso da entrambi
questi modelli, come vedremo tra poco. E’ bene infine ricordare che se in un circuito ci sono
_
+
Resistore
Generatore di tensione
Capacitore
Generatore di corrente
Induttore
Figura 1.5: Simboli degli elementi bipolari
piú induttori si ha tra essi una mutua induzione: salvo casi particolari, noi trascureremo
questo effetto.
Nella Fig. 1.5 sono riassunti i simboli circuitali degli elementi bipolari di cui abbiamo
parlato.
Elementi di una rete
Una rete puó essere pensata come composta da tanti elementi dipolari opportunamente
connessi. Gli elementi topologici di una rete sono i nodi, i rami e le maglie (Fig. 1.6).
Chiamiamo nodo ogni punto della rete in cui confluiscono più di due elementi. I rami
sono costituiti dagli elementi che uniscono tra loro due nodi. Chiamiamo invece maglia
qualunque percorso chiuso possiamo effettuare partendo da un nodo per tornare al nodo
1.2. RIEPILOGO SULLE RETI LINEARI
15
4
1
2
3
Figura 1.6: Una generica rete con 4 nodi. La linea tratteggiata indica una
possibile scelta dei rami scheletro (3).
medesimo. Data una rete con n nodi, ci sará un certo numero m di maglie, non tutte
indipendenti tra loro. I rami possono essere distinti in:
• rami scheletro, essenziali per connettere i nodi;
• rami anello, non essenziali per connettere i nodi, ma necessari per formare le maglie.
Vi sono ovviamente vari modi di scegliere i rami scheletro, ma il loro numero non cambia,
essendo dato da:
rs = n − 1
dove n e’ il numero di nodi. Prendendo un nodo come riferimento di tensione, rs rappresenta il numero di coppie di nodi indipendenti. Il numero di maglie, m,coincide con il
numero di rami anello, ra :
m = ra = r − rs = r − n + 1
dove r e’ il numero totale di rami.
Analisi delle reti
Fare l’analisi di una rete consiste nel calcolare le risposte di una rete note le eccitazioni.
Ad esempio, nel circuito in Fig. 1.4(a) abbiamo tre incognite, i1 , i2 , i3 , ovvero le correnti
che circolano nei 3 rami del circuito, e quindi bisogna scrivere tre equazioni, che leghino le
incognite al valore degli elementi del circuito.
Per fare questo possiamo utilizzare i cosidetti Principi di Kirchoff:
• Principio di Kirchoff delle maglie
La somma delle cadute di potenziale lungo un percorso chiuso e’ uguale a zero,
ovvero, se nel percorso scelto sono presenti generatori di tensione, essa e’ uguale alla
d.d.p. erogata dal (o dai generatori). Questo principio deriva dalla conservazione
dell’energia.
• Principio di Kirchoff dei nodi
La somma (algebrica) delle correnti che confluiscono in un nodo e’ sempre pari a zero.
Questo principio deriva dalla conservazione della carica elettrica; quindi le correnti
che "entrano" in un nodo devono essere bilanciate dalle correnti che "escono" dal
nodo stesso.
16
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
I principi di Kirchoff danno luogo ad un numero di equazioni sempre superiore al numero
di incognite del problema, cioe’ ad un sistema di equazioni non linearmente indipendenti.
Dobbiamo quindi provvedere a ridurre il sistema ad un numero di relazioni indipendenti
pari al numero di incognite. Anziche’ fare questa riduzione in modo empirico, esistono
due metodi classici per avere immediatamente il numero giusto e minimo indispensabile di
relazioni. Essi vanno sotto i nomi di metodo delle correnti di maglia e metodo delle tensioni
ai nodi.
R1
+
R2
ib
ia
V
_
R1
R3
1
R2
+
R4
R3
V
_
R4
2
(a)
(b)
Figura 1.7: Risoluzione del circuito di Fig. 1.4(a):
(a) Con il metodo delle correnti di maglia;
(b) Con il metodo delle tensioni ai nodi
Esempio
Proviamo a risolvere il circuito in Fig. 1.4(a) con il metodo delle correnti di maglia. In
questo circuito, con 2 maglie, le incognite sono le correnti che circolano nei vari elementi,
cioe’ i1 (nel resistore R1 ), i2 (nella serie R2 - R4 ) e i3 nel resistore R3 . Introduciamo 2
variabili ausiliarie, le correnti di maglia, ia e ib , con verso arbitrario (FIg. 1.7(a)). Abbiamo
allora



i = ia

 1
i2 = ib



 i =i −i
3
a
b
In altre parole, se un elemento appartiene ad una sola maglia, la corrente che vi circola
coincide con la corrente di maglia. Se invece un elemento e’ comune a due maglie, la
corrente che vi circola e’ data dalla somma (o differenza) delle due correnti di maglia
pertinenti. Possiamo ora scrivere le equazioni delle 2 maglie:

 V = ia R1 + (ia − i )R3
b
 0 = (i − i )R + i (R + R )
a
3
2
4
b
b
Una volta risolto il sistema, troviamo i valori di ia e ib , da cui si ricavano facilmente le
correnti che effettivamente circolano nei vari resistori.
Possiamo risolvere lo stesso circuito con il metodo delle tensioni ai nodi (Fig. 1.7(b)).
Abbiamo 2 nodi; prendendo il nodo 2 come nodo di riferimento dobbiamo quindi scrivere
17
1.2. RIEPILOGO SULLE RETI LINEARI
una sola equazione, utilizzando come incognita la tensione del nodo 1, V1 , e scegliando
arbitrariamente i versi delle correnti:
V − V1
V1
V1
=
+
R1
R3 R2 + R4
Risolvendo questa equazione possiamo ricavare il valore di V1 e, quindi, delle correnti che
circolano nei vari rami.
Come si vede il metodo delle tensioni ai nodi e’ più conveniente, poiche’ da luogo ad
un minor numero di equazioni. Cio’ e’ generalmente vero: il numero di coppie di nodi
indipendenti e’ in genere minore (o al più uguale) del numero di maglie indipendenti.
Quindi il metodo dei nodi e’ spesso più conveniente di quello delle maglie.
Ulteriori proprietà delle reti
Zeq
A
+
(a)
Rete
veq
_
B
A
Rete
(b)
ieq
Zeq
B
Zeq
+
(c)
ieq
Zeq
veq
_
Figura 1.8:
(a) Teorema di Thevenin;
(b) Teorema di Norton;
(c) Equivalenza tra le due rappresentazioni.
Ricordiamo alcune importanti proprietà di cui godono le reti lineari; esse ci saranno utili
nel seguito.
• Teorema di sovrapposizione
La risposta di un circuito lineare si ottiene considerando separatamente le singole
sorgenti e sommando le relative risposte. Ció segue direttamente dalla linearitá delle
equazioni che governano il circuito (in ultima analisi, dalle equazioni di Maxwell).
18
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
• Teorema di Thevenin
Ogni rete, vista da due terminali, puó essere sostituita da un generatore di tensione
ideale in serie ad una opportuna impedenza. Il valore del generatore equivalente, veq
é ovviamente la tensione che si misura fra A e B (quando non sono connessi tra loro
esternamente). Zeq é l’impedenza che la rete presenta fra i terminali A e B (Fig.
1.8(a)).
• Teorema di Norton:
Ogni rete, vista da due terminali, puó essere sostituita da un generatore di corrente
ideale, con una opportuna impedenza in parallelo. Il valore del generatore equivalente, ieq e’ uguale alla corrente che circola tra i due terminali quando essi sono
esternamente cortocircuitati, con in parallelo l’impedenza che il circuito presenta fra
i terminali stessi (Fig. 1.8(b)).
Poiché per ogni rete possiamo applicare il teorema di Thevenin e quello di Norton, segue
che
veq
ieq =
Zeq
E’ quindi sempre possibile trasformare un circuito sostituendo un generatore di tensione
ad uno di corrente, e viceversa (vedi Fig. 1.8(c)).
Ovviamente se la rete e’ composta da sole resistenze l’impedenza equivalente e’ puramente
resistiva.
Questi due teoremi ci fanno comprendere quindi che un generatore di forza elettromotrice
reale, ovvero la sorgente di un segnale, qualunque sia il suo principio fisico di funzionamento, e’ sempre schematizzabile come un generatore ideale (di tensione o corrente) con
una opportuna impedenza (in serie o in parallelo). In genere (ma non sempre) questa
impedenza e’ puramente resistiva e prende il nome di resistenza d’uscita del generatore.
Le due schematizzazioni sono matematicamente equivalenti e come tali possono essere usate indifferentemente. Tuttavia e’ preferibile usare la schematizzazione di Thevenin quando
l’impedenza e’ piccola, e quella di Norton quando l’impedenza e’ grande.
Quadrupoli
v(t)
i
Rete
v(t)
o
Figura 1.9: Rete quadrupolare
Molto spesso studieremo sistemi destinati a processare (ovvero elaborare) un segnale. In
genere questi dispositivi sono di tipo quadrupolare: in questo caso e’ importante conoscere
la risposta del circuito, intesa come tensione di uscita, vo (t), in funzione del segnale, ovvero
della sollecitazione, che applichiamo all’ ingresso, vi (t) (Fig. 1.9). E’ chiaro quindi che i
teoremi di Thevenin e Norton sono particolarmente utili in questo caso, perche’ possono
aiutarci a semplificare il problema, dal punto di vista dell’uscita.
In modo speculare, è possibile semplificare il problema dal punto di vista dell’ingresso,
19
1.3. AMPLIFICATORI
introducendo il concetto di impedenza d’ingresso del quadrupolo,Zi , definita come il rapporto tra la tensione applicata all’ingresso e la corrente che entra nel quadrupolo stesso(Fig.
1.10). L’utilita’ del concetto di impedenza d’ingresso puo’ essere meglio compresa attraii
Zi
v(t)
i
Figura 1.10: Impedenza d’ingresso di una rete
verso un esempio. Nella Fig. 1.11 abbiamo una rete con impedenza d’ingresso Ri cui viene
ii
Rs
vs(t)
+
v(t)
i
_
Ri
Figura 1.11: Un sorgente di segnale vs (t) e’ collegata
all’ingresso di una rete
collegata una sorgente di segnale vs (t), che a sua volta, ha una resistenza d’uscita Rs (l’esempio e’ puramente resisistivo pe semplicita’, ma e’ valido per impedenze piu’ generali).
La frazione di segnale che arriva effettivamente all’ingresso della rete e’
vi =
Ri
vs
Ri + Rs
(1.15)
Se Ri ≫ Rs , si ha vi ≃ Vs , ovvero tutto o quasi tutto il segnale viene trasmesso alla
rete. Viceversa, se Ri ≪ Rs , sola una piccola frazione del segnale emesso dalla sorgente
raggiunge il quadrupolo.
Per questo motivo, quando si progetta un dispositivo destinato a elaborare un segnale, e’
necessario valutare anche questo aspetto; in linea generale e’ bene che il nostro sistema
abbia un’alta impedenza d’ingresso, se vogliamo ricevere la massima frazione del segnale.
Una situazione analoga si ha dal lato dell’uscita della rete: il segnale di uscita, vo (t)
dovra’ essere inviato, presumibilmente, ad un qualche altro dispositivo utilizzatore, e quindi e’ rilevante il rapporto tra l’impedenza d’uscita della rete e l’impedenza d’ingresso di
quest’ultimo dispositivo 2 .
1.3
Amplificatori
Concettualmente l’amplificazione e’ un processo di elaborazione del segnale molto semplice. L’amplificazione e’ spesso necessaria perche’ la sorgente ci fornisce un segnale debole,
cioe’ valori di tensione bassi e con poca potenza, quindi difficili da utilizzare. Percio’ la
prima operazione da fare e’ quella di amplificarli, utilizzando un blocco funzionale che si
chiama appunto amplificatore. Gli amplificatori costituiranno una grossa parte di questo
2
In queste considerazioni abbiamo esaminato il trasferimento del segnale di tensione. Ci sono situazioni
in cui invece e’ necessario o opportuno massimizzare il trasferimento di potenza, che pone condizioni diverse.
20
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
corso. E’ quindi appropriato introdurli subito e discuterne le proprieta’ generali.
La piu’ importante caratteristica di un amplificatore e’ la linearita’. Quando amplifivo
vi
Figura 1.12:
La caratteristica di trasferimento di un amplificatore; la pendenza della retta
direttamente Av .
chiamo un segnale vogliamo che l’informazione in esso contenuta non sia alterata o persa:
vogliamo che il nuovo segnale sia un’esatta replica dell’originale, salvo avere una maggiore
ampiezza. In sostanza vogliamo che
vo (t) = A vi (t)
(1.16)
dove vi e’ il segnale d’ingresso (il segnale originario), vo il segnale amplificato e A un fattore
costante, il guadagno dell’amplificatore.
L’amplificatore e’ quindi un quadrupolo, che possiamo schematizzare come in Fig.1.13(a).
Ingresso
Uscita
Ingresso
Uscita
Figura 1.13:
(a)
(a) Simbolo circuitale di un amplificatore
(b) Un amplificatore con massa comune.
(b)
In genere ingresso e uscita condividono lo stesso riferimento di tensione e quindi possiamo
usare la rappresentazione della Fig.1.13(b).
Un amplificatore aumenta la potenza di un segnale3 , ovvero trasferisce al carico (in sostanza
l’utilizzatore del segnale) una potenza maggiore di quella che riceve al suo ingresso (Fig.
1.14), quindi ha un guadagno di potenza
Ap ≡
potenza sul carico
vo io
=
potenza all’ingresso
vi ii
(1.17)
dove ii e’ la corrente che l’amplificatore assorbe dalla sorgente e io la corrente che fornisce
al carico. Si definisce quindi anche una amplificazione di corrrente
Ai ≡
io
ii
(1.18)
Si vede quindi che
Ap = Ai Av
(1.19)
I guadagni di un amplificatore tutti adimensionali, rapporti di quantita’ omogenee. Per
3
Si potrebbe pensare di utilizzare un trasformatore per aumentare la tensione di un segnale; ma un
traformatore non aumenta la potenza di un segnale, anzi, semmai ne dissipa una parte.
21
1.3. AMPLIFICATORI
ii
io
vi
vo
RL
Figura 1.14:
Un amplificatore riceve all’ingresso un segnale vi (t) ed e’ connesso in uscita
ad una resistenza di carico RL .
molte ragioni in elettronica si esprimono spesso i guadagni in scala logaritmica, utilizzando
il decibel (dB) come unita’ di misura4 .
Guadagno di tensione = 20 log10 |Av | (dB)
Guadagno di corrente = 20 log10 |Ai | (dB)
(1.20)
(1.21)
Poiche’ la potenza e’ legata al quadrato della tensione (o della corrente) il guadagno di
potenza e’ dato da
Guadagno di potenza = 10 log10 Ap (dB)
(1.22)
Per aumentare la potenza del segnale l’amplificatore deve avere una sorgente interna di
Alimentazione
ii
vi
io
vo
RL
Figura 1.15:
Un amplificatore riceve all’ingresso un segnale vi (t) ed e’ connesso in uscita
ad una resistenza di carico RL .
energia, cioe’ l’alimentazione. L’alimentazione e’ data da un generatore (o piu’ generatori, a
volte) di tensione costante: l’amplificatore assorbe energia dall’alimentazione e la immette
nel segnale di uscita. Si puo’ quindi definire un bilancio energetico
Pi + Pdc = PL + Pdiss
(1.23)
dove Pi e’ la potenza fornita dal segnale in ingresso, Pdc e’ la potenza assorbita dall’alimentazione, PL la potenza fornita al carico e, infine, Pdiss la non evitabile potenza dissipata
all’interno dell’amplificatore stesso. Se si trascura la potenza Pi , in genere piccola, e’ utile
definite l’efficienza energetica dell’amplificatore come
η≡
PL
Pdc
(1.24)
Questo parametro e’ rilevante per gli amplificatori di potenza, cioe’ dispositivi destinati a
fornire molta potenza (come ad esempio lo stadio finale di un apparecchio stereo).
22
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
ii
Ro
io
+
Ri
vi
(a)
_
ii
Rs
Ro
vs
_
vo
io
+
+
(b)
A vvi
vi
Ri
_
A vvi
vo
RL
Figura 1.16:
(a) Modello circuitale per l’amplificatore di tensione;
(b) L’amplificatore con la sorgente di segnale e il carico.
Modelli circuitali degli amplificatori
Come vedremo nel seguito gli amplificatori possono essere dispositivi piu’ o meno complicati. Tuttavia da un punto di vista globale essi possono essere sempre ricondotti ad un
modello semplice che ne caratterizzi il comportamento. I valori dei parametri di questo
modello possono a volte essere trovati analiticamente, a volte devono essere misurati direttamente.
La Fig. 1.16(a) mostra il modello circuitale dell’amplificatore di tensione: un generatore
controllato di tensione, con guadagno Av , una resistenza d’ingresso Ri e una resistenza
d’uscita Ro . Nel momento in cui esso viene utilizzato e’ connesso ad una sorgente di segnale vs (con resistenza d’uscita Rs ) e fornisce il segnale ad un carico resistivo RL . Le
prestazioni di questo sistema sono espresse dal rapporto tra il segnale ricevuto dal carico
e quello fornito dalla sorgente
A′v ≡
vo
RL
Ri
=
Av
vs
Ri + Rs RL + Ro
(1.25)
In sostanza abbiamo un partitore all’ingresso, costituito da Ri ed Rs , e un partitore
all’uscita, costituito da RL e Ro .Quindi, onde non perdere una significativa frazione del
segnale d’ingresso, l’amplificatore deve essere progettato in modo da avere
Ri ≫ Rs
(1.26)
Inoltre, per non perdere segnale all’uscita dell’amplificatore, e’ opportuno avere
Ro << RL
4
(1.27)
L’uso dei valori assoluti e’ necessario perche’ a volte i guadagni di tensione o corrente sono negativi.
Questo indica semplicemente che il segnale d’uscita e’ sfasato di 180◦ rispetto al segnale d’ingresso
23
1.3. AMPLIFICATORI
Figura 1.17:I quattro modelli circuitali di un amplificatore
Si comprende quindi che l’amplificatore di tensione ideale dovrebbe tendere ad avere
Ri = ∞ e Ro = 0.
Nella progettazione di sistemi elettronici vi sono a volte esigenze diverse. Per esempio,
alcune sorgenti di segnali o, se vogliamo, trasduttori, hanno intrinsecamente un’alta resistenza d’uscita e sono quindi piu’ appropriatamente da schematizzare come sorgenti di
corrente. In altri casi, vi possono essere situazioni in cui si e’ piu’ interessati alla corrente
d’uscita, anziche’ alla tensione d’uscita.
Sebbene il piu’ utilizzato, l’amplificatore di tensione non e’ l’unico modello di amplificatore.
La Fig. 1.17 mostra i 4 possibili modelli di amplificatore. In linea di principio essi sono
equivalenti completamente, in pratica vi sono spesso motivi che ne rendono preferibile uno
in particolare. Si verifica facilmente che
Ro
Ri
= G m Ro
Rm
=
Ri
Av = Ai
(1.28)
Av
(1.29)
Av
(1.30)
24
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
Dobbiamo infine sottolineare che questi modelli sono unidirezionali: il segnale fluisce solo
dall’ingresso verso l’uscita. A volte gli amplificatori reali hanno invece una retro-azione:
la maglia d’ingresso e la maglia d’uscita non sono cioe’ disgiunte come apparso finora.
Studieremo queste situazioni al momento opportuno.
Limitazioni degli amplificatori reali
Non possiamo sperare di costruire un amplificatore in grado di soddisfare totalmente la
condizione posta dall’equazione 1.16: un amplificatore reale ha inevitabilmente delle limitazioni, che qui esamineremo in via generale, che portano ad una distorsione del segnale
d’uscita, che quindi non riproduce fedelmente la forma del segnale d’ingresso.
Anzitutto vi e’ una limitazione legata alle alimentazioni. Prendiamo ad esempio il cirvo
V+
V+
io
ii
vi
vo
V-
(a)
vi
RL
V-
(b)
Figura 1.18:
(a) Un amplificatore con 2 alimentazioni, V+ positiva e V− negativa;
(b La caratteristica di trasferimento
cuito in Fig.1.18(a): e’ un tipico amplificatore con 2 alimentazioni di segno opposto.V+
e’ un generatore di tensione positiva, mentre V− e’ un generatore di tensione negativa. Il
segnale d’uscita e’ limitato, in ampiezza, tra queste 2 tensioni e non potra’ mai superarle5 ,
quindi la caratteristica di trasferimento diviene quella mostrata in Fig. 1.18(b) e il segnale
d’uscita potrebbe essere distorto. Affinche’ non vi sia distorsione occorre che
V−
V+
≤ vi ≤
Av
Av
(1.31)
ovvero segnale d’ingresso e’ limitato in un certo intervallo. Spesso ci si riferisce a questo
aspetto come alla dinamica dell’amplificatore.
Un’altra limitazione e’ legata alla risposta in frequenza dell’amplificatore. Come abbiamo
visto nella sezione 1.1 un segnale ha un certo spettro in frequenza (continuo o discreto):
affinche’ il segnale d’uscita non sia distorto esso deve avere lo stesso spettro di frequenza
del segnale d’ingresso, cioe’ l’amplificatore deve avere una amplificazione costante e non
dipendente dalla frequenza (come e’ implicito nella relazione 1.16). Purtroppo, gli amplificatori reali non godono di questa proprieta’ e Av e’ funzione della frequenza. Nella Fig.
5
In realta’ l’intervallo e’ leggermente piu’ ristretto, ma trascuriamo questo dettaglio.
1.4. TRASFORMAZIONE DI LAPLACE
25
20 log |Av|
Larghezza di banda
ν1
ν2
ν
Figura 1.19:La dipendenza di Av dalla frequenza per un tipico amplificatore
1.19 e’ mostrato un tipico esempio: l’amplificazione decresce per frequenze basse e per
frequenze alte, e resta costante solo nell’intervallo compreso tra ν1 e ν2 . Quindi un segnale
potrebbe uscire distorto da questo amplificatore, perche’ lo spettro in frequenza e’ stato
alterato. Su questo aspetto avremo modo di approfondire piu’ avanti6 .
Infine, gli amplificatori non sono mai completamente immuni dai disturbi. Al segnale d’ingresso si aggiungono inevitabilmente segnali spurii (rumore) che possono essere amplificati
e aggiunti quindi al segnale d’uscita, con inevitabile perdita di informazione. Le fonti di
rumore sono molteplici, a partire dai componenti stessi dell’amplificatore, le alimentazioni,
i segnali elettromagnetici presenti nell’ambiente.
1.4
Trasformazione di Laplace
Come abbiamo ricordato nella sezione 1.2 l’analisi di circuiti con reattanze comporta la
risoluzione di equazioni, o sistemi di equazioni, integro-differenziali. La complicazione puo’
quindi essere proibitiva.
In un caso molto particolare, quello cioe’ di circuiti con generatori di tensione sinusoidali,
il problema puo’ essere semplificato grazie al cosiddetto metodo simbolico, e quindi all’introduzione del concetto di impedenze complesse.
Noi vogliamo invece affrontare il problema nel caso piu’ generale, avendo cioe’ in mente
circuiti in cui i segnali hanno andamenti temporali qualunque, e non solo sinusoidali. Per
ottenere cio’ dobbiamo introdurre la trasformazione di Laplace, che ci fornira’ gli strumenti
per trovare in modo piu’ semplice la soluzione.
1.4.1
Definizione
La trasformata di Laplace di una funzione f (t) e’ una funzione reale della variabile complessa s definita come
Z ∞
e−st f (t)dt
(1.32)
F (s) ≡
0
6
Per valutare la risposta in frequenza degli amplificatori e’ necessario costruire dei modelli in cui si tiene
conto delle reattanze presenti nel circuito (induzioni e capacita’). I modelli di amplificatore considerati
finora sono quindi inadeguati da questo punto di vista
26
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
jω
σo
σ
Figura 1.20:
Il piano complesso: l’area tratteggiata costituisce il dominio di
trasformabilita’ della funzione
Chiameremo σ la parte reale di s e jω la sua parte immaginaria Affinche’ la trasformata
esista e’ necessario che l’integrale sia convergente e non sempre cio’ avviene in tutto il
piano complesso. In generale quindi una funzione e’ detta trasformabile purche’ l’integrale
sia convergente in un semipiano definito dalla condizione
(1.33)
Re[s] > σo
dove σo e’ la cosidetta ascissa di convergenza (Fig. 1.20). La anti-trasformazione, che ci
riporta alla funzione di partenza, e’ data da:
f (t) =
1
2πj
Z
σo +j∞
F (s)est ds
(1.34)
σo −j∞
Chiaramente non tutte le funzioni sono trasformabili secondo Laplace; non lo sono ad
esempio funzioni del tipo ebt con b > σo .
Se una funzione trasformabile possiede anche la trasformata di Fourier, allora quest’ultima
coincide con la trasformata di Laplace calcolata per s = jω.
Questo ci aiuta anche a comprendere il significato della variabile complessa s; la sua parte
immaginaria e’ una frequenza angolare (o pulsazione), mentre la parte reale non ha significato fisico.
La trasformazione di Laplace gode di alcune interessanti proprietà:
27
1.4. TRASFORMAZIONE DI LAPLACE
Pn
Pn
a) Linearita’
L[
b) Traslazione temporale
L[f (t − to )] = F (s)e−to s
c) Traslazione in frequenza
L[f (t)e−at ] = F (s + a)
df
L[ ] = sF (s) − limt→0+ f (t)
dt
Rt
L[ 0 f (t′ )dt′ ] = 1s F (s)
d) Derivazione
e) Integrazione
f) Valore finale
k
ak fk (t)] =
k
ak Fk (s)
lim sF (s) = lim f (t)
s→0
g) Valore iniziale
t→∞
lim sF (s) = lim f (t)
s→∞
t→0
Le proprieta’ a), d), e) sono quelle che permettono di trasformare equazioni integrodifferenziali in equazioni algebriche; le altre sono utili per semplificare il calcolo di trasformate e anti-trasformate.
Esempi di trasformate di Laplace sono riportati nella Tab. 1.1.
La trasformata di Laplace non dipende dai valori che la funzione f(t) assume per t < 0;
questo non crea inconvenienti nello studio dei circuiti, data l’arbitrarieta’ nella scelta dell’origine dei tempi.
In linea di principio la soluzione di problemi con equazioni integro-differenziali comporta
quindi i seguenti passi:
a) trasformazione delle equazioni in equazioni algebriche nel dominio complesso s;
b) soluzione delle equazioni algebriche;
c) anti-trasformazione per tornare nel dominio reale t. L’ultimo passo implica il calcolo
di integrali nel piano complesso, il che puo’ essere molto complicato. In realta’ vedremo
che il problema e’ spesso molto piu’ semplice, grazie alla conoscenza delle coppie trasformata, anti-trasformata, delle funzioni piu’ comuni, che sono quelle di interesse concreto in
elettronica.
Applicazione all’analisi di circuiti
Come gia’ detto, con la tecnica delle trasformazioni, le equazioni differenziali delle reti si
trasformano in equazioni algebriche. Possiamo verificarlo con un esempio, il circuito RLC
L
C
+
vi
_
R
vo
Figura 1.21: Circuito RLC in serie
serie (vedi Fig 1.21). Si trova facilmente l’equazione della maglia
Z
d
1
dt + L }i(t)
v(t) = {R +
C
dt
(1.35)
28
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
f (t)
F (s)
k
k
s
k
s2
kn!
sn+1
1
1
s+a
1
(s + a)2
a
s2 + a 2
s
s2 + a 2
ω
(s + a)2 + ω 2 )
s+a
(s + a)2 + ω 2
a
s2 − a 2
s
s2 − a 2
e−t1 s F (s)
kt
ktn
δ(t)
e−at
te−at
sin at
cos at
e−at sin ωt
e−at cos ωt
sinh at
cosh at
f (t − t1 )
Tabella 1.1: Trasformate di Laplace di alcune funzioni
Applicando ad ambo i membri la trasformazione di Laplace si ottiene
V (s) = RI(s) +
da cui si ricava
I(s) =
I(s)
+ sLI(s)
sC
V (s)
R + 1/sC + sL
A questo punto, trovando l’antitrasformata di I(s) si ottiene la funzione incognita i(t).
Notiamo che abbiamo ottenuto un’equazione formalmente identica a quella che si otteneva
con il cosidetto metodo simbolico (dove al posto di s avevamo jω). Infatti quest’ultimo
non e’ altro che l’applicazione della tecnica della trasformazione di Laplace nel caso particolare di funzioni sinusoidali; nel prossimo paragrafo giustificheremo rigorosamente questa
affermazione.
In generale, data una rete quadrupolare (Fig. 1.22), l’applicazione della trasformazione di
Laplace porta ad una relazione del tipo:
Vu (s) = T (s)Vi (s)
ovvero
T (s) =
Vu (s)
Vi (s)
(1.36)
(1.37)
29
1.4. TRASFORMAZIONE DI LAPLACE
V(s)
i
T(s)
V(s)
o
Figura 1.22: rete quadrupolare
La funzione T (s) e’ detta funzione di trasferimento della rete. E’ interessante notare che,
per Vi (s) = 1, Vu (s) coincide con T (s). Ovvero, T (s) rappresenta la trasformata della
risposta di un circuito per una eccitazione vi (t) = δ(t).
La conoscenza della funzione T (s) ci permette di prevedere la risposta del circuito per
qualunque eccitazione. In generale essa e’ una funzione complessa, per cui dovremo conoscerne il modulo |T (s)| e la fase φ(s). Ma per procedere dobbiamo ora parlare della
anti-trasformazione.
1.4.2
Anti-trasformazione di Laplace
L’anti-trasformazione di Laplace nei casi di interesse elettronico puo’ essere eseguita, come
abbiamo gia’ detto, in modo relativamente semplice. In particolare ci concentreremo sulle
reti quadrupolari.
Abbiamo visto che, in generale, la risposta di un circuito é data dalla 1.36: dobbiamo
quindi anti-trasformare questa espressione.
In generale, nei casi fisici, la T(s) e’ una funzione del tipo
T (s) =
a 1 s + a 2 s2 + . . . a m sm
G(s)
=
H(s)
b1 s + b2 s2 + . . . bn sn
(1.38)
cioé un rapporto tra polinomi, in cui n ≥ m. Il polinomio H(s) può essere scritto come
H(s) = (s − s1 )r1 (s − s2 )r2 . . . (s − sn )rn
(1.39)
dove ovviamente r1 + r2 + . . . rn = n. Le costanti s1 . . . sn sono sono le radici di H(s) e
costituiscono i poli della funzione di trasferimento.
Nel caso di n poli semplici
H(s) = (s − s1 )(s − s2 ) . . . (s − sn )
(1.40)
si può allora dimostrare che la T (s) può essere posta nella forma
T (s) =
n
X
j=1
kj
s − sj
(1.41)
Vediamo come si determinano le costanti kj . Moltiplicando ambo i membri per (s − si ) si
ha
n
X
kj
(1.42)
(s − si )T (s) = (s − si )
s − sj
j=1
30
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
e, passando al limite per s → si
lim (s − si )T (s) = lim (s − si )
s→si
s→si
n
X
j=1
kj
s − sj
(1.43)
Per effetto del limite tutti i termini a secondo membro si annullano, tranne il termine per
j = i, che vale proprio ki . Quindi le costanti ki sono date da
ki = lim (s − si )T (s)
s→si
(1.44)
Una volta che la funzione di trasferimento sia stata posta nella forma 1.41 é facile dimostrare (vedi Tabella 1.1) che la sua anti-trasformata é semplicemente data da
f (t) =
n
X
k j e sj t
(1.45)
j=1
Quindi, se un polo é sull’asse reale, l’esponenziale é reale (crescente o decrescente); se il
polo é complesso, anche il suo complesso coniugato é un polo della funzione, e si hanno
onde sinusoidali moltiplicate per esponenziali reali (se il polo ha una parte reale diversa da
zero).
Nel caso di poli multipli il ragionamento é un po’ piú complicato, ma analogo, e si ottiene
f (t) =
mi
n X
X
i=1 g=1
kig
tmi −g esi t
(mi − g)!
(1.46)
l’indice g va da 1 a mi , cioé la molteplicitá del polo i-esimo. I coefficienti kig si calcolano
con la
1
dg−1
kig = lim
(1.47)
[ g−1 (s − si )mi T (s)]
s→si (g − 1)! ds
La collocazione dei poli nel piano complesso caratterizza completamente l’andamento della
anti-trasformata f (t). É chiaro infatti che ad un polo puramente immaginario corrisponde
un termine sinusoidale, mentre le parti reali danno luogo ad esponenziali reali. Il polinomio
a numeratore ,G(s), influisce solo sull’ampiezza relativa dei contributi dei vari poli.
Naturalmente lo studio della T (s) non risolve completamente il problema, perché dobbiamo, in generale, anti-trasformare Vu (s), cioé il prodotto T (s)Vi (s), che puo’ avere una
struttura complicata.
Possiamo pero’ esaminare esplicitamente due casi: la sollecitazione a gradino, e la sollecitazione sinusoidale.
Sollecitazione a gradino
La tensione d’ingresso sia la funzione gradino unitario u(t): allora, come abbiamo visto in
precedenza, Vi (s) = 1/s e quindi
T (s)
Vu (s) =
(1.48)
s
Ricordando la 1.38, possiamo scrivere
Vu (s) =
G(s)
sH(s)
(1.49)
31
1.4. TRASFORMAZIONE DI LAPLACE
questo significa, al massimo, aggiungere un polo per s = 0, e questo corrisponde semplicemente ad un termine costante additivo nell’antitrasformata.
Possiamo prendere, a titolo di esempio, di nuovo il circuito RLC in serie (Fig. 1.21):
otteniamo quindi, dopo qualche semplice passaggio, la funzione di trasferimento
T (s) =
sRC
s2 LC + sRC + 1
(1.50)
RC
s2 LC + sRC + 1
(1.51)
e, per una sollecitazione a gradino,
Vu (s) =
I poli della funzione possono essere allora trovati risolvendo l’equazione algebrica
s2 LC + sRC + 1 = 0
(1.52)
e quindi le costanti ki , mediante la 1.44 o la 1.47.
Sollecitazione sinusoidale
L’altro caso importante é quello della sollecitazione sinusoidale. Possiamo a questo punto dedurre in modo rigoroso la validità del metodo simbolico, partendo appunto dalle
trasformazioni di Laplace.
Consideriamo infatti un circuito generico con funzione di trasferimento T (s), soggetto ad
una sollecitazione sinusoidale con pulsazione ω0 . La sollecitazione può essere scritta come
vi = |vi |ejωo t
(1.53)
|vi |
s − jωo
(1.54)
la cui trasformata é data da
Vi =
La risposta del circuito sarà quindi
Vu (s) = T (s)
|vi |
s − jωo
Il secondo membro può essere sviluppato, come abbiamo visto, in una somma di termini
tipo
kj
(s − sj )
I poli della Vu (s) saranno dati da tutti i poli della T (s) più il polo per s = jωo . I poli della
T (s) devono avere parte reale negativa quindi danno luogo a termini esponenziali tipo e−at ,
che vanno a zero dopo un tempo sufficientemente lungo e quindi non interessano quando si
voglia conoscere la soluzione stazionaria.7 Resta il termine corrispondente al polo s = jω0
e per la soluzione stazionaria si ha quindi
Vu (s) =
kω
s − jω0
(1.55)
7
Questa affermazione andrebbe dimostrata rigorosamente, tuttavia e’ abbastanza intuitivo che debba
essere cosi’: esponenziali reali positivi darebbero luogo a divergenze, difficili da giustificare, anche in termini
energetici.
32
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
Il coefficiente kω si determina con il metodo descritto in precedenza: si ottiene
kω = T (ωo )|vi |
e infine
Vu (s) = T (ωo )
|vi |
s − jω0
(1.56)
(1.57)
Antitrasformando si ottiene la funzione di risposta
vu (t) = T (ωo )|vi |ejωo t = |T (ωo )||vi |ejωo t eφ
(1.58)
Ritroviamo il risultato noto, cioé che la risposta ha un andamento sinusoidale, con pulsazione ω0 , ampiezza pari al prodotto di |vi | per il modulo di T (ω0 ) e sfasamento dato
dalla fase di T (ω0 ), cioe’ φ. Quindi tutta l’informazione necessaria per conoscere la risposta quando la sollecitazione é sinusoidale, con frequenza ω0 , é data dalla funzione di
trasferimento T (s), calcolata nel punto s = jω0 .
1.4.3
Conclusione
La conoscenza della funzione di trasferimento T (s) per s = jω ci permette di prevedere la
risposta del circuito quadrupolare per qualunque segnale sviluppabile in serie di Fourier o
comunque trasformabile secondo Fourier.
Possiamo quindi direttamente parlare di T (ω), cioe’ della funzione di trasferimento in funzione della frequenza, che esprime il comportamento del circuito in funzione della frequenza:
e’ una funzione complessa, per cui dovremo conoscerne il modulo |T (ω)| e la fase φ(ω). Di
solito il modulo e’ espresso in scala logaritmica, in decibel; quindi si riporta la quantità
20 log10 |A| in funzione di log10 (ω/ωo ), dove ωo e’ una pulsazione di riferimento arbitraria
(spesso e’ una pulsazione "caratteristica" del particolare circuito, ma al limite può anche
essere semplicemente la pulsazione unitaria). Il diagramma che ne risulta prende il nome
di diagramma di Bode. Invece, per quanto riguarda l’angolo di fase, si riporta φ(ω) (in
gradi) in funzione di log10 (ω/ω0 ).
Lo studio della risposta per segnali non periodici e non trasformabili secondo Fourier richiede in generale l’uso della tecnica di Laplace in modo esplicito, come ad esempio nel
caso di sollecitazione a gradino.
E’ infine istruttivo comprendere il significato delle proprieta’ di limite delle traformazioni
di Laplace
lim sF (s) = lim f (t)
(1.59)
lim sF (s) =
(1.60)
s→∞
t→0
s→0
lim f (t)
t→∞
gia’ citate.
Consideriamo un quadrupolo soggetto ad una sollecitazione a gradino, ovvero
vi (t) = u(t)
Applicando la trasformazione di Laplace si ha quindi
Vi (s) =
1
s
33
1.4. TRASFORMAZIONE DI LAPLACE
e la funzione di trasferimento diviene
T (s) = sVu (s)
Applicando le due suddette proprietà ne deriva
lim T (s) = lim sVu (s) = lim vu (t)
s→0
t→∞
s→0
e
lim T (s) = lim sVu (s) = lim vu (t)
s→∞
s→∞
t→0
In sostanza, se s = jω,
T (0) = lim vu (t)
t→∞
T (∞) = lim vu (t)
t→0+
Ciò vuol dire che il valore asintotico della funzione di trasferimento é legato alla risposta
asintotica (a t → 0 e a t → ∞) ad una sollecitazione a gradino. Queste proprietà matematiche hanno un significato fisico, che si può immediatamente comprendere, in modo
qualitativo e non rigoroso come segue: lo sviluppo in frequenza di una funzione a gradino
contiene un grande addensamento di onde ad altissima frequenza attorno a t = 0, mentre per t → ∞ si ha un prevalente contenuto di onde a bassissima frequenza. Quindi la
risposta del circuito per t → 0 e’ quella tipica delle alte frequenze, mentre per t → ∞ e’
quella tipica delle bassissime frequenze. Vi e’ quindi una corrispondenza fra alte frequenze
e "tempi brevi" ovvero basse frequenze e "tempi lunghi".
Nel prossimo Capitolo rivisiteremo alcuni circuiti passivi noti, utilizzando le nozioni fin qui
apprese, e questo ci aiutera’ a comprenderne meglio il significato
34
CAPITOLO 1. INTRODUZIONE ALL’ELETTRONICA
Capitolo 2
Circuiti passivi
2.1
Introduzione
In questo capitolo cominceremo a prendere familiarita’ con i circuiti studiando approfonditamente alcuni esempi di quadrupoli passivi, esaminandone la risposta per sollecitazioni
di tipo sinusoidale ed impulsivo.
2.2
Circuito RC passa-alto
C
+
R
vi(t)
-
Figura 2.1: Circuito RC passa-alto
Consideriamo il circuito di Fig. 2.1; scrivendo l’equazione della maglia si ha:
Z
1 t ′
vi =
idt + Ri
C 0
avendo fatto l’ipotesi che il condensatore sia inizialmente scarico.
membri:
dvi
1
di
= i+R
dt
C
dt
e, ovviamente
vu = Ri
(2.1)
Derivando ambo i
(2.2)
(2.3)
Risposta in regime sinusoidale
Supponiamo ora che la sollecitazione sia di tipo sinusoidale; possiamo allora utilizzare il
metodo delle trasformate cioe’, ponendo s = jω, il metodo simbolico; le equazioni 2.2 e 2.3
35
36
CAPITOLO 2. CIRCUITI PASSIVI
divengono:
1
I(ω) + jωRI(ω)
C
Vu (ω) = RI(ω)
jωVi (ω) =
(2.4)
(2.5)
e, combinando le due equazioni si ottiene
Vu (ω) =
jωR
1
+ JωR
C
Vi (ω)
(2.6)
La funzione di trasferimento del circuito e’ quindi data da
T (ω) =
1
1
1+
jωτ
(2.7)
dove abbiamo posto RC = τ . Il fattore τ ha le dimensioni di un tempo, ed e’ comunemente
indicato come costante di tempo del circuito.
Il modulo e la fase della funzione di trasferimento sono quindi
|T (ω)| =
1
(2.8)
s
1
1+ 2 2
ω τ
φ = arctan
1
ωτ
(2.9)
Osserviamo che per ω → 0 T (ω) → 0 , mentre per ω → ∞ |T (ω)| → 1; inoltre se
1/(ω 2 τ 2 ) ≫ 1 (cioe’ se ω ≫ 1/τ )
1
= ωτ
|T (ω)| ≈ p
1/ω 2 τ 2
(2.10)
cioé |T (ω)| tende a zero linearmente con ω. La risposta complessiva del circuito e’ quindi
rappresentata dal diagramma di Bode in Fig. 2.2. Come si vede il circuito attenua i segnali
a bassa frequenza, mentre trasmette le alte frequenze, da cui il nome del circuito stesso.
La fase invece tende asintoticamente a 0 per ω → ∞ , e a 90o per ω → 0.
La frequenza di taglio, fT , e’ definita come la frequenza a cui la risposta del circuito e’
attenuata di 3dB, cioe’
da cui segue che
20 log |T (fT )| = −3
(2.11)
1
|T (fT )| ≃ √
2
(2.12)
e quindi
fT ≃
1
2πτ
(2.13)
37
2.2. CIRCUITO RC PASSA-ALTO
Figura 2.2: Diagramma di Bode del circuito RC passa-alto
E’ spesso conveniente scrivere la funzione di trasferimento come
T (f ) =
1
(2.14)
fT
1−j
f
Possiamo allora riassumere il comportamento di questo circuito: per frequenze molto inferiori alla frequenza di taglio la funzione di trasferimento e’ una retta con pendenza di
20 dB/decade, mentre al di sopra di essa e’ una retta orizzontale.
Risposta in regime impulsivo
Per studiare la risposta del circuito in regime impulsivo possiamo applicare come segnale
d’ingresso un gradino unitario, u(t), e risolvere il problema utilizzando la trasformazione
di Laplace.
Abbiamo
Vu (s) = T (s) Vi (s)
(2.15)
1 1
(2.16)
=
1 s
1+
sτ
1
(2.17)
=
1
s+
τ
Abbiamo quindi una funzione con un polo in S1 = −1/τ . Il residuo k1 puo’ essere calcolato
utilizzando il metodo studiato nel Cap. precedente; abbiamo
1
k1 = lim (s + )
s→s1
τ
1
1
s+
τ
=1
(2.18)
38
CAPITOLO 2. CIRCUITI PASSIVI
Quindi la soluzione nel dominio del tempo e’ data da
t
(2.19)
vu (t) = 1 e− τ
E’ facile poi generalizzare: se vi (t) = vr u(t), si avra’
Figura 2.3: Risposta del circuito passa-alto in regime impulsivo
t
(2.20)
vu (t) = vr e− τ
Un segnale d’ingresso rettangolare, di periodo T , puo’ essere opportunamente descritto
come combinazione di 2 funzioni a gradino
vi (t) = vr [u(t) − u(t − T )]
(2.21)
La risposta sara’ data da (vedi Fig. 2.3)
t
vu (t) = vr e− τ per 0 < t < T
e
t
vu (t) = vr [e− τ − e−
t−T
τ
] per t > T
(2.22)
(2.23)
La risposta per una sollecitazione rettangolare periodica puo’ essere facilmente dedotta a
partire da quella relativa al singolo impulso.
2.3
Circuito RC Passa-Basso
Consideriamo ora il circuito in Fig. 2.4. Nel caso di sollecitazione sinusoidale, con il metodo
delle trasformate si ha:
Vi = (R +
Vu =
I
jωC
1
)I
jωC
(2.24)
(2.25)
2.3.
39
CIRCUITO RC PASSA-BASSO
R
vi(t)
+
C
-
Figura 2.4: Circuito RC passa-basso
da cui si ricava
1
jωC
Vu =
Vi
1
R+
jωC
La funzione di trasferimento del circuito e’ quindi
(2.26)
Figura 2.5: Diagramma di Bode del circuito RC passa-basso
T (ω) =
1
1 + jωτ
(2.27)
avendo anche qui posto RC = τ . Il modulo e la fase della funzione di trasferimento sono
allora
|T (ω)| =
√
1
1 + ω2 τ 2
φ(ω) = − arctan ωτ
(2.28)
(2.29)
I valori asintotici della funzione di trasferimento sono
|T (0)| = 1 |T (∞)| = 0
(2.30)
40
CAPITOLO 2. CIRCUITI PASSIVI
in questo caso, se ω 2 τ 2 ≫ 1, cioé se ω ≫ 1/τ
1
(2.31)
ωτ
La risposta complessiva del circuito e’ quindi rappresentata dal diagramma di Bode in
Fig. 2.5. Come si vede, il circuito ora attenua le frequenze alte, lasciando imperturbati
i segnali di bassa frequenza. Anche in questo caso si definisce la frequenza di taglio, fT ,
corrispondente ad una attenuazione di 3 dB. Si ha chiaramente
|T (ω)| ≈
1
(2.32)
2πτ
Per frequenze molto maggiori della frequenza di taglio la curva di risposta ha una pendenza
di −20 dB/decade.
fT =
Risposta in regime impulsivo
Possiamo, anche in questo caso, risolvere il problema utilizzando il formalismo di Laplace.
Se inviamo all’ingresso un gradino unitario, u(t), abbiamo
Vu (s) = T (s) Vi (s)
(2.33)
1
1
(2.34)
=
1 + sτ s
In questo caso abbiamo due poli, per s1 = −1/τ e s2 = 0; e’ facile, con il metodo usuale
calcolare i residui e si trova k1 = −1 e k2 = 1. La soluzione nel dominio del tempo e’ allora
data da
t
vu (t) = 1 − e− τ
(2.35)
In generale, per un gradino di altezza vr avremo
t
vu = vr (1 − e− τ )
(2.36)
Come si puo’ vedere dalla Fig. 2.6 il segnale e’ ora deformato ai tempi brevi. Un modo
molto utilizzato per parametrizzare questa distorsione é attraverso l’introduzione del tempo
di salita, ts , definito come il tempo impiegato dalla tensione di uscita per passare dal 10% al
90% del suo valore massimo. Chiamando t1 e t2 gli estremi di questo intervallo (ts = t2 −t1 )
si ha
t1
vr (1 − e− τ ) = .1vr
(2.37)
vr (1 −
(2.38)
t2
e− τ )
= .9vr
Dividendo tra loro le due equazioni si ottiene
e−
t2 −t1
τ
= 1/9
(2.39)
da cui
ts = τ ln 9 ≈ 2.2τ
(2.40)
Possiamo poi porre in relazione tempo di salita e frequenza di taglio: dai risultati precedenti
si ottiene
ts ≈ .35/fT
(2.41)
2.4.
41
DERIVATORE E INTEGRATORE
Figura 2.6: Risposta impulsiva del passa-basso
2.4
Derivatore e integratore
Consideriamo di nuovo il circuito passa-alto. Dall’equazione gia’ vista si ha che
cioé
ora, se vu ≪ vi
vu
dvu
dvi
=
+
dt
RC
dt
(2.42)
d(vi − vu )
vu
=
dt
RC
(2.43)
dvi
(2.44)
dt
quindi vu é circa proporzionale alla derivata del segnale d’ ingresso1 .
Consideriamo invece il circuito passa-basso. Possiamo riscrivere l’equazione della maglia
vu ≈ RC
vi = Ri + vu
(2.45)
vi − vu = Ri
(2.46)
ovvero
integrando ambo i membri
se vi ≫ vu
Z
(vi − vu )dt = R
Z
1
vi dt ≃ R
Z
Z
idt
idt
≃ RCvu
(2.47)
(2.48)
(2.49)
La condizione vu ≪ vi equivale a dire che la caduta di tensione ai capi di R deve essere molto piccola
rispetto a quella ai capi di C.
42
Figura 2.7: a) Diagramma di Bode del derivatore ideale;
b) Diagramma di Bode dell’integratore ideale;
c) Risposta impulsiva del derivatore ideale;
d) Risposta impulsiva dell’integratore ideale;
CAPITOLO 2. CIRCUITI PASSIVI
43
2.5. ATTENUATORE COMPENSATO
cioé il circuito si comporta da integratore, se la caduta di tensione su C é piccola rispetto
a quella su R.
Possiamo vedere la cosa da un punto di vista diverso. Un derivatore ideale dovrebbe
essere un circuito in cui la tensione di uscita e’ proporzionale alla derivata della tensione
d’ingresso, ovvero
dvi
(2.50)
vu = k
dt
in termini di trasformate si dovrebbe quindi avere
Vu (ω) = kωVi (ω)
(2.51)
In sostanza, la funzione di trasferimento del circuito dovrebbe essere
T (ω) = kω
(2.52)
Il corrispondente diagramma di Bode e’ mostrato il Fig. 2.7a. E’ chiaro allora che il
circuito RC si approssima al derivatore ideale per ωτ ≪ 1, ovvero per frequenze basse,
dove l’ impedenza di C é alta.
Viceversa l’integratore ideale ha una funzione di trasferimento
T (ω) =
1
ωk
(2.53)
(Fig. 2.7b). Quindi la funzione di trasferimento del RC passa basso approssima bene
l’integratore ideale per ωτ ≫ 1, nella regione delle alte frequenze, dove l’impedenza di C é
bassa.
In termini di forme d’onda, per un segnale d’ingresso a gradino, si avrebbero in uscita le
forme d’onda mostrate in Fig 2.7c e 2.7d.
Queste proprieta’ dei circuiti RC sono spesso utilizzate nella elaborazione dei segnali impulsivi. Infatti un segnale impulsivo porta con se’ generalmente due informazioni: una
legata al suo tempo di arrivo, l’altra legata alla sua ampiezza (ovvero spesso all’integrale
nel tempo dell’ampiezza). Poiche’ i segnali reali non sono mai esattamente rettangolari,
ma hanno sempre un tempo di salita diverso da zero (seppur piccolo) il tempo di arrivo
del segnale puo’ risultare piu’ o meno mal definito e mal misurabile: facendo passare il segnale attraverso un derivatore, il tempo di salita viene diminuito drasticamente e il tempo
di arrivo del segnale risulta quindi piu’ facilmente misurabile. Viceversa, se si e’ interessati all’area sotto il segnale, l’integratore e’ il circuito adatto per fornire meglio questa
informazione.
2.5
Attenuatore compensato
Gli effetti distorcenti dovuti alle capacita’ non si manifestano solo quando si costruiscono
dei circuiti RC, ma anche, spesso, per la presenza di capacita’ parassite. L’esempio tipico
e’ quello dell’oscillografo: noi preleviamo un segnale tra due nodi di un circuito (tipicamentre tra un nodo e la massa) e lo portiamo all’ingresso dell’oscillografo. Quest’ultimo
e’ caratterizzato da una resistenza d’ingresso, con in parallelo una capacita’, quindi l’operazione di trasferimento del segnale avviene attraverso una rete del tipo esemplificato in
44
CAPITOLO 2. CIRCUITI PASSIVI
a)
b)
R1
R1
vi
R2
C2
vi
C1
R2
C2
Figura 2.8: a) Partitore resistivo con capacita’ parassita; b) Partitore compensato
Fig. 2.8a, in cui R1 rappresenta la resistenza d’uscita del nodo sotto esame, mentre R2
e C2 rappresentano l’impedenza d’ingresso dell’oscillografo. Questo circuito si comporta
come un passa-basso (per capirlo basta fare l’equivalente di Thevenin del circuito a monte
di C2 ), con una costante di tempo
τ = C2
R1 R2
R1 + R2
(2.54)
Una situazione del genere si incontra di frequente, ovvero tutte le volte che si trasferisce un
segnale da un quadrupolo ad un altro: alla partizione resistiva si aggiunge una distorsione
dovuta alla (ineliminabile) capacita’ parassita d’ingresso.
Se questa distorsione non e’ accettabile, conviene aggiungere una capacita’ C1 in parallelo
ad R1 Fig. 2.8b. Possiamo allora scrivere le due equazioni:
R1
R2
I+
I
1 + jωR1 C1
1 + jωR2 C2
R2
I
1 + jωR2 C2
Vi =
Vu =
(2.55)
(2.56)
da cui ricaviamo la funzione di trasferimento
T (ω) =
=
R2
1 + jωR2 C2
R1
R2
+
1 + jωR1 C1 1 + jωR2 C2
1
R1 1 + jωR2 C2
1+
R2 1 + jωR1 C1
(2.57)
(2.58)
Si vede subito che, se R1 C1 = R2 C2 il partitore é perfettamente compensato, cioé non
distorce il segnale. Infatti, in questo caso si ha:
T (ω) =
1
R1
1+
R2
(2.59)
45
2.5. ATTENUATORE COMPENSATO
E’ tuttavia interessante notare che, se R2 C2 6= R1 C1 , alle basse frequenze, cioé per
ωR2 C2 ≪ 1 e ωR1 C1 ≪ 1 si ha ancora
T (ω) ≈
1
(2.60)
R1
1+
R2
Alle alte frequenze, cioé per ωR2 C2 ≫ 1 e ωR1 C1 ≫ 1 si ha invece
T (ω) =
1
C1
1+
C2
=
C1
C1 + C2
(2.61)
cioé l’attenuazione dipende solo dal rapporto delle capacitá.
Possiamo comprendere in modo piu’ intuitivo questo risultato, ridisegnando il circuito
(Fig. 2.9a). Chiaramente, se
C2
R1
=
(2.62)
R2
C1
tra i punti A e B del circuito non vi e’ differenza di potenziale, quindi il ramo che li connette
puo’ essere omesso e si vede che l’uscita e’ data solo dalla partizione R1 , R2 . Nella realta’
a)
Rs
b)
R1
A
C1
R1
C1
C2
R2
C2
B
R2
c)
Rs
C1
C2
Figura 2.9: a) Partitore compensato ridisegnato; b) Un caso piu’ realistico; c) Equivalente di Thevenin
approssimato
non sempre e’ possibile mettere un capacitore C1 in parallelo ad R1 : spesso quest’ultima
non e’ altro che la resistenza d’uscita del primo stadio (quindi "non accessibile"). Il caso
piu’ realistico e’ quindi descritto in Fig. 2.9b, in cui preleviamo l’uscita attraverso un
46
CAPITOLO 2. CIRCUITI PASSIVI
partitore compensato. Ora pero’, se Rs ≪ R1 + R2 , attraverso il teorema di Thevenin,
arriviamo al circuito mostrato in Fig. 2.9c. Il tempo di salita é dato da
t′s = 2.2 Rs
C1 C2
C1 + C2
(2.63)
Se non ci fossero C1 ed R1 , si avrebbe un tempo di salita
ts = 2.2 Rs C2
(2.64)
ts C1 + C 2
=
t′s
C1
(2.65)
ed il rapporto tra i due
Quindi, aggiungendo il condensatore C1 possiamo ridurre il tempo di salita. Il prezzo che
paghiamo e’ nella maggiore attenuazione del segnale: infatti se vogliamo guadagnare un
fattore 10 nel tempo di salita, dobbiamo attenuare dello stesso fattore il segnale.
La sonda dell’oscillografo
Le considerazioni precedenti sono abbastanza vere anche in assenza di perfetta compensazione, e sono alla base del funzionamento delle sonde che corredano gli oscillografi. Prendiamo ad esempio un’oscillografo con resistenza d’ingresso 1 M Ω e capacita’ d’ingresso
10 pF : supponiamo di connettere, tramite un normale cavetto, l’oscillografo ad un particolare punto, o meglio, nodo di un circuito e che la resistenza d’uscita di questo nodo sia
100 k. Il tempo di salita del segnale diviene
ts = 2.2 × 100 k × 10 pF = 2.2 µs
(2.66)
cioe’ piuttosto alto; utilizzando invece una sonda con attenuazione 10 il tempo di salita
migliora dello stesso fattore.
2.6
2.6.1
Filtri in cascata
Doppio passa-basso
Consideriamo il circuito in Fig. 2.10 Applicando il metodo dei nodi, per il nodo 1 abbiamo
V1
V1
Vi − V1
=
+
R1
Z 1 R2 + Z 2
(2.67)
mentre la tensione d’uscita e’ data da
V0 =
Z2
V1
R2 + Z 2
(2.68)
47
2.6. FILTRI IN CASCATA
dove abbiamo indicato con Z1 e Z2 le impedenze dei due condensatori. Dalla prima
relazione ricaviamo
V1
=
Vi
=
1
(2.69)
1
1
1
R1 (
+
+
)
R1 Z 1 R2 + Z 2
1
(2.70)
R1
R1
1+
+
Z 1 R2 + Z 2
per ottenere la funzione di trasferimento combiniamo la 2.68 con la 2.70. Infatti
V0 V1
V1 Vi
1
T (ω) =
=
(2.71)
1
R2
R1
R1
1+
1+
+
Z2
Z 1 R2 + Z 2
1
1
1 + jωC2 R2
1 + jωC1 R1 +
=
=
1−
ω2 C
(2.72)
(2.73)
R1
R2 + 1/jωC2
1
1 R1 C2 R2 + jωC1 R1 + jωC2 (R2 + R1 )
(2.74)
(2.75)
Ora, se R2 ≫ R1 :
R1
vi(t)
1
R2
+
C1
C2
Vo
-
Figura 2.10: Due passa-basso in cascata
T
≈
=
1
1−
1 R1 C2 R2 + jωC1 R1 + jωC2 R2
1
(1 + jωC1 R1 )(1 + jωC2 R2 )
ω2 C
(2.76)
(2.77)
(2.78)
T coincide col prodotto delle funzioni di trasferimento dei 2 passa-basso in cascata. Questo
esempio ci fa comprendere che, in generale, la funzione di trasferimento di due quadrupoli
48
CAPITOLO 2. CIRCUITI PASSIVI
in cascata non e’ uguale al prodotto delle due funzioni di trasferimento, perche’ il comportamento del primo stadio e’ perturbato dalla presenza del secondo. Quand’e’ che questa
perturbazione puo’ essere trascurata? Quando l’impedenza d’ingresso del secondo stadio
e’ molto maggiore dell’impedenza d’uscita del primo. Infatti se ora consideriamo il doppio
passa-basso alla luce di questa affermazione, osserviamo che l’impedenza di ingresso del
secondo stadio e’data da:
Zi2 = R2 +
1
jωC2
(2.79)
mentre l’impedenza d’uscita del primo stadio (applicando il teorema di Thevenin) e’:
1
1
=
+ jωC1
Zo1 R1
(2.80)
Volendo avere la condizione di non perturbazione a tutte le frequenze, si deve imporre
proprio che R2 ≫ R1 .
Possiamo sfruttare questa proprieta’ per costruire filtri passa-basso con una selettivita’
migliore. Infatti, se scegliamo i componenti in modo che R1 C1 = R2 C2 (mantenendo
naturalmente R2 ≫ R1 ), otteniamo un filtro con una discesa asintotica di 40 dB/decade
2.6.2
Doppio passa-alto
C1
vi(t)
1
C2
+
R1
-
R2
Vo
Figura 2.11: Due passa-alto in cascata
Naturalmente le stesse considerazioni si applicano al doppio passa-alto, cioe’ il circuito in
Fig. 2.11. Applicando anche qui il metodo dei nodi si ha:
Vi − V1
=
Z1
V0 =
V1
V1
+
R1 R2 + Z 2
R2
V1
R2 + Z 2
(2.81)
(2.82)
49
2.6. FILTRI IN CASCATA
e, sviluppando il calcolo, analogamente al caso precedente, si arriva a
T (ω) =
=
1
1
1
1+
jωR2 C2
1
1
jωC1 R2
1+
+
jωR1 C1
1
1+
jωC2 R2
1
(2.83)
1
1
1
1
1− 2
+
+
+
ω R1 C1 R2 C2 jωR1 C1 jωC2 R2 jωC1 R2
(2.84)
Anche in questo caso, se R2 ≫ R1 ,
1
1
≫
jωC1 R1
jωC1 R2
(2.85)
quindi l’ultimo addendo si trascura, e si ha
T (ω) ≈
1
(2.86)
1
1
(1 +
)(1 +
)
jωR1 C1
jωR2 C2
cioé il prodotto di due passa-alto.
2.6.3
Passa-banda
R1
vi(t)
1
C2
+
-
R2
C1
Vo
Figura 2.12: Passa-banda
E’ possibile, utilizzando un passa-basso ed un passa-alto, ottenere un circuito passa-banda.
Naturalmente dovremo scegliere i componenti in modo che la frequenza di taglio del passabasso, f2 , sia superiore alla frequenza di taglio del passa-alto, f1 . La larghezza di banda
sara’ allora data da
B = f2 − f1
(2.87)
Abbiamo
Vi − V1
=
R1
V0 =
V1
V1
+
Z 1 R2 + Z 2
R2
V1
R2 + Z 2
(2.88)
(2.89)
50
CAPITOLO 2. CIRCUITI PASSIVI
Con il solito metodo si arriva a
T (ω) =
=
1
1
1
jωC2 R1
1+
1 + jωR1 C1 +
jωR2 C2
1 + JωC2 R2
1
1
1 + jωR2 C2 1 − ω 2 R1 C1 R2 C2 + jωR1 C1 + jωR2 C2 + jωC2 R1
jωR2 C2
1 + jωR2 C2
(2.90)
(2.91)
Se R2 ≫ R1 l’ultimo addendo si trascura, e si ha
T (ω) ≈
1
1−
ω2 R
1 C1 R2 C2
+ jωR1 C1 + jωR2 C2
jωR2 C2
(2.92)
che é uguale al prodotto di un passa-basso e di un passa-alto, cioé
1
T (ω) ≈
2.7
1
(1 +
)
jωR2 C2
1
(1 + jωR1 C1 )
(2.93)
Circuiti RLC
I filtri passa-banda sono molto importanti e necessari per numerosissime applicazioni. In
alcuni casi e’ sufficiente il circuito che abbiamo visto nel paragrafo precedente, ma in
genere, se si ha bisogno di un circuito molto selettivo, si devono introdurre degli induttori,
per costruire circuiti RLC.
Notiamo infatti che, se abbiamo un induttore ed un capacitore in serie, l’impedenza
complessiva e’
1
jωC
1
= j(ωL −
)
ωC
ZS = jωL +
(2.94)
(2.95)
Si vede quindi che ZS si annulla se
ω=√
1
LC
(2.96)
mentre diviene infinita per ω = ∞ o per ω = 0.
Se invece prendiamo il parallelo tra un induttore e un capacitore abbiamo un comportamento analogo per l’ammettenza complessiva
YP
1
jωL
1
= j(ωC −
)
ωL
= jωC +
(2.97)
(2.98)
51
2.7. CIRCUITI RLC
In questo caso l’impedenza del parallelo, ZP , diviene infinita quando
1
(2.99)
LC
Questa frequenza critica del circuito si chiama, in entrambi i casi, frequenza di risonanza del
sistema; i circuiti che ora vedremo sfruttano questi andamenti delle impedenze dei sistemi
LC per ottenere una andamento della funzione di trasferimento selettivo in frequenza.
ω=√
2.7.1
RLC in serie
Rs
L
C
+
vi(t)
-
R
Figura 2.13: Circuito RLC in serie
Cosideriamo anzitutto il circuito RLC in serie (Fig. 2.13). Nel dominio complesso possiamo
scrivere
Vi = (Rs + R + sL +
1
)I
sC
(2.100)
(2.101)
Vo = RI
Combinando le due equazioni si ottiene la funzione di trasferimento
T (s) =
R
1
Rs + R + sL +
sC
Moltiplicando numeratore e denominatore per s/L e riordinando si ottiene
R
s
L
T (s) =
Rs + R
1
s2 +
s+
L
LC
Consideriamo per ora Rs trascurabile rispetto ad R. Introducendo le variabili
ω0 =
Q =
√
1
LC
ω0 L
R
(2.102)
(2.103)
(2.104)
(2.105)
la 2.103 puo’ essere scritta
ωo
s
Q
T (s) =
ωo
s2 + s + ωo2
Q
(2.106)
52
CAPITOLO 2. CIRCUITI PASSIVI
Risposta del circuito in regime sinusoidale
Figura 2.14: Ampiezza e fase della funzione di trasferimento del circuito RLC serie, con Q = 2 e Q = 10
(con R >> Rs ).
Nel caso di segnale d’ingresso sinusoidale la 2.106 puo’ essere riscritta in termini di jω e,
con qualche manipolazione si ottiene
T (ω) =
1
ω0
ω
1 + jQ( − )
ω0
ω
(2.107)
Il modulo e la fase di T sono quindi date da
|T (ω)| =
1
(2.108)
s
ω0
ω
1 + Q2 ( − ) 2
ω0
ω
φ(ω) = arctan[−Q(
ω
ω0
− )]
ω0
ω
(2.109)
Come si vede dalla Fig. 2.14 il modulo di T ha l’andamento richiesto, ovvero quello di
passa-banda. Alla frequenza di risonanza si ha
|T (ω0 )| = 1
(2.110)
53
2.7. CIRCUITI RLC
mentre la larghezza del picco attorno al valore di risonanza diminuisce al crescere di Q,
che, per questo motivo, prende il nome di fattore di merito.
Per una data frequenza di risonanza Q dipende da R ed L; si potrebbe pensare di aumentare
il fattore di merito riducendo R. Ma, per comprendere meglio, conviene ricalcolare la
funzione di trasferimento senza trascurare Rs ; si ottiene facilmente
T (ω) =
1
Rs + R
ω
ω0
+ jQ( − )
R
ω0
ω
(2.111)
Il modulo e la fase di T sono ora date da
|T (ω)| =
1
s
(2.112)
Rs + R 2
ω
ω0
(
) + Q2 ( − ) 2
R
ω0
ω
φ(ω) = arctan[−
R
ω
ω0
Q( − )]
Rs + R ω 0
ω
(2.113)
Alla frequenza di risonanza si ha
|T (ω0 )| =
R
R + Rs
(2.114)
Quindi la diminuzione di R provoca anche una diminuzione dell’ampiezza sul picco (al
limite, per R = 0 il fattore di merito e’ infinito, ma il segnale in uscita avrebbe ampiezza nulla!). Inoltre R e’ sostanziamente, nei casi reali, il carico rappresentato dallo stadio
successivo del circuito, quello cioe’ in cui la frequenza filtrata deve essere utilizzata ed e’
quindi determinato anche da altre considerazioni. Un discorso analogo vale per Rs (resistenza d’uscita del generatore, ovvero dello stadio precedente): sarebbe comodo avere Rs
molto piccolo, per poter ridurre conseguentemente R ed avere un alto fattore di merito, ma
non e’ detto che cio’ sia fattibile in pratica. Si noti poi che l’induttore ha intrinsecamente
una resistenza parassita, r, che e’ in genere non trascurabile (puo’ anche essere di decine
di Ohm); le nostre formule restano invariate se si interpreta Rs come la somma di r e della
resistenza d’uscita del generatore, ma e’ quindi chiaro che Rs non puo’ essere mai annullata
del tutto.
E’ interessante notare che il fattore di merito é anche definibile in termini di energia come
il rapporto tra il valore max dell’energia accumulata e l’energia dissipata in un periodo,
moltiplicato per 2π
Il modulo della funzione di trasferimento gode di una particolare simmetria (simmetria
geometrica): infatti, per ogni valore ω ′ < ω0 esiste un valore ω ′′ > ω0 per cui
|T (ω ′ )| = |T (ω ′′ )|
(2.115)
ω ′ ω ′′ = ω02
(2.116)
ed inoltre
La dimostrazione e’ molto facile: infatti la condizione 2.115 implica che
(
ω ′ ω0
ω ′′ ω0
− ′ ) = −( − ′′ )
ω0 ω
ω0 ω
(2.117)
54
CAPITOLO 2. CIRCUITI PASSIVI
da cui si ottiene subito la 2.116.
Possiamo infine introdurre la larghezza di banda, B, definita come la banda compresa tra le
due frequenze, ω1 e ω2 , dove il modulo di T diminuisce di 3 dB rispetto al valore massimo,
cioe’
ω 2 − ω1
(2.118)
B=
2π
dove
T (ω1 )
T (ω2 )
1
|
|=|
|= √
(2.119)
T (ω0 )
T (ω0 )
2
E’ facile intuire che B e’ correlata a Q; dalle definizioni (sfruttando la simmetria geometrica), si trova facilmente che
ω0
(2.120)
B=
2πQ
e viceversa
ω0
ω0
=
(2.121)
2πB ω2 − ω1
Quindi il parametro Q puo’ essere valutato sperimentalmente misurando ω0 , ω1 ed ω2 .
Q=
Risposta del circuito in regime impulsivo
Studiamo ora la risposta del circuito RLC parallelo in regime impulsivo, cioe’ per una
sollecitazione a gradino. In questo caso Vi (s) = 1/s qunidi, riprendendo la 2.106 si ha
ωo
Q
Vo (s) = T (s)Vi (s) =
ωo
s2 + s + ωo2
Q
(2.122)
Per trovare l’anti-trasformata di Vo (s) dobbiamo individuare i suoi poli, che sono dati dalle
radici dell’equazione di secondo grado al denominatore, ovvero
s
ωo
ωo
1
s1,2 = −
( )2 − 4ωo2
±
(2.123)
2Q 2 2Q
ωo p
ωo
1 − 4Q2
(2.124)
±
= −
2Q 2Q
Le radici sono reali e distinte se Q < 0.5, reali e coincidenti se Q = 0.5 e complesse
coniugate altrimenti.
Si hanno allora 2 casi:
Q 6= 0.5:
I poli sono distinti. I residui sono dati da
k1 =
k2 =
lim (s − s1 )Vo (s)
(2.125)
lim (s − s2 )Vo (s)
(2.126)
s→s1
s→s2
(2.127)
55
2.7. CIRCUITI RLC
Questi limiti possono essere calcolati molto facilmente poiche’ possiamo scrivere la Vo (s)
nella forma
ωo
Q
(2.128)
Vo (s) =
(s − s1 )(s − s2 )
e si trova
1
(2.129)
k1 = p
1 − 4Q2
1
k2 = − p
1 − 4Q2
(2.130)
(2.131)
La soluzione e’ quindi data da
vo (t) =
=
ωo ωo √
ω o ωo √
+
−
(−
1−4Q2 )t
1−4Q2 )t
1
p
e 2Q 2Q
e 2Q 2Q
−p
(2.132)
1 − 4Q2
1 − 4Q2

ωo  ωo √
ωo √
2 )t
2 )t
t
(
−
1−4Q
(−
1−4Q
1

p
e 2Q e 2Q
− e 2Q
(2.133)
1 − 4Q2
(−
1
Se Q < 0.5 gli esponenziali sono reali; se Q > 0.5 possiamo porre
p
p
1 − 4Q2 = j 4Q2 − 1
e si ha
vo (t) =
=
1
j
p
4Q2 − 1

ωo √ 2
ωo  ωo √ 2
4Q −1)t
(−j
4Q −1)t
t
(j

− e 2Q
e 2Q e 2Q
−
ωo
t
ωo p 2
p
e 2Q sin(
4Q − 1)
2Q
4Q2 − 1
2
(2.134)
−
(2.135)
dove nell’ultimo passaggio abbiamo utilizzato le formule di Eulero. La soluzione e’ quindi
un’oscillazione smorzata.
Infine, se Q = 0.5 i poli sono coincidenti, s2 = s1 , quindi la Vo (s) puo’ essere scritta come
ωo
Q
Vo (s) =
(2.136)
(s − s1 )2
e l’anti-trasformata si trova immediatamente
ωo
ωo − 2Q t
te
= 2ωo t e−ωo t
(2.137)
vo (t) =
Q
ovvero di nuovo una funzione esponenziale decrescente.
In Figura 2.15 e’ esemplificato l’andamento di vo (t) per vari valori di Q: per valori di Q
minori di 0.5 si ha un impulso che muore esponenzialmente; per Q > 0.5 si ha un’oscillazione smorzata; Q = 0.5 e’ il valore di transizione tra i due regimi (smorzamento critico).
L’oscillazione e’ tanto piu’ persistente quanto piu’ Q e’ grande (nel limite non realistico di
Q infinito si avrebbe un’oscillazione perenne, sia pure di ampiezza infinitamente piccola).
56
CAPITOLO 2. CIRCUITI PASSIVI
Figura 2.15: Risposta impulsiva di un circuito RLC serie per vari valori di Q.
2.7.2
Circuito RLC parallelo
a)
b)
Rs
vi(t)
C
L
R
vi(t)
Rs
Rs
C
L
R
Figura 2.16: a) Circuito RLC in parallelo; b) Circuito equivalente
Passiamo ora a studiare il circuito RLC in parallelo (Fig. 2.16a); ci conviene trasformare
il circuito utilizzando il teorema di Norton (Fig. 2.16b) e scrivere quindi l’equazione del
nodo d’uscita nel dominio complesso
1
1
1
Vi
= Vo ( +
+
+ sC)
Rs
R Rs sL
1
1
+ sC)
+
= Vo (
RP sL
(2.138)
(2.139)
(2.140)
57
2.7. CIRCUITI RLC
dove RP e’ il parallelo tra R ed Rs . Se R >> Rs si ha RP ≃ Rs ; in questo caso definendo
ω0 =
Q =
√
1
LC
Rs
ω0 L
(2.141)
(2.142)
possiamo esprimere la funzione di trasferimento T nella consueta forma
ωo
s
Q
T (s) =
ωo
s2 + s + ωo2
Q
(2.143)
Troveremo quindi gli stessi risultati che abbiamo ottenuto per il circuito in serie, sia in
regime sinusoidale che in quello impulsivo.
Nel caso in cui non fosse soddisfatta la condizione R ≫ Rs si puo’ facilmente trovare la
funzione di trasferimento esatta (in regime sinusoidale) ovvero:
T (ω) =
1
Rs
ω
ω0
+ jQ0 ( − )
RP
ω0
ω
(2.144)
Si noti che l’ampiezza sul picco e’ data ora da
|T (ω0 )| =
RP
Rs
(2.145)
quindi, se R >> Rs , RP ≃ Rs e l’ampiezza dell’uscita e’ massima. D’altra parte ora il
fattore di merito cresce al crescere di Rs ; potremmo quindi incrementare Rs (aggiungendo
per es. una resistenza in serie) per migliorare il fattore di merito, ma cio’ penalizzerebbe
l’ampiezza dell’uscita, a meno di non incrementare anche R (cioe’ la resistenza d’ingresso
dello stadio successivo). Di fatto, anche in questo caso, i fattori di merito realmente
ottenibili sono abbastanza limitati.
In questa configurazione la resistenza parassita dell’induttore ha un’influenza piu’ complicata rispetto al caso in serie, il circuito effettivo e’ quello mostrato in Fig 2.17. Scrivendo
l’equazione del nodo di uscita si ha, in regime sinusoidale:
Vi
1
1
= Vo (
+ jωC +
)
Rs
RP
ZL
(2.146)
ZL = r + jωL
(2.147)
dove
Possiamo osservare che
1
=
ZL
=
=
1
r + jωL
r − jωL
r 2 + ω 2 L2
jωL
r
− 2
2
2
2
r +ω L
r + ω 2 L2
(2.148)
(2.149)
(2.150)
58
CAPITOLO 2. CIRCUITI PASSIVI
a)
b)
vi(t)
Rs
L
RP
vi(t)
Rs
C
RP
R*
L*
C
r
Figura 2.17: a) Circuito RLC in parallelo; b) Circuito equivalente
L’equazione 2.146 diviene allora:
1
r
jωL
Vi
= Vu (
+ 2
+ jωC − 2
)
2
2
Rs
RP r + ω L
r + ω 2 L2
(2.151)
La 2.151 puo’ essere interpretata come l’equazione del circuito in Fig. 2.17b, dove e’ stata
introdotta un resistore
R∗ =
ω 2 L2
ω 2 L2
r 2 + ω 2 L2
=r+
= r(1 + 2 )
r
r
r
(2.152)
ed un induttore
r2
+ 1)
(2.153)
ω 2 L2
Non risolveremo esplicitamente l’equazione 2.151; si noti tuttavia che sia la frequenza di
risonanza che il fattore di merito sono alterati dalla presenza di r. La situazione diviene
piu’ semplice nella regione di alta frequenza; infatti se ω é abbastanza grande, (ωL)/r ≫ 1,
e quindi
L∗ = L(
ω 2 L2
r
≈ L
R∗ ≈
L∗
2.8
(2.154)
(2.155)
Linee di trasmissione
Negli esempi visti finora abbiamo trascurato il fatto che la velocita’ di propagazione dei
segnali elettrici e’ finita. In altre parole, abbiamo fatto l’ipotesi che le variazioni nel
tempo della sollecitazione producano i loro effetti istantaneamente in tutti i punti del
circuito. Questo comportamento non puo’ essere esatto, visto che al massimo il "segnale"
si propaghera’ alla velocita’ della luce c. Tuttavia il nostro trattamento costituisce una
buona approssimazione quando le dimensioni fisiche del circuito sono "piccole", tali cioe’
per cui il tempo di propagazione del "segnale" e’ piccolo rispetto alla scala dei tempi che
ci interessa. Per segnali impulsivi questa scala dei tempi e’ data dai "tempi di salita"
che abbiamo, mentre per sollecitazioni sinusoidali e’ data dal periodo T . Per esempio,
se il nostro circuito ha dimensioni tipiche dell’ordine di ∼ 30 cm, i tempi di propagazione
59
2.8. LINEE DI TRASMISSIONE
(nell’ipotesi che il segnale si propaghi a velocita’ c) sono di ∼ 1 ns. Se i nostri impulsi hanno
tempi di salita dell’ordine dei µs non ha senso preoccuparsi del tempo di propagazione.
Lo stesso se il nostro generatore sinusoidale ha una frequenza di 1 M hz (T = 1 µs).
Invece, se la frequenza e’ di 1 Ghz (T = 1 ns) non possiamo trascurare il tempo di
propagazione, che e’ dello stesso ordine. Inoltre e’ evidente che non possiamo trascurare il
tempo di propagazione quando siamo interessati a trasmettere un segnale, sia sinusoidale
che impulsivo, su lunghe distanze (decine o centinaia di metri).
In questo paragrafo studieremo quindi il problema della trasmissione di un segnale, attraverso una coppia di conduttori, che prende il nome di linea di trasmissione. Questa coppia
puo’ essere composta da 2 fili paralleli tra loro (linea bifilare), da 2 conduttori coassiali,
ovvero da un filo e da un piano conduttore (situazione tipica, per es. di un segnale che
si propaga su un circuito stampato). Se consideriamo un tratto infinitesimo di linea, esso
puo’ essere schematizzato, nel modo piu’ generale possibile, come in Fig. 2.18. Si noti che
v(x,t)
i(x,t)
Ldx
Rdx
Cdx
Gdx
v(x,t) + ∂v dx
∂x
i(x,t) + ∂i dx
∂x
Figura 2.18: Tratto infinitesimo di linea
R,L,G e C sono intese per unita’ di lunghezza. Possiamo quindi definire
Z = R + jωL
Y = G + jωC
Applicando i principi di Kirchoff si hanno le due equazioni
cioe’
−
∂V
dx = ZIdx
∂x
−
∂I
dx = Y V dx
∂x
∂V
= −ZI
∂x
∂I
= −Y V
∂x
Derivando ancora rispetto ad x, si ottiene
∂2V
− γ02 V = 0
∂x2
∂2I
− γ02 I = 0
∂x2
60
dove
CAPITOLO 2. CIRCUITI PASSIVI
p
√
γ0 = − ZY = − (R + jωL)(G + jωC)
che si puó scrivere anche come
γ0 = −τ0
s
−ω 2 + jω(
R G
RG
+ )+
L C
LC
√
dove τ0 = LC ha le dimensioni di un tempo per unitá di lunghezza e prende il nome di
ritardo per unita’ di lunghezza. Il rapporto
s
s
Z
R + jωL
=
Z0 =
Y
G + jωC
prende il nome di impedenza caratteristica.
Se si verifica la condizione
R G
=
L C
allora
s
L
= R0
Z0 =
C
cioé l’impedenza caratteristica é reale ed ha le dimensioni di una resistenza. Si ha allora
s
R
R
γ0 = −τ0 ( + jω)2 = −τ0 ( + jω)
L
L
cioé la linea si dice non distorcente.
Vediamo ora un caso ancora piú semplice, in cui R e G sono trascurabili (linea non
dissipativa). Si ha allora
∂v
∂i
= −L
∂x
∂t
∂v
∂i
= −C
∂x
∂t
Derivando la prima equazione rispetto ad x, e la seconda rispetto a t
∂2v
∂2i
=
−L
∂x2
∂t∂x
∂2v
∂2i
= −C 2
∂t∂x
∂t
cioé
∂2v
∂2v
−
LC
=0
∂x2
∂t2
ovvero un’equazione delle onde con velocitá di propagazione
u= √
1
LC
=
1
τ0
61
2.8. LINEE DI TRASMISSIONE
Le soluzioni sono quindi del tipo
v(x, t) = f1 (x − ut) + f2 (x + ut)
1
[f1 (x − ut) − f2 (x + ut)]
R0
Supponiamo ora di avere una linea di lunghezza infinita alimentata da un generatore di
segnale con resistenza di uscita Rg (Fig. 2.19a). Si ha
i(x, t) =
Rs
Rs
vs(t)
LL
vs(t)
Linea infinita
Rs
Linea di lunghezza L: aperta
LL
Rs
LL
R
vs(t)
vs(t)
Linea di lunghezza L: in corto
Linea di lunghezza L: carico R
Figura 2.19: a) Linea di lunghezza infinita; b) Linea di lunghezza finita,L; c) Linea chiusa in corto
circuito; d) Linea chiusa su un carico R
v(x, t) =
R0
vg (t − τ0 x)
R0 + Rg
i(x, t) =
1
vg (t − τ0 x)
R0 + Rg
cioé, dal punto di vista dell’ingresso, la linea si comporta come un carico resistivo R0 .
Se ora consideriamo una linea finita e terminata con una resistenza R0 , le equazioni della
linea restano le stesse, ed anche la soluzione particolare é la stessa, cioé non ci sono onde
retrograde. Dal punto di vista del segnale, quindi, una linea chiusa su una resistenza R0
e’ equivalente ad una linea infinita (linea adattata)
Supponiamo ora che la linea sia aperta e di lunghezza finita: τ = τ0 L e’ il tempo di
propagazione del segnale lungo la linea. Nel punto L la corrente deve essere 0, quindi ci
deve essere un’onda retrograda, cioé
i(x, t) =
1
[vg (t − τ0 x) − vg (t − τ0 (2L − x))]
R0 + R g
Questo é vero solo per t ≪ 2τ0 , per tempi successivi l’onda retrograda, arrivata all’origine,viene nuovamente riflessa e si somma alle altre. Ció non é vero se Rg = R0 ; in tal caso
la linea é adattata sul lato del generatore e non si hanno ulteriori riflessioni.
62
CAPITOLO 2. CIRCUITI PASSIVI
Figura 2.20: Risposte della linea per sollecitazioni a gradino:
a) Linea aperta;
b) Linea chiusa in corto.
Se la linea e’ invece chiusa in corto circuito (Fig. 2.19c) Si deve imporre la condizione
v(L, t) = 0
quindi si deve avere un’onda riflessa di tensione uguale cambiata di segno.
v(x, t) =
R0
[vg (t − τ x) − vg (t − τ (2L − x))]
R0 + Rg
i(x, t) =
1
[vg (t − τ x) + vg (t − τ (2L − x))]
R0 + R g
In generale, considerando la linea chiusa su una resistenza generica R (Fig. 2.19d) si avrá
nel punto L una riflessione parziale; potremo definire un coefficiente di riflessione Γ2
Γ2 =
R − R0
R + R0
Nei vari casi avremo infatti
R = R0 Γ 2 = 0
R=0
Γ2 = −1
R=∞
Γ2 = 1
Si avrá quindi
v(x, t) =
R0
[vg (t − τ x) + Γ2 vg (t − τ (2L − x))]
R0 + Rg
i(x, t) =
1
[vg (t − τ x) − Γ2 vg (t − τ (2L − x))]
R0 + Rg
63
2.8. LINEE DI TRASMISSIONE
Se Rg 6= R0 si puó analogamente definire un coefficiente di riflessione all’inizio della linea
Γ1 =
Rg − R 0
Rg + R 0
e le soluzioni conterranno ulteriori termini dovuti a questa riflessione. Nella Fig. 2.20 sono
riportati alcuni esempi di risposte della linea soggetta ad una sollecitazione a gradino, u(t),
per vari valori di Γ1 e Γ2 .
2.8.1
Linee reali
Abbiamo visto che i parametri fisicamente rilevanti di una linea non dissipativa sono la
velocita’ di propagazione,v, e la resistenza caratteristica, R0 ; essi sono dati da:
s
1
L
v=√
R0 =
C
LC
L’induttanza per unita’ di lunghezza,L, e la capacita’ per unita’ di lunghezza, C, dipendono
dalla geometria della linea e dalle caratteristiche elettro-magnetiche del mezzo interposto
tra i conduttori. Nel caso di linea coassiale (Fig. 2.21a ) sono date da:
C=
2πǫ
µ
L=
log D/d
log D/d
2π
v=√
1
1
=√
µǫ
LC
In genere la permeabilita’ magnetica del mezzo e’ uguale a quella del vuoto, µ0 , per cui,
ricordando la definizione di velocita’ della luce nel vuoto, c:
c
v≈√
ǫr
dove ǫr e’ la costante dielettrica relativa del mezzo (∼ 2 per i dielettrici normalmente
utilizzati nella costruzione dei cavi).
Si ha poi
s
s
L
µ
µ
1
D
= ( 2 log2 D/d)1/2 = (log )
R0 ≡
C
4π ǫ
2π
d
ǫ
Si noti che R0 dipende pochissimo dalla geometria del cavo ( solo attraverso il logaritmo
del rapporto delle dimensioni geometriche).
Valori tipici per un cavo coassiale utilizzato comunemente in ambiente elettronico (cavo
RG58) sono:
C ≃ 100pF/m L ≃ 250nH/m
v ≃ 0.7c R0 ≃ 50Ω
Il cavo coassiale utilizzato per le antenne televisive ha invece una resistenza caratteristica
di 75 Ω, valore standard in questo ambiente.
64
CAPITOLO 2. CIRCUITI PASSIVI
D
D
d
d
d
Linea coassiale
Linea bifilare
d
d
D
D
Filo + piano
Striscia + piano
Figura 2.21: a) Linea coassiale; b) Linea bifilare; c) Filo + piano d) Strisce
Invece, nel caso di linea bifilare (Fig. 2.21b):
C=
πǫ
µ
L = log(2D/d)
log(2D/d)
π
che danno luogo ad una espressione della velocita’ identica a quella del cavo coassiale e ad
una espressione della resistenza caratteristica assai simile.
Ulteriori possibili geometrie sono rappresentate nella Fig. 2.21. Tutte le situazioni raffigurate sono caratterizzate da una dipendenza logaritmica dalle costanti geometriche e da
una velocita’ di propagazione dipendente solo da ǫr . Quindi tutte le geometrie portano a
resistenze caratteristiche comprese tra le decine e le centinaia di Ohm.
Finora abbiamo fatto l’ipotesi, poco realistica, di trascurare gli effetti ohmici della linea,
cioe’R e G. Nel caso di cavi reali e’ in genere lecito trascurare G, ma non R, in genere
piccolo ma non trascurabile completamente, se stiamo utilizzando una linea di considerevole
lunghezza. La condizione di non-distorsione non e’ piu’ esattemente rispettata; inoltre il
segnale verra’ attenuato in modo esponenziale. Supponendo di avere una linea infinita
(ovvero adattata all’estremita’ "lontana"), l’ampiezza del segnale lungo la linea sara’ data
65
2.8. LINEE DI TRASMISSIONE
da:
v(x, t) =
R0
vg (t − τ x)e−αx
R0 + Rg
dove α = R/R0 é detto coefficiente di attenuazione della linea.
Per i cavi commerciali R e’ dell’ordine di 10−2 Ω/m.
Dobbiamo infine tenere presente che una linea va anche studiata per quelli che sono i suoi
effetti complessivi sul trasporto del segnale. Consideriamo infatti una linea di lunghezza L
(supposta adattata dal lato del generatore): vista dall’estremo lontano essa e’ comunque
equivalente ad un passa-basso con parametri complessivi Rt = RL e Ct = CL. Essa
introduce quindi una frequenza di taglio f2 = 1/(2πRt Ct ), ovvero, per segnali impulsivi,
un tempo di salita ts = 2.2Rt Ct . E’ chiaro quindi che la linea ha una banda passante finita,
dipendente quadraticamente dalla lunghezza.
Inoltre possono essere non trascurabili gli effetti della induttanza complessiva della linea.
Figura 2.22: Forma d’onda per una linea chiusa in corto
2.8.2
Ulteriori applicazioni
Una linea puo’ essere utilizzata anche per modificare la forma di un segnale. Consideriamo
ad esempio una linea di lunghezza L chiusa in corto, adattata dal lato del generatore.
Se il segnale fornito dal generatore e’ rettangolare, di lunghezza T , con T > 2τ L, il segnale
prelevato all’inizio della linea sara’ composto da due segnali rettangolari, uno positivo ed
uno negativo, di lunghezza 2τ L (Fig. 2.22). Tralasciando il segnale negativo (che puo’ essere
opportunamente eliminato, come vedremo in seguito), il segnale d’uscita puo’ quindi essere
formato a piacimento, variando L. Peraltro, per L molto corto, l’uscita e’ approssimativamente proporzionale alla derivata del segnale d’ingresso, e questo puo’ essere verificato
anche per forme d’onda d’ingresso non rettangolari.
Quanto studiato finora ci fa anche comprendere che sono necessarie delle cautele quando
si connettono tra loro cavi con impedenza diversa, ovvero quando si vuole suddividere un
segnale su varie linee (Fig. 2.23).
66
CAPITOLO 2. CIRCUITI PASSIVI
a)
Z1
Z2
R
b)
Z1
R
Z2
Z
c)
R
Z
R
Z
Figura 2.23: a) Connessione di cavi a diversa impedenza (Z1 < Z2 ); b) Connessione di cavi a diversa
impedenza (Z1 > Z2 ); c) "Splitting" di un segnale
a) Connessione di due cavi con impedenza diversa, con Z1 < Z2 : per evitare che il segnale "veda" nel punto di connessione un aumento di impedenza, occorre aggiungere una
resistenza verso massa, in modo che il parallelo di R e Z2 eguagli Z1 , cioe’:
R=
Z1 Z2
Z2 − Z1
b) Z1 > Z2 : il segnale vedrebbe una diminuzione di impedenza, quindi cio’ puo’ essere
evitato mettendo in serie un resistore R = Z1 − Z2 .
Le stesse considerazioni si applicano per un carico RL che debba essere adattato a una
linea Z. Se RL > Z occorre aggiungere un resistore in parallelo; mentre Se RL < Z occorre
aggiungere un resistore in serie.
c): se si vuole suddividere un segnale su due o piu’ linee, si ha inevitabilmente un disadattamento, che deve essere rimosso aggiungendo in serie dei resistori R. Il valore di R si
trova imponendo che
R+Z
=Z
2
cioé R=Z.
Se lo splitting é in n rami:
R+Z
= Z ⇒ R = (n − 1)Z
n
67
2.9. CENNI SUL TRASFORMATORE
2.9
Cenni sul trasformatore
Il trasformatore e’ un dispositivo comunemente noto per le sue applicazioni in elettrotecnica. Vogliamo qui studiarne brevemente il comportamento per sollecitazioni impulsive.
Il trasformatore puo’ essere schematizzato (Fig. 2.24b) come due induttori accoppiati tra
loro da un coefficiente di mutua induzione M .
a)
b)
M
vi( t )
LP( 1 - k 2 )
vi( t )
α2RL αvu
k 2 LP
LP LS
c)
R1
LP( 1 - k 2 )
k 2 LP
vi( t )
d)
vi( t )
R1
LP( 1 - k 2 )
α2RL αvu
C
e)
C
α2RL αvu
vi( t )
R*
L
αvu
Figura 2.24: a) Trasformatore; b) Circuito equivalente; c) Circuito equivalente completo; d) Circuito
semplificato ai tempi brevi; e) Circuito semplificato ai tempi lunghi
Le equazioni del circuito sono:

di
di

 v i = Lp p − M s
dt
dt

 0 = −M dip + L dis + i R
s
s L
dt
dt
Si definisce
M
k≡p
Lp Ls
Per un trasformatore ideale k = 1 e Lp → 0 (in realtá k < 1 per qualche percento) e si ha
s
Ns
Ls
v u ip
= =
=
=n
vi
is
Lp Np
68
CAPITOLO 2. CIRCUITI PASSIVI
E’ conveniente schematizzare il trasformatore come in Fig. 2.24b dove il parametro α e’
dato da
s
k
Lp
=
α=k
Ls
n
Il circuito e’governato dalle equazioni

di
k 2 di

 v i = Lp p − Lp s
dt
α
dt
2
2

 0 = −k 2 L dip + k L dis + α RL is
p
p
dt
α
dt
α
Dividendo l’ultima equazione per α si verifica che effettivamente i due circuiti sono equivalenti. In realtá il circuito equivalente completo é dato dalla Fig. 2.24c dove R1 = Rg + Rp
rappresenta la resistenza del generatore piu’ la resistenza del primario, mentre
1
1
1
=
+
R2 R′ α2 (RL + R2′ )
dove R2′ é la resistenza del secondario e R′ é la resistenza in parallelo che viene dalle correnti
di Foucault,ecc; C é il contributo complessivo delle capacitá.
Ai tempi brevi il circuito si semplifica come in Fig. 2.24d. Per una sollecitazione a gradino
vi = u(t), si risolve l’equazione differenziale del circuito: le soluzioni sono del tipo ept , con
p
p = −ω0 ξ ± jω0 1 − ξ 2
dove
ω0 = √
1
σCa
a=
R2
R1 + R2
R1
1
1
+
)
σ
R2 C 2ω0
Si ha quindi una situazione analoga a quella del circuito RLC, e la forma d’onda d’uscita
e’ legata al valore del parametro ξ.
Ai tempi lunghi il circuito si semplifica come in Fig. 2.24e; applicando il teorema di Thevenin,esso si semplifica ulteriormente come in Fig. 2.24f. La risposta é quindi un esponenziale
reale del tipo avi e−t/τ dove τ = L/R.
ξ=(
2.10
Sorgenti di segnale
Come abbiamo detto nell’Introduzione il nostro obiettivo e’ lo studio dei segnali e dei
circuiti destinati all’elaborazione dei segnali, in senso lato. Ma il lettore potrebbe a questo
punto chiedersi come sono fatte in realta’ le sorgenti dei segnali che trattiamo. I teoremi
di Thevenin e Norton ci hanno fatto capire che, indipendentemente dalla sua natura fisica,
una sorgente di segnale e’ sempre vista dal circuito come un generatore ideale di tensione
con una impedenza in serie (o di corrente con una impedenza in parallelo). Quindi non
e’ necessario per i nostri studi conoscere nulla di piu’; tuttavia puo’ essere interessante ed
istruttivo dare qualche cenno sulle sorgenti.
Ne vedremo qui di tre tipi: le antenne, i trasduttori e le sorgenti a ionizzazione.
69
2.10. SORGENTI DI SEGNALE
Antenne
Si puo’ definire con il termine antenna qualunque dispositivo che permette la trasmissione
dell’energia elettromagnetica da un generatore allo spazio libero. Analogamente e’ anche
un’antenna ogni dispositivo che convoglia l’energia associata ad un’onda elettromagnetica
dallo spazio libero ad un apparato limitato nello spazio (in genere un circuito).
L’antenna e’ generalmente connessa al trasmettitore, o al ricevitore, attraverso una linea
di trasmissione: possiamo quindi dire che le antenne sono in sostanza degli adattatori di
impedenza tra la linea di trasmissione e lo spazio. Infatti l’adattemento di impedenza e’
la condizione che si richiede per ottenere il massimo trasferimento di energia.
Lo studio delle antenne esula completamente dagli scopi di questo testo, quindi ci limiteremo solo a delle semplici considerazioni generali. Una linea di trasmissione (ad esempio
bifilare), alimentata ad un estremo da un generatore e adattata all’altro estremo sulla
propria impedenza caratteristica, e’ essa stessa un’antenna trasmittente: infatti la propagazione di un’onda di tensione e di corrente lungo la linea e’ associata alla propagazione di
un campo elettromagnetico irradiato nello spazio circostante. Dal punto di vista circuitale
la perdita di energia per irraggiamento e’ del tutto equivalente ad una perdita ohmica lungo
la linea stessa. Possiamo quindi in generale trattare l’antenna come una linea dissipativa; idealmente sarebbe desiderabile che tutte le perdite fossero associate all’irraggiamento,
mentre in realta’ ogni antenna avra’ anche una dissipazione ohmica vera e propria. E’ chiaro quindi che anche per un’antenna trasmittente possiamo, in stretta analogia a quanto
fatto per le linee, definire un’impedenza d’ingresso, la cui parte reale contiene un contributo Rr , resistenza di radiazione, che tiene conto proprio delle perdite di energia per
irraggiamento. La stessa linea di trasmissione costituisce anche un’antenna ricevente: il
ZA
ZL
ZL
Figura 2.25: Antenna ricevente e suo circuito equivalente
campo elettrico associato all’onda che investe il conduttore induce una corrente, che puo’
essere trasferita ad un ricevitore. Da un punto di vista circuitale si ha quindi la situazione
presentata in Fig. 2.25, dove il generatore equivalente VE e’ chiaramente legato al campo
70
CAPITOLO 2. CIRCUITI PASSIVI
elettrico E dell’onda2 . Si puo’ scrivere
VE = Eh
(2.156)
Il parametro h, avente dimensioni di una lunghezza, e’ detto altezza equivalente dell’antenna. Peraltro il principio di reciprocita’3 ci consente di dire che l’impedenza caratteristica
dell’antenna e’ la stessa in trasmissione ed in ricezione. L’impedenza equivalente dell’antenna, ZA e’ naturalmente legata alla geometria dell’antenna stessa e conterra’ una
componente reattiva; la componente resistiva sara’ data da
RA = Rr + Rd
(2.157)
dove Rd e’ legato alle perdite ohmiche dall’antenna e Rr e’ la resistenza di radiazione
dell’antenna. E’ chiaro infatti che anche un’antenna ricevente irradia (proprio per il sopra citato principio di reciprocita’), quindi parte dell’energia captata viene reirradiata
all’esterno. La potenza complessiva captata dall’antenna e’ data da
W =
(Eh)2
RL + Rr + Rd
(2.158)
La frazione RL /(RL + Rr + Rd ) viene assorbita dal carico; la frazione Rd /(RL + Rr + Rd )
e’ dissipata, mentre la parte rimanente e’ reirradiata. La massima potenza che un’antenna
puo’ estrarre dall’onda che la investe si ha quando (Rd + RL ) eguagliano la resistenza di
radiazione, e la parte reattiva del carico sia uguale ed opposta alla parte reattiva di ZA .
Trasduttori
Un trasduttore e’ un dispositivo che genera una tensione (o una corrente) legata da una
relazione funzionale con una variabile fisica: in generale quindi abbiamo
v(t) = F [y(t)]
(2.159)
dove y(t) e’ la grandezza fisica in oggetto. E’ evidente l’interesse di dispositivi di questo
generale, ed e’ chiaro che in generale si desidera una relazione lineare tra v e y.
Discuteremo qui brevemente un solo esempio, quello del microfono a capacita’ (Fig. 2.26),
cioe’ un dispositivo che traduce l’onda di pressione associata al suono in un segnale elettrico. Il condensatore C ha un’armatura fissa, mentre l’altra e’ libera di vibrare quando e’
investita dal suono. Se ω e’ la pulsazione dell’onda, la capacita’ varia con una legge
L’equazione della maglia e’
2
C = C0 + C1 sin ωt
(2.160)
Q
− V0 + iR = 0
C(t)
(2.161)
Si noti che l’antenna, in quanto linea, e’ costituita dal conduttore (verticale nel caso in figura) e dal
piano di terra.
3
Questo principio, valido in generale per le reti lineari, si puo’ enunciare come segue: se un generatore
ideale di tensione V , posto tra i nodi A e B di un circuito, provoca tra i nodi A′ e B ′ (tra loro cortocircuitati) una corrente I, allora ponendo lo stesso generatore tra i nodi A′ e B ′ , si avra’ tra i nodi A e B
(corto-circuitati tra loro) la stessa corrente I.
71
2.10. SORGENTI DI SEGNALE
+
Onda
incidente
C
Vo
Co
R
v eq
R
Figura 2.26: a) Schema di principio di un microfono capacitivo; b) generatore di segnale equivalente
che possiamo quindi scrivere
Z
i dt′ − CV0 + RC(t)i = 0
(2.162)
Derivando rispetto a t e riordinando opportunamente i termini si arriva a
R(C0 + C1 sin ωt)
di
+ (1 + RC1 ω cos ωt)i = V0 ωC1 cos ωt
dt
(2.163)
Ora, se C1 << C0 e ωRC1 << 1, l’equazione si semplifica in
RC0
di
+ i = V0 ωC1 cos ωt
dt
la cui soluzione e’ data da
i=
C1 V0 cos(ωt − φ)
s
C0
1
R2 + 2 2
ω C0
(2.164)
(2.165)
dove
1
(2.166)
ωRC0
E’ interessante notare che, se le condizioni anzidette non sono soddisfatte, la soluzione e’
piu’ complessa, ma soprattutto contiene termini oscillanti in ω, 2ω, 4ω, . . . . Naturalmente
un buon microfono deve soddisfare quelle condizioni; si vede comunque dalla 2.165 che il
trasduttore e’ equivalente (Fig. 2.26b) ad un generatore di tensione
tan φ =
ve q =
C1
V0 cos(ωt − φ)
C0
(2.167)
con una impedenza in serie data dalla capacita’ C0 (non includiamo R, che rappresenta in
sostanza il carico su cui il segnale viene riversato).
Come si vede questo e’ un esempio di generatore con una impedenza d’uscita tipicamente
reattiva, anche se e’ sicuramente presente una parte resistiva che qui abbiamo trascurato
(si pensi, per esempio alla resistenza del generatore costante V0 ).
72
CAPITOLO 2. CIRCUITI PASSIVI
Vo
vu
-
+
+
+
i eq
C
R
vu
+
+
Figura 2.27: a) Schema di principio di un rivelatore a ionizzazione; b) generatore di segnale equivalente
Sorgenti a ionizzazione
L’ultimo caso che esamineremo e’ quello di sorgenti in cui il segnale e’ generato attraverso
meccanismi di ionizzazione. Esistono svariati esempi di dispositivi di questo tipo, molti
dei quali utilizzati proprio per la rivelazione di particelle ionizzanti. In linea di principio
il meccanismo di funzionamento e’ quello illustrato nella Fig. 2.27. Due elettrodi racchiudono una porzione di spazio riempita per es. da un gas. Il passaggio di una particella
carica attraverso questo spazio provoca la ionizzazione di un certo numero di molecole e
la formazione di coppie elettrone-ione. Sotto l’effetto del campo elettrico applicato ai due
elettrodi gli ioni migrano verso il polo negativo e gli elettroni verso quello positivo: si ha
quindi un segnale che viene rivelato all’uscita, sovrapposto alla tensione costante V .
E’ chiaro quindi che, anche in questo caso, la sorgente di segnale ha un’impedenza d’uscita
con una parte reattiva importante, data proprio dalla capacita’ degli elettrodi di raccolta.
Naturalmente questa e’ una sorgente di tipo impulsivo (si avra’ un fiotto di carica collegato
temporalmente al passaggio della particella); la forma dell’impulso, oltre ad essere legata
alla dinamica del fenomeno in se’, e’ anche determinata dai valori di R e C, che nel loro
insieme formano un’integratore.
2.11
Circuiti reali
Nei precedenti paragrafi abbiamo approfonditamente studiato il comportamento di circuiti
con reattanze. Vedremo nel seguito che, in particolare, i circuiti RC sono di estrema im-
2.11. CIRCUITI REALI
73
portanza e molto frequentemente usati. Vale anche la pena di sottolineare che, spesso, il
comportamento di circuiti reali e’ influenzato anche da reattanze parassite. In particolare,
capacita’ parassite sono inevitabilmente presenti in ogni circuito, generando accoppiamenti RC di tipo "passa basso"; nascono quindi frequenze di taglio superiori, che limitano
la banda passante. Circuiti destinati ad essere utilizzati per altissime frequenze devono
quindi essere progettati con particolare cura (con inevitabile aumento del costo); inoltre
queste considerazioni si applicano anche ai regimi impulsivi; si comprende come sia concettualmente impossibile avere impulsi con tempo di salita "zero", mentre tempi di salita
molto corti implicano notevoli aumenti nel costo. Naturalmente ci aspettiamo che siano
presenti anche induttanze parassite, e quindi in linea di principio ogni circuito puo’ dare
luogo a frequenze di "risonanza" indesiderate. Queste frequenze in genere sono molto alte
(poiche’ sono legate al prodotto LC), ma il loro effetto puo’ a volte essere osservato, per
es. in regime impulsivo, per l’insorgere di oscillazioni.
Infine va ricordato che gli stessi componenti elementari presentano caratteristiche "parassite". Abbiamo gia’ visto il caso degli induttori; ma anche resistori e condensatori
presentano, in genere in misura molto minore, lo stesso problema. In linea di principio
ogni componente costituisce un piccolo circuito RLC : tuttavia le caratteristiche indesiderate divengono influenti solo a frequenze altissime, lontane in genere dalla regione che ci
interessa. Per questo motivo trascureremo, nel seguito, questo aspetto.
74
CAPITOLO 2. CIRCUITI PASSIVI
Capitolo 3
Diodi
3.1
Introduzione
I dispositivi a semiconduttore costituiscono i mattoni fondamentali dell’elettronica odierna.
I meccanismi fisici che sono alla base dei semiconduttori sono abbastanza complessi e
vengono approfonditamente studiati nei corsi di Struttura della Materia. Qui ci limiteremo
ad una breve e non rigorosa sintesi che utilizzeremo come punto di partenza per lo studio
dei dispositivi a semiconduttore, cioe’ diodi e transistor.
3.2
Fisica dei semiconduttori
Conduzione elettrica nei metalli
Ricordiamo brevemente come avviene la conduzione elettrica nei metalli. Questi materiali
hanno un’energia di ionizzazione molto bassa, quindi gli elettroni esterni si separano molto facilmente dai rispettivi atomi e sono sostanzialmente liberi all’interno della struttura
solida. Quindi, applicando dall’esterno un campo elettrico E essi sono accelerati nella direzione del campo (in verso opposto). A causa degli urti con il reticolo, essi mantengono
tuttavia una velocità media finita, data in modulo da
vd = µE
(3.1)
detta velocità di drift. Il fattore di proporzionalita’, µ, e’ detto mobilità.
Se consideriamo un conduttore di lunghezza L ed area A, che contenga N elettroni, sotto
l’influenza di un campo elettrico E, la corrente risultante è data da
I=
qN vd
L
J=
qN vd
LA
e la densità di corrente è data da
cioè
J = qnvd
75
(3.2)
76
CAPITOLO 3. DIODI
dove n è la concentrazione degli elettroni, ovvero numero di elettroni per unita’ di volume.
Combinando la 3.2 con la 3.1 si ha
J = qnµE = σE
(3.3)
dove σ = qnµ è la conducibilità del materiale. Questa equazione è la legge di Ohm.
I semiconduttori
Nei semiconduttori la situazione e’ diversa, perche’ l’energia di ionizzazione e’ molto piu’
alta. Possiamo comprendere cosa avviene prendendo in esame il comportamento del Silicio1 .
Un cristallo di silicio puro ha una struttura reticolare in cui gli atomi sono mantenuti in
elettroni di
valenza
+4
+4
+4
atomi di
silicio
Figura 3.1:
+4
+4
+4
Rappresentazione bidimensionale di un cristallo di silicio. I cerchi rappresentano gli atomi
legami
covalenti di silicio, il +4 indica la carica positiva neu-
+4
+4
+4
tralizzata dai 4 elettroni di valenza. Ogni atomo forma 4 legami covalenti con i vicini. Alla
temperatura di 0 ◦ K tutti i legami sono intatti
e non vi sono elettroni liberi disponibili per la
conduzione.
posizione da legami covalenti formati dai 4 elettroni di valenza che ogni atomo possiede
(Fig. 3.1). A temperature vicine allo zero assoluto tutti i legami sono intatti e nel materiale non vi sono elettroni liberi disponibili per la conduzione. Tuttavia, a temperature alte,
per esempio a temperatura ambiente, un certo numero di legami si rompe per ionizzazione
termica e conseguentemente vi sono degli elettroni liberi. Come si vede dalla Fig. 3.2 un
elettrone che si libera lascia una carica positiva non bilanciata, una lacuna, nel suo atomo
originario; questa carica positiva puo’ quindi attrarre un elettrone da un atomo vicino,
che a sua volta restera’ con una carica positiva non bilanciata. Si ha quindi una situazione dinamica di creazione di coppie elettrone-lacuna, e di ricombinazione delle medesime:
elettroni liberi e lacune si muovono quindi in maniera casuale all’interno del cristallo, il
numero di elettroni e’ sempre pari al numero di lacune. Indicando con n la concentrazione
di elettroni (cioe’ il numero di elettroni per unita’ di volume) e con p la concentrazione di
lacune si ha quindi:
n = p ≡ ni
1
I semiconduttori piu’ importanti sono Germanio e Silicio; la tecnologia dei semiconduttori e’ basata essenzialmente sul Silicio, il Germanio, utilizzato per primo per costruire diodi e transistor, e’ oggi
scarsamente utilizzato.
77
3.2. FISICA DEI SEMICONDUTTORI
La concentrazione intrinseca, ni , e’ chiaramente funzione della temperatura; la fisica dei
semiconduttori 2 mostra che essa e’ data dalla relazione
n2i
EG
= B T e kT
3
−
(3.4)
dove B e’ un parametro dipendente dal materiale (B = 5.4 × 1031 per il silicio), EG , e’ un
parametro noto come larghezza della gap proibita (EG = 1.12 eV per il silicio), e k e’ la
costante di Boltzmann (8.62 × 10−5 eV /K).
Per il silicio a temperatura ambiente si ha ni ≃ 1.5 × 1010 portatori/cm−3 , da confrontare
elettrone
libero
elettroni di
valenza
+4
+4
+4
lacuna
atomi di
silicio
+
+4
+4
+4
Figura 3.2:
legami
covalenti A temperatura ambiente alcuni le+4
+4
+4
gami covalenti si rompono per ionizzazione termica. Ogni legame
rotto da luogo ad un elettrone libero e ad una lacuna; entrambi sono
disponibili per la conduzione.
con la densita’ atomica che e’ circa 5 × 1022 atomi/cm−3 ; quindi solo un piccolissima
frazione di atomi risulta ionizzata.
Se ora applichiamo un campo elettrico esterno al cristallo di silicio le cariche elettriche libere
vengono accelerate e acquisiscono una velocita’ (nella direzione del campo) e proporzionale
all’intensita’ del campo, che e’ detta velocita’ di drift, vd : le lacune si muovono nel verso
positivo del campo e gli elettroni nel verso negativo. Indicando con E l’intensita’ del campo
elettrico si ha per le lacune
vdp = µp E
(3.5)
e per gli elettroni
vdn = µn E
(3.6)
Le due costanti, µp e µn , sono dette le mobilita’, rispettivamente delle lacune e degli
elettroni. Si noti che le due mobilita’ sono molto diverse, essendo la mobilita’ delle lacune
molto inferiore3 : per il silicio si ha µp ≃ 480 cm2 /V · s e µn ≃ 1350 cm2 /V · s.
2
Una descrizione corretta e quantitativa dei semiconduttori, come di tutta la materia, richiede la
Meccanica Quantistica. Qui ci limitiamo ad utilizzare i risultati che ci interessano, assumendone la validita’.
3
E’ intuitivo che sia cosi’: il moto delle lacune lungo la direzione e verso del campo e’ indiretto. In
realta’ sono gli elettroni, che spostandosi in verso opposto, lasciano via via dietro di se posti liberi nella
struttura reticolare.
78
CAPITOLO 3. DIODI
La corrente elettrica complessiva viene quindi dal contributo di entrambi i tipi di portatori;
la densita’ di corrente e’ data dalla relazione
(3.7)
J = q(pµp + nµn )E = qni (µp + µn )E
dove q e’ la carica elettrica dell’elettrone. E’ in sostanza la legge di Ohm
J = σE
(3.8)
σ = qni (µp + µn )
(3.9)
dove la conducibilita’, σ, e’ data da
elettroni di
valenza
+4
+4
elettrone
libero
+4
impurezza
pentavalente
atomi di
silicio
+4
+5
+4
legami
covalenti
+4
+4
+4
Figura 3.3:
Un cristallo di silicio con impurezze pentavalenti. Ogni atomo
pentavalente fornisce un elettrone libero, disponibile per la
conduzione (materiale tipo n).
Semiconduttori drogati
Nel silicio intrinseco, ovvero puro, la concentrazione di portatori negativi (elettroni) e’
identica alla concentrazione dei portatori positivi (lacune). Questa situazione puo’ essere
fortemente modificata introducendo nel silicio delle impurezze, cioe’ atomi di specie diversa
che vengono inglobati nel reticolo cristallino, sostituendo atomi di silicio.
Se, introduciamo nel reticolo alcuni atomi pentavalenti, per esempio fosforo, si ha la situazione rappresentata nella Fig. 3.3. L’atomo pentavalente, cioe’ con 5 elettroni di valenza,
sostituisce nel reticolo un atomo di silicio; 4 elettroni formano legami covalenti con i vicini,
mentre il quinto elettrone e’ sostanzialmente libero. Percio’ ogni atomo di fosforo (detto
atomo donatore) si ionizza e fornisce un elettrone disponibile per la conduzione, senza pero’ generare una corrispondente lacuna. In questa situazione quindi la concentrazione di
elettroni, n, non e’ piu’ pari a quella delle lacune, p. Tuttavia le due concentrazioni non
sono indipendenti: si puo’ dimostrare che
np = n2i
(3.10)
ovvero che il prodotto delle concentrazioni e’ uguale al quadrato della concentrazione intrinseca. Quindi un aumento di n, dovuto alle impurezze, provoca una simultanea diminuzione
79
3.2. FISICA DEI SEMICONDUTTORI
della concentrazione delle lacune. Se la concentrazione di impurezze di atomi donatori, ND ,
e’ abbastanza alta si ha sostanzialmente
n ≃ ND
(3.11)
n2i
ND
(3.12)
e, di conseguenza
p≃
Ne segue quindi che p e’ funzione della temperatura, visto che ni lo e’, mentre n e’ indipendente dalla temperatura.
Un esempio numerico puo’ aiutarci a comprendere. Consideramo un cristallo di silicio con
una concentrazione di impurezze pentavalenti ND = 1017 cm−3 . Si ha allora
n ≃ 1017 cm−3
e
p≃
2 × 1020
n2i
= 2 × 103
=
ND
1017
Come si vede la concentrazione di lacune e’ piu’ di 13 ordini di grandezza inferiore rispetto
a quella degli elettroni! Percio’ il materiale ha sostanzialmente solo portatori di carica
negativi.
Il silicio drogato con impurezze pentavalenti e’ detto percio’ di tipo n intendendo con cio’
il fatto che ha solo portatori negativi.
E’ possibile costruire un materiale di tipo p introducendo impurezze trivalenti, ad esempio
elettroni di
valenza
+4
+4
lacuna
+4
impurezza
trivalente
atomi di
silicio
+4
+3 +
+4
legami
covalenti
+4
+4
+4
Figura 3.4:
Un cristallo di silicio con impurezze trivalenti. Ogni atomo trivalente da origine ad
una lacuna, disponibile per la
conduzione (materiale tipo p).
atomi di Boro (Fig. 3.4). Ogni atomo di Boro accetta, ovvero cattura, un elettrone dal
cristallo per completare i legami covalenti con i vicini; quindi da luogo ad una lacuna
(queste impurezze percio’ prendono il nome di atomi accettori). Se la concentrazione di
impurezze di atomi accettori, NA , e’ abbastanza alta si ha sostanzialmente
p ≃ NA
(3.13)
80
CAPITOLO 3. DIODI
La concentrazione di portatori minoritari (elettroni) puo’ essere calcolata, in analogia al
caso precedente, e si ha
n2
n≃ i
(3.14)
NA
E’ bene sottolineare che comunque il cristallo nel suo insieme e’ sempre elettricamente
neutro. Le cariche libere (elettroni nel tipo n e lacune nel tipo p) sono bilanciate dalle
cariche fisse degli atomi ionizzati.
Giunzione pn
Possiamo ora costruire una giunzione pn immaginando di saldare tra loro un cristallo di
tipo p ed uno di tipo n (Fig. 3.5(a)). In realta’ cio’ viene fatto producendo un unico cristallo
con una parte drogata con impurezze di tipo n ed una parte drogata con impurezze di tipo
p.
Poiche’ la concentrazione di lacune e’ molto alta nel lato p e molto bassa nel lato n, le
Regione di
svuotamento
(a)
p
n
ID
IS
Figura 3.5:
V
(b)
Barriera di
potenziale
x
(a) La giunzione pn a circuito aperto.
A cavallo della giunzione nasce una
differenza di potenziale e si crea una
regione priva di cariche libere, la regione di svuotamento (zona tra le due
linee tratteggiate);
(b) Andamento del potenziale lungo una coordinata x ortogonale alla
giunzione.
lacune diffondono attraverso la giunzione andando nel lato n; analogamente gli elettroni
diffondono in verso opposto, verso il lato p, dando luogo alla corrente di diffusione ID . Le
lacune diffuse nel lato n si ricombinano con gli elettroni liberi presenti e quindi scompaiono.
Questa ricombinazione ha peraltro l’effetto di eliminare elettroni liberi, percio’ in quella
zona le cariche positive fisse degli atomi non sono piu’ neutralizzate. Vi e’ percio’ una
regione adiacente alla giunzione, carica positivamente e priva di cariche libere, che prende
il nome di regione di svuotamento. Un fenomeno analogo e speculare avviene nel lato p:
gli elettroni diffusi si ricombinano con le lacune e scompaiono. Quindi, anche da quel lato
si ha una regione di svuotamento, priva di cariche libere e non piu’ elettricamente neutra,
bensi’ carica negativamente.
81
3.2. FISICA DEI SEMICONDUTTORI
Questo doppio strato di carica genera pero’ un campo elettrico interno, diretto dal p al n e
quindi una differenza di potenziale (Fig 3.5(b) che tende ad opporsi alla diffusione e quindi
crea una situazione di equilibrio.
Bisogna considerare anche i portatori di minoranza che comunque esistono nel materiale.
A causa dell’agitazione termica vi e’ una continua creazione di coppie elettrone-lacuna
in tutto il cristallo. La lacune generate nel lato n diffondono casualmente nel cristallo;
se raggiungono la regione di svuotamento, a causa del campo elettrico presente, vengono
spinte verso il lato p. Analogamente, elettroni nati nel lato p vengono iniettati nel lato n.
La somma di questi due effetti e’ una corrente che attraversa la giunzione, IS , diretta dal
lato n al lato p.
Poiche’ non vi sono connessioni con l’esterno la corrente complessiva, all’equilibrio deve
essere nulla, ovvero
|ID | = |IS |
(3.15)
Questa condizione di equilibrio e’ mantenuta dalla barriera di potenziale. Se per qualche
ragione ID cresce, la barriera di potenziale cresce, la regione di svuotamento si allarga, e
questo riduce ID . Viceversa, se IS cresce, la regione di svuotamento si riduce, la barriera
di potenziale si riduce, provocando una crescita di ID che ripristina l’equilibrio.
Si puo’ dimostrare che la barriera di potenziale, Vo , e’ data da
Vo = VT ln(
NA ND
)
n2i
(3.16)
dove NA e ND sono le concentrazioni di impurezze nel lato p e nel lato n, mentre VT e’ il
cosiddetto “equivalente in Volt della temperatura”:
VT =
kT
q
Tipicamente, nel Silicio a temperatura ambiente Vo e’ nell’intervallo 0.6 − 0.8 V .
Se il lato p e il lato n hanno la stessa concentrazione di impurezze (cioe’ NA = ND ) la
regione di svuotamento si estende simmetricamente attorno alla giunzione. Ma in generale
non e’ cosi’, NA ed ND sono spesso molto diversi. Si puo’ facilmente dimostrare che lo
spessore di svuotamento e’ piu’ grande nel lato meno drogato e che vi e’ la relazione
xn
NA
=
xp
ND
(3.17)
r
(3.18)
Lo spessore complessivo, Ws e’ dato da
Ws = xn + xp =
2ǫs 1
1
(
+
)Vo
q NA ND
dove ǫs e’ la costante diettrica del silicio (ǫs = 11.7ǫo ). Tipicamente Ws e’ dell’ordine di
0.1 ÷ 1 µm.
Giunzione pn polarizzata inversamente
Consideriamo la situazione raffigurata in Fig. 3.6: la giunzione e’ collegata ad un generatore
di tensione esterno, VR , in modo che il lato p sia a tensione piu’ bassa.
82
CAPITOLO 3. DIODI
Il potenziale esterno si aggiunge alla barriera gia’ esistente, e quindi la corrente di diffusione,
ID , diminuisce, mentre IS resta costante. Si ha quindi una corrente totale che fluisce nella
giunzione
I = IS − ID
(3.19)
In realta’ e’ sufficiente una piccolissima tensione VR per rendere ID completamente
VR
Regione di
svuotamento
(a)
p
n
ID
IS
V
VR
(b)
Barriera di
potenziale
x
Figura 3.6:
La giunzione pn polarizzata inversamente (a) La regione di svuotamento
di allarga, ID diminuisce e si ha quindi
una corrente totale non zero;
(b) La barriera di potenziale aumentata
di VR .
trascurabile, e in sostanza si ha
I ≃ IS
(3.20)
La corrente e’ quindi sostanzialmente indipendente da VR , e dipende invece fortemente
dalla temperatura. La regione di svuotamento si allarga al crescere di VR
Ws = xn + xp =
r
1
2ǫs 1
(
+
)(Vo + VR )
q NA ND
(3.21)
quindi il doppio strato di carica a cavallo della giunzione aumenta.
La giunzione in sostanza e’ una capacita’ elettrica, che dipende da VR . Chiamando A
la superficie della giunzione, la sua capacita’ e’ data dalla classica espressione del doppio
strato di carica:
ǫs A
Cj =
(3.22)
Ws
In assenza di tensione esterna, ricordando la 3.18, si puo’ calcolare questa capacita’ per una
giunzione ideale in cui si ipotizza che la concentrazione di impurezze cambi bruscamente
83
3.2. FISICA DEI SEMICONDUTTORI
attraversando la giunzione4 e si ottiene
r
Cjo = A (
NA ND
1
ǫs q
)(
)( )
2 N A + N D Vo
(3.23)
In presenza di una tensione esterna VR si ha
Cj =
Cjo
VR m
(1 +
)
Vo
(3.24)
dove m e’ un parametro empirico che dipende appunto da come la concentrazione di impurezze varia attraversando la giunzione (m varia tra 0.3 e 0.5).
La capacita’ Cj , detta capacita’ di transizione, e’ normalmente dell’ordine del pF , e come
vedremo nel seguito, puo’ diventare rilevante nello studio di circuiti ad alta frequenza.
La regione di breakdown
Se la tensione inversa applicata esternamente cresce oltre un certo limite il comportamento
del diodo cambia bruscamente e si ha un fenomeno di breakdown, che puo’ essere dovuto
a due diverse cause, l’effetto Zener o l’effetto avalanche.
L’effetto Zener si ha quando il campo elettrico nella regione di svuotamento diviene talmente forte da rompere i legami covalenti e generare coppie elettrone-lacuna. Questi portatori
vengono accelerati dal campo e costruiscono quindi una corrente. Una volta arrivati alla
soglia di questo meccanismo si puo’ avere una corrente molto forte con anche piccoli incrementi di tensione.
L’effetto avalanche avviene quando i portatori minoritari, accelerati dal campo elettrico,
acquistano sufficiente energia cinetica da rompere i legami covalenti attraverso urti. I portatori liberati da questo effetto, anch’essi accelerati, possono creare, attraverso altri urti,
nuove coppie, e quindi innescare un processo a valanga.
Questi effetti non sono distruttivi, purche’ la dissipazione di potenza all’interno del cristallo, non provochi un eccessivo e distruttivo aumento di temperatura del medesimo.
Le soglie di tensione di questi fenomeni sono dipendenti dal livello di drogaggio. Nei diodi
normali e’ dell’ordine di 80 − 100 V . Ci sono poi diodi appositamente costruiti per lavorare nella regione di breakdown, i diodi Zener, che trovano applicazione come limitatori di
tensioni. Ne parleremo brevemente in seguito.
Giunzione pn polarizzata direttamente
Ora consideriamo la situazione opposta, rappresentata nella Fig 3.7: la giunzione e’ collegata ad un generatore di tensione esterno, VF , in modo che il lato p sia a tensione piu’
alta.
La barriera di potenziale diminuisce, e quindi la corrente ID aumenta. Viceversa IS
rimane costante (dipende solo dalla temperatura), e si ha quindi una corrente netta
I = ID − IS
4
(3.25)
Nella realta’, la transizione non e’ cosi’ brusca. Come abbiamo detto la giunzione e’ formata da un
unico cristallo cui si fanno inglobare le impurezze durante il processo di fabbricazione
84
CAPITOLO 3. DIODI
VF
Regione di
svuotamento
(a)
p
n
ID
IS
V
Figura 3.7:
(b)
VF
Barriera di
potenziale
x
La giunzione pn polarizzata direttamente (a)La regione di svuotamento si
stringe, ID aumenta e si ha quindi una
corrente totale non zero;
(b)La barriera di potenziale diminuita
di VF .
nel verso da p a n, la cui intensita’ e’ legata al valore di VF . Quando questa tensione supera
Vo la barriera e’ completamente annullata e la giunzione si comporta approssimativamente
come un conduttore, con una piccola resistenza.
Si puo’ dimostrare che la relazione tra corrente I e tensione VF e’ data da
VF
I = Is (e ηVT − 1)
(3.26)
dove il parametro η e’ un fattore empirico che vale circa 2.
Anche nel caso di giunzione polarizzata direttamente si hanno degli effetti capacitivi, associati questa vota all’accumulo dei portatori liberi iniettati dalla regione in cui sono maggioritari a quella in cui sono minoritari. In altre parole, in corrispondenza di un certo valore
di tensione diretta, VD , nelle regioni esterne alla regione di svuotamento (dette regioni
quasi neutre) si e’ in presenza di un eccesso di cariche minoritarie, che varia al variare della
polarizzazione, anche qui in modo non lineare.
Questa capacita’ viene denominata capacita’ di diffusione e tipicamente e’ di circa un
ordine di grandezza maggiore rispetto alla capacita’ di transizione.
Equazione della giunzione
L’equazione 3.26 e’ sostanzialmente valida anche quando la giunzione e’ polarizzata inversamente. Possiamo quindi riscriverla come
V
I = Is (e ηVT − 1)
(3.27)
85
3.3. IL DIODO A GIUNZIONE
dove V e’ la tensione esterna con segno: positiva se la giunzione e’ polarizzata direttamente,
negativa se e’ polarizzata inversamente. Il fattore VT vale circa 25 mV a temperatura
ambiente, quindi, se la giunzione e’ polarizzata inversamente
I ≃ −IS
(3.28)
non appena |V | supera qualche decimo di Volt. Se invece la giunzione e’ polarizzata
direttamente, quando V >> ηVT possiamo approssimare la 3.27 con
V
(3.29)
I = Is e ηVT
La Fig. 3.8 mostra il grafico di I in funzione di V per un tipico diodo al silicio.
Figura 3.8: Caratteristica corrente tensione di un tipico diodo al silicio. Si noti la diversa scala di
corrente e di tensione nei due semipiani.
3.3
Il diodo a giunzione
Il diodo e’ un componente realizzato mediante un cristallo di silicio che contiene una giunzione pn. La Fig.3.9(a) mostra il simbolo circuitale: la punta del triangolo indica il lato n
della giunzione (catodo). Il diodo si presenta come un piccolo contenitore cilindrico (alcuni
mm di lunghezza), con due conduttori metallici; il catodo e’ in genere individuato da una
striscia nera o colorata riportata sul cilindro (Fig. 3.9(b)).
La maggioranza degli usi del diodo e’ legata alla sua caratteristica non lineare, in particolare alla sua unidirezionalita’. Per comprendere meglio possiamo partire da un componente
idealizzato, cioe’ il diodo ideale, e verificare poi quanto un diodo a giunzione vi si avvicini.
86
CAPITOLO 3. DIODI
Catodo
Anodo
(a)
Figura 3.9:
Il diodo a giunzione (a)Simbolo circuitale: il verso della freccia va dal lato p (anodo) al lato n (catodo);
(b)Diodo commerciale: un contenitore cilindrico lungo alcuni mm, con due conduttori metallici. Una fascia colorata, o
nera, contraddistingue il catodo
(b)
Diodo ideale
Il diodo ideale ha una caratteristica corrente-tensione come quella mostrata nella Fig.
3.10. Uno dei piu’ comuni usi del diodo e’ per costruire un circuito raddrizzatore, o
i
polarizzazione inversa
polarizzazione diretta
v
Figura 3.10:
Caratteristica del diodo ideale: la resistenza
e’ zero in polarizzazione diretta e infinita in
polarizzazione inversa.
rettificatore, come in Fig.3.11(a). se il diodo e’ ideale, la transcaratteristica e’ quella
mostrata in Fig.3.11(b): quando il diodo e’ polarizzato inversamente, cioe’ Vi < 0, la
tensione d’uscita, Vo , e’ nulla; quando il diodo e’ polarizzato direttamente, Vi > 0, la
tensione d’uscita e’ uguale alla tensione di entrata. Quindi, se ad esempio la tensione
d’ingresso e’ sinusoidale (Fig.3.11(c)), la tensione d’uscita assume la forma mostrata in
Fig,3.11(d): le semionde negative sono cancellate.
Il diodo reale a giunzione ha una caratteristica corrente tensione abbastanza diversa. Per
risolvere il circuito Fig.3.11(a) possiamo scrivere l’equazione della maglia
vi = vD + iR
(3.30)
e ricavare poi la tensione d’uscita come
vo = iR
(3.31)
Per risolvere l’equazione 3.30 occorre conoscere la relazione tra i e vD che e’ di tipo non
lineare, ovvero la3.27, quindi il problema e’ abbastanza complicato, quando vi e’ variabile
nel tempo. Per molte applicazioni e’ sufficiente approssimare il diodo con un modello
87
3.4. CIRCUITI CON DIODI
vo
(a)
(b)
+
vi
R
vo
_
vi
(c)
vi
vo
(d)
t
t
Figura 3.11:
Circuito rettificatore:
(a) Schema del circuito;
(b) Transcaratteristica ideale;
(c) Segnale d’ingresso sinusoidale;
(d) Segnale d’uscita per il diodo ideale.
lineare (Fig.3.12(b)). Il diodo e’ equivalente ad un generatore di tensione costante, Vγ in
serie ad una resistenza (normalmente piccola) Rf , quando la tensione ai suoi capi supera
Vγ , e come una resistenza Rr molto grande (al limite infinita) altrimenti (Fig. 3.12(c)).
i
i
(a)
(b)
(c)
+
Vγ
-
Rf
Rr
1
vD (V)
1
V > Vγ
V < Vγ
vD (V)
Vγ
Figura 3.12:
(a) Caratteristica del diodo a giunzione;
(b) Modello lineare;
(c) Equivalente circuitale del diodo.
3.4
Circuiti con diodi
Raddrizzatore a singola semionda
Il raddrizzatore ( o rettificatore) e’ un dispositivo molto utilizzato perche’ e’ frequente la
necessita’ di generare una tensione continua a partire da una tensione alternata tipicamente
sinusoidale. Da questo punto di vista il circuito che abbiamo visto (Fig. 3.11(a) ) ha delle
88
CAPITOLO 3. DIODI
v
+
vi
R
_
vo
C
t
vi
(a)
(b)
Figura 3.13:
(a) Raddrizzatore con filtro capacitivo;
(b) Forme d’onda: la linea tratteggiata e’ la sinusoide all’ingresso, mentre la linea continua rappresenta la
tensione d’uscita vo .
prestazioni molto modeste: la tensione d’uscita ha un valor medio positivo, ma e’ ben
lungi dall’essere costante. Un miglioramento notevole puo’ essere ottenuto aggiungendo
un opportuno condensatore al circuito, come nella Fig. 3.13(a). Se la costante di tempo
RC e’ grande rispetto al periodo dell’onda di ingresso, la forma d’onda d’uscita e’ quella
riportata in Fig. 3.13(b).
Raddrizzatore a ponte
+
vi
R
vo
_
t
(a)
(b)
Figura 3.14:(a) Raddrizzatore a ponte;(b) Forma d’onda d’uscita per un ingresso sinusoidale.
Si possono poi avere prestazioni ancora migliori con il circuito raddrizzatore a doppia
semionda (raddrizzatore a ponte) mostrato in Fig. 3.14(a), dove la tensione d’uscita e’
prelevata ai capi di R. La forma d’onda d’uscita e’ quella riportata in Fig. 3.14(b).
L’aggiunta di un opportuno condensatore in parallelo al carico RL puo’, anche in questo
caso, migliorare ulteriormente la forma d’onda d’uscita (Fig. 3.15.
Limitatori
I diodi hanno molte altre utilizzazioni. Un caso tipico (che vedremo anche in seguito) e’
quello dei circuiti limitatori, come ad esempio lo schema in Fig. 3.16. Il diodo entra in
conduzione quando la differenza di potenziale ai suoi estremi eccede la soglia di 0.6 ÷ 0.7 V .
Percio’ la tensione in uscita del quadrupolo viene limitata inferiormente dal circuito ovvero
89
3.5. ALTRI DIODI
+
vi
R
_
C
Figura 3.15: Raddrizzatore a ponte con filtro capacitivo.
-
V
+ R
Figura 3.16: Circuito limitatore.
si ha sempre vo > (VR − 0.7).
Nella Fig. 3.17 abbiamo un limitatore doppio. In questo caso la tensione d’uscita e’
+
VR1
+
- VR2
Figura 3.17: Circuito limitatore doppio.
limitata in un intervallo e si deve sempre avere (VR1 − 0.7) < vo < (VR2 + 0.7).
Rivelatori di picco
Un altro classico esempio e’ il rivelatore di picco (Fig. 3.18(a)). Data una tensione variabile
nel tempo in modo qualunque l’uscita indica sempre il valore massimo raggiunto, come
rappresentato nell’esempio di Fig. 3.18(b).
3.5
Altri diodi
Diodi Zener
I diodi Zener (il simbolo circuitale e’ mostrato nella Fig. 3.19(a)) sono componenti realizzati
specificamente per lavorare nella regione di breakdown e sono comunemente utilizzati come
stabilizzatori di tensione.
Il valore della tensione Zener, VZ , e’ determinato dalla concentrazione di impurezze nel
silicio, quindi e’ possibile fabbricare diodi con valori VZ predefiniti, in un ampio intervallo,
da pochi Volt, fino ad alcune decine di Volt5 . Le altre caratteristiche importanti di un diodo
Zener sono la resistenza dinamica, rz , ovvero la pendenza della curva caratteristica nella
regione di breakdown (Fig. 3.19(b)) , e la massima potenza dissipabile, cioe’ in sostanza
la massima corrente che il diodo puo’ sopportare senza distruggersi.
5
Non e’ facilissimo controllare con grande precisione il livello di impurezze durante il processo di fabbricazione della giunzione pn. E’ pero’ ovviamente possibile, a posteriori, un processo di selezione per
ottenere esemplari con valori Zener compresi in intervalli ristretti e commercialmente soddisfacenti
90
CAPITOLO 3. DIODI
vi
+
vi
t
C
_
vo
vo
t
(a)
(b)
Figura 3.18:
(a) Rivelatore di picco;
(b) Forme d’onda: l’uscita resta al valore massimo raggiunto dalla tensione d’ingresso.
Un diodo Zenere puo’ avere, ad esempio, una tensione Vz di 5 V e una resistenza dinamica
rz = 10 Ω con 10 mA di corrente. Questo significa che una variazione del 10% nella
corrente provoca una variazione di tensione di 10 mV , dimostrando quindi la capacita’
stabilizzatrice del diodo.
La stabilizzazione puo’ essere ottenuta con un circuito come quello schematizzato in Fig
3.20, dove RL e’ il carico utilizzatore, e Vin e’ una sorgente di tensione maggiore di VZ ,
tensione Zener del diodo. In tale situazione la tensione Vout e’ stabilizzata al valore VZ .
La scelta del valore ottimale del resistore R e’ legata al valore del carico RL e quindi alla
corrente che deve essere fornita dal sistema, nonche’ al valore della resistenza dinamica del
diodo utilizzato.
I
V
(b)
(a)
Zener
reale
Zener ideale
Figura 3.19:
(a) Simbolo circuitale del diodo Zener;
(b) Curva caratteristica del diodo nella regione
di breakdown: lo Zener ideale dovrebbe avere
resistenza dinamica zero, ovvero mostrare una
pendenza infinita in questa regione.
91
3.5. ALTRI DIODI
R
Vin
RL
Vout
Figura 3.20: Stabilizzatore con diodo Zener.
LED
I LED (Light Emitting Diode) sono particolari tipi di diodi costruiti per emettere luce.
Sono costituiti da una giunzione pn costituite da particolari sostanze (arseniuro di gallio,
fosfuro di gallio, e diverse altre). Quando la giunzione e’ polarizzata direttamente si ha una
ricombinazione continua di elettroni e lacune, e l’energia guadagnata viene emessa sotto
forma di luce. L’esatta scelta dei semiconduttori determina la lunghezza d’onda dell’emissione di picco dei fotoni, l’efficienza nella conversione elettro-ottica e quindi l’intensità
luminosa in uscita. La caduta di tensione ai capi del LED e’ anch’essa variabile, in base
al tipo, ed e’ in genere nell’intervallo 1 ÷ 2 V . I LED devono quindi essere alimentati in
polarizzazione diretta6 con una sorgente di tensione costante e protetti da una resistenza
in serie per evitare superare la corrente massima che essi possono sopportare.
Fotodiodi
Il fotodiodo e’ costituito da una giunzione pn polarizzata inversamente. Un fotone incidente
nella regione di svuotamento , se ha l’energia sufficiente, puo’ ionizzare un legame e dar
luogo ad una coppia elettrone-lacuna; in sostanza, la luce incidente sulla giunzione provoca
la nascita di una corrente inversa nel diodo. Il fotodiodo puo’ quindi essere utilizzato come
rivelatore di luce.
Se non si applica nessuna polarizzazione esterna si ha comunque una corrente legata alla
luce incidente, dato che la giunzione e’ polarizzata inversamente di per se. Questo e’ il
principio di funzionamento delle cosidette celle fotovoltaiche.
Diodo Schottky
Figura 3.21: Simbolo del diodo Schottky.
Il diodo Schottky e’ una giunzione tra un metallo e un semiconduttore di tipo p7 . Quando
si forma la giunzione si ha una diffusione di elettroni dal metallo al silicio;gli elettroni
neutralizzano le lacune, si crea un campo elettrico ed una regione di svuotamento nelle
vicinanze della giunzione stessa. Nasce quindi una barriera di potenziale e una situazione
di equilibrio che impedisce l’ulteriore diffusione. Notare che in questo caso non si ha
diffusione di portatori p dal silicio al metallo, quindi la regione di svuotamento e’ solo
nel lato p. Questo diodo ha un comportamento simile al diodo pn e un’analoga curva
6
In genere l’anodo del LED, ovvero il terminale positivo, e’ riconoscibile dalla maggiore lunghezza.
Si puo’ costruire un diodo Schottky anche con un materiale semiconduttore di tipo n, per brevita’ ci
limitiamo a parlare del tipo p.
7
92
CAPITOLO 3. DIODI
caratteristica. Applicando una differenza di potenziale esterna positiva si puo’ abbassare
la barriera di potenziale ed avere una corrente; se invece la tensione esterna e’ negativa il
diodo non conduce. Il ginocchio della curva e’ pero’ a circa 0.35 V , cioe’ abbastanza piu’
basso rispetto ad un normale diodo. La velocita’ di commutazione del diodo Schottky e’
molto piu’ elevata e la capacita’ della giunzione e’ piu’ bassa8 . Il simbolo comunemente
utilizzato per il diodo Schottky e mostrato in Fig 3.21.
Il diodo Schottky ha varie applicazioni; ne vedremo una quando parleremo dei circuiti logici
nel Cap7.
8
Non tutte le giunzioni metallo-semiconduttore danno luogo all’effetto Schottky, ovvero all’effetto di
rettificazione. Entrano in gioco il potenziale di estrazione del metallo e la concentrazione di impurezze del
silicio, quindi il discorso e’ abbastanza complesso, e non conviene qui approfondirlo.
Capitolo 4
Transistor a giunzione (BJT)
4.1
Il transistor a giunzione
(b)
(a)
C
E
n
Emettitore
p
Base
n
C
B
Collettore
E
B
Figura 4.1:(a) Il transistor npn;(b) Simbolo circuitale
Il transistor e’ un dispositivo realizzato con un cristallo semiconduttore composto da tre
regioni di diverso drogaggio: due di tipo p separate da una sottile regione di tipo n (in
questo caso si parla di transistor pnp), ovvero due di tipo n separate da una sottile regione
di tipo p (transistor npn). Nella Fig. 4.1(a) e’ mostrato la struttura di principio un
transistor npn: le tre regioni (ciascuna dotata di una opportuna connessione metallica
verso l’esterno) prendono il nome di Emettitore, Base e Collettore. Nella Fig. 4.1(b) e’
mostrato il simbolo circuitale del transistor: la freccia nel terminale di emettitore ricorda
il verso della giunzione pn tra base ed emettitore.
Quando il transistor non e’ connesso con l’esterno si crea una situazione di equilibrio che
possiamo comprendere ricordando il comportamento del diodo. A cavallo delle due giunzioni si creano due regioni di svuotamento (Fig. 4.2(a)); le cariche fisse non neutralizzate
generano attorno ad ogni giunzione un campo elettrico e, in definitiva, due barriere di
potenziale (Fig. 4.2(b)). Le giunzioni sono attraversate da correnti, di drift e di diffusione,
complessivamente nulle.
Ci sono naturalmente quattro possibili modi di polarizzare un transistor con dei generatori
di tensione esterni, in relazione alla polarizzazione, diretta o inversa, delle due giunzioni.
93
94
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Regioni di
svuotamento
(a)
n
p
Emettitore
(b)
n
Collettore
Base
V
Barriera di
potenziale
x
Figura 4.2:
(a) Vista espansa delle due giunzioni, per mettere in evidenza le regioni di svuotamento;
(b) Andamento del potenziale lungo una coordinata ortogonale alle giunzioni.
Ognuno dei modi ha un nome specifico, come segue:
Polarizzazione della
Polarizzazione della
Modo
giunzione Emettitore - Base
giunzione Collettore - Base
diretta
inversa
Attivo
inversa
inversa
Interdizione
diretta
diretta
Saturazione
inversa
diretta
Attivo-inverso
Esaminiamo anzitutto il modo attivo: la giunzione base - emettitore e’ polarizzata direttamente, mentre la giunzione collettore - base e’ polarizzata inversamente (Fig. 4.3). In
questa situazione, come abbiamo visto per il diodo, si ha una corrente di diffusione tra
emettitore e base: lacune diffondono dalla base verso l’emettitore, e elettroni diffondono
in senso inverso. Poiche’ in genere lo spessore della base e’ abbastanza piccolo, una grossa
frazione degli elettroni puo’ arrivare all’altra giunzione: qui essi vengono accelerati dal
campo elettrico attraverso la regione di svuotamento e passano nel collettore. La residua
frazione (piccola) di elettroni si ricombina con le lacune maggioritarie nella base.
Ora l’intensita’ delle due correnti di diffusione (delle lacune e degli elettroni) e’ diret-
95
4.1. IL TRANSISTOR A GIUNZIONE
elettroni raccolti
nel collettore
elettroni iniettati
nella base
n
p
n
IC
IE
E
C
lacune iniettate
nell’emettitore
VBE
B
IB
elettroni ricombinati
nella base
Figura 4.3:
Flusso delle correnti in un transistor npn
polarizzato nella regione attiva (non sono
mostrate le correnti di drift inverse dovute
ai portatori minoritari).
VCB
tamente legata alla concentrazione di impurezze; percio’ si costruisce il transistor con un
emettitore fortemente drogato, e la base solo lievemente drogata. In questa situazione il
contributo della corrente di diffusione delle lacune puo’ essere reso trascurabile. In sostanza
allora si ha che la corrente che fluisce nell’emettitore, IE , e’ dovuta solo agli elettroni e la
corrente di collettore, IC , e’ uguale a
IC = −αF IE
(4.1)
dove il segno meno e’ dovuto alla scelta convenzionale dei versi delle correnti (tutte entranti
nel transistor). Il parametro αF rappresenta appunto la frazione di elettroni raccolta dal
collettore e, come abbiamo visto, e’ molto vicina ad 1. La corrente che entra nella base,
IB , e’ facilmente calcolabile dalla relazione
IB + IC + IE = 0
(4.2)
Combinando la 4.1 e 4.2 otteniamo facilmente tutte le relazioni tra le correnti
IB = −(1 − αF )IE
IB
IE = −
1 − αF
αF
IC =
IB
1 − αF
(4.3)
(4.4)
(4.5)
In particolare, l’ultima relazione puo’ essere scritta
IC = β F IB
dove
βF =
αF
1 − αF
(4.6)
(4.7)
Poiche’ αF e’ prossimo ad 1, βF e’ un numero grande e rappresenta appunto il rapporto
tra corrente di collettore e corrente di base, quando il transistor e’ polarizzato in modo
96
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
attivo.
In realta’, nel nostro ragionamento, abbiamo trascurato il contributo della corrente di
polarizzazione inversa del diodo collettore - base, ISC , considerata costante e indipendente
dalla tensione di polarizzazione inversa 1 . A stretto rigore, quindi, la corrente di collettore
e’ data da
IC = −αF IE + ISC
(4.8)
ISC e’ molto piccola e quindi generalmente trascurabile.
Come comprenderemo in seguito si ha interesse ad avere il fattore αF il piu’ possibile vicino
E
B
C
n
p
n
Figura 4.4:
La struttura effettiva di un transistor npn: con questa geometria il collettore
raccoglie molto efficacemente gli elettroni provenienti dall’emettitore.
ad 1. Percio’ la geometria effettiva del transistor e’ assai simile a quella schematizzata in
Fig. 4.4: il collettore “avvolge” l’emettitore e gli elettroni iniettati nella base hanno quindi
poche possibilita’ di sfuggire alla cattura da parte del collettore stesso, ricordando che lo
spessore della base e’ estremamente piccolo.
Modo attivo-inverso
In linea di principio il comportamento del transistor in modo attivo-inverso e’ speculare
rispetto al modo attivo.
Ora la giunzione collettore-base e’ polarizzata direttamente, mentre la giunzione emettitorebase e’ polarizzata inversamente. Gli elettroni iniettati dal collettore nella base sono in
parte raccolti dall’emettitore. Se il contributo delle lacune e’ trascurabile, si ha, in analogia
alla 4.1,
I E = αR I C
(4.9)
E possiamo poi anche definire un parametro βR , come
αR
βR =
1 − αR
(4.10)
che costituisce il rapporto tra corrente di emettitore e corrente di base.
Tuttavia, come abbiamo detto, il transistor e’ costruttivamente asimmetrico. Di fatto il
valore di αR e’ molto lontano da 1 (puo’ essere dell’ordine di 0.4 − 0.6) e non ha quindi
nessun senso utilizzare il transistor in questo modo.
4.1.1
Modello di Ebers-Moll del transistor
Dalle considerazioni che abbiamo fatto si comprende che il transistor puo’ essere quantitativamente descritto come un sistema di due diodi, correlati tra loro, come mostrato nella
Fig. 4.5. La giunzione emettitore-base e’ qui rappresentata da un diodo, con in parallelo un
generatore (ideale) di corrente che rappresenta appunto il contributo proveniente dall’altro
diodo; lo stesso avviene nel ramo di collettore.
1
Nello studio del diodo avevamo chiamato questo parametro IS . Qui lo chiamiamo ISC per ricordare
che e’ pertinente alla giunzione collettore - base.
97
4.1. IL TRANSISTOR A GIUNZIONE
αRICD
αF IED
IE
IC
IED
VBE
ICD
IB
Figura 4.5:
Modello di Ebers-Moll del transistor npn.
Si noti che abbiamo scelto il verso di tutte
le correnti come entrante.
VBC
Usando le equazioni dei diodi2 si ha
IE = αR ICD − IED
IC = αF IED − ICD
VBC
VBE
= αR ISC (e VT − 1) − ISE (e VT − 1)
VBC
VBE
= αF ISE (e VT − 1) − ISC (e VT − 1)
(4.11)
(4.12)
Le quantità ISC e ISE sono le correnti di saturazione inversa dei due diodi. ISC , ISE , αR ,
αF sono funzione delle densità di impurezze e della geometria. In sostanza sono parametri
costruttivi e possono essere determinati solo sperimentalmente.
La quantita’ piu’ importante e’ ovviamente αF ISE ; si puo’ dimostrare che questo fattore,
che spesso viene denominato Is e’ dato da
Is ≡ αF ISE =
AqDn n2i
NA W
(4.13)
dove A e’ l’area della giunzione pn, W lo spessore della base, Dn il coefficiente di diffusione
degli elettroni, NA la concentrazione di impurezze nella base, ni la concentrazione intrinseca
dei portatori nel silicio. Poiche’ quest’ultima e’ fortemente dipendente dalla temperatura,
anche Is lo e’. Comunque si vede che Is dipende in modo semplice dalla geometria, il che
e’ chiaramente importante nella progettazione del transistor.
Si puo’ poi dimostrare che esiste una relazione tra i vari parametri
αR ISC = αF ISE
(4.14)
che e’ detta condizione di reciprocita’. Come gia’ abbiamo detto αF ≈ .9 ÷ .995; invece
αR ≈ .4 ÷ .8. Le costanti IES e ICS sono dell’intervallo 10−12 − 10−18 A.
Infine e’ chiaro che la corrente di base, IB , e’ facilmente calcolabile
IB = −(IE + IC )
Le equazioni di Ebers - Moll consentono di descrivere il comportamento del transistor in
tutti i modi di polarizzazione. Se ad esempio il transistor e’ polarizzato in modo attivo
2
Nell’equazione del diodo (vedi Cap. 3) avevamo un fattore correttivo η nell’esponenziale. Questo
fattore e’ circa 1 nei transistor al silicio, salvo casi particolari, quindi verra’ nel seguito omesso.
98
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
(ovvero VBC < 0 e VBE > 0), avremo
IE
IC
VBE
≃ −ISE (e VT − 1)
VBE
≃ αF ISE (e VT − 1)
(4.15)
(4.16)
cioè
IC ≃ −αF IE
(4.17)
quindi ritroviamo quanto avevamo dedotto in modo empirico. Lo stesso si verifica se il
transistor e’ in modo attivo inverso.
Se entrambe le giunzioni sono polarizzate in modo inverso, tutte le correnti sono praticamente nulle; si dice allora che il transistor e’ in interdizione.
Possiamo poi vedere cosa succede se entrambe le giunzioni sono polarizzate direttamente
(regione di saturazione); approssimando l’equazione 4.12
VBE
VBC
IC ≃ αF ISE e VT − ISC e VT
(4.18)
Utilizzando la relazione 4.14 e approssimando αF ad 1 si ottiene
VBC
VBE
I
SE
)e VT
IC ≃ ISE e VT − (
αR
(4.19)
i due termini sono in sottrazione, percio’ la corrente diminuisce; ma il secondo, a causa di
αR , cresce piu’ rapidamente del primo e comincia a giocare un ruolo quando VBC ≃ 0.4 V ,
e la corrente del collettore diminuisce fino ad annullarsi, quando VBC cresce oltre un certo
limite.
4.1.2
Curve caratteristiche del transistor
Configurazione a base comune
Possiamo ora cominciare a utilizzare il transistor in un circuito, per capire come dovremo
trattarlo. Partiremo dalla cosiddetta configurazione a base comune, rappresentata nella
Fig. 4.6. Il nome deriva dal fatto che il terminale di base costituisce l’elemento comune
tra le due maglie. Le equazioni delle due maglie sono
IE
RE
IC
RC
IB
VEE
VCC
Figura 4.6: Configurazione a base comune.
99
4.1. IL TRANSISTOR A GIUNZIONE
= IC RC + VCB
(4.20)
−VEE = RE IE + VEB
(4.21)
IB + IC + IE = 0
(4.22)
VCC
Inoltre abbiamo la relazione
Infine tra le correnti IE , IC e le tensioni VCB e VBE si hanno le condizioni imposte dalle
iE
(a)
v
BE
Regione
attiva
Regione di
saturazione
iC
iE = IE1
(b)
iE = IE2
iE = IE3
iE = IE4
iE = IE5
v
CB
Figura 4.7:
Configurazione a base comune:
(a) Caratteristica d’ingresso;
(b) Caratteristiche di uscita.
equazioni di Ebers-Moll. Queste ultime contengono i parametri costruttivi specifici del
transistor che si sta utilizzando.
Si capisce quindi che lo studio del circuito e’ un problema non lineare di non facile soluzione.
In realta’, come vedremo, utilizzando ragionevoli approssimazioni, si puo’ arrivare molto
facilmente a risolverlo; ma prima e’ conveniente ed istruttivo visualizzare il comportamento
del transistor attraverso alcuni grafici, le curve caratteristiche del transistor, ricavate dalle
quazioni di Ebers-Moll.
E’ di uso comune utilizzare due grafici. Nel primo (Fig. 4.7(a)) si riporta iE in funzione
di vBE , quando la giunzione base-emettitore e’ polarizzata direttamente. Come si vede
e’ sostanzialmente la curva del diodo polarizzato direttamente che abbiamo studiato nel
Capitolo precedente. Lo stato del diodo base-collettore e’ sostanzialmente non influente,
100
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
come si capisce dall’equazione di Ebers-Moll 4.123 . Nell’altro grafico si riporta IC in
funzione di VCB , per vari valori della corrente IE (Fig. 4.7(b)). Per VCB > 0 il transistor e’
nella regione attiva; le varie curve sono sostanzialmente orizzontali, ad un’ordinata IC ≃ IE ,
come ci aspettiamo da quanto abbiamo visto in precedenza. Quando VCB diviene negativo
e supera un valore di circa −0.4 V si entra nella regione di saturazione (vedi la 4.19): le
curve si schiacciano addensandosi e IC arriva a zero.
iB
(a)
iC
Regione di
saturazione
v
BE
Regione
attiva
(b)
iB = IB1
iB = IB2
iB = IB3
iB = IB4
iB = IB5
v
CE
Figura 4.8:
Configurazione a emettitore comune:
(a) Caratteristica d’ingresso;
(b) Caratteristiche di uscita.
Configurazione a emettitore comune
E’ naturalmente possibile inserire il transistor in modo diverso in un circuito. La Fig. 4.9
mostra un esempio di configurazione ad emettitore comune: questa volta e’ il terminale di
emettitore comune alle due maglie.
E’ usuale anche in questo caso studiare graficamente la relazione tra le variabili elettriche
del transistor. Nella Fig. 4.8(a) si riporta iB in funzione di vBE . Poiche’ iB e’ sostanzialmente proporzionale ad iE queste curve sono simili a quelle della Fig. 4.7(a). Nella
3
In realta’ la corrente iE ha una lieve dipendenza da VCB , dovuta all’effetto Early, di cui parleremo
piu’ avanti. Si ha quindi una famiglia di curve, molto vicine tra loro, che descrivono questa dipendenza.
Tuttavia questa dipendenza e’ irrilevante ai fini pratici.
4.1. IL TRANSISTOR A GIUNZIONE
IC
IB
RB
RC
IE
VBB
101
VCC
Figura 4.9: Configurazione a emettitore comune.
Fig. 4.8(b) si riporta iC in funzione di vCE per vari valori di iB . Nella regione attiva ci
aspettiamo che iC sia proporzionale ad iB e sostanzialmente indipendente da VCE . Questo
e’ vero solo approssimativamente, in realta’, come mostrato nel grafico, le curve hanno
una pendenza positiva: iC cresce leggermente al crescere di vCE , in modo non previsto
dalle equazioni di Ebers-Moll. Questo effetto, noto come effetto Early, verra’ discusso piu’
avanti.
Quando VCE si avvicina a zero si entra nella regione di saturazione: il diodo base-collettore
comincia a condurre (vedi la 4.19)e non si ha piu’ una relazione lineare tra IC e IB e le curve
si addensano: piccole variazioni di VCE provocano enormi variazioni di corrente. Questo
avviene per valori di VCE di circa 0.2 V (per transistor al silicio). Ai fini pratici questa
quantita’ puo’ essere considerata praticamente costante ed e’ denominata comunemente
VCEsat .
Quando VCE diviene molto grande (dell’ordine di 80−100; V ) si puo’ raggiungere la regione
di breakdown: la giunzione inizia a condurre in modo violento e’ le curve di iC acquistano
una fortissima pendenza (questo fenomeno non e’ riportato nel grafico).
Configurazione a collettore comune
Il transistor puo’ essere anche utilizzato in una configurazione a collettore comune, come
vedremo meglio successivamente. Il comportamento in questa configurazione si riconduce
facilmente a quello del caso precedente e non richiede quindi uno studio particolare.
Modello del transistor in continua
Quando utilizziamo un transistor dobbiamo polarizzarlo, ovvero costruire una rete che lo
mantenga nello stato (o, come si dice spesso, nella regione) desiderato. Possiamo imparare
a farlo utilizzando la configurazione ad emettitore comune, con il circuito schematizzato in
Fig. 4.10.
Osserviamo anzitutto che in questa configurazione le due tensioni di polarizzazione hanno
lo stesso segno, quindi e’ molto piu’ semplice ed economico utilizzare un solo generatore di
tensione, VCC , anziche’ due, come avevamo nella Fig. 4.9.
Possiamo scrivere le equazioni delle due maglie
VCC = RB IB + VBE
(4.23)
VCC = RC IC + VCE
(4.24)
L’equazione 4.24 rappresenta una retta nel piano iB − vBE (retta di carico): la sua intersezione con la curva caratteristica consente di determinare i valori di effettivi di corrente
102
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
VCC
RC
RB
Figura 4.10: Transistor a emettitore comune, con un’unica alimentazione.
e tensione, che abbiamo indicato con IBQ e VBEQ nella Fig. 4.11(a). L’equazione 4.24
rappresenta invece una retta nel piano iC − vCE (retta di carico): la sua intersezione con
la curva iB = IBQ (determinata nell’altro grafico) ci consente di determinare ICQ e VCEQ
(Fig. 4.11(b)). L’insieme dei valori di corrente e tensione definisce quello che si chiama il
punto di lavoro del transistor.
Percio’, scegliendo VCC , RC ed RB potremo in sostanza determinare il punto di lavoro a
nostro piacimento e, in particolare, decidere se vogliamo lavorare nella regione attiva, o,
come a volte e’ necessario, nella regione di saturazione. Purtroppo questa procedura e’
iB
VCC
VCC
iC
RC
RB
iB = IBQ
ICQ
IBQ
VBEQ
v
BE
VCC
VCC
(a)
v
CE
VCEQ
(b)
Figura 4.11:
Il punto di lavoro del transistor:
(a) Retta di carico e punto di lavoro nella maglia di base;
(b) Retta di carico e punto di lavoro nella maglia di collettore.
In questo esempio il punto di lavoro e’ nella regione attiva
abbastanza complessa, poiche’ la determinazione del punto di lavoro richiede la soluzione
di sistemi non lineari. Ma soprattutto e’ del tutto accademica: la nostra conoscenza delle
curve iC − vCE e’ molto modesta. Pur tralasciando la piccola pendenza delle curve dovuta all’effetto Early, il loro livello, approssimandole a rette orizzontali, e’ determinato dal
103
4.1. IL TRANSISTOR A GIUNZIONE
parametro βF 4 . Questo parametro varia moltissimo da un esemplare all’altro della stessa
famiglia di transistor. Prendendo ad esempio il transistor commerciale 2N2222A si legge
nei fogli caratteristici che esso puo’ variare tra 30 e 300.
E’ percio’ poco sensato fare calcoli precisi, ma inutilmente complicati. E’ piu’ ragionevole
procedere con grossolane ma del tutto adeguate approssimazioni. Possiamo quindi anzitutto risolvere l’equazione 4.24 assumendo che la caduta di tensione ai capi della giunzione
base-emettitore sia costante
VBEQ ≃ 0.7 V
(4.25)
ovvero la stessa approssimazione che viene comunemente utilizzata per la caduta di tensione
ai capi di un diodo. Ricaviamo quindi immediatamente
IBQ ≃
VCC − 0.7
RB
(4.26)
Possiamo a questo punto ricavare la corrente di collettore, nella regione attiva
ICQ ≃ βF IBQ
(4.27)
VCEQ ≃ VCC − RC ICQ
(4.28)
e infine
Nell’ipotesi di conoscere βF (sostanzialmente significa misurarlo per l’esemplare che stiamo
utilizzando) questa semplice procedura ci consente di progettare il nostro circuito.
Un esempio numerico puo’ servire a chiarire questo procedimento. Supponiamo di avere un
transistor con βF = 100 (misurato) e di voler costruire una rete che polarizzi il transistor
nella regione attiva, utilizzando un alimentatore con VCC = 10 V .
Purtroppo a priori non si sa se il transistor è nella regione attiva o no: bisogna quindi fare
l’ipotesi che lo sia e verificare a posteriori se i risultati ottenuti sono coerenti con l’ipotesi.
Scegliamo RB = 300 kΩ, avremo allora
IB =
10 − 0.7
≃ 31 µA
300 kΩ
Quindi, nell’ipotesi che il transistor sia nella regione attiva
IC = βF IB = 3.1 mA
Scegliamo infine RC = 2 kΩ, con cui otteniamo
VCE = 10 − 3.1 mA × 2 kΩ ≃ 3.8 V
Troviamo che VCE > VCEsat , quindi e’ verificata l’ipotesi di essere nella regione lineare.
Supponiamo ora di sostituire il nostro transistor, con un altro esemplare, della stessa
famiglia, ma con βF = 200. Si trova allora
IB = 31µA
IC = 6.2mA
4
Questo parametro e’ normalmente denominato hF E dai fabbricanti di transistor, per motivi che
diverranno chiari piu’ avanti.
104
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
e
VCE = VCC − IC RC < 0
cioe’ un risultato fisicamente assurdo. Questo vuol dire che il transistor non é nella regione
attiva, bensì in saturazione.
Quando un transistor e’ in saturazione non c’e’ una relazione lineare tra IB e IC ; possiamo
pero’ approssimativamente conoscere il valore di VCE , ovvero
VCE = VCEsat ≃ 0.2 V
Si ha quindi
IC =
VCC − VCEsat
= 4.90 mA
RC
Da questo esempio dovrebbe quindi essere chiaro che lo stato del transistor dipende in modo
articolato dal complesso dei parametri circuitali, e da βF . Se si desidera che il transistor
sia nella regione attiva occorre assicurarsi che
VCE = VCC − βF (VCC − VBE )
RC
>> VCEsat
RB
Molto approssimativamente questo significa che dobbiamo avere βF RC < RB se vogliamo
che il transistor sia in regione attiva, l’opposto se invece vogliamo che il transistor sia in
saturazione .
E’ chiaro che questo circuito e’ molto critico, perche’ il suo comportamento dipende da
C
B
0.7V
β IB
F
C
B
VBEsat
VCEsat
E
E
(a)
(b)
Figura 4.12:
(a) Circuito equivalente nella regione
attiva;
(b) Circuito equivalente nella regione
di saturazione.
un parametro poco riproducibile e difficilmente controllabile. Vedremo in seguito come
problemi di questo tipo possono essere risolti.
Per concludere, da quanto abbiamo discusso qui emerge che il transistor, nella regione
attiva, e’ equivalente al circuito rappresentato nella Fig. 4.12(a), mentre nello stato di
saturazione puo’ essere rappresentato dal circuito in Fig. 4.12(b).
Effetto Early
Le equazioni di Ebers-Moll descrivono correttamente il transistor, ma occorre tenere presente che αF (e anche αR , ma e’ assai poco rilevante) non e’ costante. Quando il transistor
e’ nella regione attiva, esso e’ in realta’ dipendente dal valore di VCB . Questo effetto, noto
come effetto Early, e’ dovuto alla variazione dello spessore effettivo della base al variare
di VCB (e quindi anche di VCE ). Quando VCB cresce, la regione di svuotamento a cavallo
della giunzione base-collettore si allarga e questo migliora l’efficienza di raccolta degli elettroni nel collettore: in sostanza αF cresce, anche se di poco. Queste variazioni hanno un
105
iC
Regione di
saturazione
4.1. IL TRANSISTOR A GIUNZIONE
Regione
attiva
iB = ...
iB = ...
iB = ...
iB = ...
v
CE
-VA
Figura 4.13:IC in funzione di VCE
C
B
0.7V
β IB
F
ro
Figura 4.14:
E
Circuito equivalente del transistor in regione attiva,
modificato per tener conto dell’effetto Early.
effetto poco visibile nella configurazione a base comune ma sono visibili nella configurazione a emettitore comune, poiche’ piccolissime variazioni di αF producono variazioni non
del tutto irrilevanti in βF . Nella Fig. 4.13 mostriamo di nuovo le curve iC in funzione di
vCE , per vari valori di iB , in scala ingrandita per chiarezza. I tratti rettilinei delle curve
mostrano una pendenza positiva; estrapolando le curve verso sinistra esse incontrano l’asse
vCE in un singolo punto, indicato in figura con VA . Questa dipendenza puo’ essere quindi
espressa come
vBE
vCE
iC = IS e VT (1 +
)
(4.29)
VA
In termini circuitali questo effetto si traduce nel fatto che la resistenza d’uscita guardando
il collettore non e’ infinita. Il circuito equivalente della Fig. 4.12(a) dovrebbe essere
modificato come mostrato nella Fig. 4.14.
La resistenza ro e’ definita come
1
∂iC (4.30)
≡
ro
∂vCE v =cost
BE
e dalla 4.29 possiamo quindi ricavare
ro =
VA + vCE
iC
(4.31)
cioe’ questa resistenza decresce all’aumentare di iC (come e’ evidente dai grafici, peraltro).
Ai fini della polarizzazione del transistor l’effetto Early puo’ essere trascurato e si puo’
106
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
considerare iC dipendente solo da IB . Viceversa la resistenza ro puo’ non essere irrilevante
nello studio degli amplificatori a transistor, come vedremo in seguito.
4.1.3
Utilizzazione del transistor
Uno dei piu’ importanti campi di utilizzazione dei transistor e’ nella realizzazione di amplificatori, e su questo argomento discuteremo ampiamente nel resto di questo Capitolo.
Il punto fondamentale sta nel fatto che quando il transistor e’ nella regiona attiva esso
iC
Q
Figura 4.15:
La transcaratteristica iC − vBE del transistor. Per
piccole variazioni di vBE attorno al punto di lavoro
v
BE Q la curva puo’ essere approssimata con una retta.
agisce come una sorgente di corrente controllata in tensione. Variazioni nella tensione baseemettitore, vBE , provocano variazioni nella corrente di collettore, iC . Quindi il transistor
puo’ essere utilizzato come amplificatore di transconduttanza (vedi Capitolo 1); l’amplificazione di tensione puo’ poi semplicemente essere ottenuta facendo passare la corrente di
collettore in un resistore RC , come vedremo.
Per ottenere il nostro scopo dovremo far lavorare il transistor nella regione attiva, quindi
polarizzarlo opportunamente in modo da avere una certa tensione di quiete VBE ed una
certa corrente di quiete IC . Poi sovrapporremo il segnale da amplificare, vbe , alla tensione
continua VBE ; dovremo limitare l’ampiezza di vbe ad essere piccola, in modo che la corrispondente variazione di iC sia linearmente correlata ad essa. Studieremo piu’ avanti in
grande dettaglio il comportamento del transistor per piccoli segnali. Qui vogliamo comprendere il comportamento globale.
Nella Fig. 4.16(a) vediamo la struttura base di un amplificatore ad emettitore comune,
cioe’ la configurazione piu’ comunemente usata. La tensione d’ingresso totale, vI (segnale
+ polarizzazione), e’ applicata alla base, mentre la tensione totale d’uscita, vO (segnale piu’
polarizzazione) e’ prelevata tra il collettore e la massa. il resistore RC , oltre a servire per
la polarizzazione, ha anche il compito di convertire il segnale di corrente ic in un segnale
di tensione, vce (ovvero vo ).
La Fig. 4.16(b) mostra la caratteristica di trasferimento, cioe’ la relazione tra vO e vI . Per
comprendere questa curva possiamo anzitutto esprimere vO come
vO ≡ vCE = VCC − RC iC
(4.32)
Osserviamo poi che se vI < 0.5 V il transistor e’ in interdizione; pertanto iC e’ trascurabile
e vO e’ praticamente uguale a VCC . In sostanza il transistor, tra collettore ed emettitore,
107
4.1. IL TRANSISTOR A GIUNZIONE
vO
Interdizione
VCC
VCC
iC
Regione
attiva
Saturazione
RC
Q
VCE
vO
vI
Figura 4.16:
VCEsat
0.5
(a)
VBE
1.0
(b)
vI (V)
(a) Struttura base di un amplificatore a emettitore comune;
(b) Caratteristica di trasferimento vo − vI .
puo’ essere visto come un interruttore aperto. Quando vI supera 0.5 − 0.6 V il transistor
comincia a condurre e iC cresce, quindi vO diminuisce: in questa regione piccoli incrementi
di vI provocano una larga variazione di iC e quindi vO decresce fortemente. Qui abbiamo
infatti
vI
vBE
(4.33)
i C = I S e VT = I S e VT
dove abbiamo trascurato per semplicita’ l’effetto Early. Quindi otteniamo
vO = VCC
vI
− RC I S e V T
(4.34)
Questa discesa si esaurisce quando la tensione del collettore diventa piu’ piccola di quella
della base di circa 0.4 V : il transistor entra nella regione di saturazione. A questo punto
variazioni di vI non hanno effetto su vO , che rimane a un valore circa costante attorno a
0.2 V (VCEsat ). Si noti che in questa situazione la resistenza tra collettore ed emettitore,
RCEsat , e’ molto bassa, quindi il transistor puo’ essere pensato come un interruttore chiuso.
Per utilizzare questo circuito come amplificatore occorre polarizzarlo su un punto di lavoro interno alla regione attiva (il punto Q nella Fig. 4.16(b)), dove i valori statici delle
grandezze elettriche sono
IC = IS
vBE
e VT
(4.35)
e
VCE = VCC − RC IC
(4.36)
Se ora applichiamo all’ingresso un segnale vi abbastanza piccolo, sovrapposto a VBE , il
punto di lavoro si muove lungo la curva di trasferimento: l’amplificazione di tensione e’
108
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
data quindi dalla pendenza di questa curva attorno al punto di lavoro
dvO Av ≡
dvI v =V
I
(4.37)
BE
Utilizzando la 4.35 e la 4.36 ricaviamo
vBE
RC IC
1
Av = − RC IS e VT = −
VT
VT
(4.38)
Notiamo che l’amplificazione e’ negativa: cio’ vuol dire che il segnale d’uscita e’ sfasato
◦
di 180 rispetto al segnale d’ingresso. La semplice espressione 4.38 ci dice inoltre che
l’amplificazione e’ semplicemente data dal rapporto tra la caduta di tensione RC IC e VT .
Questo in sostanza determina un limite massimo all’amplificazione che si puo’ ottenere,
per un valore fissato dell’alimentazione VCC .
Se, ad esempio, vogliamo construire un amplificatore in grado di amplificare nella stessa
misura la parte positiva e la parte negativa del segnale, senza distorsione, dovremo scegliere
il punto di lavoro all’incirca al centro della regione attiva, ovvero
VCC
2
e quindi la massima amplificazione ottenibile sara’ data da
VCE ≃
Avmax = −
VCC
2VT
(4.39)
(4.40)
VCC
RB
RC
IC
vo
Figura 4.17: Il transistor utilizzato come interruttore.
Il transistor puo’ anche essere utilizzato per realizzare interruttori pilotati (switch), come
nel circuito esemplificativo mostrato in Fig 4.17.
Se la base e’ connessa a massa, il transistor e’ in interdizione, la corrente IC e’ nulla e
l’uscita rimane alla tensione vo = VCC . Se invece la base e’ connessa alla tensione positiva,
il transistor va in saturazione (scegliendo opportunamente RB ed RC ). Allora
vo = VCEsat ≃ 0.2 V
e la corrente IC e’ data da
VCC − 0.2
RC
Funzionamenti di questo tipo sono il punto di partenza per la costruzione di circuiti logici
che studieremo nel Capitolo 7.7.
IC =
109
4.2. AMPLIFICATORE AD EMETTITORE COMUNE
4.1.4
Il transistor pnp
lacune raccolte
nel collettore
lacune iniettate
nella base
(a)
p
n
(b)
p
C
IC
IE
E
C
B
E
elettroni iniettati
nell’emettitore
B
IB
VBE
lacune ricombinate
nella base
VCB
Figura 4.18:
(a) Flusso delle correnti in un transistor pnp polarizzato nella regione attiva (non sono mostrate le correnti
di drift inverse dovute ai portatori minoritari);
(b) Simbolo circuitale del transistor pnp
Il funzionamento di un transistor pnp e’ del tutto simile a quello del transistor npn. Nella
fig. 4.18 e’ mostrato un transistor pnp polarizzato per operare nella regione attiva. Percio’
la tensione VBE deve essere positiva, e la tensione VCB negativa.
In questo caso la corrente e’ portata principalmente dalle lacune iniettate nella base dall’emettitore, mentre il contributo degli elettroni iniettati in verso opposto e’ mantenuto
trascurabile dallo scarso livello di drogaggio della base.
Il comportamento di questo componente e’ quindi specularmente identico a quanto visto
per il transistor npn; non e’ quindi necessario discuterlo ulteriormente.
4.2
Amplificatore ad emettitore comune
Come abbiamo gia’ detto la configurazione a emettitore comune e’ comunemente usata per
realizzare amplificatori di tensione. Prima di studiare in dettaglio la concreta realizzazione
circuitale conviene esaminare le caratteristiche concettuali.
4.2.1
Analisi per piccoli segnali
Prendiamo lo schema concettuale della Fig. 4.19(a), dove il transistor e’ polarizzato nella
regione attiva grazie a due tensioni costanti VCC e VBE .
110
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
VCC
IC
VCC
iC
RC
RC
VCE
vCE
vbe
VBE
+
_
VBE
(a)
Figura 4.19:
(a) Struttura base di un amplificatore a emettitore
comune, polarizzato nella regione attiva;
(b) All’ingresso viene sovrapposto il segnale da
amplificare.
(b)
Possiamo quindi scrivere le seguenti relazioni:
IC
IE
IB
VCE
VBE
= I S e VT
IC
=
αF
IC
=
βF
= VCC − IC RC
(4.41)
(4.42)
(4.43)
(4.44)
Se ora applichiamo un segnale vbe all’ingresso, la tensione istantanea base-emettitore
diviene
vBE = VBE + vbe
(4.45)
conseguentemente
iC
vBE
= I S e VT
VBE + vbe
VT
= IS e
VBE vbe
= I S e VT e VT
(4.46)
(4.47)
(4.48)
Utilizzando la (4.42) possiamo infine scrivere
vbe
i C = I C e VT
(4.49)
Ora, se vbe << VT possiamo approssimare la (4.49) sviluppando in serie al primo ordine
iC ≃ IC (1 +
IC
vbe
) = IC +
vbe
VT
VT
(4.50)
4.2. AMPLIFICATORE AD EMETTITORE COMUNE
111
In questa approssimazione la corrente istantanea di collettore e’ composta dalla corrente
continua di polarizzazione, IC , e da una componente di segnale, ic , data da
IC
vbe
VT
(4.51)
ic = gm vbe
(4.52)
ic =
che possiamo riscrivere
dove gm , che prende il nome di transconduttanza, e’ data da
gm =
IC
VT
(4.53)
In termini piu’ formali (vedi Fig. 4.20) possiamo definire la transconduttanza come la
iC
la tangente alla curva
nel punto Q
Q
Figura 4.20:
La transconduttanza del transistor e’ la
pendenza della tangente alla curva iC −
vBE nel punto Q.
v
BE
derivata della corrente iC rispetto alla tensione vBE , calcolata nel punto di lavoro
∂iC (4.54)
gm ≡
∂vBE i =I
C
C
Questa analisi dimostra che il transistor si comporta come una sorgente di corrente controllata in tensione. La transconduttanza varia linearmente con la corrente statica IC , quindi,
per avere un valore costante di essa, dovremo cercare di mantenere costante IC .
Si puo’ ottenere un segnale di tensione prelevando l’uscita sul collettore. La tensione
istantanea e’ data da
vCE = VCC − iC RC
= VCC − (IC + ic )RC
= (VCC − IC RC ) − ic RC
= VCE − ic RC
(4.55)
(4.56)
(4.57)
(4.58)
Quindi il segnale di tensione, vce , e’ dato da
vce ≡ vCE − VCE = −ic Rc = −gm RC vbe
(4.59)
112
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
e l’amplificazione di tensione risulta essere
Av ≡
vce
= −gm RC
vbe
(4.60)
Di nuovo notiamo che l’amplificazione di tensione e’ costante nella misura in cui lo e’ IC e
quindi gm . Ricordando la (4.53) abbiamo infine
Av = −
I C RC
VT
(4.61)
Possiamo ora determinare la corrente di base e la resistenza d’ingresso nella base. Abbiamo
iB =
iC
IC
1 IC
=
+
vbe
βF
βF
β F VT
(4.62)
Quindi la corrente di base e’ composta da un termine statico, IB , e una componente di
segnale, ib , data da
gm
1 IC
vbe =
vbe
(4.63)
ib =
β F VT
βF
La resistenza di ingresso nella base per piccoli segnale e’ percio’ data da
rπ ≡
vbe
βF
=
ib
gm
(4.64)
Possiamo infine determinare la corrente di emettitore
iE = −
iC
IC
ic
= −(
+
) = IE + ie
αF
αF
αF
(4.65)
dove, come al solito, ie e’ la componente di segnale della corrente
ie = −
ic
IC
gm
=−
vbe = −
vbe
αF
αF VT
αF
(4.66)
Si definisce quindi la resistenza di emettitore che e’ data da
re ≡
4.2.2
vbe
αF
1
veb
=−
=
≃
ie
ie
gm
gm
(4.67)
Modelli lineari per piccoli segnali
L’analisi che abbiamo fatto ci mostra che ogni grandezza elettrica del transistor e’ data
dalla sovrapposizione di una quantita’ statica e di una componente di segnale. Le quantita’
statiche sono determinate dal circuito in Fig. 4.19(a) e dalle relazioni imposte dal transistor
(equazioni da (4.42) a (4.44)). Viceversa, una rappresentazione circuitale delle componenti
di segnale puo’ essere ottenuta eliminando le sorgenti di tensione continue e sostituendole
con dei corti circuiti, come abbiamo fatto nella Fig. 4.21. Si noti che questo circuito e’
puramente concettuale, serve solo a evidenziare i rapporti tra le componenti di segnale.
4.2. AMPLIFICATORE AD EMETTITORE COMUNE
ic
RC
vce
ib
vbe
113
+
_
ie
Figura 4.21:
Il circuito amplificatore di Fig. 4.19(a), in cui i generatori di tensione
costante sono stati sostituiti da un corto circuito.
Modello π
In Fig. 4.22(a) e’ rappresentato un equivalente circuitale del transistor, per le componenti
di segnale. Esso fornisce le corrette relazioni tra le componenti di segnale presenti nelle
grandezze elettriche del transistor, come puo’ essere facilmente verificato.
Questo modello e’ comunemente chiamato modello π, o modello di Giacoletto. La resistenza sulla base e’ universalmente indicata con rπ e la differenza di potenziale tra base ed
emettitore con vπ percio’ ci siamo adeguati a questa convenzione.
In alcuni casi, come vedremo, puo’ essere piu’ conveniente utilizzare uno dei modelib
ic
C
B
vπ
gmvπ
rπ
Figura 4.22:
ie
E
Circuito equivalente del modello π: il transistor e’ sostituito da una
resistenza d’ingresso e da un generatore di corrente controllato in
tensione;
li alternativi rappresentati nella Fig. 4.23. Nel circuito di Fig. 4.23(a) il transistor e’
rappresentato da un generatore di corrente controllato in tensione e la resistenza re sull’emettitore, come definita nella (4.67). Alternativamente, si puo’ utilizzare un generatore di
corrente, controllato in corrente, come nella Fig. 4.23(b).
L’effetto Early, che abbiamo discusso in precedenza, provoca una dipendenza della corrente di collettore, iC , dalla tensione vCE , oltreche’ da iB . Questa dipendenza puo’ essere
inclusa nei nostri modelli, sostituendo al generatore ideale di corrente (cioe’ un generatore
con resistenza infinita) un generatore con una resistenza ro in parallelo. Questa resistenza
e’ stata definita nella (4.31)
VA + VCE
VA
ro =
≃
(4.68)
IC
IC
dove VA e’ la tensione di Early.
Nella Fig. 4.24 si vede come vanno modificati i tre modelli per tener conto della resistenza finita di collettore. Vedremo concretamente, quando sara’ il momento, in quali casi e’
114
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
C
C
ic
ic
gmv
π
α F ie
ib
ib
B
B
vπ
vπ
re
ie
re
ie
Figura 4.23:
E
Circuiti equivalenti dei modelli T: il transistor
e’ sostituito da una resistenza sull’emettitore
e da un generatore di corrente controllato in
tensione, con due varianti.
E
(a)
(b)
C
ib
gmv
π
C
B
C
ib
vπ
rπ
gmv
π
ro
ro
B
vπ
E
(a)
α F ie
re
ib
ro
B
vπ
E
(b)
re
E
(c)
Figura 4.24:I 3 modelli del transistor modificati per includere la resistenza ro .;
possibile trascurare ro nella nostra analisi.
Modello h
Un modello alternativo, spesso utilizzato, e’ quello rappresentato nella Fig. 4.25. Qui abbiamo un generatore di corrente controllato in corrente sul ramo di collettore e un resistore
sul ramo della base.
Questo modello e’ comunemente noto come modello h, o modello a parametri ibridi. Abbiamo anche qui utilizzato le denominazioni universalmente utilizzate: la resistenza sulla
base e’ denominata hie , mentre il fattore di controllo del generatore (adimensionale) e’
denominato hf e
Dovrebbe essere chiaro il significato del parametro hf e : rappresenta il rapporto tra la cor-
4.2. AMPLIFICATORE AD EMETTITORE COMUNE
ib
115
ic
C
B
hie
hfe i b
Figura 4.25:
ie
Circuito equivalente del modello h: il transistor e’ sostituito da una
resistenza d’ingresso e da un generatore di corrente controllato in
corrente.
E
rente di collettore, ic e la corrente di base ib . Quindi e’ in sostanza il fattore βF 5 . Anche
questo modello puo’ essere migliorato per tener conto dell’effetto Early. Cio’ si ottiene con
l’aggiunta di un resistore in parallelo al generatore di corrente. Si noti che, per ragioni
storiche, si indica comunemente con hoe la conduttanza del resistore, e non la sua resistenza.
ib
C
B
hie
hfe i b
hoe
Figura 4.26:
E
Circuito equivalente del modello h con la conduttanza hoe
per tener conto dell’effetto Early
Relazioni tra i modelli
L’esistenza di tutti questi modelli puo’ ingenerare confusione: sono modi diversi di rappresentare il transistor in modo lineare, ma sono del tutto equivalenti, e possiamo facilmente
trovare le relazioni tra i vari parametri.
E’ anzitutto ovvio che le due resistenze d’ingresso coincidono
hie ≡ rπ
(4.69)
Inoltre dobbiamo avere l’equaglianza tra i due generatori di corrente, quindi
gm vbe = hf e ib
(4.70)
vbe = rπ ib
(4.71)
Possiamo poi scrivere
5
C’e’ una sottile differenza in realta’ tra βF e hf e . Il primo rappresenta il rapporto tra le correnti totali,
iC , iB ; mentre il secondo e’ il rapporto tra le rispettive componenti di segnale, ovvero tra le variazioni
attorno al valore statico. Formalmente, quindi, hf e e’ la derivata parziale di iC rispetto a iB , calcolata
nel punto di lavoro; se si assume che βF sia costante e indipendente da altre variabili le due quantita’
coincidono. Non e’ cosi’ se si tiene conto dell’effetto Early.
116
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
da cui ricaviamo
gm rπ ib = hf e ib
(4.72)
hf e = gm rπ
(4.73)
In definitiva
oppure, al contrario
hf e
hf e
=
(4.74)
rπ
hie
Infine, e’ del tutto evidente la relazione tra ro e hoe . Rappresentano lo stesso effetto fisico,
ma, come detto prima, hoe indica la conduttanza, percio’ si ha semplicemente
gm =
hoe =
1
ro
(4.75)
In qualche modo il modello π fornisce piu’ informazione quantitativa, perche’ il valore dei
parametri e’ riconducibile ai valori statici delle correnti. Tuttavia anche il modello h e’
spesso utilizzato ed e’ quindi importante avere padronanza di entrambi. Inoltre i costruttori
dei transistor utilizzano proprio i parametri h nei fogli caratteristici6 .
Come vedremo in seguito e’ molto comodo utilizzare uno di questi modelli nello studio degli
amplificatori. Deve essere chiaro che essi rappresentano il comportamento del transistor ai
fini dei segnali, per un ben preciso punto di lavoro, dato che il valore parametri cambia se
si modifica il punto di lavoro, anche se a volte sorvoleremo su questo.
In linea di principio la linearizzazione del transistor attorno al punto di lavoro e’ valida
solo per piccoli segnali. Tuttavia e’ normale utilizzarli con una certa disinvoltura anche
per segnali non strettamente piccoli; l’effetto della non linearita’ e’ spesso trascurabile e
comunque poco influente.
Infine, e’ facile convincersi che i modelli qui studiati sono validi e utilizzabili anche per
transistor pnp, senza nessun cambio di polarita’.
Per concludere, i modelli per piccoli segnali del transistor ci consentiranno di analizzare in
modo sistematico le prestazioni degli amplificatori. Il processo di studio passera’ attraverso
i seguenti passi:
• Determinazione del punto di lavoro statico del transistor, in particolare della corrente
IC ;
• Calcolo del valore dei parametri del modello per piccoli segnali: gm , rπ , re ;
• Sostituzione dei generatori di tensione costante con corti circuiti;
• Sostituzione del transistor con uno dei modelli per piccoli segnali;
• Analisi del circuito risultante per determinare le quantita’ richieste: amplificazione
di tensione, resistenza d’ingresso, ecc.
Seguiremo questa procedura per caratterizzare vari esempi di amplificatori.
Nella Tavola 4.1 abbiamo riassunto i vari modelli che abbiamo esaminato e tutte le relazioni
utili tra i parametri rilevanti. Questo sommario sara’ estremamente utile per analizzare e
progettare amplificatori.
6
A questo proposito e’ bene sapere che nei fogli caratteristici dei transistor il parametro βF e’
normalmente denominato hF E (con pedici maiuscoli)
117
4.2. AMPLIFICATORE AD EMETTITORE COMUNE
ib
ib
C
B
rπ
vπ
gmv
π
C
B
hie
ro
hfe i b
E
E
C
C
gmv
π
ib
α F ie
ro
B
vπ
hoe
ib
ro
B
vπ
re
re
E
E
Parametri del modello π in funzione delle correnti statiche
VT
VT
VT
VT
IC
re =
= αF
rπ =
= βF
gm =
VT
IE
IC
IB
IC
Relazioni tra i parametri del modello π
1
βF
αF
≃
rπ =
re =
gm
gm
gm
ro =
rπ = (1 + βF )re
Relazioni tra modello π e modello h
hie = rπ
hf e = gm rπ
hoe =
1
ro
Relazioni tra le correnti
ic = hf e ib
ie = −(1 + hf e )ib
ie = −
1 + hf e
ic
hf e
Tabella 4.1:Riepilogo dei modelli per piccoli segnali e relazioni utili tra i parametri
|VA |
IC
118
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Per concludere, e’ utile avere un’idea di come variano i parametri h al variare del punto
di lavoro. In Fig 4.27 sono riportati gli andamenti tipici di hf e , hoe e hie in funzione di
IC per il transistor 2N 3904. Come si può vedere, all’aumentare di IC , hf e e hoe crescono
mentre hie decresce. Questi andamenti sono piu’ o meno analoghi in tutti i transistor.
Figura 4.27: Andamento dei parametri h in funzione di IC per il transistor 2N 3904.
4.2.3
Polarizzazione del transistor
Polarizzare il transistor significa mantenere il transistor nella regione attiva con un valore
della corrente di collettore IC predicibile e non sensibile a variazioni di temperatura nonche’ alle grandi variazioni di βF che si osservano tra esemplari diversi dello stesso tipo di
transistor. Inoltre il punto di lavoro deve essere scelto in modo da consentire la massima
escursione del segnale di uscita, per sfruttare al meglio possibile l’amplificazione. Ci sono
vari approcci per soddisfare queste esigenze che ora esamineremo. Prima pero’ e’ istruttivo
esaminare le due soluzioni piu’ semplici, per convincerci che esse sono inadeguate ai nostri
scopi.
Vediamo anzitutto la soluzione piu’ immediata, rappresentata nella Fig. 4.28(a), che peraltro abbiamo gia’ utilizzato per comprendere il funzionamento del transistor stesso. In
119
4.2. AMPLIFICATORE AD EMETTITORE COMUNE
VCC
VCC
RB
RC
R1
VCC
RC
R1
VCC
RC
RC
VBB
R2
(a)
R2
(b)
RB
RE
(c)
RE
(d)
Figura 4.28:
Alcuni possibili circuiti di polarizzazione del transistor a emettitore comune:
(a) IB fissa;
(b) VBE fissa;
(c) VBE fissa con resistenza di retro-azione sull’emettitore.
(d) Il circuito (c) dopo l’applicazione del teorema di Thevenin.
Le soluzioni (a) e (b) non danno garanzie di stabilita’.
questo caso la corrente IB e’ sostanzialmente fissa (IB ≃ (VCC − 0.7)/RB ); ma la corrente
di collettore IC puo’ variare molto, causa la variazione di βF , e non ci garantisce quindi
una transconduttanza predicibile.
La seconda soluzione, schematizzata nella Fig. 4.28(b), cerca invece di fissare la tensione
VBE con un partitore. Ma e’ un approccio sconsigliabile: le inevitabili piccole differenze di
VBE rispetto al valore di progetto si traducono in grandi variazioni di IC , data la relazione
esponenziale che lega queste due grandezze e rendono quindi assai difficile ottenere nella
pratica le prestazioni di progetto.
Invece una buona soluzione, comunemente usata, e’ quella schematizzata nella Fig. 4.28(c),
che e’ ottenuta dalla precedente con l’aggiunta di una resistenza sull’emettitore. Per comprendere questo schema e’ utile applicare il teorema di Thevenin per arrivare al circuito di
Fig. 4.28(c), dove
VBB =
RB =
R2
VCC
R1 + R 2
R1 R2
R1 + R 2
(4.76)
(4.77)
Si puo’ facilmente calcolare la corrente IE ottenendo
IE = −
VBB − VBE
RB
RE +
1 + βF
(4.78)
120
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Per ottenere una corrente IE costante7 , ovvero insensibile a variazioni della temeratura o
del parametro βF , dobbiamo soddisfare due condizioni:
VBB >> ∆VBE
RB
RE >>
1 + βF
(4.79)
(4.80)
La prima condizione rende trascurabili le variazioni del numeratore della (4.78) dovute a
variazioni di VBE 8 ; la seconda stabilizza il denominatore nei confronti di variazioni di βF .
La prima condizione implica scegliere VBB piu’ grande possibile, ma questo ha dei limiti dettati da altre considerazioni. Per una tensione VCC fissata, aumentare VBB implica
aumentare anche la tensione del collettore e quindi ridurre la caduta RC IC , cioe’ l’amplificazione. Percio’ e’ necessario fare dei compromessi, come vedremo meglio in seguito.
La seconda condizione implica scegliere RB piccolo, ovvero R1 e R2 piccoli. In sostanza
quello che si deve ottenere e’ che la tensione della base sia indipendente dal valore di βF
e determinata unicamente dal rapporto di partizione. Pero’ R1 e R2 piccoli hanno come
risultato un grande assorbimento di corrente dal generatore (cosa certamente non positiva)
ed inoltre, come capiremo meglio piu’ avanti, si riduce la resistenza d’ingresso complessiva
del dispositivo, in genere non auspicabile. Anche su questo e’ percio’ necessario un compromesso per bilanciare le varie esigenze.
Il senso complessivo di questa soluzione puo’ comunque essere apprezzato considerando
la retro-azione introdotta da RE . Supponiamo che, per qualunque motivo, la corrente di
emettitore aumenta. Questo fa aumentare la caduta di tensione su RE e quindi la tensione
VE aumenta. Ora, se VB e’ mantenuta costante dal partitore, la differenza VBE diminuisce
e questo provoca una diminuzione di IC e IE , una variazione opposta a quella di partenza.
Naturalmente lo stesso effetto, in senso inverso, si ha se la corrente di emettitore diminuisce. La resistenza RE genera quindi una reazione negativa che stabilizza il punto di lavoro
(parleremo compiutamente di reazione negativa alla fine di questo capitolo).
4.2.4
L’amplificatore a emettitore comune
Possiamo finalmente analizzare in dettaglio le prestazioni dell’amplificatore a emettitore
comune completo in tutti i suoi dettagli (Fig. 4.29(a)). Supporremo di aver correttamente
polarizzato il transistor nella regione attiva e scelto opportunamente i valori dei resistori
R1 ,R2 ,RC e RE , e della tensione VCC . La sorgente del segnale da amplificare, vs , (con la
sua resistenza d’uscita Rs ) e’ connessa all’ingresso dell’amplificatore (la base del transistor)
attraverso un capacitore C1 . Questo capacitore e’ indispensabile per evitare che il punto di
lavoro del transistor venga modificato9 . Il segnale amplificato e’ prelevato dal collettore del
transistor e trasmesso alla resistenza di carico RL attraverso un capacitore C2 . In questo
modo si disaccoppia il carico dal livello di tensione continua presente sul collettore, e viene
trasmessa solo la componente di segnale della tensione di uscita. Infine, abbiamo messo
7
Questo automaticamente garantisce anche la stabilita’ di IC , dato che IC = αF IE , e αF e’ un parametro
abbastanza stabile
8
Questo parametro e’ sensibilmente dipendente dalla temperatura della giunzione; nei transistor al
silicio dVBE /dT ≈ −1.6 mV /◦ C
9
Senza il capacitore C1 la tensione statica della base sarebbe determinata non piu’ dal partitore R1 −R2 ,
ma dal partitore formato da R1 con il parallelo R2 k Rs !
121
4.2. AMPLIFICATORE AD EMETTITORE COMUNE
VCC
R1
C2
vo
C1
Rs
(a)
RC
RL
+
vs
vi
_
R2
CE
RE
R out
R in
Rs
B
ib
ic C
vo
+
(b)
vs
vi
_
RB
vπ
rπ
gmv
π
ro
RL
RC
ie
E
R in
R out
Figura 4.29:
L’amplificatore a emettitore comune completo:
(a) Schema del circuito;
(b) Circuito equivalente per piccoli segnali.
un capacitore CE in parallelo alla resistenza RE . Se CE e’ abbastanza grande l’impedenza
complessiva tra l’emettitore e la massa diviene trascurabile e, ai fini dei segnali, potremo
considerare l’emettitore direttamente connesso a massa.
E’ chiaro che questi tre capacitori disturbano il comportamento dell’amplificatore alle basse
frequenze, poiche’ introducono dei filtri passa-alto nel circuito. Studieremo piu’ avanti, in
modo quantitativo questo effetto; per ora supporremo che, alle frequenze di interesse, essi
possano essere considerati dei corti circuiti.
E’ facile, seguendo le prescrizioni illustrate in precedenza, costruire il circuito equivalente
per piccoli segnali ((Fig. 4.29(b)). I due resistori R1 e R2 , nel momento in cui si corto
circuita il generatore VCC , appaiono in parallelo verso la massa; li abbiamo quindi sostituiti
con il resistore RB
RB = R1 k R2 =
R1 R2
R1 + R2
(4.81)
122
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
L’analisi del circuito per determinarne le prestazioni e’ ora immediata. La resistenza
d’ingresso dell’amplificatore, Rin e’ data da
Rin = RB k rπ
(4.82)
La tensione effettiva all’ingresso dell’amplificatore, vi , coincide con vπ e risulta quindi
vi ≡ vπ =
Rin
vs
Rin + Rs
(4.83)
All’uscita dell’amplificatore abbiamo
vo = −gm vπ (ro k RC k RL )
(4.84)
L’amplificazione di tensione, intesa come rapporto tra vo e vi e’ quindi data da
Av = −gm (ro k RC k RL )
(4.85)
A circuito aperto, cioe’ con carico RL infinito, la (4.83) si riduce a
Avo = −gm (ro k RC )
(4.86)
L’effetto di ro e’ quindi quello di ridurre leggermente l’amplificazione. Tipicamente ro >>
RC e quindi ritroviamo il risultato atteso
Avo ≃ −gm RC
(4.87)
La resistenza d’uscita dell’amplificatore emerge immediatamente dallo schema di Fig.
4.29(b): essa e’ data dal parallelo di ro e RC
Rout = ro k RC ≃ RC
(4.88)
dove l’ultimo passaggio presuppone di nuovo che ro >> RC . Il guadagno effettivo dell’amplificatore infine e’ pero’ il rapporto tra segnale d’uscita e segnale fornito dal generatore,
quindi, combinando la (4.83) e la (4.85) abbiamo
Avs ≡
vo
Rin
=−
gm (ro k RC k RL )
vs
Rin + Rs
(4.89)
Se RB >> rπ l’espressione si semplifica in
Avs ≡
rπ
vo
=−
gm (ro k RC k RL )
vs
r π + Rs
(4.90)
Il guadagno effettivo, come ci aspettiamo, dipende dalla relazione tra la resistenza d’uscita
della sorgente e la resistenza d’ingresso dell’amplificatore. Quando Rs << Rin esso e’
massimo, ed e’ dato semplicemente da
Avs = Av = −gm (ro k RC k RL )
(4.91)
Possiamo infine valutare il guadagno di corrente, cioe’ il rapporto tra la corrente iL sul
carico e la corrente is fornita dalla sorgente. Si ha
iL =
vo
RL
(4.92)
4.2. AMPLIFICATORE AD EMETTITORE COMUNE
is =
Combinando si ottiene
A′is ≡
vπ
Rin
vo Rin
Rin
iL
=
= Av
is
v π RL
RL
123
(4.93)
(4.94)
Cioe’ il guadagno di corrente effettivo e’ dato dal prodotto del guadagno di tensione per il
rapporto tra resistenza d’ingresso e resistenza di carico.
E’ usuale poi considerare il guadagno di corrente di corto circuito, Ais , cioe’ il guadagno
che si ha quando l’uscita e’ corto circuitata (ovvero RL = 0). In questo caso la corrente in
uscita e’ semplicemente
io = −gm vπ
(4.95)
mentre la corrente fornita dalla sorgente e’
is =
si ottiene dunque
Ais ≡
vπ
Rin
io
= −gm Rin
is
(4.96)
(4.97)
Se rπ << RB la (4.97) si semplifica in
Ais = −gm rπ = −hf e
(4.98)
Ritroviamo cioe’ quanto ci aspettavamo, cioe’ hf e rappresenta appunto il guadagno di
corrente tra collettore e base del transistor.
In conclusione, l’amplificatore ad emettitore comune puo’ fornire grandi amplificazioni di
tensione (dell’ordine 102 ), con una resistenza d’ingresso non molto grande, dell’ordine dei
kΩ, e una resistenza d’uscita anch’essa dello stesso ordine di grandezza.
Esempio
Si supponga di voler costruire un amplificatore ad emettitore comune capace di fornire
un’amplificazione di tensione (a vuoto) Av ≃ −100, utilizzando un transistor 2N2222A, e
avendo a disposizione un generatore di tensione VCC = 10 V .
Abbiamo visto che l’amplificazione di tensione e’ data da
Av =
RC I C
VT
Percio’, ricordando che a temperatura ambiente VT ≃ 25 mV , dobbiamo avere RC IC =
2.5 V . Possiamo ottenere questo con un resistore da 2.4K e quindi una corrente IC ≃ 1 mA.
Di conseguenza avremo VC = 7.5 V
A questo punto possiamo scegliere la tensione di base, VBB . Ricordiamo che e’ opportuno
avere questa tensione abbastanza alta (VBB >> VBE ), ma comunque piu’ bassa della
tensione di collettore. Una scelta semplice e’ di avere VBB = VCC /2 = 5 V , che puo’ essere
ottenuta con due resistori R1 e R2 uguali. Se la base e’ a 5 V , l’emettitore e’ ad una
tensione VE ≃ 4.3 V . Poiche’ vogliamo avere una corrente IE di circa 1 mA, dobbiamo
124
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
scegliere RE = 4.3K. Dobbiamo ora scegliere i valori (uguali) di R1 ed R2 , ricordando che
e’ opportuno avere
RB ≡ R1 k R2 << RE βF
Dai fogli caratteristici del transistor vediamo che, con IC ≃ 1 mA βF e’ dato variare in un
intervallo 50 − 300. Prendendo percio’ il caso peggiore dobbiamo imporre che
RB << 4.3K × 50 = 215K
E’ percio’ ragionevole scegliere R1 = R2 = 47K. Questo ci da RB ≃ 23K, circa 10 volte
inferiore al limite.
Sempre dai fogli caratteristici osserviamo che la resistenza di base rπ (i costruttori la
indicano come hie ) e’ nell’intervallo 2K − 8K, possiamo percio’ valutare la resistenza
d’ingresso complessiva in questo ordine di grandezza. Inoltre, la resistenza ro e’ data
nell’intervallo 30K − 200K, quindi sicuramentre molto maggiore di RC .
La scelta dei capacitori e’ naturalmente legato ai valori di frequenza cui siamo interessati,
e per il momento tralasceremo questo aspetto. E’ invece importante valutare la dinamica
dell’amplificatore che abbiamo progettato. Se immaginiamo di voler amplificare un segnale
sinusoidale senza distorsione occorre che la tensione istantanea del collettore, vC non esca
dalla regione lineare. Ovvero si deve avere
VBB < vC < VCC
(vedi Fig. 4.16) Questo implica che la sinusoide in uscita vo non puo’ superare il valore
massimo di 2.5 V ; il buon funzionamento dell’amplificatore e’ quindi garantito solo se
i segnali d’ingresso hanno un’ampiezza inferiore a 25 mV . Segnali in ingresso maggiori
verranno deformati in uscita.
4.2.5
L’amplificatore a emettitore comune senza capacita’ di emettitore
Le prestazioni dell’amplificatore cambiano considerevolmente se non si include la capacita’
sull’emettitore (Fig. 4.30(a)). Il circuito equivalente per piccoli segnali e’ lo stesso, salvo
che ora la resistenza RE non e’ corto circuitata e pertanto va considerata (Fig. 4.30(b)),
ma in questo caso e’ piu’ comodo utilizzare per il transistor il modello T. Si noti che, per
non complicare inutilmente l’analisi, abbiamo tralasciato la resistenza ro .
Calcoliamo anzitutto la resistenza d’ingresso, Rin , che conviene ora esprimere come il
parallelo tra RB e la resistenza Rib che si vede entrando nella base: essa e’ data dal
rapporto tra vi e ib .
vi = −(re + RE )ie
(4.99)
il segno meno essendo dovuto alla scelta dei versi delle correnti. Ricordando che
ie = −(1 + hf e )ib
(4.100)
Rib = (1 + hf e )(re + RE )
(4.101)
si ha
e la resistenza d’ingresso complessiva e’ data da
Rin = RB k [(1 + hf e )(re + RE )]
(4.102)
125
4.2. AMPLIFICATORE AD EMETTITORE COMUNE
VCC
R1
C2
vo
C1
Rs
(a)
RC
RL
+
vs
vi
_
R2
RE
ic C
R in
α F ie
Rs
B
R out
vo
RC
RL
ib
+
(b)
vs
vi
_
re
RB
ie
E
R in
R out
RE
R ib
Figura 4.30:
L’amplificatore a emettitore comune senza capacita’ di emettitore:
(a) Schema del circuito;
(b) Circuito equivalente per piccoli segnali. Si noti che abbiamo tralasciato la resistenza ro .
Confrontando con la (4.82) si vede quindi che la resistenza d’ingresso e’ ora molto piu’ alta,
e questo e’, come sappiamo, un fattore positivo. Naturalmente affinche’ questo effetto si
traduca in un effettivo vantaggio occorre che la resistenza d’ingresso non sia poi depressa
da RB : in altre parole sarebbe opportuno avere RB >> Rib .
Possiamo calcolare l’amplificazione di tensione Av ; come nel caso precedente abbiamo
vo = −ic (RC k RL ) = αF ie (RC k RL )
(4.103)
Combinando la (4.103) con la (4.99) otteniamo
Av ≡
αF (RC k RL )
vo
=−
vi
r e + Re
Poiche’ αF ≃ 1
Av ≃ −
(RC k RL )
r e + RE
(4.104)
(4.105)
126
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Questa relazione e’ interessante e molto utile.Il guadagno dalla base al collettore e’ uguale al
rapporto tra la resistenza totale sul collettore e la resistenza totale sull’emettitore. Questa
e’ un’affermazione generale che si applica ad ogni tipo di amplificatore.
A circuito aperto, ovvero senza carico RL , avremo
Av ≃ −
RC
r e + RE
(4.106)
Con alcuni passaggi puo’ essere anche espressa come
Avo = −
g m RC
1 + g m RE
(4.107)
Confrontando con gli analoghi risultati ottenuti in precedenza (relazioni (4.85) e (4.87))
si vede che ora le amplificazioni si riducono di un fattore (1 + gm RE ). In particolare, se
gm RE >> 1, abbiamo
(RC k RL )
Av ≃ −
(4.108)
RE
e
RC
(4.109)
Avo ≃ −
RE
ovvero le amplificazioni diventano totalmente indipendenti dai parametri del transistor
e legate solamente a rapporti di resistenze. Questo costituisce un enorme vantaggio in
termini di stabilita’ e riproducibilita’ delle prestazioni del circuito.
Naturalmente dobbiamo poi considerare l’amplificazione effettiva del circuito, ovvero il
rapporto tra segnale d’uscita e segnale fornito dalla sorgente. Come nel caso precedente
abbiamo
Rin
vi =
vs
(4.110)
Rin + Rs
e quindi l’amplificazione complessiva si trova facilmente
Avs ≡
vo
Rin (RC k RL )
≃−
vs
Rin + Rs
RE
(4.111)
dove abbiamo tralasciato ro e ipotizzato gm RE >> 1.
Le amplificazioni concretamente ottenibili con questo circuito sono evidentemente piu’ basse, come vedremo tra poco, perche’ non e’ pratico avere un rapporto RC /RE alto. Tuttavia
in molti casi questo aspetto e’ secondario rispetto ai vantaggi di questo circuito in termini
di stabilita’ e di maggiore resistenza d’ingresso.
La resistenza d’uscita di questo amplificatore, Rout , e’ la stessa che avevamo trovato
nell’amplificatore con capacitore sull’emettitore
Rout = RC
(4.112)
Possiamo infine valutare il guadagno di corrente, cioe’ il rapporto tra la corrente iL sul
carico e la corrente is fornita dalla sorgente.Abbiamo
is =
(re + RE )ie
vi
=−
Rin
Rin
(4.113)
4.2. AMPLIFICATORE AD EMETTITORE COMUNE
127
ie (RC k RL )
vo
≃
RL
RL
(4.114)
iL =
e quindi otteniamo
A′is = −
RC k RL Rin
r e + Re RL
(4.115)
Rin
RL
(4.116)
Ovvero
A′is = Av
Troviamo di nuovo il guadagno di corrente effettivo e’ dato dal prodotto del guadagno di
tensione per il rapporto tra resistenza d’ingresso e resistenza di carico. Anche questa e’
una relazione generale valida per tutti gli amplificatori.
Infine, e’ molto semplice verificare che il guadagno di corrente di corto circuito, Ais , e’
immutato
Ais = −hf e
(4.117)
Esempio
Si voglia costruire un amplificatore con amplificazione (senza carico) Av ≃ −10, con un
transistor 2N2222A, utilizzando un’alimentazione VCC = 12 V . I segnali d’ingresso da
amplificare hanno un’ampiezza massima di 200 mV .
Per capire come procedere scriviamo anzitutto l’equazione della maglia di uscita
VCC = RC IC + VCE + VE
(4.118)
Poiche’ vogliamo amplificazione pari (in modulo) a 10, dobbiamo avere
VCC = 10VE + VCE + VE
(4.119)
Dobbiamo scegliere VCE in modo che i segnali siano amplificati senza distorsione, ovvero
VCE deve poter variare di ±2 V attorno al punto di lavoro senza uscire dalla regione attiva:
possiamo imporre VCE ≈ 5 V , per avere anche un ampio margine. Tenendo conto di tutto,
la (4.119) ci da
11VE = 12 − 5 = 7
(4.120)
Quindi VE deve essere piccolo, possiamo scegliere VE = 0.5 V . Ne segue che VB = 1.2 V
Possiamo a questo punto scegliere RE che definira’ la corrente del transistor. Si puo’ porre
RE = 1K, da cui segue RC = 10K, per avere l’amplificazione richiesta.
Infine dobbiamo scegliere i resistori del partitore, in modo da avere VB = 1.2 V . Quindi
R2
1
=
R1 + R2
10
(4.121)
E’ bene che la corrente del partitore sia grande rispetto alla corrente di base. Vogliamo
quindi che
RB ≡ (R1 k R2 ) ≪ hf e RE
(4.122)
Nella peggiore delle ipotesi, per un transistor 2N2222A, hf e = 50, quindi dovremo porre
RB ≈ 5K. Questo si puo’ ottenere con R2 = 5K e R1 = 45K.
Riassumendo, abbiamo allora:
128
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
R1 = 45K
R2 = 5K
RE = 1K
RC = 10K
IC = IE = 0.5 mA
VCE = 6.5 V .
Da questo esempio comprendiamo che non e’ molto facile avere grandi amplificazioni.
Necessariamente occorre scegliere VE , e quindi VB , abbastanza basse e questo sembra
contraddire il criterio (4.80). In realta’ non e’ vero: quel criterio cercava di stabilizzare la
corrente IC per garantire stabilita’ a gm e quindi all’amplificazione, ma in questo caso non
e’ necessario. L’amplificazione e’ stabile e indipendente da variazioni possibili di IC dovute
a qualunque causa. In questo senso non e’ quindi nemmeno necessario applicare in modo
stringente, come abbiamo fatto, il criterio (4.80). Il partitore di base puo’ anche avere
resistenze piu’ grandi, per diminuire l’assorbimento e aumentare la resistenza d’ingresso
effettiva dell’amplificatore.
4.3
Amplificatore a base comune
Nell’amplificatore a base comune il segnale d’ingresso viene applicato all’emettitore e il
segnale d’uscita prelevato sul collettore (Fig. 4.31(a)). Come si puo’ constatare e’ sostanzialmente lo stesso circuito che abbiamo studiato in precedenza, con l’unica differenza
che ora la base viene connessa a massa attraverso un capacitore CB ; in questo modo, per
la componente di segnale, la base e’ a tensione zero. Possiamo percio’ non discutere la
polarizzazione di questo circuito e passare direttamente allo studio delle sue prestazioni
per i segnali, assumendo, come al solito, che alle frequenze di interesse i condensatori sono
equivalenti a dei corti circuiti. Questo ci porta quindi al circuito equivalente per piccoli
segnali disegnato nella Fig. 4.31(b).
Osserviamo anzitutto che re ed RE appaiono dall’ingresso come in parallelo; infatti hanno
un estremo in comune mentre l’altro estremo e’ a massa per entrambe. Percio’ la resistenza
d’ingresso e’ data da
Rin = RE k re
(4.123)
Tipicamente abbiamo RE >> re e possiamo allora approssimare
Rin ≃ re
(4.124)
Possiamo ora calcolare l’amplificazione di tensione. Abbiamo
vo = αF ie (RC k RL )
(4.125)
v i = re i e
(4.126)
e
da cui si ricava
α(RC k RL )
vo
=
= gm (RC k RL )
(4.127)
vi
re
L’amplificazione e’ percio’ identica, ma cambiata di segno, a quella dell’amplificatore ad
emettitore comune. L’amplificazione ad uscita aperta, cioe’ senza carico, e’ semplicemente
Av ≡
129
4.3. AMPLIFICATORE A BASE COMUNE
VCC
RC
R1
C2
CB
vo
Rs
C1
(a)
R2
RE
RL
+
vi
_
vs
R out
R in
ic C
α F ie
io
RC
vo
RL
i
B b
re
(b)
Rs
ie
is
R out
E
+
vs
vi
_
RE
R in
Figura 4.31:
L’amplificatore a base comune:
(a) Schema del circuito;
(b) Circuito equivalente per piccoli segnali. Si noti che abbiamo tralasciato la resistenza ro .
data da
Avo = gm RC
(4.128)
La resistenza d’uscita e’ di nuovo data da
Rout = RC
(4.129)
e infine il guadagno di corrente di corto circuito, Ais e’
Ais =
αF i e
= αF ≃ 1
ie
(4.130)
Il guadagno di tensione appare alto, ma l’amplificazione effettiva e’ molto piu’ bassa, data
la bassa resistenza d’ingresso. Abbiamo infatti
vi
Rin
re
=
=
vs
Rin + RS
r e + RS
(4.131)
130
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
e quindi
Avs =
α(RC k RL )
(RC k RL )
re
≃
r e + RS
re
r e + RS
(4.132)
Come si vede questo guadagno puo’ essere molto basso, se Rs e’ grande, ma praticamente
indipendente dai parametri del transistor e quindi particolarmente stabile.
Per riassumere, l’amplificatore a base comune ha una resistenza d’ingresso molto bassa, un
guadagno di tensione alto (e positivo), una resistenza d’uscita medio-alta, data da RC , e
un guadagno di corrente unitario.
4.4
Amplificatore a collettore comune
VCC
R1
RC
C1
Rs
C2
(a)
vo
+
vs
vi
_
R2
RE
RL
R in
R out
ic C
α F ie
Rs
B
ib
+
(b)
vs
vi
_
re
RB
ie
E
R in
vo
RE
RL
R ib
R out
Figura 4.32:
L’amplificatore a collettore comune:
(a) Schema del circuito;
(b) Circuito equivalente per piccoli segnali. Si noti che abbiamo tralasciato la resistenza ro .
Vediamo ora l’ultimo degli amplificatori fondamentali, un circuito molto importante e di
frequentissimo uso, l’amplificatore a collettore comune, comunemente indicato come emitter
follower, o inseguitore di tensione.
Una possibile realizzazione e’ mostrata nella Fig. 4.32(a). E’ in pratica sempre lo stesso
4.4. AMPLIFICATORE A COLLETTORE COMUNE
131
circuito base, ma ora si preleva l’uscita dall’emettitore; a questo punto la resistenza RC non
svolge nessuna funzione e puo’ essere eliminata. Il circuito equivalente per piccoli segnali
e’ schematizzato nella Fig. 4.32(b); anche in questo caso abbiamo utilizzato il modello T,
piu’ conveniente, e abbiamo omesso la resistenza ro per semplicita’.
Cominceremo calcolando la resistenza d’ingresso, Rin , e quindi valutiamo anzitutto Rib
Rib ≡
−ie [re + (RL k RE )]
vi
=
ib
ib
(4.133)
sostituendo ib al posto di ie nel numeratore (ie = −(1 + hf e )ib ) si ottiene subito
Rib = (1 + hf e )[re + (RL k RE )]
(4.134)
Rin = RB k Rib
(4.135)
vo = −ie (RL k RE )
(4.136)
e naturalmente
Possiamo ora calcolare l’amplificazione di tensione, cosa molto facile, poiche’
vi = −ie [re + (RL k RE )]
(4.137)
vo
(RL k RE )
=
vi
[re + (RL k RE )]
(4.138)
(RL k RE )
=1
(RL k RE )
(4.139)
da cui si ricava
Av ≡
Se le resistenze RE ed RL sono molto piu’ grandi di re la (4.138) diviene
Av ≃
cioe’ il guadagno di tensione e’ unitario.
Naturalmente dobbiamo come sempre valutare l’amplificazione effettiva di tensione, Avs .
Abbiamo
vi
Rin
=
(4.140)
vs
Rin + Rs
percio’ si arriva a
(RL k RE )
Rin
Avs =
(4.141)
Rin + Rs [re + (RL k RE )]
Il guadagno di corrente di corto circuito, Ais e’ dato da
Ais =
−ie
= (1 + hf e ) ≃ hf e
ib
(4.142)
Infine dobbiamo calcolare la resistenza d’uscita Rout che, in questo caso, non emerge immediatamente. Dobbiamo applicare il teorema di Thevenin e quindi corto circuitare il
generatore vs . Per maggiore chiarezza abbiamo ridisegnato il circuito in Fig. 4.33. Ci
′ , cioe’ la resistenza che vede guarconviene anzitutto calcolare la resistenza d’uscita Rout
dando nell’emettitore a monte di RE , che puo’ essere ottenuta immaginando di applicare
una tensione v ′ sull’uscita e misurando la conseguente corrente i′ che entra. Allora posso
scrivere
v′
re ie − (RB k RS )ib
RS k RB
′
Rout
≡ ′ =
= re +
(4.143)
i
ie
1 + hf e
132
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
B
Rs
ib
re
RB
α F ie
ie
E
vo
RL
RE
C
R’out
R out
Figura 4.33:
Applicazione del teorema di Thevenin per valutare Rout ; il generatore di segnale e’ stato corto circuitato e
il circuito ridisegnato per maggiore chiarezza.
e infine abbiamo
′
Rout = Rout
k RE = (re +
RS k RB
) k RE
1 + hf e
(4.144)
E’ un’espressione abbastanza complessa ma puo’ essere in genere semplificata; normalmente
RB dovrebbe essere molto maggiore di RS e RE molto maggiore dell’altro contributo, per
cui in definitiva
RS
(4.145)
Rout ≃ re +
1 + hf e
che e’ una quantita’ normalmente piccola.
Per riassumere, l’amplificatore a collettore comune ha una resistenza d’ingresso grande, un
guadagno di tensione vicino a 1, una resistenza d’uscita bassa, un guadagno di corrente
abbastanza alto. E’ percio’ ideale per le applicazioni in cui una sorgente di segnale con
impedenza d’uscita alta deve essere connessa ad un carico con resistenza piccola. In pratica
questo circuito viene spesso utilizzato come stadio di uscita di un amplificatore a molti
stadi; la sua funzione non e’ quella di amplificare il segnale di tensione, bensi’ quella di
fornire molta corrente, e quindi potenza, al carico finale. Vedremo piu’ avanti una semplice
applicazione di questo tipo.
Esempio
Progettare un inseguitore di tensione e’ molto semplice. Questo circuito non serve ad amplificare in tensione, bensi’ e’ normalmente usato per fornire una grande corrente d’uscita,
avendo una bassissima resistenza d’uscita. Dobbiamo quindi aspettarci un segnale d’ingresso gia’ abbastanza ampio.
Supponiamo percio’ di lavorare con segnali di ingresso con ampiezza fino a 2 V e di avere
un’alimentazione VCC = 12 V .
Per massimizzare l’escursione ci conviene porre semplicemente
VB = VCC /2 = 6 V
(4.146)
e quindi VE = 5.3 V .
Non abbiamo resistenza sul collettore, per cui:
VCC = VCE + VE
(4.147)
133
4.5. RIEPILOGO
Emettitore
Emettitore
Base
Collettore
Comune
Comune (senza CE )
Comune
Comune
Ais
−hf e
−hf e
≈1
1 + hf e
Rin
RB k r π
re
RB k (1 + hf e )(re + RE )
Avo
−gm RC
RB k (1 + hf e )(re + RE )
RC
gm RC
≈−
−
1 + g m RE
RE
g m RC
≈1
Rout
RC
RC
RC
re +
RS k RB
1 + hf e
Tabella 4.2:Riepilogo delle principali caratteristiche degli amplificatori
da cui segue
VCE = 6.7 V
(4.148)
La scelta di RE determina la corrente: per esempio, con RE = 1K, si ha IC = 5.3 mA,
valore del tutto ragionevole per questo transistor.
E’ del tutto ovvio come progettare il partitore di ingresso: R1 e R2 devono essere uguali.
Possiamo quindi porre R1 = R2 = 5K, per avere comunque una corrente di partitore
abbastanza grande.
4.5
Riepilogo
E’ utile riepilogare le caratteristiche degli amplificatori che abbiamo visto in un’unica
tabella (Tabella 4.2), che ci consentira’ di fare alcune considerazioni globali. Abbiamo
riportato il guadagno di corrente di corto circuito, Ais , la resistenza d’ingresso, Rin , il
guadagno di tensione senza carico, Avo e la resistenza d’uscita Rout .
Possiamo in sostanza riassumere nei seguenti punti:
1. La configurazione ad emettitore comune e’ quella piu’ adatta per realizzare una grande amplificazione di tensione (eventualmente ottenuta con piu’ stadi in cascata). Includendo una resistenza sull’emettitore si possono avere dei vantaggi, a spese tuttavia
del guadagno.
2. La configurazione a base comune ha un’alta amplificazione che viene pero’ depauperata dalla bassa resistenza d’ingresso. Tuttavia, come vedremo in seguito, ha una
migliore risposta alle alte frequenze, e quindi e’ utile per alcune applicazioni.
3. L’inseguitore di tensione e’ fondamentale per connettere sorgenti con alta impedenza
d’uscita a carichi piccoli, e quindi e’ utile come stadio finale di amplificatori a molti
stadi.
134
4.6
4.6.1
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Altri circuiti di polarizzazione
Doppia alimentazione
Figura 4.34:
(a) Polarizzazione del transistor con due alimentazioni:
(b) Amplificatore a emettitore comune con doppia alimentazione.
Il circuito di polarizzazione che abbiamo utilizzato per realizzare gli amplificatori ha dei
lati negativi.
Anzitutto obbliga a inserire un condensatore di disaccoppiamento all’ingresso con conseguente riduzione della risposta a bassa frequenza. Questo puo’ implicare la necessita’ di
inserire una grande capacita’ con conseguente ingombro, aumento dei disturbi, ecc.
Inoltre, come abbiamo visto, il partitore che polarizza la base si traduce in una diminuzione
della resistenza d’ingresso: in sostanza, una grossa frazione del segnale da amplificare viene
dissipata inutilmente in quel partitore.
Si possono evitare entrambi questi inconvenienti con il montaggio mostrato nella Fig. 4.34(a),
che richiede due alimentazioni di segno opposto (VEE < 0). E’ immediato verificare che
ora la corrente di emettitore, IE , e’ data da
|VEE | − VBE
(4.149)
RE
Questa equazione e’ identica alla (4.78), salvo che VBB e’sostituita da VEE . La condizione
di stabilizzazione della corrente IE e’ quindi analoga
|IE | = −
VEE >> VBE
(4.150)
e molto facile da realizzare.
Nella Fig. 4.34(b) e’ mostrato un amplificatore ad emettitore comune con doppia alimentazione: il generatore di segnale vs e’ connesso direttamente alla base non essendoci piu’
135
4.6. ALTRI CIRCUITI DI POLARIZZAZIONE
necessita’ del condensatore di disaccoppiamento. ( Si noti che la base e’ ad una tensione
continua leggermente negativa, a causa della caduta di tensione RS IB , ma questo’ non e’
particolarmente critico ai fini del funzionamento del circuito.).
4.6.2
Polarizzazione con generatore di corrente
VCC
VCC
I
RC
R1
I
Iref
VBB
Q2
I3
RB
Q1
R2
R3
I
-VEE
(a)
-VEE
-VEE
(c)
(b)
Figura 4.35:
(a) Polarizzazione del transistor utilizzando un generatore di corrente costante;
(b) Realizzazione del generatore di corrente con un transistor;
(c) Il generatore realizzato con uno “specchio di corrente”.
Un altro modo per polarizzare il transistor con una stabile corrente di collettore e’ quello
schematizzato nella Fig. 4.35(a), in cui l’emettitore e’ connesso ad un generatore ideale di
corrente, I; inevitabilmente avremo IC = I, assolutamente stabile.
Una sorgente di corrente, quasi ideale, puo’ essere realizzata con un ulteriore transistor,
come nello schema di Fig. 4.35(b). In questo circuito abbiamo
VBB = −
e
I3 = −
R1
VEE
R1 + R2
VEE − (VBB − 0.7)
R3
(4.151)
(4.152)
Quindi la corrente del collettore e’ semplicemente I ≃ −I3 . Anche in questo caso la
rete di polarizzazione deve essere realizzata in modo da stabilizzare al massimo I3 , ovvero
dobbiamo curare che si abbia
|VBB | >> VBE
RB
R3 >>
1 + βF
(4.153)
(4.154)
dove ovviamente RB e’ il parallelo di R1 ed R2 .
In definitiva questo circuito realizza una sorgente di corrente10 il cui valore puo’ essere
controllato dai valori delle resistenze; questa sorgente puo’ quindi essere connessa sull’emettitore dell’amplificatore invece di una resistore.
10
Questa sorgente di corrente non e’ ideale come sappiamo: l’effetto Early si traduce nella presenza di
una resistenza ro sul collettore, in parallelo al generatore di corrente (vedi Fig. 4.14). Tuttavia ro e’ grande
e in certi contesti il suo effetto e’ trascurabile.
136
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Una migliore realizzazione di una sorgente di corrente e’ quella data nella Fig. 4.35(c), con
due transistor accoppiati. La corrente Iref e’ semplicemente data da
Iref =
VCC + VEE − VBE
VCC − (−VEE ) − VBE
=
R
R
(4.155)
dove abbiamo trascurato la corrente di base.
Poiche’ i due transistor hanno la stessa VBE la corrente del transistor Q2 e’ la stessa, cioe’
I = Iref
(4.156)
Questa uguaglianza e’ strettamente vera solo se i due transistor sono identici. Esistono in
commercio coppie di transistor realizzati insieme su un unico cristallo di silicio e incapsulati
in un unico contenitore; essi hanno quindi delle caratteristiche quasi identiche e stanno
alla stessa temperatura. Questo tipo di montaggio e’ comunemente chiamato specchio di
corrente, per motivi abbastanza evidenti 11 .
L’analisi delle prestazioni di amplificatori realizzati in questo modo e’ del tutto identica a
quella che abbiamo fatto in precedenza. I vantaggi che ne possiamo ricavare sono, anzitutto,
l’eliminazione del partitore di base dell’amplificatore, ma non solo. Per esempio, una
soluzione di questo tipo ci consente di realizzare un amplificatore a emettitore comune con
alto guadagno senza il capacitore di emettitore.
4.7
Amplificatore Darlington
Figura 4.36: a): coppia Darlington; b:) Inseguitore di tensione realizzato con coppa Darlington
Due transistor collegati tra loro come nella Fig 4.36a costituiscono la cosidetta coppia
Darlington, caratterizzata da un altissimo guadagno di corrente. Infatti, supponendo per
11
Approfondiremo questo argomento nella Sez 4.11.
4.8. LA RISPOSTA IN FREQUENZA DEGLI AMPLIFICATORI
137
semplicita’ che i due transistor abbiano lo stesso βF , possiamo scrivere:
IC1 = βF IB1
IE1 = −(1 + βF )IB1
IC2 = βF IB2
Ma IB2 = −IE1 , quindi combinando le ultime due relazioni si ha
IC2 = βF (1 + βF )IB1 = (βF + βF2 )IB1 ≃ βF2 IB1
Si ha quindi un guadagno di corrente circa uguale al quadrato di quello del transistor
singolo.
Le stesse relazioni valgono ovviamente anche per il guadagno di corrente per piccoli segnali, hf e , quindi la coppia Darlington e’ utilizzata per realizzare amplificatori ad altissimo
guadagno di corrente e quindi di tensione. Le coppie vengono spesso realizzate monoliticamente, ovvero sullo stesso cristallo di silicio, in modo da avere due transistor praticamente
identici e alla stessa temperatura. Un amplificatore Darlington, come ad esempio l’inseguitore di tensione mostrato in Fig 4.36b, ha anche una altissima resistenza d’ingresso. E’
facile verificare che
Ri ≃ h2f e RE
4.8
La risposta in frequenza degli amplificatori
Lo studio della risposta degli amplificatori che abbiamo sviluppato nelle precedenti sezioni
era basato sull’ipotesi che tutti i condensatori esterni potessero essere sostituiti da corti
circuiti. Inoltre abbiamo sviluppato modelli del transistor che non includono alcun elemento reattivo (capacita’ o induttanze), tali da provocare dipendenze dal tempo o dalla
frequenza. Viceversa i transistor mostrano fenomeni di accumulo di carica elettrica che
possono essere modellizzati come capacita’ interne e che introducono quindi dipendenze
dalla frequenza.
In sostanza i nostri risultati sono validi in una regione intermedia di frequenza, abbastanza
bassa da poter trascurare le capacita’ interne del transistor, ma non tanto bassa da rendere
necessario il tener conto dei condensatori esterni.
La situazione complessiva e’ quella della Fig. 4.37, dove abbiamo schematizzato il diagramma di Bode di un generico amplificatore. I condensatori esterni, se ve ne sono, provocano
una riduzione dell’amplificazione al di sotto di una certa frequenza, fL , determinando una
risposta di tipo passa-alto. Al di sopra di questa frequenza la loro presenza e’ ininfluente e
possono essere assimilati a dei corti circuiti. La risposta dell’amplificatore rimane costante
in un certo intervallo; poi, al crescere della frequenza, le capacita’ interne del transistor
determinano una riduzione della risposta, con effetti di tipo passa-basso. La regione intermedia, chiamata, regione di media frequenza, compresa tra fL ed fH , e’ quella in cui
sono validi i modelli che abbiamo utilizzato finora. Quantitativamente le due frequenze
di confine, fL e fH , sono definite come le frequenze a cui la risposta si riduce di 3 dB;
l’intervallo compreso tra esse definisce la larghezza di banda dell’amplificatore.
Dobbiamo quindi completare il nostro studio, per descrivere in modo quantitativo, il piu’
138
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
accurato possibile, le prestazioni degli amplificatori in tutto il dominio delle frequenze e
la prima cosa da fare e’ migliorare i nostri modelli del transistor affinche’ essi tengano
conto anche degli effetti capacitivi. Nei paragrafi che seguono sara’ necessario studiare le
Bassa
|V|
o (dB)
frequenza
|V|
s
Media frequenza
Alta frequenza
3 dB
fH
fL
log f
Figura 4.37:
Risposta in frequenza di un tipico amplificatore con capacita’ di accoppiamento esterne. Al di sotto della
frequenza fl le capacita’ esterne provocano una diminuzione dell’amplificazione. Al di sopra della frequenza
fH si comincia a sentire l’effetto delle capacita’ interne del transistor.
grandezze elettriche nel dominio complesso. Percio’ utilizzeremo la consueta notazione,
utilizzando lettere maiuscole, come gia’ avevamo fatto nei precedenti capitoli.
4.8.1
Il modello π ad alta frequenza
Abbiamo visto in precedenza che le giunzioni pn presentano effetti capacitivi, di entita’ diversa per polarizzazione diretta o inversa. Il modello π puo’ essere modificato per includere
questi effetti e quindi il transistor e’ equivalente al circuito schematizzato nella Fig. 4.38.
Abbiamo aggiunto due capacita’, la capacita’ della giunzione base-emettitore, polarizzata
direttamente, Cπ , e la capacita’ della giunzione collettore-base, polarizzata inversamente,
Cµ . Tipicamente Cπ e’ dell’ordine di alcuni pF , o decine di pF , mentre Cµ e’ notevolmente
inferiore, frazioni di pF , fino a qualche pF . Inoltre abbiamo aggiunto un resistore, rx , per
modellizzare la resistenza ohmica tra il terminale di base, B, e la base effettiva, B’, immediatamente sotto la regione di emettitore (vedi Fig. 4.4). Questa resistenza e’ dell’ordine
di poche decine di ohm e usualmente rx << rπ quindi viene trascurata a bassa frequenza,
ma non e’ irrilevante ad alta frequenza.
I fogli caratteristici dei transistor, oltre a riportare (non sempre) i valori indicativi di Cπ
e Cµ , danno anche informazioni sull’andamento in frequenza del guadagno di corrente hf e ;
un aspetto importante su cui vale la pena di soffermarsi.
Consideriamo dunque il circuito di Fig. 4.39 in cui il collettore e’ in corto circuito con
l’emettitore. L’equazione del nodo C puo’ essere scritta come
Ic = (gm − sCµ )Vπ
(4.157)
Possiamo poi scrivere, per il nodo d’ingresso
Vπ =
Ib
1
+ sCπ + sCµ
rπ
(4.158)
139
4.8. LA RISPOSTA IN FREQUENZA DEGLI AMPLIFICATORI
Cμ
rx
C
B
vπ
rπ
gmvπ
Cπ
ro
E
Figura 4.38:Il modello π per alte frequenze
Ib
Cμ
B
+
Vb
_
C
Ic
rx
vπ
rπ
Cπ
gmvπ
E
ro
E
Figura 4.39:Derivazione del guadagno di corrente con uscita in corto
Quindi il guadagno di corrente con uscita in corto e’ dato da
hf e ≡
gm − sCµ
Ic
=
Ib
1
+ s(Cµ + Cπ )
rπ
(4.159)
Alle frequenze per cui questo modello e’ valido gm >> ωCµ , quindi possiamo trascurare
sCµ al numeratore e otteniamo
hf e ≃
g m rπ
1 + s(Cµ + Cπ )rπ
(4.160)
ovvero una funzione di tipo passa-basso. Chiamiamo hf e0 il prodotto gm rπ , che e’ proprio
il guadagno di corrente di corto circuito a bassa frequenza, che abbiamo gia’ incontrato; la
(4.160) diviene quindi
hf e0
(4.161)
hf e ≃
1 + s(Cµ + Cπ )rπ
La frequenza di taglio (frequenza a cui la funzione si riduce di 3 dB) e’ quindi
fβ =
1
2π(Cπ + Cµ )rπ
(4.162)
I costruttori di transistor in genere riportano nei fogli caratteristici fT , ovvero la frequenza
a cui il guadagno di corrente |hf e | diviene pari ad 1 (chiamata banda di guadagno unitario).
140
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Poiche’ il prodotto (guadagno × banda) e’ costante12 , possiamo scrivere
(4.163)
hf eo × fβ = 1 × fT
quindi fT e’ semplicemente data da
(4.164)
fT = hf e0 fβ
In conclusione
fT =
gm i
2π(Cπ + Cµ )
(4.165)
e puo’ variare da alcune centinaia di M Hz ad alcune decine di GHz.
4.8.2
L’effetto Miller
Conviene a questo punto fare una breve parentesi e discutere una proprieta’ generale delle
reti, che va sotto il nome di teorema di Miller 13 (o effetto Miller); ci sara’ molto utile nel
seguito. Consideriamo una generica rete in cui tra due particolari nodi (nodo 1 e nodo 2)
vi e’ un’impedenza Z ′ (Fig. 4.40(a).
a)
b)
1
Z'
2
1
2
Z1
Z2
Figura 4.40: Applicazione del teorema di Miller dei nodi.
Nell’equazione del nodo 1 vi sará, tra gli altri, un termine
I1 =
V1 − V2
Z′
(4.166)
Potremo quindi manipolare questo termine nel modo seguente
V2
V1 − V2 V1 (1 − V1 ) V1 (1 − k)
=
=
I1 =
Z′
Z′
Z′
(4.167)
dove si e’ posto k = V2 /V1 . Analogamente, nell’equazione del nodo 2 vi sará, tra gli altri,
un termine
V2 − V1
I2 =
(4.168)
Z′
12
Questo e’ vero perche’ il guadagno decresce con pendenza −20 dB/decade
questo effetto prende il suo nome da quello di John Milton Miller, fisico americano, che lo mise in
evidenza studiando gli amplificatori con valvole termoioniche, negli anni attorno al 1920.
13
141
4.8. LA RISPOSTA IN FREQUENZA DEGLI AMPLIFICATORI
che potremo trasformare come segue
I2 =
V2 − V1
=
Z′
V1
)
V2
V2 (1 −
Z′
=
V2 (k − 1)
kZ ′
(4.169)
dove k é lo stesso fattore di prima.
In sostanza, nelle due equazioni, i due termini di corrente legati alla presenza di Z ′ possono
essere scritti come
I1 =
V1
Z1
(4.170)
I2 =
V2
Z2
(4.171)
Z′
1−k
(4.172)
e
dove
Z1 =
e
Z′
Z ′k
=
k−1
(4.173)
1
1−
k
′
Quindi l’effetto dell’impedenza Z é equivalente, nelle due equazioni, alla presenza di
un’impedenza Z1 tra il nodo 1 e la massa ed un’impedenza Z2 tra il nodo 2 e la massa
(Fig. 4.40b).
Una formulazione duale del teorema di Miller puo’ essere applicata alle maglie di un circuito. In Fig. 4.41b é mostrato un generico circuito, in cui l’elemento comune a due maglie
adiacenti é l’impedenza Z ′ . Procedendo in analogia al ragionamento precedente é facile
Z2 =
b)
a)
Z1
Z2
Z'
Figura 4.41: Applicazione del teorema di Miller delle maglie.
dimostrare che il circuito e’ equivalente a quello di Fig. 4.41b in cui
Z1 = Z ′ (1 − Ai )
e
Z2 =
Ai − 1 ′
Z
Ai
(4.174)
(4.175)
avendo posto
Ai = −I2 /I1
(4.176)
142
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Il teorema di Miller é uno strumento utile per calcolare la risposta di un circuito, perche’
consente, come vedremo, di eseguire piu’ facilmente approssimazioni che semplificano il
calcolo.
4.8.3
La regione di bassa frequenza
C in
Rs
R out
+
_
C out
+
vs
R in
vi
_
A vovi
RL
Figura 4.42:Circuito equivalente del generico amplificatore a bassa frequenza
Possiamo facilmente comprendere la regione di bassa frequenza schematizzando il nostro
amplificatore come nella Fig. 4.42. Questa e’ sostanzialmente valida per tutte le situazioni
che abbiamo visto (tranne che per il caso dell’amplificatore a emettitore comune con capacita’ sull’emettitore, che richiedera’ un discorso a parte): in tutti casi infatti abbiamo una
capacita’ all’ingresso, Cin e una capacita’ in uscita, Cout . L’amplificatore e’ quindi schematizzato come una resistenza d’ingresso, Rin , e una maglia di uscita con un generatore
controllato di tensione,Avo vi e una resistenza Rout . Tutti questi parametri sono quelli che
abbiamo gia’ ricavato nella nostra analisi a media frequenza.
Per la maglia d’ingresso possiamo scrivere
Vi =
=
Rin
Vs
1
Rin + RS +
jωCin
1
Rin
Vs
Rin + Rs
1
1+
jωCin (Rin + Rs )
(4.177)
(4.178)
Il secondo fattore e’ quindi un passa-alto con frequenza di taglio
fL′ =
1
2πCin (Rin + Rs )
(4.179)
Se, come e’ in genere auspicabile, Rs << Rin , la (4.179) e’ piu’ semplicemente
fL′ ≃
1
2πCin Rin
(4.180)
Nella maglia di uscita abbiamo
Vo =
=
RL
Avo Vi
1
RL + Rout +
jωCout
1
RL
Avo Vi
RL + Rout
1
1+
jωCout (RL + Rout )
(4.181)
(4.182)
143
4.8. LA RISPOSTA IN FREQUENZA DEGLI AMPLIFICATORI
Il secondo fattore e’ un altro passa-alto con frequenza di taglio
fL′′ =
1
2πCout (Rout + RL )
(4.183)
L’amplificazione effettiva, ovvero la funzione di trasferimento, e’ quindi data da
Avs (ω) =
Rin
Rin + Rs
1
1
1+
jωCin (Rin + Rs )
RL
RL + Rout
1
1
1+
jωCout (RL + Rout )
Avo (4.184)
Abbiamo quindi un doppio passa-alto e l’andamento in funzione della frequenza dipende
dalla posizione di fL′ e fL′′ (vedi Capitolo 2). Se le due frequenze sono sufficientemente
distanziate si ha, a bassissima frequenza, una pendenza di 40dB/decade, seguita da un
tratto a 20dB/decade, fino a raggiungere la regione di media frequenza. Se invece sono
quasi coincidenti si ha un’unica salita a 40dB/decade.
In definitiva, la scelta di Cin e Cout e’ legata all’intervallo di frequenze cui siamo interessati;
dovremo fare in modo che fL′ e fL′′ siano ragionevolmente piu’ basse della minima frequenza
da amplificare.
Il caso dell’amplificatore con capacita’ di emettitore
In questo caso abbiamo una terza capacita’ di cui dobbiamo tener conto, e l’analisi della
regione di bassa frequenza e’ piu’ complicata. Ci conviene riprendere la Fig. 4.30(b) e, al
posto di RE inserire un’impedenza ZE , cioe’ il parallelo tra RE e CE . Abbiamo
1
1
1 + jωCE RE
=
+ jωCE =
ZE
RE
RE
(4.185)
Inoltre, dobbiamo ora tenere esplicitamente conto dei due capacitori, di ingresso e di uscita;
lo schema completo e’ quindi quello di Fig.4.43. Nella maglia d’ingresso ora non abbiamo
piu’ solo elementi resistivi, bensi’ un’impedenza d’ingresso complessa
Zin = RB k Zib = RB k (re + ZE )
(4.186)
quindi
Vi =
Zin
1
Zin + RS +
jωC1
Vs
(4.187)
L’amplificazione Avo (complessa) e’ ora
Avo ≡
Vo
RC
=−
=−
Vi
re + ZE
RC
RE
re +
1 + jωCE RE
(4.188)
L’andamento in frequenza quindi diviene abbastanza complicato perche’, a causa della
(4.187) , anche il passa-alto dovuto alla maglia d’ingresso e’ influenzato dalla presenza di
CE . Possiamo tuttavia limitarci a una situazione meno complicata se facciamo l’ipotesi
144
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
C2
ic C
RC
α F ie
Rs
C1
vo
RL
i
B b
+
vs
vi
_
re
RB
ie
E
R out
ZE
Z ib
R in
Figura 4.43:
Circuito equivalente a bassa frequenza dell’amplificatore a emettitore comune con capacita’ di emettitore
che l’impedenza d’ingresso sia comunque dominata da RB (cioe’ RB piccolo); allora il
passa-alto sulla maglia d’ingresso e’ analogo a quanto visto negli altri casi, ovvero
fL′ ≃
1
2πC1 RB
(4.189)
Resta invece una variazione con la frequenza di Avo , come espressa dalla (4.188). Con
alcuni semplici passaggi si arriva all’espressione
Avo = −
RC
re
1 + jωCE RE
RE
1+
+ jωCE RE
re
≃−
RC 1 + jωCE RE
re RE
+ jωCE RE
re
(4.190)
Vediamo che al limite ω → ∞, cioe’ l’impedenza di CE e’ assimilabile ad un corto circuito
Avo = −
RC
re
(4.191)
mentre, al limite ω → 0 (cioe’ l’impedenza di CE e’ molto maggiore di quella di RE )
Avo = −
RC
RE
(4.192)
quindi ritroviamo i risultati che gia’ conosciamo.
La transizione tra il livello di alta amplificazione 4.191 e quello di bassa amplificazione
(4.192) e’ descritta dalla (4.190); puo’ essere interessante determinare la frequenza, fC , a
cui il modulo della funzione di trasferimentop
dimuisce di 3 dB, ovvero, in termini lineari,
quando il modulo diminuisce di un fattore (2)/2. Si trova facilmente, partendo dalla
(4.189), che
1
(4.193)
fC =
2πre CE
145
4.8. LA RISPOSTA IN FREQUENZA DEGLI AMPLIFICATORI
Questo non deve meravigliare; affinche’ l’amplificazione raggiunga il massimo occorre che
l’impedenza di CE sia piccola rispetto ad re .
L’andamento complessivo della funzione di trasferimento e’ quindi quello mostrato in Fig.
4.44, dove, per chiarezza, abbiamo ipotizzato che fC sia molto piu’ alta di fL , frequenza
di taglio generata dagli altri condensatori; in questo modo si ha un doppio regime di
amplificazione, ben distinguibile. Nella realta’, ovviamente, il progettista cerchera’ di
solito di avere un’unico intervallo di alta amplificazione e quindi di portare fC piu’ in
basso possibile. Questo implica l’utilizzazione di condensatori molto grandi dato il piccolo
valore di re .
|V|
o (dB)
|V|
s
|A| =
|A| =
Bassa frequenza
Media frequenza
RC
rE
Alta frequenza
3 dB
RC
RE
fL
fC
fH
log f
Figura 4.44:
Funzione di trasferimento dell’amplificatore a emettitore comune con capacita’ di emettitore.
4.8.4
La regione di alta frequenza
La regione ad alta frequenza richiede uno studio separato per i vari tipi di amplificatore,
perche’, come vedremo, il comportamento si differenzia. In ogni caso, in questa regione, i
condensatori esterni possono essere assimilati a dei corti circuiti.
Amplificatore ad emettitore comune
Dobbiamo utilizzare il modello π per alta frequenza che abbiamo visto in precedenza. In
questa regione tutti i capacitori esterni possono essere sostitui da corti circuiti, percio’ il
circuito equivalente e’ quello in Fig. 4.45(a). Possiamo semplificarlo utilizzando il teorema
di Thevenin dal lato dell’ingresso e raggruppando le resistenze dal lato dell’uscita, arrivando
146
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Rs
Cμ
B
rx
+
(a)
Vs
C
vπ
RB
_
rπ
gmvπ
Cπ
E
R’S
RC
ro
R L Vo
E
Cμ
B
C
+
(b)
V’s
vπ
_
gmvπ
Cπ
R’L
Vo
E
R’S
B
C
+
(c)
V’s
_
vπ
Cπ
gmvπ
C’
R’L
C’’
Vo
E
Figura 4.45:
(a) L’amplificatore a emettitore comune ad alta frequenza;
(b) Circuito equivalente dopo l’applicazione del teorema di thevenin sulla maglia d’ingresso e semplificazione
della maglia di uscita;
(c) Trasformazione del circuito con il teorema di Miller.
cosi’ al circuito di Fig. 4.45(b), dove abbiamo posto
′
RL
= ro k RC k RL
RS′
Vs′
= rπ k [rx + (RB k Rs )]
rπ
RB
= Vs
RB + Rs rπ + rx + (RS k RB )
(4.194)
(4.195)
(4.196)
Il circuito puo’ essere semplificato ulteriormente utilizzando il teorema di Miller: la capacita’ Cµ tra il nodo di base e il nodo di collettore puo’ essere sostituita da due capacita’
verso la massa, C ′ e C ′′ , i cui valori sono:
Vo
)
Vπ
Vπ
= Cµ (1 −
)
Vo
C ′ = Cµ (1 −
(4.197)
C ′′
(4.198)
4.8. LA RISPOSTA IN FREQUENZA DEGLI AMPLIFICATORI
147
Il rapporto
Vo
(4.199)
Vπ
puo’ essere calcolato approssimativamente; infatti se siamo a frequenze attorno a fH , cioe’
non troppo lontane dalla banda di media frequenza, e’ ragionevole assumere che la corrente
′ . In altre parole il
che attraversa Cµ sia trascurabile rispetto a quella che passa in RL
rapporto tra tensione di collettore e tensione di base e’ circa quello che si ha a media
frequenza, cioe’
′
k ≃ −gm RL
(4.200)
k≡
In definitiva possiamo quindi approssimare
′
C ′ ≃ Cµ (1 + gm RL
)
C
′′
≃ Cµ
(4.201)
(4.202)
Questo ci consente di concludere; abbiamo in definitiva due circuiti passa-basso in cascata.
Il primo, nella maglia d’ingresso, formato da RS′ e Cin = Cπ +C ′ , quindi con una frequenza
di taglio
1
′
fH
=
(4.203)
′
2πRs (Cπ + C ′ )
′ e C ′′ , con frequenza di taglio
Il secondo, nella maglia d’uscita, formato da RL
′′
fH
=
1
′ C ′′
2πRL
(4.204)
′ e’ molto piu’ bassa di f ′′ , percio’ si ha una regione con una
In genere, la frequenza fH
H
discesa a −20 dB/decade, seguita da una regione con una discesa a −40 dB/decade. La
(4.202) ci fa apprezzare l’importanza dell’effetto Miller: piu’ e’ grande l’amplificazione,
maggiore e’ la penalizzazione in termini di banda passante. E’ chiaro quindi che nella
progettazione di un amplificatore queste considerazioni devono essere ben valutate.
Amplificatore a base comune
Utilizziamo di nuovo il modello π per alta frequenza che abbiamo visto in precedenza. In
questa regione tutti i capacitori esterni possono essere sostitui da corti circuiti, percio’ il
circuito equivalente e’ quello in Fig. 4.46(a). Per facilitare l’analisi conviente trascurare
rx (pertanto il punto B’ si viene a trovare a massa) e ro . A questo punto si puo’ ridisegnare il circuito e semplificarlo utilizzando il teorema di Thevenin dal lato dell’ingresso e
raggruppando le resistenze dal lato dell’uscita, arrivando cosi’ al circuito di Fig. 4.46(b),
dove abbiamo posto
Rs′ = Rs k rπ k RE
RE k r π
Vs′ =
Vs
(RE k rπ ) + Rs
′
RL
= RC k RL
(4.205)
(4.206)
(4.207)
Il nodo E e’ alla tensione VE = −Vπ , quindi la relativa equazione e’
Vs′ − VE
− gm VE − jωCπ VE = 0
Rs′
(4.208)
148
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Cμ
B’
B
C
rx
vπ
rπ
gmvπ
Cπ
ro
E
(a)
RC
Rs
Vs
+
_
E
gmvπ
C
+
V’s
Vo
RE
R’s
(b)
RL
vπ
_
Cμ
Cπ
R’L
Vo
Figura 4.46:
(a) L’amplificatore a base comune ad alta frequenza;
(b) Circuito equivalente dopo l’applicazione del teorema di Thevenin sulla maglia d’ingresso e
semplificazione della maglia di uscita. Per semplificare l’analisi si sono trascurati rx ed ro .
da cui ricaviamo
VE
=
Vs′
=
1
1
+ ′ + jωCπ )
Rs
1
1 + Rs′ gm
Rs′
1 + jωCπ
1 + Rs′ gm
(4.209)
Rs′ (gm
(4.210)
L’equazione del nodo di uscita e’
−gm VE + jωCµ Vo +
Vo
′ =0
RL
(4.211)
da cui ricaviamo
Vo
gm RC
=
VE
1 + jω Cµ RC
(4.212)
4.8. LA RISPOSTA IN FREQUENZA DEGLI AMPLIFICATORI
149
Possiamo ora facilmente ricavare Avs dalle (4.210) e (4.212). Infatti si ha
Avs
1
RE k r π
VE Vo
g m RC
1 + Rs′ gm
=
=
′
′
Vs Vs VE
(RE k rπ ) + Rs
1 + jω Cµ RC
Rs
1 + jωCπ
′
1 + Rs g m
Vs′
(4.213)
Si ha quindi un doppio passa basso con frequenze di taglio
′
fH
=
1
′
2πCµ RL
(4.214)
′′
fH
=
1
2πCπ Rs′′
(4.215)
Rs′
1 + Rs′ gm
(4.216)
e
dove
Rs′′ =
Come ci si poteva aspettare la banda passante di questo amplificatore e’ migliore rispetto
a quella della configurazione ad emettitore comune, perche’ non e’ penalizzata dall’effetto
Miller: in questo caso, infatti, il terminale di ingresso (emettitore) e il terminale di uscita
(collettore) non sono collegati direttamente tra loro da una capacita’ parassita14 .
Amplificatore a collettore comune
Utilizziamo ancora il modello π per alta frequenza che abbiamo visto in precedenza. In
questa regione tutti i capacitori esterni possono essere sostitui da corti circuiti, percio’ il
circuito equivalente e’ quello in Fig. 4.47(a). Possiamo ridisegnarlo unificando le masse,
semplificarlo utilizzando il teorema di Thevenin dal lato dell’ingresso e raggruppando le
resistenze dal lato dell’uscita, arrivando cosi’ al circuito di Fig. 4.47(b), dove abbiamo
posto
Rs′ = rx + (RB k Rs )
RB
Vs′ =
RB + Rs
′
RL = RE k RL k r o
(4.217)
(4.218)
(4.219)
Le equazioni dei nodo B’ e del nodo di uscita sono
Vo
VB ′ − Vo
+ gm (VB ′ − Vo ) = ′
Zπ
RL
Vs − VB ′
V ′ − Vo
V ′
= B + B
Rs′
Zµ
Zπ
14
(4.220)
(4.221)
In linea di principio vi e’ una capacita’ parassita anche tra emettitore e collettore, ma e’ chiaramente
molto piu’ piccola delle altre e normalmente trascurabile
150
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Cμ
B’
B
C
rx
vπ
Rs
rπ
gmvπ
Cπ
(a)
ro
E
Vs
+
RB
_
RL
RE
Vo
B’
vπ
R’s
(b)
Cπ
rπ
E
Cμ
V’s
+
gmvπ
R’L
_
Vo
C
Figura 4.47:
(a) L’amplificatore a collettore comune ad alta frequenza;
(b) Circuito equivalente dopo l’applicazione del teorema di Thevenin sulla maglia d’ingresso e
semplificazione della maglia di uscita.
dove abbiamo indicato con Zπ l’impedenza complessiva del parallelo rπ , Cπ e con Zµ
l’impedenza di Cµ Riordinando i termini si ha
1
1
1
+ g m ) = Vo (
+ ′
)
Zπ
Zπ
RL + g m
1
1
V′
1
Vo
VB ′ (
+ ′ +
) = s′ +
Z µ Rs Z π
Rs Zπ
VB ′ (
(4.222)
(4.223)
Dalla prima equazione si ricava
[1 + Zπ (gm +
VB ′ = Vo
1
)]
R′
L
1 + g m Zπ
Se
(4.224)
1
gm
(4.225)
VB ′ ≃ Vo
(4.226)
′
RL
≫
si ha
e allora dalla seconda equazione si ricava facilmente la funzione di trasferimento
A=
Vo
1
=
′
Vs
1 + jωCµ Rs′
(4.227)
151
4.9. AMPLIFICATORI A DUE STADI
cioé l’equazione di un passa basso con frequenza di taglio
fT =
4.8.5
1
2πCµ Rs′
(4.228)
Riepilogo
Nella regione di bassa frequenza la risposta degli amplificatori e’ determinata dalla (eventuale) presenza di condensatori esterni. Se si vuole avere una buona amplificazione fino a
frequenze bassissime, ovvero come si dice spesso, in continua, e’ necessario eliminarli.
La regione di alta frequenza e’ invece dominata dalle capacita’ interne del transistor e si
ha sempre un comportamento di doppio passa-basso. In genere i due passa-basso hanno
′ e f ′′ , molto lontane tra loro, quindi si ha una prima discesa a
frequenze di taglio, fH
H
−20 dB/decade, seguita poi da una discesa a −40 dB/decade.
La larghezza di banda dell’amplificatore, BW , e’ data da
BW = fH − fL
(4.229)
dove fL e’ la frequenza di taglio introdotta dai condensatori esterni, se ve sono, e fH e’ la
piu’ bassa delle frequenze di taglio alto. Poiche’ in genere fL ≪ fH (o nulla se non vi sono
condensatori) si puo’ approssimare
BW ≃ fH
(4.230)
′′ e’ molto lontana dalla regione di frequenza di interesse, e f nulla, o molto
Infine, se fH
L
piccola comunque, e’ usuale descrivere il comportamento dell’amplificatore assimilandolo
ad un passa-basso, scrivendo ad esempio, per l’amplificazione di tensione in funzione della
frequenza
Ao
Av (f ) =
(4.231)
f
1+
fH
4.9
Amplificatori a due stadi
E’ molto frequente l’uso di amplificatori a piu’ stadi, che vengono realizzati per ottenere
prestazioni complessivamente adeguate alle necessita’, non solo in termini di amplificazione,
ma anche relativamente alle altre caratteristiche, resistenza d’ingresso, resistenza di uscita,
banda passante, ecc.
Nella Fig. 4.48 e’ schematizzato un amplificatore a due stadi. E’ facile verificare che
l’amplificazione complessiva non e’ in generale data dal prodotto delle 2 amplificazioni,
bensi’
Ri2
vo2
= Av1 Av2
(4.232)
Av ≡
vi1
Ro1 + Ri2
perche’ nell’accoppiamento dei due stadi vi e’ una partizione tra resistenza d’ingresso del
secondo stadio e resistenza d’uscita del primo. Solo se Ri2 ≫ Ro1 si ha
Av ≃ Av1 Av2
Vedremo ora alcuni esempi di amplificatori a due stadi di uso comune.
(4.233)
152
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
STADIO 1
STADIO 2
R o1
Rs
+
+
vs
_
R o2
vi1 R i1
_
+
A v1vi1
vi2 R i2
_
A v2 vi2
vo2
RL
Figura 4.48:Schema di un amplificatore a due stadi.
4.9.1
Amplificatore CE - CC
Un classico esempio di amplificatore a due stadi e’ quello mostrato nella Fig. 4.49(a): il
segnale e’ amplificato in un primo stadio ad emettitore comune (con o senza capacita’ di
emettitore) e poi inviato ad un secondo stadio inseguitore di tensione. La bassa resistenza
di uscita di quest’ultimo consente quindi di fornire grande corrente al carico finale RL . I
due stadi sono disaccoppiati da un condensatore, C2 , affinche’ il punto di lavoro statico dei
2 transistor non venga alterato.
In realta’ questo amplificatore puo’ essere realizzato molto semplicemente, in modo piu’
integrato, come nella Fig. 4.49(b), eliminando C2 e il partitore di polarizzazione del secondo transistor. La tensione statica della base del secondo transistor coincide con la tensione
di collettore del primo, quindi non serve disaccoppiare. Questo e’ possibile perche’ la resi′ ) e’ molto maggiore della resistenza d’uscita
stenza d’ingresso del secondo stadio (≃ hf e RE
del primo (≃ RC ), quindi il secondo stadio non perturba il punto di lavoro del primo.
Questa semplificazione e’ molto vantaggiosa perche’ si elimina un condensatore (fonte sempre di problemi) ed un inutile dissipazione di corrente nel partitore del secondo stadio.
L’amplificazione di tensione complessiva e’ semplicemente il prodotto delle due
A = ACE × ACC ≃ 1 × ACE
(4.234)
Complessivamente avremo quindi alta amplificazione e alta resistenza d’ingresso ma la
banda passante puo’ non essere soddisfacente a causa dell’effetto Miller sullo stadio CE.
4.9.2
Amplificatore CC - CB
Un altro amplificatore a due stadi e’ realizzato con l’accoppiamento di un amplificatore a
collettore comune con un amplificatore a base comune. Un possibile esempio e’ mostrato nella Fig. 4.50, realizzato con doppia alimentazione in modo da non aver bisogno del
condensatore in ingresso. Il segnale entra nella base del transistor Q1 ed esce dal suo emettitore, entra nell’emettitore di Q2 ed esce lal suo collettore. Quindi Q1 e’ un inseguitore
di tensione, Q2 un amplificatore a base comune. In prima approssimazione la resistenza
d’ingresso del secondo stadio coincide con la resistenza d’uscita del primo, percio’ nell’accoppiamento si riduce il segnale di un fattore ≈ 2. L’amplificazione di tensione complessiva
e’ quindi
A = ACC ×
1
1
× ACB ≃ gm2 RC
2
2
(4.235)
153
4.9. AMPLIFICATORI A DUE STADI
VCC
VCC
R’1
R1
C2
C’2
C1
Rs
(a)
RC
vo
R’2
+
vs
vi
_
R2
R’E
RL
CE
RE
VCC
R1
R in ≅ hfe R’E
C’2
C1
Rs
(b)
RC
vo
R’E
+
vs
_
vi
R2
RE
CE
RL
R out≅ R C
Figura 4.49:
(a) Amplificatore a due stadi CE - CC (il primo stadio puo’ naturalmente essere anche senza la capacita’
di emettitore;
(b) Montaggio integrato.
dove gm2 e’ la transconduttanza del transistor Q2 .
Avremo occasione di rivedere questo circuito nella prossima Sezione, quando parleremo
degli amplificatori differenziali, dove faremo un’analisi piu’ quantitativa.
Possiamo comunque qui concludere che esso fornisce alta amplificazione, alta resistenza
d’ingresso e una buona banda passante, visto che nessuno dei due stadi e’ penalizzato
dall’effetto Miller.
4.9.3
Amplificatore CE - CB (cascode)
L’ultimo esempio e’ un amplificatore a due stadi composto da un primo stadio ad emettitore comune, seguito da un secondo stadio a base comune 15 . Una possibile realizzazione
15
Il termine “cascode” é una contrazione della espressione “cascade to cathode”; è stato usato la prima
volta in un articolo del 1939 in cui si proponeva un circuito di questo tipo (allora composto da due triodi).
154
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
VCC
RC
vo
Rs
Q1
R in ≅ re
Q
2
+
_
vs
RE
VEE
R out ≅ re
Figura 4.50:(a) Amplificatore a due stadi CC - CB .
é mostrata in Fig. 4.51(a).
Il circuito sembra complesso ma l’analisi per piccoli segnali a media frequenza e’ molto semplice. Nella Fig. 4.51(b) abbiamo il circuito equivalente ottenuto sostituendo ai transistor
il modello T e eliminando i due condensatori. Il resistore RB e’
RB = R2 k R3
(4.236)
e la tensione d’ingresso vi e’ semplicemente
RB
vs
RB + R s
(4.237)
vo = −αF 1 ie1 RC
(4.238)
ie1 = −αF 2 ie2
(4.239)
vi =
La tensione d’uscita e’ data da
ma osservando il circuito si vede che
percio’, sostituendo la (4.239) nella (4.238) si ottiene
vo = αF 1 αF 2 ie2 RC
(4.240)
Per la tensione d’ingresso possiamo scrivere
quindi abbiamo
Avo ≡
vi = −(re2 + RE )ie2
(4.241)
α F 1 α F 2 RC
RC
vo
=−
≃−
vi
(re2 + RE )
RE
(4.242)
155
4.9. AMPLIFICATORI A DUE STADI
VCC
RC
R1
C1
Q1
R2
Rs
C2
(a)
Q
+
_
vs
vi
R3
Vo
2
RE
αF ie
Rs
2
2
re
1
αF ie
1 1
ie
1
re
2
+
(b)
_
vs
RB
ie
2
RC
Vo
RE
Figura 4.51:
(a) Amplificatore a due stadi CE - CB (cascode);
(b) Circuito equivalente per piccoli segnali (alle frequenze per cui C1 e C2 possono essere sostituiti da corti
circuiti).
dove l’ultimo passaggio e’ fatto nell’ipotesi plausibile che RE ≫ re2 . Infine
Avs ≡
RC
RB
vo
≃−
vs
RB + Rs RE
(4.243)
E’ anche possibile mettere un condensatore di by-pass in parallelo ad RE , sufficientemente
grande da poter essere assimilato ad un corto circuito alle frequenze di interesse. In quel
caso avremo semplicemente
Avo = −
αF 1 αF 2 RC
≃ −gm2 RC
re2
(4.244)
quindi una alta amplificazione.. In sostanza in questo circuito il primo stadio amplifica
pochissimo, perchè vede davanti a se’ un carico molto piccolo (la resistenza d’ingresso del
secondo stadio è ∼ re1 ), quindi non subisce l’effetto Miller. L’amplificazione è tutta nello
stadio CB che, di nuovo, non è penalizzata ad alta frequenza.
156
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Nel complesso si ha quindi una buona amplificazione, alta resistenza d’ingresso e una buona banda passante.
4.10
Stadio d’uscita negli amplificatori multi stadio
Figura 4.52:
(a): Inseguitore di tensione polarizzato con un generatore di corrente I;(b) Massima escursione del segnale
di uscita vO ; (c): Massima escursione della corrente di collettore con segnale d’ingresso sinusoidale
La funzione dello stadio di uscita e’, come abbiamo gia’ detto, quella di fornire al carico
il segnale senza perdita di amplificazione, ovvero con una bassa resistenza di uscita. Per
questo, in genere, viene utilizzato un inseguitore di tensione, caratterizzato appunto da una
bassa resistenza di uscita e quindi dalla capacita’ di fornire al carico una grande corrente.
Conviene ora approfondire questo argomento anche in relazione alle sue implicazioni in
termini delle potenze in gioco: in genere l’ultimo stadio deve fornire una grande potenza
al carico e non e’ quindi irrilevante valutare l’efficienza di questo trasferimento.
E’ usuale classificare gli amplificatori in base alle loro modalita’ di funzionamento, in
particolare in relazione alla frazione di segnale che amplificano. Esamineremo ora le classi
A, B e AB, ovvero quelle piu’ diffuse.
4.10.1
Amplificatori di classe A
Gli amplificatori di classe A amplificano totalmente il segnale, sono sostanzialmente quelli
di cui abbiamo parlato finora. Consideriamo il semplice inseguitore di tensione con doppia alimentazione schematizzato nella Fig 4.52a, dove il transistor e’ polarizzato con un
generatore di corrente ideale I.
4.10. STADIO D’USCITA NEGLI AMPLIFICATORI MULTI STADIO
157
Il segnale d’uscita, vO riproduce il segnale d’ingresso vI con una traslazione di −VBE ;
affinche’ non ci sia deformazione la sua ampiezza non deve superare VCC − VCEsat per
la semionda positiva (altrimenti il transistor va in saturazione) e IRL per la semionda
negativa (altrimenti il transistor si interdice), come mostrato nella Fig 4.52b. Quindi,
avendo un segnale vO di una data ampiezza e un carico di un dato valore RL , il valore
del generatore di corrente I non puo’ essere arbitrario ma deve essere scelto in modo da
garantire che vO sia minore di IRL , con un adeguato margine 16 .
Possiamo ora valutare l’efficienza energetica dell’inseguitore, intesa come rapporto tra la
potenza fornita al carico, PL , e la potenza assorbita dalle alimentazioni, PS :
η=
PL
PS
Per semplificare, ipotizziamo di avere VEE = −VCC e VCC − VCEsat ≃ VCC . La potenza
media fornita al carico per un segnale sinusoidale con ampiezza vO e’ data da
PL =
2
1 vO
2 RL
La corrente fornita dal generatore ideale e’ costante e pari ad I, quindi la potenza fornita
dal generatore negativo e’ VCC I. La corrente media fornita dal generatore positivo e’di
nuovo I (Fig 4.52c), quindi la relativa potenza e’ VCC I. In definitiva la potenza totale
fornita dalle alimentazioni e’
PS = 2VCC I
e l’efficienza e’ quindi
PL =
4.10.2
2
1 vO
4 IRL VCC
Amplificatori di classe B
Un semplice inseguitore di tensione di classe B e’ mostrato nella Fig 4.53a. E’ costituito
da una coppia complementare di transistor (un npn e un pnp) connessi in modo che non
possono condurre simultaneamente. Ogni transistor amplifica quindi il 50% del segnale.
Quando la tensione d’ingresso, vI e’ zero, entrambi i transistor sono in interdizione e
la tensione d’uscita vO e’ nulla. Se vI diviene positiva e supera 0.5 V il transistor QN
comincia a condurre e funziona come inseguitore di tensione; viceversa il transistor QP
e’ in interdizione. Analogamente, se vI diviene negativa e supera −0.5 V il transistor QP
comincia a condurre e funziona come inseguitore di tensione mentre il transistor QN e’ in
interdizione. La transcaratteristica e’ quindi la curva mostrata in Fig 4.53b: come si vede
c’e’ un intervallo attorno a VI = 0 dove entrambi i transistor sono in interdizione. Questo
provoca la distorsione del segnale di uscita mostrata in Fig 4.53c: una tensione sinusoidale
in ingresso viene deformata e l’effetto e’ tanto maggiore quanto piu’ l’ampiezza e’ piccola
(distorsione di cross-over).
Per calcolare l’efficienza energetica η dell’amplificatore trascuriamo l’effetto della distorsione e assumiamo che le due alimentazioni siano uguali in modulo (VEE = −VCC ). La
16
RE .
Lo stesso criterio si deve ovviamente applicare anche per un inseguitore polarizzato con un resistore
158
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Figura 4.53: a): inseguitore di tensione di classe B; b): transcaratteristica; c) forma d’onda in uscita
per un ingresso sinusoidale.
potenza media fornita al carico nel caso di una tensione sinusoidale e’ data da
PL =
2
1 vO
2 RL
In ogni semionda il circuito assorbe da una delle due alimentazioni una corrente media
vO /(πRL ); la potenza totale assorbita e’ quindi
PS =
2
2 vO
VCC
π RL
L’efficienza e’ infine
π vO
4 VCC
Si vede che l’efficienza e’ massima quando l’ampiezza del segnale di uscita e’ proprio uguale
a VCC ed e’ pari a
π
ηmax = = .785
4
In realta’ questa efficienza non e’ esattamente raggiungibile perche’ il segnale di uscita e’
limitato tra (VCC − VCEN Sat ) e (−VCC + VCEP Sat ), ma ad ogni modo e’ di gran lunga
migliore di quella ottenuta con l’amplificatore di classe A.
η=
4.10.3
Amplificatori di classe AB
La distorsione di cross-over puo’ essere eliminata polarizzando i due transistor in modo da
mantenerli sempre in debole conduzione, quindi ciascuno amplifica piu’ del 50% del segnale.
4.10. STADIO D’USCITA NEGLI AMPLIFICATORI MULTI STADIO
159
Figura 4.54: Schema concettuale di un amplificatore di classe AB
Il risultato e’ l’amplificatore di classe AB mostrato nella Fig 4.54. Una tensione VBB e’
applicata tra le basi dei due transistor e, quando vI = 0 e vO = 0, una tensione VBB /2
appare su ciascuna delle due giunzioni base-emettitore. Assumendo che i due transistor
siano identici si ha
iN = iP = IQ = Is eVBB /2VT
quindi VBB deve essere scelto in modo da ottenere la desiderata corrente statica IQ .
Quand vI diventa positiva la base di QN sale della stessa quantita’ e l’uscita segue
vO = vI +
VBB
− vBEN
2
La corrente iN aumenta per fornire la corrente IL al carico e si ha
iN = iL + iP
Conseguentemente la vBEN aumenta, ma poiche’ la differenza di potenziale tra le basi e’
mantenuta costante (pari a VBB ), la vBEP deve diminuire, provocando una diminuzione di
iP . Quantitativamente si ha
vBEN + vBEP
iN
iN
VT ln
+ VT ln
Is
Is
iN iP
= VBB
= 2VT ln
IQ
Is
2
= IQ
Quindi se iN aumenta iP diminuisce dello stesso rapporto; per grandi valori di vI (positivo) la conduzione e’ sostanzialmente dovuta a QN perche’ il contributo di QP diviente
trascurabile.
Quando VI e’ negativa il comportamento si inverte e la conduzione e’ prevalentemente
dovuta a QP .
L’efficienza energetica dell’amplificatore di classe AB e’ sostanzialmente la stessa della
classe B, salvo l’ulteriore potenza dissipata in condizioni di riposo, ovvero 2VCC IQ , ma
questa e’ in generale trascurabile se si progetta il circuito in modo da avere una corrente
IQ piccola.
160
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Polarizzazione con diodi
Figura 4.55: Amplificatore di classe AB. a): polarizzazione con diodi; b): polarizzazione con transistor
L’amplificatore di classe AB puo’ essere concretamente realizzato utilizzando due diodi e
un generatore di corrente IBIAS (Fig 4.55a).
In assenza di segnale il generatore deve fornire la corrente IQ ai diodi ed e’ quindi opportuno
scegliere diodi con un basso valore di Is per diminuire la dissipazione. Quando VI e’ positiva
il transistor QN conduce e fornisce al carico una corrente iL ; la corrente di base di QN deve
percio’ essere iL /βN e questa corrente deve essere fornita dal generatore IBIAS , quindi il
progetto deve prevedere un valore di IBIAS sufficiente a questo scopo.
Polarizzazione con transistor
Una soluzione che offre piu’ flessibilita’ e’ quella mostrata in Fig 4.55b: il transistor Q1 e’
polarizzato con il partitore R1 , R2 e riceve la corrente dal generatore IBIAS . R1 e R2 sono
percorse dalla stessa corrente IR , se trascuriamo la corrente di base di Q1 , e si ha
IR =
VBE1
R1
Quindi la tensone VBB tra le basi di QN e QP e’ semplicemente
VBB = IR (R1 + R2 )
R2
)
= VBE1 (1 +
R1
Quindi la tensione VBB puo’ facilmente essere fissata agendo sul rapporto delle resistenze
in modo da avere la corrente di quiete desiderata.
161
4.11. SPECCHI DI CORRENTE
4.11
Specchi di corrente
Abbiamo gia’ brevemente menzionato questi dispositivi nella Sez 4.6 come utili per costruire un generatore di corrente quasi ideale. Li incontreremo di nuovo nello studio degli
amplificatori differenziali (Sez 4.12) e negli amplificatori integrati (che studieremo nel Cap
6), e’ quindi opportuno approfondirne la conoscenza.
Figura 4.56:(a): Specchio di corrente; (b): Specchio di corrente con compensazione
In Fig 4.56a e’ riportato di nuovo lo specchio di corrente, dove ora pero’ vogliamo calcolare
in modo piu’ accurato il rapporto di trasferimento (Io /IREF ) tenendo conto delle correnti
di base. Dalla Figura, dove sono riportate tutte le correnti, si ottiene facilmente
IREF = Ic +
2Ic
2
= Ic (1 + )
β
β
(4.245)
Il rapporto di trasferimento e’ quindi
Io
IREF
=
1
2
1+
β
=
β
2+β
(4.246)
Come si vede il rapporto di trasferimento è unitario nel limite di β infinito, ma per normali
transistor con β ∼ 100 e’ inferiore all’unità e sensibile a variazioni di β.
Specchio di corrente con compensazione della corrente di base
Un meccanismo per ridurre l’influenza di un β finito e’ riportato nella Fig 4.56b. Si ha in
questo caso
VCC − VBE1 − VBE3
(4.247)
IREF =
R
da cui segue
Io
1
=
(4.248)
2
IREF
1+ 2
β +β
162
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Specchio di corrente Wilson
Figura 4.57:
(a): Specchio di corrente Wilson; (b) Circuito equivalente per il calcolo dell’impedenza di uscita
Nei circuiti precedenti la resistenza d’uscita e quindi la non idealità della sorgente di
corrente e’ sostanzialmente la resistenza ro del transistor Q2 (non riportata in Figura).
Lo specchio Wilson è una variante ingegnosa per attenuare l’effetto del β sul rapporto di
trasferimento e per aumentare la resistenza d’uscita del circuito (Fig. 4.57 (a)).
Il rapporto di trasferimento è dato da
Io
=
IREF
1
1+
2
β2
(4.249)
La resistenza d’uscita viene calcolata con il consueto metodo, ovvero applicando all’uscita
una tensione vx e calcolando la corrente risultante, ix (Fig 4.57 (b)).
Si ha
ix = ic1 + ic2
(4.250)
Ma lo specchio di corrente formato da Q1 e Q2 garantisce che ic2 = ic1 quindi
1
(4.251)
ix = 2ic1 ⇒ ic 1 = ix
2
Poiché la resistenza offerta dalla coppia Q1 ,Q2 è molto piccola (≃ re1 ) rispetto a ro3 la
tensione vx cade tutta sul collettore di Q3 ed inoltre ib3 = ic1 . Abbiamo quindi
ix =
vx
β
− ix
ro3
2
(4.252)
Ovvero
vx
β
= ro3
ix
2
Si ha quindi un aumento della resistenza d’uscita di un fattore β/2.
Ro =
(4.253)
163
4.12. AMPLIFICATORE DIFFERENZIALE
Figura 4.58: Specchio di corrente multiplo: le basi di tutti i transistor sono connesse tra loro.
Specchio di corrente multiplo
Nei circuiti integrati e’ spesso necessario disporre di varie sorgenti di corrente. Questo puo’
essere ottenuto come in Fig 4.58, dove partendo da un’unica corrente di riferimento IREF
si possono ottenere molte repliche uguali Io . Questo naturalmente e’ strettamente vero
solo nel limite β infinito, nella realta’ le cose sono un po’ piu’ complicate.
4.12
Amplificatore differenziale
v2
v1
Ad
vo
+
Figura 4.59:a) L’amplificatore differenziale
Studieremo ora l’amplificatore differenziale (Fig. 4.59), cioe’ un dispositivo a due ingressi,
in cui si richiede che
vo = Ad (v1 − v2 )
(4.254)
Possiamo comprendere come realizzare un dispositivo del genere osservando che, in generale, la tensione d’uscita vo sara’ funzione delle due tensioni d’ingresso; sviluppando in serie
e limitandosi al primo ordine si avra’
vo = A1 v1 + A2 v2
(4.255)
1
vc = (v1 + v2 )
2
(4.256)
vd = (v1 − v2 )
(4.257)
Introduciamo due nuove variabili
164
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Si ricava quindi che
1
v1 = vc + vd
2
1
v2 = vc − vd
2
(4.258)
(4.259)
e sostituendo nella 4.255 si ottiene
vo = Ad vd + Ac vc
(4.260)
dove
1
(A1 − A2 )
2
= (A1 + A2 )
Ad =
(4.261)
Ac
(4.262)
Ad e Ac prendono il nome di amplificazione differenziale e di amplificazione di modo comune
rispettivamente. E’ anche utile notare che Ad rappresenta l’amplificazione del circuito
quando i segnali d’ingresso sono uguali ed opposti, mentre Ac rappresenta l’amplificazione
quando i segnali d’ingresso sono uguali. Confrontando la 4.260 con la 4.254 si vede che
possiamo ottenere il risultato voluto se costruiamo un dispositivo con Ac = 0 e Ad 6= 0,
cioe’ dobbiamo avere
A1 = −A2
(4.263)
Possiamo facilmente comprendere che in circuito reale questa condizione ben difficilmente
puo’ essere realizzata in modo esatto; quello che in realta’ si puo’ fare e’ di avere Ac molto
piccola rispetto ad Ad . E’ logico quindi definire un fattore di merito dell’amplificatore
differenziale come il rapporto
Ad ρ = (4.264)
Ac
che prende il nome di Common Mode Rejection Ratio (CMRR); in un amplificatore
differenziale "ideale" si ha quindi ρ = ∞.
Gli amplificatori differenziali sono dispositivi molto importanti e comunemente usati. Per
comprenderne l’utilita’ possiamo confrontare le due situazioni in Fig. 4.60, in cui un segnale
(contenente una certa "informazione") esce da una sorgente e viene trasferito all’ingresso
di un amplificatore, mescolato a disturbi provenienti dall’esterno. Nel caso (a) viene usato
un amplificatore convenzionale, alla cui uscita il segnale ed il disturbo vengono ugualmente
amplificati; nel caso (b) il disturbo, essendo presente in egual misura su entrambi gli ingressi, viene fortemente soppresso. Si comprende quindi la convenienza ad utilizzare il modo
differenziale per trasmettere ed elaborare segnali quando disturbi, sia provenienti dall’esterno ma anche interni ai circuiti (per esempio, il ripple dell’alimentazione in continua),
debbano essere soppressi.
Amplificatore differenziale con 2 transistor
Un esempio di realizzazione di un amplificatore differenziale e’ riportato in Fig. 4.61(a),
dove l’uscita puo’ essere prelevata su uno qualunque dei due collettori17 . L’uso della
17
E’ anche possibile, naturalmente, prelevare entrambe le uscite: si avra’ allora un amplificatore
differenziale con uscita differenziale.
165
4.12. AMPLIFICATORE DIFFERENZIALE
a)
vd
A
vs
vo
v o=A(v s+v d)
vd
b)
v2
vd
Ad
+
v1
vo
v o=(v 1 +v d) - ( v 2 +v d)=v 1 - v 2
Figura 4.60:
Amplificazione di un segnale soggetto a disturbi: a) con amplificatore semplice; b) con amplificatore
differenziale
doppia alimentazione consente di evitare capacitori ai due ingressi ed avere quindi una
buona risposta fino a frequenza zero. Supporremo per semplicita’ che le due sorgenti di
segnale abbiano la stessa resistenza d’uscita, RS , e che le due resistenze sui collettori, RC ,
siano uguali.
Dopo aver polarizzato i due transistor attraverso un’opportuna scelta dei valori delle resistenze, possiamo analizzare il circuito utilizzando lo schema equivalente per piccoli segnali
di Fig. 4.61(b), prelevando l’uscita sul collettore del transistor Q1 , che, per alleggerire la
notazione, chiameremo semplicemente vo .
Per semplicita’ supporremo che RS sia trascurabile rispetto alla resistenza d’ingresso; in
questo modo v1 ≈ vs1 e v2 ≈ vs2 , quindi tralasciamo l’effetto delle partizioni d’ingresso.
Osservando il circuito possiamo scrivere 3 relazioni
vo = α1 ie1 RC
(4.265)
v1 = −re1 ie1 − RE (ie1 + ie2 )
(4.266)
v2 = −re2 ie2 − RE (ie1 + ie2 )
(4.267)
Dovremmo ora combinare queste relazioni per poter esprimere vo in funzione di v1 e v2 ,
ma sarebbe una strada assai complicata. E’ molto piu’ semplice studiare 2 casi particolari
166
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
VCC
RC
RC
vo1 vo2
Rs
Q
Q1
(a)
Rs
2
+
+
_
vs2
vs1
_
RE
VEE
Rs
(b)
ie1
ie2
re1
re2
v1
vo1
Rs
α2 ie2
α1ie1
iE
RE
v2
vo2
+
vs1
_
+
RC
RC
_
vs2
Figura 4.61:a) Amplificatore differenziale;b) Circuito equivalente per piccolo segnali
che ci consentiranno facilmente di ricavare Ad e Ac ; infatti, se inviamo all’amplificatore
due segnali d’ingresso identici, cioe’ v2 = v1 , ricaviamo subito dalla (4.260)
vo = Ac vc = Ac v1
dato che on questo caso vd = 0. Quindi si ricava
vo
Ac =
v1
(4.268)
(4.269)
Viceversa, se inviamo all’amplificatore due segnali uguali ed opposti, cioe’ v2 = −v1 , dalla
(4.260) abbiamo
vo = Ad vd = 2Ad v1
(4.270)
e quindi
vo
(4.271)
2v1
Studiamo allora il primo caso, ovvero v2 = v1 . In questa situazione i secondi membri delle
(4.267) e (4.267) sono uguali, ovvero
Ad =
−re1 ie1 − RE (ie1 + ie2 ) = −re2 ie2 − RE (ie1 + ie2 )
(4.272)
167
4.12. AMPLIFICATORE DIFFERENZIALE
Riordinando i termini otteniamo
ie2 =
re1
ie1
re2
(4.273)
Sostituendo la (4.273) nella (4.267) si puo’ scrivere
v1 = −[re1 + (1 +
re1
)RE ]ie1
re2
(4.274)
Il rapporto tra la (4.266) e la (4.274) ci porta infine a
Ac =
vo
=−
v1
α 1 RC
re1
[re1 + (1 +
)RE ]
re2
(4.275)
Se i due transistor hanno la stessa corrente statica Ic si ha re1 = re2 (che possiamo indicare
allora con re ) e quindi, trascurando α1 otteniamo
Ac ≃ −
RC
RC
≃−
re + 2RE
2RE
(4.276)
dove l’ultimo passaggio presuppone che si abbia RE ≫ re .
Possiamo ora analizzare l’altro caso, ovvero v2 = −v1 .
Combinando di nuovo le (4.267) e (4.267) ora abbiamo
−re1 ie1 − RE (ie1 + ie2 ) = re2 ie2 + RE (ie1 + ie2 )
(4.277)
Riordinando i termini otteniamo
ie2 = −
re1 + 2RE
ie1
re2 + 2RE
(4.278)
e quindi, sostituendo nella (4.267) si puo’ scrivere
v1 = −[re1 + RE (1 −
e otteniamo infine
Ad =
vo
=−
2v1
re1 + 2RE
)]ie1
re2 + 2RE
α 1 RC
re1 + 2RE
2[re1 + RE (1 −
)]
re2 + 2RE
(4.279)
(4.280)
Di nuovo, nell’ipotesi in cui re1 = re2 = re , la (4.280) si semplifica in
Ad ≃ −
RC
2re
(4.281)
Come si vede Ad e’ molto piu’ grande di Ac Il rapporto di reiezione di modo comune, ρ, e’
re1
)RE ]
re2
ρ=
re1 + 2RE
2[re1 + RE (1 −
)]
re2 + 2RE
[re1 + (1 +
(4.282)
168
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
nell’ipotesi in cui i due transistor abbiano la stessa IC si semplifica in
ρ≃
RE
re
(4.283)
Osserviamo che il fattore ρ dipende fortemente da RE : se RE → ∞ anche il fattore di
merito diventa infinito. Peraltro, e’ interessante notare dalla (4.282) che al crescere di RE
la differenza tra re1 e re2 diventa sempre meno rilevante. Tuttavia queste considerazioni
non devono trarre in inganno. Riscriviamo infatti la (4.283) come
ρ = g m RE =
|IC |
RE
VT
(4.284)
ora, se i due transistor sono uguali, o circa uguali, la corrente di ogni collettore e’ circa
la meta’ della corrente che fluisce in RE , che possiamo chiamare IRE ; quest’ ultima e’
sostanzialmente definita dal valore di VEE , ovvero
IRE =
(VEE − 0.7)
RE
(4.285)
In definitiva abbiamo quindi
ρ=
1 (VEE − 0.7)
1 (VEE − 0.7)
RE =
2
V T RE
2
VT
(4.286)
quindi cio’ che conta e’ il valore assoluto di VEE .
In conclusione, e’ utile avere RE grande per neutralizzare al meglio le differenze tra i due
transistor, ma comunque i massimi valori di ρ che si possono concretamente ottenere (con
valori di alimentazione praticabili) e’ di qualche centinaio.
Uscita differenziale
Se si prelevano entrambe le uscite si puo’ costruire un’uscita differenziale
vo = vo1 − vo2
(4.287)
questo puo’ essere utile quando, ad esempio, dobbiamo trasferire a distanza l’informazione,
e quindi vogliamo minimizzare l’influenza dei disturbi lungo il cavo che trasmette il segnale.
Possiamo allora definire nuovi parametri A′d e A′c e scrivere
vo = vo1 − vo2 = A′d vd + A′c vc
(4.288)
Possiamo ricavare A′d e A′c con la stessa tecnica usata in precedenza. Se poniamo v2 = v1
abbiamo
vo
vo1 − vo2
vo1 vo2
vo1 vo2
A′c =
=
=
−
=
−
(4.289)
v1
v1
v1
v1
v1
v2
mentre, ponendo v2 = −v1 si ricava
A′d =
vo1 − vo2
vo1
vo2
vo1
vo2
vo
=
=
−
=
+
2v1
2v1
2v1 2v1
2v1 2v2
(4.290)
169
4.12. AMPLIFICATORE DIFFERENZIALE
I risultati che abbiamo ottenuto prima, (4.275) e (4.280), sono quindi applicabili anche
all’uscita 2, semplicemente scambiando tutti gli indici, quindi otteniamo facilmente
A′c = −
e
α 1 RC
re1
[re1 + (1 +
)RE ]
re2
α 1 RC
+
α 2 RC
re2
[re2 + (1 +
)RE ]
re1
(4.291)
α 2 RC
(4.292)
re1 + 2RE
re2 + 2RE
2[re1 + RE (1 −
)] 2[re2 + RE (1 −
)]
re2 + 2RE
re1 + 2RE
Se i due transistor hanno la stessa re e lo stesso α i due termini della (4.291) sono identici
e la amplificazione di modo comune diviene nulla, mentre la (4.292) diviene
A′d = −
−
αRC
αRC
RC
αRC
−
=−
≃−
(4.293)
2rE
2rE
rE
rE
quindi si avrebbe un ρ = ∞. Ma naturalmente questa e’ un’ipotesi non realistica.
A′d = −
Approfondimenti
VCC
VCC
RC
RE
RC
RC
vo1
v1
VCC
vo1
v2
re2
RE
VEE
VEE
(a)
(b)
Figura 4.62:
a) Amplificatore differenziale visto dall’ingresso 1;
b) Amplificatore differenziale visto dall’ingresso 2
E’ istruttivo studiare il circuito anche guardando separatamente alle due amplificazioni,
A1 e A2 . Sempre prendendo l’uscita sul transistor Q1 , con semplici passaggi si trova
A1 ≡
vo
v1
= −
A2 ≡
vo
v2
=
α 1 RC
re2 RE
re1 +
re2 + RE
α1 RC
RE + re1
re1 + re2
RE
(4.294)
(4.295)
170
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
se RE ≫ re1 e RE ≫ re2 si ha piu’ semplicemente
α 1 RC
re1 + re2
α 1 RC
re1 + re2
A1 ≃ −
(4.296)
A2 ≃
(4.297)
cioe’, se RE puo’ essere considerato infinito, le due amplificazioni sono uguali ed opposte,
realizzando quindi un amplificatore operazionale ideale.
Comunque, a prescindere da questo caso estremo, la (4.295) puo’ essere molto semplicemente interpretata, osservando che il secondo termine nel denominatore rappresenta il
parallelo tra re2 e RE : e’ quindi la risposta di un amplificatore CE , con un carico di
emettitore dato appunto da quel parallelo (vedi Fig. 4.62(a)). Il segnale v2 , invece, vede
un amplificatore a due stadi (Fig. 4.62(b)); uno stadio inseguitore di tensione, seguito da
un amplificatore a base comune. Nel limite in cui RE e’ infinito, l’inseguitore di tensione
amplifica esattamente 1, e quindi il guadagno complessivo e’ quello di uno stadio CB, dimezzato a causa dell’accoppiamento tra i due stadi, come gia’ visto nel paragrafo 4.9.2.
E’ interessante osservare che la banda passante e’ diversa per i due ingressi. Infatti l’ingresso 1 subisce l’effetto Miller, contrariamente all’ingresso 2. Di fatto quindi l’amplificatore
nel suo complesso ha una larghezza di banda utile determinata dall’ingresso 1: a frequenze piu’ alte le due amplificazioni diventano molto diverse e il CMRR ovviamente diventa
molto cattivo.
Resistenza differenziale d’ingresso
VCC
RC
RC
vo1
vo2
Rs
Q
Q1
Rs
2
+
_
+
vs2
vs1
R E1
R E2
_
RE
VEE
Figura 4.63:
a) Amplificatore differenziale modificato per aumentare la resistenza d’ingresso differenziale.
Un importante fattore di merito (come comprenderemo meglio nel Cap. 6) di un amplificatore differenziale e’ la resistenza tra i due ingressi, Rdif f , comunemente chiamata resistenza
4.12. AMPLIFICATORE DIFFERENZIALE
171
differenziale d’ingresso.
E’ facile vedere che
Rdif f ≈ hf e1 re1 + hf e2 re2
(4.298)
quindi non molto grande. Se e’ necessario, la si puo’ aumentare aggiungendo due resistenze
sugli emettitori, RE1 e RE2 , come nella Fig. 4.63; si avrebbe allora
Rdif f ≈ hf e1 (re1 + RE1 ) + hf e2 (re2 + RE2 )
(4.299)
dato il fattore moltiplicativo hf e si puo’ ottenere un buon effetto anche con valori di resistenza piccoli.
Si puo’ facilmente calcolare la risposta del circuito in questa nuova situazione; il procedimento resta invariato, basta sostituire re1 con re1 + RE1 e re2 con re2 + RE2 . Si vede
subito che questa modifica riduce il Common Mode Rejection Ratio, quindi e’ chiaramente
necessaria, in fase di progetto, una scelta di compromesso.
Amplificatore differenziale con generatore di corrente
L’analisi che abbiamo fatto ci suggerisce che possiamo migliorare molto le prestazioni
dell’amplificatore, sostituendo il resistore RE con un generatore di corrente, come in Fig.
4.64(a). Il circuito equivalente per piccoli segnali si modifica quindi come nella Fig. 4.64(b).
E’ importante ora notare che, se il generatore e’ ideale, IE e’ costante, quindi nell’analisi
per piccoli segnali, il generatore iE eroga corrente nulla, cioe’ iE = 0. In altre parole noi
abbiamo sempre
ie1 + ie2 = iE = 0
(4.300)
ovvero
ie1 = −ie2
(4.301)
Se ora cerchiamo di calcolare l’amplificazione di modo comune, Ac , inviando agli ingressi
due segnali uguali, abbiamo
re2
ie1 =
ie2
(4.302)
re1
l’unico modo di soddisfare simultaneamente la (4.301) e la (4.302) e’ di avere ie1 = ie2 = 0.
Quindi l’amplificazione di modo comune e’ nulla e il CMRR e’ infinito.
In pratica possiamo realizzare il generatore di corrente utilizzando una delle soluzioni
riportate nel paragrafo 4.6.2 (vedi Fig. 4.35). Naturalmente non e’ una sorgente di corrente
ideale, il generatore ha in realta’ una resistenza d’uscita ro grande ma non infinita. Percio’
l’analisi del circuito richiede di tener conto di questa e, nei fatti, il CMRR non e’ infinito,
ma si puo’ comunque guadagnare un fattore molto grande rispetto a quanto si puo’ ottenere
con un resistore.
Amplificatore differenziale con carico attivo
L’amplificatore differenziale può essere ulteriormente migliorato sostituendo i resistori sul
collettore con un carico attivo, costituito da uno specchio di corrente, come in Fig 4.65. In
questa situazione tutti i transistor hanno la stessa corrente, I/2, fornita dal generatore di
corrente posto sugli emettittori dei due transistor.
172
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
VCC
RC
RC
vo1 vo2
Rs
Q
Q1
Rs
2
+
(a)
_
+
vs2
vs1
_
IE
VEE
Rs
(b)
ie1
ie2
re1
re2
α1ie1
v1
vo1 iE
Rs
α2 ie2
v2
vo2
+
vs1
_
+
RC
RC
_
vs2
Figura 4.64:a) Amplificatore differenziale con generatore di corrente;b) Circuito equivalente.
Possiamo analizzare il circuito utilizzando lo schema equivalente per piccoli segnali di Fig
4.66. Abbiamo utilizzato il modello π per i transistor Q1 ,Q2 e Q4 , mentre il transistor
Q3 e’ piu’ convenientemente schematizzato con il modello T; il generatore di corrente I e’
rappresentato dalla sua resistenza di uscita ROE (infinita se I fosse ideale).
Per trovare l’amplificazione differenziale, con uscita singola, immaginiamo di applicare due
segnali v1 e v2 uguali ed opposti; inoltre mettiamo in corto circuito l’uscita per calcolare
la transconduttanza Gm dell’amplificatore.
Se i due transistor Q1 e Q2 sono sufficientemente simmetrici le due correnti di emettitore
ie1 e ie2 sono uguali ed opposte, dunque la corrente che scorre in ROE e’ nulla e il nodo E
risulta virtualmente a massa. Inoltre, la base di Q3 e la base di Q4 sono ovviamente alla
stessa tensione, ovvero vb3 = vb4 .
Possiamo scrivere
vb3 = gm1 v1 (re3 k ro3 k ro1 k rπ4 ) ≃ gm1 re3 v1
(4.303)
quindi
gm4 vb4 = gm4 v34 = −gm4 gm1 re3 v1
(4.304)
173
4.12. AMPLIFICATORE DIFFERENZIALE
Figura 4.65:Amplificatore differenziale con carico attivo.
La corrente d’uscita io puo’ essere ricavata dall’equazione del nodo B, ovvero
io = −gm2 v2 − gm4 vb4 = −gm2 v2 + gm4 gm1 re3 v1
(4.305)
(si noti che in ro3 e ro4 non circola corrente poiché esse hanno entrambi gli estremi a massa)
Poiché i 4 transistor hanno la stessa corrente, I/2, tutte le transconduttanze sono uguali e
si puo’ scrivere
io = gm (v1 − v2 ) = gm vd
(4.306)
La transconduttanza dell’amplificatore è quindi
Gm = g m =
I
2VT
(4.307)
E’ facile constatare, osservando la Fig 4.66, che la resistenza d’uscita Ro e’ semplicemente
data dal parallelo di ro2 ed ro4
Ro = ro2 k ro4
(4.308)
quindi l’amplificazione differenziale (senza carico esterno) è data da
vo
Ad =
= Gm (ro2 k ro4 )
vd
(4.309)
Se ro2 ≃ ro4 possiamo infine scrivere
1
(4.310)
Ad ≃ Gm ro4
2
Calcoliamo ora l’amplificazione di modo comune, ovvero nel caso in cui v1 = v2 = vi .
Partendo dall’ingresso 1 possiamo scrivere
vi = rπ1 ib1 − 2ROE ie ≃ −2ROE ie
(4.311)
174
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Figura 4.66:Circuito equivalente per piccoli segnali
ovvero
ie ≃ −
vi
2ROE
(4.312)
La tensione nel nodo A e’ data da
vb3 = −(re3 k ro3 k rπ4 )ic ≃ (re3 k rπ4 )ie
(4.313)
Siamo ora in grado di scrivere la tensione di uscita
vo = ro4 (−gm4 vb4 − ic )
= ro4 (−gm4 vb4 + ie )
= ro4 [gm4 (re3 k rπ4 )
= ro4
vi
vi
−
]
2ROE
2ROE
vi
[gm4 (re3 k rπ4 ) − 1]
2ROE
Si ricava quindi, per l’amplificazione di modo comune
Ac =
ro4
vo
=
[gm4 (re3 k rπ4 ) − 1]
vi
2ROE
(4.314)
Questa espressione diviene significativa se, come è ragionevole, ipotizziamo che lo specchio
di corrente sia costituito da due transistor pnp identici, ovvero con lo stesso guadagno di
corrente β; inoltre essi hanno sicuramente la stessa transconduttanza, gm , visto che sono
percorsi dalla stessa corrente. Possiamo allora, con alcuni passaggi, verificare che
re3 k rπ4 =
β
gm (2 + β)
(4.315)
175
4.13. LA REAZIONE NEGATIVA
e allora la 4.314 diviene semplicemente
Ac = −
ro4
ro4
≃−
(2 + β)ROE
βROE
(4.316)
Come si vede, l’amplificazione di modo comune e’ depressa di un fattore β rispetto a quella
ottenuta nel circuito con carico resistivo e tende ad annullarsi per ROE → ∞. Infine, il
rapporto di reiezione di modo comune diviene
1
ρ = − gm βROE
2
(4.317)
Il carico attivo produce quindi un miglioramento di un fattore β/2 sul CMRR.
4.13
La reazione negativa
La stabilita’ e’ un requisito essenziale degli amplificatori, in tutte le loro applicazioni. Si
richiede cioe’ che le prestazioni (amplificazione di corrente e di tensione) siano indipendenti
da fattori esterni, p.es. la temperatura, e non siano legate ai valori individuali dei parametri
dei transistors. In genere questi requisiti sono ottenuti introducendo effetti di reazione
negativa (o controreazione). Abbiamo gia’ utilizzato, senza saperlo, questi effetti; ora
xs
xi
A
xo
RL
xf = β x
o
β
Figura 4.67: Un amplificatore con rete di reazione
dobbiamo studiarli in modo esplicito.
Consideriamo la rete in Fig. 4.67, in cui il segnale xo all’uscita dell’amplificatore A viene,
in parte, rimiscelato all’ingresso, attraverso la rete passiva β. Con xi , xo , ecc., abbiamo
indicato una generica variabile elettrica, corrente o tensione. Abbiamo ora
xi = xs − xf
= xs − βxo
(4.318)
(4.319)
si noti che xf e’ sottratto al segnale d’ingresso xs . Si ha quindi
Af =
xo
xo
=
xs
xi + βxo
(4.320)
e, dividendo numeratore e denominatore per xi , si ottiene
Af =
A
1 + βA
(4.321)
176
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Chiaramente l’amplificazione complessiva (amplificazione con reazione) e’ diminuita, tuttavia ne avremo guadagnato in stabilita’: infatti, se βA ≫ 1 si ha
Af ≃
1
β
(4.322)
Questo e’ molto importante perche’ la funzione di trasferimento β e’ in genere legata solo
a componenti passive, quindi l’amplificazione con reazione non dipende piu’ da parametri
instabili, come ad esempio quelli dei transistors che costituiscono l’amplificatore A. Piu’ in
generale, differenziando la 4.321 rispetto ad A si ottiene:
dAf dA
1
(4.323)
Af = |1 + βA| A
Cio’ significa che le variazioni di Af sono ridotte, rispetto a quelle di A di un fattore grande.
La reazione negativa ha inoltre effetto sulla larghezza di banda dell’amplificatore. Supponiamo che il nostro amplificatore sia approssimativamente esprimibile come un passa-basso:
A=
Ao
f
1+j
fH
(4.324)
Introducendo la reazione si ha
Ao
f
fH
βAo
Ao
1 + βAo
=
=
f
f
1+
1 + βAo + j
1+j
fH
fH (1 + βAo )
f
1+j
fH
Aof
1+j
Af
=
=
1+j
Ao
f
′
fH
dove abbiamo indicato con Aof l’amplificazione a media frequenza con reazione. Si vede
′ e’ aumentata di un fattore (1 + βA ), con
quindi che la nuova frequenza di taglio fH
o
conseguente incremento della larghezza di banda. E’ interessante notare che il prodotto
(amplif icazione × larghezza di banda) e’ costante: infatti
′
Af × fH
= A × fH
(4.325)
Questa proprieta’ deriva semplicemente dalla linearita’ della discesa di amplificazione ad
alta frequenza; non e’ piu’ valida se l’amplificazione scende con tratti di pendenza diversa.
Vi sono quattro possibilita’ per introdurre la reazione negativa in un circuito. Infatti il
segnale di reazione xf puo’ essere proporzionale alla tensione o alla corrente d’uscita, e
puo’ essere miscelato al segnale d’ingresso in serie o in parallelo.
177
4.13. LA REAZIONE NEGATIVA
io
io
+
vs
+
vi
_
A
RL
vo
vs
vf
vi
_
A
vo
vf
vf =β vo
vf =β i o
β
(a)
β
(b)
Figura 4.68: Reazione negativa in serie: la tensione di reazione vf viene sottratta nella maglia d’ingresso.
(a) Reazione di tensione, stabilizza l’amplificazione di tensione;
(b) Reazione di corrente, stabilizza la transconduttanza.
Reazione negativa in serie
Il segnale di reazione, xf , viene miscelato in serie al segnale della sorgente xs , ed e’ quindi
una tensione vf .
Puo’ essere proporzionale alla tensione d’uscita
vf = βvo
(4.326)
vf = βio
(4.327)
oppure alla corrente d’uscita
I due casi sono schematizzati nella Fig. 4.68. Nel primo β e’ un rapporto tra tensioni;
viene utilizzato per stabilizzare l’amplificazione di tensione
Avf =
Av
1
≃
1 + βAv
β
(4.328)
Nel secondo β ha le dimensioni di una resistenza; viene utilizzato per stabilizzare la
transconduttanza, Gv , dell’amplificatore
Gvf =
1
Gv
≃
1 + βGv
β
(4.329)
Reazione negativa in parallelo
Il segnale di reazione, xf , viene miscelato in parallelo al segnale della sorgente xs , ed e’
quindi una corrente if .
Puo’ essere proporzionale alla corrente d’uscita
if = βio
(4.330)
if = βvo
(4.331)
oppure alla tensione d’uscita
RL
178
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
io
io
+
+
vs
_
vi
A
RL
vo
vs
_
vi
A
vo
if
if
i f =β i o
i f =β vo
β
(a)
β
(b)
Figura 4.69: Reazione negativa in parallelo: la corrente di reazione if , viene sottratta in parallelo all’ingresso.
(a) Reazione di corrente, stabilizza l’amplificazione di corrente;
(b) Reazione di tensione, stabilizza la transresistenza.
I due casi sono schematizzati nella Fig. 4.69. Nel primo β e’ un rapporto tra correnti;
viene utilizzato per stabilizzare l’amplificazione di corrente
Aif =
Ai
1
≃
1 + βAi
β
(4.332)
Nel secondo β ha le dimensioni di una conduttanza; viene utilizzato per stabilizzare la
transresistenza, Rv , dell’amplificatore
Rvf =
Rv
1
≃
1 + βRv
β
(4.333)
La reazione negativa ha anche un effetto sulla resistenza d’ingresso e sulla resistenza d’uscita dell’amplificatore. In particolare se la reazione e’ in serie la resistenza d’ingresso
aumenta, mentre diminuisce se e’ in parallelo. Per quanto riguarda invece la resistenza
d’uscita essa diminuisce se la reazione e’ di tensione, aumenta se e’ di corrente.
In tutti i casi la reazione provoca diminuzione della grandezza stabilizzata, compensata da
un allargamento della banda passante.
Nella Tabella 4.3 abbiamo riepilogato gli effetti dei 4 tipi di reazione negativa.
4.13.1
Esempi
Possiamo comprendere meglio il meccanismo della reazione attraverso alcuni esempi. Si
noti che normalmente il circuito non e’ formato da un amplificatore cui si aggiunge una
rete di reazione, come abbiamo fatto nel paragrafo precedente; nella realta’ la reazione e’
spesso insita nel circuito stesso.
Consideriamo per esempio l’inseguitore di tensione, schematicamente riportato in Fig. 4.70(a).
In questo circuito si ha un esempio di reazione tensione-serie; infatti, nella maglia d’ingresso viene riportata una tensione (in serie al generatore vs ) uguale alla tensione d’uscita vo .
In questo caso quindi
vf
β=
=1
(4.334)
vo
RL
179
4.13. LA REAZIONE NEGATIVA
Tensione
Corrente
Corrente
Tensione
in serie
in serie
in parallelo
in parallelo
Av
Gv
Ai
Rv
Rin
Aumenta
Aumenta
Diminuisce
Diminuisce
Rout
Diminuisce
Aumenta
Aumenta
Diminuisce
Stabilizza
Tabella 4.3:Caratteristiche dei 4 tipi di reazione negativa.
Si ha quindi
Avf ≃
1
=1
β
(4.335)
ed e’ il risultato che gia’ conosciamo. Se invece prendiamo l’amplificatore ad emettitore
comune di Fig. 4.70(b), vediamo che in questo caso si riporta nella maglia d’ingresso una
tensione proporzionale alla corrente d’uscita ic . Infatti
vf = −RE ie ≃ RE ic
(4.336)
β = −RE
(4.337)
ovvero
quindi e’ una reazione di corrente in serie.
In questo caso la grandezza reazionata e’ la transconduttanza Gv
Gvf ≃
1
1
=−
β
RE
(4.338)
Percio’ viene stabilizzato il rapporto tra corrente d’uscita, io e tensione d’ingresso vs . Ora,
poiche’ la tensione d’uscita e’ proporzionale alla corrente d’uscita, si ha in conseguenza
anche una stabilizzazione dell’amplificazione di tensione
Avf =
RC
RC i o
= RC Gvf = −
vs
RE
(4.339)
Possiamo quindi comprendere meglio, alla luce della reazione negativa che abbiamo imparato, il comportamento particolarmente stabile di questi due amplificatori.
Il circuito di Fig. 4.70(c) e’ un esempio di reazione tensione-parallelo. Infatti la corrente
che scorre in R′ e’ data da
vi − vo
vo
if =
≃− ′
(4.340)
′
R
R
dato che vo ≫ vi . Quindi
1
(4.341)
β=− ′
R
La grandezza reazionata e’ la transresistenza Rv , cioe’
Rvf ≃
1
= −R′
β
(4.342)
180
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
VCC
VCC
(a)
(b)
Rs
vo
_
vo
Rs
+
vs
RC
ic
vf
+
vs
_
RE
vf
VEE
ic
vo
R’
VCC
RC
Rs
Q1
if
Q2
vo
+
+
vs
VCC
(d)
RC
if
Rs
VEE
VCC
(c)
RE
vs
_
_
RE
R’
VEE
RE
VEE
Figura 4.70: Circuiti con reazione negativa:
(a)
(b)
(c)
(d)
tensione in serie;
corrente in serie;
tensione in parallelo;
corrente in parallelo
Infine il circuito in Fig. 4.70(d) e’ un esempio di reazione corrente-parallelo. Si tratta di
un amplificatore a due stadi (CE-CC) in cui si riporta in parallelo all’ingresso del primo
stadio un segnale proporzionale alla corrente d’uscita. Si ha infatti
if =
VB 1 − VE 2
−VE2
(io − if )RE
≃
=
′
′
R
R
R′
(4.343)
Da cui si puo’ ricavare if
if =
R′
RE
io
+ RE
(4.344)
La grandezza reazionata e’ l’amplificazione di corrente ed il fattore β e’ dato da
β=
R′
RE
+ RE
(4.345)
181
4.13. LA REAZIONE NEGATIVA
Quindi l’amplificazione di corrente e’ data da
Aif ≃
R ′ + RE
1
=
β
RE
(4.346)
182
CAPITOLO 4. TRANSISTOR A GIUNZIONE (BJT)
Capitolo 6
Amplificatori operazionali
6.1
Introduzione
Gli amplificatori integrati (comunemente chiamati amplificatori operazionali) sono divenuti
ormai, grazie ai progressi nel campo dell’integrazione, uno dei componenti essenziali dell’elettronica. Sono degli amplificatori a molti stadi, accoppiati in continua, quasi sempre con
ingresso differenziale, caratterizzati da un’altissima amplificazione di tensione (105 ÷ 106 ),
alta resistenza d’ingresso e bassa resistenza d’uscita, realizzati su un unico circuito integrato. I costi di produzione sono ormai bassissimi e questo componente, che si presta, come
vedremo, a svariati usi, sostituisce in moltissime applicazioni gli amplificatori convenzionali
a transistors.
6.2
Caratteristiche generali
Ro
2
2
vo
+
vo
Ri
_
1
Av(v2-v1)
1
(a)
(b)
Figura 6.1:(a) Simbolo circuitale dell’amplificatore operazionale;(b) Circuito equivalente
Nella Fig. 6.1(a) e’ riportato il simbolo circuitale usato per gli amplificatori operazionali
con ingresso differenziale; la Fig. 6.1(b) mostra il circuito equivalente. Come abbiamo
detto Av ed Ri sono molto grandi, mentre Ro e’ molto piccolo; possiamo quindi partire da
183
184
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
un’ipotesi semplificativa, il modello ideale di amplificatore, in cui si assume che:
Av = −∞
Ri = ∞
Ro = 0
E’ anche implicito nel modello ideale che il Rapporto di Reiezione di Modo Comune
(CMRR) sia infinito 1 .
R’
R
Ro
R
+
vo
+
vs
vs
vi
Ri
R1
_
Avvi
R2
vo
_
(a)
(b)
Figura 6.2:
(a) Amplificatore invertente;
(b) Circuito equivalente con il teorema di Miller. Abbiamo indicato con vi la differenza v2 − v1 .
Amplificatore invertente
Possiamo immediatamente comprendere l’utilita’ di questo componente attraverso alcuni
semplici esempi. Consideriamo anzitutto il circuito in Fig. 6.2(a), in cui abbiamo posto
a massa l’ingresso non invertente, mentre l’altro ingresso e’ collegato all’uscita attraverso
una resistenza di reazione R′ . Possiamo modificare il circuito utilizzando il teorema di
Miller (Fig. 6.2(b), sostituendo R′ con due resisistenze R1 ed R2 , dove
R1 =
R2 =
R′
1 − Av
R′
1
1−
Av
(6.1)
(6.2)
Dato l’elevatissimo valore di Av , R1 e’ una resistenza molto piccola, mentre R2 ≃ R′ .
Scegliendo per R′ un valore abbastanza grande, ovvero molto maggiore di Ro , il suo effetto
sulla maglia d’uscita e’ trascurabile, mentre, nella maglia d’ingrssso, Ri e’ trascurabile
rispetto ad R1 , per cui in definitiva abbiamo:
vo = Av (v2 − v1 ) = Av v2
R1
vs
v2 =
R + R1
1
Si noti che stiamo utilizzando, qui e nel seguito, una notazione per cui Av è intrinsecamente negativo,
come in molti manuali. Questo è a volte fonte di confusione negli studenti. Si può evitare ogni confusione
ricordando sempre che l’amplificatore operazione inverte il segno di ciò che entra nel morsetto negativo.
185
6.2. CARATTERISTICHE GENERALI
Possiamo quindi ricavare l’amplificazione con reazione
Avf
R1
vo
= Av
vs
R + R1
R′
1 − Av
= Av
R′
R+
1 − Av
′
R
≃ −
R
≡
avendo sfruttato il fatto che Av → −∞.
Come si vede l’amplificazione e’ negativa, da cui il nome di amplificatore invertente, dipende
solo dal valore delle due resistenze esterne, e non piu’ dai parametri dell’amplificatore. E’
anche importante notare che la tensione v2 e’ praticamente zero, come la tensione v1 : la
differenza di potenziale tra i due ingressi e’ forzata a zero proprio dall’effetto Miller, che
introduce tra essi una resistenza bassissima. Tuttavia la resistenza d’ingresso vista dal
segnale e’
vs
= R + R1 ≃ R
(6.3)
is
L’ingresso 2 e’ quindi quello che si dice una massa virtuale, cioe’ un nodo la cui tensione
e’ sostanzialmente zero, pur essendo connesso alla massa attraverso una resistenza molto
elevata (Ri ). In sostanza la presenza della resistenza di reazione R′ obbliga i due ingressi
dell’operazionale a portarsi allo stesso potenziale: qualunque tentativo noi facciamo di
variare in un verso o nell’altro la tensione all’ingresso 2 provoca una reazione opposta che,
attraverso la resistenza R′ , riporta il terminale d’ingresso 2 allo stato di partenza.
E’ possibile ricalcolare l’amplificazione del circuito della Fig. 6.2a usando a priori questa
proprieta’. Diciamo allora che:
1. la tensione v2 (ingresso (−) ) e’ uguale alla tensione v1 (ingresso (+) ), cioe’, nel caso
in esame, pari a zero;
2. non entra corrente nell’operazionale (perche’ la resistenza d’ingresso e’ molto elevata),
quindi la corrente is che circola in R e’ la stessa che circola in R′ .
Possiamo scrivere l’equazione del nodo di ingresso (−), assegnando arbitrariamente un
verso alla corrente is
(vs − 0)
R
vs
R
=
=
(0 − v0 )
R′
−v0
R′
Da cui si ricava immediatamente
vo
vs
= −
R′
R
186
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
cioe’ ritroviamo in modo immediato il risultato gia’ noto.
Queste due ipotesi semplificative ( uguaglianza di tensione tra i morsetti d’ingresso e resistenza d’ingresso infinita) ci consentiranno di calcolare in modo molto semplice il comportamento di moltissimi circuiti basati sull’amplificatore operazionale. E’ bene pero’ sempre
ricordare che si tratta di una approssimazione: vedremo in seguito dei casi in cui questa
approssimazione ci porterebbe a risultati grossolanamente errati. Ci conviene quindi calcolare anche l’amplificazione esatta, nel caso piu’ generale, in cui al posto di R ed R′ poniamo
due generiche impedenze Z e Z ′ (Fig.6.3).
Z’
+
Z
vs
vi
Ri
_
vo
+
vs
Ro
Z
Z’
Avvi
vo
_
(b)
(a)
Figura 6.3:(a) Il caso di generiche impedenze;(b) Circuito equivalente.
Applicando il metodo dei nodi all’ingresso 2 ed all’uscita abbiamo
Vi Vi − Vo
Vs − Vi
=
+
Z
Ri
Z′
AV Vi − Vo Vi − Vo
0=
+
Ro
Z′
(6.4)
(6.5)
dove naturalmente stiamo lavorando nel dominio complesso. Eliminando Vi tra le due
equazioni, si ottiene con alcuni passaggi
Vo
=
Vs
Y
Yo + Y ′
−Y +
(Y + Yi + Y ′ )
AV Yo + Y ′
(6.6)
′
dove, per semplicita’ di scrittura, abbiamo sostituito ogni impedenza con la corrispondente
ammettenza. E’ facile verificare che, per AV → ∞, la 6.6 si riduce a
Vo
Y
Z′
=− ′ =−
Vs
Y
Z
(6.7)
cioe’ la generalizzazione del risultato ottenuto nel caso di impedenze puramente resisistive.
Il risultato che abbiamo ottenuto con la 6.6 ci sara’ utile in seguito.
187
6.2. CARATTERISTICHE GENERALI
R’
R
1
Ri
R’
2
2
+
vo
1
R
vs
_
Avvi
vo
+
vs
_
(a)
(b)
Figura 6.4:
(a) Amplificatore non-invertente;
(b) Circuito equivalente; le frecce indicano i versi delle correnti scelti arbitrariamente
Amplificatore non invertente
Vediamo ora il circuito di Fig. 6.4(a). Anche qui abbiamo una rete di reazione sull’ingresso invertente, ma ora il segnale che vogliamo amplificare e’ connesso al morsetto non
invertente. Lo schema equivalente e’ mostrato in Fig. 6.4(b) in cui abbiamo
vi = v2 − v1 = v2 − vs
(6.8)
v2
vo − v2 vs − v2
=
+
R
R′
Ri
(6.9)
L’equazione del nodo 2 e’ data da
da cui si ricava
v2 (
1
1
vo
vs
1
+ ′+
)= ′ +
R R
Ri
R
Ri
(6.10)
trascurando 1/Ri a primo membro e trascurando vs /Ri al secondo membro si ricava
v2 =
R
vo
R + R′
(6.11)
La tensione di uscita e’ data da
vo = Av vi = Av v2 − Av vs
(6.12)
Sostituendo la (6.11) nella (6.12) si ottiene
vo =
R
Av vo − Av vs
R + R′
(6.13)
da cui possiamo facilmente ricavare
Avf ≡
vo
=
vs
Av
R
Av − 1
R + R′
(6.14)
188
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
e, poiché Av → −∞
Avf ≃
R + R′
R
(6.15)
Anche in questo caso, abbiamo un’amplificazione, ora positiva, che dipende solo dai valori
delle due resistenze esterne e non dai parametri dell’operazionale.
Si noti che, anche in questo caso, i due ingressi dell’operazionale sono allo stesso potenziale;
infatti
v2 vo
R R + R′
v2
=
=
=1
(6.16)
vs
vo vs
R + R′ R
Di nuovo, cio’ e’ dovuto alla forte reazione negativa presente nel circuito. Quindi sarebbe
stato possibile calcolare le prestazioni del circuito assumendo a priori l’uguaglianza di
tensione tra i due ingressi, trovando immediatamente
vo
R + R′
vo
=
=
vs
v2
R
(6.17)
A differenza del circuito precedente, la resistenza d’ingresso vista dal segnale e’ proprio Ri ,
cioe’ la resistenza d’ingresso interna dell’amplificatore operazionale. Poiche’ l’amplificazione e’ positiva questo schema prende il nome di amplificatore non-invertente.
Ponendo R ≫ R′ si ha Avf = 1; si realizza in modo semplice un inseguitore di tensione,
con bassa resistenza d’uscita ed alta resistenza d’ingresso. Spesso cio’ e’ fatto ponendo
semplicemente R′ = 0, R = ∞, cioe’ semplicemente collegando l’ingresso invertente con
l’uscita (Fig. 6.5).
Figura 6.5:Inseguitore di tensione.
Da questi due esempi abbiamo quindi compreso che l’amplificatore operazionale ha grandissime potenzialita’, semplicita’ d’uso e consente di realizzare amplificatori molto stabili.
Vedremo nei prossimi paragrafi molte applicazioni in cui sfrutteremo la reazione negativa;
potremo quindi calcolarne facilmente le prestazioni utilizzando le ipotesi semplificative, la
cui validita’ abbiamo qui constatato.
6.3
Amplificatori operazionali reali
Un tipico amplificatore operazionale e’ costituito da tre stadi, un diagramma molto semplificato ma concettualmente corretto e’ mostrato nella Fig 6.6. Lo stadio d’ingresso e’
un amplificatore differenziale (transistor pnp Q1 e Q2 ) con un carico attivo costituito dalla coppia Q3 , Q4 , alimentato dal generatore di corrente 2IE , a sua volta realizzato con
uno specchio di corrente (non mostrato in figura). Il secondo stadio e’ un amplificatore a
emettitore comune che amplifica ulteriormente il segnale e, con il capacitore C, provvede
6.3. AMPLIFICATORI OPERAZIONALI REALI
189
Figura 6.6: Diagramma circuitale semplificato di un amplificatore operazionale
alla compensazione in frequenza 2 . In genere sono necessarie due tensioni di alimentazione
(tipicamente ±10 ÷ 15 V ) che quindi delimitano la massima escursione della tensione d’uscita3 . L’ultimo stadio e’ costituito da un inseguitore di tensione, Q6 e Q7 , di classe AB
(a sua volta alimentato dal generatore di corrente Io ), che fornisce la corrente all’uscita.
E’ chiaro quindi che le prestazioni di un operazionale non sono esattamente quelle ideali
finora considerate: l’amplificazione di tensione e’ molto grande ma non infinita, lo stesso
vale per la resistenza d’ingresso. La resistenza d’uscita non e’ zero, tensione d’uscita
e corrente di uscita sono limitate. Si deve quindi tenere conto di queste limitazioni e
capire la loro eventuale influenza sul comportamento reale di un circuito che utilizza un
operazionele.
Offset di tensione e di corrente
Contrariamente al caso ideale nei due ingressi scorrono delle correnti non nulle, ovvero
le correnti di base di Q1 e Q2 , essenziali per il loro funzionamento. Per rendere minime
queste correnti si possono utilizzare due transistor JFET ( le correnti di gate sono 1000
volte piu’ piccole delle correnti di base), come ad esempio nell’operazionale TL082 o nel
2
3
Il motivo per introdurre questa capacita’ verra’ chiarito in seguito
In realta’ la tensione d’uscita e’ in genere costretta in un intervallo un po’ piu’ ristretto
190
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
LF157. Un’altra soluzione, utilizzata nell’integrato LM358, consiste nel sostituire Q1 e Q2
con due coppie Darlington, guadagnando quindi molto nella resistenza d’ingresso.
R’
R
Ib2
vo
Ib1
Figura 6.7:Correnti d’ingresso: il verso reale dipende dal tipo di giunzione (pn o np)
Queste correnti producono delle cadute di tensione sulle resistenze che compongono la
rete di reazione, o sulla resistenza d’uscita del generatore di segnale collegato all’ingresso.
Prendiamo ad esempio il circuito di Fig. 6.7, ovvero un amplificatore reazionato a cui non
e’ applicato nessun segnale d’ingresso. Ci aspetteremmo quindi un’uscita nulla, ma non e’
esattamente cosi’: poiche’ la corrente Ib2 che entra nell’ingresso 2 non e’ zero, si ha anche
una corrente sulle resistenze R ed R′ , quindi l’ingresso 2 non e’ piu’ alla stessa tensione
dell’ingresso 1 e ovviamente questa differenza si presenta amplificata sull’uscita. Se questa
tensione, vo , e’ comunque piccola , possiamo approssimativamente considerare R ed R′ in
parallelo, e quindi il morsetto 2 si porta alla tensione
v2 ≃
RR′
Ib
R + R′ 2
(6.18)
Il valore assoluto di v2 e’ legato quindi a R ed R′ ; dipende naturalmente dall’utilizzo
che dobbiamo fare del circuito stabilire se questo produca o meno un effetto intollerabile
sull’uscita. Tipicamente esso e’ del tutto trascurabile nel caso di amplificatori con ingresso
FET, mentre puo’ non esserlo per ingressi BJT. Possiamo minimizzare l’effetto scegliendo
valori di R ed R′ non troppo alti, ma possiamo anche , se necessario, curare il problema
alla radice bilanciando il carico sui due ingressi: nel circuito di Fig. 6.8 la resistenza di
9.1k, attraversata dalla corrente Ib1 , riporta, in assenza di segnale esterno, entrambi gli
ingressi alla stessa tensione.
100K
10k
vo
+
vs
_
9.1K
Figura 6.8:Bilanciamento delle correnti di bias.
191
6.3. AMPLIFICATORI OPERAZIONALI REALI
Tuttavia e’ impensabile poter realizzare due ingressi esattamente identici: piccole differenze
costruttive sono inevitabili e quindi le due correnti, Ib1 e Ib2 , non saranno mai uguali. Cio’
significa che, pur in presenza di carichi assolutamente bilanciati, si avra’ una tensione
d’uscita diversa da zero anche in assenza di un segnale d’ingresso. Si definisce quindi la
corrente di bias come la media di Ib1 e Ib2 , mentre il valore assoluto della differenza
(6.19)
Ios = |Ib1 − Ib2 |
prende il nome di corrente di offset: tipicamente e’ tra il 10 ed il 50% della corrente di
bias.
R’
R
+
vs
+V
vo
_
R’’
-V
Figura 6.9:Azzeramento della tensione di offset.
Piu’ in generale le due giunzioni base-emettitore dei due transistors di ingresso possono
avere caratteristiche diverse, ma operativamente cio’ si traduce sempre in un offset di
tensione (continua) presente all’uscita anche in assenza di segnale d’ingresso: si definisce
allora la tensione di offset d’ingresso (Vos ), come la tensione che occorre porre tra i due
ingressi, attraverso carichi uguali, per azzerare perfettamente l’uscita. In genere Vos e’
dell’ordine di pochi mV ; questo significa che ponendo entrambi gli ingressi a massa, in
assenza di reazione, la tensione d’uscita andrebbe a decine o centinaia di volt! Questo in
realta’ non puo’ avvenire, ma l’uscita si porta alla massima (o minima) tensione consentita
dall’alimentazione. Per misurare in pratica la tensione di offset d’ingresso e’ piu’ conveniente ridurre l’amplificazione introducendo la reazione negativa: si puo’ quindi utilizzare
un circuito come quello della Fig. 6.7: si avrebbe
Vos ≃ −vo
R
R′
(6.20)
questo purche’ sia possibile trascurare l’effetto dello sbilanciamento dei due ingressi (in
sostanza, se RIb2 << Vos ). Per una misura piu’ precisa e’ opportuno bilanciare i carichi,
come in Fig. 6.8.
Se necessario, possiamo neutralizzare la Vos con un opportuno partitore posto all’ingresso
non utilizzato, come per esempio in Fig. 6.9: prima di collegare il segnale vs si regola il
potenziometro in modo che l’uscita sia esattamente zero.
Peraltro molti operazionali in commercio hanno ingressi appositi per azzerare l’offset
(Fig. 6.10), senza impegnare gli ingressi ordinari. Il costruttore fornisce, tra le varie specifiche, anche indicazioni sul valore piu’ adatto del partitore di correzione. Da quanto detto
192
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
-V
Figura 6.10:Azzeramento dell’offset da ingressi ausiliari.
finora dovrebbe essere chiaro che e’ opportuno eseguire questa operazione con le stesse
condizioni di carico con cui poi si utilizzera’ l’amplificatore.
Se e’ vero quindi che e’ sempre possibile riportare l’operazionale ad una condizione di
perfetto bilanciamento diviene importante la stabilita’ temporale di questa condizione,
soprattutto in funzione di variazioni di temperatura, altrimenti saremmo costretti ad inseguire queste derive agendo continuamente sul partitore di azzeramento. Tipicamente la
deriva termica della tensione di offset e’ di alcuni µV per grado centigrado ( e di alcuni pA
per grado relativamente alla Ios ); per usi normali non si hanno quindi particolari problemi
in questo senso.
R
vo
vo
R
(a)
(b)
Figura 6.11:(a) Misura della corrente Ib2 ;(b) Misura della corrente Ib1 .
Le correnti di ingresso possono essere misurate , utilizzando alternativamente i due schemi
in Fig. 6.11a e 6.11b, purche’ si possa trascurare l’effetto della Vos . Nel primo caso, se
RIb2 >> Vos , si ha
vo ≃ Ib2 R
(6.21)
mentre nel secondo caso, se RIb1 >> Vos ,
vo = −Ib1 R
(6.22)
Resistenza d’ingresso e di uscita
La resistenza d’ingresso di operazionali realizzati con BJT e’ dell’ordine di qualche M Ω.
Tipiche resistenze d’ingresso di 1012 Ω si possono invece ottenere in operazionali con stadio
d’ingresso a JFET.
193
6.3. AMPLIFICATORI OPERAZIONALI REALI
Poiche’, come abbiamo visto, lo stadio d’uscita di un operazionale e’ in genere un inseguitore
di tensoine, la resistenza d’uscita e’ quella tipica di tali circuiti, cioe’ dell’ordine delle decine
Ωhm. Questo non significa tuttavia che la corrente d’uscita possa divenire arbitrariamente
grande: i normali operazionali possono erogare al massimo qualche decina di mA (questo
valore dipende anche dalla tensione d’uscita), oltre i quali l’amplificatore puo’ degradare
le sue prestazioni o danneggiarsi.
Risposta in frequenza
Un amplificatore operazionale reale non puo’ che avere una banda passante finita. Gli accoppiamenti in continua consentono effettivamente l’amplificazione fino a frequenza zero,
ma, poiche’ esso e’ composto da molti stadi l’andamento ad alta frequenza dell’amplificazione e’ dominato dalla presenza di numerosi poli nella funzione di trasferimento (dovuti
alle capacita’ parassite dei transistors presenti nel circuito), e il diagramma di Bode avra’
quindi un andamento simile a quello mostrato in Fig. 6.12.
Questo puo’ creare grossi problemi di instabilita’ nel circuito nel momento in cui uti|Av| (dB)
Fase (gradi)
0
100
80
-90
60
-180
40
-270
20
0
106
107
108
f(Hz)
Figura 6.12:
Amplificazione di tensione ad anello aperto (linea continua) e sfasamento (linea tratteggiata) di un tipico
amplificatore operazionale senza compensazione interna.
lizziamo l’operazionale con una rete di reazione negativa, cioe’ abbiamo una funzione di
trasferimento del tipo
A
(6.23)
Avf =
1 + βA
Infatti, a causa della rotazione di fase, al crescere della frequenza la reazione diviene positiva (quando lo sfasamento raggiunge 1800 ), cioe’ β diviene negativo. Se esiste una frequenza
per cui βA = −1 l’amplificazione diverge, cioe’ l’amplificatore puo’ entrare in oscillazione. Di fatto quindi, gli inevitabili disturbi presenti su tutto lo spettro di frequenza sono
sufficienti a trasformare il nostro amplificatore in un oscillatore.
194
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
Possiamo studiare quantitativamente questo fenomeno prendendo ad esempio il circuito di
Fig. 6.4, cioe’ l’amplificatore non invertente. In questo caso la reazione e’ di tipo tensioneserie, quindi la grandezza stabilizzata e’ proprio l’amplificazione di tensione. Il fattore di
reazione β e’
R
(6.24)
β=
R + R′
e si ottiene quindi
AV f =
AV
R
1+
AV
R + R′
(6.25)
Nel caso mostrato in Figura 6.12 si vede che la fase raggiunge −180o a circa 12 M hz: a
questa frequenza il modulo di AV vale circa 36 dB. Quindi, se a quella frequenza
R
|AV | = 1
R + R′
(6.26)
l’amplificatore non e’ stabile e puo’ oscillare. Si verifica immediatamente che cio’ corrisponde a
R + R′
= 63
(6.27)
R
In definitiva, se il suddetto rapporto e’ inferiore a 63 la 6.25 puo’ divergere a qualche
frequenza superiore a 12 M hz. In realta’, se si vuole avere un margine di sicurezza, si
deve richiedere che l’amplificazione con reazione sia ben piu’ alta: usualmente si richiede
un margine di fase di 45o , e questo corrisponde nel caso in esame ad un limite inferiore di
316 nell’amplificazione.
Limiti analoghi si possono ricavare nella configurazione invertente, che corrisponde ad una
reazione di tipo tensione-parallelo.
Questa e’ chiaramente una limitazione molto severa nell’uso dell’amplificatore operazionale:
in molti casi e’ quindi necessario aggiungere al circuito una rete RC per modificare in
modo opportuno l’andamento del modulo e della fase di AV . Questa operazione e’ detta
compensazione e puo’ essere sostanzialmente fatta in 3 modi:
1. Compensazione con polo dominante
Si inserisce un ulteriore polo nella funzione di trasferimento ad una frequenza molto
piu’ bassa di quelli esistenti.
2. Compensazione con polo e zero
Si aggiunge sia un polo che uno zero nella funzione di trasferimento: la frequenza
dello zero e’ scelta in modo da cancellare il primo polo, cioe’ fz = f1 .
3. Compensazione per anticipo di fase
Si aggiunge solo uno zero alla funzione di trasferimento: si ottiene cosi’ un anticipo
della fase e conseguentemente aumenta la frequenza per cui si ha la rotazione di
−180o .
195
6.3. AMPLIFICATORI OPERAZIONALI REALI
|Av| (dB)
100
80
60
40
20
0
101
103
105
107
f(Hz)
Figura 6.13:
Diagramma di Bode con la compensazione interna (linea continua). La linea tratteggiata rappresenta la
risposta che si avrebbe senza compensazione.
Gli amplificatori operazionali in commercio sono quasi sempre dotati internamente di
una rete di compensazione, in genere con il metodo del polo dominante: in sostanza si
aggiunge una capacita’ tra l’ingresso e l’uscita di uno degli stadi di amplificazione (ovvero
il condensatore C nella Fig 6.6) . L’effetto Miller provvede a moltiplicare questa capacita’
per un grosso fattore, introducendo quindi un polo a frequenza molto bassa (in molti casi
circa 10 Hz): l’effetto e’ quello mostrato in Fig 6.13. La rotazione di fase arriva ora a
−180o quando il modulo di AV e’ molto inferiore ad uno, eliminando quindi ogni pericolo
di instabilita’.
Apparentemente la banda passante e’ ora molto modesta: in realta’ essa e’ molto piu’
grande in presenza di reazione (si ricordi infatti che il prodotto banda-guadagno e’ costante).
Quindi, se ad esempio l’amplificazione ad anello aperto e’ 105 e la banda passante 10 Hz,
si ha un prodotto banda-guadagno di 106 : un amplificatore che amplifichi 10 ha quindi una
banda di 100 kHz.
Esistono comunque in commercio amplificatori con polo dominante a frequenza piu’ elevata
(per esempio l’integrato LF157 della National ha una frequenza di taglio ad anello aperto
attorno ai 100 Hz).
Slew rate
La slew rate, e’ definita come
dvo S = dt max
(6.28)
ovvero come la massima velocita’ con cui la tensione d’uscita puo’ variare nel tempo,
per ampi segnali di ingresso. Idealmente dovrebbe essere infinita, quindi l’amplificatore
dovrebbe essere in grado di riprodurre fedelmente in uscita un gradino di tensione applicato
196
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
all’ingresso, ma nella realta’ non e’ cosi’ (Fig 6.14). Guardando di nuovo la Fig 6.6 ci
Figura 6.14: Slew rate: un gradino di tensione all’ingresso produce in uscita un segnale con un tempo di
salita finito
rendiamo conto che la velocita’ di variazione di tensione all’uscita del secondo stadio e’
limitata dalla necessita’ di caricare (o scaricare) il condensatore C con la corrente IOU T 1
e questa corrente puo’ essere al massimo pari a 2IE . Cio’ avviene quando, ad esempio,
si applica un ampio gradino di tensione all’ingresso positivo (come nel caso in Fig 6.14):
il transistor Q2 va in saturazione e assorbe tutta la corrente possibile, ovvero 2IE . La
tensione ai capi di C, VC , e’ data da QC /C, quindi la massima variazione di essa e’ data
da
VC
1 dQC
2IE
( )max =
=
dt
C dt
C
La tensione d’uscita Vo non e’ che la replica di Vc percio’ la slew rate e’ sostanzialmente
2IE /C 4 .
Ovviamente la slew rate finita influenza la risposta dell’operazionale anche per segnali
d’ingresso non a gradino. Se la derivata della tensione d’ingresso eccede la slew rate l’uscita
non non e’ in grado di seguirla e la risposta sara’ deformata.
Gli operazionali 741 e LM 358 hanno una slew rate di circa 0.5 V /µs; ma lo LF157 arriva
a 50 V /µs ed esistono in commercio tipi ancor piu’ veloci.
Disponibilita’
La varieta’ di operazionali disponibili in commercio e’ enorme e tutti i principali produttori
di integrati offrono una vasta scelta.
Velocita’, precisione (cioe’ minimi valori di offset di ingresso), consumo e, naturalmente,
costo, sono i parametri principali di cui il progettista deve tener conto per scegliere il
tipo piu’ adatto alle esigenze di una particolare applicazione. Ma vi sono molte altre
caratteristiche che possono essere rilevanti, come ad esempio:
Alimentazione: in generale sono necessarie due alimentazioni, ma alcuni tipi possono
essere utilizzati con una sola (la seconda e’ sostituita dalla massa);
4
Esistono alcuni operazionali realizzati in modo diverso dove questo non e’ vero
197
6.4. APPLICAZIONI
Sigla
Costruttore
Parametro
Unita’
Tensione di offset d’ingresso
LM 358
LF 157
Fairchild
National
National
Typ
Max
(mV )
1.0
Corrente di offset d’ingresso
(nA)
Corrente di bias d’ingresso
(nA)
Impedenza d’ingresso
(M Ω)
Min
µA741
0.3
Alimentazione
(V )
Alimentazione singola
(V )
Guadagno di tensione
(V /mV )
50
CMRR
(dB)
70
Banda
(M Hz)
Slew rate
(V /µs)
Min
Typ
Max
5.0
2.0
20
200
80
500
Min
Typ
Max
7.0
1.0
2.0
5
50
3 (pA)
10 (pA)
45
250
30 (pA)
50 (pA)
2.0
10
±22
Non prevista
200
±1.5
±16
3
32
6
±22
Non prevista
25
100
50
200
65
85
85
100
1.0
1.0
15
20
0.5
0.5
40
50
Tabella 6.1: Confronto tra le caratteristiche di tre operazionali in commercio
Massima escursione del segnale d’uscita: spesso e’ limitata in un intervallo assai piu’
ristretto rispetto alle alimentazioni;
Tensioni d’ingresso (modo comune):per assicurare un corretto funzionamento del circuito
i due ingressi non possono uscire da un certo intervallo di tensione; spesso questo e’
piu’ ristretto rispetto alle alimentazioni;
Massima tensione differenziale d’ingresso: la stessa cosa, ma riferita alla differenza tra i
due segnali d’ingresso.
Nella Tabella 6.1 sono sintetizzate alcune delle principali caratteristiche di tre operazionali
in commercio che abbiamo gia’ citato.
Il 741 e’ un operazionale di uso generale, tra i piu’ noti in commercio. E’ fabbricato
(con sigle lievemente diverse) da moltissimi costruttori, a volte con prestazioni lievemente
diverse per quanto riguarda i limiti di precisione (offset di tensione, di corrente, ecc.).
Comunque tutti hanno ingressi separati per il circuito di correzione dell’offset.
L’integrato LM358, 2 operazionali nello stesso contenitore, discende dal 741, ma non ha gli
ingressi separati per il circuito di correzione dell’offset. Puo’ funzionare anche con una sola
alimentazione (almeno 3 V ), ed ha un assorbimento di potenza sensibilmente piu’ ridotto.
Infine l’amplificatore LF157 ha ingressi JFET (quindi resistenza d’ingresso elevatissima e
correnti d’ingresso trascurabili). E’ molto piu’ veloce avendo una rete di compensazione
con polo dominante attorno ai 100 Hz.
6.4
Applicazioni
L’amplificatore operazionale ha un elevatissimo numero di usi ed applicazioni; ne vedremo
ora alcuni, che studieremo utilizzando quasi sempre il modello di operazionale ideale, ma
avendone chiare le limitazioni.
198
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
Amplificatori
Abbiamo gia’ visto come realizzare amplificatori (invertenti e non) partendo dal modello
di amplificatore ideale. Dobbiamo ora tenere conto delle implicazioni che si hanno nella
realta’, quando si utilizzano operazionali commerciali.
Prima di tutto vi e’ una limitazione della banda passante. Poiche’ il prodotto (guadagno) ×
(banda) e’ costante si ricava immediatamente la banda passante che si ottiene per ogni
amplificazione, come e’ mostrato nella Fig. 6.15, dove si fa riferimento ad un tipico operazionale con frequenza di taglio ad anello aperto di circa 10 Hz.
Vi e’ poi una limitazione nella dinamica di uscita. La tensione di uscita, vo , non puo’ uscire
dall’intervallo definito dalle due alimentazioni (con un certo margine), quindi segnali piu’
grandi verranno deformati, come sempre succede in tutti gli amplificatori.
Abbiamo infine visto che l’amplificazione e’ legata al rapporto tra le resistenze della rete
di reazione. C’e’ quindi ampia liberta’ di scelta sul valore assoluto di questi componenti.
E’ bene tuttavia mantenersi su valori intermedi, sulla base di due considerazioni opposte.
La prima e’ legata alle correnti di bias. Resistenze molto grandi inducono, a causa delle
correnti di bias, un offset di tensione sugli ingressi, che puo’ in alcuni casi, essere indesiderato. La seconda e’ legata al fatto che la resistenza di reazione assorbe corrente dall’uscita
dell’operazionale, quindi e’ bene che non sia troppo piccola. Peraltro, nel caso dell’amplificatore invertente, la resistenza d’ingresso e’ proprio data dalla resistenza esterna R, ed e’
bene quindi che essa non sia troppo piccola5 .
|Av| (dB)
100
80
60
40
20
0
101
103
105
107
f(Hz)
Figura 6.15:
Diagramma di Bode dell’operazionale LM358 ad anello aperto (linea continua). Le linee tratteggiate
esemplificano la banda passante di 3 amplificatori con guadagno 10, 100, 1000 rispettivamente.
5
Tutte queste considerazioni valgono naturalmente anche per molti degli esempi di applicazioni che
seguono.
199
6.4. APPLICAZIONI
Amplificatore differenziale
Per costruire un amplificatore differenziale si puo’ utilizzare lo schema mostrato nella
Fig. 6.16. In base a quanto ormai abbiamo imparato possiamo assumere che nell’opeR2
v1
v2
R1
i
R1
i’
vo
R2
Figura 6.16:Amplificatore differenziale.
razionale non entra corrente e che i terminali d’ingresso sono alla stessa tensione, v. Dal
morsetto invertente ricaviamo
vo = v − iR2
(6.29)
dove
i=
v1 − v
R1
(6.30)
R2
(v1 − v)
R1
(6.31)
R2
R2
)−
v1
R1
R1
(6.32)
quindi
vo = v −
ovvero
vo = v(1 +
Dal morsetto non invertente possiamo ricavare v, cioe’
R2
R1 + R2
(6.33)
R2
(v2 − v1 )
R1
(6.34)
v = v2
e combinando le due equazioni si ottiene
vo =
Naturalmente questo risultato presuppone un amplificatore operazionale ideale e fornisce
quindi un CMRR infinito. In realta’ si avra’ una reiezione di modo comune finita anche se
elevata; si noti inoltre che abbiamo presupposto l’assoluta eguaglianza delle due resistenze
R1 e delle due resistenze R2 .
200
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
R’
i
R1
v1
vo
R2
v2
R3
v3
Rn
vn
Figura 6.17:Sommatore analogico invertente.
Sommatore analogico
Consideriamo il circuito in Fig 6.17; i due morsetti d’ingresso sono ora a tensione zero,
quindi la corrente i e’ data da
i=
v2
vn
v1
+
+ ··· +
R1 R2
Rn
(6.35)
d’altra parte
e quindi
vo = −R′ (
vo = −R′ i
(6.36)
v1
v2
vn
+
+ ··· +
)
R1 R2
Rn
(6.37)
Ponendo
R1 = R2 = · · · = Rn
(6.38)
la tensione d’uscita sara’ data da
vo = −
R′
(v1 + v2 + · · · + vn )
R
(6.39)
cioe’ sara’ proporzionale alla somma delle tensioni d’ingresso.
Generatore ideale di corrente
L’amplificatore operazionale puo’ essere utilizzato come sorgente ideale di corrente. Infatti,
se consideriamo il circuito in Fig. 6.18(a), la corrente che circola nel carico RL e’ data da
i=
vs
R
(6.40)
cioe’ non dipende da RL .
Questo circuito non e’ pero’ facilmente utilizzabile perche’ il carico RL non ha nessuno dei
due estremi a massa. Una possibile soluzione a questo inconveniente e’ quella mostrata nella
201
6.4. APPLICAZIONI
VCC
R
R
R1
RL
iL
vo
vs
+
vs
R2
_
iL
(b)
(a)
Figura 6.18:
(a) Sorgente di corrente: la corrente iL e’ indipendente da RL ;
(b) Sorgente di corrente per un carico connesso a massa.
Fig. 6.18(b). Qui la reazione costringe il morsetto negativo d’ingresso dell’operazionale
alla tensione vs , per cui la corrente IE del transistor e’ data da
IE =
VCC − vs
R
(6.41)
La corrente iL (circa uguale a IE ) nel carico e’ controllabile con vs ed e’ assolutamente
costante, salvo piccolissime variazioni dovute al fatto che la corrente di base del transistor
puo’ variare con VCE .
Derivatore e integratore
Il circuito di Fig. 6.19(a) si comporta come un derivatore. Infatti, applicando la relazione
(6.7) otteniamo
Vo
= −jωRC
(6.42)
Vs
cioe’ proprio la funzione di trasferimento del derivatore ideale.
Tuttavia questo calcolo e’ puramente teorico, come si comprende osservando che la funzione
di trasferimento divergerebbe ad alta frequenza. Il modello ideale di amplificatore non e’
applicabile e occorre tener conto in modo piu’ realistico della funzione di trasferimento vera.
Prendiamo ad esempio un operazionale compensato internamente: possiamo descrivere la
sua amplificazione ad anello aperto con l’espressione ad un solo polo
AV =
AV o
f
1+j
f1
(6.43)
202
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
|Av| (dB)
100
R
80
C
vs
vo
60
40
(a)
20
0
101
105
103
107
f(Hz)
(b)
Figura 6.19:
Derivatore: (a) Schema del circuito;
(b) Diagramma di Bode: la linea puntinata rappresenta il diagramma ideale, mentre quello reale (per RC =
10−4 s) e’ rappresentato dalla linea continua, quando si tenga conto della vera funzione di trasferimento
dell’operazionale (linea tratteggiata)
dove f1 e’ la frequenza del polo dominante. Utilizziamo quindi la (6.6) dove ora AV non
e’ costante, ma e’ espresso dalla (6.43). Si otterra’ allora la funzione di trasferimento piu’
realistica riportata in Fig 6.19(b).
Analogamente, il circuito di Fig. 6.20(a) si comporta come un integratore: la sua funzione
di trasferimento e’ infatti
Vo
1
=−
(6.44)
Vs
jωRC
L’integratore realizzato in questo modo non puo’ concretamente funzionare; infatti l’amplificazione a bassa frequenza (fino alla tensione continua) e’ troppo alta: una piccola
componente di bassa frequenza (o una livello di tensione continua) presente nel segnale
d’ingresso porterebbe immediatamente in saturazione l’uscita. E’ quindi necessario introdurre una capacita’ di blocco C1 in serie all’ingresso; a questo punto pero’ non ci sarebbe
piu’ un percorso per la corrente continua di ingresso Ib2 ed e’ necessario aggiungere una
resistenza R1 in parallelo a C (Fig. 6.20(b)).
Il circuito e’ ora simultaneamente un derivatore ed un integratore: occorre che l’effetto
derivante sia trascurabile, per cui si deve avere R1 ≫ R, C1 ≫ C e R1 C1 ≫ T , dove T
e’ il periodo del segnale che si vuole integrare. In Fig. 6.20(c) vediamo un esempio con
RC = 10−6 s, C1 = 1. µF e R1 = 10 M Ω.
203
6.4. APPLICAZIONI
|Av| (dB)
C
(a)
R
vs
100
vo
80
60
R1
(b)
vs
C1
40
C
R
20
vo
0
101
105
103
107
f(Hz)
(c)
Figura 6.20:
(a) Integratore;
(b) Integratore modificato;
(c) Diagramma di Bode dell’integratore modificatocon RC = 10−6 s, C1 = 1. µF e R1 = 10 M Ω (linea
continua). La linea tratteggiata rappresenta il diagramma di Bode dell’operazionale ad anello aperto.
Raddrizzatore di precisione
Consideriamo il circuito di Fig. 6.21a): se vi e’ negativo il diodo non conduce, non vi e’
quindi contro reazione e l’uscita vo e’ nulla. Quando
vi >
Vγ
Av
(6.45)
(dove Vγ e’ la tensione di ginocchio del diodo) il diodo entra in conduzione e vo ricopia
fedelmente la forma dell’ingresso. Il vantaggio rispetto ad un normale raddrizzatore e’ che
la tensione di ginocchio del diodo e’ divisa per un fattore elevatissimo, quindi di fatto il
diodo commuta esattamente alla tensione zero.
vo
vs
Figura 6.21: Raddrizzatore di precisione.
204
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
Amplificatore logaritmico ed esponenziale
R
vs
R
vs
vo
vo
(b)
(a)
Figura 6.22:(a) Amplificatore logaritmico;(b) Amplificatore esponenziale.
Un amplificatore logaritmico puo’ essere ottenuto sfruttando la relazione esponenziale tra
corrente e tensione in una giunzione pn. In linea di principio si puo’ utilizzare lo schema
in Fig. 6.22(a): la corrente che circola nel diodo e’ data da
vD
VD
iD = Is (e VT − 1) ≃ Is e VT
dove VD e’ la tensione ai capi del diodo.
La corrente che circola nella resistenza e’ data da
vs
iR =
R
(6.46)
(6.47)
Poiche’ le due correnti sono uguali e la tensione di uscita vo = −vD si ricava, passando ai
logaritmi
h
i
vs
vo = −VT log( ) − logIs
(6.48)
R
Quindi l’uscita e’ proporzionale al logaritmo dell’ingresso. In realta’ questo circuito e’ assolutamente accademico e non da prestazioni molto soddisfacenti, perche’ la risposta dipende
da Is , che varia da un transistor all’altro ed e’ fortemente dipendente dalla temperatura.
Sempre in linea di principio un amplificatore esponenziale puo’ essere realizzato con lo
scherma della Fig. 6.22(b); e’ facile mostrare che in questo caso si ha
vs
V
vo = −R Is e T
(6.49)
Un buon amplificatore logaritmico e’ quello mostrato nella Fig. 6.23. La corrente che
circola nel transistor Q1 (determinata dalla tensione d’ingresso vs ) e’ legata in modo logaritmico alla tensione dell’uscita del primo operazionale, che e’ −vBE del transistor. Il
transistor Q2 (che lavora invece alla corrente fissa IR ) applica un salto di tensione vBE in
verso opposto. La tensione al morsetto positivo del secondo operazionale e’ ≃ 0, quindi
IR ≃
VR
R4
Se i due transistor sono identici e termicamente accoppiati (si possono utilizzare coppie
di transistor monolitici), si ha una perfetta compensazione delle variazioni di vBE con la
205
6.4. APPLICAZIONI
Q1
vs
VR
R4
R1
IR
Q2
vo
R2
R3
Figura 6.23:(a) Un amplificatore logaritmico reale.
temperatura. Il resistore R4 consente di variare IR e, in sostanza, di definire lo zero della
tensione di uscita. Si puo’ infatti facilmente verificare che la tensione d’uscita, vo , e’ data
da
VR
R2 + R 3
vs
VT log( ) − log( )
(6.50)
vo =
R2
R
R4
dove la dipendenza da Is e’ scomparsa per cancellazione tra i due transistor.
Un circuito di questo tipo puo’ fornire un’accurata risposta logaritmica su un’escursione
del segnale d’ingresso di 6 o piu’ decadi.
Moltiplicatori analogici
La moltiplicazione analogica di due segnali, cioe’ un’uscita proporzionale al prodotto di
due ingressi, puo’ essere ottenuta sfruttando le note proprieta’ dei logaritmi. Lo schema in
Fig. 6.24 e’ un esempio di come si possa raggiungere lo scopo. Si noti tuttavia che esistono
delle limitazioni nell’uso di questo circuito: i segnali d’ingresso devono essere positivi (il
logaritmo di un numero negativo non e’ definito).
Amplificatori
logaritmici
Sommatore
Amplificatore
esponenziale
Figura 6.24:Circuito moltiplicatore
Un moltiplicatore "a 4 quadranti", cioe’ capace di moltiplicare ingressi di qualunque segno e
di fornire il segno giusto all’uscita, puo’ essere realizzato in modo molto piu’ elegante, con il
cosidetto amplificatore di transconduttanza (Fig. 6.25). Qui si sfrutta uno stadio d’ingresso
di tipo differenziale: la sua risposta e’ proporzionale (oltreche’ al segnale d’ingesso vs1 ) alla
206
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
VCC
R2
R1
RC
vs1
RC
Q
Q1
vo
R1
R2
2
RB
vs2
Q
3
RE
VEE
Figura 6.25:Moltiplicatore analogico a 4 quadranti.
transconduttanza dei due transistors T1 e T2 , cioe’ alla loro corrente statica IC : questa e’
a sua volta determinata dal generatore di corrente T3 , il cui punto di lavoro puo’ essere
determinato dal secondo segnale d’ingresso vs2 .
Esistono in commercio integrati basati su questo schema di principio: per esempio, lo
MC1495 (Motorola) e’ un moltiplicatore a quattro quadranti con due ingressi differenziali
ed uscita differenziale. Si ha quindi
vo1 − vo2 = K(vx1 − vx2 )(vy1 − vy2 )
(6.51)
dove il fattore K puo’ essere scelto dall’utilizzatore mediante una rete resistiva esterna.
Impedenza negativa e giratori
Consideriamo il circuito in Fig. 6.26a, e calcoliamone l’impedenza di ingresso. Poiche’ i
due ingressi dell’operazionale sono alla stessa tensione, la corrente che scorre nelle due
resistenze e’ identica, ed e’ quindi uguale alla corrente che scorre nell’impedenza Z. Si ha
quindi
V1 = V2 = −ZI
(6.52)
Quindi l’impedenza d’ingresso e’ proprio −Z. Questo tipo di circuiti prende il nome di
negative-impedance converters, spesso abbreviato in ıNIC.
Consideriamo ora il circuito in Fig. 6.26b. Il NIC 2 ha come carico una resistenza R, quindi
la sua impedenza e’ −R; Il NIC 1 ha come carico una impedenza Z ′ , dove
Z ′ = R + [(R + Z) k −R]
A conti fatti otteniamo
Zi =
R2
Z
(6.53)
(6.54)
207
6.4. APPLICAZIONI
Zin=R2/Z
R
NIC
1
Zin=-Z
R
R
NIC
2
R
I
Z
Z
(a)
R
(b)
Figura 6.26:(a) Convertitore di impedenza;(b) Giratore
Quindi, se
Z=
1
→ Zi = jωCR2
jωC
(6.55)
cioe’ il circuito simula un induttore di induttanza L = CR2 . Questo circuito si chiama
giratore e dimostra la possibilita’ di costruire filtri in cui l’induttore e’ sostituito da un
opportuno giratore.
Comparatori
L’operazionale puo’ essere utilizzato anche senza rete di reazione, come nella Fig. 6.27(a),
dove abbiamo anche esplicitamente riportato le due tensioni di alimentazione, V + e V − .
L’andamento della tensione d’uscita vo in funzione della differenza (v1 − v2 ) tra le tensioni
ai due ingressi, ovvero la transcaratteristica, ha un’andamento molto peculiare. Per piccoli
valori di |v1 − v2 | la risposta e’ lineare, poi l’amplificatore va in saturazione al valore V +
o V − (con un certo margine), in base al segno della differenza. La regione lineare e’ molto
ristretta, data l’altissima amplificazione: se, ad esempio Av = 105 , vo arriva a 10 V quando
la differenza tra gli ingressi e’ di un decimo di mV ! In sostanza, piccolissime differenze
tra gli ingressi possono essere rilevate da questo circuito, che prende quindi il nome di
comparatore. Trascurando la regione lineare la risposta e’ quindi
vo = V + se v1 > v2
vo = V − se v1 < v2
Vedremo in seguito che i comparatori sono di grande utilita’ in molte applicazioni di tipo
logico. Esistono in commercio operazionali costruiti specificamente per questo uso, quindi
208
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
vo
V+
V+
v2
vo
v1-v2
v1
VV-
(a)
(b)
Figura 6.27:
(a) Operazionale senza rete di reazione (V + e V − indicano le due tensioni di alimentazione);
(b) Transcaratteristica
con grandissima amplificazione (per ridurre la zona lineare) e con escursione di uscita piu’
vicino possibile alle alimentazioni.
R’
R’
R
R
vo
vs
vo
vs
R1
C1
(a)
R2
R1
C1
C2
(b)
Figura 6.28:(a) Filtro passa-basso del primo ordine;(b) Filtro passa-basso del secondo ordine
6.5
Filtri attivi
Con gli amplificatori operazionali si possono realizzare dei filtri, cioe’ circuiti selettivi in
frequenza, in modo molto piu’ efficiente di quanto sia possibile fare utilizzando solo componenti passivi. Inoltre e’ possibile costruire filtri passa-banda senza utilizzare induttori, che,
come abbiamo visto nel Cap. 2, sono componenti assai scomodi da usare: ingombranti,
costosi, non trascurabile resistenza parassita, e molti altri inconvenienti.
209
6.5. FILTRI ATTIVI
La Fig. 6.28a mostra un esempio di filtro passa-basso del I ordine. E’ immediato verificare
che la sua funzione di trasferimento e’ quella desiderata. La pulsazione di taglio e’ data da
ωo =
1
R1 C 1
(6.56)
e si ha la usuale discesa a −20 dB/decade, mentre a basse frequenze si ha un’amplificazione
A=
R + R′
R
(6.57)
Possiamo poi realizzare un filtro del II ordine con il circuito di Fig. 6.28b, dove abbiamo
due passa-basso in cascata. Ricordando quanto visto nel Cap. 2, se
R1 C1
=
R2 C 2
R2 ≫ R1
i due stadi hanno la stessa frequenza di taglio e la funzione di trasferimento e’ data dal
prodotto delle due funzioni di trasferimento. E’ quindi immediato verificare che si avra’
una discesa con pendenza di −40 dB/decade.
La funzione dell’operazionale e’, in entrambi i casi, quella di fornire un’amplificazione, ma
soprattutto di uscire con bassa impedenza. Questo consente di mettere in serie piu’ stadi,
realizzando filtri di ordini superiori.
I filtri passa-alto si realizzano in modo analogo, semplicemente scambiando R e C. Combinando poi filtri passa-alto e filtri passa-basso si possono poi realizzare filtri passa-banda
o filtri elimina-banda.
6.5.1
Filtri VCVS
Possiamo costruire filtri del secondo ordine in modo lievemente diverso, a partire dal circuito mostrato nella Fig. 6.29a: il primo capacitore e’ connesso all’uscita, anziche’ alla massa.
Questo circuito e’ comunemente noto come cella Sallen-Key, dai nomi dei suoi inventori.
C
vs
R
1
R
vo
C
Figura 6.29:Filtro Sallen-Key passa-basso.
Calcoliamo la funzione di trasferimento di questo circuito: i morsetti d’ingresso sono (entrambi) alla tensione Vo , quindi la corrente I che scorre nel condensatore verso massa e’
data da
I = sCVo
(6.58)
210
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
mentre la tensione del nodo 1 e’ evidentemente
V1 = I(R +
1
)
sC
(6.59)
Combinando le due relazioni si ha
V1 = sCVo (R +
1
)
sC
(6.60)
L’equazione del nodo 1 e’
Vi − V1
V1
= sC(V1 − Vo ) +
1
R
R + sC
(6.61)
e con pochi passaggi si arriva a
A(s) =
(sRC)2
1
+ 2s(RC) + 1
(6.62)
che, in termini di pulsazione possiamo anche scrivere
A(ω) =
1
(1 + jωRC)(1 + jωRC)
(6.63)
Ovvero si ottiene la stessa funzione di trasferimento del circuito visto in precedenza, quella
di un passa-basso del secondo ordine,avendo ora pero’ le due resistenze e i due condensatori
uguali tra loro.
Scambiando tra loro capacita’ e resistenze si ottiene ula cella Salle-Key passa-alto.
I filtri VCVS (Voltage Controlled Voltage Source) sono una variante dei circuiti tipo SallenKey in cui l’inseguitore di tensione e’ sostituito da un amplificatore non invertente ( Fig.
. 6.30), con amplificazione di tensione
Av = K
Possiamo facilmente ricavare la funzione di trasferimento. Indicando con V ′ la tensione
(uguale) dei due ingressi e con V la tensione del nodo tra i due resistori R1 . si ha
Vo
K
= V ′ (1 + sCR1 )
V −V′
=
+ (V − Vo )sC
R1
V′ =
V
Vs − V
R1
e infine
1
K
=⇒ ωc =
(6.64)
(sCR1 + (3 − K)(sCR1 ) + 1
R1 C
La forma della risposta di un filtro VCVS dipende, nella regione di transizione, dal valore
del fattore di amplificazione K, come si puo’ osservare dalla Fig. 6.31, dove sono riportati
gli andamenti del modulo di A e della fase per un passa basso del 2o ordine. Per valori di
K superiori a 1.5866 il modulo di A mostra un overshooting attorno alla frequenza critica,
mentre la fase mostra, al crescere di K, una transizione sempre piu’ netta.
T =
6
)2
Questo valore individua il filtro Butterworth, ovvero quello caratterizzato dalla massima piattezza nella
regione al di sotto della frequenza di taglio.
211
6.5. FILTRI ATTIVI
Figura 6.30: Filtro VCVS passa-basso del secondo ordine
6.5.2
Filtri a reazione multipla
Il circuito di Fig. 6.32 e’ un esempio di filtro passa-banda a reazione multipla: ha una
funzione di trasferimento simile a quella del classico RLC che abbiamo visto nel Cap. 2.
Il nome deriva dal fatto che la reazione negativa e’ riportata due volte verso l’ingresso, sia
attraverso il resistore R3 che attraverso i due capacitori C1 e C2 .
Possiamo studiare il comportamento di questo circuito utilizzando il modello di operazionale ideale. Per semplicita’ consideriamo il caso in cui i due capacitori sono uguali
(C1 = C2 = C). Poiche’ l’ingresso non invertente dell’operazionale e’ a massa anche la
tensione di quello invertente e’ nulla; quindi possiamo scrivere l’equazione del nodo in cui
confluiscono R1 , R2 e i due capacitori
Vs − VA
VA
+ (Vo − VA )sC − VA sC =
R1
R2
(6.65)
cioe’
Vs
1
1
− VA (
+
+ 2sC) + sCVo = 0
R1
R1 R2
dove con VA abbiamo indicato la tensione del nodo stesso.
(6.66)
La relazione tra VA e Vo puo’ d’altra parte trovarsi subito osservando che la corrente che
fluisce in R3 e’ data da
Vo
(6.67)
I3 =
R3
e la tensione VA e’ data da
I3
VA = −
(6.68)
sC
Per cui
Vo
(6.69)
VA = −
sCR3
Sostituendo nella 6.66 si ottiene
Vs
1
2
+ Vo (
+ sC) = 0
(6.70)
+
′
R1
sCR3 R
R3
212
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
Figura 6.31: Ampiezza e fase di un filtro VCVS passa-basso del 2o ordine, per 3 valori di K. La scala
orizzontale e’ normalizzata alla frequenza critica νc = 1/(2πRC).
C1
vs
R1
R3
C2
vo
R2
Figura 6.32: Filtro passa-banda
dove
R1 R2
(6.71)
R1 + R2
cioe’ il parallelo tra R1 ed R2 . Possiamo quindi scrivere la funzione di trasferimento
R′ =
Vo
="
A(ω) =
Vs
−
R3
2R1
R3 C
1
1 + j(
ω−
)
2
2CR′ ω
#
(6.72)
dove abbiamo come al solito sostituito s con jω. Si vede che la 6.72 rappresenta una
funzione risonante con frequenza di risonanza
ωo = √
1
R′ R
3C
(6.73)
213
6.5. FILTRI ATTIVI
e con ampiezza massima (sulla risonanza)
Ao = −
R3
2R1
(6.74)
Introducendo il fattore di merito, Q
R3 C
1
Q = ωo
=
2
2
r
R3
R′
(6.75)
la 6.72 puo’ essere scritta
A=
Ao
ω
ωo
(1 + jQ( − ))
ωo
ω
Ovvero
|A| = s
|Ao |
(6.76)
(6.77)
ω
ωo
1 + Q2 ( − ) 2
ωo
ω
Le equazioni 6.76 e 6.77 son le stesse (a parte il fattore Ao ) di quelle del circuito RLC
passivo, ed ovviamente Q rappresenta il fattore di merito del circuito. Come si vede,
possiamo scegliere Ao , ωo e Q variando i parametri del circuito C, R1 , R3 e R′ . Poiche’
abbiamo 4 parametri uno di essi puo’ essere fissato arbitrariamente e gli altri 3 vengono
fissati in conseguenza ai valori di progetto desiderati.
Abbiamo la possibilita’, almeno in linea di principio, di costruire filtri passa-banda a qualunque frequenza e molto differenziati (grande o piccola selettivita’, grande o piccola amplificazione) senza avere utilizzato induttori che sono componenti assai piu’ scomodi da
usare.
Tuttavia questo circuito e’ uno di quelli in cui il modello di operazionale ideale che abbiamo
utilizzato per i nostri calcoli puo’ condurre a risultati grossolanamente errati, perche’, come
abbiamo visto, gli operazionali reali hanno una risposta in frequenza molto lontana da
quella ideale. Un calcolo piu’ raffinato richiederebbe di utilizzare il circuito rappresentato
in Fig 6.33, dove abbiamo schematizzato l’operazionale come un passa basso, per tenere
conto della dipendenza di Av dalla frequenza
Av =
Avo
f
1+j
fT
(6.78)
(si noti che nella nostra convenzione Av e’ negativo).
Non procederemo nel calcolo esplicito della funzione di trasferimento, ma se ne ricaverebbe che utilizzando il modello approssimato di operazionale ideale si descrive bene il
comportamento del circuito se |A0 | e’ almeno 100 volte piu’ piccola del guadagno ad anello
aperto dell’operazionale alla frequenza di risonanza f0 . Si puo’ comprendere meglio con un
esempio: supponiamo di voler realizzare un filtro con f0 = 10 kHz utilizzando un LM358.
Questo operazionale ha un prodotto banda guadagno di 106 , quindi a 10 kHz il suo guadagno ad anello aperto e’ pari a 100: il criterio suddetto consiglia quindi di progettare
214
CAPITOLO 6. AMPLIFICATORI OPERAZIONALI
C
A
R1
vs
2
R3
C
R2
Ro
Ri
Av(v2-v1)
vo
1
Figura 6.33: Circuito equivalente del filtro passa-banda
il filtro con un parametro |A0 | uguale o inferiore ad 1. Entro certi limiti questo non e’
un problema, possiamo sempre aggiungere un secondo stadio amplificatore per arrivare
ad un guadagno finale piu’ alto, tuttavia e’ chiaro che non e’ semplice costruire filtri con
frequenza di risonanza molto elevata.
Infine, un esempio numerico. Supponiamo di voler progettare un filtro con frequenza di
risonanza νo = 1 kHz e fattore di merito Q = 20, realizzato con un LM358. Dalle
considerazioni precedenti si ricava che prudenzialmente conviene avere A0 < 10: scegliamo
quindi Ao = 5.
Possiamo scegliere C = 10 nF e ricaviamo subito il valore di R3
R3 =
2Q
≃ 630 kΩ
2πνo C
da cui si ricava R′ :
R′ =
1
4π 2 νo2 C 2 R3
ed infine
R1 =
≃ 400 Ω
R3
= 63 kΩ
2Ao
(6.79)
(6.80)
(6.81)
Poiche R′ e’ il parallelo tra R1 (gia’ fissato) ed R2 , si trova immediatamente che
R2 ≃ 400 Ω
(6.82)
Capitolo 7
Rumore
7.1
Introduzione
Tutti i dispositivi elettronici sono soggetti a disturbi provenienti dall’esterno, o generati
internamente (rumore), che ne influenzano il comportamento.
Il rumore, del quale e’ necessario occuparsi per la sua importanza in elettronica, deriva
da fluttuazioni dovute a proprieta’ fondamentali della materia e in quanto tali di origine
interna al dispositivo e ineliminabili in linea di principio: fluttuazioni di natura spontanea
(rumore termico) oppure associate a flussi quantizzati (rumore shot). A livello macroscopico queste fluttuazioni si manifestano sotto forma di segnali casuali il cui andamento nel
tempo non e’ descrivibile analiticamente ma soltanto in termini statistici e il cui spettro in
frequenza non e’ costituito da righe, bensi’ di tipo continuo, che si estende in una regione
di frequenza piu’ o meno vasta.
Il rumore, propriamente detto, non va confuso con i disturbi, cioe’ segnali di origine esterna
rispetto al sistema considerato (interferenze elettromagnetiche, rete elettrica, effetti atmosferici, ecc). Questi disturbi infatti si possono considerare, almeno in linea di principio,
eliminabili con opportune tecniche di filtraggio o di schermaggio e spesso il loro spettro e’
caratterizzato da righe ben precise.
Nello studio del rumore, di solito, piu’ che il valore in termini assoluti, ha importanza
la sua entita’ rispetto al segnale (vedi Fig 7.1) , rappresentata usualmente dal rapporto
segnale/rumore (signal-to-noise ratio) definito come rapporto tra il valore quadratico medio
del segnale e quello del rumore
SNR =
< (s(t) − s(t))2 >
< n2 (t) >
(7.1)
Spesso questa quantita’ viene espressa in dB
SNR = 10 log10 (
vs2
) dB
vn2
E’ necessario sottolineare che la definizione suddetta e’ legata alla larghezza della banda
di osservazione in frequenza, dato che le distribuzioni spettrali del segnale e del rumore
sono normalmente molto diverse. Se la banda di osservazione si allarga il rapporto SNR
diminuisce, mentre aumenta se selezioniamo solo una banda ristretta attorno alla frequenza
di interesse per il segnale.
215
216
CAPITOLO 7. RUMORE
Figura 7.1: a): Tipico rumore osservato all’oscillografo; b): Un segnale sinusoidale con rumore moderato;
c) Un segnale sinusoidale con forte rumore.
Nella maggior parte dei casi il rumore si combina linearmente con il segnale, cioe’ vale il
principio di sovrapposizione degli effetti. Non mancano pero’ casi in cui il rumore interviene
attraverso fluttuazioni dei parametri del sistema considerato (rumore moltiplicativo) che
introducono quindi effetti di modulazione sul segnale.
La maggior parte dei tipi di rumore ha una distribuzione gaussiana, in alcuni tipi si hanno
distribuzioni diverse, ma poiche’ la somma di molte variabili casuali indipendenti e’ una
variabile gaussiana, si puo’ assumere che l’analisi in termini gaussiani per il rumore sia ben
giustificata:
(x − µ)2
−
1
2σ 2
f (x) = √ e
(7.2)
σ 2π
dove µ e’ il valore medio e σ la varianza (entrambi costanti se il processo e’ stazionario).
I meccanismi base all’origine del rumore nei dispositivi elettronici sono di vario tipo:
• Rumore termico (Johnson-Nyquist);
• Rumore shot (Schottky);
• Rumore 1/f (flicker noise);
• Burst noise;
• Avalanche noise.
217
7.2. RUMORE TERMICO
e saranno affrontati nelle prossime sezioni. Sebbene, come abbiamo detto, il rumore sia
intrinsecamente ineliminabile, conoscerne le caratteristiche e’ fondamentale per capire come
attenuarne gli effetti.
In un circuito elettronico complesso i rumori (non correlati fra loro) provenienti da varie
fonti, si sommano quadraticamente tra loro e il rumore totale si somma quadraticamente
al segnale.
Infine, va detto che in alcuni casi il rumore puo’ svolgere funzioni utili, grazie al suo spettro
continuo: puo’ essere ad esempio utilizzato tra l’altro nella diagnostica dei circuiti, e per
questo motivo si costruiscono appositamente generatori di rumore.
7.2
Rumore termico
Il rumore termico e’ il rumore piu’ comune, si manifesta in qualsiasi sistema fisico dissipativo che si trovi a temperatura diversa dallo zero assoluto. La densita’ di probabilita’
e’ una gaussiana con valor medio nullo, essendo la somma di un numero elevato di piccoli
contributi incoerenti.
Figura 7.2: Modello circuitale di un resistore reale.
Nel caso elettrico il rumore termico (o rumore di Nyquist-Johnson) rappresnta l’effetto
macroscopico del moto casuale dei portatori di carica in un conduttore. Ai capi di un
resistore a circuito aperto, in cui quindi non scorre corrente, si osserva infatti una tensione
vn (t), variabile nel tempo con andamento irregolare. Cortocircuitando il resistore si osserva
una corrente di intensita’
vn (t)
(7.3)
in (t) =
R
dove R e’ la resistenza dell’elemento. Questo effetto fu osservato nel 1928 da J.B.Johnson
e spiegato teoricamente da H.Nyquist nello stesso anno.
Johnson trovo’ sperimentalmente che il valore quadratico medio del rumore, in una banda
di osservazione ∆f era dato da
< v 2 (t) >= 4kT R∆f
(7.4)
dove k e’ la costante di Boltzmann (1.38 × 10−23 J/K). Johnson verifico’ anche la 7.4 non
dipende dal tipo di resistore ed e’ valida in un’amplissima banda di frequenza.
218
CAPITOLO 7. RUMORE
In sostanza la 7.4 indica che la quantita’ di rumore e’ costante a tutte le frequenze e dipende
solo dall’ampiezza della banda considerata: un rumore di questo tipo e’ normalmente
chiamato rumore bianco.
Se noi dunque chiudiamo in corto circuito un resistore osserviamo una corrente il cui valore
quadratico medio e’ dato da
4kT ∆f
(7.5)
< i2 (t) >=
R
Possiamo creare un modello circuitale di un resistore reale, R, rendendolo equivalente ad
un resistore ideale (privo di rumore) con un generatore di tensione in serie, ovvero con un
generatore di corrente in parallelo (Fig 7.2) .
E’ istruttivo vedere qualche esempio concreto:
√
√
R = 100 Ω −→ < v 2 > = 1.28 nV / Hz
Con una banda passante di 100 M Hz si ha quindi
√
< v 2 > = 12.8 µV
Se R e’ invece 1 M Ω, il rumore aumenta di un fattore 100:
√
< v 2 > = 1.28 mV
Questo suggerisce che non conviene usare resistori di valore molto alto se non e’ strettamente necessario per altri motivi.
La potenza di rumore disponibile e’ la potenza che un resistore R reale puo’ fornire ad un
carico (ideale), RL , uguale ad R (Fig 7.3) . E’ data da:
Wt = kT ∆f
(7.6)
(densita’ spettrale di potenza).
Figura 7.3: Potenza di rumore disponibile.
A temperatura ambiente (290 ◦ K), per una banda di 1 Hz, si ha
Wt = 4 × 10−21 W
E’ d’uso a volte riportare questa potenza usando come base standard 1 mW (0dBm). La
potenza di rumore e’ espressa allora come
Wt = −174 dBm/Hz
Questo livello di rumore e’ chiamato noise floor, ovvero il livello minimo di rumore per un
circuito elettronico a temperatura ambiente. E’ in sostanza il limite inferiore del potere
risolutivo di qualsiasi sistema di misura (a temperatura ambiente).
219
7.3. RUMORE SHOT
7.3
Rumore shot
Questo tipo di rumore si manifesta quando una corrente elettrica, cioe’ un flusso di portatori
di carica, attraversa una barriera di potenziale, come nei tubi a vuoto o nelle giunzioni pn.
Deriva dalla natura discreta della carica elettrica e dall’indipendenza statistica dei singoli
eventi di attraversamentoe per questo e’ anche chiamato rumore granulare. Fu messo la
prima volta in evidenza nel 1918 da W.Schottky con lo studio delle fluttuazioni di corrente
nei tubi a vuoto.
Il rumore shot e’ espresso come
< i2shot >= 2qI∆f
dove q e’ la carica dell’elettrone, I la corrente che circola e ∆f la banda passante del
dispositivo di misura.
Questa formula contiene l’ipotesi che non ci siano correlazioni nel moto delle cariche; nei
normali conduttori viceversa ci sono forti correlazioni e il rumore effettivo e’ molto piu’
basso di quello predetto. Le caratteristiche fondamentali sono:
• e’ un rumore bianco;
• non dipende dalla temperatura
Rumore shot in una giunzione pn
L’equazione del diodo
qVD
I = Is (e kT − 1) = I1 + I2
dove I1 = −Is e’ la corrente dei portatori minoritari, I2 quella dei portatori maggioritari.
Entrambe sono affette da rumore shot e i due contributi si sommano quadraticamente
Quando la giunzione e’ polarizzata inversamente I2 ≃ 0 e il rumore shot e’ sostanzialmente
quello di I1 , mentre se la giunzione e’ polarizzata direttamente domina il rumore shot di
I2 .
Se la giunzione non e’ polarizzata I1 = −I2 e il rumore shot totale e’ quindi il doppio,
ovvero
< i2shot >= 4qIs ∆f
Rumore shot in una giunzione pn: transistor
La giunzione rilevante e’ quella base-emettitore. Possiamo quindi modellizzare il rumore
shot come in Fig 7.4.
A temperatura ambiente la tensione prodotta dal rumore shot e’
< vshot
0.025 p
2qIE ∆f = 1.42 × 10−11
>=
IE
r
∆f
IE
220
CAPITOLO 7. RUMORE
Figura 7.4: Potenza di rumore disponibile.
7.4
Rumore 1/f (flicker noise)
E’ un tipo di rumore presente in tutti i fenomeni di conduzione, dovuto a molteplici cause.
E’ sempre correlato ad una fluttuazione di resistenza che si traduce in una fluttuazione di
corrente e di tensione.
Puo’ essere dovuto a impurezze, per es. nei resistori al carbonio, o nel materiale semiconduttore di diodi e transistor, disomogeneita’, effeti di contatto. Spesso questo tipo di
rumore e’ denominato excess noise, con riferimento al rumore termico previsto.
E’ caratterizzato dall’andamento approssimativo 1/f (da cui il nome), quindi e’ trascurabile
ad alta frequenza (rispetto agli altri tipi di rumore), mentre puo’ essere rilevante a bassa
frequenza.
Dato questo andamento 1/f la quantita’ di rumore e’ la stessa per ogni decade di frequenza.
Questo tipo di rumore e’ solitamente trascurabile nei resistori, debole nei transistor bipolari,
piu’ importante nei transistor MOS.
7.5
Rumore burst e avalanche
Il rumore burst e’ un tipo di rumore caratterizzato da improvvisi e casuali salti di tensione
(dell’ordine dei µV ) che possono apparire in dispositivi con semiconduttori
E’ dovuto a imperfezioni o contaminazioni del materiale e puo’ quindi essere ridotto con
miglioramenti nel processo produttivo
Il rumore avalanche nasce nelle giunzioni pn in regime di breakdown, ed ha fondamentalmente uno spettro piatto.
Da un punto di vista pratico e’ rilevante solo nei diodi Zener (quelli di tipo avalanche),
in cui puo’ essere molto forte, tanto che questi componenti sono a volte utilizzati proprio
come generatori di rumore.
7.6
Rumore negli amplificatori
E’ usuale definire negli amplificatori la “Figura di rumore” (Noise Figure), ovvero il rapporto fra l’uscita effettiva e quella che si avrebbe con un dispositivo ideale (senza rumore),
7.6. RUMORE NEGLI AMPLIFICATORI
221
data una sorgente di segnale con resistenza d’uscita RS (Fig 7.5):
NF
4kT Rs + vn2
)
4kT Rs
vn2
)
= 10 log10 (1 +
4kT Rs
= 10 log10 (
(7.7)
(7.8)
Figura 7.5: Amplificatore con rumore.
7.6.1
Amplificatore a transistor bipolare
Figura 7.6: Figura di rumore in funzione della frequenza per un transistor bipolare.
L’andamento della figura di rumore (NF) per un tipico transistor bipolare e’ mostrata in
Fig 7.6. L’incremento per frequenze inferiori a f1 e’ dovuto alla prevalenza del rumore
1/f generato nei contatti (contact noise). Al di sopra di f1 il rumore e’ bianco e dovuto
al rumore termico nella resistenza di base, rbb′ e al rumore shot nelle giunzioni baseemettitore e base-collettore. L’incremento nella figura di rumore al di sopra di f2 e’ legato
alla decrescita del guadagno del transistor alle alte frequenze e alla crescita dello shot
noise del collettore. Possiamo esaminare piu’ in dettaglio un amplificatore ad emettitore
comune, aggiungendo all’usuale modello T le sorgenti di rumore: il rumore termico della
222
CAPITOLO 7. RUMORE
Figura 7.7: Rumore nell’amplificatore a emettitore comune. E’ incluso il contributo della sorgente di
segnale.
resistenza rbb′ e i rumori shot delle giunzioni. Il rumore shot sul collettore e’ descritto dalla
espressione
s
p
|α|2
IC(shot) = 2qIc ∆f 1 −
(7.9)
αf
dove
|α| = s
|αF |
f2
1+
fa
(7.10)
dove fa e’ la frequenza di taglio di α.
7.6.2
Amplificatore operazionale
Figura 7.8: Andamento del rumore di un operazionale in funzione della frequenza.
Negli amplificatori operazionali ci sono molteplici sorgenti di rumore (termico, shot e 1/f )
che danno complessivamente un andamento in frequenza come quello mostrato in Fig 7.8.
A bassa frequenza prevale il rumore 1/f , da un certo punto in poi trascurabile rispetto al
223
7.6. RUMORE NEGLI AMPLIFICATORI
rumore bianco; la frequenza per cui i due contributi sono uguali e’ usualmente denominata
corner frequency, fnc .
Il rumore complessivo integrato su una certa banda di frequenza, da fL a fH , ha quindi
un’espressione del tipo
Z f
H
K2
2
E =
(C +
)df
(7.11)
f
fL
= C(fH − fL ) + K 2 loge
FH
fL
(7.12)
dove C e’ il quadrato del rumore bianco e K e’ un’appropriata costante, che e’ legata a C
e fnc , infatti si ha
K2
=C
(7.13)
fnc
In definitiva possiamo esprimere la 7.12 come
E 2 = C(fnc loge
FH
+ fH − fL )
fL
(7.14)
Le costanti C e fnc possono essere ricavate da grafici come quello riportato in Fig 7.8.
Nel caso di un amplificatore operazionale (come di qualunque circuito complesso) non
e’ evidentemente possibile descrivere in modo analitico le molte sorgenti di rumore, si
costruisce percio’ un modello equivalente che descriva l’effetto complessivo, costituito da
un operazionale ideale (ovvero privo di rumore) con un generatore di tensione vn in serie
all’ingresso non invertente e due generatori di corrente (diversi tra loro), in , verso la massa
(Fig. 7.9a).
Valori tipici:
√
vn = 1 ÷ 100 nV / Hz
√
in = 0.0001 ÷ 10 pA/ Hz
Come esempio possiamo analizzare il rumore complessivo presente in un operazionale utilizzato in configurazione invertente o non-invertente. In entrambi i casi, dopo avere messo
a massa il segnale d’ingresso, si arriva al circuito di Fig 7.9b. Sia i resistori esterni che
l’operazionale producono rumore e tutti i contributi vanno sommati quadraticamente, il
principio di sovrapposizione ci consente di calcolarne uno per volta. Ogni resistore esterno
contribuisce con un generatore equivalente
p
(7.15)
ei = 4kT Ri ∆f
ma dobbiamo anche considerare che alcuni di questi vengono poi amplificati dall’operazionale stesso. Si hanno quindi i generatori effettivi:
R2 p
R2
4kT R1 ∆f
(7.16)
=
E1 = e1
R1
R1
p
E2 = e2 = 4kT R2 ∆f
(7.17)
E3 = e3
R1 + R2 p
R1 + R2
4kT R3 ∆f
=
R1
R1
(7.18)
224
CAPITOLO 7. RUMORE
Figura 7.9: a): Modello di rumore in un operazionale; b): Esempio di operazionale con la rete resistiva
Vediamo ora i contributi provenienti dall’operazionale:
E n = en
R1 + R 2 p
∆f
R1
R1 + R2 p
∆f
R1
p
= inn R2 ∆f
(7.19)
Enp = inp R3
(7.20)
Enn
(7.21)
Il rumore complessivo e’ quindi dato da
2
2
+ Enn
)∆f
E 2 = (E12 + E22 + E32 + En2 + Enp
Il valore quadratico medio sulla banda di frequenza di interesse e’
sZ
Erms =
2 + E 2 ]df
[E12 + E22 + E32 + En2 + Enp
nn
(7.22)
(7.23)
Bisogna ora valutare questo integrale. I termini dovuti ai resistori sono costanti quindi possono essere portati fuori dall’integrale, mentre i termini legati all’operazionale contengono
una combinazione di rumore bianco e di rumore 1/f , come abbiamo visto prima. Per un
calcolo quantitativo e’ necessario conoscere, per l’operazionale in uso il livello del rumore
bianco e la corner frequency, come visto in precedenza.
Questa espressione ci fornisce comunque qualche utile indicazione:
• e’ preferibile usare resistori esterni di valore piu’ basso possibile (compatibilmente
con altri vincoli);
• omettere il resistore R3 se non e’ necessario per compensare le correnti di bias (questo
e’ sicuramente vero per operazionali con ingressi JFET o MOS);
• operazionali con ingressi JFET o MOS hanno ulteriori vantaggi in quanto i contributi
di corrente al rumore (inp e inp ) sono del tutto trascurabili.
7.7. GENERATORI DI RUMORE
7.7
225
Generatori di rumore
Figura 7.10: a): Generatore di rumore con diodo Zener; b): Generatore di rumore con transistor
Come abbiamo detto il rumore ha anche aspetti positivi e viene spesso utilizzato per la diagnostica di circuiti. Peraltro, avendo a disposizione una sorgente ideale di rumore, ovvero
con uno spettro in frequenza perfettamente piatto, la si potrebbe utilizzare per misurare
la funzione di trasferimento di qualunque quadrupolo, per esempio un amplificatore.
Sono disponibili in commercio generatori di rumore, perfettamente calibrati, e con ampiezza adeguata, ma anche di notevole costo. E’ comunque possibile e abbastanza facile
costruire semplici generatori se non si hanno particolari pretese di stabilita’ e riproducibilita’. In Fig 7.10a ne abbiamo un esempio basato su un diodo Zener: il segnale prodotto
e’ prelevato all’anodo e amplificato con un amplificatore a doppio stadio. E’ preferibile
utilizzare Zener con VZ > 8 V , che, essendo basati sull’effetto avalanche sono piu’ rumorosi. L’amplificatore (e’ necessaria un’amplificazione di almeno 100) dovrebbe essere a larga
banda ed e’ preferibile un doppio stadio per non attenuare troppo le alte frequenze.
Un’alternativa all’uso dello Zener e’ mostrata in Fig 7.10b: il transistor Q2 ha la giunzione
base-emettitore polarizzata inversamente ed e’ in regione di breakdown1 , quindi ha una
rumorosita’ analoga ad un diodo Zener.
1
La tensione di breakdown della giunzione base-emettitore di u transistor e’ in genere abbastanza bassa,
circa 6 V per un 2N2222.
226
CAPITOLO 7. RUMORE
Capitolo 7
Circuiti digitali
Finora abbiamo studiato dispositivi e circuiti di tipo lineare, ovvero delle situazioni in cui
l’andamento temporale delle variabili elettriche d’uscita (tensione e/o corrente) riproduceva
quello delle variabili d’ingresso. Invece i circuiti digitali (o circuiti logici) sono sistemi in
cui lo stato dell’uscita, o delle uscite, e’ legato in modo fortemente non lineare a quello
dell’ingresso o degli ingressi. Piu’ specificamente i circuiti logici sono caratterizzati dal fatto
che le variabili elettriche d’uscita, tipicamente la tensione, assume due soli valori possibili
(per es. 0 V e 5 V ) in conseguenza al valore di tensione applicato all’ingresso. Circuiti di
questo tipo sono alla base, come vedremo, dei sistemi di elaborazione numerica e rivestono
quindi una importanza fondamentale. Abbiamo gia’ visto esempi molto rudimentali di
circuiti del genere quando abbiamo parlato del transistor utilizzato come interruttore: in
quel caso la tensione VC del collettore puo’ essere fatta variare tra un valore VCC ed un
valore VCEsat (molto prossima a zero) in dipendenza della tensione applicata alla base.
Per comprendere meglio le applicazioni di questo tipo di circuiti e’ necessario fare alcune
premesse di natura matematica.
7.1
Numerazione binaria ed algebra di Boole
Il sistema numerico che noi utilizziamo e’ di tipo posizionale, basato sulle potenze di
10. Infatti la scrittura di un qualunque numero non e’ altro che l’espressione sintetica
di una combinazione lineare di potenze di 10. Per esempio, il numero 327 non e’ che
un’abbreviazione per l’espressione
7 · 100 + 2 · 101 + 3 · 102
Le 4 operazioni aritmetiche vengono di conseguenza eseguite tenendo conto del significato
posizionale delle cifre che compongono il numero ed utilizzando, se necessario, il riporto
da una posizione a quella, piu’ significativa, alla sinistra della precedente.
In realta’ la base 10 non ha nulla di fondamentale e potrebbe essere tranquillamente sostituita da qualunque altra base. La base piu’ semplice puo’ essere considerata quella fondata
sul 2 (non ha senso infatti la base 1!); possiamo quindi costruire un sistema numerico in
base 2, utilizzando le potenze di questo numero per esprimerne uno qualunque. Per fare
cio’ abbiamo bisogno di due soli simboli numerici, 0 ed 1 (nel sistema in base 10 avevamo
10 simboli, da 0 a 9). La nostra numerazione sara’ allora: Le 4 operazioni aritmetiche pos-
227
228
CAPITOLO 7. CIRCUITI DIGITALI
Num. decimale
Num. binaria
0
0
1
1
2
10
3
11
4
100
5
101
6
110
7
111
8
1000
···
···
16
10000
···
···
32
100000
···
···
Tabella 7.1: Numerazione binaria
sono essere effettuate nel sistema numerico a base 2 (cosi’ come in qualunque altro sistema
numerico), con le stesse regole del sistema decimale; la sola differenza e’ che il riporto deve
essere effettuato quando si arriva a 2 e non quando si arriva a 10.
Possiamo fin da ora comprendere che il sistema binario, per il fatto di avere due soli numeri
fondamentali, si presta particolarmente ad essere associato a sistemi elettronici in cui le
variabili elettriche assumono due valori possibili, e quindi ci aiutera’ a costruire "macchine"
per l’elaborazione numerica. Dobbiamo pero’ ancora approfondire gli aspetti matematici
del sistema binario.
Possiamo infatti definire, oltre alle normali operazioni aritmetiche, delle operazioni logiche,
che costituiscono nel loro complesso la cosidetta algebra di Boole; queste regole non si
applicano solo all’insieme dei numeri binari, ma piu’ in generale a tutti gli insiemi binari,
cioe’ composti da due elementi, che possiamo chiamare 0 ed 1, ma anche VERO e FALSO,
o BIANCO e NERO, ecc.
Algebra di Boole. Definiamo tre operazioni logiche tra gli elementi dell’insieme binario:
1. Prodotto logico (detto anche AND): dati n elementi x1 , x2 , . . . , xn , il loro prodotto
logico ha come risultato 1 se e solo se tutti gli elementi valgono 1; altrimenti il
risultato e’ 0. Cioe’:

 1 se ogni xj = 1
x1 · x2 · · · xn =
 0 altrimenti
7.1. NUMERAZIONE BINARIA ED ALGEBRA DI BOOLE
229
Il punto viene spesso omesso, se cio’ non da’ luogo ad ambiguita’, quindi x1 · x2 puo’
semplicemente essere scritto x1 x2 .
2. Somma logica (detta anche OR):dati n elementi x1 , x2 , . . . , xn , la loro somma logica
ha come risultato 1 se almeno uno degli elementi e’ uguale ad 1; altrimenti (cioe’ se
tutti gli elementi valgono 0) il risultato e’ 0. Cioe’

 0 se ogni xj = 0
x1 + x2 · · · + xn =
 1 altrimenti
3. Negazione logica (detta anche NOT): dato un elemento x, l’elemento negato, che si
indica con x, vale 1 se x vale 0, mentre vale 0 se x vale 1. Cioe’:
x=0
se
x=1
x=1
se
x=0
Naturalmente si ha x = x.
Le suddette operazioni ci consentono di definire funzioni di variabili logiche (o binarie);
per esempio, date 3 variabili x1 , x2 , x3 , possiamo definire la funzione
F = x1 · x2 · x3 + x1 · x2 · x3 + x1 · x2 · x3
anche F potra’ assumere solo i valori 0 o 1 in dipendenza dai valori assunti dalle variabili,
cioe’ il co-dominio della funzione e’ ancora l’insieme binario. Questo modo di scrivere una
funzione prende il nome di forma canonica: e’ chiaro che ogni funzione puo’ essere scritta
in questo modo. Un modo diverso, spesso utile, per rappresentare una funzione e’ quello
di scrivere la cosidetta tavola della verita: e’ semplicemente una tabella che lega il valore
assunto dalla funzione ai valori assunti dalle variabili. Per esempio, la tavola della verità
della funzione F vista prima e’ data da:
x3
x2
x1
F
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
230
CAPITOLO 7. CIRCUITI DIGITALI
Come si vede la tavola della verita’ ha tante righe quante sono le combinazioni di tutti
i valori possibili delle variabili (in questo caso 8) e per ogni riga la funzione assume un
valore. Quindi, se abbiamo una funzione di n variabili, la sua tavola della verita’ sara’
composta da 2n righe.
E’ utile scrivere la tavola della verita’ di alcune funzioni semplici, ma fondamentali: ad
esempio, il prodotto di due variabili (AND), cioe’ Y = x2 · x1 :
x2
x1
Y
0
0
0
0
1
0
1
0
0
1
1
1
Oppure della funzione somma (OR) di due variabili, cioe’ Y = x2 + x1 :
x2
x1
Y
0
0
0
0
1
1
1
0
1
1
1
1
Un’altra funzione importante e’ il cosidetto OR ESCLUSIVO, a volte chiamato brevemente
XOR, definita come:

 1 se solo uno degli xj = 1
x1 ⊕ x2 · · · ⊕ xn =
 0 altrimenti
La tavola della verita’ per due variabili e’quindi data da:
x2
x1
Y
0
0
0
0
1
1
1
0
1
1
1
0
E’ anche possibile scrivere una qualunque funzione in forma canonica partendo dalla tavola
della verita’. Consideriamo ad esempio una funzione, G,di cui conosciamo la cui tavola
della verita’:
7.1. NUMERAZIONE BINARIA ED ALGEBRA DI BOOLE
x3
x2
x1
G
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
0
231
La sua forma canonica sara’ allora data da:
G = x3 x2 x1 + x3 x2 x1 + x1 x2 x3
cioe’ avremo una somma di tanti addendi quante sono le righe per cui la funzione vale 1.
In ogni addendo compare il prodotto delle variabili: se in quella riga una variabile vale 0
esso compare negata.
Quindi l’OR ESCLUSIVO visto in precedenza corrisponde ad una funzione la cui forma
canonica e’
Y = x1 x2 + x1 x2
L’algebra di Boole gode di alcune proprieta’ molto semplici. Indicando con A, B, C, . . .
delle variabili binarie, si ha:
1. Proprietà commutativa della somma:
A+B =B+A
2. Proprietà commutativa del prodotto:
A·B =B·A
3. Proprietà associativa della somma:
(A + B) + C = A + (B + C)
4. Proprietà associativa del prodotto:
(A · B) · C = A · (B · C)
5. Prima proprietà distributiva:
A · (B + C) = A · B + A · C
232
CAPITOLO 7. CIRCUITI DIGITALI
6. Seconda proprietà distributiva:
(A + B) · (A + C) = A + B · C
Alcune di queste proprieta’ sono essenzialmente dei postulati, mentre le altre possono essere
verificate immediatamente.
Un’ulteriore importante proprieta’ e’ data dal teorema di De Morgan, che lega tra loro le
operazioni di somma e di prodotto logico. Si hanno due enunciazioni del teorema:
A+B =A·B
ovvero
A·B =A+B
A+B =A·B
ovvero
A+B =A·B
Queste relazioni sono naturalmente valide per qualunque numero di variabili. Omettiamo
la dimostrazione di questo teorema, che puo’ essere verificato in modo diretto attraverso le tavole della verita’. Esso e’, come vedremo,molto importante, perche’ consente di
trasformare una funzione in un’altra equivalente, attraverso ripetute applicazioni del teorema. Inoltre, da un punto di vista concettuale, dimostra che le tre operazioni logiche
non sono indipendenti: l’operazione di OR puo’ essere costruita con AND e NOT, ovvero
l’operazione di AND puo’ essere costruita con OR e NOT.
Nella tabella 7.2 sono riassunte tutte le proprieta’ ed i teoremi dell’algebra di Boole.
Identita’
A+0=A
A·1=A
Dominanza
A+1=1
A·0=0
Idempotenza
A+A=A
A·A=A
Complementazione
A+A=1
A·A=0
Involuzione
A=A
Commutativa
A+B =B+A
A·B =B·A
Associativa
A + (B + C) = (A + B) + C
A · (B · C) = (A · B) · C
Distributiva
(A + B) · (A + C) = A + B · C
A · (B + C) = A · B + A · C
Assorbimento I
A+A·B =A
A · (A + B) = A
Assorbimento II
A+A·B =A+B
A · (A + B) = A · B
Assorbimento III
A·B+B·C +A·C =
(A + B) · (B + C) · (A + C) =
A·B+A·C
(A + B) · (A + C)
De Morgan
A+B =A·B
A·B =A+B
Shannon
F (A, B, C) =
F (A, B, C) =
A · F (1, B, C) + A · F (0, B, C)
= [A + F (0, B, C)] · [A + F (1, B, C)]
Tabella 7.2: Proprieta’ e teoremi dell’Algebra di Boole
233
7.2. CIRCUITI LOGICI
7.2
Circuiti logici
In sostanza, da quanto abbiamo visto nel precedente paragrafo, qualunque calcolo si voglia
fare su numeri binari si riconduce a funzioni in cui compaiono le tre operazioni logiche
AND,OR e NOT. Da un punto di vista circuitale questo significa che avendo a disposizione tre circuiti che svolgono queste funzioni elementari, ogni altra funzione puo’ essere
realizzata combinando in modo opportuno questi tre "mattoni" fondamentali.
Ma prima di tutto dobbiamo stabilire una associazione tra variabili logiche e variabili
elettriche. Chiaramente questa associazione e’ del tutto arbitraria, tuttavia e’ chiara la
necessita’ di uniformare questa scelta in modo da rendere compatibili e intercambiabili
circuiti realizzati da diversi produttori o comunque da diversi utenti. Esistono varie convenzioni, ma tutte perlopiu’ considerano come variabili elettriche rilevanti le tensioni e
quindi il circuito logico e’ un sistema in cui, applicando certe tensioni agli ingressi, si ottiene una tensione d’uscita che corrisponde ad una ben definita funzione logica degli ingressi.
Indipendentemente dai dettagli di realizzazione si usa uniformemente una simbologia come
quella in Fig. 7.1, in cui sono mostrati i simboli dei circuiti (o porte logiche) basilari.
AND
OR
XOR
NOT
Figura 7.1: Simboli delle porte logiche fondamentali
E’ importante notare che l’associazione di una tensione con un valore logico puo’ essere
fatta in 2 modi:
0 logico
→ tensione "bassa"
1 logico
→ tensione "alta"
0 logico
→ tensione "alta"
1 logico
→ tensione "bassa"
Ovvero:
Nel primo caso si ha quella che si chiama una logica positiva; nel secondo una logica
negativa. C’e’ una interessante relazione tra queste due scelte. Infatti il teorema di De
Morgan ci dice che:
Y = AB = (A + B)
Il secondo membro puo’ essere pensato come un OR in logica negativa: infatti negare una variabile e’ del tutto equivalente a passare da logica positiva a logica negativa.
234
CAPITOLO 7. CIRCUITI DIGITALI
La conseguenza e’ che un AND in logica positiva equivale ad un OR in logica negativa.
Analogamente, poiche’ si ha:
Y =A+B =A·B
possiamo dire che un OR in logica positiva e’ equivalente ad un AND in logica negativa.
Quindi lo stesso circuito svolge le funzioni di AND o di OR a seconda di quale associazione
logica noi facciamo tra livelli di tensione e valori logici.
Un’ulteriore conseguenza del teorema di De Morgan e’ che. come abbiamo gia’ detto,
AND e OR sono collegati tra loro, per cui in linea di principio non e’ necessario costruire i
circuiti che realizzano le tre funzioni fondamentali, ma ne bastano due, per esempio AND
e NOT, oppure OR e NOT (si noti che il NOT e’ comunque necessario). In realta’ questo
suggerisce di considerare come porta fondamentale il cosidetto NAND, ovvero la porta che
realizza la funzione
Y =A·B
la cui tavola della verita’ e’ data da:
A
B
Y
0
0
1
0
1
1
1
0
1
1
1
0
a)
b)
NAND
NOT
c)
AND
d)
OR
Figura 7.2: a) Simbolo del NAND; b) Realizzazione del NOT c) Realizzazione dell’ AND d) Realizzazione
dell’OR
Come si vede dalla Fig. 7.2 con una o piu’ porte NAND e’ possibile realizzare le tre
operazioni elementari e, quindi, tutte le funzioni logiche.
235
7.3. FAMIGLIE LOGICHE
Da quanto detto si comprende quindi che la costruzione di funzioni logiche piu’ o meno
complesse viene fatto costruendo delle reti formate da porte logiche; e’ chiaro quindi che
non e’ sufficiente definire i "livelli logici" (cioe’ la corrispondenza tra tensioni e variabili
logiche), ma occorre anche che. per esempio l’uscita di una porta possa essere connessa
all’ingresso di un’altra. Questo significa una piu’ completa compatibilita’ in termini di
correnti, impedenze, ecc. Inoltre si vuole che l’uscita di una porta possa servire piu’ ingressi
di porte diverse, e questo pone ulteriori esigenze, come vedremo nei prossimi paragrafi.
In generale una certa funzione logica, grazie al teorema di De Morgan, puo’ essere scritta in
piu’ modi; questo si traduce in diverse realizzazioni circuitali. Vediamo, a titolo di esempio,
il caso dell’OR esclusivo. Si ha
Y = AB + AB
Ma, usando il teorema di De Morgan, si puo’ anche scrivere:
Y = (A + B) · (A · B)
Y =A·B+A·B
Y = (A + B) · (A + B)
A ciascuna di queste forme corrisponde ovviamente una realizzazione circuitale diversa
(Fig. 7.3), di maggiore o minore complessita’ e costo. Si sono quindi sviluppate tecniche,
che noi non tratteremo, per ottimizzare la traduzione circuitale di una funzione logica, nel
senso di minimizzare il numero di porte elementari necessarie a realizzarla.
A
B
A+B
(A+B)(AB)
AB
A
AB
B
AB+ AB
AB
A
AB
B
AB+AB
AB
Figura 7.3: Varie realizzazioni dell’OR ESCLUSIVO
7.3
Famiglie logiche
Una famiglia logica e’ definita da un insieme di regole e convenzioni, tali da rendere possibile la costruzione di circuiti complessi utilizzando circuiti logici elementari compatibili
236
CAPITOLO 7. CIRCUITI DIGITALI
V R (= V 0 )
LOGICA
NEGATIVA
V R (= V 1 )
R
R
Y=AB
Y=A+B
V R (= V 0 )
LOGICA
POSITIVA
V R (= V 1 )
R
R
Y=A+B
Y=AB
LOGICA
POSITIVA
-12
+12
+12
"0"
"1"
0 V
12 V
-12
+12
Y=A
A
Y=AB
A
B
Figura 7.4: AND, OR, NOT e NAND nella famiglia DTL
237
7.3. FAMIGLIE LOGICHE
pienamente tra loro. Nel corso degli anni si sono sviluppate varie famiglie logiche e sul
mercato esiste una vastissima offerta i circuiti appartenenti ad esse. Le più importanti
famiglie logiche che sono state sviluppate nel tempo sono
DTL
Diode-Transistor Logic
RTL
Resistor-Transistor Logic
TTL
Transistor-Transistor Logic
DCTL
Direct-Coupling Transistor Logic
ECL
Emitter-Coupled Logic
CMOS
Basata su transistor a effetto di campo
Oggi la logica di gran lunga piu’ utilizzata e’ la CMOS, seguita dalla TTL, mentre la ECL
e’ utilizzata solo per applicazioni particolari. Prima pero’ di descrivere brevemente queste
tre famiglie e’ comunque interessante ed istruttivo parlare brevemente della famiglia DTL,
che oggi non e’ piu’ molto diffusa, ma ci consente comprendere alcune delle cose dette nel
precedente paragrafo
7.3.1
Famiglia DTL
Le funzioni elementari AND e OR possono essere realizzate solo con diodi, mentre il NOT
richiede l’uso di un transistor. I livelli logici sono (in logica positiva):
0 logico
→0V
1 logico
→ 12 V
Naturalmente la corrispondenza si inverte passando alla logica negativa. In Fig. 7.4 sono
mostrate le realizzazioni di AND e OR e si vede come passando da logica positiva a logica
negativa lo stesso circuito svolge entrambe le funzioni. Invece NOT e NAND mostrati
nella stessa figura sono pensati per logica positiva; per passare a logica negativa occorre
sostituire i transistors npn con transistors pnp.
Si capisce da questi esempi che i livelli logici devono essere definiti con certe tolleranze;
infatti nel circuito NOT mostrato l’uscita a livello logico 0 corrisponde ad una tensione
reale di circa 0.2 V (VCEsat del transistor). In generale quindi i livelli logici corrispondono a
due intervalli di tensione, ben separati tra loro, in modo che eventuali disturbi non alterino
il significato logico delle tensioni ed il comportamento dei circuiti
7.3.2
Famiglia TTL
E’ la famiglia logica piu’ nota ed utilizzata, e costituisce uno standard industriale. I livelli
logici nominali (in logica positiva) sono:
0 logico
→ 0.2 V
1 logico
→5V
238
CAPITOLO 7. CIRCUITI DIGITALI
VCC
VCC
R1
R1
R2
R2
R4
R4
Q3
A
Q1
Y
Q2
Q3
D1
R3
(a)
A
Q1
D2
Q2
D1
Y
Q4
R3
(b)
Figura 7.5:(a) Circuito NOT; (b) circuito NOT con uscita “totem pole”.
La porta logica fondamentale e’ il circuito invertitore, o NOT, il cui schema di principio e’
mostrato in Fig. 7.5(a). Il circuito e’ alimentato con Vcc = 5 V .
In questo circuito il transistor Q1 non e’ utilizzato nel modo consueto: esso va visto come una coppia di diodi (base-emettitore e base-collettore) uniti tra loro. Se l’ingresso e’
a livello logico alto (nominalmente 5 V ) il diodo base-emettitore e’ interdetto; viceversa
il diodo base-collettore puo’ condurre. Si vede, osservando il circuito, una sequenza di 3
giunzioni: base-collettore di Q1, base-emettore di Q2, base-emettitore di Q3. La corrente
puo’ fluire in questa strada e pertanto esse sono tutte in conduzione. La base di Q3 si
pone a 0.7 V , la base di Q2 a 1.4 V , la base di Q1 a 2.1V . Q2 e Q3 sono sicuramente in
saturazione, quindi l’uscita (collettore di Q3) va a circa 0.2 V , ovvero a livello logica basso
(nominalmente 0 V ).
Se invece l’ingresso e’ a livello logico basso (nominalmente 0 V ) la giunzione baseemettitore del transistor Q1 conduce e la sua base e’ quindi a circa 0.7 V . Vediamo
ora lo stato dei transistor Q2 e Q3: se essi fossero in conduzione avremmo la base di Q3
a 0.7 V e la base di Q2 a 1.4 V . In questa situazione la giunzione base-collettore di Q1
sarebbe interdetta, quindi non potrebbe fornire la corrente a Q2. Pertanto l’ipotesi e’
sbagliata: Q2 e Q3 sono interdetti e quindi l’uscita e’ a Vcc ovvero al livello logico alto.
In sintesi il circuito quindi fornisce in uscita un livello logico alto pari alla tensione di
alimentazione, e un livello logico basso pari alla VCEsat . Il diodo D1 non svolge nessuna
funzione logica, in linea di principio e’ sempre interdetto. La sua funzione e’ solo di proteggere il transistor Q1 nel caso in cui all’ingresso venga posta una tensione negativa.
La famiglia TTL appartiene alle cosidette logiche saturate, in quanto uno dei livelli logici
corrisponde allo stato di saturazione del transistor d’uscita. Naturalmente cio’ comporta
una elevata dissipazione di potenza, quando l’uscita e’ bassa, legata al valore della resistenza R4 . Da questo punto di vista converrebbe avere questa resistenza molto grande;
tuttavia cio’ creerebbe problemi con il tempo di commutazione del circuito (cioe’ il tempo
che l’uscita impiega a modificare il suo livello un relazione ad un cambiamento logico degli
239
7.3. FAMIGLIE LOGICHE
VCC
R1
A
B
Q1
D1
VCC
R2
R4
Y
Q2
Q3
D2
R1
R2
R5
Y
A
B
Q2
Q1
D1
Q3
D2
R3
(a)
R4
Q4
R3
(b)
Figura 7.6:(a) Circuito NAND;(b) Circuito AND
ingressi). Infatti questo tempo è dato da τ = R4 CL , dove CL è la capacità connessa con
l’uscita (cioe’ la capacita’ d’ingresso dello stadio successivo
Conviene quindi migliorare il circuito (Fig. 7.5b),con l’aggiunta di un ulteriore transistor;
ora R4 e’ una resistenza piccola. Quando l’uscita e’ alta (Y = 1) Q2 è interdetto, Q3 è
interdetto, Q4 è in conduzione (cioè Y = VCC − VBE − VD ≈ 3 ÷ 4 V ). Quando l’uscita
e’ bassa (Y = 0), Q2 e Q3 sono in saturazione e Q4 è interdetto, e ciò è ottenuto grazie al
diodo D2. Si noti quindi che ora non c’e’ mai corrente che circola in R4 ; quando l’uscita e’
bassa il transistor Q3 assorbe corrente dall’ingresso dello stadio successivo. Vediamo ora
la commutazione dell’uscita da 0 a 1: Q2 si interdice e Q3 anche; Q4 entra in saturazione
e D conduce. In questo modo Q4 fornisce la corrente per caricare CL con una costante di
tempo
τ = (R4 + RS + RD )CL
dove RS e’ la resistenza di Q4 in saturazione e RD la resistenza diretta del diodo: l’uscita
Y sale e si porta a 5 V . Per la commutazione da 1 a 0, Q2 e Q3 entrano in conduzione
(e poi in saturazione), CL si scarica attraverso Q3 ; la tensione di Y scende e si porta in
conduzione. Questo tipo di realizzazione dell’uscita e’ comunemente noto come uscita a
"totem pole".
A partire dal NOT e’ molto semplice realizzare un circuito NAND (Fig. 7.6(a)). Il transistor Q1 e’ ad emettitori multipli1 (due ne caso in esame).
Ora, se almeno uno dei due ingressi e’ a livello logico basso, la giunzione base-emettitore
di Q1 conduce, la base si porta a 0.7 V e si ha la stessa situazione del caso precedente: Q2
e Q3 sono interdetti e l’uscita e’ a livello logico alto. Se invece entrambi gli ingressi sono
alti, l’uscita va in saturazione.
Naturalmente anche questo circuito puo’ essere migliorato modificando l’uscita con l’aggiunta del diodo D2 e del quarto transistor.
Per realizzare la funzione AND non si deve fare altro che invertire nuovamente l’uscita,
1
In linea di principio questo puo’ essere ottenuto molto semplicemente creando due connessioni
metalliche separate con la regione di emettitore
240
CAPITOLO 7. CIRCUITI DIGITALI
VCC
R1
VCC
R3
R2
R1
R3
R2
R5
A
Q3
Q1
R5
Q4
A
D1
Y
Q2
B
Q5
D2
R4
R6
Q3
Q1
Q4
Y
Q6
D1
Q2
B
Q5
D2
(a)
R4
(b)
Figura 7.7:(a) Circuito NOR;(b) Circuito OR
V cc 4A 4B 4Y 3B 3A 3Y
Figura 7.8: Diagramma dell’integrato 7400, in contenitore
1A 1B 1Y 2A 2B 2Y
0
Dual-in-line a 14 piedini
aggiungendo un ulteriore transistor (Fig. 7.6(b)).
Infine, il circuito NOR si realizza con lo schema di Fig. 7.7(a). E’ abbastanza facile comprendere il comportamento di questo circuito. Se entrambi gli ingressi sono bassi i due
transistor Q3 e Q4 sono interdetti, anche Q5 lo e’, e l’uscita e’ alta. Se invece uno o entrambi gli ingressi sono alti il transistor Q5 va in saturazione grazie alla corrente fornitagli
da Q3 o Q4 (o da entrambi). Percio’ si realizza la funzione NOR, ed e’ poi facile ottenere
la funzione OR attraverso una ulteriore inversione (Fig. 7.7(b)).
Esistono in commercio circuiti integrati della famiglia TTL che svolgono varie funzioni;
molto spesso lo stesso circuito integrato contiene piu’ porte logiche identiche. La serie piu’
diffusa e’ la cosidetta serie 74, che comprende un grandissimo numero di componenti. Ad
esempio, l’integrato 7400 racchiude in un contenitore a 14 piedini 4 porte NAND a due
ingressi (Fig. 7.8). Nella Tabella 7.3 e’ riportato un breve elenco di integrati TTL.
Un ulteriore miglioramento nelle prestazioni di questi circuiti viene ottenuto utilizzando
transistor di tipo Schottky. In linea di principio questo transistor puo’ essere ottenuto
inserendo un diodo Schottky tra la base ed il collettore di Q4 (Fig. 7.9(a)).
Il diodo è di metallo-semiconduttore, con tempo di immagazzinamento trascurabile e soglia
di circa 3 V . Esso impedisce che il transistor entri in saturazione e quindi rende più veloce
la commutazione. Praticamente il transistor Schottky e’ costruito come in Fig. 7.9(b); la
metallizzazione della base e’ estesa in modo da connettersi anche alla regione del collettore,
creando quindi la giunzione metallo-semiconduttore che costituisce il diodo. Il simbolo del
241
7.3. FAMIGLIE LOGICHE
Sigla
Funzione
7400
4 NAND a due ingressi
7402
4 NOR a due ingressi
7404
6 NOT
7408
4 AND a due ingressi
7410
3 NAND a 3 ingressi
7420
2 NAND a 4 ingressi
7430
1 NAND a 8 ingressi
7432
4 OR a 2 ingressi
Tabella 7.3: Alcuni integrati TTL serie 74
(a)
E
B
C
n
p
n
(b)
Figura 7.9:
(a) Diodo Schottky tra base e collettore;
(b) La metallizzazione di base si estende nella regione del collettore;
(c) (c) Simbolo circuitale del transistor Schottky.
transistor Schottky e’ riportato in Fig. 7.9(c).
Esistono percio’ versioni della serie 74, contraddistinte da ulteriori caratteri nella sigla:
per esempio la sigla 74LS00 si riferisce ad un circuito tipo Schottky, a bassa dissipazione
(Low); invece la sola S indica circuiti tipo Schottky, caratterizzati da alta velocita’ di commutazione, ma anche alta dissipazione. Le caratteristiche tipiche delle varie versioni sono
riassunte nella Tabella 7.4.
I livelli logici effettivi hanno naturalmente delle tolleranze rispetto ai valori nominali.
Serie
Tempo di commutazione
Dissipazione
(nS)
(mW)
- standard
10
10
H High Power
6
22
L Low Power
33
1
S Schottky
3
19
9.5
2
LS Low Schottky
Tabella 7.4: Caratteristiche delle serie TTL
Nella Tabella 7.5 sono riportate, a titolo esemplificativo, le specifiche che un costruttore
fornisce per i propri circuiti della serie 74. Come si vede dalla tabella, il costruttore ga-
242
CAPITOLO 7. CIRCUITI DIGITALI
Livello logico
Tensione (Volt)
minima
Input
0
1
Output
tipica
0.8
2
0
1
massima
0.2
2.4
0.4
3.4
Tabella 7.5: Tolleranze di ingresso e uscita rispetto ai livelli logici TTL nominali.
rantisce il corretto funzionamento del circuito se ai suoi ingressi vengono fornite tensioni
non superiori a 0.8 V come 0 logico e non inferiori a 2 V come 1 logico; invece garantisce
all’uscita una tensione non superiore a 0.4 V come 0 logico ( ma tipicamente del valore di
0.2) e non inferiore a 2 V come 1 logico ( tipicamente 3.4). E’ chiaro quindi che ingressi
compresi tra 0.8 e 2 V danno luogo ad un comportamento imprevedibile del circuito.
Un discorso analogo va fatto per quanto riguarda l’alimentazione. I circuiti TTL richiedono
un’alimentazione nominale di 5 V ; in realta’ essi possono funzionare correttamente con
tensioni di alimentazione fino a ∼ 7 V . E’ in genere conveniente quindi utilizzare una
tensione di alimentazione un po’ sovradimensionata rispetto al valore nominale, sia per
avere una tensione d’uscita (a livello logico 1) un po’ piu’ alta; ma anche per compensare
eventuali cadute di tensione dovute al carico complessivo dell’alimentatore.
7.3.3
Famiglia CMOS
VDD
QP
vi
vo
QN
Figura 7.10:L’invertitore CMOS.
Il circuito base per comprendere il funzionamento di questa famiglia e’ il NOT, o invertitore, che e’ schematicamente rappresentato nella Fig. 7.10. E’ costituito da una coppia
di MOS tipo enhancemente, QN a canale n e QP a canale p. Il funzionamento di questo
circuito e’ molto semplice. Se vi = VDD (livello logico alto), il transistor QP non e’ attivo,
perche’ la differenza di potenziale fra gate e source e’ nulla, mentre QN lo e’; in sostanza
243
7.3. FAMIGLIE LOGICHE
QP e’ equivalente ad un interruttore aperto e QN ad una piccola resistenza, percio’ vo ∼ 0.
Se invece vi = 0 la situazione si inverte, QN equivale ad un interruttore aperto, mentre QP
offre una piccola resistenza, percio’ vo = VDD .
Possiamo realizzare la funzione NAND con il circuito in Fig 7.11(a). Se A e B sono
VDD
QPB
VDD
VDD
QPA
A
QPA
B
QPB
Y
A
QNA
B
QNB
(a)
Y
QNA
QNB
(b)
Figura 7.11:(a) NAND CMOS a due ingressi;(b) NOR CMOS a due ingressi
alti l’uscita e’ bassa: infatti in questa situazione i due NMOS in serie sono accesi, mentre
i due PMOS sono spenti. Ogni altra combinazione degli ingressi provoca un’uscita alta
realizzando quindi la funzione logica NAND.
In modo analogo si realizza il NOR (Fig. 7.11(b)). In questo caso, se A e B sono bassi,
l’uscita e’ alta, mentre ogni altra combinazione genera un’uscita bassa.
Le porte AND e OR possono infine essere realizzate aggiungendo, all’uscita del NAND e
NOR rispettivamente, un invertitore come quello di Fig. 7.10.
Il fondamentale vantaggio di questa famiglia e’ dato dalla bassissima dissipazione di potenza; quando l’uscita e’ bassa la corrente attraverso gli NMOS e’ piccolissima (la potenza
dissipata e’ di pochi microwatt), mentre quando l’uscita e’ alta la potenza dissipata e’
nulla, cosi’ come e’ nulla la corrente assorbita agli ingressi2 . Inoltre puo’ essere alimentata
con tensioni molto basse, con evidenti vantaggi.
Esistono in commercio varie sotto-famiglie CMOS che si diversificano per velocita’, dissipazione di potenza, tensione di alimentazione, livelli logici. Il livello logico basso e’ sempre
0 V mentre il livello logico alto e’ dato da VDD che puo’ variare tra 3 e 18 V . Esistono
alcune varianti compatibili con i circuiti TTL.
Queste considerazioni, unite al fatto che i CMOS possono essere realizzati su scale molto
piccole, fanno si che questa tecnologia sia di gran lunga la piu’ utilizzata nei moderni circui2
La dissipazione di potenza in realta’ non e’ piu’ nulla quando i circuiti sono utilizzati a frequenze
crescenti, a causa degli effetti capacitivi: la potenza dissipata cresce linearmente con la frequenza e puo’
raggiungere valori simili a quelli dei circuiti TTL.
244
CAPITOLO 7. CIRCUITI DIGITALI
ti integrati per la realizzazione di dispositivi elettronici di tutti i tipi. Bisogna comunque
ricordare che i circuiti CMOS sono molto delicati perche’ possono facilmente danneggiarsi
a causa dell’elettricita’ statica.
7.3.4
Famiglia ECL
RC1
RC2
230
230
Q3
Y1=A
Q4
A
QR
QA
Y2=A
VR=-1.2
1K
1K
RE
780
-5.2
-5.2
-5.2
Figura 7.12:L’invertitore ECL.
La famiglia ECL e’ basata su una coppia differenziale realizzata con transistor BJT, che
operanno tra la regione attiva e la regione di interdizione. Il circuito base e’ l’invertitore,
riportato schematicamente in Fig. 7.12, dove le uscite prelevate dalla coppia sono poi
inviate a due inseguitori di tensione. I livelli logici sono realizzati con tensioni negative
come segue:
0 logico
→ −1.4 ÷ −1.7 V
1 logico
→ −0.7 ÷ −0.9 V
Se l’ingresso A e’ a 0 logico, il transistor QA e’ interdetto, perche’ l’emettitore e’ tenuto
a circa −1.9 V dat transistor QR che invece e’ in conduzione. Percio’ il collettore di QA
e’ a 0 V e l’uscita Y1 e’ a −0.7V (1 logico). Se invece l’ingresso e’ a 0 logico il transistor
QA puo’ condurre e il suo emettitore si porta percio’ ad una tensione di −1.4 ÷ −1.6 V ;
questo porta all’interdizione il transistor QR . A questo punto tutta la corrente fluisce nel
transistor A e il suo collettore si porta a −1.06 ÷ −1.12 V e l’uscita Y1 va a circa −1.8 V (0
logico). Si preleva poi anche l’uscita sul transistor R ed e’ facile verificare che essa riproduce
il livello logico d’ingresso. Abbiamo quindi Y1 = A e Y2 = A. In sostanza il livello logico
di ingresso determina quale dei due transistor della coppia conduce e quale e’ interdetto:
la corrente fluisce solo in uno dei due. La commutazione e’ quindi estremamente rapida,
poiche’ i transistor non vanno mai in saturazione. Questo pero’ ha come effetto negativo
una dissipazione di potenza molto elevata perche’ c’e’ sempre una corrente (di circa 4 mA)
245
7.3. FAMIGLIE LOGICHE
che fluisce: la potenza assorbita dall’alimentazione e’ quindi di circa 20 mW .
E’ molto semplice a questo punto realizzare una porta NOR, modificando il circuito come
in Fig.7.13, dove e’ mostrato un esempio di circuito a 2 ingressi. E’ facile verificarne il
funzionamento.
Anche in questo caso il circuito ha due uscite e realizza quindi simultaneamente OR e
RC1
RC2
230
230
Q3
Y1=A + B
Q4
A
QA
B
QR
QB
Y2=A+B
VR=-1.2
1K
1K
RE
780
-5.2
-5.2
-5.2
Figura 7.13:Porta OR-NOR ECL.
NOR.
La presenza di due uscite rende molto utili questi circuiti quando si debba trasmettere
l’informazione su lunghe distanza. Infatti essa puo’ essere trasmessa in modo differenziale
e quindi essere piu’ protetta da disturbi esterni.
Come si vede questa famiglia ha dei livelli logici molto vicini quindi deve essere realizzata
con particolare cura per garantire la stabilita’ in temperatura e l’immunita’ ai disturbi
esterni3 . Questa implica, ad esempio, che la tensione di riferimento VR (−1.2|; V nelle
figure) e’ in pratica ottenuta, a partire dall’alimentazione, con un circuito abbastanza
complesso, che serve appunto a compensare effetti di temperatura e attenuare disturbi
presenti nell’alimentazione.
7.3.5
Riepilogo
Come gia’ detto gran parte delle moderne applicazioni e’ oggi realizzata utilizzando la
tecnologia CMOS, per i vantaggio che offre in termini di potenza dissipata e integrabilita’
su vasta scala. La tecnologia TTL e’ utilizzata comunque molto per piccole applicazioni
collaterali, dove cioe’ la maggiore manegevolezza e robustezza la rende competitiva. I
circuiti ECL sono riservati a situazioni particolari, dato la loro grande dissipazione di
potenza.
3
La scelta di un’alimentazione negativa dal lato emettitore e’ proprio motivata dalla migliore immunita’
ai disturbi che si puo’ in questo modo ottenere. Esistono comunque in commercio circuiti ECL con
alimentazione positiva e livelli logici in grado di dare una compatibilita’ con la tecnologia TTL.
246
7.4
CAPITOLO 7. CIRCUITI DIGITALI
Circuiti digitali combinatori
Vediamo ora alcuni esempi di circuiti piu’ complessi che si possono realizzare partendo
dalle porte logiche elementari.
7.4.1
Sommatori
Per comprendere come deve essere costruito un circuito capace di sommare due numeri
binari possiamo anzitutto considerare la somma di due numeri a 1 bit (cioe’ ad una sola
cifra).
A
B
D
C
Somma
0
0
0
0
00
0
1
1
0
01
1
0
1
0
01
1
1
0
1
10
Vediamo dalla tabella che il risultato (colonna "Somma") diviene di due cifre quando
entrambi gli addendi sono 1; quindi l’operazione di somma produce sia un risultato (D)
che un riporto (C) anch’essi mostrati nella tabella. Il riporto C, nel caso di numeri a piu’
cifre, andrebbe aggiunto alla somma del bit immediatamente a sinistra. Come si vede D
non e’ altro che l’OR ESCLUSIVO degli ingressi, mentre C e’ l’AND. Il circuito da costruire
e’ quindi quello mostrato in Fig. 7.14, e prende il nome di Semisommatore (Half Adder).
Ora per realizzare la somma di numeri a piu’ bit possiamo utilizzare lo schema di Fig. 7.15;
A
C = AB
B
A
B
HA
C
D
D = AB + BA
Figura 7.14: Semisommatore; b) Simbolo complessivo
come si vede per ogni cifra, tranne la meno significativa, sono necessari 2 Semisommatori,
da cui il nome.
La stessa funzione puo’ essere realizzata in modo diverso. Supponiamo infatti di voler
sommare due numeri, A e B, a molti bit; per il generico bit n noi dobbiamo fare una
somma a tre addendi, per tener conto dell’eventuale riporto Cn−1 proveniente dalla cifra
precedente, e fornire una somma, Sn , piu’ un eventuale riporto, Cn . Le uscite logiche da
fornire sono quindi:
Sn = An B n Cn−1 + An B n C n−1 + An Bn C n−1 + An Bn Cn−1
Cn = An Bn Cn−1 + An B n Cn−1 + An Bn C n−1 + An Bn Cn−1
247
7.4. CIRCUITI DIGITALI COMBINATORI
A 3 B3
A 2 B2
A 1 B1
A 0 B0
HA
HA
HA
HA
HA
HA
S3
HA
S2
S1
S0
Figura 7.15: Somma a molti bit
come si puo’ anche verificare dalla tavola della verita’:
An
Bn
Cn−1
Sn
Cn
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Il circuito completo diviene allora quello in Fig. 7.16 e prende il nome di Full Adder (o
Sommatore completo). Circuiti sommatori sono naturalmente disponibili in forma integrata; per esempio, il 74LS283 e’ un Full Adder a 4 bit; diversi esemplari possono essere
collegati in cascata per realizzare somme a 8, 12, 16, . . . bit.
E’ interessante, a titolo di esercizio, vedere se e’ possibile semplificare le espressioni di Cn
248
CAPITOLO 7. CIRCUITI DIGITALI
An
Bn
Cn - 1
FA
Cn
Sn
Figura 7.16: Full adder
ed Sn , sfruttando le proprieta’ dell’algebra di Boole. Si ha
Cn = An Bn Cn−1 + An B n Cn−1 + An Bn C n−1 + An Bn Cn−1
= An Bn Cn−1 + An B n Cn−1 + An Bn (C n−1 + Cn−1 )
= An Bn Cn−1 + An B n Cn−1 + An Bn
= An Bn Cn−1 + An (Bn Cn−1 + Bn )
= An Bn Cn−1 + An Cn−1 + An Bn
= Cn−1 (An Bn + An ) + An Bn
= Cn−1 (An + Bn ) + An Bn
= An Bn + An Cn−1 + Cn−1 Bn
Abbiamo utilizzato qui le proprieta’ di complementazione e di assorbimento.
Con manipolazioni analoghe si puo’ arrivare a semplificare anche l’espressione di Sn , con
il risultato
Sn = Cn−1 (An ⊕ Bn ) + Cn−1 (An ⊕ Bn )
Sottrazione. Vediamo come possiamo realizzare un circuito capace di effettuare una
sottrazione tra due numeri binari, per esempio a 4 cifre.
In generale, dato un numero binario A, si definisce il suo complemento ad 1, A, come il
numero che si ottiene negando uno per uno tutti i bit. Si ha evidentemente che:
A + A = 1111
se ora aggiungiamo 1
A + A + 1 = 10000
Quindi possiamo anche dire che
A = 10000 − A − 1
Adesso, volendo sottrarre tra loro i numeri B ed A si ha
B − A = (B + A + 1) − 10000
249
7.4. CIRCUITI DIGITALI COMBINATORI
Ad esempio, si voglia fare 12 − 9. In binario
1100 − 1001 = (1100 + 0110 + 0001) − 10000 = 10011 − 10000 = 0011
cioè 3, come previsto. In pratica sottrarre 10000 significa ignorare il quinto bit, cioe’
ignorare il bit fuori dalla dimensione degli operandi (bit di "overflow").
L’operazione di sottrazione si fa quindi complementando il sottraendo ed eseguendo poi
un’operazione di somma. In realtà tutto ciò funziona se B > A; se invece B < A non c’e’
riporto nel quinto bit, che rimane quindi zero. A questo punto per avere il risultato giusto
(in valore assoluto), basta rifare il complemento a 2.
Si voglia ad esempio calcolare 13 − 15. Si ha
1101 − 1111 = 1101 + 0001 = 01110
Il quinto bit e’ zero, quindi facendo il complemento a 2 si ottiene 0010 cioe’ il valore assoluto
del risultato.
In pratica lo stato del bit di overflow ci fa capire il segno del risultato: se esso e’ uguale ad 1
il risultato e’ positivo, se uguale a 0 il risultato e’ negativo ( e va rieseguito il complemento
a 2).
7.4.2
Moltiplicazione e divisione
Poiche’ siamo in tema di operazioni numeriche conviene accennare brevemente alle operazioni di moltiplicazione e divisione, nel sistema binario. Moltiplicare un numero per due
significa spostare tutti i bit di una posizione verso sinistra (cioè verso il bit più significativo). Moltiplicare per una potenza di due vuol dire ripetere più volte questa operazione;
per moltiplicare un numero per un altro che non è potenza di due si scompone quest’ultimo
in somme di potenze di due e si sommano i risultati. Si voglia fare ad esempio 27 × 33;
possiamo scrivere
27 × 33 = 27 × (32 + 1) = 27 × 25 + 27 × 20
Quindi, poiche’ il numero 27 in binario e’ 11011, il risultato e’ ottenuto dalla somma
1101100000 + 110110 = . . .
dove abbiamo sommato il numero che si ottiene da 27 con 5 traslazioni verso sinistra
con il numero ottenuto da 27 con 1 traslazione verso sinistra. Puo’ sembrare complicato
scomporre un numero in potenze di 2, ma e’ invece semplicissimo in binario. Dato infatti
un qualunque numero, per es. 1101100, esso si scompone in
1000000
+
0100000
+
0001000
+
0000100
=
1101100
250
CAPITOLO 7. CIRCUITI DIGITALI
Cioe’ basta prendere tutti i numeri che si ottengono azzerando via via tutti i bit tranne 1.
L’operazione di divisione si svolge in modo analogo, traslando i numeri verso destra,
anziche’ verso sinistra.
Vedremo piu’ avanti come si possono realizzare traslazioni (verso destra o verso sinistra)
di gruppi di bit.
7.4.3
Comparatore digitale
Dn
An
Bn
En
Cn
Figura 7.17: Comparatore digitale ad 1 bit
Abbiamo visto che e’ spesso necessario confrontare tra loro due numeri binari per stabilire
qual’e’ il maggiore. Come al solito cominciamo ad affrontare il problema considerando per
ora due numeri ad un solo bit. Siano A e B i nostri due numeri; possiamo costruire 3
funzioni logiche
E0 = AB + AB
=1
se A = B
C0 = AB
=1
se A > B
D0 = AB
=1
se A < B
Questi tre operatori ci consentono di effettuare il confronto. Chiaramente, per numeri a
molti bit, per esempio 4, avremo:

 =1 A=B
E = E3 E2 E1 E0
 = 0 A 6= B
D’altra parte la condizione A > B e’ vera se
A3 > B3
o A3 = B3 e A2 > B2
o A3 = B3 e A2 = B2 e A1 > B1
o A3 = B3 e A2 = B2 e A1 = B1 e A0 > B0
Cioè corrisponde all’operatore
C = A3 B3 + E3 A2 B2 + E3 E2 A1 B1 + E3 E2 E1 A0 B0
251
7.4. CIRCUITI DIGITALI COMBINATORI
Quindi

 1 se A > B
C=
 0 altrimenti
La condizione A < B si ottiene in modo analogo, scambiando A con B. Nella Fig. 7.17 e’
mostrato lo schema dell circuito che realizza la comparazione ad 1 bit.
Anche in questo caso sono reperibili in commercio circuiti che effettuano la comparazione: per esempio, il 74LS85 e’ un comparatore a 4 bit, utilizzabile anche in cascata per
comparare numeri a dimensione maggiore
L’industria dei circuiti integrati ha sviluppato anche circuiti capaci di compiere piu’ operazioni aritmetiche o logiche. Questi circuiti sono comunemente noti come Arithmetic and
Logic Units (ALU) e costituiscono a loro volta uno degli elementi funzionali dei sistemi
di elaborazione piu’ complessi. Ad esempio, l’integrato 74LS181 e’ una ALU a 4 bit che
consente, tramite 5 ingressi di selezione, di svolgere 16 diverse operazioni aritmetiche e
16 diverse operazioni logiche con i 2 operandi. Opportuni ingressi e uscite per i riporti
consentono di collegare in parallelo piu’ ALU per svolgere operazioni a piu’ alto numero di
bit. Sviluppata all’inizio degli anni ’70 questa ALU e’ stata utilizzata per la realizzazione
di moltissimi celebri mini computer dell’epoca.
I0 I1 I2 I3 I4 I5 I6 I7
A0
A1
A2
Y
Figura 7.18: Schema logico di un multiplexer a otto ingressi
7.4.4
Multiplexer e demultiplexer
Un multiplexer e’ un circuito logico in grado di selezionare uno tra diversi ingressi logici e
connetterlo all’uscita, in base al valore presentato agli ingressi di selezione. In Fig. 7.18 e’
252
CAPITOLO 7. CIRCUITI DIGITALI
mostrato lo schema logico di un multiplexer a 8 ingressi: lo stato dei 3 ingressi di selezione
A determina quale delle entrate I trasmette il suo livello logico all’uscita Y .
Esistono in commercio multiplexer di varie dimensioni. Il 74151 e’ un esempio: ha 8 ingressi, piu’ un ingresso di abilitazione e fornisce sia l’uscita diretta che quella complementata.
La presenza dell’ingresso di abilitazione rende facile l’espansione a 16 ingressi utilizzando
due 74151 accoppiati.
I
A0
A1
A2
U0
U1
U2
U3
U4
U5
U6
U7
Figura 7.19: Schema logico di un demultiplexer a otto uscite
Un demultiplexer svolge la funzione contraria: prende il contenuto di un ingresso e lo inoltra
in una di molte uscite sulla base del contenuto degli ingressi di selezione (Fig. 7.19).
I0
I1
I2
I3
I4
I5
A0
A1
A2
I6
I7
Figura 7.20: Encoder a otto ingressi
7.4.5
Encoder e decoder
Un encoder (Fig. 7.20) genera un’uscita binaria che fornisce l’indirizzo di quello tra gli
ingressi che e’ stato attivato. In genere, se piu’ ingressi sono attivati, viene fornito l’indirizzo
dell’ingresso di numero piu’ alto (priority encoder). Il significato di questa affermazione
puo’ essere meglio compreso esaminando la seguente tavola della verita’ relativa a un
encoder a 4 ingressi (la x sta per “qualunque stato logico”):
253
7.5. CIRCUITI SEQUENZIALI
I3
I2
I1
I0
A1
A0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
x
0
1
0
1
x
x
1
0
1
x
x
x
1
1
Se, ad esempio, prendiamo l’ultima riga si vede che le uscite binarie forniscono 1 − 1 se
I3 = 1, qualunque sia lo stato degli altri ingressi; in modo analogo si leggono le righe
precedenti. Si noti che la configurazione di uscita 0 − 0 e’ ambigua: puo’ aversi sia se
nessuno degli ingressi e’ attivo, sia se solo l’ingresso I0 e’ attivo. Nei circuiti commerciali
questa ambiguita’ e’ in genere risolta con un’uscita supplementare che indica se almeno
uno degli ingressi e’ attivo.
Un esempio nella famiglia TTL e’ il 74148, con 8 ingressi e 3 uscite; ha inoltre un ingresso
di abilitazione e due uscite supplementari, che forniscono informazioni globali.
A0
A1
A2
U0
U1
U2
U3
U4
U5
U6
U7
Figura 7.21: Schema logico di un decoder a otto uscite
Il decoder e’ molto simile al demultiplexer, con la differenza che gli unici ingressi sono le
linee di indirizzo, la cui decodifica provoca l’attivazione dell’uscita corrispondente (Fig.
7.21). Un esempio commerciale e’ il 74138: oltre alle linee di indirizzo ha 3 ingressi di
abilitazione, che rendono facile l’uso di piu’ circuiti accoppiati per moltiplicare il numero
delle uscite. Uno degli ingressi di abilitazione puo’ inoltre essere utilizzato per trasmettere
un dato e trasforma quindi il decoder in un demultiplexer.
7.5
Circuiti sequenziali
I circuiti che abbiamo visto finora sono di tipo combinatorio, cioe’ l’uscita (o le uscite)
e’ ad ogni istante una certa funzione logica degli ingressi. La variabile tempo non e’
254
CAPITOLO 7. CIRCUITI DIGITALI
S
Q
Q
Q
Q
R
a)
b)
Figura 7.22: a) Circuito bistabile; b) Latch S-R con porte NOR
quindi concettualmente rilevante ai fini della funzionalita’ di questi circuiti, ma lo e’ solo
da un punto di vista pratico, nel senso che inevitabilmente ogni circuito ha un tempo di
commutazione finito e non puo’ variare istantaneamente il suo stato.
Vi sono invece circuiti in cui la temporizzazione dei fenomeni e’ intrinsecamente rilevante;
essi prendono il nome di circuiti sequenziali. L’elemento fondamentale di partenza e’ il
circuito bistabile (Fig. 7.22a): la connessione tra le due porte NOT conduce al fatto che
esistono due stati stabili ed equiprobabili del circuito
Q=1
Q=0
Q=0
Q=1
Al momento dell’accensione del circuito esso si porra’ in uno dei due stati: in linea di
principio non e’ possibile prevedere quale, in realta’, poiche’ e’ impossibile realizzare un
circuito esattamente simmetrico, in termini di velocita’ di commutazione delle porte, ci
sara’ uno stato "preferito", in cui il circuito si pone al momento dell’accensione.
Lo stato del bistabile puo’ essere fissato modificando il circuito come in Fig. 7.22b, il
cosiddetto latch SR, dove sono stati aggiunti due ingressi, e sostituiti i NOT con due porte
NOR. Ricordando il funzionamento del NOR si verifica facilmente che questo circuito ha
la seguente tavola della verita’:
S
R
Q
Q
0
0
non cambia
non cambia
1
0
0
1
0
1
1
0
1
1
0
0
E’ interessante notare la prima e l’ultima riga della tabella: se entrambi gli ingressi sono
a zero il circuito permane nello stato in cui si trovava. Se invece sono entrambi ad uno il
circuito si pone in uno stato forzato e non stabile, con entrambe le uscite a zero4 .
4
L’espressione non stabile indica il fatto che questo stato puo’ permanere solo finche’ gli ingressi sono
ad uno: mettendo gli ingressi a zero il circuito tornera’ in uno dei suoi stati stabili, non prevedibile
teoricamente.
255
7.5. CIRCUITI SEQUENZIALI
7.5.1
Flip-flop
S
Q
Ck
S
Q
Ck
Q
Q
R
R
a)
b)
Figura 7.23: a) Flip flop S-R; b) Simbolo circuitale.
Partendo dal concetto del latch possiamo costruire un circuito piu’ sofisticato, ovvero il flipflop SET-RESET (flip-flop S-R). L’ingresso Ck (detto ingresso di clock) serve in sostanza
ad abilitare il circuito: infatti, finche’ Ck e’ uguale a zero, l’uscita delle porte 1 e 2 e’ sempre
1, indipendentemente dallo stato di S e di R; cio’ significa che le porte 3 e 4 restano nello
stato in cui si trovavano inizialmente. Per comprendere allora il funzionamento del circuito
dobbiamo allora procedere nel seguente modo:
si applicano ad S e R due livelli logici;
si porta il clock ad 1 per un certo tempo;
si osserva lo stato delle uscite quando l’impulso di clock e’ finito; la tavola della verita’ del
circuito e’allora
Sn
Rn
Qn+1
0
0
Qn
1
0
1
0
1
0
1
1
?
dove gli indici n ed n + 1 stanno proprio a ricordare il significato sequenziale: Sn e Rn
sono gli stati degli ingressi applicati prima dello n-esimo impulso di clock, Qn+1 e’ lo
stato dell’uscita dopo la fine di questo impulso. E’ facile verificare il comportamento sopra
descritto: se S = 0 e R = 0 l’uscita delle porte 1 e 2 resta uguale ad 1 prima, durante
e dopo l’impulso di clock, quindi l’uscita non cambia e rimane uguale a Qn . Se S = 1
e R = 0, l’uscita della porta 1 diviene 0 (durante l’impulso di clock) e questo forza ad 1
l’uscita della porta 3. Di conseguenza gli ingressi della porta 4 sono ora ad 1 e 1, percio’
Q va a 0. Finito l’impulso di clock questo stato resta congelato. Il circuito si comporta
ovviamente in modo analogo nel caso inverso: S = 0 e R = 1 porta Q = 0 e Q = 1.
Cosa succede invece se S = 1 e R = 1? Durante l’impulso di clock le uscite 1 e 2 vanno
entrambe a 0 e quindi Q e Q vanno ad 1; questo stato persiste finche’ e’ presente il clock,
ma quando esso finisce il bistabile formato dalle porte 3 e 4 deve mettersi in uno dei suoi
due stati stabili. Non e’ prevedibile teoricamente quale dei due, perche’ chiaramente esso
256
CAPITOLO 7. CIRCUITI DIGITALI
dipendera’ da quale delle due porte NAND e’ piu’ veloce a commutare e quindi a forzare
lo stato dell’altra.
Flip-Flop J-K. E’ possibile costruire un flip-flop che dia sempre risposte definite, utiliza)
b)
Pr
Pr
J
J
Q
Q
S
Q
Ck
Ck
K
Q
Q
R
Q
Cr
K
Cr
Figura 7.24: a) Flip-flop J-K; b) Schema equivalente
zando lo schema in Fig. 7.24a. Come si vede le uscite sono ora riportate agli ingressi dello
stadio di abilitazione; questo in sostanza equivale allo schema di Fig. 7.24b, che possiamo
usare per comprendere il funzionamento. Tenendo presente che ora S = JQ e R = KQ
abbiamo la seguente tavola della verita’:
Jn
Kn
Qn
Qn
Sn
Rn
Qn+1
0
0
0
1
0
0
Qn
0
0
1
0
0
0
Qn
1
0
0
1
1
0
1
1
0
1
0
0
0
Qn = 1
0
1
0
1
0
0
Qn = 0
0
1
1
0
0
1
0
1
1
0
1
1
0
Qn (= 1)
1
1
1
0
0
1
Qn (= 0)
Le ultime due righe mostrano la differenza rispetto al S-R; ora quando entrambi gli ingressi
sono ad 1 l’uscita commuta rispetto allo stato precedente. In definitiva, la tavola della
verita’ del flip-flop J-K e’:
257
7.5. CIRCUITI SEQUENZIALI
Jn
Kn
Qn+1
0
0
Qn
1
0
1
0
1
0
1
1
Qn
Gli ingressi Pr (pre-set) e Cr (clear) servono a fissare lo stato iniziale del circuito indipendentemente dal clock, cioe’ in modo che potremmo definire asincrono. Infatti si
ha:
Cr Pr Q Q
0
1
0
1
1
0
1
0
Quindi, dopo aver fissato lo stato desiderato, occorre mantenere Cr e Pr ad 1 per abilitare
il flip-flop (Pr = 0, Cr = 0 non deve essere usato perchè porta a situazioni ambigue).
In realtà il flip-flop J-K ha degli inconvenienti, che inficiano il funzionamento che abbiamo
descritto. Per esempio, supponiamo di essere nello stato Q = 0 e di porre J=1, K=1.
Quando arriva l’impulso di clock l’uscita Q si porta ad 1, dopo un ritardo ∆t legato ai
naturali tempi di commutazione. Ora, se il clock e’ ancora attivo, cio’ provoca un’ulteriore
commutazione ( J e K infatti sono ancora ad 1) e l’uscita Q ritorna a 0. Cioè finche’
e’ presente l’impulso di clock l’uscita oscilla continuamente fra 0 e 1 e lo stato finale non
e’ chiaramente predicibile. Questo inconveniente potrebbe essere evitato solo calcolando
accuratamente la durata dell’impulso di clock, in relazione ai tempi di commutazione del
circuito, in modo da assicurarsi che l’uscita abbia tempo di commutare solo una volta.
Evidentemente non e’ una soluzione praticabile, se non in situazioni molto particolari.
E’ invece possibile ovviare a questo inconveniente con il cosidetto schema master-slave
(Fig. 7.25) Si hanno sostanzialmente due stadi successivi, ma il secondo stadio e’ abilitato
dal segnale di clock negato, mentre le uscite del bistabile finale sono riportate agli ingressi
del primo stadio. Ora, durante l’impulso di clock il secondo stadio e’ inibito, quindi le
uscite non possono commutare. Invece, quando cessa l’impulso di clock, il primo stadio e’
inibito, e lo stato delle uscite QM e QM e’ trasferito su Q e Q. Gli ingressi Pr , Cr servono
per fissare lo stato iniziale, come nel caso precedente.
Flip-flop di tipo D e di tipo T Un flip-flop S-R (o J-K) in cui gli ingressi sono collegati
come in Fig, 7.26a realizza il cosidetto tipo D (delay). Ora gli ingressi sono sempre opposti
tra loro, quindi la tavola della verita’ e’ sostanzialmente
Dn Qn+1
1
1
0
0
258
CAPITOLO 7. CIRCUITI DIGITALI
SLAVE
MASTER
J
Q
Ck
Q
K
Figura 7.25: a) Flip-flop J-K master-slave
In sostanza questo circuito produce un ritardo di un ciclo di clock (da cui il nome). Esso
rappresenta sostanzialmente una "memoria" a 1 bit: l’informazione viene scritta sul circuito (abilitando il clock) e permane su di esso, potendo essere riletta attraverso l’uscita
Q. Questo circuito e’ comunemente chiamato transparent latch, perche’, nell’intervallo di
tempo in cui il clock e’ alto, l’uscita vede lo stato dell’ingresso come se il circuito fosse
trasparente.
a)
D
b)
J
Q
T
Ck
K
J
Q
Ck
K
Q
Q
Figura 7.26: a) Flip-flop D; b) Flip-flop T
Invece, quando gli ingressi di un flip-flop J-K (master-slave) sono connessi direttamente
tra loro (Fig, 7.26b) si ha il cosidetto tipo T (toggle). Questo circuito cambia il valore di
Q ad ogni ciclo di clock; la sua tavola della verita’ e’ semplicemente
Tn Qn+1
1
Qn
0
Qn
Edge triggered flip-flop. Finora abbiamo studiato dei flip-flop sensibili al livello del
clock, cioe’ abilitati a commutare, se necessario, solo durante l’intervallo di tempo in cui
il segnale di clock e’ "alto". Esistono invece flip-flop sensibili solo al "fronte" del segnale
di clock, comunemente noti come "edge triggered". In questo caso il circuito e’ sensibile
259
7.5. CIRCUITI SEQUENZIALI
allo stato degli ingressi solo durante un breve intervallo di tempo appena precedente (o,
raramente appena successivo) al fronte di salita del clock. La Fig. 7.27 fa comprendere la
differenza delle due situazioni. Il set-up time (tipicamente 15 − 20 nS) e’ l’intervallo di
a)
Il FF e' abilitato ed e' sensibile allo stato
degli ingressi finche' il clock e' alto
setup time
CLOCK
b)
CLOCK
setup
time
c)
hold
time
Il FF e' sensibile allo stato degli ingressi
solo durante il setup time
Figura 7.27: a) Flip-flop sensibile al livello; b) Flip-flop sensibile al fronte del clock c) Dettaglio del
set-up time e del hold-time
tempo in cui gli ingressi devono essere stabili per consentire un corretto funzionamento del
dispositivo, mentre esso e’ indifferente allo stato degli ingressi al di fuori di questo intervallo.
Il set-up time puo’ essere tutto precedente il fronte del clock, ovvero parzialmente "a
cavallo": in tal caso la frazione successiva al fronte prende il nome di hold-time. Puo’
sembrare paradossale il fatto che il flip-flop sia sensibile allo stato degli ingressi prima del
clock; in realta’ cio’ e’ ottenibile semplicemente giocando sui ritardi interni tra le linee
degli ingressi e la linea del clock.
Chiaramente questo tipo di funzionamento elimina il problema della corsa critica, e quindi
non c’e’ la necessita’ di costruire sistemi master-slave. Il simbolo circuitale dei flip-flop edge
a)
b)
J
Q
D
Ck
Q
Ck
K
Q
J
Q
c)
Q
d)
Ck
D
Q
Ck
K
Q
Q
Figura 7.28: a) Simbolo del J-K edge triggered; b) Simbolo del D edge triggered; c) FF sensibile al fronte
di discesa d) Il tipo T ottenuto dal D
triggered e’ simile a quello dei circuiti sensibili al livello (Fig. 7.28; l’unica differenza e’ un
triangolino posto all’ingresso del clock. Esistono anche dispositivi che si attivano sul fronte
di discesa del clock: sono distinguibili simbolicamente tramite un cerchietto sull’ingresso
di clock.
E’ interessante notare che, con un tipo D e’ possibile ottenere un tipo T semplicemente
riportando all’ingresso l’uscita Q (Fig. 7.28d). Ad ogni impulso di clock l’uscita Q commuta
260
CAPITOLO 7. CIRCUITI DIGITALI
passando da 0 a 1 e viceversa.
Nella Fig. 7.29 e’ mostrato lo schema di un flip-flop di tipo D sensibile al fronte di salita
(disponibile nella famiglia TTL con la sigla 74LS74). Il circuito e’ costituito da 3 bistabili,
2 formano lo stadio d’ingresso e uno lo stadio di uscita.
S’
S
Q
Clock
Q
R
R’
D
Figura 7.29: Flip flop di tipo D, edge-triggered, sensibile al fronte di salita
Per comprendere il funzionamento di questo dispositivivo e’ utile fare riferimento alla tabella 7.6, dove viene illustrata una possibile sequenza di funzionamento. E’ chiaro anzitutto
che se il Clock e’ basso il bistabile di uscita rimane nello stato precedente, e ignora cio’ che
avviene all’ingresso D; questo e’ descritto nelle prime due righe della tabella (dove abbiamo
ipotizzato uno stato iniziale con Q = 0 e Q = 1), D passa da 0 a 1 e l’uscita resta invariata.
Se ora il Clock sale (riga 3) S va a zero, Q va a uno forzando Q a zero; questa situazione
permane ed e’ stabile, come si vede nella riga 4. Se D torna a zero, pur con il Clock attivo
(riga 5) le uscite restano bloccate, l’unico effetto si ha su R′ che passa a uno. Se ora il
Clock torna a zero (riga 6), S va a uno, S ′ va a zero, ma le uscite restano invariate.
In sostanza le uscite commutano solo sul fronte di salita del Clock: al di fuori di questa
fase le commutazioni dell’ingresso D possono solo modificare lo stato dei due bistabili di
ingresso. E’ facile verificare che questo comportamento si ha in tutte le sequenze di funzionamento. Il 74LS74 ha un setup-time di circa 20 ns e un hold-time di circa 5 ns: quindi per
Riga
D
Ck
Qn
Qn
S
R
S′
R′
Qn+1
Qn+1
1
0
0
0
1
1
1
0
1
Qn
Qn
2
1
0
0
1
1
1
1
0
Qn
Qn
3
1
↑
0
1
0
1
1
0
1
0
4
1
1
1
0
0
1
1
0
1
0
5
0
1
1
0
0
1
1
1
1
0
6
0
0
1
0
1
1
0
1
1
0
Tabella 7.6: Una sequenza per illustrare il funzionamento del flip-flop tipo D edge-triggered.
261
7.5. CIRCUITI SEQUENZIALI
avere un’uscita predicibile occorre che l’ingresso resti stabile in questo intervallo di tempo
attorno al fronte di salita del Clock.
Nella famiglia TTL si puo’ poi trovare il flip-flop JK edge-triggered sensibile al fronte di
discesa (74LS112, per esempio).
7.5.2
Registro a scorrimento
Pr
Abil.
In
Pr 3
S Pr
Q3
Q
Pr 2
S Pr
Q2
Q
Pr 1
S Pr
Ck
Ck
Ck
R C Q
r
R C Q
r
R
Q1
Q
Pr 0
S Pr
Q0
Q
Ck
Cr Q
R
Cr Q
Cr
Ck
Figura 7.30: Shift register a 4 bit
Il registro a scorrimento (in inglese shift register)) è formato da n flip-flop di tipo J-K (o
S-R) master-slave. Consente di memorizzare n bit, che possono essere caricati sia in modo
seriale, attraverso l’ingresso di sinistra, sia in parallelo, attraverso gli ingressi di preset. Il
contenuto puo’ essere riletto sia in parallelo, che in serie. Vediamo ora in dettaglio le varie
operazioni possibili, riferendoci all’esempio in Fig. 7.30:
1. Azzeramento: si pone Cr = 0, PrAbil = 0;
2. Caricamento parallelo: Cr = 1, PrAbil = 1 Prj = 1/0: i vari flip-flop vengono caricati
con il contenuto presentato agli ingressi Prj ;
3. Lettura parallela: si effettua dalle uscite Qi ;
4. Caricamento seriale: si presenta il primo bit da caricare sull’ingresso seriale; fornendo
un impulso di clock l’informazione viene caricata sul flip-flop F4 ; successivamente si
presenta il secondo bit e si fornisce un secondo impulso di clock: il primo bit passa
al flip-flop F3 e in F4 entra il secondo bit; continuando si possono caricare tutti i
flip-flop;
5. Lettura seriale: fornendo ulteriori impulsi di clock i bit memorizzati si presentano
successivamente sull’uscita Q0 .
Si possono costruire registri in grado di effettuare scorrimenti verso destra e verso sinistra. Essi possono quindi essere utilizzati per effettuare moltiplicazioni e divisioni, che,
come abbiami visto, richiedono questo tipo di manipolazione. In generale lo Shift register
262
CAPITOLO 7. CIRCUITI DIGITALI
può essere usato come memoria, come convertitore serie-parallelo, parallelo-serie, ritardo
digitale, ecc., e costituisce quindi un circuito molto importante in una grande varieta’ di
applicazioni.
L’integrato 74LS95 e’ un esempio di shift register a 4 bit, capace di compiere sia scorrimenti
verso destra che verso sinistra, con ingressi e uscite sia seriali che parallele. Un’esempio
piu’ sofisticato e’ il 74LS293 che e’ un moltiplicatore a 4 bit: il moltiplicando viene caricato
in parallelo, mentre il moltiplicatore viene caricato serialmente fornendo opportuni impulsi
di clock. Il risultato viene letto in parallelo.
7.5.3
Contatore asincrono
Q0
Q1
Q2
Q3
a)
Q
Q
In
Ck
Ck
T
Q
T
Ck
Ck
Q
Q
Q
T
Q
Q
T
1
1
b)
In
0
1
0
Q0
1
0
1
0
1
0
Q1
Q2
Q3
Figura 7.31: a)Contatore asincrono a 4 bit; b)Diagramma temporale
Si puo’ costruire un contatore binario utilizzando flip-flop di tipo T (master-slave). Tutti
gli ingressi vengono posti ad 1; gli impulsi da contare entrano nel clock del primo stadio,
mentre ogni uscita fornisce il clock allo stadio successivo. Poiche’ i flip-flop sono masterslave, ogni uscita commuta sul fronte di discesa del clock ricevuto all’ingresso (Fig. 7.31b).
Supponendo quindi che inizialmente tutti i flip-flop siano a zero, lo stato delle uscite all’arrivare degli impulsi e’ mostrato nella Tabella 7.7 Come si vede l’insieme delle uscite
costituisce un numero a 4 bit (Q0 e’ il bit meno significativo) che conta il numero di impulsi
arrivati In generale un contatore ad n stadi conta quindi fino a 2n poi ricomincia da zero.
E’ interessante notare che le varie uscite del contatore commutano a frequenze via via
decrescenti: il bit 0 commuta alla stessa frequenza del segnale d’ingresso, il bit 1 a frequenza
meta’, il bit n a frequenza 2−n volte piu’ bassa. Percio’ i contatori possono anche essere
utilizzati come divisori di frequenza, per potenze di due.
Con opportuni aggiustamenti e’ possibile realizzare divisori (e quindi contatori) per potenze
diverse; esistono in commercio divisori per 5, 6, 10 e 12.
263
7.5. CIRCUITI SEQUENZIALI
Numero di impulsi
Q3
Q2
Q1
Q0
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
3
0
0
1
1
4
0
1
0
0
5
0
1
0
1
6
0
1
1
0
7
0
1
1
1
8
1
0
0
1
15
1
1
1
1
16
0
0
0
0
...
Tabella 7.7: Lo stato delle uscite in funzione degli impulsi in ingresso
Contatore avanti-indietro. Un contatore che possa effettuare un conteggio in entrambe
le direzioni e’ detto contatore avanti-indietro (up-down in inglese). Per contare all’indietro
occorre che l’ingresso di clock di ogni stadio sia collegato all’uscita Q dello stadio precedente, mentre il primo stadio resta invariato. In questo modo il primo stadio commuta
ad ogni impulso, mentre gli stadi successivi commuteranno quando l’uscita Q proveniente
dallo stadio precedente passa da 1 a 0. E’ facile ora convincersi che, partendo da uno
stato iniziale qualunque del contatore, l’arrivo di un impulso provoca un decremento del
contenuto (si noti che, partendo dallo stato iniziale 0000, si transisce allo stato 1111).
Un contatore avanti-indietro puo’ essere realizzato come nello schema di Fig. 7.32: il
segnale di controllo, X, determina la direzione del conteggio. In un contatore asincrono
1
T
In
Q
Ck
Q
Ck
Q
Contr.
T
Q
X
X
Figura 7.32: Contatore asincrono avanti-indietro
la frequenza massima di conteggio è limitata dal ritardo introdotto da ogni stadio, che
deve dare il clock allo stadio successivo; ciò vuol dire che se arriva un impulso mentre il
264
CAPITOLO 7. CIRCUITI DIGITALI
contatore non ha ancora commutato completamente, si perde il conteggio. Si può ovviare
a questo inconveniente realizzando un contatore sincrono.
7.5.4
Contatore sincrono
Q0
In
Q
Q
Ck
Ck
T0
Q
Q2
Q1
T1
Q
Q
Ck
Ck
Q
Q3
T2
T3
Q
Q
1
T 1 Q1
T 2 Q2
T 3 Q3
Figura 7.33: Contatore sincrono a 4 bit con riporto in serie
Gli impulsi da contare vengono simultaneamente forniti a tutti i flip-flop, ma:
Q0
commuta ad ogni impulso;
T0 = 1
Q1
solo se Q0 = 1;
T1 = Q 0
Q2
solo se Q0 = Q1 = 1;
T2 = Q 0 Q 1
Q3
solo se Q0 = Q1 = Q2 = 1;
T3 = Q 0 Q 1 Q 2
Il tempo di commutazione non e’ piu’ dipendente dal numero di stadi, ed e’ notevolmente
piu’ breve del caso precedente. Infatti esso e’ ora dato da
T = TF + (n − 2)TG
dove TF e’ il ritardo di propagazione di un flip-flop, mentre TG e’ il ritardo di propagazione
di una porta AND.
E’ possibile migliorare ulteriormente la velocita’ utilizzando una tecnica di riporto in parallelo; questa richiede l’uso di AND a molti ingressi, chiaramente piu’ scomodi, ma consente
di arrivare ad un tempo complessivo di commutazione
T = TF + T G
Naturalmente esistono in commercio contatori sincroni up-down (ad esempio il 74LS191,
contatore a 4 bit). Esistono anche contatori up-down (per esempio il 74LS193) con due
ingressi di clock separati: uno per i segnali da contare in verso positivo, l’altro per i segnali
da contare in verso negativo.
7.6. CONVERSIONE DIGITALE-ANALOGICA
7.6
265
Conversione digitale-analogica
Il mondo dell’elettronica digitale non e’ separato da quello dell’informazione analogica, ed
esiste spesso l’esigenza di passare dall’uno all’altro. Cio’ e’ necessario in tutte le situazioni
in cui il valore di una grandezza analogica, corrente o tensione, deve essere controllato
numericamente.
La conversione digitale-analogica e’ quindi un’operazione attraverso la quale si costruisce
una tensione V (o una corrente I) proporzionale ad un numero (binario), A, dato. Si ha
quindi
n−1
X
V =K
2i ai
0
dove gli ai sono i bit (0 o 1) che costituiscono il numero A (formato da n bit) e K e’ una
costante di proporzionalita’ (dimensionalmente una tensione). Se il numero A e’ uguale a
0 V e’ anche uguale a 0, mentre se il numero e’ formato da tutti 1 (cioe’ ha la massima
grandezza esprimibile con n bit) la tensione sara’ data da
Vmax = K(2n − 1)
Quindi e’ in generale piu’ comodo scrivere
n−1
V =
Vmax X i
2 ai
2n − 1
(7.1)
0
I dispositivi che realizzano questa conversione si chiamano, in inglese, Digital to Analog
Converters e percio’ vengono brevemente chiamati DAC.
La formula 7.1 rappresenta naturalmente il comportamento di un dispositivo ideale. Un
dispositivo reale se ne discosta inevitabilmente; i parametri piu’ importanti che qualificano
le prestazioni di un convertitore reale sono:
• risoluzione: la minima variazione possibile della tensione di uscita. Rappresenta
anche il valore della tensione di uscita associata al bit meno significativo;
• offset: l’uscita puo’ non essere 0 quando la parola d’ingresso e’ zero;
• errore di guadagno: la differenza tra il valore massimo teorico e quello reale della
tensione in uscita una volta annullato l’offset;
• errore di linearita’: la differenza tra la caratteristica di trasferimento ideale e quella
reale una volta annullati gli errori precedenti;
• tempo di assestamento: tempo impiegato dall’uscita ad assestarsi (entro una certa percentuale del valore finale) in corrispondenza di una variazione della parola
d’ingresso.
7.6.1
Convertitore digitale-analogico a pesiera
Il primo e piu’ semplice esempio di convertitore e’ quello in Fig. 7.34. Si tratta in sostanza
di un sommatore analogico, in cui le tensioni da sommare sono pesate secondo le potenze
266
CAPITOLO 7. CIRCUITI DIGITALI
Figura 7.34: Convertitore digitale-analogico a pesiera (a + 0 e’ il bit meno significativo)
di due, grazie alle resistenze R, 2R, 4R,. . . ,2N −1 R. I blocchi ombreggiati sono deviatori
che connettono ogni ingresso a massa, ovvero a VREF , in relazione al valore 0 o 1 dei bit
a0 . . . aN −1 che costituiscono il numero da convertire; in questo modo si realizza proprio
la funzione desiderata. Naturalmente l’uscita del convertitore non varia in modo continuo,
bensi’ "a gradini", passando dalla tensione 0 alla tensione Vmax , ed e’ data da
V0 = −
R′
aN −2
a0
VREF (aN −1 +
+ · · · + N −1 )
R
2
2
La linearita’ di questo dispositivo e’ legata alla precisione con cui i valori dei resistori
sono scalati; si comprende come questo renda notevolmente critico realizzare in pratica un
dispositivo in grado di convertire correttamente numeri con molti bit.
7.6.2
Convertitore digitale-analogico con rete R-2R
In questa soluzione (spesso chiamata con rete a scala) si hanno solo resistenze di valore R
e 2R (Fig 7.35). La tensione d’uscita V0 vale
V0 =
R1 + R ′
Vi
R1
dove Vi è la tensione presente al morsetto positivo dell’operazonale ed é funzione dei valori
degli N bit. La verifica del comportamento di questo circuito puo’ apparire molto complessa; conviene quindi prima esaminare alcuni casi semplici. Consideriamo anzitutto il
caso in cui tutti i bit sono a zero: in questo caso Vi vale 0 e quindi anche l’uscita e’ nulla.
Se invece uno solo dei bit é pari ad 1 il corrispondente nodo si porta alla tensione VREF /3.
Infatti, in questo caso, qualunque sia la sua posizione, il nodo vede alla sua sinistra ed alla
sua destra una resistenza 2R verso la massa. (Fig. 7.35b) Ora, se si tratta del bit N − 1 il
nodo corrispondente coincide con l’ingresso dell’operazionale (Fig 7.36a), quindi si ha
Vi =
VREF
3
7.6. CONVERSIONE DIGITALE-ANALOGICA
267
Figura 7.35: Convertitore digitale-analogico con rete R-2R a N bit. Per semplicità non è riportata la
parte digitale del circuito, schematizzata solo da 8 deviatori comandati dai bit d’ingresso.
Se invece si tratta del bit N − 2 (Fig 7.36b), a causa della resistenza R presente tra il nodo
N − 2 e l’ingresso si ha
VREF 1
Vi =
3 2
Ugualmente, nel caso del bit N − 3 si ha
V =
VREF 1
3 4
Iterando questo ragionamento si comprende che il peso di ogni bit é via via ridotto di
un fattore 2. Il comportamento non cambia nel caso generale, grazie al principio di
sovrapposizione, ed abbiamo:
V =
a0
VREF aN −1 aN −2
( 0 + 1 + · · · + N −1 )
3
2
2
2
Questa soluzione e’ di pi semplice realizzazione costruttiva perche’ dobbiamo usare solo
resistenze di valore R e 2R.
7.6.3
Convertitore digitale-analogico a somma di correnti
La rete R-2R viene frequentemente utilizzata per realizzare convertitori a somma di correnti, piu’ vantaggiosi per molti motivi.
Possiamo capirne il funzionamento partendo dall’esempio a 4 bit rappresentato nella Fig.
7.37. I 4 bit di ingresso determinano la posizione dei 4 deviatori sopra i transistor Q0 ...Q3 :
se il bit e’ 1 il deviatore e’ connesso a destra, se e’ 0 a sinistra. VEE e’ una tensione negativa necessaria a polarizzare i transistor stessi (non sono riportate le alimentazioni necessarie agli operazionali). L’operazionale 1 produce la corrente di riferimento,
IREF = VREF /RREF , che attraversa QR e confluisce nel nodo A. Gli altri transistor sono
percorsi da correnti via via scalate di un fattore 2. Possiamo verificare questa affermazione
268
CAPITOLO 7. CIRCUITI DIGITALI
Figura 7.36: Convertitore digitale-analogico con rete R-2R. a): solo il bit N − 1 è uguale ad 1; b) solo
il bit N − 2 è uguale ad 1.
notando che i transistor Q0 ...Q3 hanno il collettore connesso a massa se il corrispondente
bit e’ 0, oppure a una massa virtuale se il corrispondente bit e’ 1. Quindi, per qualunque configurazione dei bit di ingresso, la rete resistiva e’ comunque equivalente al circuito
disegnato in Fig. 7.38a, dove si sono trascurate le resistenze di tutti i transistor.
La rete R-2R a destra del nodo A e’ facilmente semplificabile ed e’ equivalente ad un
resistore di valore R connesso a massa; la corrente che lo percorre deve quindi essere
uguale a IREF (Fig. 7.38b). Con procedimento analogo si puo’ semplificare la rete a
destra del nodo A’ che e’ equivalente ad un resistore di valore 2R connesso verso la massa;
conseguentemente la corrente IREF che esce da A’ e’ composta da due correnti uguali di
valore IREF /2 (Fig. 7.38c). La stesso comportamento si ha evidentemente anche per i
successivi nodi: la corrente si divide via via in due parti uguali.
Il valore della corrente Io e’ quindi determinato dalla configurazione dei bit d’ingresso: se
l’ingresso e’ 0000 si ha Io = 0, se l’ingresso e’ 1111 si ha Io = (15/16)IREF (si noti che il
mancante 1/16(IREF ) attraversa il transistor QF , necessario per terminare correttamente
la rete R-2R).
Poiche’ la tensione d’uscita e’ Vo = RREF Io possiamo scrivere per qualunque valore
dell’ingresso
Vo = VREF (
a3 a2 a1
a0
+
+
+ )
2
4
8
16
dove a0 ...a3 sono i 4 bit di ingresso. Questa equazione puo’ naturalmente essere generalizzata per un generico DAC a N bit.
Notiamo infine che la corrente Io e’ proporzionale al complemento del numero binario di
ingresso, e vale la relazione
15
Io + Io = IREF
16
per qualunque configurazione dei bit d’ingresso.
Il principale vantaggio di questa soluzione risiede nella velocita’, ovvero nel miglior tempo
di assestamento. Infatti, nei convertitori a somma di tensioni, la variazione dell’ingresso
provoca una variazione di tensione nei nodi della rete resistiva e cio’ (a causa delle inevitabili
7.6. CONVERSIONE DIGITALE-ANALOGICA
269
Figura 7.37: Convertitore digitale-analogico a somma di correnti a 4 bit. Le basi dei transistor sono
tutte connesse tra loro. Per semplicita’ non e’ riportata la parte digitale del circuito, schematizzata solo
da 4 deviatori sopra i transistor Q0 ...Q3 . In Figura e’ rappresentata la situazione con ingresso 0110.
capacita’ parassite presenti) non puo’ avvenire istantaneamente. Viceversa, nei convertitori
a somma di correnti, la variazione dell’ingresso provoca semplicemente una variazione nel
percorso delle correnti, senza alcuna variazione di tensione.
Questa soluzione e’ percio’ quella commercialmente piu’ diffusa. Un classico esempio e’
costituito dal DAC08 (o DAC800), un convertitore a 8 bit prodotto da vari costruttori, il
cui diagramma a blocchi e’ mostrato nella Fig 7.39. Come si puo’ vedere questo dispositivo
consente l’uso di due tensioni di riferimento (VREF (+) e VREF (−)), agli ingressi dell’operazionale). Inoltre, l’offset di questo operazionale puo’ essere annullato utilizzando l’ingresso
Comp, se si desidera una grande accuratezza di conversione. Fornisce in uscita Io e Io ,
quindi deve essere completato con un operazionale esterno o, piu’ semplicimente, con dei
resistori, per ricavare le tensioni di uscita. Tutto cio’ consente la massima flessibilita’ di
utilizzo, perche’ permette di realizzare conversioni positive, negative o miste. La linearita’
e’ garantita entro lo 0.1 % e il tempo di assestamento e’ di 100 ns.
Infine, l’ingresso VLC consente di variare le soglie logiche d’ingresso per interfacciare il
dispositivo a famiglie diverse da quella TTL.
I fogli caratteristici forniti dai produttori riportano dettagliati esempi dell’utilizzo di questo
componente.
Notiamo infine che un convertitore digitale-analogico puo’ anche essere pensato come un
amplificatore a controllo digitale. Infatti l’uscita Vo e’ proporzionale ad una tensione d’ingresso (la VREF vista in precedenza) moltiplicata per un numero: in sostanza si puo’
controllare l’amplificazione attraverso gli ingressi numerici.
270
CAPITOLO 7. CIRCUITI DIGITALI
Figura 7.38: a) Circuito equivalente della rete R-2R;
Figura 7.39: Diagramma a blocchi del DAC08
7.7
Conversione analogico-digitale
La conversione analogico-digitale e’ un processo attraverso il quale si vuole convertire
una grandezza elettrica continua (tipicamente una tensione) in un numero (binario) ad
essa proporzionale. Nel mondo di oggi questa operazione e’ fondamentale in innumerevoli
campi.
I dispositivi che realizzano questa funzione sono comunemente chiamati ADC, Analog to
Digital Converter, e possono essere realizzati in vari modi. I principali parametri che
caratterizzano un convertitore analogico digitale sono:
• intervallo di conversione: l’intervallo di tensione che puo’ essere convertito in un
numero;
• risoluzione: indica il numero dei valori discreti che esso puo’ produrre. Ad esempio,
7.7. CONVERSIONE ANALOGICO-DIGITALE
271
un convertitore che codifica l’ingresso in 256 livelli discreti ha una risoluzione di 8
bit. Puo’ anche essere espressa in termini di tensione, ovvero come l’intervallo di
tensione che separa due numeri adiacenti;
• errore di linearita’: rappresenta la discrepanza tra risposta ideale (proporzionale
all’ingresso) e quella reale ottenuta;
• errore di quantizzazione: e’ dovuto intrinsecamente alla risoluzione del dispositivo;
• tempo di conversione: e’ il tempo che il dispositivo impiega per fornire la risposta
digitale alla sua uscita.
Figura 7.40: Il segnale analogico memorizzato in forma numerica viene riprodotto mediante un DAC
7.7.1
Campionamento
In alcuni casi la tensione da convertire e’ costante, oppure varia molto lentamente nel
tempo. Ma spesso si vuole invece campionare e convertire ripetutamente una tensione
che varia nel tempo significativamente, in modo da digitalizzare l’informazione in essa
contenuta senza perdite. In altre parole si desidera che la funzione del tempo originaria
possa essere esattamente riprodotta a partire dalla sequenza di numeri memorizzati, con
un opportuno algoritmo di interpolazione (Fig 7.40).
Figura 7.41: Campionamento di un segnale continuo
272
CAPITOLO 7. CIRCUITI DIGITALI
In Fig 7.41 e’ schematizzato il processo di campionamento, che normalmente avviene per un
periodo di tempo finito (finestra di campionamento): il segnale e’ campionato e digitalizzato
ad intervalli regolari (periodo di campionamento9, ovvero ad una ben definita frequenza
(frequenza di campionamento).
La frequenza di campionamento necessaria per non perdere informazione e’ legata allo spettro di frequenza del segnale da convertire, come asserisce il teorema di Nyquist-Shannon:
“Data una funzione la cui trasformata di Fourier sia nulla al di fuori di un certo intervallo
di frequenze (ovvero un segnale a banda limitata), nella sua conversione analogico-digitale
la minima frequenza di campionamento necessaria per evitare perdita di informazione nella
ricostruzione del segnale analogico originario (ovvero nella riconversione digitale-analogica)
e’ pari al doppio della sua frequenza massima.”
Figura 7.42: Un semplice circuito Sample and Hold. L’interruttore (realizzato con un transistor) viene
chiuso per un tempo prefissato tramite l’ingresso S.
Ovvero, dato un sistema in grado di campionare ad una certa frequenza, fc , il segnale
verra’ riprodotto fedelmente purche’ non contenga frequenze superiori a fN = fc /2. La
frequenza fN e’ comunemente denominata frequenza di Nyquist. In questo senso e’ chiaro
quindi che il tempo di conversione di un ADC e’ un parametro rilevante, perche’ e’ il fattore
che limita le prestazioni del dispositivo. E’ inoltre necessario che durante la conversione
la tensione all’ingresso del dispositivo rimanga costante: questo e’ in genere ottenuto con
un circuito Sample and Hold , tipicamente una capacita’ che viene caricata al valore della
tensione d’ingresso (Fig 7.42)
Figura 7.43: Una funzione sinusoidale con frequenza superiore a quella di Nyquist ha gli stessi campioni
di una sinusoide a frequenza inferiore.
7.7. CONVERSIONE ANALOGICO-DIGITALE
273
Aliasing
Cosa succede se il segnale contiene frequenze superiori alla frequenza di Nyquist? In questo caso si ha il fenomeno dell’aliasing: nel campionamento l’informazione sulle variazioni
di alta frequenza del segnale sono erronee e nel campione compaiono frequenze inesistenti, gli alias, conseguentemente il segnale, riconvertito in forma analogica, non riproduce
fedelmente quello originario.
Si puo’ meglio comprendere questo fenomeno guardando cosa succede campionando una
sinusoide di frequenza superiore a quella di Nyquist: essa ha gli stessi campioni di una
sinusoide a frequenza inferiore (Fig 7.43), quindi nella riconversione in analogico viene
riprodotta erroneamente.
Figura 7.44: Frequenza dell’alias, fa , rispetto alla frequenza originaria del segnale, fs , e a quella di
Nyquist, fN
La frequenza del segnale alias, fa , e’ data dalla differenza (in modulo) tra la frequenza del
segnale originario, fs , e il multiplo intero della frequenza di Nyquist, fN , immediatamente
maggiore.
fa = |fs − N × fN |
Possiamo comprendere meglio questa formula con un esempio numerico. Si ha un campionamento a frequenza fc = 100 kHz, la frequenza di Nyquist e’ quindi fN = 50 kHz. Un
segnale sinusoidale con frequenza fs = 51 kHz produce un alias con frequenza
fa = |51 − 2 × 50| = 49kHz
(vedi Fig 7.44).
L’importanza di questo fenomeno puo’ essere meglio compresa immaginando di campionare
un segnale che contiene diverse frequenze, per esempio un’onda quadra. Come e’ noto lo
spettro in frequenza dell’onda quadra contiene tutte e solo le armoniche dispari della frequenza fondamentale. Immaginando quindi di campionare ad una frequenza fc = 1000 Hz
un’onda quadra con frequenza fs = 80 Hz tutte le armoniche che superano la frequenza di
Nyquist (500 Hz) danno luogo ad alias, come mostrato in Fig. 7.45.
L’unico modo per eliminare il fenomeno dell’aliasing e’ di introdurre un filtro passa-basso
con una frequenza di taglio adeguata, ovvero tale da eliminare, o ridurre sostanzialmente,
tutte le frequenze superiori alla frequenza di Nyquist. Chiaramente questo produce anche
una perdita di informazione.
274
CAPITOLO 7. CIRCUITI DIGITALI
Figura 7.45: Spettro in frequenza di un’onda quadra a 80 Hz campionata a 1000 Hz. Le frecce evidenziano
gli alias generati dalle armoniche dalla settima in poi
7.7.2
Analisi di campioni digitali
Come e’ noto lo studio in frequenza di un segnale continuo viene effettuata utilizzando la
trasformazione di Fourier.
I campioni digitali, rappresentativi di una funzione continua, possono essere analizzati
utilizzando la trasformazione di Fourier discreta (DFT) che qui descriviamo brevemente.
Trasformazione di Fourier discreta
Definizione:
Data la successione di N numeri complessi x0 , x1 , ...xN −1 , la trasformazione di Fourier discreta genera la successione di N numeri complessi X0 , X1 , ...XN −1 attraverso la relazione:
Xk =
N
−1
X
n=0
2π
xn e−ik N n k = 0, 1, ..., N − 1
Si definisce poi la trasformata inversa (IDFT), ovvero
xn =
N −1
2π
1 X
Xk ein N k n = 0, 1, ..., N − 1
N
k=0
La trasformata discreta di Fourier 5 e’ direttamente implementabile su un calcolatore, in
quanto richiede un numero finito di operazioni, al contrario della serie o della trasformata
di Fourier che richiedono il calcolo di integrali o di somme di serie.
5
Si noti che i fattori di normalizzazione che moltiplicano DFT e IDFT (qui 1 e 1/N ) nonche’ i segni
degli esponenti sono delle convenzioni e possono essere differenti in altri testi. Gli unici requisiti di queste
convenzioni sono che DFT e IDFT devono avere esponenti di segno opposto e che il prodotto dei fattori
deve essere 1/N .
7.7. CONVERSIONE ANALOGICO-DIGITALE
275
Il calcolo della DFT non viene in genere implementato secondo la definizione data, ma si
preferisce utilizzare algoritmi ottimizzati che richiedono uno sforzo computazionale minore.
Il tempo di calcolo necessario per la DFT con la definizione qui data e’ direttamente proporzionale ad N 2 , per gli algoritmi ottimizzati ( Fast Fourier Transform) e’ proporzionale
a N log2 (N ), e quindi il vantaggio nell’utilizzarli e’ tanto maggiore quanto piu’ grande e’
N.
Trasformazione di Fourier discreta nel caso reale
Possiamo limitarci al caso in cui la successione x0 , x1 , ...xN −1 e’ reale, ovvero un insieme
di misure fisiche, piu’ specificamente un campione di misure nel dominio del tempo.
Si noti che:
N
−1
X
xn → somma dei campioni
X0 =
n=0
Inoltre
XN −k = Xk∗
La DFT rappresenta in sostanza un’approssimazione discreta della trasformazione di Fourier continua, F (ω), della funzione f (t)
Se
xn = f (nτ ) n = 0, 1, .....N − 1
si ha
Xk ≃ F (
2πk
) k = 0, 1, .....N − 1
Nτ
Si hanno tre situazioni:
• Segnali periodici a banda limitata in frequenza: la trasformata discreta coincide con
quella continua, se la frequenza di campionamento e’ adeguata;
• Segnali di durata limitata nel tempo (cioe’ diversi da zero in un intervallo limitato di
tempo): non sono limitati in frequenza, quindi la trasf. discreta e’ affetta da errori
dovuti all’aliasing (ineliminabile);
• Segnali di durata non limitata,cioe’ a supporto temporale di dimensione infinita e non
a banda limitata (frequenza): la trasformata discreta differisce da quella continua a
causa di errori sia di aliasing che di troncamento.
I numeri complessi Xk ci danno quindi lo spettro in frequenza del segnale campionato, dalla
frequenza 0 (il termine X0 ), alla frequenza massima (il termine XN/2 ), ovvero la frequenza
di Nyquist.
Lo spettro in frequenza dell’onda quadra campionata, mostrato nella Fig. 7.45 e discusso
in precedenza, e’ stato ottenuto proprio calcolando la trasformata di Fourier discreta.
276
CAPITOLO 7. CIRCUITI DIGITALI
Figura 7.46: Filtraggio digitale.
Filtri digitali
L’analisi di Fourier di campioni digitali consente di utilizzare tecniche di filtraggio dei
segnali molto potenti, ovvero i filtri digitali, che non hanno le limitazioni dei filtri analogici.
La Fig. 7.46 schematizza questo processo: il segnale viene campionato, si calcola la DFT,
lo spettro in frequenza viene manipolato con il filtro e si calcola la IDFT per ottenere un
campione digitale alterato che viene infine riportato in analogico.
7.7.3
Realizzazione di convertitori analogico-digitale
Vedremo ora vari esempi di convertitori, realizzati con tecniche diverse.
7.7.4
Convertitore analogico-digitale a conteggio
Questo dispositivo e’ schematizzato nella Fig 7.47a. La tensione da convertire, Vi e’ presentata all’ingresso positivo del comparatore, ed il contatore binario e’ inizialmente azzerato.
L’uscita VD del DAC e’ nulla, quindi l’uscita del comparatore e’ a livello logico 1. Si comincia ora ad inviare impulsi di clock: essi vanno ad incrementare il contatore, e quindi
l’uscita del DAC sale formando dei gradini (Fig. 7.47b). Quando VD supera Vi l’uscita del
comparatore scende a livello logico 0, l’ingresso di clock viene percio’ inibito ed il contatore
si ferma: il numero presentato all’uscita e’ quindi proporzionale al valore di Vi . Naturalmente il dispositivo funziona correttamente solo se la tensione da convertire e’ compresa
tra 0 e la tensione massima di uscita del DAC, VDmax , corrispondente ad avere tutti 1 nel
contatore.
Il tempo di risposta di questo dispositivo, ovvero il tempo necessario affinche’ l’uscita
binaria arrivi al valore voluto e’ chiaramente legato alla frequenza del clock, che deve
essere adeguata ai tempi di risposta del contatore e del DAC. Esso inoltre non e’ costante,
ma cresce al crescere di Vi .
Si noti che questo dispositivo non e’ in grado di convertire correttamente una tensione
variabile nel tempo, anche se lentamente. Infatti, se ad esempio Vi diminuisce dopo che il
contatore si e’ arrestato, il comparatore non se ne accorge e l’uscita digitale resta invariata.
7.7. CONVERSIONE ANALOGICO-DIGITALE
277
Figura 7.47: a) Convertitore analogico-digitale a 8 bit; b) Andamento temporale della tensione VD
Tracking ADC
Una versione migliorata del convertitore a conteggio e’ il convertitore ad inseguimento, o
tracking ADC (Fig. 7.48). Non serve in questo caso un segnale di azzeramento. Infatti si
supponga che inizialmente il contatore abbia un valore qualunque e che, corrispondentemente, l’uscita del DAC sia inferiore alla tensione d’ingresso Va : l’uscita del comparatore
e’ allora positiva e il contatore conta in avanti, finche’ l’uscita del DAC supera la tensione
d’ingresso. Allora il contatore inverte il verso del conteggio, facendo tornare l’uscita del
DAC ad un valore inferiore a Va . In sostanza l’uscita oscillera’ avanti e indietro di 1 bit
attorno al valore corretto.
Un dispositivo di questo genere e’ quindi particolarmente adatto per convertire una tensione
variabile nel tempo; il tempo di conversione e’ piccolo se le variazioni del segnale analogico
sono piccole.
ADC ad approssimazioni successive
Il tempo di conversione puo’ essere in media molto ridotto usando una strategia di ricerca
del valore corretto piu’ intelligente. Sostituendo al contatore binario un programmatore
(cioe’ un registro piu’ complesso) si puo realizzare una ricerca ad approssimazioni successive. Il programmatore pone inizialmente ad 1 il bit piu’ significativo e a 0 tutti gli altri.
Se la risultante tensione d’uscita del DAC e’ maggiore della tensione d’ingresso, il bit viene
rimesso a 0 e si prova con quello immediatamente meno significativo. In caso contrario il
bit piu’ significativo rimane ad 1, si mette ad 1 anche quello immediatamente meno significativo e si compara di nuovo. E’ facile verificare che, per un sistema ad n bit il valore
corretto e’ trovato dopo n tentativi (cioe’ impulsi di clock); invece in un ADC a conteggio
sono necessari, nel caso peggiore 2n impulsi.
Se, ad esempio, utilizzassimo in questo circuito un DAC08 (tempo di assestamento 100 ns)
278
CAPITOLO 7. CIRCUITI DIGITALI
Figura 7.48: Tracking ADC
il tempo di conversione, tc sarebbe dato dato da
tc = 100 × 8 = 800 ns
corrispondente ad una massima frequenza di campionamento possibile di circa 1 M Hz.
Oggi e’ possibile trovare in commercio ADC a 16 bit realizzati con questa architettura con
frequenze di campionamento di vari M Hz.
7.7.5
Convertitore analogico-digitale a doppia rampa
Con questa architettura si realizzano convertitori di grande precisione, a scapito della
velocita’ di conversione: si trovano in commercio dispositivi a 18 bit, ma la massima
frequenza di campionamento non supera i 50 KHz.
Un esempio e’ schematizzato in Fig. 7.49a. Vi e’ la tensione da convertire (positiva) e VR
e’ una tensione negativa, con |VR | > Vi . All’istante t1 si connette l’ingresso dell’integratore
a Vi , per un tempo T1 costante, pari a n1 T , dove T e’ il periodo del clock. All’istante t2 si
connette l’integratore a VR e simultaneamente si fa partire il clock. La tensione V0 scende
(Fig. 7.49b) e all’istante t3 torna a zero: l’uscita del comparatore blocca il clock e quindi
il conteggio del contatore. Ora possiamo scrivere che
Z t
Z t
2
3
1
1
V (t3 ) = −
Vi dt −
VR dt = 0
RC t1
RC t2
ovvero
Vi (t2 − t1 ) + VR (t3 − t2 ) = 0
V i T1 + V R T 2 = 0
dove
T2 = n 2 T
T1 = n 1 T
7.7. CONVERSIONE ANALOGICO-DIGITALE
Figura 7.49: a) Convertitore A/D a doppia rampa; b) Andamento temporale di V0
279
280
CAPITOLO 7. CIRCUITI DIGITALI
quindi
Vi =
n2
|VR |
n1
e finalmente
n2 = n1
Vi
|VR |
cioè n2 è proporzionale a Vi essendo n1 e VR delle costanti note. La sensibilita’ di questo
dispositivo e’ legata alla frequenza del clock (limitata dalla velocita’ del contatore), mentre
la linearita’ e’ chiaramente legata alla linearita’ dell’integratore; da questo punto di vista
e’ importante il fatto che la risposta non dipenda dai valori di R e C: possiamo quindi
sceglierli in modo da sfruttare la parte lineare della rampa d’integrazione.
7.7.6
Flash ADC
Figura 7.50: a) Flash ADC
Questo e’ il dispositivo concettualmente piu’ semplice, ma anche il piu’ difficile e costoso
da realizzare (Fig. 7.50): il segnale da convertire, Vx , viene inviato simultaneamente ad
n comparatori con soglie equispaziate, V1 , V2 . . . Vn . La soglia dell’i-esimo comparatore e’
data da:
i
Vi = VREF
n+1
quindi tutti i comparatori la cui soglia e’ inferiore a Vx scattano, mentre gli altri danno
risposta zero. Le uscite dei comparatori forniscono quindi una sequenza binaria di n cifre
7.7. CONVERSIONE ANALOGICO-DIGITALE
281
(partendo dal basso) tipo 111111 . . . 00000: il punto di transizione tra 1 e 0 individua (per
difetto) il valore di tensione desiderato 6 . Per ottenere l’informazione come numero binario
e’ necessario quindi una operazione di decodifica. Il numero complessivo di comparatori
e’ enorme: per un convertitore ad 8 bit ne occorrono 255! Questa spiega perche’ questi
dispositivi sono estremamente costosi e solo i recenti progressi nel campo dell’integrazione
su larga scala ne hanno reso possibile la realizzazione a costi accessibili. Questi dispositivi
sono ovviamente i piu’ veloci: il tempo di conversione e’ infatti dovuto essenzialmente al
tempo di risposta del codificatore. E’ inutile dire che la precisione del dispositivo e’ legata
alla precisione delle n soglie; inoltre un problema e’ anche rappresentato dalla enorme
capacita’ di ingresso che si forma, quando n e’ molto grande. Di fatto i dispositivi in
commercio non vanno oltre 8 o 9 bit, con frequenze di campionamento che possono arrivare
al GHz.
7.7.7
ADC a pipeline
Questa soluzione e’ oggi largamente usata perche’ offre elevate velocita’ di conversione a
costi e complicazioni molto inferiori, a parita’ di risoluzione, rispetto ai convertitori flash.
Possiamo comprenderne il funzionamento attraverso un esempio di convertitore a 12 bit
(Fig 7.51).
Figura 7.51: Schema di principio di un ADC a pipeline a 12 bit (la logica di controllo e’ omessa).
Il convertitore e’ composto da 3 blocchi posti in cascata, con un convertitore flash a 4 bit
in ciascun blocco. La tensione da convertire, Vx , campionata e mantenuta da un circuito
Sample and Hold, viene inviata al primo convertitore flash: il risultato della conversione (un
numero a 4 bit) costituisce l’uscita del primo stadio. Ma essa viene anche inviata a un DAC
che restituisce una tensione V1 ; quest’ultima viene inviata ad un circuito sommatore che
produce la differenza Vx′ = Vx − V1 . Vx′ non e’ altro che l’errore di quantizzazione prodotto
dal primo blocco (ovvero l’errore dovuto alla risoluzione a 4 bit); esso viene amplificato (di
un fattore 16) e inviato al secondo convertitore flash. I 4 bit risultanti dal secondo blocco
rappresentano quindi i 4 bit meno significativi di una conversione a 8 bit. In modo del
tutto analogo il terzo blocco migliora la risoluzione aggiungendo al risultato ulteriori 4 bit.
Questa catena di conversioni deve essere accuratamente temporizzata: ogni blocco deve
attendere il completamento della conversione fatta dal blocco precedente. Il dispositivo
6
Una sequenza di questo tipo e’ spesso denominata codice termometrico, per analogia con il termometro
a liquido, dove il valore della temperatura e’ indicato dall’altezza della colonna di liquido
282
CAPITOLO 7. CIRCUITI DIGITALI
richiede quindi una unita’ logica di controllo che distribuisce opportuni impulsi di clock
alle varie parti del circuito.
I 3 convertitori flash a 4 bit del nostro esempio richiedono complessivamente 45 comparatori, da confrontare con i 4095 che sarebbero necessari per realizzare un convertitore flash
a 12 bit, con evidente risparmio di costi, complicazioni e spazio. Naturalmente questo e’
ottenuto al prezzo di una minore velocita’ e quindi di una minore frequenza di campionamento raggiungibile (attualmente sono in commercio dispositivi che possono lavorare fino
a 200 M Hz.)
7.8
7.8.1
Multivibratori
Multivibratore bistabile
Figura 7.52: Un circuito bistabile con operazionale
Consideriamo il semplice circuito di Fig 7.52. Attraverso i due resistori viene riportata
all’ingresso positivo una reazione (positiva)
β=
R1
(R1 + R2 )
(7.2)
l’operazionale quindi va inevitabilmente in saturazione, in uno dei due possibili stati stabili
vo = L+ oppure vo = L− , dove L+ e L− sono tensioni di saturazione positiva e negativa
dell’amplificatore.
Modifichiamo ora il circuito collegando una sorgente di segnale, vI , al morsetto negativo
(Fig 7.53a) e supponiamo che inizialmente il bistabile si trovi nello stato v0 = L+ (stato
up). Al crescere di vI (Fig 7.53b) l’uscita commuta dallo stato up allo stato down quando
vi > βL+ , si comporta quindi come un comparatore con soglia VT H = βL+ .
Facciamo ora diminuire vI (Fig 7.53c) : l’uscita commuta dallo stato down allo stato up
quando vi < βL− , quindi equivale quindi ad un comparatore con soglia VT L = βL− .
E’ importante notare che il segnale d’ingresso vI (segnale di trigger) si limita a innescare
il processo di commutazione, in altre parole puo’ anche essere un impulso di brevissima
durata. Una volta iniziato, il processo di commutazione prosegue anche in assenza di
segnale. Osserviamo poi che quando VT L < vI < VT H , lo stato dell’uscita dipende dalla
storia passata, ovvero il circuito e’ dotato di memoria ( isteresi ). Questo circuito e’
anche noto con il nome di Trigger di Schmitt. Un bistabile puo’ essere realizzato anche in
configurazione non invertente (Fig 7.54).
In questo caso si ha
VT L = −L+ (R1 /R2 ) VHL = −L− (R1 /R2 )
7.8. MULTIVIBRATORI
283
Figura 7.53: a): Il circuito bistabile con ingresso sul morsetto negativo; b): Transcaratteristica per vI ;
c): Transcaratteristica per vI decrescente; c): Transcaratteristica completa.
Il trigger di Schmitt e’ utile in molte situazioni, ad esempio per la rivelazione ed il conteggio
di impulsi accompagnati da disturbi (Fig 7.55): un comparatore semplice, con soglia VR ,
produrrebbe conteggi multipli mentre invece, avendo a disposizione due soglie, si possono
facilmente eliminare i conteggi spurii.
7.8.2
Multivibratore astabile
Il circuito bistabile puo’ essere reso astabile aggiungendo una reazione negativa di tipo RC
(Fig 7.56a).
Per comprenderne il funzionamento osserviamo la Fig 7.56b e supponiamo che inizialmente
l’uscita si trovi al livello L+ . La capacita’ C si carica, attrraverso R, verso quella tensione.
Quindi l’ingresso negativo dell’operazionale, v− , cresce esponenziamente con costante di
tempo τ = RC. Nel frattempo la tensione all’ingresso positivo dell’operazionale e’ v+ =
βL+ . Questa situazione persiste finche’ v− raggiunge la soglia VT H = βL+ , momento in
284
CAPITOLO 7. CIRCUITI DIGITALI
Figura 7.54: a): Bistabile non invertente; b): Transcaratteristica.
Figura 7.55: a): Comparatore (con soglia VR ); b): Comparatore con isteresi (soglie VT H e VT L ).
cui il multivibratore commuta nell’altro stato, con vo = l− e v+ = βL− . Il condensatore
inizia allora a scaricarsi esponenzialmente, finche’ v− non raggiunge la soglia VT H = βL+ ,
forzando una nuova commutazione verso lo stato vo = L+ , ricominciando un nuovo ciclo.
All’uscita dell’operazionale abbiamo quindi un’onda rettangolare con periodo T = T1 + T2 ,
che possono essere calcolati molto semplicemente. Si ottiene
T1
T2
L−
L+
= τ ln
1−β
L+
1−β
L−
= τ ln
1−β
1−β
(7.3)
(7.4)
Se L+ = −L− si ha T1 = T2 e si ha un’onda quadra
T = T1 + T2 = 2τ ln
1+β
1−β
(7.5)
7.8. MULTIVIBRATORI
285
Figura 7.56: a): Multivibratore astabile; b) Andamento temporale delle varie tensioni.
Generatore di onda quadra e triangolare
Aggiungendo uno stadio integratore si puo’ avere un circuito che fornisce simultaneamente
l’onda rettangolare (uscita vo ) e un’onda triangolare (uscita v1 ).
Si noti che l’onda triangolare e’ simmetrica solo se L+ = L− (ovvero quando T1 = T2 ). In
caso contrario il tratto a scendere ha una pendenza −L+ /(RC) mentre il tratto a salire ha
una pendenza −L− /(RC).
7.8.3
Multivibratore monostabile
In molte applicazioni e’ necessario avere un impulso di lunghezza e ampiezza fisse, generato
in risposta ad un segnale di trigger di ampiezza e forma variabile. Questo tipo di risposta
viene generato appunto da un multivibratore monostabile (Fig 7.58).
Il monostabile ha un solo stato stabile, in cui puo’ restare indefinitamente, e uno stato
metastabile in cui puo’ essere portato da un opportuno segnale di trigger e in cui permane
per un tempo predefinito, che dipende da parametri circuitali.
Osservando la Fig 7.58a notiamo che il monostabile deriva dal circuito astabile con l’aggiunta du un diodo in parallelo a C1 e di un circuito d’ingresso composto dal diodo D2 ,
da R4 e C2 . Nello stato stabile l’uscita e’ a L+ e il diodo D1 e’ in conduzione, per cui
l’ingresso negativo (nodo B) e’ a VD1 ∼ 0.7 V . Scegliamo R4 molto maggiore di R1 in
286
CAPITOLO 7. CIRCUITI DIGITALI
Figura 7.57: Generatore di onda quadra e triangolare.
Figura 7.58: a): Multivibratore monostabile; b) Forme d’onda
modo che D2 sia debolmente in conduzione; si ha quindi vC =≃ βL+ e vE = βL+ − 0.7 V .
Questo stato e’ stabile perche’ VC > VB .
Applichiamo ora all’ingresso un trigger costituito da fronte negativo. Il condensatore C2
deriva questo fronte e il nodo E scende fortemente di tensione, portando il diodo D2 in
conduzione; pertando il nodo C scende di tensione. Se l’impulso di trigger e’ sufficientemente ampio vC puo’ diventare minore di vB , inducendo l’operazionale a commutare verso
l’altro stato, ovvero VA = L− . Questo provoca anche la commutazione del nodo C e vC
diviene uguale a βL− . Il diodo D2 a questo punto si interdice impedendo ulteriori ingressi.
La tensione negativa al nodo A provoca anche l’interdizione del diodo D1 e il condensatore
C1 comincia a scaricarsi esponenzialmente verso la tensione L− con una costante di tempo
C1 R3 . Il circuito ora e’ in uno stato metastabile che puo’ permanere finche’ vB non scende
oltre la tensione del nodo C. A quel punto l’operazionale commuta di nuovo, riportando
VA alla tensione L+ e vC alla tensione βl+ . Il condensatore C1 prende a caricarsi verso
L+ , finche’ il diodo D1 rientra in conduzione e stabilizza il nodo B alla tensione iniziale.
All’uscita si ha in definitiva un impulso negativo la cui durata e’ determinata dalla discesa
287
7.9. IL TIMER 555
esponenziale di vB . Supponendo che il trigger arrivi all’istante t = 0 l’andamento temporale
di vB e’ dato da
vB (t) = L− − (L− − VD1 )e
−
t
C1 R3
(7.6)
Indicando con T durata dell’impulso si ha quindi
vB (T ) = βL− = L− − (L− − VD1 )e
da cui si ricava
T = C1 R3 ln(
Se VD1 ≪ L− si ha infine
−
T
C1 R3
(7.7)
VD 1 − L −
)
βL− − L−
(7.8)
1
)
1−β
(7.9)
T = C1 R3 ln(
Si noti che l’arrivo di un ulteriore segnale di trigger prima che il circuito sia tornato
nello stato stabile (ovvero prima che C1 sia tornato alla tensione VD1 ) provocherebbe un
accorciamento del segnale d’uscita. In sostanza il circuito ha un tempo di recupero che
limita la frequenza degli impulsi di trigger gestibili correttamente.
7.9
Il timer 555
In commercio e’ possibile trovare integrati che contengono tutta la circuiteria necessaria
per realizzare facilmente multivibratori. Il piu’popolare e’ il timer 555, introdotto nel
1972 e tuttora prodotto sia con transistor bipolari (BJT) che con CMOS, con le stesse
funzionalita’.
Figura 7.59: a) Integrato NE555, realizzato con BJT; b): Schema a blocchi.
288
CAPITOLO 7. CIRCUITI DIGITALI
Il circuito consiste di due comparatori, un flip-flop SR, un amplificatore e un transistor
Q1 che opera come interruttore. Il partitore resistivo e’ composto da 3 resistori uguali7 , R, e definisce le soglie dei due comparatori: VT H = 2/3VCC per il comparatore 1 e
VT L = 1/3VCC per il comparatore 2. Gli altri due ingressi del comparatore sono accessibili
esternamente: l’ingresso positivo del comparatore 1, denominato Threshold , e l’ingresso
negativo del comparatore 2, denominato Trigger.
L’uscita Q del flip-flop rappresenta l’uscita del circuito (l’amplificatore e’ solo un inseguitore
di tensione che serve ad aumentare la corrente di uscita). L’uscita Q determina lo stato
del transistor Q1 : se e’ bassa, Q1 e’ in interdizione, se e’ alta e’ in saturazione. Il collettore
di Q1 e’ accessibile esternamente e puo’ essere opportunamente utilizzato8 .
Il funzionamento del 555 puo’ essere sintetizzato dalla seguenta tavola della verita’, dove
sono riportate lo stato dell’uscita e del transistor Q1 in funzione degli ingressi9 :
Reset
Trigger
Threshold
S
R
Out
Q1
Low
x
x
x
x
Low
On
High
< 1/3VCC
> 2/3VCC
High
High
High
Off
High
< 1/3VCC
< 2/3VCC
High
Low
High
Off
High
> 1/3VCC
> 2/3VCC
Low
High
Low
On
High
> 1/3VCC
< 2/3VCC
Low
Low
Non cambia
Non cambia
L’integrato N E555 puo’ essere alimentato con una tensione VCC compresa tra 4.5 e 16 V .
Deve essere chiaro che l’uscita e’ legata al valore dell’alimentazione e non e’ necessariamente
il valore standard TTL: se Q e’ bassa, VOU T e’ circa 0 V , se Q e’ alta VOU T ≃ (VCC − 2) V .
Gli esempi che seguono renderanno chiaro l’utilizzo di questo dispositivo.
7.9.1
Multivibratore astabile con 555
Il multivibratore astabile puo’ essere realizzato con il circuito di Fig 7.60, con le resistenze
RA , RB e il capacitore C (il condensatore sull’ingresso Control Voltage non e’ rilevante, e’
solo in funzione anti disturbo).
Supponiamo che inizialmente il condensatore C sia scarico. In questa situazione gli ingressi
Trigger e Threshold (nodi 2 e 6) sono bassi. Agli ingressi del flip-flop si ha S = HIGH e
R = LOW : di conseguenza Q = HIGH e il transistor e’ off.
Ma questa situazione non e’ stabile, il condensatore C si carica attraverso RA + RB e la
tensione vC sale esponenzialmente verso VCC . Quando vC raggiunge VHT = (1/3)VCC il
comparatore 2 scatta e si ha S = LOW e R = LOW , Q resta invariata. Ma quando vC
raggiunge VHT = (2/3)VCC il comparatore 2 scatta e si ha S = LOW e R = HIGH: a
questo punto il flip-flop commuta, Q diventa HIGH, il transistor entra in saturazione. Il
condensatore comincia ora a scaricarsi attraverso RB . Quando la tensione vC raggiunge
7
Il nome 555 deriva proprio dal fatto che i 3 resistori sono da 5k.
Vedremo nel seguito l’utilizzo dell’ingresso Control Voltage.
9
Questa tavola della verita’ puo’ ingenerare confusione perche’ sembra diversa da quella di un normale
flip-flop. Si deve tenere conto pero’ che non c’e’ un clock, quindi lo stato S = High, R = High e’ lecito e
determina Q = High. Inoltre Q e’ in realta’ costruito negando Q con un semplice NOT, quindi anche in
questo caso il transistor e’ interdetto.
8
289
7.9. IL TIMER 555
Figura 7.60: Multivibratore astabile.
VLT = (1/3)VCC l’uscita del comparatore 2 diventa HIGH, il flip-flop commuta di nuovo
e il transistor va in off. Il condensatore ricomincia a caricarsi e il ciclo si ripete. L’uscita
quindi oscilla tra i due stati, HIGH e LOW .
Figura 7.61: a) Carica del condensatore; b) Scarica del condensatore; c) Ciclo completo e andamento
dell’uscita.
Per una valutazione quantitativa degli andamenti delle tensioni facciamo riferimento alla
Fig 7.61. La tensione vC del condensatore oscilla tra VLT e VLH ma le fasi di carica e
scarica sono esponenziali diverse perche’ le resistenze in gioco sono diverse.
Nella fase di carica si ha (Fig 7.61a):
t
τ
vc (t) = VCC (1 − e 1 )
−
dove
τ1 = (RA + RB )C
(7.10)
290
CAPITOLO 7. CIRCUITI DIGITALI
Quindi possiamo scrivere
t1
= VCC (1 − e τ1 )
t2
−
τ
= VCC (1 − e 1 )
−
VLT
VHT
(7.11)
(7.12)
Riordinando e dividendo membro a membro si ricava il tempo TH di permanenza nel livello
alto:
VCC − VLT
TH = τ1 loge
(7.13)
VCC − VHT
Poiche’ VHT = (2/3)VCC e VLT = (1/3)VCC si ha
TH = τ1 loge 2 = (RA + RB )C × 0.69
(7.14)
Nella fase di scarica del condensatore si ha (Fig 7.61b):
t
vc (t) = VHT e τ2
TL
−
VLT = VHT e τ2
−
dove
τ 2 = RB C
(7.15)
(7.16)
Da cui si ricava il tempo TL di permanenza nel livello alto:
TL = τ2 loge
VHT
VLT
(7.17)
Poiche’ VHT = (2/3)VCC e VLT = (1/3)VCC si ha
TL = τ2 loge 2 = RB C × 0.69
(7.18)
T = TH + TL = 0.69(RA + 2RB )C
(7.19)
Il periodo T e’ quindi
e la frequenza f :
f=
1
1.44
=
T
(RA + 2RB )C
(7.20)
Osserviamo che il
RA + RB
TH
=
(7.21)
T
RA + 2RB
e’ sempre maggiore 50% . Tende a questo valore se RB ≫ RA .
Se si vuole ottenere in uscita un’onda quadra si puo’ modificare il circuito (Fig 7.62)
aggiungendo un diodo in parallelo a RB .
Nella fase di carica il diodo conduce, mentre nella fase di scarica e’ interdetto. In questa
nuova situazione TH e TL sono
Duty cycle =
= RA C loge 2 = 0.69RA C
(7.22)
TL = RB C loge 2 = 0.69RB C
(7.23)
TH
e si ha
Duty cycle =
Se RA = RB il Duty cycle diventa il 50%.
RA
RA + RB
(7.24)
7.9. IL TIMER 555
291
Figura 7.62: Multivibratore astabile modificato con aggiunta di un diodo.
Voltage Controlled Oscillator
Le soglie di commutazione dei comparatori possono essere fissate esternamente utilizzando
l’ingresso Control Voltage (piedino 5). Possiamo ad esempio ricavare una tensione VCON T
dall’alimentazione tramite un semplice trimmer (Fig 7.63a) e ottenere nuove soglie; ora
VHT = VCON T e VLT = VCON T /2. Questo chiaramente modifica i tempi TH e TL (lasciamo
il calcolo come esercizio).
Notiamo che ora la frequenza di oscillazione dipende da VCON T (diminuisce al crescere di
VCON T ) e questo spiega il nome del circuito.
Un altro possibile modo per ottenere un risultato analogo consiste nell’alimentare indipendentemente (con una tensione VCC1 ) la catena RA , RB , C ( (Fig 7.63a)). Anche in questo
caso i tempi TH e TL sono modificati e la frequenza dipende da VCC1 .
Considerazioni pratiche
L’uscita del 555 puo’ sia erogare corrente (current source) che assorbirne (current sink),
come mostrato in Fig 7.64. La corrente massima erogabile dall’uscita del 555 e’ intorno a
200 mA, un eventuale carico esterno deve quindi essere dimensionato adeguatamente. Se
e’ necessario avere piu’ corrente si puo’ collegare un transistor in uscita.
Le resistenze RA e RB devono essere comprese tra 1 kΩ e 1 M Ω, resistenze troppo piccole
potrebbero far uscire il transistor dalla saturazione, alterando il funzionamento dell’oscillatore. La massima frequenza di oscillazione (limitata dai tempi di salita e di discesa
dell’uscita) e’ intorno a qualche M Hz.
292
CAPITOLO 7. CIRCUITI DIGITALI
Figura 7.63: Voltage controlled oscillator. a) Mediante l’ingresso Control Voltage; b) Con doppia
alimentazione.
293
7.9. IL TIMER 555
Figura 7.64: Multivibratore monostabile
7.9.2
Multivibratore monostabile con 555
Un monostabile puo’ essere realizzato con il circuito di Fig 7.65. In assenza di segnale il
sistema e’ nello stato stabile Q = LOW , Q = HIGH; il transistor Q1 e’ in saturazione.
A t = 0 un impulso negativo di trigger porta il comparatore 2 a HIGH: si ha quindi
Q = HIGH e Q = LOW Il transistor si interdice e C inizia a caricarsi con legge
t
vc (t) = VCC (1 − e RC )
−
Quando vc (t) arriva a VHT = (2/3)VCC il comparatore 1 diventa HIGH e provoca la
commutazione del flip-flop. Il transistor passa di nuovo in saturazione e il condensatore
inizia a scaricarsi.
In conclusione, all’uscita si ha un impulso positivo di durata
T = RA C loge 3 = 1.1RA C
come si ricava facilmente.
Il monostabile realizzato con il 555 e’ spesso utilizzato come semplice temporizzatore:
l’uscita resta alta per un tempo prefissato (pari appunto a 1.1RC) quando l’utilizzatore
preme un pulsante. Un esempio e’ mostrato in Fig 7.66.
7.9.3
Multivibratore bistabile con 555
Non e’ molto frequente l’utilizzo del 555 per realizzare un bistabile, ci sono modi piu’
semplici per ottenerlo. Ad ogni modo un esempio e’ riportato nella Fig 7.67: la posizione
del deviatore determina lo stato dell’uscita.
294
CAPITOLO 7. CIRCUITI DIGITALI
Figura 7.65: Multivibratore monostabile
Figura 7.66: Multivibratore monostabile, un altro esempio
295
7.9. IL TIMER 555
Figura 7.67: Multivibratore bistabile
296
CAPITOLO 7. CIRCUITI DIGITALI
Capitolo 8
Il microprocessore Z80
8.1
Introduzione
Dal 1946, anno di costruzione del primo computer (il famoso ENIAC) ad oggi, si e’ progressivamente consolidata un’architettura dei sistemi di calcolo basata su una unita’ centrale,
detta CPU (Central Processing Unit), che lavora in associazione con una memoria centrale,
e con una serie di periferiche, come dischi, nastri, terminali videografici, ecc. La CPU e’ in
grado di eseguire una sequenza di istruzioni (programma) che siano state precedentemente
immesse nella memoria; inoltre coordina il funzionamento delle periferiche, acquisendo dati
dalle unita’ d’ingresso e fornendone altri alle unita’ di uscita. La stessa memoria utilizzata
per contenere i programmi serve anche per contenere dati: essa e’ quindi sostanzialmente
una unita’ periferica allo stesso livello delle altre1
BUS INDIRIZZI
CPU
MEMORIA
Periferica
Periferica
BUS Controlli
BUS DATI
Figura 8.1: Architettura di un computer
Le comunicazioni tra la CPU e le periferiche avvengono attraverso un insieme di linee, che
prendono il nome di bus; in realta’ sono necessari piu’ bus per il funzionamento del sistema
(vedi Fig. 8.1): infatti e’ necessario
1
Questo schema, sostanzialmente utilizzato dalla maggioranza dei moderni computer, prende il nome
di architettura di Von Neumann, dal matematico John Von Neumann che la ideo’. Non e’ pero’ l’unica
possibile: si puo’ costruire un sistema in cui programmi e dati sono immagazzinati in memorie diverse,
collegate al processore da bus separati (architettura di Harvard).
297
298
CAPITOLO 8. IL MICROPROCESSORE Z80
1. definire da quale indirizzo deve essere prelevata un’informazione e a quale indirizzo
deve essere destinata (Address Bus);
2. trasferire i dati dalla CPU alla periferica o viceversa (Data Bus);
3. inviare e ricevere segnali di controllo (Control Bus)
Sappiamo che l’unita’ elementare di informazione e’ il bit; e’ chiaro pero’ che qualunque
operazione realistica richiede la capacita’ di operare su numeri a molti bit. Una caratteristica importante di un computer e’ quindi data dall’ampiezza dei numeri che esso e’ in
grado di gestire e manipolare; questa dimensione si chiama parola: quindi un computer
con parole di 16 bit e’ in grado di operare su numeri di questa ampiezza. Tipici valori sono
8, 16, 32 e oggi anche 64 bit. Naturalmente la grandezza della parola determina anche il
numero di linee che formano il bus dei dati (anche se non necessariamente devono essere
uguali).
Costruttore
Sigla
Parola
Indirizzi
(bit)
(bit)
Intel
8080
8
16
Motorola
6800
8
16
Zilog
Z80
8
16
Intel
8086
16
16
Motorola
68000
16
16
Intel
80386
32
32
Motorola
68020
32
32
Tabella 8.1: Alcuni tra i primi microprocessori in commercio.
Un’altra caratteristica importante e’ il numero di linee di indirizzo che costituiscono il
sistema. Infatti ogni periferica corrisponde ad uno o piu’ indirizzi; nel caso delle memorie,
ad esempio, ogni locazione (intesa come gruppo di bit) deve avere un indirizzo univoco;
quindi il massimo numero di locazioni indirizzabili e’ legato al numero di bit, e quindi
di linee, che definiscono un indirizzo. Se ad esempio si hanno a disposizione 16 linee,
si possono definire 216 = 65536 indirizzi diversi. Nella terminologia informatica si ha
1024 = 1 k, pertanto 216 corrisponde a 64 K. In genere le memorie commerciali consentono
di indirizzare gruppi di 8 bit, che cotituiscono 1 byte; percio’ l’ampiezza delle memorie e’
normalmente espressa in bytes
Il bus di controllo, il cui scopo comprenderemo meglio in seguito, richiede un numero abbastanza basso di linee; esso serve a definire il tipo di scambio che si vuole effettuare (lettura
di un dato dalla memoria o scrittura di un dato sulla memoria), oppure a consentire alle
periferiche di attirare l’attenzione della CPU. Infatti il controllo dei bus e’, normalmente,
compito della CPU, che coordina e gestisce ogni operazione; tuttavia le periferiche devono
a volte potere intervenire in modo attivo nelle transazioni (si pensi ad esempio alla situazione in cui l’utente preme un tasto della tastiera per immettere un dato o un comando
nel sistema).
8.1. INTRODUZIONE
299
In passato una CPU era costituita da un enorme volume di circuiti elettronici; oggi, i
progressi fatti nel campo dell’integrazione hanno reso possibile racchiudere tutte le funzioni
in un unico "chip" di silicio, in cui sono racchiuse migliaia o decine di migliaia di porte
logiche elementari. Questi integrati prendono il nome di microprocessori; nella tabella 8.1
sono mostrate le principali caratteristiche di alcuni tra i primi microprocessori sviluppati.
E’ importante notare che queste macchine costituiscono dei sistemi sincroni, cioe’ svolgono
le loro funzioni attraverso una sequenza di operazioni temporizzate da un segnale di clock
(che spesso deve essere fornito dall’esterno); la massima frequenza di clock cui il sistema
puo’ operare e’ chiaramente legata alla velocita’ con cui i vari circuiti possono svolgere
i loro compiti e costituisce quindi un fattore di merito del sistema. Noi studieremo in
dettaglio un particolare microprocessore, lo Zilog Z80; certamente esso e’ superato in prestazioni da realizzazioni piu’ recenti, tuttavia mantiene ancora oggi tutta la sua validita’
come strumento didattico, sia per consentire agli studenti di apprendere attraverso un caso
particolare una serie di nozioni valide in generale per tutti i microprocessori, ma soprattutto perche’ consente di realizzare semplici ed istruttive applicazioni pratiche, che i molto
piu’ sofisticati microprocessori delle ultime generazioni rendono assai piu’ problematiche.
8.1.1
Il sistema esadecimale
Nel Capitolo precedente abbiamo visto il sistema di numerazione binario e abbiamo capito
che esso e’ una chiave importante per tradurre circuitalmente problemi aritmetici (e logici). Cio’ e’ vero naturalmente anche per i microprocessori; tuttavia la notazione binaria e’
estremamente pesante e scomoda da ricordare, non appena si ha a che fare con numeri di
8 o addirittura 16 bit. Si possono pero’ esprimere numeri binari in modo piu’ abbreviato
usando la notazione esadecimale. Consideriamo infatti il sistema a base 16: esso ha bisogno
di 15 simboli, quindi si utilizzano i numeri da 0 a 9 e poi le lettere A, B, C, D, E, F . Si
ha quindi la numerazione come nella Tabella 8.2.
Poiche’ 16 = 24 si ha una relazione molto semplice tra numerazione esadecimale e numerazione binaria: 1 cifra esadecimale corrisponde a 4 cifre binarie. Tradurre un numero
binario in notazione esadecimale e’ allora semplicissimo, perche’ puo’ essere fatto, partendo
dalla cifra meno significativa, per gruppi di 4 bit per volta. Si abbia ad esempio il numero
binario 10 1011 1100; esso si traduce immediatamente in 2 B C. Viceversa, se abbiamo il
numero esadecimale 1AEF , esso corrisponde a 1 1010 1110 1111.
La notazione esadecimale viene usata estensivamente nel campo informatico, proprio per
la sua semplice connessione con la numerazione binaria, ed e’ quindi bene che gli studenti
acquistino un minimo di dimestichezza con essa. Abbiamo per esempio visto che avendo a disposizione 16 linee di indirizzi, e’ possibile indirizzare 65536 locazioni diverse; in
notazione esadecimale e’ immediato dire che queste locazioni vanno dall’indirizzo 0000 (corrispondente al numero binario 0000 0000 0000 0000) all’indirizzo F F F F (corrispondente a
1111 1111 1111 1111).
8.1.2
Logica "tri-state"
Lo schema concettuale mostrato in Fig. 8.1 e’ certamente molto funzionale ma ci pone
dei problemi elettronici che dobbiamo comprendere e risolvere immediatamente. Infatti
l’idea di un bus, cioe’ un sistema di linee attraverso cui l’informazione si trasferisce da un
300
CAPITOLO 8. IL MICROPROCESSORE Z80
Num. decimale
Num. binaria
Num. esadecimale
0
0
0
1
1
1
2
10
2
3
11
3
4
100
4
5
101
5
6
110
6
7
111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
16
10000
10
17
10001
11
···
···
···
255
11111111
FF
256
100000000
100
···
···
Tabella 8.2: Numerazione esadecimale
301
8.1. INTRODUZIONE
BUS
Uscite
TTL
Uscite
TTL
Uscite
TTL
Figura 8.2: 3 sistemi logici connessi allo stesso bus
blocco ad un altro (per esempio dalla memoria alla CPU, o viceversa) non e’ realizzabile
utilizzando i normali circuiti logici TTL che conosciamo. Prendiamo infatti la situazione
schematizzata in Fig. 8.2; in cui 3 sistemi logici hanno le uscite connesse al bus (per semplicita’ abbiamo disegnato solo 2 linee del bus). Se ricordiamo il funzionamento delle uscite
TTL comprendiamo immediatamente che questo schema non puo’ funzionare: infatti una
eventuale uscita bassa "forza" a 0 V la tensione della corrispondente linea, indipendentemente da cio’ che fanno gli altri blocchi logici. E’ chiaro quindi la connessione di piu’
circuiti logici ad un bus non puo’ essere fatta in questo modo. Uno dei modi comunemente
usati per risolvere questo problema consiste nell’introdurre nei circuiti logici un terzo stato,
il cosidetto stato di "alta impedenza". Allora l’uscita del circuito puo’ essere in 3 stati: 0
logico, 1 logico e "alta impedenza", dove quest’ultimo significa che l’uscita presenta una
alta impedenza verso la massa, cioe’ e’ come se fosse sconnessa dal circuito da cui proviene.
Questo risolve il problema del bus: occorre fare in modo che uno e uno solo dei dispositivi
connessi al bus presenti un’uscita logicamente valida; tutti gli altri devono essere nello
stato di alta impedenza, H. Ogni circuito logico avra’ percio’ un ulteriore ingresso di "abilitazione" (Enable) che consente di introdurre questo terzo stato di uscita. Ad esempio, la
tavola della verita’ di un flip-flop D tipo tri-state sara’
Enable
Dn
Qn+1
1
0
0
1
1
1
0
x
H
Cioe’, se il segnale Enable e’ basso, l’uscita e’ su alta impedenza, qualunque sia l’ingresso.
302
8.2
CAPITOLO 8. IL MICROPROCESSORE Z80
Struttura dello Z80
Vediamo ora in dettaglio la struttura del microprocessore Z802 , per cominciare a comprenderne il funzionamento.
Questo microprocessore si presenta come un contenitore "Dual In Line" da 40 piedini
(Fig. 8.3). Di questi, 8 piedini corrispondono agli 8 bit del dato (D0 . . . D7 ), 16 ai 16 bit
M1
MREQ
IORQ
RD
WR
RFSH
27
19
20
21
22
28
HALT
WAIT
INT
NMI
RESET
18
24
16
17
26
BUSRQ
BUSAK
25
23
Clock
+5 V
Ground
6
11
29
30
31
32
33
34
35
36
37
38
39
40
1
2
3
4
5
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
14
15
12
8
7
9
10
13
D0
D1
D2
D3
D4
D5
D6
D7
1
40
20
21
NUMERAZIONE
DEI PIEDINI
Figura 8.3: I piedini dell’integrato Z80: le frecce indicano il verso in cui fluisce l’informazione.
degli indirizzi (A0 . . . A15 ). Due piedini servono per l’alimentazione (+5 V e GND); uno
e’ l’ingresso per il clock, φ. I restanti 13 piedini sono utilizzati per i segnali di controllo.
Ogni segnale e’ indicato con una sigla mnemonica che ricorda la funzione svolta; poiche’
e’ il livello basso (0 logico) quello che attiva la funzione, le sigle sono soprasegnate. Alcuni segnali sono prodotti dalla CPU, e percio’ in figura sono caratterizzati dalla freccia
uscente; altri, invece, sono ricevuti dalla CPU e devono essere forniti dai dispositivi esterni.
Vediamo ora in dettaglio questi segnali:
BU SRQ Richiesta del bus. Viene utilizzato per consentire ad un dispositivo esterno di
prendere il controllo dei bus. Quando BU SRQ viene attivato, la CPU pone nello
stato di alta impedenza le sue connessioni col bus dei dati, col bus degli indirizzi e
con le uscite di controllo, non appena termina il ciclo macchina in corso.
2
Lo Z80 è nato nel luglio del 1976 per opera di Federico Faggin che, lasciata la Intel dopo aver lavorato
sull’8080, aveva fondato la Zilog. Era progettato per offrire compatibilità binaria con l’Intel 8080 in
modo che il codice 8080 (in particolare il sistema operativo CP/M) potesse essere eseguito sullo Z80 senza
modifiche.
Zilog ha concesso in licenza il core dello Z80 senza royalty a tutte le aziende che volessero costruire il chip.
Questo ha fatto si che il prodotto guadagnasse consensi nel mercato mondiale, in quanto aziende di gran
lunga più grandi iniziarono a produrre lo Z80.
8.2. STRUTTURA DELLO Z80
303
BU SAK Riconoscimento del bus. Questo segnale viene attivato quando, a seguito di un
BU SRQ, i bus sono stati posti in uno stato di alta impedenza.
RESET Azzeramento. Questo segnale rimette a zero il contenuto del registro PC (Program Counter) ed esegue altre azioni di inizializzazione generale della CPU. A seguito
di questo segnale la CPU comincia ad eseguire il programma, partendo dall’istruzione
memorizzata nella locazione di memoria 0000.
HALT Stato di alt. Indica che la CPU ha eseguito una istruzione di HALT ed e’ in attesa
di comando per riprendere l’esecuzione del programma. Finche’ perdura questo stato
la CPU esegue istruzioni "fittizie" (NOP) per consentire comunque l’esecuzione di
attivita’ di refresh
M REQ Richiesta di memoria. Il segnale indica che il bus degli indirizzi contiene un
indirizzo valido per un’operazione di lettura o di scrittura in memoria
M 1 Ciclo macchina 1. Il segnale indica che e’ in atto un ciclo di prelievo (fetch) del
codice operativo dalla memoria. L’inizio dell’esecuzione di ogni istruzione e’ quindi
caratterizzato da questo segnale. La presenza simultanea di M 1 e IORQ sta ad
indicare un ciclo di riconoscimento di una interruzione
IORQ Richiesta di ingresso/uscita. Indica che il bus degli indirizzi contiene, negli 8 bit
meno significativi, un indirizzo di un dispositivo di I/O valido per una oprazione di
lettura o scrittura
W AIT Attesa. Indica alla CPU che la memoria, o altri dispositivi di I/O indirizzati
non sono pronti per un trasferimento dati. Finche’ questo segnale e’ attivo la CPU
continua l’attuazione di stati di attesa.
RD Lettura. La CPU vuole leggere dalla memoria o dal dispositivo di I/O indirizzato. La memoria o altro dispositivo usa questo segnale per porre sul bus dei dati
l’informazione richiesta
W R Scrittura. Indica che il bus dei dati contiene dati validi da memorizzare nella memoria
o nel dispositivo di I/O
RF SH Refresh. Indica che i 7 bit meno significativi del bus degli indirizzi contengono
un indirizzo valido per una operazione di rinfresco della memoria e che il segnale
M REQ attivo in quel momento e’ usato per effettuare una lettura
IN T Richiesta di interruzione (Interrupt). Deve essere generato da dispositivi di I/O; l’interruzione viene accettata dalla CPU, in particolari condizioni, alla fine dell’istruzione
in corso.
N M I Richiesta di interruzione non mascherabile. Questo segnale e’ attivo sul fronte di
discesa. Viene sempre accettato, senza condizioni, alla fine dell’istruzione in corso.
La CPU riprende l’esecuzione a partire dalla locazione di memoria 0066.
Dovremo man mano approfondire la descrizione precedente, che puo’ aver disorientato il
lettore, anche per l’introduzione di una serie di termini oscuri, come refresh, ciclo macchina,
304
CAPITOLO 8. IL MICROPROCESSORE Z80
ecc. Tuttavia alcuni punti dovrebbero cominciare ad essere chiari. Si capisce che la memoria
deve contenere una serie di istruzioni, per esempio a partire dalla locazione 0000; dando al
microprocessore un segnale di RESET esso iniziera’ a prelevarle ed a eseguirle in sequenza.
Una istruzione implica tipicamente prelevare dei dati dalla memoria, eseguire un’operazione
su di essi e riscrivere in una certa locazione di memoria il risultato, che eventualmente
costituisce l’operando di successive manipolazioni. Non poniamoci per ora il problema di
come si possano introdurre nella memoria i codici delle istruzioni da eseguire; lo vedremo
in seguito. Cominciamo invece ad esaminare la struttura funzionale del microprocessore
(Fig. 8.4). Il cuore della CPU e’ costituito da una serie di registri, da una unita’ aritmetica
BUS DATI
a)
CONTROLLO
B.D.
DECODIFICA
ISTRUZIONI
E CONTROLLI
REGISTRO
ISTRUZIONI
CONTROLLI
CPU/SISTEMA
BUS INTERNO
ALU
REGISTRI
b)
R e g i s t r i p r i n c i p a l i Registri secondari
A
F
A'
F'
B
C
B'
C'
D
E
D'
E'
H
L
H'
L'
CONTROLLO
B.D.
BUS INDIRIZZI
I
R
Index Register IX
Index Register IY
Stack Pointer
Program Counter
Figura 8.4: a) Architettura interna dello Z80; b) Registri
e logica (ALU) e da alcuni blocchi di controllo. Un bus interno (non accessibile cioe’ da
fuori) consente il trasferimento locale delle informazioni. Come si vede l’interazione verso
l’esterno avviene attraverso i controllori dei vari bus: indirizzi, dati, e segnali di controllo.
Il blocco dei registri contiene 18 registri a 8 bit e 4 registri a 16 bit.
I registri di uso generale sono A, F, B, C, D, E, H, L; accanto a questi, detti principali,
ve ne sono altri 8, indicati con A’, F’, B’, C’, D’, E’, H’, L’, detti secondari, di cui per ora
non ci occuperemo; la loro funzione verra’ spiegata molto piu’ avanti.
I registri di uso generale, tranne il registro F, sono destinati come appoggio per gli operandi
delle istruzioni ed i risultati dei calcoli eseguiti. Il piu’ frequentemente usato e’ il registro
305
8.2. STRUTTURA DELLO Z80
A, che prende, per ragioni storiche, il nome di accumulatore. Spesso i registri vengono
usati in coppie, per contenere informazioni a 16 bit (in particolare si usano le coppie BC,
DE, HL).
Il registro F ha invece una funzione completamente diversa: ciascuno dei singoli bit che
lo compongono da infatti informazioni su particolari caratteristiche dell’ultima operazione
eseguita dal microprocessore. In particolare si ha:
Bit number
Simbolo
Significato
0
C
Carry
1
N
Add/Subtract
2
P/V
3
X
Non usato
4
H
Half carry
5
X
Non usato
6
Z
Zero
7
S
Sign
Parity/Overflow
Il significato dei singoli bit e’:
Carry Questo bit viene posto ad 1 se un’operazione di addizione o sottrazione ha dato
luogo ad un riporto.
Add/subtract questo bit viene posto ad 1 se e’ stata eseguita una sottrazione, e posto
a 0 se e’ stata eseguita un’addizione.
Parity/Overflow Per le operazioni aritmetiche questo bit viene posto ad 1 se vi e’ stato
un overflow nel registro A; per operazioni logiche (o di rotazione) il bit viene posto
ad 1, se la parita’ del contenuto di A e’ pari, a 0 altrimenti3 .
Half Carry Questo bit viene posto ad 1 se un’operazione di addizione o sottrazione ha
dato luogo ad un riporto tra il bit 3 e il bit 4 del registro A.
Zero Questo bit e’ posto ad 1 se il risultato dell’ultima operazione aritmetica e’ stato
uno zero
Sign Questo bit memorizza il contenuto del bit piu’ significativo del registro A.
Vediamo ora la funzione dei registri di uso speciale:
Program Counter, PC Questo registro da 16 bit contiene ad ogni istante l’indirizzo
della locazione di memoria in cui sta l’istruzione da eseguire. Normalmente il microprocessore esegue le istruzioni in sequenza ed il registro viene quindi incrementato
ogni volta di 1. A volte pero’ il programma contiene istruzioni di "salto" per cui
3
pari
La parita’ e’ data semplicemente dal numero di “1” contenuti in A: se e’ un numero pari, la parita’ e’
306
CAPITOLO 8. IL MICROPROCESSORE Z80
si richiede che l’istruzione successiva venga attinta da un indirizzo completamente
diverso: in tal caso il nuovo indirizzo viene trascritto sul PC. Si capisce quindi che il
bus degli indirizzi viene predisposto sulla base del contenuto del Program Counter.
Stack Pointer, SP La programmazione dello Z80 ammette l’uso di subroutines (cosi’
come le conosciamo nei linguaggi evoluti come il FORTRAN). In tal caso, un salto dal
programma principale ad una subroutine richiede che venga tenuta memoria del punto
da cui si e’ effettutato il salto, per potervi tornare una volta esaurita l’esecuzione della
subroutine. Inoltre una subroutine puo’ chiamarne un’altra, la quale a sua volta puo’
chiamarne un’altra ancora e cosi’ via; si devono quindi memorizzare tanti indirizzi
concatenati, per ritrovare la strada inversa. Questo viene fatto, come vedremo meglio
in seguito, con la tecnica dello stack (catasta), in cui tutti questi indirizzi vengono
memorizzati in una zona della memoria: lo stack pointer contiene un indirizzo che ci
consente di ritrovare all’indietro la strada percorsa in tutte le chiamate a subroutines
concatenate.
Registri indice, IX, IY Sono impiegati quando si utilizza una particolare tecnica di
indirizzamento, detta indicizzata.
Interrupt vector, I In questo registro viene immagazzinato un byte che contiene informazioni necessarie per gestire alcuni tipi di interruzione.
Memory refresh, R Lo Z80 incorpora la funzione di refresh automatico. E’ un’operazione necessaria per il funzionamento delle memorie CMOS (memorie dinamiche);
infatti in questo tipo di circuiti l’informazione e’ memorizzata sotto forma di carica
elettrica immagazzinata in una piccola capacita’. In teoria questa capacita’ e’ isolata, per cui dovrebbe mantenere indefinitamente il suo stato di carica, ma in realta’
cio’ non puo’ avvenire, per cui essa tende a scaricarsi. E’ necessario allora "rinfrescare" continuamente ( con periodicita’ dell’ordine delle decine di millisecondi) tutte
le celle e questo viene semplicemente fatto rileggendone continuamente il contenuto. Il registro R aiuta a fare questa operazione, sfruttando intervalli di tempo in
cui il microprocessore non deve accedere alla memoria per fare "reali" operazioni.
Noi non useremo memorie di questo tipo, quindi non sfrutteremo questa opzione;
ne vedremo pero’ gli effetti quando studieremo in dettaglio la temporizzazione del
microprocessore.
8.3
Programmazione dello Z80
Possiamo ora, finalmente, capire un po’ meglio il funzionamento del sistema attraverso alcuni semplici esempi. Come abbiamo piu’ volte detto il microprocessore esegue un compito
definito leggendo dalla memoria una serie di istruzioni, che noi avremo preventivamente
immagazzinato, che costituiscono il programma. Abbiamo visto che, fornendo un comando di RESET , lo Z80 comincia ad eseguire il programma partendo dalla locazione 0000:
possiamo quindi immaginare di scrivere il nostro programma partendo da quella locazione.
Naturalmente le istruzioni devono essere date in linguaggio macchina, cioe’ in codice binario, certamente assai difficile da apprendere e ricordare: e’ quindi utile al programmatore
fare ricorso ad una forma mnemonica per indicare ogni istruzione, che ci aiutera’ nello
307
8.3. PROGRAMMAZIONE DELLO Z80
scrivere un programma, ma anche nel capire cosa fa un programma, nel momento in cui
andiamo a rileggerlo.
Non tutte le istruzioni dello Z80 si esauriscono in un byte; ci sono invece istruzioni piu’
complesse che richiedono 2,3 o anche 4 bytes. Di conseguenza l’istruzione deve essere
memorizzata in piu’ locazioni di memoria consecutive. Ma vediamo ora un primo esempio,
in cui useremo la notazione esadecimale, sia per scrivere gli indirizzi delle locazioni di
memoria, sia le istruzioni:
Indirizzo
Istruzione
Mnemonico
Commento
0000
00
NOP
Non fa niente
0001
C3
JP 0000
Salta alla locazione 0000
0002
00
0003
00
Questo semplice programma di due istruzioni esegue un loop infinito: l’istruzione NOP
non fa niente (corrisponde al CONTINUE del FORTRAN), l’istruzione JP 0000 salta alla
locazione 0000, cioe’ ritorna al punto di partenza. Come si vede questa istruzione richiede
3 bytes e di conseguenza impegna 3 locazioni di memoria.
Vediamo ora un esempio piu’ articolato:
Indirizzo
Istruzione
Mnemonico
Commento
0000
06
LDB, 64
Carica nel registro B il numero
0001
64
0002
05
DEC B
Decrementa il registro B di 1
0003
C2
JPNZ, 0002
Salta alla locazione 002 se
0004
02
l’ultima operazione non ha dato
0005
00
risultato zero
0006
76
esadecimale 64
HALT
Si ferma
Questo programma esegue un loop 64 volte (esadecimale) e poi si ferma. In esso abbiamo
usato istruzioni lunghe 1,2 e 3 bytes. Abbiamo caricato in B un numero e successivamente lo
abbiamo decrementato a passi di 1, eseguendo ogni volta un test per verificare il contenuto
del registro. Questo tipo di istruzioni usa proprio il bit 6 del registro F, che viene posto
ad 1 quando l’ultima operazione fatta ( in questo caso DEC B) fornisce un risultato zero.
Si noti poi il modo con cui abbiamo dato l’indirizzo nell’istruzione JPNZ, 0002: prima il
byte meno significativo (02) e poi quello piu’ significativo (00). Questa convenzione e’ del
tutto generale e deve essere seguita in tutte le istruzioni che contengono un indirizzo.
Il formato che stiamo usando per scrivere il nostro programma e’ quindi chiaro: occorre in
generale che il programmatore tenga conto delle locazioni di memoria in cui sono contenute
le istruzioni, perche’ le istruzioni contengono indirizzi ben precisi. In questa situazione
il programma e’ detto non rilocabile proprio’ perche’ esso funziona solo se e’ caricato
308
CAPITOLO 8. IL MICROPROCESSORE Z80
partendo da una precisa locazione di memoria. Possiamo anche apprezzare l’utilita’ del
codice mnemonico (che, ripetiamo, non serve al microprocessore, ma solo a noi). Da questo
punto di vista e’ utile anche assegnare dei nomi arbitrari, a scopo mnemonico, a locazioni
di memoria. Chiameremo labels questi nomi; l’esempio precedente potrebbe allora essere
riscritto:
Indirizzo
Istruzione
Mnemonico
Commento
0000
06
LDB, 64
Carica nel reg. B
0001
64
0002
Label
loop
il numero esadec. 64
05
DEC B
Decrementa il reg. B di 1
0003
C2
JPNZ, loop
Salta alla loc. 002 se
0004
02
l’ultima operazione non ha
0005
00
dato risultato zero
0006
76
HALT
Si ferma
Alla locazione 0002 (il bersaglio del salto) abbiamo dato il nome "loop": questo rende piu’
facile rileggere il programma e capirne il funzionamento. E’ un artificio utile, che useremo
spesso nei prossimi esempi.
Il lettore si porra’ ora due domande: e’ possibile eseguire un programma che non e’ memorizzato a partire dalla locazione 0000? E’ possibile scrivere un programma in modo
rilocabile, cioe’ in modo che esso funzioni qualunque sia la zona di memoria in cui esso e’
stato immagazzinato? La risposta e’ si ad entrambe le domande e possiamo vederlo con
un ulteriore esempio. Questa volta scriviamo un programma che esegue la somma di due
numeri ad 8 bit, e supponiamo di averlo memorizzato a partire dalla locazione 0100; i due
addendi sono contenuti nelle locazioni di memoria 0200 e 0201, mentre il risultato viene
salvato nella locazione 0202:
309
8.3. PROGRAMMAZIONE DELLO Z80
Indirizzo
Label
Istruzione
Mnemonico
Commento
0100
3A
LDA,(0200)
Carica in A
0101
00
0102
02
0103
2A
0104
01
l’indirizzo del
0105
02
secondo addendo
0106
86
ADDA,(HL)
Somma
0107
32
LD (0202),A
Scrive in memoria
0108
02
0109
02
010A
76
il primo addendo
LDHL, 0201
Carica in HL
il risultato
HALT
Qui abbiamo usato varie tecniche di indirizzamento: abbiamo prelevato il primo addendo fornendo direttamente l’indirizzo; invece per il secondo addendo abbiamo scritto nella
coppia di registri HL l’indirizzo e poi esguito una somma tra il contenuto di A e il contenuto della locazione di memoria il cui inirizzo e’ fornito da HL: questo e’ il cosidetto
indirizzamento indiretto.
Come facciamo a mettere in esecuzione questo programma? Scriveremo semplicemente:
Indirizzo
Label
Istruzione
Mnemonico
Commento
0000
C3
JP, 0100
Salta a 0100
0001
00
0002
01
Possiamo quindi memorizzare in memoria molti programmi e scegliere quale eseguire modificando semplicemente l’indirizzo posto nelle locazioni 0001 e 0002. Partendo da questo
semplice concetto potremmo poi sviluppare tecniche assai piu’ sofisticate per selezionare il
programma da eseguire. Notiamo ora che l’esempio appena fatto non contiene nessun riferimento assoluto ad indirizzi di memoria (se non quelli degli operandi e del risultato): quel
programma quindi funziona ovunque sia caricato, ed e’ percio’ un esempio di programma
rilocabile. Tutti i compilatori evoluti (per esempio il FORTRAN) traducono il programma scritto dall’utente in un codice rilocabile; questo aspetto e’ chiaramente essenziale per
consentire al programma di funzionare in qualunque zona della memoria venga caricato.
8.3.1
Temporizzazione dello Z80
La sequenza delle operazioni che un microprocessore effettua e’ rigorosamente scandita
dagli impulsi di clock; nello Z80 il clock deve essere fornito dall’esterno, attraverso il
piedino 6, e puo’ avere una frequenza qualunque da praticamente zero fino ad un massimo
310
CAPITOLO 8. IL MICROPROCESSORE Z80
di 4 M hz. Questa caratteristica e’ particolarmente utile per fini didattici perche’ potremo,
fornendo un clock a bassa frequenza, seguire la temporizzazione dei processi in corso con
un normale oscillografo.
E’ chiaro che l’esecuzione di un’istruzione, anche semplice, si compone da un punto di
vista elettronico di piu’ fasi; pertanto un ciclo di clock non e’ mai sufficiente a completare
un’istruzione. La durata minima e’ di 4 cicli di clock; infatti durante i primi due cicli lo Z80
acquisisce il codice dell’istruzione, mentre durante i due successivi decodifica tale istruzione
(e, simultaneamente, opera un "refresh" della memoria). E’ evidente che questo e’ il caso
piu’ semplice possibile, non esistendo istruzioni che facciano meno di questo. Un esempio
e’ l’istruzione DEC A, in cui si richiede di decrementare il contenuto dell’accumulatore. Se
l’istruzione non prevede ulteriori accessi alla memoria, essa termina e si passa all’istruzione
successiva, incrementando di 1 il Program Counter; altrimenti ogni ulteriore accesso in
memoria richiede 3 cicli di clock aggiuntivi.
Possiamo quindi parlare di:
Ciclo di clock;
Ciclo di macchina;
Ciclo di istruzione;
Un ciclo di istruzione si compone quindi di uno o piu’ cicli macchina, mentre un ciclo
macchina si compone di 4 o di 3 cicli di clock, a seconda che sia o meno la prima fase
dell’istruzione.
Vediamo ora la scala dei tempi in cui avvengono le operazioni descritte (Fig. 8.5).
CICLO M1
T1
T2
T3
T4
T1
Clock
A0 - A15
MREQ
RD
M1
D0 - D7
RFSH
Figura 8.5: Temporizzazioni dello Z80: fetch dell’istruzione
311
8.3. PROGRAMMAZIONE DELLO Z80
Ogni istruzione inizia con il trasferimento del contenuto del Program Counter sul bus degli
indirizzi: questo avviene all’inizio di T1 , primo periodo di clock. Nella seconda meta’ di T1
i segnali M REQ e RD divengono attivi (cioe’ vanno a 0 logico). Nella restante parte di
T1 e nel periodo seguente T2 la memoria scrive sul bus dei dati il contenuto della locazione
indirizzata; questo dato viene "letto" dalla CPU il corrispondenza al fronte di salita di
T3 . E’ possibile che la memoria non sia in grado, in termini di velocita’, di soddisfare la
Memory write
T1
T2
T3
Memory read
T1
T2
T3
Clock
A0 - A15
MREQ
RD
WR
D0 - D7
Input - output
T1
T2
Tw
T3
T1
Clock
A0 - A7
IORQ
RD
Forced
Wait
State
Read Cycle
Data
WAIT
WR
Write Cycle
Data
Figura 8.6: Temporizzazioni dello Z80: a)ciclo di read; b)ciclo di write; c)input/output.
richiesta nel tempo previsto: in tal caso essa deve emettere un segnale sulla linea di W AIT .
La CPU controlla lo stato di questa linea in corrispondenza del fronte di discesa a meta’
di T2 : se essa e’ attiva inserisce uno o piu’ cicli di clock di attesa, in modo da aspettare
la risposta della memoria. Durante T3 e T4 si ha un nuovo segnale di M REQ, questa
volta senza RD, ma con RF SH; infatti ora la CPU e’ occupata a decodificare ed eseguire
l’istruzione e questo tempo viene usato per il refresh. Si noti che ora sul bus degli indirizzi
viene presentato un indirizzo diverso, costruito partendo dal contenuto del registro R e non
312
CAPITOLO 8. IL MICROPROCESSORE Z80
del PC.
Il segnale M1 diviene attivo simultaneamente a T1 e resta tale fino alla fine di T2 : questo
segnale contraddistingue quindi la fase di fetch di ogni istruzione, e permette tra l’altro, di
individuarne l’inizio.
Abbiamo detto che un’istruzione puo’ richiedere un ulteriore accesso, in lettura o scrittura,
della memoria. Nel caso di lettura esso e’ descritto dalla Fig. 8.6a. In questo caso lo Z80
legge il dato sul fronte di discesa di T3 .
L’operazione di scrittura e’ abbastanza diversa (Fig. 8.6b); in questo caso la CPU "presenta" il dato sul bus a meta’ di T1 , ed emette il segnale di W R a meta’ di T2 : la memoria
puo’ quindi usare il fronte di discesa di questo segnale per leggere il dato. Naturalmente,
sia in lettura che in scrittura, l’uso della linea di W AIT consente di sincronizzarsi con
memorie piu’ lente. Le operazioni di Input/Output con dispositivi diversi dalla memoria
avvengono in modo analogo, con due differenze:
si usa la linea di IORQ invece di M REQ;
viene aggiunto comunque un ciclo di "wait" tra T2 e T3 ; questo serve al dispositivo di I/O
per avere il tempo di decodificare l’indirizzo ed attivare eventualmente la linea di W AIT
(Fig. 8.6c).
Conviene infine mostrare cio’ che avviene quando si ha, dall’esterno, un segnale di BU SRQ
(Fig. 8.6d). Tale segnale viene campionato dalla CPU con il fronte di salita dell’ultimo
periodi di clock di ogni ciclo macchina. Se esso e’ attivo, la CPU pone in alta impedenza
le proprie uscite sui bus e sui segnali di controllo, in coincidenza con il fronte di salita
del successivo impulso di clock ed attiva la linea BU SAK. Da questo momento, qualsiasi
dispositivo esterno puo’ controllare il bus per effettuare trasferimenti tra la memoria ed i
dispositivi di I/O. Sfrutteremo questa funzione per caricare in memoria i nostri programmi
di prova.
8.3.2
Le istruzioni dello Z80
Possiamo ora analizzare in modo sistematico il set di istruzioni disponibile per lo Z80.
Diciamo anzitutto che il progettista ha cercato di sfruttare al massimo le potenzialita’ del
sistema; infatti in linea di principio il set di istruzioni indispensabile per poter risolvere
qualunque problema matematico o di manipolazione di dati e’ in realta’ relativamente
esiguo. Tuttavia l’avere a disposizione istruzioni addizionali, e la possibilita’ di usare molti
diversi modi di indirizzamento puo’ consentire di scrivere programmi molto piu’ veloci ed
efficienti.
Le istruzioni piu’ importanti hanno, come abbiamo gia’ visto, un codice a 1 byte; pertanto sono possibili 256 istruzioni diverse, che possiamo visualizzare sotto forma di matrice
(Fig. 8.7), dove le righe sono associate al primo carattere esadecimale, e le colonne al secondo: ad esempio, il codice 0D corrisponde all’istruzione DEC C, mentre il codice 86
corrisponde all’istruzione ADD A,(HL), gia’ vista in un precedente esempio.
In questa matrice sono anche contenute le istruzioni a piu’ bytes: ad esempio C3 (salta a
...) si completa con due bytes di indirizzo, mentre 3E (carica in A un numero a 8 bit) si
completa con un byte contenente il dato da caricare nell’accumulatore. Quando l’istruzione viene decodificata la CPU capisce quindi se deve o meno aspettarsi ulteriori bytes di
completamento.
8.3. PROGRAMMAZIONE DELLO Z80
Figura 8.7: Codici operativi dello Z80:
le righe sono associate al primo carattere esadecimale dell’istruzione, la colonne al secondo carattere.
Le istruzioni con (*) si completano con un byte;
le istruzioni con (**) si completano con due bytes;
le istruzioni con [1] hanno un codice di piu’ bytes.
313
314
CAPITOLO 8. IL MICROPROCESSORE Z80
Un elenco completo delle istruzioni, con una breve descrizione del loro significato, e’ riportato nell’Appendice A (chi fosse interessato a maggiori dettagli puo’ consultare il manuale
dello Z80). Possiamo tuttavia qui tentare una descrizione generale osservando che esse
possono essere divise in varie categorie:
Caricamento a 8 o 16 bit
Queste istruzioni muovono i dati tra i vari registri della CPU, ovvero tra i registri e
la memoria. Questo gruppo comprende pure istruzioni di caricamento immediato del
dato specificato nell’istruzione stessa in uno dei registri o in una qualsiasi posizione di
memoria. Le istruzioni di scambio (Exchange) consentono poi di effettuare lo scambio
tra il contenuto di due registri. In questo ambito rientrano anche istruzioni che, ad
esempio, consentono di scambiare il contenuto dei registri principali con quello dei
registri secondari.
Istruzioni aritmetiche e logiche
Operano su dati posti nell’accumulatore e in un altro qualsiasi dei registri di uso
generale, oppure su dati posti in accumulatore e una qualsiasi locazione di memoria.
Sono anche possibili somme e sottrazioni a 16 bit.
Istruzioni di rotazione e scorrimento
Permettono di far ruotare verso destra o verso sinistra il contenuto di qualunque
registro o locazione di memoria, con o senza l’utilizzo del bit di Carry del registro
F. Inoltre sono possibili rotazioni separate del gruppo meno significativo di 4 bit
(nibble). La differenza tra rotazione e scorrimento e’ mostrata in Fig. 8.8.
SCORRIMENTO (SHIFT)
"0"
ROTAZIONE (SKEW)
CARRY
CARRY
Figura 8.8: Rotazioni e scorrimenti dei registri
Manipolazioni di singoli bit
E’ possibile esaminare, porre a 1 (set), o porre a 0 (reset), singoli bit di ogni registro,
o di qualunque locazione di memoria.
Istruzioni di salto, chiamata, o ritorno
E’ possibili fare salti (Jump), ovvero chiamate di subroutines (Call) con relativi
ritorni. I salti possono essere condizionati al valore di specifici bits del registro F, in
particolare il bit Z (zero) o il bit C (carry).
8.3. PROGRAMMAZIONE DELLO Z80
315
Istruzioni di input/output
Esistono varie istruzioni per effettuare operazioni di I/O con dispositivi esterni, che
vengono selezionati utilizzando gli 8 bit meno significativi del bus degli indirizzi. E’
quindi possibile in linea di principio avere 256 dispositivi di I/O diversi. Torneremo
piu’ avanti su queste istruzioni.
Trasferimento e ricerca di blocchi di dati
E’ possibile trasferire un blocco di dati di qualsiasi dimensioni tra due diverse posizioni di memoria. Inoltre e’ possibile analizzare un blocco di memoria per ricercare
una particolare configurazione di 8 bit.
E’ anche interessante osservare che esistono vari modi di indirizzamento della memoria,
come abbiamo gia’ imparato attraverso gli esempi visti; e’ a questo punto utile esaminarli
sistematicamente.
Indirizzamento immediato:
Il dato (1 byte) viene fornito direttamente e caricato sul registro. Sono quindi istruzioni del tipo:
LDr, n: carica il byte n nel registro r
Il registro puo’ essere A,B,C,D,E,H,L
Indirizzamento immediato esteso:
LDdd, nn: carica i due bytes nn nella coppia di registri dd
La coppia di registri puo’ essere BC,DE,HL oppure il registro SP.
Ovviamente i due bytes vanno dati nel consueto ordine (LSB e MSB)
Indirizzamento implicito:
LDr, r’: il contenuto del registro r’ e’ copiato in r
I registri utilizzabili sono A,B,C,D,E,H,L
Indirizzamento indiretto:
LDr,(dd): carica nel registro r il contenuto della locazione di memoria il cui indirizzo
e’ nella coppia di registri dd.
Normalmente la coppia usata e’ HL.
Indirizzamento indicizzato:
LDr,(IX+d): carica nel registro r il contenuto della locazione di memoria indirizzata
da IX piu’ un offset d;
d e’ un byte che viene fornito direttamente, ed e’ interpretato come un numero di 7
bit con segno. Quindi l’offset possibile e’ ±127.
Indirizzamento relativo:
Si applica solo nelle istruzioni di salto; consente un salto di ±127 locazioni relativamente alla locazione corrente. E’ un’istruzione del tipo:
JR e: salta dell’offset e (fornito direttamente)
ovvero
JRcc, e: salto condizionato (cc puo’ essere Z,NZ,C,NC)
316
CAPITOLO 8. IL MICROPROCESSORE Z80
Modificato in pagina zero:
Esiste solo per l’istruzione RST (restart): il programma salta ad alcune locazioni
predefinite della pagina zero (cioe’ della parte iniziale della memoria). Poiche’ e’
un’istruzione a un solo byte, la sua esecuzione e’ piu’ veloce del normale salto, e
puo’ quindi essere utile quandi si deve velocemente reagire ad un interrupt esterno.
L’istruzione quindi e’ scritta come:
RSTgg, dove gg puo’ essere 00, 08, 10, 18, 20, 28, 30, 38.
8.3.3
Il concetto di "catasta"
DATI
PUSH
POP
Stack Pointer
base dello
stack
Figura 8.9: Catasta
Vediamo ora come viene gestito il problema degli indirizzi quando si utilizzano programmi
strutturati in subroutines. Il programmatore deve inizialmente caricare nello Stack Pointer
un indirizzo, corrispondente ad una zona di memoria libera, cioe’ non utilizzata per altri
scopi. Nel momento in cui, nel corso del programma, viene incontrata l’istruzione
CALL nn
dove nn e’ l’indirizzo di partenza della subroutine, lo Z80 effettua le seguenti operazioni:
il contenuto del Program Counter viene trasferito nelle locazioni di memoria immediatamente precedenti l’indirizzo contenuto nello Stack Pointer;
il contenuto dello Stack Pointer viene decrementato di 2;
nn viene trasferito nel Program Counter.
L’ultima istruzione della subroutine deve essere l’istruzione RET che viceversa provoca i
seguenti effetti:
il contenuto della locazione di memoria puntata dallo Stack Pointer e di quella immediatamente successiva vengono trasferite nel Program Counter;
il contenuto dello Stack Pointer viene incrementato di 2.
Con questa tecnica e’ possibile avere infinite chiamate a subroutines, una dentro l’altra,
e ritrovare via via tutti gli indirizzi di ritorno man mano che ogni subroutines finisce. Si
8.3. PROGRAMMAZIONE DELLO Z80
317
noti che lo stack (cioe’ la catasta) parte da una base e cresce verso indirizzi decrescenti
(Fig. 8.9).
E’ anche possibile intervenire direttamente sulla catasta con le istruzioni PUSH e POP.
Infatti l’istruzione:
PUSH pq (pq: coppia di registri)
trasferisce sulla catasta il contenuto dei due registri e dcrementa di 2 lo Stack Pointer.
Invece
POP pq
copia nei registri il contenuto delle 2 locazioni piu’ alte della catasta e incrementa di 2 il
contenuto dello Stack Pointer.
Oltre che per gestire le subroutines, lo schema della catasta puo’ essere usato per l’immagazzinamento temporaneo di dati, o per la gestione degli interrupts, di cui parleremo piu’
avanti.
8.3.4
Operazioni di ingresso/uscita
In linea di principio un dispositivo periferico potrebbe essere considerato come una locazione nello spazio degli indirizzi, e quindi si potrebbero effettuare trasferimenti di dati
attraverso semplici istruzioni di load. Molti microprocessori operano in questo modo; invece lo Z80 prevede istruzioni speciali per le operazioni di ingresso/uscita, che utilizzano
solo gli 8 bit meno significativi del bus degli indirizzi e si distinguono dalle operazioni in
memoria perche’ attivano la linea IORQ anziche’ la linea M REQ. Uno dei vantaggi e’
quello di avere istruzioni a due soli bytes, quindi piu’ veloci.
Le istruzioni di input sono di due tipi:
IN A,(n) codice oggetto DB ..
il dispositivo periferico con indirizzo n e’ letto ed il dato e’ posto in A. n e’ un numero a
un byte fornito direttamente.
Oppure:
IN r,(C)
il dispositivo periferico il cui indirizzo e’ contenuto in C e’ letto ed il dato e’ posto nel
registro r. I registri utilizzabili sono A,B,C,D,E,H,L.
Analogamente, le operazioni di output sono gestite dalle istruzioni:
OUT (n),A codice oggetto D3 ..
ovvero
OUT (C),r
dove di nuovo r indica uno dei registri A,B,C,D,E,H,L.
8.3.5
Interruzioni
L’interazione del microprocessore con il modo esterno richiede spesso la possibilita’ di intervenire in modo asincrono; in altre parole il microprocessore deve poter gestire operazioni
di ingresso/uscita che vengono richieste dall’esterno, in un momento qualunque. Normalmente il microprocessore sta eseguendo un programma e deve a un certo istante "servire" la
richiesta esterna: questo significa interrompere il programma in corso, andare ad eseguire
una subroutine di servizio, e poi riprendere il normale lavoro da dove lo si e’ interrotto.
318
CAPITOLO 8. IL MICROPROCESSORE Z80
Naturalmente per poter riprendere il lavoro e’ necessario aver salvato il contenuto dei registri quale era prima dell’interruzione. Questo e’ molto facilitato dalla esistenza dei registri
secondari; infatti il programmatore puo’, all’inizio della subroutine di servizio, spostare il
contenuto dei registri principali in quelli secondari, eseguire cio’ che deve essere fatto per
servire l’interruzione e, alla fine, ripristinare il contenuto dei registri principali. Lo Z80 ha
a disposizione 3 linee per la gestione degli interrupts:
IN T
Questo segnale puo’ abilitato con l’istruzione EI, o puo’ essere "mascherato", cioe’
disabilitato, con l’istruzione DI. La reazione puo’ essere di 3 tipi diversi, selezionati
con le istruzioni IM0,IM1 e IM2.
interrupt di modo 0
All’arrivo del segnale IN T lo Z80 genera un segnale M 1 e IORQ e si aspetta di
ricevere sul bus dei dati, entro il ciclo di clock successivo, un byte che viene interpretato come un’istruzione da eseguire. Tipicamente la periferica interessata
porra’ sul bus dei dati un’istruzione RSTgg, che provoca il salto alla locazione gg; qui il programmatore avra’ posto una routine che serve l’interruzione.
E’ chiaro che in questo modo si possono prevedere fino a sei routines diverse,
ciascuna destinata ad una specifica periferica
interrupt di modo 1
In questo caso lo Z80 salta direttamente alla locazione 38 (cioe’ come se avesse
ricevuto un comando RST 38); chiaramente e’ una modalita’ molto semplice e
veloce ma poco flessibile.
interrupt di modo 2
E’ il modo piu’ sofisticato e flessibile: come nel modo 0 lo Z80 legge il dato presente sul bus, ma lo interpreta come la parte meno significativa di un indirizzo.
La parte piu’ significativa viene presa dal registro I, e l’indirizzo completo viene
caricato sul Program Counter; in questo modo possono essere messe in esecuzione molte routines diverse per servire in modo adeguato svariati dispositivi di
I/O
NMI
Non puo’ essere disabilitato da programma (la sigla significa infatti Interrupt Non
Mascherabile). Alla fine dell’istruzione in corso lo Z80 salva nello stack il contenuto
del Program Counter carica su di esso l’indirizzo contenuto nelle locazioni 66 e 66+1.
Quindi il programmatore deve mettere in queste locazioni l’indirizzo di partenza della
routine di servizio.
BU SRQ
E’ il meccanismo a piu’ alta priorita’, e viene normalmente usato per il DMA (Direct
Memory Acess), cioe’ trasferimenti diretti da memoria a periferica o viceversa.
Le prestazioni offerte dallo Z80 possono sembrare fin troppo complicate; tuttavia esse
possono essere necessarie per gestire sistemi complessi, con molte periferiche. In linea di
principio, il programmatore deve prevedere anche la possibilita’ che un interrupt arrivi
mentre lo Z80 sta servendo un interrupt arrivato in precedenza da un’altra periferica; si
capisce come il problema diventi rapidamente molto delicato.
319
8.4. LA SCHEDA DIDATTICA Z80
8.4
La scheda didattica Z80
Data la complessita’ dell’hardware e del software necessari per trasformare un microprocessore in un sistema funzionale, esistono i cosidetti sistemi di sviluppo (microcomputer
development systems) offerti in commercio dagli stessi fabbricanti del microprocessore o
da societa’ del settore, che permettono sia l’addestramento che la realizzazione di sistemi
funzionali completi. Tuttavia a Roma abbiamo preferito sviluppare un sistema ancora piu’
semplice, che chiameremo scheda didattica (Fig. 8.10), particolarmente adatta per esperienze sullo Z80 realizzate dagli studenti. Essa verra’ descritta nel seguito, e ci servira’
come base per la realizzazione di alcune semplici applicazioni. La scheda, dotata di una
memoria CMOS statica da 2 kbytes, consente di scrivere ed eseguire piccoli programmi,
collegare e gestire periferiche, visualizzare lo stato dei bus. E’ corredata da un generatore di
clock da 1 M hz, ma puo’ accettare un clock esterno di qualunque frequenza per consentire
la visualizzazione dello stato delle varie linee.
DISPLAY
DATI
Generatore
di clock
DISPLAY
INDIRIZZI
Bus Dati
MEMORIA
Z80
INTERFACCIA
DI INGRESSO/
USCITA
Bus Indirizzi
INTERFACCIA DI
GENERAZIONE
DEGLI INDIRIZZI
INTERFACCIA DI
SCRITTURA DATI
Bus request
Reset
Figura 8.10: La scheda didattica Z80: schema a blocchi.
8.4.1
Descrizione circuitale
La CPU Z80 ha il bus dei dati connesso ad una RAM CMOS statica da 2 Kbytes ed
all’interfaccia per la scrittura di dati; e’ inoltre previsto un connettore pe il bus alla basetta
per esperimenti. Il bus degli indirizzi (si utilizzano solo le linee A0 . . . A7 ) e’ collegato alla
RAM, all’interfaccia di generazione degli indirizzi ed a un decodificatore (74LS138) per la
selezione dei dispositivi di I/O che possono essere allocati sulla basetta per esperimenti. I
segnali di controllo utilizzati sono M REQ, RD, W R e BU SAK per la temporizzazione
320
CAPITOLO 8. IL MICROPROCESSORE Z80
delle operazioni in memoria, BU SRQ e BU SAK per la gestione dei bus, IORQ per
l’interfaccia di ingresso/uscita, RESET per l’inizializzazione e HALT per visualizzare lo
stato di (eventuale) attesa della CPU. I restanti segnali non sono utilizzati e i corrispondenti
piedini sono lasciati aperti o collegati, se necessario, a +5 V tramite un resistore di pull-up.
Interfaccia di generazione degli indirizzi
Il compito di questo blocco e’ quello di generare, in sequenza, gli indirizzi da porre sul
bus relativo. Tali indirizzi sono visualizzati su un display esadecimale. L’indirizzo viene
fornito dalle uscite di 2 contatori up/down (74LS193) collegati in cascata e comandati da
un monostabile doppio (74LS123). Due tasti (UP e DOWN) consentono di incrementare o
decrementare il conteggio. Il comando di reset generale azzera il contenutoi dei contatori,
mentre, mantenendo premuto uno dei tasti, si genera un treno di impulsi che consente
il rapido incremento o decremento degli indirizzi generati. Gli indirizzi ottenuti vengono
inseriti sul bus tramite un buffer (74LS244) abilitato dal segnale BU SAK della CPU; cio’
evita interferenze con la normale attivita’ della CPU.
Interfaccia di scrittura dati in memoria
I dati da scrivere in memoria vengono predisposti mediante 8 interruttori a levetta, collegati
al bus mediante un buffer (74LS244) abilitato dall"AND logico tra BU SAK e il comando
di scrittura DAT AW RIT E; tale comando e’ fornito da un flip-flop SR attivato da un
pulsante.
Visualizzazione dei dati e degli indirizzi
La visualizzazione dei dati e’ ottenuta da due decodifiche esadecimali (9368) che pilotano
due display a sette segmenti; esse sono abilitate dal segnale di BU SAK.
La visualizzazione degli indirizzi e’ effettuata in modo analogo, ma la sua abilitazione e’
piu’ complessa. Infatti essa e’ data da
BU SAK + (RD · CLOCK)
In questo modo il contenuto del bus e’ visualizzato sia quando si ha il controllo manuale
del bus, sia durante la fase di lavoro della CPU. In quest’ultimo caso l’AND tra il clock e
il segnale di RD e’ necessario per eliminare gli indirizzi di refresh, che lo Z80 presenta sul
bus alternati agli indirizzi veri.
Un oscillatore realizzato con un 555 abilita ad intervalli regolari tutte le decodifiche, con
una frequenza abbastanza adeguata da sfruttare l’effetto di persistenza dell’immagine, e
nello stesso tempo riduce la potenza dissipata dai display.
Memoria
La memoria viene indirizzata attraverso gli 8 bit meno significativi del bus; gli ulteriori 3
piedini di cui essa dispone (A8 , A9 A10 ) sono posti a+5 V con dei resistori di pull-up ed
hanno la possibilita’ di essere collegati a massa con dei ponticelli. In questo modo possono
essere utilizzati solo 256 bytes per volta, sufficienti tuttavia per gli scopi didattici. con
tutti e 3 i ponticelli inseriti gli indirizzi disponibili vanno da 000 a 0F F ; senza nessun
ponticello da 700 a 7F F .
8.4. LA SCHEDA DIDATTICA Z80
Figura 8.11: La scheda didattica Z80: diagramma circuitale
321
322
CAPITOLO 8. IL MICROPROCESSORE Z80
La memoria viene utilizzata sia dalla CPU, sia per l’inserimento manuale dei programmi
e dei dati; la sua abilitazione e’ quindi data da:
BU SAK + M REQ · (RD + W R)
in questo modo non vengono ricevuti gli indirizzi di refresh, irrilevanti per una memoria
statica.
Interfaccia di ingresso/uscita
I circuiti di I/O vengono indirizzati attraverso un decodificatore (74LS138) abilitato dal
segnale IORQ della CPU e dal bit A3 del bus degli indirizzi. Si utilizzano solo le tre linee
A0 , A1 , A2 e quindi si possono abilitare fino ad 8 periferiche. Tuttavia vengono utilizzate
solo le prime quattro uscite del decodificatore (Q0 . . . Q3 ), che possono essere connesse alla
basetta per esperimenti. E’ inoltre previsto, tramite opportuni ponticelli, la possibilita’
di collegare la sezione di generazione degli indirizzi come periferica di ingresso, e quella
di visualizzazione dei dati come periferica d’uscita. In questo modo si possono realizzare
semplici operazioni di input/output.
Generatore di clock
Il segnale di clock puo’ essere prelevato tramite un commutatore (CLOCK SELECT )
da due diverse sezioni. La prima e’ costituita da un oscillatore a 1 M hz formato da due
invertitori (7404) con componenti opportuni, seguito da un buffer. La seconda sezione
accetta un clock esterno fornito da un generatore che, attraverso uno stadio separatore,
pilota un multivibratore (74121) che fornisce il segnale TTL per la CPU. Poiche’ l’ingresso
del multivibratore e’ a trigger di Schmitt e’ possibile pilotare il sistema con impulsi di
breve durata (circa 200 ns formati dalla rete RC) e qualunque frequenza, mentre la CPU
e’ protetta da eventuali sovratensioni.
E’ anche possibile, mediante un opportuno ponticello, utilizzare come clock esterno a bassa
frequenza (100 Hz) il segnale di blanking dei display a sette segmenti.
Per immettere un programma nel sistema e farlo eseguire si deve quindi operare nel seguente
modo:
1. prendere il controllo del bus mediante l’interruttore BU SREQU EST ; l’accensione
di un led verde ci conferma che la CPU ha riconosciuto e accettato la nostra richiesta;
2. mediante i pulsanti UP e DOWN posizionare il contatore degli indirizzi nella locazione
di memoria da cui si desidera far partire il programma; l’indirizzo selezionato appare
sul display;
3. impostare, mediante gli 8 interruttori, il codice binario dell’istruzione che si vuole
inserire in memoria;
4. scrivere in memoria il dato impostato mediante il pulsante DATA WRITE;
5. incrementare di uno il contatore degli indirizzi e ripetere i passi 3,4 e 5 fino al termine
del programma da inserire;
8.4. LA SCHEDA DIDATTICA Z80
323
6. l’esattezza dei dati memorizzati puo’ essere verificata locazione per locazione, decrementando il contatore degli indirizzi;
7. restituire i bus alla CPU mediante l’interruttore BUSREQUEST (il led verde si
spegne);
8. premere per un istante il pulsante di RESET; si accende il led rosso di RUN e la
CPU cerca la prima istruzione da eseguire nella locazione 0000.
324
CAPITOLO 8. IL MICROPROCESSORE Z80
Capitolo 9
Microcontrollori
9.1
Introduzione
Abbiamo studiato nel Cap 8 i microprocessori, ovvero dispositivi digitali che contengono
in un unico integrato tutta la logica di elaborazione ed eventualmente locazioni di memoria. Tuttavia essi richiedono sempre delle unita’ esterne (memorie, gestione dei dispositivi
periferici) per poter scambiare informazioni e interagire con l’esterno.
Un microcontrollore è invece un sistema a microprocessore completo, che integra in uno
stesso chip il processore, memoria permanente, memoria volatile, canali di input-output
oltre ad eventuali altri blocchi specializzati. E’ progettato per ottenere la massima autosufficienza funzionale ed ottimizzare il rapporto prezzo-prestazioni per usi applicativi di
ogni genere, finalizzati al controllo di sistemi ellettro-meccanici.
Il primo microchip ottimizzato per applicazioni di controllo è stato il modello 8048 di Intel,
uscito nel 1975, con RAM e ROM sullo stesso chip. Questo componente è stato utilizzato
in piu’ di un miliardo di tastiere per PC e numerose altre applicazioni.
L’integrazione delle periferiche su un singolo chip porta ad una serie di vantaggi:
• minor numero di dispositivi discreti necessari alla realizzazione di un sistema;
• dimensioni ridotte;
• costi inferiori;
• maggiore affidabilita’;
• risparmio energetico.
Naturalmente, rispetto ai microprocessori, vi sono anche delle limitazioni: la potenza di
calcolo e’ molto inferiore, la maggioranza dei dispositivi non dispone di una Floating Point
Unit, la quantita’ di dati gestibile e’ limitata
Oggi si producono annualmente decine di miliardi di pezzi, i principali produttori sono:
• Renesas Technology (Giappone)
• Freescale Semiconductor (USA)
• Atmel (USA)
325
326
CAPITOLO 9. MICROCONTROLLORI
• Microchip Technology (USA)
• Infineon Technologies (Germania)
• Texas Instruments Incorporated (USA)
• Fujitsu (Giappone)
• NXP Semiconductors (Paesi Bassi)
• STMicroelectronics (Francia, Italia)
• Samsung Electronics (Corea del Sud)
Un microcontrollore e’ costituito da vari blocchi logici e funzionali:
• CPU;
• Memoria di programma: ROM, EPROM, FLASH;
• Memoria dati: RAM, EPROM;
• Oscillatore;
• Porte logiche di I/O
• Gestione di Interrupt;
• Timer, contatori;
• Moduli di comunicazione seriale (SPI, I2C, USB....);
• I/O analogico (ADC, DAC, PWM).
Per utilizzare un microcontrollore e’ poi necessario disporre di un Sistema di sviluppo ovvero
dell’insieme di strumenti (hardware e software) necessari per generare il codice che deve
essere eseguito dal processore, metterlo a punto e collaudarlo. in genere gli stessi produttori
forniscono questi strumenti, ma possono anche essere realizzati da terze parti. Questo e’ il
caso di Arduino.
I microprocessori si distinguono tra loro per
• Set di istruzioni: RISC o CISC;
• Organizzazione della memoria: architettura di Von Neumann o Harvard;
• Frequenza di clock;
• Numero di periferiche integrate;
• Consumo;
• Numero di bit: 8/16/32.
9.2. I MICROCONTROLLORI ATMEL AVR
327
Nei sistemi CISC (Complex Instruction Set Computer) il microprocessore ha un set di
istruzioni estremamento ampio, cosa che rende la programmazione piu’ agevole e flessibile.
Naturalmente questo implica una grande complessita’ della parte di decodifica delle istruzioni con conseguente occupazione di volume nel chip. Nei sistemi RISC il set di istruzioni
e’ piu’ ristretto ma questo e’ compensato dalla possibilita’ di avere un gran numero di
registri nel chip e quindi di avere maggior semplicita’ e velocita’ di esecuzione. Nell’ar-
Figura 9.1: a): Architettura di Von Neumann; b): Architettura Harvard
chitettura di Von Neumann la memoria contiene sia il programma che i dati. In quella
Harvard la memoria che ospita il programma e’ separata da quella dei dati, i trasferimenti
avvengono su bus diversi. Cio’ consente alla CPU di leggere un’istruzione e nello stesso
tempo leggere o scrivere un dato, con ovvio vantaggio di velocita’.
9.2
I microcontrollori ATMEL AVR
AVR e’ una famiglia di microcontrollori RISC ad architettura Harvard sviluppata dalla
Atmel a partire dal 1996. L’AVR utilizza una memoria flash interna per il programma:
questo permette di cancellare e riscrivere una nuova versione in pochi secondi e anche senza
rimuovere il microcontrollore dalla scheda su cui e’ montato, velocizzando enormemente il
processo di correzione e messa a punto del codice.
Le caratteristiche principali sono:
• Memoria di programma di tipo Flash (riprogrammabile almeno 10000 volte);
• Memoria EEPROM (riscrivibile almeno 100000 volte);
• Memoria RAM statica;
• Clock interno calibrato;
• Porte logiche di I/O;
• Gestione di Interrupt;
• Timer, contatori;
• ADC, DAC, PWM
328
CAPITOLO 9. MICROCONTROLLORI
• Comunicazione seriale (USART, SPI, TWI).
La famiglia AVR comprende 4 gruppi con caratteristiche differenti: ATtiny, ATMega,
ATXMega e AT90.
9.3
Il microcontrollore ATMega328P
Figura 9.2: Piedinatura del ATMega328P
9.3.1
Caratteristiche generali
Il microcontrollore ATMega328P e’ il piu’ potente della famiglia a 8 bit ATmega. Le
principali caratteristiche sono:
• Tecnologia CMOS;
• Flash memory: 32 kB;
• EEPROM: 1 kB;
• SRAM: 2 kB;
• Clock: fino a 20 M Hz;
• I/O digitali 14 (di cui 6 PWM);
• Ingressi analogici: 6,
9.3. IL MICROCONTROLLORE ATMEGA328P
329
• Alimentazione: 1.8 ÷ 5.5 V
In Fig 9.2 e’ riportata la disposizione e il significato dei pin dell’integrato. Per comprenderne il significato e’ bene sapere che nella terminologia Atmel i pin di ingresso e uscita
sono raggruppati in blocchi denominati Ports. Abbiamo allora
• VCC: Alimentazione;
• GND: Massa;
• Port B (PB0-PB7): 8 linee di I/O bidirezionali;
• Port C (PC0-PC6): 7 linee di I/O bidirezionali (il pin PC6 ha anche la funzione di
RESET);
• Port D (PD0-PD7): 8 linee di I/O bidirezionali;
• AVCC: Alimentazione per l’ADC interno;
• AREF: Riferimento analogico per l’ADC interno.
La Fig 9.3 mostra il diagramma a blocchi del microcontrollore. L’integrato contiene una
memoria Flash Programmabile di 32 kB, 2 kB di memoria SRAM e 1 kB di EEPROM, i
moduli per la gestione delle linee di Input-Output , un oscillatore calibrato per la generazione interna del clock, un timer a 16 bit. Un convertitore ADC che puo’ gestire, tramite
multiplexer, 6 input analogici, un riferimento interno di tensione a bandgap, moduli per la
gestione dei principali protocolli i comunicazione con perieriche (USART; SPI, I2C).
La famiglia AVR e’ basata sull’architettura Harvard, ovvero utilizza memorie e bus separati
per il programma e per i dati. Le istruzioni sono eseguite con una pipeline a un livello,
mentre un’istruzione viene eseguita, si carica la successiva dalla memoria di programma.
La Fig 9.4 mostra l’architettura della CPU, il cuore del microcontrollore, che sovraintende
alla esecuzione del programma. Quindi accede alle varie memorie, esegue i calcoli, gestisce
le perieriche e gli interrupts. Contiene la ALU, 32 registri da 8 bit di uso generale, il
registro di stato, il Program Counter, e l’Instruction Register. Un bus dei dati a 8 bit
collega la CPU alle periferiche e alle memorie dati, mentre la memoria Flash (destinata
al programma) e’ connessa da un bus indipendente. I 32 registri a 8 bit sono connessi
direttamente alla ALU, questo consente di eseguire operazioni logico-aritmetiche su due
operandi in un ciclo di clock. 6 dei 32 registri possono essere usati come 3 registri a 16 bit
di indirizzamento indiretto della memoria dati.
Il programma da eseguire risiede sulla memoria Flash, non volatile 1 . Per caricarlo e’ necessario connettere il microcontrollore ad un apposito programmatore. Questa soluzione
e’ conveniente per applicazioni in cui il programma e’ molto stabile e non deve essere modificato frequentemente. In alternativa, gli ultimi 512 bytes della memoria possono essere
caricati con un apposito programma, il Boot Loader, con il quale quindi il microcontrollore
puo’ gestire facilmente il caricamento del programma applicativo, attraverso una delle varie
interfacce di cui e’ dotato. In questo caso la memoria Flash e’ logicamente divisa in due
sezioni, la sezione del programma di boot e quella del programma applicativo.
1
La Atmel dichiara che la persistenza dell’informazione e’ di circa 100 anni.
330
CAPITOLO 9. MICROCONTROLLORI
Figura 9.3: Diagramma a blocchi del ATMega328P
9.3. IL MICROCONTROLLORE ATMEGA328P
331
Figura 9.4: Architettura della CPU
I dati prodotti e utilizzati durante l’esecuzione del programma sono memorizzati nella memoria statica (volatile) SRAM oppure, per le informazioni permanenti o semi-permanenti
sulla piccola EEPROM (Electrical Erasable Programmable Read Only Memory). La
SRAM viene anche utilizzata per memorizzare lo Stack, necessario per la gestione delle
subroutines e degli interrupts e controllato dal registro Stack Pointer. Come abbiamo
detto il microcontrollore sfrutta il meccanismo di pipelining per ottenere una maggiore
velocita’ di esecuzione delle istruzioni (Fig 9.5), la gran parte delle istruzioni sono eseguite
in un ciclo di clock.
Interrupts
Ci sono varie possibili sorgenti di interrupts, interne o esterne e per ciascuna di esse un
interrupt vector2 Gli interrupt vectors sono contenuti nella memoria di programma e ordinati in base alla priorita’. Il Reset e’ l’interrupt con priorita’ piu’ alta. Per ogni interrupt
2
L’interrupt vector contiene l’indirizzo di partenza del programma di gestione dell’interrupt stesso
(Interrupt Handler).
332
CAPITOLO 9. MICROCONTROLLORI
Figura 9.5: Temporizzazione delle istruzioni
e’ previsto 1 bit individuale di abilitazione, ma nello Status Register vi e’ un bit (Global
interrupt enable) di abilitazione globale.
Quando arriva un interrupt il Global interrupt enable viene disabilitato e si avvia l’esecuzione della routine di servizio corrispondente. All’uscita di questa il Global bit viene
nuovamente abilitato. Ci sono sostanzialmente due tipi di interrupt: nel primo tipo, l’evento viene memorizzato in un bit (interrupt flag) e viene servito appena possibile. Ovvero,
se una o piu’ condizioni di interrupts avvengono quando il Global enable e’ disabilitato,
non vengono perse e vengono servite non appena il Global enable e’ abilitato di nuovo. Nel
secondo tipo invece l’interrupt verra’ servito solo se la condizione che lo ha causato persiste
quando il Global enable e’ abilitato di nuovo. Quando l’AVR esce da un interrupt ritorna
sempre al programma principale ed esegue una istruzione prima di occuparsi di eventuali
altri interrupt in attesa.
Clock
il microcontrollore contiene un complesso sistema di gestione e utilizzo del clock (Fig 9.6).
Sono possibili varie sorgenti di cloc: anzitutto puo’ essere utilizzato un clock interno (a
frequenza 8 M Hz, ma modificabile), ma e’ anche possibile collegare un oscillatore esterno
convenzionale, o al quarzo, con una frequenza compresa tra 0 e 20 M Hz. Il clock viene poi
opportunamente distribuito ai vari blocchi funzionali: CPU, memorie, timers, ADC.
Gestione dell’alimentazione
La gestione dell’alimentazione ai vari blocchi funzionali del microcontrollore serve, se necessario, a ridurre il consumo: esistono vari sleep mode selezionabili da programma per
9.3. IL MICROCONTROLLORE ATMEGA328P
333
Figura 9.6: Clock
disattivare momentaneamente funzioni non necessarie, o addirittura tutto il microcontrollore, che resta in attesa dell’arrivo di un interrupt esterno che lo riporta allo stato
normale.
E’ anche importante mantenere sotto controllo la tensione di alimentazione. Se essa scende
sotto un certo livello (brown-out) puo’ causare malfunzionamenti nel microcontrollore e
risultati erratici nello svolgimento del programma. Se abilitato, il Brown-out Detector invia
un segnale di reset quando la tensione di alimentazione scende sotto un livello prefissato.
Occorre poi essere sicuri che al momento dell’accensione il microcontrollore si avvii correttamente, iniziando ad eseguire il programma nel modo giusto. Per questo c’e’ un dispositivo
(Power on reset) che invia il segnale di reset finche’ la tensione di alimentazione e’ ad sotto
di una certa soglia.
Watchdog
Il watchdog e’ un mecccanismo di sicurezza che puo’ essere utilizzato per evitare che il
microcontrollore resti bloccato a causa di errori inaspettati nel programma o comunque
altre cause. il sistema e’ composto da un oscillatore a 128 kHz e un contatore con varie
uscite. Sulla base di questo si puo’ costruire una logica di time-out che puo’ essere utilizzata
per inviare un segnale di reset al microcontrollore.
Reset
Ci sono quindi varie sorgenti che provocano il reset del microcontrollore:
• Un livello basso sul pin di reset;
• Power-on Reset;
• Brown-out-Reset;
334
CAPITOLO 9. MICROCONTROLLORI
• Watchdog Reset
Timers
Il microcontrollore comprende 2 timers a 8 bit e 1 timer a 16 bit che possono essere utilizzati
in vari modi dal programma. Utilizzano un clock interno ma possono anche essere collegati
ad un clock esterno.
9.3.2
Input-output
Input-output digitali
Figura 9.7: Diagramma a blocchi di un pin di Input-Output
Tutte le porte (Fig 9.7) hanno le seguenti caratteristiche:
• resistore di pull-up selezionabile;
• logica 3-state;
• trigger di Schmitt in ingresso;
• sincronismo con il clock di sistema;
• in uscita possono erogare o assorbire corrente.
Tutte le porte degli AVR hanno una funzione di true Read-Modify-Write quando vengono
usate come I/O digitali. Questo significa che la direzione di un singolo pin puo’ essere
cambiata al volo senza interferire con gli altri pin.
Il controllo di ogni porta e’ effettuato con 3 registri:
335
9.3. IL MICROCONTROLLORE ATMEGA328P
• DDRx: Data Direction Register;
• PORTx: Output Register;
• PINx: Input Register
Ad esempio, PORTB3 contiene il bit in uscita per il pin 3 del Port B.
DDx
PORTx
PUD
I/O
Pull-up
Note
0
0
x
Input
No
Alta impedenza
0
1
0
Input
SI
0
1
1
Input
No
1
0
x
Output
No
1
1
x
Output
No
Alta Impedenza
Tabella 9.1: Pin di I/O.
Uscite analogiche
Questa famiglia di microcontrollori non dispone di uscite analogiche. Tuttavia, l’uscita di
alcuni pin digitali puo’ essere modulata, ovvero utilizzata per emettere un’onda rettangolare (fra 0 e 5 V ) con duty cycle variabile. Con un semplice integratore si puo’ quindi avere
una tensione quasi analogica.
Ingressi analogici
Il microcontrollore contiene un ADC a 10 bit (sample and hold, successive approximation).
(Fig 9.8). Il tempo di conversione e’compreso tra 13 e 260 µs.
E’ collegato tramite un multiplexer a 8 ingressi (solo 6 effettivamente utilizzabili, collegati ai
pin P C0÷P C5). L’ADC ha un’alimentazione separata (pin AVCC ) per migliore immunita’
ai disturbi. L’uscita digitale e’:
Output =
210 − 1
Vin
Vref
Ci sono 3 possibili opzioni per definire Vref :
• AVCC ;
• 1.1 V (Riferimento di tensione interno a bandgap);
• Aref (Tensione sul pin Aref ).
La gestione dell’ADC e’ delegata a 4 registri a 8 bit:
• ADMUX: Contiene le informazioni sulla scelta del canale d’ingresso e della Vref ;
• ADCSRA: bits di status e controlli;
• ADCL e ADCH: contengono i 10 bit del risultato.
336
CAPITOLO 9. MICROCONTROLLORI
Figura 9.8: ADC
Comparatore analogico
Il comparatore analogico compara i valori in ingresso sull’ingresso positivo AIN 0 e su
quello negativo AIN 1 (ovvero i pin P D6 e P D7); quando AIN 0 > AIN 1 l’uscita del
comparatore ACO va ad 1. Questo segnale puo’ essere usato per generare un Interrupt
(sul fronte di salita o di discesa), oppure come trigger per il Timer/Counter 1. E’ possibile
anche utilizzare, all’ingresso non invertente, la tensione di riferimento interna (1.1 V ).
E’ anche possibile selezionare uno qualunque dei pin analogici di ingresso (ADC0 . . . ADC7)
come ingresso negativo del comparatore (poiche’ utilizza lo stesso multiplexer dell’ADC,
quest’ultimo deve essere off).
9.3.3
Comunicazione seriale
Il microcontrollore supporta vari meccanismi di comunicazione con dispositivi esterni:
• USART (Universal Synchronous Asynchronous Receive Transmit): Pin P D0 e P D1;
• SPI (Serial Peripheral Interface): Pin P B2, P B3, P B4, P B5;
• I2C/TWI (Inter Integrated Circuit / Two Wire Interface: Pin P C4 e P C5.
Sono anzitutto necessari per consentire all’utilizzatore di caricare e gestire il programma
che deve essere eseguito sul microcontrollore, ma consentono anche di gestire dispositivi
esterni (integrati) ovvero di trasferire dati verso l’esterno.
9.3. IL MICROCONTROLLORE ATMEGA328P
337
Figura 9.9: Comparatore analogico
Il protocollo USART
Figura 9.10: a): Connessione sincrona tra due dispositivi; b) Trasmissione di un frame.
E’ il protocollo di comunicazione seriale piu’ diffuso.
Nella versione sincrona i due dispositivi sono connessi da 3 linee (Fig 9.10a). Il dispositivo
che trasmette (master) emette un clock sulla linea Ck e i dati sulla linea T x: in pacchetti,
denominati frame, composti da un bit iniziale,lo start bit (sempre 0 logico) , 8 bit di dati3 ,
1 bit di parita’ (opzionale), e uno o piu’ stop bits. In assenza di trasmissione la linea di
comunicazione e’ a livello logico “1”, l’unita’ ricevente (slave) controlla continuamente la
linea e quando sente un fronte di discesa comincia a leggere sincronizzandosi con il clock
ricevuto sulla linea Ck. Le due unita’ dispongono di shift register per immagazzinare i
dati da trasmettere e quelli da leggere.
Nella modalita’ asincrona ci sono solo due linee, non c’e’ una linea dedicata al clock. In
linea di principio quindi la velocita’ di trasmissione e ogni altro dettaglio (numero di bits
di dati, presenza di un bit di parita’) devono essere concordati in anticipo. Il dispositivo
ricevente deve quindi sincronizzare la fase del proprio clock utilizzando direttamente i bit
ricevuti, in particolare il fronte di discesa del bit di start. Le unita’ piu’ evolute sono
comunque in grado di rivelare automaticamente la velocita’ di trasmissione dei dati che
stanno ricevendo e adattare quindi la frequenza e la fase del proprio clock.
3
E’ anche prevista la possibilita’ di trasmettere solo 5 bit.
338
CAPITOLO 9. MICROCONTROLLORI
Il protocollo SPI
Figura 9.11: Diagramma di una comunicazione SPI
E’ un sistema di comunicazione tra un microcontrollore e altri circuiti integrati o tra piu’
microcontrollori.
La trasmissione avviene tra un dispositivo detto master e uno o piu’ slave. Il master controlla il bus, emette il segnale di clock, decide quando iniziare e terminare la comunicazione.
Richiede 4 linee di comunicazione:
• SCK: Serial Clock;
• MOSI: Master Output - Slave Input;
• MISO: Master Input - Slave Ouput;
• SS: Slave Select
Figura 9.12: SPI. a): Semplice configurazione con un master e uno slave; b) Un master e piu’ slave. c):
Temporizzazione dei segnali.
Master e slave si scambiano dati utilizzando due shift register. Come si puo’ comprendere
dal semplice schema di Fig 9.11, dopo 8 cicli di clock (emesso dal master) il contenuto dello
shift register dello slave e’ passato su quello del master e viceversa.
9.3. IL MICROCONTROLLORE ATMEGA328P
339
Il protocollo I2C
Figura 9.13: Tipico bus I 2 C.
E’ un sistema di comunicazione seriale bifilare utilizzato tra circuiti integrati, spesso denominato TWI (Two Wire Inter integrated circuits). Il master puo’ in questo caso comunicare
con uno o piu’ slaves, ciascuno dei quali identificato da un indirizzo (Fig 9.13); il master
puo’ scrivere sullo slave o richiedere dati a questo.
Sono necessarie due linee:
• SDA: Serial DAta Line, per i dati;
• SCL: Serial Clock Line, segnale di Clock (emesso dal master)
Ma oltre a questo sono necessari due resistori di pull-up e inoltre occorre che tutti i
dispositivi abbiano lo stesso Ground.
Figura 9.14: Protocollo di trasmissione
La Fig 9.14 mostra il protocollo di trasmissione. Il master inizia la trasmissione con un
bit di START seguito dall’indirizzo dello svale (7 bits) e dal tipo di trasferimento (read o
write). Lo slave deve riconoscere il proprio indirizzo e prepararsi. Segue poi la trasmissione
dei bytes di dati, per ciasuno dei quali deve essere, da parte del ricevente, emesso un
acknowedge. Al termine della trasmissione il master emette un bit di STOP.
340
9.3.4
CAPITOLO 9. MICROCONTROLLORI
Lock bits e fuse bits
Il microcontrollore dispone di alcuni bytes di memoria (tipo EEPROM) che possono essere
utilizzati dall’utente per variare alcune impostazioni di funzionamento.
I Lock bits (6) consentono di inibire ulteriori operazioni di scrittura sulla memoria flash
o sulla EEPROM. Possono essere utilizzati quando si vuole congelare permanentemente il
programma presente sul microcontrollore impedendo qualunque tipo di modifica4 .
Le altre locazioni di memoria di impostazione sono i cosidetti fuse bits, organizzati in 3
bytes, Extended Fuse Byte, High Fuse Byte e Low Fuse Byte (Fig 9.15). Con questi e’
possibile definire tutta un serie di parametri, come per esempio, la sorgente del clock da
utilizzare, presenza o assenza di una sezione di memoria dedicata al BootLoader, livelli di
tensione da utilizzare per il Brown Out Reset, ecc.
9.4
9.4.1
La scheda Arduino Uno
Introduzione
Arduino e’ un sistema di sviluppo di piccole dimensioni basato su Microcontrollori ATMEL,
adatto per sviluppo di prototipi e per scopi didattici. E’ integrato con un ambiente di
sviluppo software (open source) che permette un facile e rapido utilizzo del microcontrollore
con un PC.
Esistono varie versioni, qui descriveremo la scheda Arduino Uno, basata sul microcontrollore ATMEL ATMEGA328 (Fig 9.16).
La scheda contiene il microcontrollore e alcuni componenti ausiliari, tra cui un generatore
di clock a 16 M Hz. Si collega al computer tramite un cavo USB attraverso il quale riceve
anche l’alimentazione necessaria al suo funzionamento. Naturalmente puo’ essere utilizzata
e funzionare anche senza questa connessione, in tal caso occorre fornirgli direttamente
l’alimentazione (7 ÷ 12 V ).
La scheda rende poi disponibili tutti i pin di input/output del microcontrollore con appositi
connettori (la corrispondenza e’ riportata in Fig 9.17, e comprende anche un pulsante di
Reset, collegato al pin apposito del microcontrollore.
La scheda Arduino dialoga con un computer host (PC Windows, Mac, Linux) tramite la
porta USB. E’ necessario installare sull’host il programma Arduino (open source) scaricabile dal sito di Arduino (http://www.arduino.cc) . E’ un programma scritto in Java e
quindi in grado di funzionare su molte piattaforme. Tramite questa applicazione e’ possibile programmare il microcontrollore utilizzando il linguaggio C5 e metterlo in funzione.
Quando si avvia Arduino sul PC si apre una finestra (Fig 9.18) che offre un framework per
la scrittura del programma ( sketch nel gergo di Arduino). Il framework si presenta cosi’:
void setup() {
// put your setup code here, to run once:
}
4
Naturalmente esiste poi il modo per riabilitare la scrittura, attraverso una speciale procedura, che
implica la cancellazione completa di tutti i contenuti (Chip Erase).
5
Si presuppone che il lettore abbia una discreta conoscenza di questo linguaggio e delle sue regole.
341
9.4. LA SCHEDA ARDUINO UNO
Extended Fuse byte
Nome
Bit
Descrizione
Default
-
7
-
-
-
6
-
-
-
5
-
-
-
4
-
-
-
3
-
-
BODLEVEL2
2
Brown Out trigger level
1
BODLEVEL1
1
Brown Out trigger level
1
BODLEVEL0
0
Brown Out trigger level
1
Fuse high byte
Nome
Bit
Descrizione
Default
RSTDISBL
7
External Reset Disable
1
DWEN
6
debugWire Enable
1
SPIEN
5
Enable Serial Programming
0
WDTON
4
Watchdog timer on
1
EESAVE
3
EEPROM preserved trough chip erase
1
BOOTSZ 1
2
Select Boot Size
1
BOOTSZ2
1
Select Boot Size
1
BOOTRST
0
Select ResetVector
1
Fuse low byte
Nome
Bit
Descrizione
Default
CKDIV8
7
Divide clock by 8
0
CKOUT
6
Clock output
1
SUT1
5
Select start up time
1
SUT0
4
Select start up time
0
CKSEL3
3
Select Clock source
0
CKSEL2
2
Select Clock source
0
CKSEL1
1
Select Clock source
1
CKSEL0
0
Select Clock source
0
Figura 9.15: Fuse bits ( 0 significa attivo, 1 non attivo).
342
CAPITOLO 9. MICROCONTROLLORI
Figura 9.16: La scheda Arduino UNO.
void loop() {
// put your main code here, to run repeatedly:
}
ovvero come due funzioni C, setup() e loop().
Un semplice esempio e’ il modo migliore per spiegarne l’uso: un programma che provoca
l’accensione periodica di 2 LED. Colleghiamo i 2 LED a 2 uscite digitali, per esempio le
uscite 8 e 13. Scriviamo poi il programma:
const int LED1
const int LED2
void setup()
pinMode(LED1,
pinMode(LED2,
}
= 13; //
= 13; //
{
OUTPUT);
OUTPUT);
Assegna il pin 13
Assegna il pin 8
// Il pin e’ definito come output
// Il pin e’ definito come output
void loop() {
digitalWrite(LED1, HIGH); // Mette il pin LED1 a 5 V
digitalWrite(LED2, LOW); // Mette il pin LED2 a 0 V
delay(500);
// Aspetta 500 ms
digitalWrite(LED1, LOW); // Mette il pin LED1 a 0 V
digitalWrite(LED2, HIGH); // Mette il pin LED2 a 5 V
delay(500); // Aspetta 500 ms
9.4. LA SCHEDA ARDUINO UNO
343
Figura 9.17: Corrispondenza dei pin di Arduino Uno con quelli del microcontrollore.
}
Questo programma accende alternativamente i due LED con un periodo di 1 s. Premendo
sulla finestra il bottone Compila si avvia la compilazione per creare il codice eseguibile dal
microcontrollore; ma prima Arduino trasforma lo sketch creando un programma C, ovvero:
#include "Wprogram.h";
const int LED1 = 13; // Assegna il pin 13
const int LED2 = 13; // Assegna il pin 8
void setup();
void loop();
void setup() {
pinMode(LED1, OUTPUT); // Il pin e’ definito come output
pinMode(LED2, OUTPUT); // Il pin e’ definito come output
}
void loop() {
digitalWrite(LED1, HIGH); // Mette il pin LED1 a 5 V
digitalWrite(LED2, LOW); // Mette il pin LED2 a 0 V
delay(500);
// Aspetta 500 ms
digitalWrite(LED1, LOW); // Mette il pin LED1 a 0 V
digitalWrite(LED2, HIGH); // Mette il pin LED2 a 5 V
delay(500); // Aspetta 500 ms
}
int main() {
setup();
for(;;) { loop();}
344
CAPITOLO 9. MICROCONTROLLORI
Figura 9.18: La finestra di Arduino sul PC.
return 0;
}
Se la compilazione non ha dato errori si esegue il programma premendo il bottone Esegui.
Il codice viene trasferito sulla memoria flash del µC (attraverso la connessione USB) ed
eseguito.
Dal lato del µC il trasferimento e la scrittura in memoria sono eseguiti dal BootLoader
che, ricordiamo, occupa gli ultimi 512 bytes della memoria flash.
Il programma e’ memorizzato permanentemente e viene eseguito automaticamente ogni
volta che si alimenta la scheda (anche senza aprire Arduino sul PC), finche’ non e’ sostituito
da un altro programma.
Abbiamo detto che il PC comunica con Arduino tramite l’ingresso USB della scheda. Quest’ingresso e’ connesso all’interfaccia USART del microcontrollore, attraverso un integrato
che trasforma la logica TTL adattandola al protocollo USB (Fig 9.19). Questa via di
comunicazione puo’ essere usata anche dal programma stesso, attraverso la finestra di Monitor sul PC (apribile premendo l’apposito pulsante sulla finestra principale). La finestra
di monitor (Fig 9.20) e’ composta da una riga dove si puo’ scrivere e un quadro dove si
riceve l’output dal microcontrollore. Ecco un semplice esempio di programma:
int data = 0;
void setup() {
Serial.begin(9600); //Inizializzazione baud rate
}
9.4. LA SCHEDA ARDUINO UNO
345
Figura 9.19: La comunicazione USART.
Figura 9.20: Finestra di monitor.
void loop() {
if(Serial.available() > 0) // verifica se esiste un INPUT
{
data = Serial.parseInt(); // legge come numero intero
Serial.println(data);
// scrive sulla finestra di OUTPUT
delay(200);
}
}
Questo programma legge un numero intero dalla riga di input e lo riscrive sull’output. E’
importante ricordare che la comunicazione seriale usa pin I/O 0 e 1, quindi questi non
possono essere simultaneamente usati per altri scopi.
346
CAPITOLO 9. MICROCONTROLLORI
9.4.2
Precauzioni
La scheda (e il microcontrollore) non sono completamente protetti contro errori che possono
danneggiare irreparabilmente l’hardware. Ecco alcuni esempi di cose da non fare:
• Mettere a massa un pin di I/O (quando usato come output);
• Mettere in corto tra loro due pin di I/O;
• Applicare sovratensioni ai pin di I/O;
• Applicare tensioni negative ai pin di I/O;
• Applicare tensioni ai pin 5 V o 3.3 V ;
• Mettere a massa il pin Vin ;
• Applicare una tensione maggiore di 3.6 V sul pin 3.3
• Applicare una tensione negativa sul pin Vin ;
• Superare la corrente massima individuale dei pin di I/O (40 mA);
• Superare la corrente massima totale (200 mA);
9.4.3
Programmare Arduino
Tutte le informazioni necessarie per la programmazione di Arduino possono essere trovate
sul sito, a partire dalla pagina
http://arduino.cc/en/Reference/HomePage
In particolare sono elencate tutte le funzioni disponibili per operare sul microcontrollore.
Qui ne vedremo brevemente solo le piu’ importanti, per il resto si rimanda alle suddette
pagine web.
Input output digitale
Si utilizzano le funzioni:
• pinMode(pin,mode); (mode: IN P U T, OU T P U T, IN P U T _P U LLU P )
• digitalWrite(pin, value); (value: HIGH, LOW )
• digitalRead(pin);
Esempio:
9.4. LA SCHEDA ARDUINO UNO
347
int ledPin = 13;
int inPin = 7;
int val = 0;
void setup()
{
pinMode(ledPin, OUTPUT); // definisce questo pin come output
pinMode(inPin, INPUT);
// definisce questo pin come input
}
void loop()
{
val = digitalRead(inPin); // legge il pin inPin
digitalWrite(ledPin, val); // scrive il pin ledPin
}
Output analogico
I pin 3,5,6,9,10,11 possono, in uscita, essere utilizzati in modo “analogico” ovvero con la
modulazione del duty cycle (PWM). Il duty cycle e’ espresso da un numero intero che
varia tra 0 e 255. I pin 5,6 oscillano a circa 980 Hz; i pin 3,9,10,11 a 490 Hz. Si utilizza la
funzione:
• analogWrite(pin,duty);
Esempio:
int ledPin = 9;
// LED connected to digital pin 9
int val = 128;
// val: 0-255 (duty cycle)
void setup()
{
pinMode(ledPin, OUTPUT);
// sets the pin as output
}
void loop()
{
analogWrite(ledPin, val); //
}
Input analogico (ADC)
Si utilizzano le funzioni:
• analogReference(type);
• analogPin(pin).
La prima definisce quale tensione di riferimento si vuole utilizzare:
• DEFAULT: 5 V ;
348
CAPITOLO 9. MICROCONTROLLORI
• INTERNAL: 1.1 V ;
• EXTERNAL: la tensione applicata al pin AREF (deve essere tra 0 e 5 V ).
Esempio:
int analogPin = 3;
// analog pin 3
int val = 0;
// variable to store the value read
void setup()
{
analogReference(EXTERNAL); // La Vref e’ fornita esternamente
Serial.begin(9600);
// setup serial
}
void loop()
{
val = analogRead(analogPin);
// read the input pin
Serial.println(val);
// debug value
}
Interrupts
La scheda Arduino Uno puo’ gestire 2 fonti di interrupts
• Interrupt 0: Digital I/O pin 2;
• Interrupt 1: Digital I/O pin 3;
Quando arriva un interrupt viene eseguita una routine specificata. Alla fine il controllo
torna al programma precedentemente in esecuzione.
Si utilizzano le funzioni:
• attachInterrupt(interrupt, ISR, mode);
• detachInterrupt(interrupt);
• noInterrupts();
• interrupts().
La funzione attachInterrupt() definisce la fonte dell’interrupt da utilizzare (0 o 1), la
funzione che deve essere eseguita (ISR) e la modalita’ di trigger dell’interrupt stesso: :
• LOW: quando il pin e’ basso
• CHANGE: quando il pin cambia di valore logico;
• RISING: sul fronte di salita;
• FALLING: sul fronte di discesa.
9.4. LA SCHEDA ARDUINO UNO
349
La funzione detachInterrupt() spegne l’interrupt specificato. Le funzioni noInterrupts() e
interrupts() possono essere utilizzate per disabilitare momentaneamente (e poi riabilitare) tutti gli interrupts. Si utilizzano quando ci sono fasi del programma particolarmente
critiche che si desidera non vengano interrotte.
Esempio:
void setup()
{
Serial.begin(9600);
attachInterrupt(0, myprog, CHANGE); //interrupt se I/O 2 cambia
}
void loop()
{
....
....
}
void myprog()
{
// Interrupt Service Routine
Serial.println("E’ arrivato un interrupt");
}
Comunicazione seriale
Abbiamo gia’ visto come utilizzare la porta seriale (USART). Sul sito di Arduino ci sono
poi anche librerie specifiche per utilizzare il protocollo SPI o quello I 2 C.
350
CAPITOLO 9. MICROCONTROLLORI
Appendice A
Istruzioni dello Z80
Esadecimale
Simbolico
Descrizione
00
NOP
Nessuna operazione
01
LD BC,addr
Carica un indirizzo in BC
02
LD (BC), A
Carica A nella locazione (BC)
03
INC BC
Incrementa BC
04
INC B
Incrementa B
05
DEC B
Decrementa B
06
LD B, data
Carica un dato in B
07
RLC A
Ruota A a sinistra
08
EXAF, AF’
Scambia il contenuto di AF con A’F’
09
ADD HL, BC
Somma BC a HL e mette il risultato in HL
0A
LD A, (BC)
Carica in A il contenuto nella locazione (BC)
0B
DEC BC
Decrementa BC
0C
INC C
Incrementa C
0D
DEC C
Decrementa C
0E
LD C, dato
Carica i dati in C
0F
RRC A
Ruota A a destra
11
LD DE,addr
Carica un indirizzo in DE
12
LD (DE), A
Carica A nella locazione (DE)
13
INC DE
Incrementa DE
14
INC D
Incremanta D
15
DEC D
Decrementa D
16
LD D, dato
Carica i dati in D
17
RLA
Ruota A a sinistra attraverso il carry
18
JR n
Salto incondizionato relativo
19
ADD HL, DE
Somma DE a HL e mette il risultato in HL
1A
LD A, (DE)
Carica in A il contenuto della locazione (DE)
351
352
CAPITOLO 9. MICROCONTROLLORI
Esadecimale
Simbolico
Descizione
1B
DEC DE
Decrementa DE
1C
INC E
Incrementa E
1D
DEC E
Decrementa E
1E
LD E, dato
Carica i dati in E
1F
RRA
Ruota A a destra attraverso il carry
21
LD HL,addr
Carica un indirizzo in HL
22
LD (addr), HL
Carica la locazione (addr) con L e la locazione (addr + 1) con H
23
INC HL
Incrementa HL
24
INC H
Incrementa H
25
DEC H
Decrementa H
26
LD H, dato
Carica i dati in H
27
DAA
Usa l’accumulatore in decimale
28
JRZ n
Salto relativo condizionato al bit Z
29
ADD HL, HL
Somma HL a HL e mette il risultato in HL
2A
LD HL, (addr)
Carica L e H con i contenuti delle locazioni (addr) e (addr+1)
2B
DEC HL
Decrementa HL
2C
INC L
Incrementa L
2D
DEC L
Decrementa L
2E
LD L, dato
Carica il dato in L
2F
CPL
Complementa il contenuto dell’accumulatore
31
LD SP,addr
Carica un indirizzo nello stack pointer
32
LD (addr), A
Carica A nella locazione (addr)
33
INC SP
Incrementa lo stack pointer
34
INC (HL)
Incrementa il contenuto della locazione (HL)
35
DEC (HL)
Decrementa il contenuto della locazione (HL)
36
LD (HL), dato
Carica il dato nella locazione (HL)
37
SCF
Setta il flag di carry
38
JRC n
Salto relativo condizionato al bit C
39
ADD HL, SP
Somma lo stack pointer HL e mette il risultato in HL
3A
LD A, (addr)
Carica A con byte alla locazione (addr)
3B
DEC SP
Decrementa lo stack pointer
3C
INC A
Incrementa l’accumulatore
3D
DEC A
Decrementa l’accumulatore
3E
LD A, dato
Carica il dato in A
3F
CCF
Complementa il flag di carry
40
LD B,B
Carica B nel registro B
41
LD B,C
Carica C nel registro B
9.4. LA SCHEDA ARDUINO UNO
Esadecimale
Simbolico
Descizione
42
LD B,D
Carica D nel registro B
43
LD B,E
Carica E nel registro B
44
LD B,H
Carica H nel registro B
45
LD B,L
Carica L nel registro B
46
LD B, (HL)
Carica il contenuto della locazione (HL) nel registro B
47
LD B,A
Carica l’accumulatore nel registro B
48
LD C,B
Carica B nel registro C
49
LD C,C
Carica C nel registro C
4A
LD C,D
Carica D nel registro C
4B
LD C,E
Carica E nel registro C
4C
LD C,H
Carica H nel registro C
4D
LD C,L
Carica L nel registro C
4E
LD C,(HL)
Carica il contenuto della locazione (HL) nel registro C
4F
LD C,A
Carica l’accumulatore nel registro C
50
LD D,B
Carica B nel registro D
51
LD D,C
Carica C nel registro D
52
LD D,D
Carica D nel registro D
53
LD D,E
Carica E nel registro D
54
LD D,H
Carica H nel registro D
55
LD D,L
Carica L nel registro D
56
LD D,(HL)
Carica il contenuto della locazione (HL) nel registro D
57
LD D,A
Carica l’accumulatore nel registro D
58
LD E,B
Carica B nel registro E
59
LD E,C
Carica C nel registro E
5A
LD E,D
Carica D nel registro E
5B
LD E,E
Carica E nel registro E
5C
LD E,H
Carica H nel registro E
5D
LD E,L
Carica L nel registro E
5E
LD E,(HL)
Carica il contenuto della locazione (HL) nel registro E
5F
LD E, A
Carica l’accumulatore nel registro E
60
LD H,B
Carica B nel registro H
61
LD H,C
Carica C nel registro H
62
LD H,D
Carica D nel registro H
63
LD H,E
Carica E nel registro H
64
LD H,H
Carica H nel registro H
65
LD H,L
Carica L nel registro H
66
LD H,(HL)
Carica il contenuto della locazione (HL) nel registro H
353
354
CAPITOLO 9. MICROCONTROLLORI
Esadecimale
Simbolico
Descizione
67
LD H, A
Carica l’accumulatore nel registro H
68
LD L,B
Carica B nel registro L
69
LD L,C
Carica C nel registro L
6A
LD L,D
Carica D nel registro L
6B
LD L,E
Carica E nel registro L
6C
LD L,H
Carica H nel registro L
6D
LD L, L
Carica L nel registro L
6E
LD L, (HL)
Carica il contenuto della locazione (HL) nel reqistro L
6F
LD L, A
Carica l’accumulatore nel registro L
70
LD (HL), B
Carica B nella locazione (HL)
71
LD (HL), C
Carica C nella locazione (HL)
72
LD (HL), D
Carica D nella locazione (HL)
73
LD (HL), E
Carica E nella locazione (HL)
74
LD (HL), H
Carica H nella locazione (HL)
75
LD (HL), L
Carica L nella locazione (HL)
76
HALT
Alt
77
LD (HL), A
Carica l’accumulatore nella locazione (HL)
78
LD A, B
Carica B in A
79
LD A,C
Carica C in A
7A
LD A,D
Carica D in A
7B
LD A, E
Carica E in A
7C
LD A, H
Carica H in A
7D
LD A, L
Carica L in A
7E
LD A, (HL)
Carica il contenuto della locazione (HL) in A
7F
LD A, A
Carica il contenuto dell’accumulatore in A
80
ADD A, B
Somma B ad A e mette il risultato in A
81
ADD A, C
Somma C ed A e mette il risultato in A
82
ADD A, D
Somma D ed A e mette il risultato in A
83
ADD A, E
Somma E ad A e mette il risultato in A
84
ADD A, H
Somma H ad A e mette il risultato in A
85
ADD A, L
Somma L ad A e mette il risultato in A
86
ADD A, (HL)
Somma il contenuto della locazione (HL) ad A, risultato in A
87
ADD A, A
Somma A ad A e mette il risultato in A
88
ADC A, B
Somma B e il flag di carry ad A e mette il risultato in A
89
ADC A, C
Somma C e il flag di carry ad A e mette il risultato in A
8A
ADC A, D
Somma D e il flag di carry ad A e mette il risultato in A
8B
ADC A, E
Somma E e il flag di carry ad A e mette il risultato in A
9.4. LA SCHEDA ARDUINO UNO
355
Esadecimale
Simbolico
Descizione
8C
ADC A, H
Somma H e il flag di carry ad A e mette il risultato in A
8D
ADC A, L
Somma L e il flag di carry ad A e mette il risultato in A
8E
ADC A, (HL)
Somma il contenuto della loc.(HL) e carry ad A, risultato in A
8F
ADC A, A
Somma A e il flag di carry ed A e mette il risultato in A
90
SUB B
Sottrae B da A e mette il risultato in A
91
SUB C
Sottrae C da A e mette il risultato in A
92
SUB D
Sottrae D da A e mette il risultato in A
93
SUB E
Sottrae E da A e mette il risultato in A
94
SUB H
Sottrae H da A e mette il risultato in A
95
SUB L
Sottrae L da A e mette il risultato in A
96
SUB (HL)
Sottrae il contenuto della loc.(HL) e mette il risultato in A
97
SUB A
Cancella l’accumulatore
98
SBC A, B
Sottrae B e il carry da A e mette il risultato in A
99
SBC A, C
Sottrae C e il carry da A e mette il risultato in A
9A
SBC A, D
Sottrae D e il carry da A e mette il risultato in A
9B
SBC A, E
Sottrae E e il carry da A e mette il risultato in A
9C
SBC A, H
Sottrae H e il carry da A e mette il risultato in A
9D
SBC A, L
Sottrae L e il carry da A e mette il risultato in A
9E
SBC A, (HL)
Sottrae il contenuto della loc.(HL) e carry da A, risultato in A
9F
SBC A, A
Sottrae il carry da zero e mette il risultato in A
A0
AND B
AND di B con A e mette il risultato in A
A1
AND C
AND di C con A e mette il risultato in A
A2
AND D
AND di D con A e mette il risultato in A
A3
AND E
AND di E con A e mette il risultato in A
A4
AND H
AND di H con A e mette il risultato in A
A5
AND L
AND di L con A e mette il risultato in A
A6
AND (HL)
AND del contenuto della locazione (HL) con A, risultato in A
A7
AND A
AND dell’accumulatore con se stesso
A8
XOR B
OR esclusivo di B con A e mette il risultato in A
A9
XOR C
OR esclusivo di C con A e mette il risultato in A
AA
XOR D
OR esclusivo di 0 con A e mette il risultato in A
AB
XOR E
OR esclusivo di E con A e mette il risultato in A
AC
XOR H
OR esclusivo di H con A e mette il risultato in A
AD
XOR L
OR esclusivo di L con A e mette il risultato in A
AE
XOR (HL)
OR esclusivo del contenuto della locazione (HL) con A, il risultato in A
AF
XOR A
Cancella l’accumulatore e il flag di carry
B0
OR B
OR di B con A e mette il risultato in A
356
CAPITOLO 9. MICROCONTROLLORI
Esadecimale
Simbolico
Descizione
B1
OR C
OR di C con A e mette il risultato in A
B2
OR D
OR di D con A e mette il risultato in A
B3
OR E
OR di E con A e mette il risultato in A
B4
OR H
OR di H con A e mette il risultato in A
B5
OR L
OR di L con A e mette il risultato in A
B6
OR (HL)
OR del contenuto della locazione (HL) con A, il risultato in A
B7
OR A
OR di A con A e mette il risultato in A
B8
CP B
Confronta B con l’accumulatore e cambia solo i flags
B9
CP C
Confronta C con l’accumulatore e cambia solo i flags
BA
CP D
Confronta D con l’accumulatore e cambia solo i flags
BB
CP E
Confronta E con l’accumulatore e cambia solo i flags
BC
CP H
Confronta H con l’accumulatore e cambia solo i flags
BD
CP L
Confronta L con l’accumulatore e cambia solo i flags
BE
CP (HL)
Confronta il contenuto della loc.(HL) con A e cambia i flags
BF
CP A
Confronta A con l’accumulatore e cambia solo i flags
C0
RET NZ
Ritorna dalla subroutine se il risultato non è zero
C1
POP BC
Richiama il contenuto di BC dallo stack
C2
JP NZ, addr
Salta ad (addr) se il risultato non è zero
C3
JP addr
Salto incondizionato ad (addr)
C4
CALL NZ,addr
Chiama la subroutine ad (addr) se il risultato non è zero
C5
PUSH BC
Forza BC nello stack
C6
ADD A,dato
Somma dato ad A e mette il risultato in A
C7
RST OOH
Chiama la subrontine (OOOOH)
C8
RET Z
Ritorno alla subroutine se il risultato è zero
C9
RET
Ritorna incondizionatamente alla subroutine
CA
JP Z, addr
Salto ad (addr) se il risultato è zero
CB
***
Istruzione a piu’ bytes
CC
CALL Z, addr
Chiama la subroutine ad (addr) se il risultato è zero
CD
CALL addr
Chiama la subroutine incondizionatamente
CE
ADC A, dato
Somma il carry e dato ad A e mette il risultato in A
CF
RST 08H
Chiama la subroutine a (0008H)
D0
RET NC
Ritorna alla subroutine se il risultato non ha carry
D1
POP DE
Estrae dallo stack e mette in DE
D2
JP NC, addr
Salta ad addr se il risultato non ha carry
D3
OUT (n), A
Rinvia il contenuto dell’accumulatore alla porta (n)
D4
CALL NC,addr
Chiama la subroutine ad (addr) se il risultato non ha carry
D5
PUSH DE
Mette DE nello stack
9.4. LA SCHEDA ARDUINO UNO
Esadecimale
Simbolico
Descizione
D6
SUB dato
Sottrae dato da A e mette il risultato in A
D7
RST 10H
Salta alla locazione 0010H
D8
RET C
Ritorna alla subroutine se il risultato ha carry
D9
EXX
Scambia il contenuto di DE, BC, HL con DE’, BC’, HL’
DA
JP C,addr
Salta ad (addr) se il risultato ha carry
DB
IN A, (n)
Carica il dato in ingresso dalla porta (n) in A
DC
CALL C,addr
Chiama la subroutine ad (addr) se il risultato ha carry
DD
***
Istruzione a piu’ bytes
DE
SBC A, dato
Sottrae il carry e il dato da A e lo mette in A
DF
RST 18H
Salta alla locazione 18H
E0
RET PO
Ritorna dalla subroutine se il risultato ha parità dispari
E1
POP HL
Richiama il contenuto HL dallo stack
E2
JP PO, addr
Salta ad (addr) se il risultato ha parità dispari
E3
EX (SP), HL
Scambia i due bytes più alti dello stack con HL
E4
CALL PO,addr
Chiama la subroutine ad (addr) se il risultato ha parità dispari
E5
PUSH HL
Forza HL nello stack
E6
AND dato
AND tra dato e A e mette il risultato in A
E7
RST 20H
Salta alla locazione 20H
E8
RET PE
Ritorna dalla subroutine se il risultato ha parità pari
E9
JP (HL)
Salta all’indirizzo contenuto in HL
EA
JP PE,addr
Salta a (addr) se il risultato ha parità pari
EB
EX DE, HL
Scambia DE con HL
EC
CALL PE,addr
Chiama la subroutine ad (addr) se il risultato ha parità pari
ED
***
Istruzione a piu’ bytes
EE
XOR dato
OR esclusivo tra dato e A e mette il risultato in A
EF
RST 28H
Salta alla locazione 0028H
F0
RET P
Ritorna alla subroutine se il risultato è positivo
F1
POP AF
Richiama il contenuto di AF dallo stack
F2
JP P,addr
Salta ad (addr) se il risultato è positivo
F3
DI
Disabilita il flag di interrupt
F4
CALL P, addr
Chiama la subroutine ad (addr) se il risultato è positivo
F5
PUSH AF
Forza AF nello stack
F6
OR dato
OR tra dato e A e mette il risultato in A
F7
RST 30H
Salta alla locazione 0030H
F8
RET M
Ritorna alla subroutine se il risultato è negativo
F9
LD SP, HL
Carica lo stack pointer con HL
FA
JP M,addr
Salta ad (addr) se il risultato è negativo
357
358
CAPITOLO 9. MICROCONTROLLORI
Esadecimale
Simbolico
Descizione
FB
EI
Abilita il flag di interrupt
FC
CALL M,addr
Chiama la subroutine ad (addr) se il risultato è negativo
FD
***
Istruzione a piu’ bytes
FE
CP dato
Confronta il dato con A e cambia solo i flags
FF
RST 38H
Salta alla locazione 0038H
Bibliografia
[1] R.Cervellati - D. Malosti: "ELETTRONICA - Esercitazioni per il Laboratorio di
Fisica"
La Goliardica Editrice - Roma
[2] J.Millman: "Circuiti e sistemi microelettronici"
Boringhieri, 1985
[3] P.Horowitz - W.Hill: "The Art of Electronics"
Cambridge University Press, 1989
[4] T.C.Hayes - P.Horowitz: "Student Manual for the Art of Electronics"
Cambridge University Press, 1989
[5] A.S.Sedra - K.C.Smith: “Microelectronic circuits”
Oxford University Press, 2004
[6] R.Cervellati - P.Monacelli - S.Petrarca: "Lezioni per il corso di Microprocessori"
Dispense edite dal Dipartimento di Fisica - Universita’ "La Sapienza"- Roma
[7] I.Vannucci: “Introduzione alla Scheda Didattica Z80”
Nota interna 870 (9/10/1986) - Dipartimento di Fisica - Universita’ "La Sapienza"Roma
359