Какова философия или подход, применяемый для реализации чрезвычайно важных по времени функций в микроконтроллерах, если они есть?
Я работаю над проектом, предусматривающим вывод точного прямоугольного сигнала различной частоты. Я сделал это, используя таймер и функцию прерывания. Однако даже для правильной реализации мне пришлось откалибровать смещение по числу тактов, взятых во время процедуры обслуживания прерывания. Я предполагаю, что эта точность будет нарушена из-за наличия другой такой формы волны (скажем, частота должна быть изменена в одно и то же время). Наличие каждого микроконтроллера для каждой такой критически важной функции кажется расточительным.
Возьмем другой пример реализации функции часов (как в чч: мм: сс). Я не могу себе представить, что у каждого микроконтроллера / компьютера высокого уровня есть специальная микросхема часов реального времени, предназначенная исключительно для отслеживания времени. Однако мне трудно представить, чтобы его точно измеряли с помощью основного процессора, который занят обслуживанием множества функций, которые тем временем выполняются с асинхронными интервалами. Я полагаю, что при подсчете времени возникнут ошибки смещения, которые меняются в зависимости от выполняемых функций.
Существует ли процесс проектирования или подход к сдерживанию или предоставлению допуска к достижимой точности? Или у кого-нибудь есть какие-либо указатели или предложения, где я мог бы найти больше информации по этому поводу?