3. • Resolución: 10-bits por aproximaciones sucesivas (ADCL y ADCH)
•Tiempo de conversión:13-250uS
•Hasta 76.9KSPS (15KSPS @ 10-bits)
•6 entradas multiplexadas (ADMUX)
•Ajuste a la izquierda opcional del resultado
•Rango: 0 – Vcc
•Referencia de voltaje seleccionable (± 0.3Vcc)
• “Free Running” / “Single Conversion”
•Interrupción al terminar una conversión
•Capacidad para cancelar ruido.
•Impedancia de señales aplicadas al ADC de 10k Ohms o menor
4.
5. • ADC Start Conversion Bit (ADSC=1) & (PRADC = 0)
- También puede ser utilizado para saber si una conversión ha terminado.
• Se puede configurar un disparo automático
ADC Auto Trigger Enable bit (ADATE=1 @ ADCSRA)
ADC Auto Trigger Select bit (ADTS @ ADCSRB) transiente positivo
• Si la bandera de término de conversión es utilizada como fuente de disparo
el ADC funciona en modo “Free Running”; la primera conversión debe ser
iniciada.
6.
7. • Frecuencia del ADC = 50kHz – 200kHz (Max. Resolución)
> 200kHz (Resolución < 10 bits)
• El pre-escalador funciona a partir de frecuencias de CPU > 100kHz
(ADPS bit @ ADCSRA) Inicia al habilitar el ADC (ADEN bit @ ADCSRA)
• Una conversión normal toma 13 ciclos de reloj del ADC (S-H 1.5 ADC Clk)
La primera conversión toma 25 ciclos de reloj del ADC (S-H 13.5 ADC Clk)
• Cuando una conversión es completada, el resultado es escrito en los
Registros de Datos del ADC, la bandera ADIF=1 y ADSC=0.
• En el modo de Auto-Disparo el pre-escalador es reiniciado, dando un ‘delay’
constante entre el disparo y el inicio de conversión.
8.
9.
10. • El canal y la referencia son constantemente actualizados hasta que la
conversión inicia, una vez iniciada se bloquea la selección.
• La selección se lleva a cabo mediante los bits: MUXn y REFS1:0 @ ADMUX
• El registro ADMUX puede ser actualizado de manera segura:
a) Cuando ADATE y ADEN están apagados (=0)
b) Durante la conversión (un ciclo de reloj después del disparo)
c) Después de la conversión (Antes de que la bandera de
interrupción usada como disparo sea borrada)
El cambio tendrá efecto en la siguiente conversión del ADC
11. • En modo “Single Conversion”: El canal debe ser seleccionado antes de
iniciar una conversión.
• En modo “Free Running”: El canal debe ser seleccionado antes de
iniciar la primera conversión. Al cambiarlo, el siguiente resultado refleja el
anterior canal; subsecuentes conversiones reflejaran el nuevo canal.
• Indica el rango de conversión (VREF)
- Si se excede de VREF a la entrada, resultan códigos cercanos a 0x3FF
- Puede seleccionarse: AVCC , una referencia interna de 1.1V, o una
referencia externa en el pin AREF.
• Se utiliza un capacitor entre AREF y GND (reducir ruido)
¡ Siendo AREF de alta impedancia, solo conectar cargas capacitivas !
12. • Funciona en el modo “sleep”, con la finalidad de reducir el ruido inducido
por el CPU y líneas I/O
• Procedimiento:
a) Asegurarse que el ADC no esté convirtiendo. (Single Convertion
Mode & ADC Convertion Complete Interrupt habilitada)
b) Entrar al “ADC Noise Reduction Mode” (Idle).
c) Al terminar la interrupción despertará al AVR antes de completar la
conversión, permanecerá activo hasta volver a “Idle”
13.
14. Algunas técnicas para evitar ruido interno y externo EMI:
a) Mantener las pistas con señales análogas lo más cortas que
se puedan. Asegurarse que corran sobre un plano de tierra
análoga, y mantenerlas lejos de pistas digitales de alta
frecuencia.
b) Utilizar una red LC para conectar el pin AVCC a VCC.
c) Utilizar la función “Noise Canceller” para reducir el ruido
inducido por el CPU del AVR
d) De utilizar algún pin del PORTC como salida, evitar
conmutaciones durante la conversión del ADC.
15. Después de completada una conversión (ADIF = 1), el resultado puede ser
encontrado en los Registros de Datos del ADC: ADCH y ADCL.
• Para una sola conversión (10-bits), el resultado es:
Si se requiere una menor resolución (8-bits), se
puede utilizar el bit ADLAR (ADC Left Adjust), lo
que permite leer ADCH únicamente
Donde: VIN es el voltaje en la entrada del ADC
VREF es el voltaje seleccionado como referencia
0x000 = GND
0x3FF = VREF – 1 LSB.