Problema ADC con ATMEGA32 usando un reloj externo más de 8MHz

1

Se supone que mi código comprueba una señal de 50Hz con el ADC de AVR ATMEGA32. Funciona a 6MHz con un reloj externo tanto en real como en simulador. Pero cuando uso un reloj externo de 12MHz, el ADC no funciona bien en realidad y casi pierde las señales de CA.

Cuando uso el simulador, es perfecto, pero en realidad no lo es. He configurado el bit de fusible y enciendo y apago el ADC antes de cualquier lectura.

¿Alguna idea? gracias

    
pregunta Toby Jaffey

2 respuestas

3

Es posible que deba reducir la velocidad del ADC. El convertidor de analógico a digital funciona a la mitad de la frecuencia del reloj del sistema de manera predeterminada, por lo que a 6 MHz, el reloj de entrada del ADC es de 3 MHz. La configuración de ADCSRA |= 2 (para el ATmega328, sección de hoja de datos 23.9.2, página 265) divide el reloj por 4 en lugar de por 2. 12MHz / 4 = 6MHz / 2 = 3MHz.

    
respondido por el joeforker
0

Asegúrese de que el propio atmega admita 12 Mhz

    
respondido por el mohamed

Lea otras preguntas en las etiquetas