¿Cuál es la filosofía o el enfoque adoptado para implementar funciones altamente críticas en el tiempo en los microcontroladores, si existen?
Estoy trabajando en un proyecto que implica generar una forma de onda de onda cuadrada precisa de frecuencia variable. Lo he hecho usando un temporizador y una función de interrupción. Sin embargo, incluso para implementar esto correctamente, tuve que calibrar el desplazamiento para el número de ciclos de reloj tomados durante la rutina de servicio de interrupción. Me imagino que esta precisión se vería afectada por tener otra forma de onda similar al lado (digamos que la frecuencia debe cambiarse exactamente al mismo tiempo). Tener un microcontrolador cada uno, por cada función crítica de ese tiempo parece un desperdicio.
Tome otro ejemplo, de implementar una función de reloj (como en hh: mm: ss). No puedo imaginar que cada controlador / micron de alto nivel tenga un chip de reloj dedicado en tiempo real únicamente para realizar un seguimiento de la hora. Sin embargo, me resulta difícil imaginar que se mida con precisión usando el procesador central, que está ocupado atendiendo una gran cantidad de funciones que se producen en intervalos asíncronos mientras tanto. Me imagino que el conteo de tiempo tendría errores de compensación, que cambian según las funciones que se estén ejecutando.
¿Existe un proceso de diseño o enfoque para contener o dar una tolerancia a la precisión alcanzable? ¿O alguien tiene alguna sugerencia o sugerencia sobre dónde podría encontrar más información al respecto?