Я читаю таблицы данных по шине LIN, но, видимо, для CAN используется та же терминология.
Что означает «рецессивный» и «доминантный», например, http://hw-server.com/products/rs_optika/prevodniky_optika.html ?
Как соотносятся эти термины с «низким» и «высоким» или с 0 и 1?
Доминантный равен 0. Рецессивный равен 1. Доминантный относится к 0, потому что, если два идентификатора арбитража передаются одновременно и первые 4 бита одинаковы, а пятый равен 0 для одного из них и 1 для другого, идентификатор с 0 в конечном итоге будет передан. Передача сообщения с большим идентификатором арбитража будет предпринята снова после завершения другого сообщения.
В дополнение к совершенно точному ответу, данному в другом месте, также может быть полезно рассмотреть значения фраз « доминантный » и « рецессивный » более низкого уровня . И в CAN, и в LIN на физическом уровне шина «плавает» в определенном состоянии, когда ни один из узлов не обменивается данными. Это рецессивное состояние. Любой узел, который управляет доминирующим битом, переопределит это состояние (отсюда и слово « доминантный »).
Это используется в протоколе, чтобы разрешить неразрушающий арбитраж, когда узел с наименьшим идентификатором «выигрывает». Это связано с решением обозначать низкий логический уровень доминантным битом.
(Стандарты могли бы быть написаны наоборот. Ничто, требующее доминантного бита , не интерпретируется как ноль в любом другом контексте.)
Лундин