Guida alle elercitazioni di laboratorio per il corso di Elettronica delle

Esercitazione 4 :
CONVERTITORE D/A CON RETE A SCALA
Specifiche
Progettare un convertitore D/A a 6 bit utilizzando una rete a scala pilotata con deviatori
di tensione. L'uscita deve coprire il campo 0 - 10 V.
I deviatori sono costituiti dallo stadio di uscita di integrati logici CMOS tipo CD4029 e
CD4013.
Sono disponibili reti a scala con R = 13.5 kΩ , e amplificatori operazionali tipo LM741.
Usare tensioni di alimentazione di 5 V (per i circuiti logici) e di +/-15 V (per gli
amplificatori operazionali).
Progetto
I circuiti logici sono collegati in modo da formare un contatore a 6 bit (64 stati). Questo
permette di applicare i diversi valori di ingresso (digitale) facendo avanzare il contatore.
La struttura della rete a scala disponibile è nel
diagramma a lato (R = 13.5 kΩ).
Per valutare gli errori di non linearità occorre
determinare la resistenza equivalente delle
uscite (RON), e confrontarla con il valore di R
(rete a scala). La RON può essere diversa tra i
due integrati e per i due stati di uscita. Il
valore della RON può essere determinato dalle
specifiche di tensione/corrente delle uscite
riportate sui cataloghi. Realizzare il contatore
in modo da minimizzare l'errore in uscita
dovuto alla RON.
A
L
2R
B
2R
R
R
2R
C
2R
D
E
R
R
R
2R
2R
2R
F
G
I
2R
H
I
B
A C
D
E
F
G
H L
Misure
Nel predisporre il generatore che invia il clock al contatore, limitare il livello del
segnale tra 0 e 5 V (o comunque entro il campo tra massa e alimentazione dei circuiti
logici).
Verificare con l'oscilloscopio il corretto funzionamento del divisore (non occorre
collegare la rete a scala). Sincronizzare la base tempi con il segnale a frequenza più
bassa, e verificare frequenza e fase delle altre uscite.
Con la rete a scala collegata e il contatore comandato da un clock continuo verificare
che venga generata in uscita una rampa continua di 64 livelli. La rampa è osservabile
ETLlb04b - 3 ago. 00
1
anche scollegando l'uscita (in corrente) della rete a scala e osservando la tensione a
vuoto.
Facendo avanzare il contatore a passi singoli (a partire da una condizione nota),
misurare ciascuno dei 64 livelli. Dato che successivamente dovranno essere effettuate
delle differenze tra i valori misurati, usare gli strumenti in modo da ottenere la massima
risoluzione possibile, e non effettuare arrotondamenti.
Se il generatore usato per il clock non permette di inviare singoli impulsi, montare un
deviatore manuale con circuito antirimbalzo per generare impulsi singoli. Il circuito
antirimbalzo può essere realizzato con un FF SR comandato da un deviatore che attiva
alternativamente gli ingressi S e R.
Dalle misure effettuate ricavare i parametri della retta approssimante con il metodo dei
minimi quadrati; da questi calcolare gli errori di offset e di guadagno. Tracciare i
diagrammi della non-linearità assoluta e non-linearità differenziale, prendendo come
riferimento la retta approssimante. Indicare nei diagrammi l'errore di misura (attenzione:
in questo caso è confrontabile con il risultato della misura stessa).
Esperienza dimostrativa
Visualizzando la caratteristica completa (clock continuo), verificare l'effetto di errori
nella rete a scala, variando le resistenze dei diversi rami (inserire altre resistenze in serie
o in parallelo). Valutare la relazione tra errore introdotto nel ramo (variazione di
resistenza) ed errore in uscita, in funzione della posizione del ramo (MSB, ...LSB).
Sempre visualizzando la caratteristica completa e applicando un clock continuo,
aumentare la cadenza del clock fino a rendere visibili i glitch. Verificare che la
transizione da fondo scala a 0 ha pendenza limitata dallo slew rate dell’operazionale.
Aumentare il ritardo di commutazione di un ramo inserendo in parallelo alla
corrispondente uscita logica un condensatore, e verificare che vengono introdotti glitch
nel punto della caratteristica in cui commuta il bit corrispondente. Per lo MSB-1 e gli
altri bit di peso più basso il ritardo determina glitch sulla transizione 0-1 e 1-0;
verificare il verso del glitch nei due casi.
La figura indica (per un DAC a 4 bit)
la corrispondenza tra stati del
contatore e rampa di uscita. Sono
riconoscibili le posizioni
corrispondenti a metà del fondo scala
(commutazione del MSB), quarti, e
così via. Verificare che introducendo
anomalie (ritardi, errori nella rete di
peso) su un determinato bit, gli
effetti sono evidenti nel punto in cui
il bit cambia stato.
ETLlb04b - 3 ago. 00
2
Nonlinearità differenziale
Le foto di questa pagina evidenziano errori di nonlinearità diffrenziale ottenuti
modificando la corrente di un ramo della rete a scala con una resistenza inserita in
parallelo al ramo stesso. La rampa è sempre formata da 64 gradini.
La resistenza è in parallelo al ramo del MSB.
L’errore si manifesa come un incremento del
peso del MSB (incremento della corrente nel
ramo), che determina un “innalzamento” della
seconda metà della caratteristica
(corrispondente alla parte in cui MSB = 1).
Inserendo la resistenza in parallelo al ramo del
MSB-1 si modificano il secondo e il quarto
“quarto”, in cui MSB-1 = 1. L’errore
introdotto sul ramo è sempre lo stesso; dato
però che il peso del ramo è metà rispetto al
caso precedente, l’effetto in uscita è
dimezzato.
A metà del fondo scala la caratteristica diventa
non-monotona.
Spostando la resistenza sul ramo MSB-2 si
nota che l’errore interviene per “ottavi” del
fondo scala, con ampiezza ulteriormente
dimezzata.
L’entità dell’errore non è più tale da
determinare non-monotonicità.
Ritardando la commutazione del MSB1; compaiono glitch in corrisponenza
della metà e dei quarti di fondo scala.
La direzione del glitch dipende dal
verso della commutazione del bit:
ritardando il passaggio da 0 a 1 si
introduce uno stato temporaneo 000..
(glitch verso massa); ritardando il
passaggio da 1 a 0 lo stato transitorio è
111…, che determina un glitch verso il
fondo scala.
ETLlb04b - 3 ago. 00
3
Calcolo della retta approssimante
Dato l’insieme dei risultati di misura (xi , yi) si devono determinare i parametri m e n
della miglior retta approssimante y = mx + n. Deve essere minimo l’errore quadratico
complessivo E calcolato per gli N punti:
E=
N−1
∑ (y i − mx i − n) 2
i= 0
Il minimo di E si ricava annullando le derivate parziali rispetto a m e n:
δE
= m xi2 − xi yi + n xi = 0
δm
i
i
i
δE
= nN − yi + m xi = 0
δn
i
i
∑
∑
∑
∑
∑
Risolvendo per n, m, e dato che in questa esperienza N = 64:
63
∑ xiyi −
m=
i=0
1  63  63 
 ∑ x i  ∑ y i 
