Laboratorio de Microprocesadores Convertidor Anlogo/digital
M.C. Carlos E. Canto Quintal
- 75 -
NOMBRE DE LA PRCTICA
UTILIZACIN DE UN CONVERTIDOR A/D
OBJETIVO ESPECFICO: APLICAR EL CONVERTIDOR ADC0804 EN UN CONTROL DE TEMPERATURA
INTRODUCCIN: Los convertidores analgico/digital (ADC) y digital/analgico (DAC) se utilizan para conectar el microprocesador con el mundo analgico. Muchos de los eventos que se monitorean y controlan con el microprocesador, son analgicos. A menudo incluyen vigilancia de todas las formas de acontecimientos, incluso voz, hasta el control de motores y dispositivos similares. Para poder efectuar la interfase del microprocesador con estos acontecimientos, se deben conocer la interfase y el control del ADC y el DAC que convierten datos analgicos a digitales y viceversa.
El convertidor analgico/digital ADC080X La conversin A/D es un proceso de cuantizacin en la cual una seal analgica es representada por su equivalente en estados binarios. El ADC0804 es un ADC de bajo costo, basado en aproximaciones sucesivas, que pertenece a una familia de convertidores que son casi iguales excepto en la exactitud. Es ideal para muchas aplicaciones que no requieren un alto grado de exactitud. El ADC0804 requiere hasta 100 microsegundos para convertir un voltaje de entrada analgica a una salida en cdigo digital
Diagrama de bloques de un convertidor A/D de aproximaciones sucesivas tpico como un circuito integrado PRACTICA N0.7 SALIDA DIGITAL LSB DATA READY O BUSY +- Registro de Aproximaciones Sucesivas SAR Registro de Aproximaciones Sucesivas SAR Convertidor D/A Convertidor D/A Clock Clock Ref Ref MSB Comparador Entrada Analgica MSB LSB Start Buffer tri-state Buffer tri-state SALIDA DIGITAL LSB DATA READY O BUSY +- Registro de Aproximaciones Sucesivas SAR Registro de Aproximaciones Sucesivas SAR Convertidor D/A Convertidor D/A Clock Clock Ref Ref MSB Comparador Entrada Analgica MSB LSB Start Buffer tri-state Buffer tri-state Laboratorio de Microprocesadores Convertidor Anlogo/digital
M.C. Carlos E. Canto Quintal
- 76 - Entrada Diferencial PROCESADOR PROCESADOR CS RD WR INTR DB7 DB0 1 2 3 11 5 18 DGND AGND Vref/2 Vin(+) Vin(-) CLK IN CLK R V+ 10K 150 pF 10 9 8 7 6 4 19 20 BUSES DEL SISTEMA BUSES DEL SISTEMA Entrada Diferencial PROCESADOR PROCESADOR CS RD WR INTR DB7 DB0 1 2 3 11 5 18 DGND AGND Vref/2 Vin(+) Vin(-) CLK IN CLK R V+ 10K 150 pF 10 9 8 7 6 4 19 20 BUSES DEL SISTEMA BUSES DEL SISTEMA PROCESADOR PROCESADOR CS RD WR INTR DB7 DB0 1 2 3 11 5 18 DGND AGND Vref/2 Vin(+) Vin(-) CLK IN CLK R V+ 10K 150 pF 10 9 8 7 6 4 19 20 BUSES DEL SISTEMA BUSES DEL SISTEMA
Un pulso en START inicia el proceso de conversin y deshabilita el buffer tri-state de salida. Al final del periodo de conversin. Se activa la salida DATA READY y la salida digital queda disponible en el buffer de salida.
Par utilizar un ADC con un microprocesador, ste debe realizar lo siguiente:
1.-Enviar un pulso a la terminal START. Esta puede ser derivada de una seal de control tal como la write (WR).
2.- Esperar hasta el final de la conversin. El final del periodo de conversin puede ser verificado ya sea checando el status (polling) o usando interrupciones.
3.-Leer la seal digital por un puerto de entrada
El ADC0804 de National Semiconductor tiene implementadas todas las seales de control necesarias para conectarse a un microprocesador
CARACTERSTICAS MS IMPORTANTES DEL ADC0804 Resolucin De 8 Bits Habilidad De Conexin Directa Al Bus Del Microprocesador Tiempo De Conversin <100s Entrada De Voltaje Diferencial Entradas Y Salidas Compatibles Con TTLs Generador De Reloj Dentro Del Chip Rango De Voltaje De Entrada De 0v A 5v(una Sola Fuente De +5v) No Requiere Ajuste De Cero
Entradas analgicas del ADC0804
(a) para detectar una entrada de 0 a+5 volts. ADC0804 ADC0804 + - Vin (+) Vin (-) Entrada analgica (a) para detectar una entrada de 0 a+5 volts. ADC0804 ADC0804 + - Vin (+) Vin (-) Entrada analgica ADC0804 ADC0804 + - Vin (+) Vin (-) Entrada analgica ADC0804 ADC0804 (b) para detectar una entrada con un desvo respecto a tierra + - Vin (+) Vin (-) Entrada analgica Laboratorio de Microprocesadores Convertidor Anlogo/digital
M.C. Carlos E. Canto Quintal
- 77 -
Generacin de la seal de reloj
El ADC0804 requiere un reloj para funcionar. El reloj puede ser externo, conectado a la terminal CLK IN o puede ser generado por un circuito RC. El rango de frecuencias del reloj permisibles est entre 100KHz y 1460 KHZ. Para que el tiempo de conversin sea menor es conveniente usar la frecuencia ms alta posible
Si el reloj se genera con un circuito RC, se utilizan las terminales CLK IN y CLK R conectadas con un circuito RC, como se muestra en la figura. La frecuencia del reloj se calcula con:
Inicio de la conversin Una conversin inicia activando las seales CS y WR. Y al final de la conversin, el convertidor genera una seal INTR (similar al DATA READY). Esta seal puede usarse para interrumpir al procesador indicndole que el byte de dato est listo y que ya puede ser ledo.
Habilitacin de la salida y reset de INTR El procesador lee el byte activando la seal RD y puede iniciar con la siguiente conversin si fuera necesaria. F= 1.1 RC 1 ADC0804 ADC0804 CLK IN oscilador oscilador ADC0804 ADC0804 CLK IN oscilador oscilador CLK R CLK IN C R ADC0804 ADC0804 CLK R CLK IN C R ADC0804 ADC0804 Laboratorio de Microprocesadores Convertidor Anlogo/digital
M.C. Carlos E. Canto Quintal
- 78 -
MATERIAL Y EQUIPO UTILIZADO: 1 ADC0804 1 LM35 1 RESISTENCIA DE 10 k 1 RESISTENCIA DE 75 1 CONDENSADOR DE 150 pF 1 CONDENSADOR DE 10 F 1 CONDENSADOR DE 1 F FUENTE REGULADA DE +5 VOLTS 1 TERMMETRO
METODOLOGA (DESARROLLO DE LA PRCTICA):
I.-Se desea medir la temperatura ambiental con un sensor integrado LM35 y con un convertidor ADC0804, ambos de Nacional semiconductor, pasar el valor obtenido en forma digital al Z80 y desplegarla en el Display de cristal Lquido (LCD).
NOTA: no olvide que el ADC proporciona muestras en binario de 8 bits entre 00 y FFh y que el LCD solo acepta cdigo ASCII . Por lo tanto, se debe convertir el nmero binario a su equivalente en ASCII para poder envirselo al LCD. El cdigo ASCII del 0 es 30h,del 1 31h y as sucesivamente hasta el 9 cuyo ASCII ser 39h . El mensaje a desplegar Temperatura:_ _ es fijo y en el lugar de los guiones aparecern los valores actualizados de la temperatura obtenida
II.-compruebe la exactitud de las lecturas usando la lectura de un termmetro como la lectura real. III.- Aproximando la flama de un encendedor, aumente la temperatura hasta 50C y observe como cambia el display. Despus enfre el sensor con aire fro (o soplando) hasta que regrese su lectura ADC0804 ADC0804 Temperatura : 24 C Puerto A PC5 PC7 RS E R/ W D0-D7 Bus de datos Bus de datos LM35 LM35 74LS138 74LS138 Implementado en prcticas anteriores CS RD WR Z80 IORQ WR RD IOWR IORD IOWR IORD 88h~8Fh Con cualquiera de estas direcciones se activa el ADC Con cualquiera de estas direcciones se activa el ADC LCD INT INTR INT PPI ADC0804 ADC0804 Temperatura : 24 C Puerto A PC5 PC7 RS E R/ W R/ W D0-D7 Bus de datos Bus de datos LM35 LM35 74LS138 74LS138 Implementado en prcticas anteriores CS RD WR Z80 IORQ WR RD IOWR IORD IOWR IORD 88h~8Fh Con cualquiera de estas direcciones se activa el ADC Con cualquiera de estas direcciones se activa el ADC LCD INT INTR INT PPI Laboratorio de Microprocesadores Convertidor Anlogo/digital
M.C. Carlos E. Canto Quintal
- 79 - a la temperatura ambiente.
- +5V IOWR A7 ADC0804 18 17 16 15 14 13 12 11 1 2 3 5 8 6 7 19 4 9 20 10 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 CS RD WR INTR AGND VI+ VI- CLKR CLK VREF VCC GND SENSOR DE TEMPERATURA LM35 PARA GRADOS CENTGRADOS ( 10 mV/C) CON ENCAPSULADO TO-92 INT Carlos Canto PRCTICA NUM 9: APLICACIN DEL ADC0804 EN UN MEDIDOR DE TEMPERATURA +Vs +5v 10k 74LS138 1 2 3 6 4 5 15 14 13 12 11 10 9 7 A B C G1 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 GND BUS DE DIRECCIONES Vout +5v 88H-8FH 75 ohms 1K BUS DE DATOS Ntese que, ya que el ADC solo tiene un registro, no se requuiere ninguna lnea del bus de direcciones para seleccin de registros, por lo tanto no importa con que direccin se habilite su CS. 10uF Visto de abajo A2 16K 1 uF f=1/1.1RC A3 A4 + 150pf 2K IORD A5 A6
Laboratorio de Microprocesadores Convertidor Anlogo/digital
M.C. Carlos E. Canto Quintal
- 80 -
SUGERENCIA DIDCTICA:
1.- Investigue sobre las tcnicas de conversin A/D ms usados 2.-Defina resolucin de un convertidor A/D 3.- Cmo se define el rango dinmico de una seal? 4.- Cmo se representa el rango dinmico de una seal? 5.-Cundo ser necesario usar un Sampling/Hola en la entrada de un ADC? 6.-Enuncie el teorema de Nyquist y explique el porque de el ALIAS 7.- si aumentamos la frecuencia de muestreo que ventajas y desventajas obtenemos 8.- si aumentamos el nmero de bits del convertidor A/D que ventajas y desventajas obtenemos.
REPORTE:
I.- Reporte el listado del programa en ensamblador, completo y documentado (.LST o .PRN) II.-Con una tabla o una grfica muestre el comportamiento de su medidor de temperatura comparndolo con el del termmetro analgico III.- reporte sus comentarios y conclusiones respecto a la realizacin del experimento y sobre la exactitud de su termmetro digital, sus limitaciones y las posibles mejoras a su diseo.
BIBLIOGRAFA: Ramesh S. Gaonkar Prentice Hall The Z80 Microprocessor: Architecture, Interfacing, Programming, and Design Barry B. Brey Prentice Hall Los microprocesadores de Intel, Arquitectura, programacin e interfases Manual de Zilog Manual de Nacional Semiconductor linear