Oscilador interno o externo

20

Siempre uso el oscilador interno que tienen las fotografías, ya que nunca he encontrado la necesidad de ejecutar nada a una frecuencia superior a 8 MHz (que es lo más rápido que suelen ir las imágenes que uso). ¿Hay alguna razón, más allá de los 8 MHz, que signifique que debo usar un oscilador externo? Parece una cosa más que me vaya mal, pero me gustaría escuchar lo que hacen los demás.

    
pregunta SimonBarker

6 respuestas

31

Como han dicho otros, la frecuencia precisa y la estabilidad de la frecuencia son razones para usar un resonador o cristal cerámico externo. Un resonador es varias veces más preciso que el oscilador interno R-C y lo suficientemente bueno para la comunicación UART. Un cristal es mucho más preciso y necesario si está realizando otros tipos de comunicación como CAN, USB o Ethernet.

Otra razón para un cristal externo es la elección de la frecuencia. Los cristales vienen en una amplia gama de frecuencias, mientras que el oscilador interno suele ser una frecuencia con una opción de 4x PLL habilitada. Algunos PIC de 24 bits más nuevos tienen un multiplicador y un divisor en la cadena del reloj, por lo que puede elegir una amplia variedad de frecuencias desde la única frecuencia del oscilador interno.

Por supuesto, hay varias aplicaciones que requieren, de manera inherente, una frecuencia precisa o una sincronización distinta de las comunicaciones. El tiempo es la propiedad en la electrónica que podemos medir de forma más precisa y económica, por lo que a veces el problema se transforma en uno de medición del tiempo o la producción de pulsos con una sincronización precisa.

Luego hay aplicaciones que requieren cierta sincronización a largo plazo con otros bloques. Un oscilador del 1% estaría apagado más de 14 minutos por día si se usara como base para un reloj de tiempo real. También se puede necesitar un tiempo preciso a largo plazo sin tener que saberlo en tiempo real. Por ejemplo, suponga que desea que un grupo de dispositivos de bajo consumo se despierten una vez cada hora para intercambiar datos durante unos segundos y luego volver a dormir. Un cristal de 50 ppm (muy fácil de obtener) estará apagado a no más de 180 ms en una hora. Sin embargo, un oscilador R-C del 1% podría estar apagado por 36 segundos. Eso agregaría importantes requisitos de tiempo de encendido y, por lo tanto, de energía a los dispositivos que solo necesitaban comunicarse durante un par de segundos cada hora.

    
respondido por el Olin Lathrop
23
  1. Precisión. Los relojes internos no son precisos, pueden verse afectados por el ruido.

  2. Precisión independiente de la temperatura. Los osciladores típicos pueden variar enormemente. Los osciladores de compensación de temperatura especializados pueden ser necesarios en aplicaciones de baja o alta temperatura, o si la temperatura varía enormemente.

  3. Velocidad. Los osciladores internos pueden no alcanzar la velocidad máxima del IC. Los externos pueden ser necesarios para eso.

  4. voltaje. La velocidad de un temporizador interno puede depender de la tensión a la que se está ejecutando.

  5. Se necesitan varios relojes. Algunas aplicaciones quieren compartir un oscilador.

  6. Aplicaciones especiales en las que el reloj interno no se puede usar fácilmente. Dividir el reloj interno puede ser más difícil que lanzarle un reloj de cristal barato de 31 kHz, para aplicaciones de tiempo.

Fuera de la parte superior de mi cabeza, el ATMEGA 328 que utiliza el arduino requiere un cristal externo a 5 V para su velocidad máxima. La versión de lily pad se ejecuta a 8 MHz, en el oscilador interno porque está limitado a eso a 3.3v. El launchpad MSP430 Value Line está limitado a 10 MHZ a 3V, 8 a 2.5V.

    
respondido por el Passerby
13

La estabilidad de frecuencia será mayor con una externa. Por lo tanto, si tiene una aplicación que realmente depende de la frecuencia de mcu, es posible que deba usar una externa.

Pero la mayoría de los mcu: s modernos tienen un oscilador interno bastante estable, por lo tanto, creo que esto solía ser una cuestión más importante hace un par de años. También hay más y más formas de ajustar el interno, y compensar la variación de temperatura (etc., etc.).

Por otro lado, hay otras formas de asegurarte de que estás sincronizado. En algunos países, la estabilidad de frecuencia en la red de energía es 50Hz ± 0.01Hz y en otros lugares como Suecia en realidad tiene ± 0.001Hz y he visto proyectos usando esto para mantener las cosas sincronizadas. Y entonces ya no eres tan dependiente de la frecuencia de mcu y puedes usar el interno. Pero esto es un poco de tema :)

    
respondido por el Johan
2

La estabilidad de frecuencia es la principal, particularmente para comunicaciones en serie a alta velocidad. Pero eso también hace que surja la necesidad ocasional de un cristal con una frecuencia extraña aparente para obtener una velocidad de transmisión exacta, debido a las opciones limitadas que le ofrecen los divisores del reloj.

    
respondido por el Martin
1

En realidad, me he topado con un escenario en el que el 1% no era lo suficientemente bueno para UART.

Si alguno de ustedes ha oído hablar de la placa de desarrollo del microcontrolador Teensy ++ v1.0, tiene una UART muy sensible. Tuve la configuración de baudios de mi host en 115200, y en 115200, y durante mucho tiempo no pude averiguar por qué no estaba leyendo los datos correctamente. Resulta que mi anfitrión estaba enviando cerca de 114300 baudios. (115200 - 114300) / 115200 = ~ 0.9% de error. Lo probé con dos MCU diferentes y funcionaron bien.

El punto es: independientemente de su aplicación, si una mayor precisión de la frecuencia de reloj es un beneficio, debe usar un resonador externo, un cristal o incluso un oscilador si el chip no tiene los circuitos de conducción necesarios.

P.S. Me pregunto si alguien tiene alguna idea sobre qué opción de diseño de bajo nivel hicieron en el hardware de UART que lo hace tan sensible.

    
respondido por el NickHalden
1

Los osciladores de cristal de cristal externo son más precisos que los relojes internos, y deben usarse cuando sea necesario un tiempo preciso. A veces, para ahorrar dinero, los diseñadores usan los internos.

    
respondido por el Mahmoud Hosseinipour

Lea otras preguntas en las etiquetas