CIRCUITOS DIGITALES II
CONVERSOR A/D
ING. FERNANDO APARICIO URBANO MOLANO
CONVERSOR ANÁLOGO DIGITAL A/D DEL PIC16F87XACONVERSOR ANÁLOGO DIGITAL A/D DEL PIC16F87XA
2
INTRODUCCIÓNINTRODUCCIÓN
Las señales analógicas abundan en nuestro en
torno. Para su estudio y análisis detallada, requiere
de su procesamiento en el computador, por tanto
se necesitan dispositivos capaces de transformar o
traducir dichas señales en digitales, para que
3
puedan ser enviadas, por diversos medios (serial,
Flash, etc) al computador.
Los sistemas de adquisición y conversión de datos,
como su nombre lo indica, adquieren señales
análogas de una o más fuentes y las convierten en
una secuencia de datos o códigos digitales, cada
uno de los cuales representa el valor particular de
esas señales en un instante dado.
4
esas señales en un instante dado.
CONVERSOR A/DCONVERSOR A/D
Conversor A/D de 10 bits de resolución y 8 canales.
La resolución que tiene cada bit procedente de la conversión tiene un
valor que es función de la tensión de referencia Vref, de acuerdo con
la fórmula siguiente:
Por ejemplo, si Vref+ = 5 VDC y Vref- está referenciado a tierra, la
5
Por ejemplo, si Vref+ = 5 VDC y Vref- está referenciado a tierra, la
resolución es de 4.882 mV/bit. Por lo tanto, a la entrada analógica de 0 V
le corresponde una digital 00 0000 0000 y para 5 V, de 11 1111 1111. La
tensión de referencia determina los límites máximo y mínimo de la
tensión analógica que se puede convertir.
La entrada analógica carga un condensador de muestreo y
retención, cuya salida de éste, es la entrada al conversor, que
genera un resultado digital de éste nivel analógico vía
aproximaciones sucesivas.
El conversor A/D es el único dispositivo que puede funcionar en
modo Reposo (sleep), para ello el reloj del conversor deberá
conectarse al oscilador RC interno.
6
REGISTROS DE TRABAJOREGISTROS DE TRABAJO
El módulo A/D tiene cuatro registros:
1.ADRESH: parte alta del resultado de la
conversión.
2.ADRESL: parte baja del resultado de la
conversión.
7
conversión.
3.ADCON0: Registro de Control 0.
4.ADCON1: Registro de Control 1.
Registro ADCON0
Los bits ADCON<7:6> sirven para seleccionar la
frecuencia de reloj que se emplea en la conversión
(figura 1).
Se designa como TAD el tiempo que dura la
conversión de cada bit y en el caso de trabajar con
8
conversión de cada bit y en el caso de trabajar con
valores digitales de 10 bits, se requiere un tiempo
mínimo de 12*TAD. El valor de TAD se selecciona por
software mediante los bits (ADCS1:ADCS0) y no
debe ser inferior a 1.6 microsegundos
9
Figura 1. T vs Frecuencia de operación
10
Figura 1. TAD vs Frecuencia de operación
máxima del dispositivo
Los bits 3, 4 y 5 son los de selección del canal
analógico.
El bit 2 (ver figura 1) es el bit de estado de la
conversión. Ajustándolo a 1 se inicia la
conversión y mientras éste en 1 está realizándose
la conversión y el resultado se guarda en los
registros ADRESH:L.
11
registros ADRESH:L.
El bit ADON sirve para activar el conversor
ajustándolo a 1 y para inhibir su funcionamiento,
se coloca a 0.
REGISTRO ADCON1REGISTRO ADCON1
El bit de mayor peso (ADFM) selecciona el formato
del resultado de la conversión. Si vale 1 (derecha),
el resultado está justificado en el registro ADRESH,
que tiene sus 6 bits de más peso a 0; mientras que
12
que tiene sus 6 bits de más peso a 0; mientras que
si vale 0 (izquierda) la justificación se realiza sobre
el registro ADRESL, que tiene sus 6 bits de menos
peso a 0.
13
Bit 6 ADCS2: Bit de selección del reloj de la
Conversión A/D (Los bits del ADCON1 están en el
área sombreada y en negrilla)
14
Bit 3-0 PCFG3:PCFG0: Bits de control de configuración del Puerto A/D
15
PASOS PARA REALIZAR UNA CONVERSION A/DPASOS PARA REALIZAR UNA CONVERSION A/D
1. Configurar el módulo A/D:
• Configurar los pines que actuarán como entradas analógicas, las que
trabajan como E/S digitales y las usadas para la tensión de referencia
(ADCON1).
• Seleccionar el reloj de la conversión (ADCON0).
• Seleccionar el canal de entrada A/D (ADCON0).
• Activar el módulo A/D (ADCON0).
16
2. Activar, si se desea, la interrupción escribiendo sobre PIE1 y PIR1
• Borrar el señalizador ADIF.
• Poner a 1 el bit ADIE.
• Poner a 1 todos los bits habilitadores GIE y PEIE
3. Tiempo de espera para que transcurra el tiempo de
adquisición.
• Colocar en 1 el bit GO/DONE# (ADCON0)
5. Tiempo de espera para completar la conversión A/D que puede
detectarse.
• Por la exploración del bit GO/DONE#, que al completarse la
4. Inicio de la conversión.
17
• Por la exploración del bit GO/DONE#, que al completarse la
conversión se convierte a 0.
• Esperando a que se produzca la interrupción si se ha
programado, al finalizar la conversión.
• Aunque no se permita la interrupción, el señalizador ADIF
se pondrá a 1 al finalizar la conversión.
6.Leer el resultado en los 10 bits válidos de
ADRESH:ADRESL y borrar el flag ADIF.
7.Para una nueva conversión regresar al paso 1 o
al 2. El tiempo de conversión por bit está
definido por TAD. Se exige esperar un mínimo
18
definido por TAD. Se exige esperar un mínimo
de 2TAD para reiniciar una nueva conversión.

