Convertoare Numeric-Analogice
Imagine: CNA artizanal de tip R-2R,
n scar (construcia vertical);
comutatoarele snt stivele de circuite
dispuse circular
Sursa: [Link]
Ce este un CNA (engl. DAC) ?
DAC = Digital-to-Analog Converter
Tensiunea la ieire reglabil digital
Aplicaii:
generarea semnalelor analogice la ieirea unei plci video (VGA...)
generarea semnalelor audio la ieirea oricrui echipament digital de
reproducere a sunetelor: telefon, MP3 player, ...
parte a conv. analog-numerice (CAN) folosite n instrumentaie
(de aceea le studiem la acest curs !)
Tensiunea de ieire a unui CNA
fCNA:NR Vout(N)=fCNA(N)=NVR
Vout(N) < VR N < 1 (N subunitar !)
de ce ? analogie poteniometric: 0 < < 1
CNA unipolar vs. bipolar
unipolar: Vout(N) are un singur semn (tipic +)
bipolar: Vout(N) are semnul + sau funcie de N
Relaia de conversie a CNA
N subunitar (0 N <1);
Q: Argumente fizice pentru aceasta ?
N pe n bii, subunitar, se poate scrie:
n
N = 0, b1b2 ...bn = bi 2 i
i =1
relaia de conversie:
consecin: 0 V(N) < VR
n
V ( N ) = NVR = VR bi 2 i
i =1
Q: Calculai V(Nmax ) i artai c este VR-VLSB
Mrimi specifice CNA
VR
numrul de bii n
VLSB
definiie !
VLSB= VR/2n
legtura cu rezoluia ?
VMSB
definiie !
VMSB=VR/2
VCS=VR- VLSB engl. FS (Full Scale)
Caracteristica (static) de conversie a CNA
V(N)
VR
V CS
OBS: ntotdeauna
V MSB VCS < VR
deci intervalul [0, VR)
V LSB
N justificare:
000
001
010
011
MSB 100
101
110
Nmax+1
Nmax 111
nu exist cod pe 3 bii
pentru Nmax+1 care ar
LSB
corespunde lui VR
0 1/8 4/8 7/8
Erori statice ale CNA
snt erori ale caracteristicii de conversie
snt aceleai cu erorile oricrei caracteristici de transfer liniare
Memento METc:
(1) ez = e0 = V(N) - V0(N) corectabil
(2) eFS: V = V(Nmax) V(0)
V0 =VCS 0
eFS = V - V0 corectabil
(3) eCS: combinaie a e0 i eFS
eCS = V(Nmax) VCS corectabil prin (1,2)
Q1: n ce condiii eCS= eFS ?
Q2: de ce se prefer eFS n locul eCS ?
Q3: desenai caracteristica static afectat de erori !
Erori statice ale CNA (contd)
Erorile de (ne)liniaritate: abaterile de la caracteristica liniar:
V(N) = aN+b
Q1: cine snt a,b ?
(4) eroarea de neliniaritate diferenial (eng. DNL) necorectabil
eNLD = max[ V(N)-V(N-1) - VLSB ]
N
(5) eroarea de neliniaritate integral (eng. INL) necorectabil
eNLI = max[ V(N)-V0(N) ]
N
Q2: cum s-ar putea, totui, corecta (4), (5) ?
A: cu laser !
Q3: desenai caracteristica afectat de erorile de neliniaritate
Erori statice ale CNA (contd)
Erorile de neliniaritate pot cauza nemonotonicitate
Ideal: DNL = 0;
acceptabil: DNL = +/- 0.5LSB; inacceptabil: DNL < -1LSB
pe grafic, DNL = -2LSB !!! (nemonoton de la -1LSB n jos)
Erori dinamice ale CNA
(6) timpul de conversie/stabilire
domeniul tc: ns ... s, n funcie de tehnologie
Aplicaie: calculai tc pentru CNA de pe o plac video de PC cu
refresh de 100Hz:
1600 1200 100Hz = 192MHz; tc < 1/192 MHz = 5ns
Q: de ce semnul < ?
Q: (memento METc) cum se msoar tc ?
Erori dinamice ale CNA (contd)
(7) supracreterile/scderile (engl. overshoot/undershoot)
datorate regimului tranzitoriu
Cauz: biii nu comut n acelai timp.
Ex: tranziia 0011 0100
n realitate: 0011 0111 0100
(bitul 2 comut mai rapid dect biii 3,4)
Q1: calculai supracreterea n tensiune pentru n=4b, VR=8V n (a)
cazul de mai sus, (b) cazul cel mai defavorabil. Reprezentai
grafic tensiunea de ieire.
Q2 (memento METc): n ce situaii se alege cazul cel mai
defavorabil, respectiv cazul cel mai favorabil ?
Coduri unipolare
N Fracie (nr. subunitar) BN BCD Gray
0 0 0000 0000 0000
1 1/16 0001 0001 0001
2 2/16 0010 0010 0011
3 3/16 0011 0011 0010
4 4/16 0100 0100 0110
5 5/16 0101 0101 0111
6 6/16 0110 0110 0101
7 7/16 0111 0111 0100
8 8/16 1000 1000 1100
9 9/16 1001 1001 1101
10 10/16 1010 - 1111
11 11/16 1011 - 1110
12 12/16 1100 - 1010
13 13/16 1101 - 1011
14 14/16 1110 - 1001
15 15/16 1111 - 1000
Codul Gray i conversia de la/la BN
Aplicaia 1: realizai un encoder pentru poziia unui ax rotitor,
cu rezoluia de 45.
Trecerea bn gr
(bi-1 + bi )(bn) = bi (gr) OBS: + este modulo 2
Trecerea gr bn
bi (bn) = bi-1 (bn) + bi (gr)
Aplicaia 2: desenai schemele convertoarelor bngr i
gr bn folosind pori XOR (care implementeaz operaia +
modulo 2)
Coduri bipolare; trecerea de la un cod la altul
sgeile indic negm negm
trecerea de la un idem idem MSB toi biii
cod la altul
N Fracie MS C1 C2 BD* BD
+3 +3/8 011 011 011 111 000
+2 +2/8 010 010 010 110 001
+1 +1/8 001 001 001 101 010
+0 +0 000 000 000 100 011
-0 -0 100 111 - - -
-1 -1/8 101 110 111 011 100
-2 -2/8 110 101 110 010 101
-3 -3/8 111 100 101 001 110
-4 -4/8 - - 100 000 111
negm C1+1 negm negm
ultimii bii MSB toi biii
Caracteristile codurilor bipolare
MS: uman; uor de afiat hard pe afiaje cu 7 segmente; zero
dublu propriu afiajelor; zero dubluimpropriu calculelor
(nu deranjeaz pe nimeni indicaia -0
sau +0 de pe un afiaj)
C1: uor pt. hard (pt. numere negative se folosesc ieirile
negate ale bistabilelor); zero dublu
C2: uor pt. soft (vezi aplicaii); asimetric, cci nu are zero
dublu
BD, BD*: uor pt. analogic: se translateaz BN cu VR/2 n jos
i astfel BN unipolar devine BD bipolar; uor de obinut hard
din C2
Codul BD
BN: -4 -3 -2 -1 0 1 2 3 4 5 6 7
BD: 0 1 2 3 4 5 6 7
Obs: BD este BN << 4 adic 8/2 adic 1/2 domeniu
n
BN: V ( N ) = VR bi 2 i
i =1
n
VR
BD: V (N ) = + VR bi 2 i
2 i =1
Codurile C1/C2: Extinderea semnului
numere pozitive:
se adaug 0-uri la stnga (vezi clasa a 2-a)
Exemplu: 3= 011;
extindem pe 8 bii: 3 = 00000011
numere negative:
se adaug 1-uri la stnga (nr. negative ncep cu 1)
Exemplu: -3=C2(3) = not(011)+1=101
extindem pe 8 bii: -3 = 11111101
Obs: similar pentru numere negative sub forma C1
Calcule efectuate n C1
scderea se face prin adunare: a-b= a+C1(b)
suma/diferena a 2 numere de n bii poate fi pe n+1 bii;
extindem de la nceput semnul operanzilor cu 1 bit.
Exemplu: -3-2 = C1(3)+C1(2):
C1(3) = not(011) = 100, C1(2)=not(010) = 101
prin extinderea semnului: -3= 1100, -2=1101
1100
+1101
=11001 (1= carry)
Important! carry trebuie adunat la rezultat!
1001 = -6 (aplic. C1: C1(1001)=0110=6; tim c e <0 cci MSB=1)
dar -3-2 -6 !
dar dac adunm carry: 1001+1=1010; C1(1010)=0101=5; -3-2=-5, ok
Calcule efectuate n C1 (contd)
DECI: adunarea i scderea n C1 se fac la fel pentru numere
pozitive i negative
DAR nmulirea n C1 se face diferit pentru numere negative!
DE ACEEA: C1 este dificil de folosit n calcule
Calcule efectuate n C2
scderea se face prin adunare: a-b= a+C2(b)
suma/diferena a 2 numere de n bii poate fi pe n+1 bii;
extindem de la nceput semnul cu 1 bit.
Exemplu: -3-2 = C2(3)+C2(2):
C2(3) = not(011)+1 = 101, C2(2)=not(010)+1 = 110
prin extinderea semnului: -3= 1101, -2=1110
1101
+1110
=11011 (1= carry)
Important! aici carry se ignor (folosim doar cei n+1 bii)!
rezultat corect: 1011 = -5
(aplic. C2: C2(1011)=0100+1=0101=5; tim c e <0 cci MSB=1)
-3-2=-5
Calcule efectuate n C2 (contd)
nmulirea n C2: a (-b) = a C2(b)
demo:
a C2(b) = a (2n-b) = a 2n + a (-b) = 0 ab = ab
Obs: codul se numete complement fa de 2 tocmai
pt c C2(x) = 2n-x
Reguli:
Extinderea semnului la nmulire se face la 2n bii
Ce depete 2n bii n rezultat se ignor !
Calcule efectuate n C2 (contd)
Exemplu: (-3) (-2)
C2(3) C2(2) = 101 110; extindem la 2n bii:
111101
111110
=111011000110
ignorm ce depete 6 bii; 000110 este pozitiv (MSB=0)
000110=6; (-3) (-2) = 6, rezultat corect
Variant: pentru nmulire uoar trecem n baza 10:
111101 = 61, 111110 = 62; 61 62 = 3782
apoi napoi n baza 2: 3782 = 111011000110, etc
Calcule efectuate n C2 (contd)
Exemplul 2: (-3) 2
C2(3) 2 = 101 010; extindem la 2n bii:
111101
000010
=1111010
ignorm ce depete 6 bii; 111010 este negativ (MSB=1)
C2(111010) = 000101+1=6 ; (-3) 2 = -6, rezultat corect
Variant: pentru nmulire uoar trecem n baza 10:
111101 = 61; 61 2 = 122
apoi napoi n baza 2: 122 = 1111010, etc
Scheme de CNA
CNA cu reea rezistiv
cu rezistene ponderate 2nR
cu rezistene R-2R
CNA fr reea rezistiv
1. CNA cu rezistene ponderate
(n stea)
VR
R(N)= ct
1
2nR Relaia de conversie?
bn
0 ..... Care e rolul RT ?
8R
b3
1
4R
b2
R(N)
0
OBS: Vg este n gol
1 2R (caz ideal)
b1
Vg(N)
0
RT=2nR
Ieirea din CNA cu rezistene ponderate
Comanda in tensiune
R(N)
V0(N)=Vg(N)
Vg(N) Cp
Comanda in curent
R(N) R
Vg(N) Cp
V0(N)=-Vg(N)
Q: Avantajul variantei n curent ?
Hint: Comparai efectul impedanei ce apare n paralel cu Cp n
cele 2 scheme !
2. CNA R-2R (n scar)
ieire n curent
R R R
IR R R R It
I1 I2
VR 2R 2R ..... 2R 2R RT=2R
b1 b2 bn-1 bn
Rr
0 1
0 1
[B]
V0(N)
Convertor I - U
n dreapta fiecrei sgei roii se vede rezistena constant R
I1 = IR/2, I2 = I1/2 = IR/4, ...
ieirea CNA e n curent; AO o transform n ieire n tensiune.
2. CAN R-2R (n scar)
ieire n tensiune
IR IR IR IR
b1 b2 bn-1 bn Schema echivalenta
b2=1, toti ceilalti = 0
0 1
0 1
R R R IR
R R R It V(2) I2 R
V(N)
2R 2R ..... 2R 2R RT=2R 2R R
(le include
pe toate)
Caracterizarea erorilor la CNA cu reea rezistiv
Eroarea corespunztoare unui numr este suma erorilor
biilor individuali
Se poate caracteriza complet un CNA msurnd doar
erorile numerele de forma: 000...1, ... 001...0, 010...0,
100...0 (numerele coresp. tranziiilor principale)
un CAN de n bii 2n trepte doar n msurtori
Exemplu pt. n = 3 bii:
e100 = + 0.5V, e010 = -0.5V, e001 = +1V
Reprezentare grafic: obs. repetarea unui pattern
3. CNA fr reea rezistiv
Exemplu de CNA cu sumator i
numrtor pe n bii
NUM
Q1: Desenai f.u. la ieirea Carry Out !
Q2: rolul FTJ ? f-3dB = ?
n
R
Cy out
V(N)
SUM
out C
n (nefolosit)
n
N
=/2n
Cy out
T
T=2nTCK
Aplicaie: CNA fr reea rezistiv, cu PWM
uP PWM out 1
PWM out 2
PWM out n
PWM out
T
T= T timer
Aplicaie tipic a CNA din P/C n automatizri: varierea
intensitii unor lumini, a turaiei unor motoare, ...
Ieirea PWM: element de acionare (tranzistor)
Canale PWM hardware sau software
Q: avantaje/dezavantaje fa de cele cu reea rezistiv?
CNA cu multiplicare
CNA clasic:
UOUT = NVR
CNA cu multiplicare:
UOUT = NUIN
Schem echivalent CNA (inclusiv cu
multiplicare)
IR [A] R R R It
I1 I2
2R 2R ..... 2R 2R 2R
VR
Convertor I - U
b1 b2 bn-1 bn
Rr
0 1
I 0 (N) [B]
I 0 (N)
V0(N)
Schema echivalenta
VR I
CNA
sau uIN (t) I
N
Aplicaie 1: Amplificator inversor cu
amplificarea comandat numeric
I _
CNA
+
uIN (t) Vout
I
Aplicaie 2: Ohmetru numeric
R
R
E
I _ Rx
CNA + [z]
U NUR
R I
N COMP
CK
SC BLC +
FC
VCOMP _
VCOMP = 1: N=N+1
VCOMP = 0: STOP
Ohmetru: artai c N = f(RX)