ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
2 мая
1371550 Топик полностью
Dingo (14.11.2023 07:41, просмотров: 295) ответил Eddy_Em на Синхронизация времени МК.
Главный шлёт своё время в широковещательном пакете(у CAN есть такой?), если разница больше предельно допустимой, то ведомые принудительно меняют своё время. Если меньше - пытается подстроиться, опираясь на предыдущую разницу и текущую, что-то вроде PD-регулятора. Для оценки коэффициентов пришлось модель рисовать, но получилось в итоге. По формату: советую не счётчик, а микро- или наносекунды в дробной части, чтобы что-то понятное было переносимей между проектами. Ну или 

можно с NTP-форматом заморочиться, двоичная дробная часть: 1/2+1/4+1/8+... Хотя в CAN смысла не вижу. Будьте внимательны при пересчёте, потому что число отсчётов в секунде может меняться, а не константа.