Conversor ADC

  • 1.
    CIRCUITOS DIGITALES II CONVERSORA/D ING. FERNANDO APARICIO URBANO MOLANO
  • 2.
    CONVERSOR ANÁLOGO DIGITALA/D DEL PIC16F87XACONVERSOR ANÁLOGO DIGITAL A/D DEL PIC16F87XA 2
  • 3.
    INTRODUCCIÓNINTRODUCCIÓN Las señales analógicasabundan en nuestro en torno. Para su estudio y análisis detallada, requiere de su procesamiento en el computador, por tanto se necesitan dispositivos capaces de transformar o traducir dichas señales en digitales, para que 3 puedan ser enviadas, por diversos medios (serial, Flash, etc) al computador.
  • 4.
    Los sistemas deadquisición y conversión de datos, como su nombre lo indica, adquieren señales análogas de una o más fuentes y las convierten en una secuencia de datos o códigos digitales, cada uno de los cuales representa el valor particular de esas señales en un instante dado. 4 esas señales en un instante dado.
  • 5.
    CONVERSOR A/DCONVERSOR A/D ConversorA/D de 10 bits de resolución y 8 canales. La resolución que tiene cada bit procedente de la conversión tiene un valor que es función de la tensión de referencia Vref, de acuerdo con la fórmula siguiente: Por ejemplo, si Vref+ = 5 VDC y Vref- está referenciado a tierra, la 5 Por ejemplo, si Vref+ = 5 VDC y Vref- está referenciado a tierra, la resolución es de 4.882 mV/bit. Por lo tanto, a la entrada analógica de 0 V le corresponde una digital 00 0000 0000 y para 5 V, de 11 1111 1111. La tensión de referencia determina los límites máximo y mínimo de la tensión analógica que se puede convertir.
  • 6.
    La entrada analógicacarga un condensador de muestreo y retención, cuya salida de éste, es la entrada al conversor, que genera un resultado digital de éste nivel analógico vía aproximaciones sucesivas. El conversor A/D es el único dispositivo que puede funcionar en modo Reposo (sleep), para ello el reloj del conversor deberá conectarse al oscilador RC interno. 6
  • 7.
    REGISTROS DE TRABAJOREGISTROSDE TRABAJO El módulo A/D tiene cuatro registros: 1.ADRESH: parte alta del resultado de la conversión. 2.ADRESL: parte baja del resultado de la conversión. 7 conversión. 3.ADCON0: Registro de Control 0. 4.ADCON1: Registro de Control 1.
  • 8.
    Registro ADCON0 Los bitsADCON<7:6> sirven para seleccionar la frecuencia de reloj que se emplea en la conversión (figura 1). Se designa como TAD el tiempo que dura la conversión de cada bit y en el caso de trabajar con 8 conversión de cada bit y en el caso de trabajar con valores digitales de 10 bits, se requiere un tiempo mínimo de 12*TAD. El valor de TAD se selecciona por software mediante los bits (ADCS1:ADCS0) y no debe ser inferior a 1.6 microsegundos
  • 9.
  • 10.
    Figura 1. Tvs Frecuencia de operación 10 Figura 1. TAD vs Frecuencia de operación máxima del dispositivo
  • 11.
    Los bits 3,4 y 5 son los de selección del canal analógico. El bit 2 (ver figura 1) es el bit de estado de la conversión. Ajustándolo a 1 se inicia la conversión y mientras éste en 1 está realizándose la conversión y el resultado se guarda en los registros ADRESH:L. 11 registros ADRESH:L. El bit ADON sirve para activar el conversor ajustándolo a 1 y para inhibir su funcionamiento, se coloca a 0.
  • 12.
    REGISTRO ADCON1REGISTRO ADCON1 Elbit de mayor peso (ADFM) selecciona el formato del resultado de la conversión. Si vale 1 (derecha), el resultado está justificado en el registro ADRESH, que tiene sus 6 bits de más peso a 0; mientras que 12 que tiene sus 6 bits de más peso a 0; mientras que si vale 0 (izquierda) la justificación se realiza sobre el registro ADRESL, que tiene sus 6 bits de menos peso a 0.
  • 13.
  • 14.
    Bit 6 ADCS2:Bit de selección del reloj de la Conversión A/D (Los bits del ADCON1 están en el área sombreada y en negrilla) 14
  • 15.
    Bit 3-0 PCFG3:PCFG0:Bits de control de configuración del Puerto A/D 15
  • 16.
    PASOS PARA REALIZARUNA CONVERSION A/DPASOS PARA REALIZAR UNA CONVERSION A/D 1. Configurar el módulo A/D: • Configurar los pines que actuarán como entradas analógicas, las que trabajan como E/S digitales y las usadas para la tensión de referencia (ADCON1). • Seleccionar el reloj de la conversión (ADCON0). • Seleccionar el canal de entrada A/D (ADCON0). • Activar el módulo A/D (ADCON0). 16 2. Activar, si se desea, la interrupción escribiendo sobre PIE1 y PIR1 • Borrar el señalizador ADIF. • Poner a 1 el bit ADIE. • Poner a 1 todos los bits habilitadores GIE y PEIE
  • 17.
    3. Tiempo deespera para que transcurra el tiempo de adquisición. • Colocar en 1 el bit GO/DONE# (ADCON0) 5. Tiempo de espera para completar la conversión A/D que puede detectarse. • Por la exploración del bit GO/DONE#, que al completarse la 4. Inicio de la conversión. 17 • Por la exploración del bit GO/DONE#, que al completarse la conversión se convierte a 0. • Esperando a que se produzca la interrupción si se ha programado, al finalizar la conversión. • Aunque no se permita la interrupción, el señalizador ADIF se pondrá a 1 al finalizar la conversión.
  • 18.
    6.Leer el resultadoen los 10 bits válidos de ADRESH:ADRESL y borrar el flag ADIF. 7.Para una nueva conversión regresar al paso 1 o al 2. El tiempo de conversión por bit está definido por TAD. Se exige esperar un mínimo 18 definido por TAD. Se exige esperar un mínimo de 2TAD para reiniciar una nueva conversión.