Microcontroladores:
Convertidores ADC y DAC
2
Objetivo
Exponer los esquemas básicos de la conversión analógica-digital y digital-analógica.
Describir las características de operación de los esquemas más utilizados para la conversión de señales continuas en muestras discretizadas y viceversa.
El alumno deberá comprender los esquemas básicos de funcionamiento así como las principales características de dichos sistemas para obtener un óptimo aprovechamiento de estos.
Al finalizar esta unidad el alumno deberá ser capaz de comprender, proponer, escoger o implementar sistemas de adquisición de datos con base en los requerimientos de la tarea a desempeñar.
3
Introducción
Fenómenos Físicos
Medición Analógica Variables Físicas
Frio, Calor, lluvia, Movimiento, Altura, Sonido, Aceleración, Inercia, Iluminación, Trabajo, Composición …
Temperatura, Humedad, Velocidad, Desplazamiento, Presión, Frecuencia, Fuerza, Luminosidad, Tensión, Corriente, Acidez …
Transductores (Físico Eléctrico), Muestreo (Variables Fijo),
Normalización (Arbitrario Normalizado (4-20mA, 1-5V)),..
4
Introducción
Conceptos Básicos
Variable de entrada
● Magnitud física a medir Intervalo de operación
● Físico : Valores posibles que la variable de entrada puede asumir
● Analógico: Escala de valores que puede alcanzar el convertidor Valor de conversión Cero (0):
● Mínimo valor medible por el convertidor analógico.
Valor de conversión tope:
● Máximo valor reportable por el convertidor.
Bit Mas Significativo (MSB) :
● Bit de mayor “peso” (Binario) Bit Menos Significativo (LSB) :
● Bit de menor “peso” (Binario)
5
Introducción
Analog
signal ADC DSP DAC Reconstruction
filter Sample-and-
hold circuit Anti-aliasing
filter
Enhanced analog
signal 10110
01101 00011 11100
10110 01101 00011 11100
Proceso de conversión AD y DA
Adquisición de la señal de entrada
● Filtrado analógico: Filtro Pasa Bajos
● Muestreo
● Cuantización
Procesamiento digital (CPU) Generación de la salida
● Re-conversión a señal analógica
● Filtrado analógico: Filtro Pasa Bajos
Proceso de Muestreo
Sampling circuit
Sampled version of input signal Analog
input signal
Sampling pulses
Antes del muestreo, la
entrada analógica se debe filtrar con un filtro anti-
aliasing (pasa bajas).
Dicho filtro elimina las
frecuencias que superan el límite determinado por la velocidad de muestreo del sistema.
Filtrado (pasa bajos)
Una señal analógica de banda limitada que ha sido muestreada puede ser perfectamente reconstruida a partir de una secuencia infinita de muestras si la frecuencia de muestreo fS es mayor que 2 veces que fMAX, siendo fMAX la frecuencia más alta de la señal original.
– Si la señal análoga contiene componentes de frecuencia mayores a (1/2)fs, entonces se producirán errores de muestreo «aliasing error».
– Aliasing es cuando una señal parece tener una frecuencia diferente a la de la señal original.
Postulado de Valvano : si fMAX es la componente de frecuencia más alta de la señal análogica, entonces su frecuencia de
muestreo deberá ser al menos 10 veces mayor a fmax para que la señal reconstruida se asemeje a la señal original.
Proceso de Muestreo: Nyquist
Señal de 200Hz muestreada a 2000Hz
Proceso de Muestreo
Proceso de Muestreo
Señal de 1000Hz muestreada a 2000Hz
This is aliasing
Proceso de Muestreo
Señal de 2200Hz muestreada a 2000Hz
Filtro pasa bajas «anti-aliasing»
Para entender la necesidad de un filtro anti-aliasing, se necesita recordar el teorema de muestreo que establece que: Con la
finalidad de recuperar una señal, la frecuencia de muestreo debe ser al menos 2 veces mayor que la frecuencia más alta de la señal de entrada
Si la señal se muestrea menos que esto, el proceso de
recuperación producirá frecuencias que serán diferentes a la
señal original. Estas señales de "distorsionadas" se llaman alias.
Donde fmuestreo = frecuencia con que se toman las muestras
fa(max) = máxima frecuencia (armónica) de la señal
f
muestreo> 2f
a(max)El filtro pasa bajas debe ser calculado para dejar pasar las señales de entrada que cumplan con los requisitos del teorema de
muestreo.
Frecuencia de corte (fc) debe ser menor de la mitad que la del muestreo fmuestreo
Unfiltered analog frequency spectrum
Overlap causes aliasing error
fc Espectro de la señal analógica filtrada
fsample f
Espectro de la
frecuencia de muestreo
Filtro pasa bajas «anti-aliasing»
Filtro pasa bajas «anti-aliasing»
Convertidor Analógico Digital
Los convertidores se componen de 3 etapas fundamentales:
● Circuito de muestreo sample-and-hold.
● Circuito de cuantización Quantizier.
● Circuito de codificación Encoder.
Circuito de muestreo «Sample-And-Hold»
Después del filtro pasa bajas, en la primer estación y
antes del circuito de converción, se coloca el circuito de muestreo; conocido en inglés como: sample-and-hold.
Samples held for one clock pulse
. . . .
ADC . . . .
. . . . .
0 1 0 0 0 1 0 1 1 1 0 0 1 0 1 0
Muchos de los actuales convertidores analógico-digitales incluyen dicha etapa de muestreo (sample-and-hold.) en su circuitería.
La señal física (existente en el espacio en tiempo continuo) es muestreada por un instante al cerrarse un interruptor y permitir que se cargue un capacitor.
Este valor será mantenido por el capacitor cuando el interruptor se abra. Finalmente, el valor almacenado se transfiere a la salida del circuito mediante un
reforzador o seguidor de señal.
S/H
Circuito de muestreo «Sample-And-Hold»
●
El cuantificador es el bloque al que le corresponde convertir la tensión analógica de entrada al formato de valores discretos, mismos que varían en
incrementos fijos dentro su intervalo de operación.
●
La lectura resultante es el equivalente en escalones cuánticos de la tensión Ve (voltaje de entrada).
●
El escalón cuántico « a » corresponde al
incremento o diferencia entre valores discretos adyacentes y a la vez al valor del bit menos
significativo
a= Ve
máx−Ve
min2
n= ΔVe = 1 LSB
Cuantificación
1) La señal discreta en tiempo pero continua en amplitud se alimenta en el cuantificador
2) Una función de
transferencia compara dicha señal de entrada contra N niveles de decisión.
3) A cada valor de entrada se le asigna el valor
discreto fijo más cercano y así se produce el valor de salida.
La amplitud de los niveles suele ser constante, pero en algunos casos se emplean transformaciones especiales (e.g. escalas logarítmicas)
Para cuantificar ...
El codificador proporciona la traducción digital (generalmente en formato hexadecimal)
correspondiente a la tensión analógica cuantificada Vc.
La función del cuantificador y del codificador en conjunto es lo que se conoce como convertidor analógico–digital.
Codificador
Tipos de convertidores A/D
Convertidores A/D
– Simultaneo o tipo Flash (*) – Secuencial (*)
– Delta-Sigma
– Integrador o de doble pendiente (Integrator / Dual Slope ) – De aproximaciones sucesivas (*)
Tipos de convertidores A/D
Convertidores A/D
– Simultaneo o tipo Flash (*) – Secuencial
– Delta-Sigma (*)
– Integrador o de doble pendiente (Integrator / Dual Slope ) – De aproximaciones sucesivas (*)
Convertidor A/Digital simultaneo (flash)
●
Consta de una serie de comparadores, cada uno
hace una comparación de la señal de entrada con un voltaje de referencia único.
●
A medida que la tensión de entrada analógica excede la tensión de referencia en cada comparador, las
salidas del comparador se saturan secuencialmente.
●
Las salidas del comparador se conectan a las
entradas de un circuito codificador de prioridad, que
produce una salida binaria basado en la entrada activa de orden más alto, haciendo caso omiso de todas las demás entradas activas.
Convertidor A/Digital simultaneo (flash)
El ADC tipo flash utiliza una serie de comparadores de alta velocidad junto al
codificador que proporciona las combinaciones binarias únicas para cada estado.
El diseño de este circuito es bastante sencillo. Consta de 2n-1 amplificadores
operacionales funcionando
como comparadores, donde n es el número de bits de
salida.
Convertidor AD simultaneo tipo flash
R
R
R
R
R
R
R
R
Op-amp comparators
Priority encoder
D0 D1 D2
Parallel binary output
Enable pulses Input from
sample- and-hold
+VREF
– +
– +
– +
– +
– +
– +
– +
7 6 5 4 3 2 1 0 EN
4 2 1
EJEMPLO:
Si el intervalo de tensión analógica de entrada, va de 0 a 3 Vdc y Si el valor de n se escoge igual a 3, el escalón cuántico tiene el valor de:
a=Vemáx−Ve,min
2n =3 V −0 V
23 =0,375 V
Convertidor Análogo-Digital simultaneo
R
R
R
R
R
R
R
R
Op-amp comparators
Priority encoder
D0 D1 D2
Parallel binary output
Enable pulses Input from
sample- and-hold
+VREF
– +
– +
– +
– +
– +
– +
– +
7 6 5 4 3 2 1 0 EN
4 2 1 R
R
R
R
R
R
R
R
Op-amp comparators
Priority encoder
D0 D1 D2
Parallel binary output
Enable pulses Input from
sample- and-hold
+VREF
– +
– +
– +
– +
– +
– +
– +
7 6 5 4 3 2 1 0 EN
4 2 1
Vref1 = 0,375 V para 0,375 V ≥ Ve > 0 V
Vref2 = 0,750 V para 0,750 V ≥ Ve > 0,375 V Vref3 = 1,125 V para 1,125 V ≥ Ve > 0,750 V Vref4 = 1,500 V para 1,500 V ≥ Ve > 1,125 V Vref5 = 1,875 V para 1,875 V ≥ Ve > 1,500 V Vref6 = 2,250 V para 2,250 V ≥ Ve > 1,875 V Vref7 = 2,625 V para 2,625 V ≥ Ve > 2,250 V
En general:
Vref
máx= Vref(2
n-1) = Ve
máx– 1 LSB
Convertidor Análogo-Digital simultaneo
Convertidor A/Digital simultaneo (flash)
Tabla de funcionamiento del convertidor A/D simultaneo
CONDICIONES DE COMPARACION
LINEAS DE CUANTIFICACION SALIDAS
C7 C6 C5 C4 C3 C2 C1 S2 S1 S0
0,375 V ≥ Ve > 0 V 0 0 0 0 0 0 0 0 0 0
0,750 V ≥ Ve > 0,375 V 0 0 0 0 0 0 1 0 0 1
1,125 V ≥ Ve > 0,750 V 0 0 0 0 0 1 1 0 1 0
1,500 V ≥ Ve > 1,125 V 0 0 0 0 1 1 1 0 1 1
1,875 V ≥ Ve > 1,500 V 0 0 0 1 1 1 1 1 0 0
2,250 V ≥ Ve > 1,875 V 0 0 1 1 1 1 1 1 0 1
2,625 V ≥ Ve > 2,250 V 0 1 1 1 1 1 1 1 1 0
3,000 V ≥ Ve > 2,625 V 1 1 1 1 1 1 1 1 1 1
Ventajas
Operación simple y sencilla de implementar
El más rápido.
• Limitado sólo por los
retardos de propagación de los comparadores y compuertas lógicas.
Desventajas
Baja resolución
Altos costos para aquellos de alta resolución
Para cada bit adicional el número de comparadores se dobla
(i.e. para 8 bits, se requieren 255 comparadores)Convertidor A/Digital simultaneo (flash)
Convertidor de aproximaciones
sucesivas (SAR)
●
Este convertidor es uno más complejo, el cual incluye un registro de aproximación sucesiva « Successive
Approximation Register (SAR)»
●
Con este registro se aproxima al valor deseado modificando, de uno por uno, cada bit del DAC empezando por el MSB
●
El registro verifica la salida de los comparadores para ver si la cuenta binaria es mayor o menor que la entrada de señal analógica y ajusta los bits en consecuencia
Convertidor de aproximaciones
sucesivas (SAR)
VCSH (t)=VCSH(t0)+[V IN−V CSH(t0)]×(1−e−t/ τ) τ = RS 1×CSH
Convertidor de aproximaciones sucesivas (SAR)
Proceso de Adquisición
1) El sistema se reinicia y el bit más significativo del registro se establece igual a 1
2) El convertidor D / A convierte los dígitos binarios, generando el voltaje Vr que va al comparador
3) En relación al resultado del comparador:
● Si Ve>Vr este dígito se deja 1
● Si Ve<Vr el dígito cambia a cero
4) Continua con el siguiente bit más significativo haciéndolo igual a 1
5) El proceso continúa con el paso 2 hasta comprobar el último bit
Convertidor de aproximaciones
sucesivas (SAR)
La ventaja de este convertidor es la velocidad de conversión.
Para un sistema de N bits ¡Sólo requiere n ciclos de reloj!
Convertidor de aproximaciones
sucesivas (SAR)
1
Convertidor de aproximaciones
sucesivas (SAR)
Salida:
Convertidor de aproximaciones
sucesivas (SAR)
ADC con 10 bits de
resolución (equivalente a 0.0009765625 V = valor del LSB)
Vin= 0.6 volts Vref=1volts
Encuentre el valor digital de Vin
Ejemplo:
Convertidor de aproximaciones
sucesivas (SAR)
MSB (bit 9)
– Se divide Vref entre 2
– Compare Vref /2 con el voltaje Vin
– Si Vin es mayor que Vref /2 , encienda el MSB con (1) – Si Vin es menor que Vref /2 , asigne cero al MSB (0) – Vin =0.6V y V=0.5
– Ya que Vin>V, MSB = 1 (on)
Convertidor de aproximaciones
sucesivas (SAR)
Siguiente paso: calcular MSB-1 (bit 8)
– Compare Vin=0.6 V con V=Vref/2 + Vref/4= 0.5+0.25 =0.75V – Ya que 0.6<0.75, a MSB-1 se le asigna un valor de cero
Calcular para MSB-2 (bit 7)
– Ahora compara el valor de Vin contra el voltaje Vref/8 y los anteriores que hayan sido = 1
– Compare Vin contra (0.5+Vref/8)=0.625 – Y que 0.6<0.625 entonces MSB-2 = 0
Convertidor de aproximaciones
sucesivas (SAR)
Calcular para MSB-3 (bit 6)
– Añadiendo el valor Vref/16 a la suma de aquellos bits cuyo resultado de la comparación haya sido 1
– Compare Vin con V= 0.5 + Vref/16= 0.5625 – Debido a que 0.6>0.5625, MSB-3=1 (on)
Convertidor de aproximaciones
sucesivas (SAR)
El proceso continua por todos los bits restantes.
Convertidor de aproximaciones
sucesivas (SAR)
Ejercicio:
– Un convertidor A/D de aproximaciones sucesivas de 4 bits tiene una entrada con intervalo de 0 a 15 V. Muestre cómo el convertidor A/D podría convertir convertir los voltajes
analógicos 10.9V 3.1V y en sus equivalentes digitales
Tiempo de conversión total = n ciclos, donde n = el número de bits en la palabra de código
Convertidor de aproximaciones
sucesivas (SAR)
Ventajas
●
Confiable y capaz de medias velocidades (~4Msps)
●
Exactitud media (8-18 bits) en comparación con otros tipos de ADC
●
Buen compromiso entre costo y desempeño
●
Fácil implementación de salida de datos en formato serial (1 bit a la vez)
Desventajas
●
Lento para conversiones de alta resolución
●
Velocidad limitada a menos de 5Msps
Convertidor de aproximaciones
sucesivas (SAR)
Convertidores A/D Sigma Delta
● En esta conversión un modulador sigma-delta produce un tren de pulsos cuya proporción entre pulsos positivos
(unos) y pulsos negativos (ceros) corresponde al valor analógico de la señal de entrada.
● Una mayor cantidad de 1's lógicos (azul) corresponden a una señal de entrada de mayor amplitud, por el contrario, si predominan los 0's (blanco) el valor de la señal será menor.
Convertidores A/D Sigma Delta
● La trama de unos o ceros es entonces alimentada a un filtro pasabajos, mismo que elimina las componentes de alta frecuencia, dejando como resultado una suave señal que es alimentada a un decimador.
● El Decimador cuantizará la señal y entregará a la salida una señal binaria codificada, correspondiente al valor de la señal analógica de entrada.
Convertidores A/D Sigma Delta
Convertidores A/D Sigma Delta
● El modulador contiene un restador a la entrada, el cual calculará la diferencia entre la señal analógica de entrada y la producida por un convertidor DAC interno.
● La diferencia (Δ) es alimentada a un integrador, el cual va acumulado un valor analógico ciclo tras ciclo, lo que
resulta en valor positivo o negativo a su salida.
1-bit quantizer Integrator
+ Σ Analog
input signal
DAC –
Quantized output is a single bit data stream.
∆ Summing
point
Convertidores A/D Sigma Delta
MODULADOR SIGMA-DELTA
● Un cuantizador de 1 bit convierte la señal positiva o negativa del integrador en una trama de 1's o 0's, que alimentan a su vez al convertidor DAC interno.
● La salida del convertidor tratará de alcanzar y sobre pasar al valor de la entrada analógica lo que producirá, en su
caso, el cambio de signo en el integrador.
Convertidores A/D Sigma Delta
MODULADOR SIGMA-DELTA
1-bit quantizer Integrator
+ Σ Analog
input signal
DAC –
Quantized output is a single bit data stream.
∆ Summing
point
En términos de circuitería analógica el modulador se vería así:
● La señal de entrada se muestrea a una muy alta
velocidad, alimentando a un integrador-restador cuya salida se compara contra el nivel de tierra (GND).
● El Flip-Flop alimentado por el comparador se encarga de generar el flujo continuo de valores binarios o «bit stream»
Convertidores A/D Sigma Delta
MODULADOR SIGMA-DELTA
Convertidores A/D Sigma Delta
● La densidad del ruido de cuantización se distribuye a lo largo de un espacio más amplio del espectro de frecuencias, disminuyendo en consecuencia su nivel en la zona que será aislada por el filtro pasobajo.
Sobre-Muestreo MODULADOR SIGMA-DELTA
● El primer bit de esa cadena corresponde a la primera muestra de la señal Vin .
● Finalmente, la trama de bits usada en el convertidor DAC se comparte también desde el modulador a los restantes
elementos del convertidor, i.e.:
el Filtro Pasa Bajos y el Cuantizador.
Convertidores A/D Sigma Delta
MODULADOR SIGMA-DELTA
Convertidores A/D Sigma Delta
Convertidores A/D Sigma Delta
Una de las opciones para el método de filtrado en sigma-delta es contar el número de bits positivos dentro de un intervalo de tiempo pre-establecido (Promediador). Al término de cada
periodo, la salida de dicho contador sera respaldada con lo que se obtiene un código binario paralelo.
.. .. . ..
.. . 1-bit
quantizer Integrator
+ Σ Analog
input signal
1-bit DAC –
∆ n-bit
counter Latch Binary code
output Summing
point
Convertidores A/D Sigma Delta
Los convertidores sigma-delta pueden tener una alta resolución y permiten, de manera eficiente, rechazar las señales de ruido (por ejemplo, 60 Hz interferencia de línea de potencia). Están disponibles en circuitos integrados con amplificadores
programables internos. Por estas razones son ampliamente utilizados en aplicaciones de instrumentación.
.. .. . ..
.. . 1-bit
quantizer Integrator
+ Σ Analog
input signal
1-bit DAC –
∆ n-bit
counter Latch Binary code
output Summing
point
Ventajas
●
Alta resolución
●
No requieren
componentes de precisión externos
●
Muy usados para medición de señales continuas o DC.
Desventajas
●
Lentos debido al sobre- muestreo
Convertidores A/D Sigma Delta
Comparativo ADC
Desempeño SAR vs. Delta-Sigma
ADC Resolution Comparison
0 5 10 15 20 25
Sigma-Delta Successive Approx Flash Dual Slope
Resolution (Bits)
Tipo Velocidad (relativa) Costo (relativo)
Dual Slope Lento Medio
Flash Muy rápido Alto
Successive Appox Rápido Bajo
Sigma-Delta Lento Bajo
Comparativo ADC
Comparativo ADC
Comparativo ADC
SAR vs. Delta-Sigma
Comparativo ADC
SAR vs. Delta-Sigma
● SAR tiene un claro punto de inicio de conversión y otro para concluir la conversión (tiempo de conversión).
● El Delta-Sigma, en cambio, permanece en un ciclo continuo de conversión.
Tipos de convertidores D/A
Convertidores D/A
– De entrada ponderada (*) – De escalera (*)
Convertidor de entrada Ponderada
●
El convertidor D/A de entrada binaria ponderada es un DAC básico en el que cada resistencia tiene un valor proporcional al peso de la columna en el
sistema de numeración binaria.
Convertidores DAC
MSB LSB
– +
I0
I = 0 I1
I2 I3
If
+ –
8R 4R 2R R
Rf
Vout
Analog output D0
D1 D2 D3
Convertidor de entrada Ponderada
●
Requiere resistencias de precisión y voltajes de nivel idénticos para la asegurar la exactitud de operación.
●
El bit más significativo (MSB) está representado por la corriente más grande, por lo que debe corresponder a la resistencia más pequeña.
●
Para simplificar el análisis, se asume que toda la corriente circulará a través de R
fy ninguna por la
entrada del amplificador operacional (alta impedancia)
Convertidores DAC
Convertidor de entrada Ponderada
Convertidores DAC
MSB LSB
– +
I0
I = 0 I1
I2 I3
If
+ –
8R
4R
2R
R
Rf
Vout
Analog output D0
D1
D2
D3
– +
Un convertidor DAC de entrada ponderada tiene una entrada binaria 1101. Si 1-lógico = +3.0 V y 0-lógico= 0 V,
¿Cual es el valor del voltaje de salida Vout?
+3.0 V
+3.0 V +3.0 V 0 V
120 k 60 k 30 k 15 k
10 k Rf
0 1 2 3
( )
3.0 V 3.0 V 3.0 V
0 V 0.325 mA
120 k 30 k 15 k
Iout I I I I
Vout = Iout Rf = (−0.325 mA)(10 k) = −3.25 V
Vout
Ejemplo:
Solución:
Convertidores DAC
Convertidor R-2R de Escalera
●
El convertidor D/A del tipo R-2R de escalera requiere solamente dos valores de las resistencias. Mediante el cálculo de un circuito equivalente de Thevenin para
cada entrada, se puede demostrar que la salida es
proporcional al peso binario de las entradas que están en 1-lógico.
●
Cada entrada en nivel Alto contribuye a la salida con:
Convertidores DAC
2
out n iS
V V
Donde: VS = entrada en nivel ALTO n = número total de bits i = número de bitConvertidor R-2R de Escalera
●
La precisión depende de una relación exacta entre los valores de las resistencias, lo que puede ser alcanzado con facilidad por los procesos de manufactura de CI's.
Convertidores DAC
– +
2R R R R
2R 2R 2R 2R
Rf = 2R Inputs
D0 D1 D2 D3
Vout
R1 R3 R5 R7
R2 R4 R6 R8
Convertidor R-2R de Escalera
●
El convertidor tipo escalera R-2R es relativamente fácil de fabricar y está disponible como circuito integrado.
●
DAC's basados en la redes R-2R están disponibles en versiones de 8, 10, y 12 bits.
●
La resolución es una especificación importante, definido como el recíproco del número de posibles niveles de
salida (N).
Convertidores DAC
resolución = 1
N = Ve
máx− Ve
min2
nN = 2
nConvertidor R-2R de Escalera
●
Ejemplo: ¿Cual es la resolución del convertidor MCP4912 de 12 bits?
●
La precisión es otra importante especificación, la cual se obtiene de la desviación del valor obtenido (real) versus el valor esperado.
● Para el MCP4912 la precisión está especificada como:
± ½ LSB
Convertidores DAC
resolución = 1
2
n= 1
4096 = 0.000244141
± 0.000244141 / 2 = ± 0.00012207
Filtro de reconstrucción
● Después de convertir una señal de digital a analógico, se pasa a través de un "filtro de reconstrucción" del tipo pasa bajas
para suavizar las transiciones del convertidor de la salida.
● La frecuencia de corte del filtro de reconstrucción a menudo se establece en el mismo límite que el filtro anti-aliasing, de manera que se puedan bloquear los armónicos más altos generados durante la digitalización.
Convertidores DAC
Filtro de Reconstrucción
Salida del DAC Salida analógica final