O que exatamente é "dominante" e "recessivo"?

Respostas:

13

O dominante é 0. O recessivo é 1. O dominante se aplica a 0 porque se dois IDs de arbitragem estão sendo transmitidos ao mesmo tempo e os 4 primeiros bits são iguais e o quinto é 0 para um deles e 1 para o outro, o ID com o 0 acabará sendo transmitido. A transmissão da mensagem com o ID de arbitragem maior será tentada novamente depois que a outra mensagem for concluída.

Solitz
fonte
11

Além da resposta perfeitamente precisa dada em outro lugar, também pode ser útil considerar os significados de nível inferior das frases dominantes e recessivas . Tanto no CAN quanto no LIN na camada física, o barramento "flutua" para um estado específico quando nenhum nó está se comunicando. Este é o estado recessivo . Qualquer nó que conduz um bit dominante substituirá esse estado (daí a palavra " dominante ").

Isso é usado dentro do protocolo para permitir a arbitragem não destrutiva, onde o nó com o ID mais baixo "vence". Isso ocorre devido à decisão de significar uma lógica baixa por um bit dominante .

(Os padrões poderiam ter sido escritos ao contrário. Não há nada que exija que um bit dominante seja interpretado como zero em qualquer outro contexto.)

Martin Thompson
fonte
6
Além disso, o barramento CAN é AND-Wire ... E, na operação AND, 0 "dominará" o 1. #
282
esse é um bom atalho para lembrar
poseid
Esta é uma resposta mais correta que a sinalizada. Estados dominantes e recessivos são usados ​​em muitos protocolos de barramento ou lógica, não apenas em LIN ou CAN. As saídas de coletor aberto são comumente usadas para criar esses estados.
Max Kielland
Esse "flutuar" para o estado recessivo é diferente de como um resistor pull-up / down é usado para escolher o nível de tensão padrão (não acionado) (e, portanto, o nível lógico) do barramento? Por exemplo, alguns barramentos assumem a lógica alta por meio de pull-ups, se não estiverem sendo acionados. Isso significaria que a lógica alta é recessiva e a lógica baixa é dominante?
Nicholas Miller
1
@NickMiller: é o mesmo (veja também o comentário de Swanand) - apenas porque o CAN é diferencial, existem dois fios que precisam ser puxados para o nível recessivo (ou no caso do CAN "juntos" na mesma voltagem)
Martin Thompson