Sunteți pe pagina 1din 18

Convertoare Numeric-Analogice

Imagine: CNA artizanal de tip R-2R,


n scar (construcia vertical);
comutatoarele snt stivele de circuite
dispuse circular
Sursa: www.diyaudio.com

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)

S-ar putea să vă placă și