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