resonador de cristal ATmega168 más de 20 MHz

2

Intento hacer un WAV basado en una tarjeta SD con ATmega168 . He conectado un cristal de cuarzo de 16 MHz, y puede proporcionar una frecuencia portadora de 64 kHz y una frecuencia de muestreo de 8 kHz.

Pero en ese proyecto puedo multiplicar mi frecuencia. Así que conecto un cristal de cuarzo de 16 MHz a ATtiny85 , lo multiplico a 64 MHz y ofrezco una frecuencia portadora de 250 kHz y Una frecuencia de muestreo de 32 kHz, mucho mejor.

No puedo encontrar una función de multiplicación en la hoja de datos de ATmega168, ¿puedo conectar un cristal de cuarzo de 64 MHz a MK?

    
pregunta gek0n

3 respuestas

4

No puedes hacer esto. La arquitectura no está diseñada para funcionar a velocidades de reloj de más de 20 MHz, habrá un comportamiento indefinido.

Las fuentes de reloj externas no se multiplican dentro de los AVRs / ATtiny, solo se dividen. Los procesadores más avanzados como los procesadores ARM Cortex de la serie SAM de Atmel tienen circuitos PLL integrados para la multiplicación de frecuencias, lo que le permite darle una fuente externa de 12 MHz y multiplicarla hasta los 64,72, 120 MHz, etc. requeridos para el reloj maestro . Parece que la serie ATtiny x5 tiene un PLL interno con un multiplicador x8, pero eso es solo para "periféricos", que es todo lo que necesitas para los temporizadores y los periféricos PWM.

En los chips AVR que estás utilizando, si lees las hojas de datos no pueden funcionar en un reloj maestro de más de 20 MHz, e incluso eso lo está presionando si tienes un suministro de energía de baja calidad o condiciones de temperatura.

En el ATmega168 puede PWM a aproximadamente 250 kHz con un reloj maestro de 16 MHz (de fuente externa) usando el modo "PWM rápido" del chip, sacrificando la resolución de bits a solo PWM de 6 bits.

Necesita leer más sobre las fuentes de reloj, la división de reloj, cómo estos ATmegas manejan sus relojes y cómo se usan los "temporizadores" con el hardware PWM para crear estas señales de "operador" a altas velocidades que está buscando .

    
respondido por el KyranF
3

No, no funcionará. Consulte la ficha técnica. Hay grados de velocidad de 10MHz y 20MHz.

    
respondido por el Matt Young
3

ATMega168 no tiene el periférico PLL interno de 64MHz que está buscando, lo que de hecho multiplica la frecuencia del reloj para algunos de sus periféricos. La serie ATtinyX5 en el proyecto vinculado tiene tiene este PLL. Solo los periféricos específicos son compatibles con esta frecuencia PLL más alta y ciertamente no es el núcleo en sí, por lo tanto, no puede simplemente conectar un reloj externo de alta frecuencia al dispositivo.

Aquí hay algunos AVR que son más o menos similares al ATtinyX5 utilizado en el artículo vinculado, que sí tienen soporte para PLL:

ATtiny26
ATtiny261a (The 'a' is an essential part of the part number! Similar for the other part numbers.)
ATtiny461a
ATtiny861a
ATtinyx5
ATmega128rfa1
ATmega16m1
ATmega16u2
ATmega16u4
ATmega32c1
ATmega32m1
ATmega32u2
ATmega32u4
ATmega32u6
ATmega64c1
ATmega64hve
ATmega64m1
ATmega8u2
ATtinyx61

Pero asegúrese de revisar la hoja de datos antes de la compra, ya que la implementación y las frecuencias admitidas en dispositivos específicos pueden diferir.

    
respondido por el jippie

Lea otras preguntas en las etiquetas