64  i=0  i=0 
1  63 
∑ x i −  ∑ x i 
64  i=0 
i=0
63
63
2
2
63
∑ yi − m ∑ xi
n = i= 0
i= 0
64
I parametri della retta ideale y = m0x + n0 sono:
n0 = 0
m0 = 10 V / 63 = 0.15873 V
•
unità
Errore di guadagno
E’ la variazione di pendenza tra la retta meglio approssimante e la retta ideale:
ε g = m − m0
•
Errore di offset
E’ lo scostamento dell’intercetta sull’asse y rispetto al valore nominale:
ε off = n − n 0
•
Valori analogici della retta approssimante
I valori analogici da utilizzare per calcolare gli errori di nonlinearità vanno ricavati
dalla relazione y = mx + n , dove m e n sono i parametri calcolati in precedenza.
ETLlb04b - 3 ago. 00
4
Trasformazione in convertitore A/D
E’ possibile trasformare il circuito in A/D ad inseguimento utilizzando l’operazionale
come comparatore.
Mantenendo solo la parte di rete di peso comandata dal CD4029, con il circuito indicato
in figura si realizza un convertitore A/D a inseguimento. L’operazionale viene usato
come comparatore tra la tensione Vu generata dalla rete a scala e la Vi di ingresso. Il
contatore viene incrementato o decrementato (attraverso il comando Up/Down), a
seconda che la tensione Vu ricostruita attraverso il D/A sia minore o maggiore della Vi.
CD 4029
CK
Q1
Q2
2R
2R
Q3
2R
R
U/D
Q4
2R
R
2R
R
Vu
R6
Vi
Per adattare i livelli presenti in uscita del comparatore ai livelli richiesti per il comando
up/down del contatore si usa la rete formata dalla resistenza R6 e diodo zener. Scegliere
uno zener adatto e determinare il valore opportuno per R6; in alternativa è possibile
usare un circuito di clamp a diodi.
Usare come comparatore un LM748 (molto più veloce in questa applicazione del 741).
Per verificare il funzionamento del convertitore applicare un segnale Vi di ampiezza
corrispondente al fondo scala e frequenza bassa, tale che lo slew rate massimo sia
inferiore allo slew rate ottenibile sulla Vu (pari ad Ad/Tck).
Nell’immagine
compaiono le tensioni Vi
e Vu: Vi è la tensione
sinusoidale, e Vu il
segnale ricostruito
attraverso il D/A, che si
modifica in modo da
inseguire continuamente
Vi. La differenza Vi – Vu
è l’errore di
quantizzazione.
ETLlb04b - 3 ago. 00
5
Espandendo l’asse tempi si
osservano i singoli passi
dell’inseguimento, a
gradini di ampiezza
costante in discesa o in
salita. Quando il segnale
varia entro 1 LSB (zona
indicata dall’ellisse gialla)
si ha una sequenza di passi
in salita e discesa alternati.
Aumentando la frequenza del
segnale cresce lo slew rate, e la
tensione Vu non riesce a inseguire
Vi determinando un errore di
sovraccarico. Il segnale ricostruito
diventa un’onda triangolare, con
pendenza corrispondente al
massimo slew rate, pari ad
Ad/Tck.
E’ possibile anche visualizzare lo stato del contatore collegando dei LED alle uscite; in
questo caso si introduce un errore dovuto al gruppo resistenza-LED collegato sulle
uscite. Per limitare questo errore occorre limitare la corrente che circola nei LED a
meno di 1 mA (resistenze da 4,7 KΩ in serie ai LED). Variando molto lentamente
l’ingresso, verificare il funzionamento e tracciare la transcaratteristica D(A).
ETLlb04b - 3 ago. 00
6