sesión 10: conversión análoga a digital. 2009/1 circuitos digitales iii 2010/1 circuitos...
TRANSCRIPT
Sistemas Digitales IISesión 10: Conversión Análoga a Digital
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Antes de ComenzarAntes de Comenzar
Conociendo la CPU y sus Periféricos…
IRQIRQ
TIMERTIMER
SIMSIME/SE/S
SCISCI
1000111011110000000100011010110000011100
CPUCPU MEMORIAMEMORIA
ADCADC
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Agenda para la claseAgenda para la clase
11Conversores A/D Diversos conceptos sobre conversores Análogo a Digital
22Módulo ADC Convertir una señal análoga en un conjunto de valores digitales en un MCU
33Manipulación del conversor Características a tener en cuenta para usar el módulo ADC
44Ejemplo A/D Haciendo uso del conversor A/D para procesar una señal análoga
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
A continuación…A continuación…
Ejemplo de uso del conversor A/D
Manipulación del conversor ADC de los PICs
Módulo ADC de los PIC 16F88x
Conceptos sobre conversores A/DConceptos sobre conversores A/D
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
DigitalGenerar.Transmitir.Procesar.Almacenar.
Señal Digital
AnálogoGenerar.Transmitir.Procesar.Almacenar.
Señal Análoga
Sistema Electrónico
Conceptos sobre A/DConceptos sobre A/D
La magnitud se representa mediante variables
continuas.
La magnitud se representa mediante variables
continuas.
Magnitud física limitada a tomar
determinados valores discretos.
Magnitud física limitada a tomar
determinados valores discretos.
¿Qué es una señal? Señal
Cantidad Física. Varía con el tiempo. Lleva información.
Procesamiento de una señal Transformar la señal para lograr uno o varios fines. Ejemplo: En Audio…
Los sistemas de cómputo trabajan con señales digitales, no análogas…
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
AceleraciónAceleración
ImágenesImágenes
TemperaturaTemperatura
FuerzaFuerza
LuminosidadLuminosidad
OtrosOtros
SensoresMundoDigital Conversión
Dominio tDominio t
Sample and HoldSample and Hold
Dominio nDominio n
A/D FlashA/D Flash
A/D SecuencialA/D Secuencial
A/D Aprox. Suces.A/D Aprox. Suces.
Conceptos sobre A/DConceptos sobre A/D
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conceptos sobre A/DConceptos sobre A/D
Sensores Sirven para Virtualizar una Cantidad Física. Su función:
SENSOR
PesoVelocidadAceleraciónLluviaImágenesTemperaturaVoltaje/Corriente
Voltaje
Corriente
Conjunto de valores continuo.
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conceptos sobre A/DConceptos sobre A/D
Muestreo y Retención Pasar de tiempo continuo a tiempo discreto. Se muestrea a determinada frecuencia f. Se toma el voltaje de entrada y se mantiene hasta la
próxima muestra. Colección de valores finita.
Amplitud
Tiempo
Clk
Ve Vx
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conceptos sobre A/DConceptos sobre A/D
Conversor A/D
CONVERSORA/D
n Bits
CONVERSORA/D
n Bits
Entrada Análoga
Voltajes Referencia H y L
Señal de Reloj
… Salida Digital
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conceptos sobre A/DConceptos sobre A/D
Conversor A/D Muestreo, Referencia, cuantización (Nro. Bits)
Amplitud
Tiempo
VREF_HIGH
VREF_LOW
Muestreando…Cuantizando…
Se emplean 8 valores para
cuantización, es decir, 3 bits.
Se emplean 8 valores para
cuantización, es decir, 3 bits.
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conceptos sobre A/DConceptos sobre A/D
Tipos de Conversores A/D Conversor A/D Flash.
• Muy veloz pero requiere de mucho Hardware, costoso.
Conversor Secuencial.• Fácil de implementar, pero muy lento en el peor de los casos.
Conversor por aproximaciones sucesivas.• Fácil de implementar, siempre requiere el mismo número de
ciclos para cada muestra. Mejor que el anterior.
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Vref
Conceptos sobre A/DConceptos sobre A/D
Conversor A/D Flash (Distinguir 4 Valores)
+-
R
R
Vana
+-
R
+-
R
CodificadorPrioridad
CodificadorPrioridad
Salida2 Bits
1/4Vref
2/4Vref
3/4Vref
Si 0 Vana 1/4Vref → Salida = ???Si 1/4Vref Vana 2/4Vref → Salida = ???Si 2/4Vref Vana 3/4Vref → Salida = ???Si 3/4Vref Vana Vref → Salida = ???Principal Desventaja???
0V
1.25V
2.5V
3.75V
5V
0.75V
0.75V
0.75V
0V
0V
0V
‘0’
‘0’
2.1V
2.1V
2.1V
5V
0V
0V
‘0’
‘1’
3.3V
3.3V
3.3V
5V
5V
0V
‘1’
‘0’
4.6V
4.6V
4.6V
5V
5V
5V
‘1’
‘1’
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conceptos sobre A/DConceptos sobre A/D
Conversor A/D Secuencial
Control Digital
Control Digital
Amplificador
ComparadorComparador
Acond. SeñalEntradaAnáloga
D/AD/A…
Voltaje Análogo Generado
0000 V1 = 0V
Vana
Vin
SalidaDigital
Salida = Salida Digital siVana >= Vin
0001 V2 = 0.3125V
0010 V3 = 0.625V
0011 V4 = 0.9375V
1111 V16 = 5V
Desventaja???
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conceptos sobre A/DConceptos sobre A/D
Conversor A/D Aprox. Sucesivas
Control Digital
Control Digital
Amplificador
ComparadorComparador
Acond. SeñalEntradaAnáloga
D/AD/A…
Voltaje Análogo Generado
1000 V1 = 2.5V
Vana
Vin
SalidaDigital
Comparación 1: bit(3) = ‘1’Si Vana < Vin, bit(3) se deja en 1
Si Vana >= Vin, bit(3) se pone en 0
X100 V2 = xV
Comparación 2: bit(2) = ‘1’Si Vana < Vin, bit(2) se deja en 1
Si Vana >= Vin, bit(2) se pone en 0
XX10 V3 = xV
Comparación 3: bit(1) = ‘1’Si Vana < Vin, bit(1) se deja en 1
Si Vana >= Vin, bit(1) se pone en 0
XXX1 V4 = xV
Comparación 4: bit(0) = ‘1’Si Vana < Vin, bit(0) se deja en 1
Si Vana >= Vin, bit(0) se pone en 0
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conceptos sobre A/DConceptos sobre A/D
Conversor A/D Aprox. Sucesivas
0/Vmin
15/Vmax
0/Vmin
15/Vmax
Salida = XXXX Salida = XXXXSalida = 1000 Salida = 1000Salida = 1100 Salida = 0100Salida = 1110 Salida = 0010Salida = 1101 Salida = 0011Salida = 1101 Salida = 0011
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
A continuación…A continuación…
Ejemplo de uso del conversor A/D
Manipulación del conversor ADC de los PICs
Módulo ADC de los PIC 16F88x
Conceptos sobre conversores A/D
Módulo ADC de los PIC 16F88x
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
14 Canales14 Canales
ConversiónConversión
8/10 Bits8/10 Bits
RelojReloj
Polling o INTsPolling o INTs Ap. SucesivasAp. Sucesivas
A/D16F88x
Conversor ADCConversor ADC
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
MUX
CANAL 1
CANAL 2
CANAL 3
CANAL n
…CANAL 4
CHANNELSELECT
Conversor8/10 Bits
Conversor8/10 Bits
CLOCKGEN
Registros A/DADRES
Interrupción
GO/DONE
Petición de INT,
Conversión Completa
Petición de INT,
Conversión Completa
El muestreo solo se hace por un
canal al tiempo…
El muestreo solo se hace por un
canal al tiempo…
La muestra se escribe en el
registro ADRES…
La muestra se escribe en el
registro ADRES…
Conversor ADCConversor ADC
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conversor ADCConversor ADC
Registros para manipular el A/D Definición de pines de entrada y señales aplicadas:
• TRISA - PORTA - TRISE – PORTE
Manejo de interrupciones• INTCON – PIE1- PIR1
Control del conversor A/D:• ADCON0 - ADCON1- ADRESH - ADRESL.
10011101ADC8-bits
ADC8-bits
X X X X X X X XADRES 1 0 0 1 1 1 0 1
10011101111001110111ADC10-bits
ADC10-bits
X X X X X X X XADRESH 1 0 0 1 1 1 0 1X X X X X X X XADRESL 1 1 X X X X X XX X X X X X 1 00 1 1 1 0 1 1 1
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conversor ADCConversor ADC
Pines para el ADC En el 16F887:
El registro ADCON0:• Los bits de selección de canal CHS[3:0] del registro
de estado y control ADCON sirven para seleccionar el canal de entrada.
I/O PIN ANÁLOGO
RA0 19 AN0
RA1 20 AN1
RA2 21 AN2
RA3 22 AN3
RA5 24 AN4
RB0 8 AN12
RB1 9 AN10
RB2 10 AN8
RB3 11 AN9
RB4 14 AN11
RB5 15 AN13
RE0 25 AN5
RE1 26 AN6
RE2 27 AN7
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conversor ADCConversor ADC
Conversión de Voltaje Externamente se tienen los pines VREF- y VREF+. El valor digital equivale a:
• Valor análogo = VREF+, ADRES = $FF/$3FF• Valor análogo = VREF-, ADRES = $00/$000• Valor análogo entre VREFL y VREFH
– Valor digital entre $00/$000 y $FF/$3FF (Conversión lineal)
VREFH = VDD y VREFL = VSS
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Conversor ADCConversor ADC
Resolución de Conversión: La resolución vendrá dada por la siguiente ecuación:
En el caso de que la Vref+ = VDD y Vref-=VSS entonces la resolución es:
1024Resolución
refref
ref
VVV
1024
050Resolución
mV8,4Resolución
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
A continuación…A continuación…
Ejemplo de uso del conversor A/D
Manipulación del conversor ADC de los PICs
Módulo ADC de los PIC 16F88x
Conceptos sobre conversores A/D
Manipulación del conversor ADC de los PICs
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Manipulación Módulo A/DManipulación Módulo A/D
Para realizar la conversión, se recomienda seguir los siguientes pasos:
1. Configurar el módulo A/D: Configuración de pines analógicos y de referencia Selección de reloj para la conversión A/D Selección de la entrada A/D Habilitar módulo A/D (interrupción)
2. Habilitar captura del canal Se puede habilitar sólo el inicio de la captura
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Manipulación Módulo A/DManipulación Módulo A/D
3. Esperar el tiempo de adquisición.
4. Esperar a que termine la conversión. Puede ser de dos formas: Esperando un tiempo de espera. Esperando a la interrupción.
5. Para la siguiente conversión se salta a los puntos 1, 2 ó 3 en función de lo que se necesite
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Módulo A/D e n CMódulo A/D e n C
Para trabajar con las interrupciones del A/D, se la siguiente directiva:
#INT_AD Esta indica que la función que esté a continuación
será la subrutina de atención de interrupción del módulo A/D.
Para habilitar la interrupción se emplea:
enable_interrups (INT_AD);
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Módulo A/D e n CMódulo A/D e n C
En el compilador C las funciones para manejar el convertidor AD son las siguientes: Configuración de entradas
setup_adc_ports (valor);
Valor: definición de las entradas analógicas.
Valor Descripción
ALL_ANALOG Todos los Puertos son Análogos
sANx Análogo x
NO_ANALOGS Todos los Puertos son Análogos
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Módulo A/D e n CMódulo A/D e n C
En el compilador C las funciones para manejar el convertidor AD son las siguientes:
Configuración de reloj ADC
setup_adc (modo); Modo: para la configuración del módulo conversor
A/D correspondientes a los bits 7:6 del ADCON0.
Modo Descripción
ADC_OFF Reloj Desactivado
ADC_CLOCK_INTERNAL Reloj Interno del ADC
ADC_CLOCK_DIV_2 Reloj Fosc/2
ADC_CLOCK_DIV_8 Reloj Fosc/8
ADC_CLOCK_DIV_32 Reloj Fosc/32
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Módulo A/D e n CMódulo A/D e n C
En el compilador C las funciones para manejar el convertidor AD son las siguientes: Selección del canal
set_adc_channel (canal);
Canal: selección del canal analógico
Canal Descripción
canal Selección del canal (0-13)
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
Módulo A/D e n CMódulo A/D e n C
Habilitar captura y Adquisición del dato :
valor = read_adc(funcionamiento); Lectura del resultado donde valor es un entero de 8/16 bits
según la directiva #device adc = bits
Admite tres modos de funcionamiento:
bits Descripción
8 8 bits
10 10 bits
Funcionamiento Descripción
ADC_START_AND_READ(Si está vacío -> Por defecto).Permite iniciar y leer el Convertidor.
ADC_START_ONLY Sólo inicia la conversión.
ADC_READ_ONLY Sólo lee los registros de la conversión
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
A continuación…A continuación…
Ejemplo de uso del conversor A/D
Manipulación del conversor ADC de los PICs
Módulo ADC de los PIC 16F88x
Conceptos sobre conversores A/D
Ejemplo de uso del conversor A/D
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
EjemploEjemplo
Lectura de voltajes analógicos que ingresan por los canales AN0 y AN1 (sin interrupciones).
2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Sistemas Digitales II Universidad Santo Tomás
EjemploEjemplo
Lectura de voltajes analógicos que ingresan por los canales AN0 y AN1 (con interrupciones). La selección del canal de lectura se da a través de la interrupción externa (RB0).
Sistemas Digitales IIFin de la sesión 10