спасибо. Интересная заметка. И ссылочки - хорошие.
Но больше всего повеселил коммент от ника "Никита Халтурин"!
вообще же, в подобного класса системах, первое, что делают в нормальных проектах - проводят синхронизацию по времени всех подсистем, выявляют потребность в минимальном отсчитываемом периоде (на уровне всей системы) и закладываются в поддержку на уровне всех связных интерфейсов процедур "синхронизации и установки времени".
Кстати, не понятно, зачем уж так строго закладываться на "натуральное время" в "такте системы".
В моей практике одним из самых удачных решений было назначение такта в виде 1/128 секунды (аппаратный таймер мог выдавать такты на выбор в 1/8, 1/128 и 1/1024 секунды. 1/8 была слишком "долгая", 1/1024 - уже была слишком "через чур", а 1/128-ая - чуть-чуть больше, чем надо по Котельникову-Найквисту. Вообще, я закладываюсь всегда на длительность такта системы в два раза меньше, чем минимально требуемое по задаче. Никогда не подводило.
Зато и выбор степени двойки сделал массу преобразований - тривиальными и ОЧЕНЬ быстрыми (только со сдвигами работа).