¿Diferencia entre el oscilador interno y externo para un microcontrolador?

6

Soy un principiante con respecto a los microcontroladores, así que solo quiero preguntar si hay dos opciones para elegir la frecuencia del microcontrolador: ¿ser interno o externo?

Si hay una frecuencia interna disponible en el controlador, ¿no necesitamos usar un oscilador de cristal externo?

    
pregunta Varun Sahni

3 respuestas

13

Depende de para qué quiere usar el procesador, el fabricante, etc. Los osciladores internos RC son "solo" buenos para una precisión del 1-2%, hay algunos procesadores que tienen registros de ajuste de sintonización que le permiten cambiar la frecuencia, por lo que con el software / calibración correctos, etc., puede obtener mejores resultados.

Para las comunicaciones de tipo de puerto serie (asíncronas), la inexactitud RC puede ser crítica a altas velocidades en baudios (generalmente a 230 kbps y superiores, dependiendo de la flexibilidad del procesador y del reloj de velocidad de transmisión)

Con los osciladores RC, normalmente obtiene 1 o 2 frecuencias, a menos que la MCU ofrezca capacidades PLL, en cuyo caso puede haber un amplio rango. Esto se puede usar como ventaja para escalar dinámicamente la velocidad del reloj para situaciones de alimentación de batería en las que no se puede "dormir" debido a situaciones de monitoreo complicadas, pero no es necesario que se esté agotando.

Un cristal puede obtener cualquier frecuencia que desee dentro de los límites de funcionamiento de la MCU, sin embargo, debe verificar que la carga sea correcta para que el oscilador arranque correctamente y sea preciso y estable con el tiempo y la temperatura.

Generalmente, el fabricante garantiza que el oscilador interno RC funciona sin problemas de diseño de hardware.

    
respondido por el isdi
7

La principal diferencia es que el oscilador interno generalmente es un oscilador tipo RC que no es muy preciso. Los osciladores externos pueden ser del tipo de cristal de cuarzo, que son mucho más precisos.

    
respondido por el Stefan Wyss
5

La mayoría de las diferencias prácticas que he encontrado:

  1. Estabilidad de frecuencia (especialmente a diferentes temperaturas). Depende de su aplicación si necesita un reloj muy estable o no. Una vez tuve problemas al utilizar un ATmega8 que se ejecuta desde el oscilador interno con un UART que perdió la sincronización por debajo de cero. Para VGA, un cristal es un deber.

  2. Consumo de energía: los osciladores internos generalmente serán más eficientes que los cristales externos

  3. Frecuencias disponibles. Por ejemplo, para obtener el tiempo ideal de UART de 115200 baudios en un ATmega8, necesitará un reloj con una frecuencia "extraña" de 7,3728 MHz, mientras que la frecuencia más cercana al reloj interno solo puede ofrecer 8 Mhz (por lo que algunos baudios no estarán disponibles). / p>

Dependiendo de la MCU exacta, también puede obtener una gran estabilidad de reloj si lo utiliza como dispositivo USB. El oscilador interno puede bloquear la señal de reloj del host USB (que está estabilizado por el cristal).

    
respondido por el filo

Lea otras preguntas en las etiquetas