Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Curso AVRs 2008 - ADCs

1,499 views

Published on

Presentación
ADCs del AVR

Published in: Technology
  • Be the first to comment

Curso AVRs 2008 - ADCs

  1. 1. • 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
  2. 2. • 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.
  3. 3. • 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.
  4. 4. • 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
  5. 5. • 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 !
  6. 6. • 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”
  7. 7. 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.
  8. 8. 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.

×