Eletrnica Digital II
Conversores Digital-Analgicos (DAC) e Analgico-Digitais (ADC)
Introduo
Muitas fontes de informao de variveis fsico-qumicas (sensores) que sero processadas
por sistemas digitais so de natureza analgica. O mesmo ocorre com uma vasta gama de
dispositivos que so atuados por sistemas digitais. Isto implica na necessidade de dispositivos
especiais, de natureza hbrida analgica e digital, cujas funes so a converso, ou
transformao, da amplitude analgica medida para um valor numrico, digital (conversores
analgico-digitais) ou vice-versa (conversores digital-analgicos), para fazer a interface entre
estes dois mundos.
Sinais analgicos so, em geral, contnuos no tempo e na sua amplitude. Especificamente
neste contexto, a continuidade no tempo significa que o sinal existe para qualquer instante,
dentro do intervalo de tempo considerado. A continuidade na amplitude significa que o sinal
pode assumir qualquer valor, dentro de sua faixa dinmica (a faixa dentro da qual o sinal
pode excursionar). impraticvel a aquisio (para posterior processamento e/ou
armazenamento) de sinais contnuos e variantes no tempo em todos os instantes de sua
evoluo. Necessitam, portanto, ser convertidos para digital (adquiridos) de tempo em tempo
(mas sem perda de informao), numa taxa que deve ser compatvel com a mxima freqncia
do sinal. A freqncia na qual o sinal adquirido (para converso para valor digital)
chamada freqncia de amostragem, fa. Isto acarreta a primeira discretizao introduzida
neste processo: a discretizao no tempo. O teorema de Nyquist nos diz que, desde que a
freqncia de amostragem fa seja superior ao dobro da mxima freqncia (componente
espectral) existente no sinal, no h perda de informao no processo de discretizao
temporal, e a seqncia discreta (sinal discretizado no tempo) pode ser transformada de volta,
fielmente, em um sinal contnuo no tempo.
Am plitude
(contnua)
Tem po
(contnuo)
Am plitude
(contnua)
Tem po
(dis creto)
Am plitude
(dis creta)
Tem po
(dis creto)
Da mesma forma que impraticvel a aquisio do sinal a todo instante de sua evoluo,
tambm o a converso para digital do sinal adquirido com uma resoluo infinita, uma vez
que isto implicaria em um nmero digital de largura da palavra infinita. Significa que, para
que possamos armazenar e processar o nmero convertido para digital com um nmero de bits
praticvel (digamos, 8, 12 ou 16 bits), deveremos abrir mo da fidelidade da converso,
aceitando um erro de (tambm chamado rudo de) discretizao (de amplitude). A cada
instante discreto de converso, o sinal aproximado (arredondado ou truncado) para o valor
permissvel mais prximo. Os valores permissveis (discretos) esto (geralmente) igualmente
espaados ao longo de toda a faixa dinmica de converso, e o nmero de valores discretos
dependente do nmero de bits (largura da palavra) do conversor usado. O conceito de
resoluo est ligado ao passo de discretizao P, dado por:
P=
F .D.
2n
Para uma mesma faixa dinmica de converso, quanto maior a largura da palavra n, menor
ser o passo P, e portanto melhor ser a resoluo (menor a incerteza sobre o correto valor).
(2**n)P
(2**n -1)P
2P
P
P
P/2
-P/2
IREF
VREF
I3
Z2
R
I2
Z1
R
I1
Z0
R
I0
I3
I2
I1
I0
2R
2R
2R
2R
b3
b1
b2
0 1
0 1
0 1
2R
b0
0 1
Rf
Iout
Terra virtual
Vout
Cada chave eletrnica controlada por um bit do nmero a ser convertido para um valor
analgico. O nvel lgico de cada bit que controla a respectiva chave est indicado ao lado da
posio correspondente.
Como uma posio das chaves est aterrada (correspondente ao nvel "0" do bit controlador) e
a outra est ligada a um n que um terra virtual, portanto zero Volts (devido realimentao
negativa do amplificador operacional na configurao inversor, provocando a entrada
inversora a se aproximar da tenso da entrada no-inversora, que est aterrada), o polo de
cada chave estar sempre a zero Volts, independente da posio da chave (e portanto do
nmero binrio). Sendo assim, a impedncia Z0 ser sempre R (2R // 2R), e percorrendo da
direita para a esquerda vemos que o mesmo ocorre com as outras impedncias:
Z0 = Z1 = Z2 = Z3 = R
Assim, a corrente IREF ser constante (independente do nmero digital) e igual a I REF =
VREF
.
R
Lembre-se que VREF deve ser uma tenso muito bem estabilizada.
Alm disso, a corrente em cada n do diagrama resistivo ladder (R-2R) v dois ramos de
igual impedncia (2R) e queda de tenso, dividindo-se portanto em duas correntes iguais.
Assim,
I REF = 2 I 3 = 4 I 2 = 8 I 1 = 16 I 0
O terra virtual somente recebe contribuies de correntes das chaves cujos bits controladores
esto em nvel "1". Ento,
V
I out = b3 I 3 + b2 I 2 + b1 I 1 + bo I 0 = REF (8 b3 + 4 b2 + 2 b1 + b0 )
16 R
Algebricamente, na equao acima, cada bit bi um coeficiente de valor um ou zero
(correspondendo aos nveis lgicos "1" e "0", respectivamente), contribuindo ou no
contribuindo com a respectiva corrente Ii para a corrente total do n terra virtual, Iout. Para um
nmero genrico n de largura da palavra temos:
V n 1 i
I out = REF
2 bi
n
2 R i =0
n 1
R f n 1 i
V
2
2 i bi
Vout = REF
b
P
i
n
R i =0
i =0
2
onde P o passo de discretizao (ou converso), que como sabemos a menor quantidade (o
quantum) que o conversor pode resolver.
VRef
start
clock
Q
SET
CLR
!EOC
-
+
+
count
contador
OE
Vi
BUS
Na figura acima, com alguma simplificao para facilidade, temos um integrador com
constante de tempo de integrao RC cuja entrada uma tenso de referncia VRef, uma
chave eletronicamente controlada para zerar o integrador (descarregar o capacitor), um
comparador analgico com sada compatvel TTL que compara a tenso desconhecida Vi que
se pretende converter para digital com a sada do integrador, e um bloco digital, funcionando
como uma mquina de estado, que faz o controle do conversor e a interface com o sistema
que se utiliza do conversor (cliente), como por exemplo um microprocessador.
Com o conversor inativo, a entrada start (ativa no nvel alto) est em "0", e a sada Q do flipflop tambm est zerada ("0"), garantindo o fechamento da chave eletronicamente controlada
(entrada de controle ativa no nvel baixo), mantendo o capacitor de integrao descarregado, e
inibindo o incremento do contador (count em "0"). A sada do integrador estar tambm em
zero volts, fazendo com que qualquer tenso a ser convertida Vi diferente de zero (positiva)
mantenha a sada do comparador em "1". Para iniciar uma converso, aplica-se nvel alto em
start. No prximo clock, Q estar em nvel alto, abrindo a chave, permitindo a integrao de
VRef a produz uma rampa crescente, ao mesmo tempo que libera a contagem no contador
(count = "1"). start pode ser levado novamente a "0", mas o flip-flop continua com Q = "1"
devido realimentao pela porta OU. Quando a rampa ultrapassar o valor em Vi, a sada do
comparador ir para "0", congelando a contagem e zerando novamente o flip-flop no prximo
clock (Q = "0"). O prprio sinal count serve tambm como indicativo de fim de converso,
ativo em nvel baixo (!EOC) para que o sistema cliente possa saber quando o barramento de
sada conter o valor vlido da converso. O sistema cliente esto, sua convenincia, aplica
nvel alto em OE para abrir o conjunto de buffers tri-state e ler o contedo do contador, que
proporcional ao valor analgico em Vi. Na figura acima, supe-se que haja um mecanismo de
zeramento do contador antes de cada nova converso.
Para um contador com largura da palavra n bits e um perodo de clock Tclock, o maior tempo
permitido pelo contador, at atingir sua contagem mxima,
Tmax = 2 n 1 Tclock
Temos, ento, como mxima tenso atingida pela rampa do integrador correspondendo a Tmax:
T
T
1 max
(VRe f ) dt = max VRe f
RC 0
RC
que dever ser inferior tenso de saturao do amplificador operacional para manter a
linearidade da rampa.
O passo de converso P ser a tenso correspondente a um nico perodo de clock Tclock:
Vmax =
Tclock
1 clock
(
)
P=
V
dt
=
VRe f
Re
f
RC 0
RC
e o nmero de clocks (que corresponder ao valor N da contagem) necessrios para atingir Vi
ser a parte inteira (truncamento) de Vi/P. Portanto, temos
RC
V
V
contagem (valor digital) N = int i = int
i
T
P
clock V Re f
O erro de converso (de discretizao) ser a parte fracionria (mdulo) da diviso Vi/P,
podendo portanto variar de 0 a P.
Como exemplo, considere um conversor de 8 bits (n = 8), com R = 10KOhms, C = 25,5nF,
Fclock = 1MHz, VRef = 5V, e que Vi possui faixa dinmica de 0 a 5V. Na converso de uma
tenso Vi = 3,7896V, o resultado seria int(193,2696D) = 193D = C1HEX. E uma vez de posse
deste valor digital, tudo o que poderemos dizer sobre Vi que seu valor situa-se entre os
valores analgicos correspondentes aos valores digitais C1HEX e C2HEX (193D e 194D), ou seja,
entre 3,7843V e 3,8039V (usando 4 casas decimais). Nas computaes envolvendo o valor
digital adquirido (por um programa em Assembly, C, Pascal, ou outra linguagem), quando o
sistema um computador possuindo recursos que permitam clculos com nmeros reais
como, por exemplo, um PC, normalmente convertemos o nmero inteiro obtido (193D) em
uma varivel real representativa da tenso analgica (3,7843). Opcionalmente, para um
conversor como este que trunca em vez de arredondar, poderemos adicionar metade do passo
P para obter (via programa) um valor correspondente ao arredondamento. No exemplo acima,
obteramos 3,7941. Quando o sistema escasso em recursos, como um pequeno
microprocessador ou microcontrolador em uma aplicao dedicada, normalmente trabalha-se
diretamente com o valor inteiro (193D = C1HEX).
Este tipo de conversor sofre da dependncia do valor convertido contra variaes de R, de C,
da freqncia do clock, e da tenso de referncia, como mostra a equao acima. O prximo
conversor (dupla-rampa) eliminar algumas destas dependncias.
C
-1
Vi
VRe
I/D
Conv
ADZero
Controlador
Deintegrao (VRef)
Integrao (Vin)
Vm
Contagem Fixa
Contagem
Incio Converso
vint (t1 ) =
1
RC
t1
t0
v(t ) dt + vint (t 0 )
t0 = 0;
vint(t0) = 0;
t1 = TI = (2n)Tclock;
v int (TI ) =
TI
Vi
RC
2n
V
N = int
Vi = int i
VRe
P
f
Observe que Vi no pode ser superior a VRef sob pena de a deintegrao no conseguir cruzar
o zero antes do contador atingir seu valor mximo, em cuja situao ele "rolaria" para zero
continuando contando at o evento de cruzamento.
Uma caracterstica muito vantajosa do conversor por dupla-rampa a seguinte: suponha que
durante uma converso (que dura, tipicamente para este tipo, ordem de milisegundos) o sinal
Vi no seja retido constante, sendo deixado variar no seu curso. Durante o perodo de
integrao, o valor vint(TI) atingido pelo integrador no final deste perodo ser o mesmo que se
tivssemos utilizado o valor mdio da varivel a ser convertida vi(t) neste mesmo perodo.
Significa que, alm de obtermos um valor representativo de vi(t) neste perodo ao invs de um
valor digital errneo, rudos aditivos de rpida flutuao sero eliminados.
Vi
comp
Registrador de
aproximao sucessiva
clock
OE
BUS
VRef
start
Conversor D/A
de n bits
EOC
10
+
+
OE
Circuito combinacional
conversor de codificao
esparsa para codificao
densa (compacta)
BUS
R
Ri
O divisor resistivo faz a gerao dos valores (analgicos) discretos relativos a VRef. Os
comparadores informam ao circuito combinacional em que posio entre dois valores
discretos consecutivos (mltiplos de um passo P) encontra-se Vi. Este, por sua vez, faz a
transformao desta informao em uma codificao densa (compacta), que a combinao
de n bits que utilizamos. Como exemplo, se tivermos Ri = Rf = R e se Vi estiver entre o ksimo e (k+1)-simo passo de discretizao, teremos como sadas dos comparadores, do
superior para o inferior:
000000...001111..11
com 2n-1 bits, onde os k menos significativos so "1" e os demais "0", porque Vi superior a
todas as tomadas do divisor abaixo da posio k. O que o circuito combinacional tem que
fazer somar todos os 1's de sua entrada de 2n-1 bits, para obter a combinao normal
(compacta), o que se consegue usando somente n bits como sadas do bloco combinacional.
Com Ri = Rf = R, obtemos uma discretizao com truncamento. Com estes valores de Ri e Rf,
a primeira tomada de comparao (1,0)*P, a segunda (2,0)*P, e assim por diante, at a
ltima que (2n-1)*P, onde P o passo de discretizao, igual a VRef/2n.
Para termos arredondamento, basta que Ri = R/2 e Rf = 3R/2. Com estes valores de Ri e Rf, a
primeira tomada de comparao 0,5P, a segunda 1,5P, e assim por diante, at a ltima que
(2n-1,5)*P.
Este conversor praticamente dispensa sinais de interface como start e EOC (fim de
converso), uma vez que sua operao virtualmente instantnea, limitada somente pelos
atrasos de propagao nos comparadores e no bloco combinacional. Dado seu relativamente
alto custo de implementao e consumo de energia, atualmente encontramos dispositivos
comerciais deste conversor limitados ao redor dos 8 bits. Sua grande rea de aplicao na
digitalizao de sinais de vdeo.