He visto preguntas como esta que hablan sobre la selección de un cristal para UART y he visto preguntas como esta que mencionan 32.768 kHz para RTC. Pero, ¿cómo decido el cristal adecuado para mi aplicación?
En este momento no estoy seguro de qué baudios UART usaré, pero será uno de los estándar. Sería bueno poder obtener un tiempo semi exacto en milisegundos, pero no es un requisito. Intuitivamente, creo que ir con el cristal más rápido que puede usar mi micro me dará la mayor flexibilidad, pero ¿hay algo que me falta? ¿Existe una frecuencia de "propósito general" que la gente usa?
Respuestas:
Honestamente, podría pasar horas describiendo las diferentes frecuencias y por qué usarlas, ¡pero alguien ya lo ha hecho!
http://en.wikipedia.org/wiki/Crystal_oscillator_frequencies
Esta tabla tiene una columna UART para indicarle qué frecuencias UART divide bien.
También le indica cuándo una frecuencia es un cristal estándar para un sistema de comunicación específico.
fuente
Intuitivamente, yo gustaría utilizar el cristal más lentos que funciona para mi aplicación. Obtendrá menos deriva del reloj y las trazas de circuitos generalmente se comportan mejor a frecuencias más bajas.
Por otro lado, si desea hacer cosas cada pocos milisegundos, puede hacer algo similar a lo siguiente:
No estoy seguro de qué micro está utilizando, pero MPLAB tiene utilidades para medir el tiempo que tardan los eventos, por lo que puede usar eso para ajustar el valor de restablecimiento de TMR1 para lidiar con cualquier sobrecarga y / o un reloj inexacto. Los cristales pueden variar lo suficiente como para que esto no sea factible en un entorno de producción ... no estoy seguro.
fuente