Qu'est-ce exactement que «dominant» et «récessif»?

Réponses:

13

Dominant est 0. Récessif est 1. Dominant s'applique à 0 parce que si deux ID d'arbitrage sont transmis en même temps et que les 4 premiers bits sont identiques et que le cinquième est 0 pour l'un d'entre eux et 1 pour l'autre, l'ID avec le 0 finira par être transmis. La transmission du message avec le plus grand ID d'arbitrage sera à nouveau tentée une fois que l'autre message sera terminé.

Solitz
la source
11

En plus de la réponse parfaitement exacte donnée ailleurs, il peut également être utile de considérer les significations de niveau inférieur des phrases dominantes et récessives . Dans CAN et LIN au niveau de la couche physique, le bus "flotte" vers un état particulier quand aucun nœud ne communique. C'est l' état récessif . Tout nœud qui pilote un bit dominant remplacera cet état (d'où le mot " dominant ").

Ceci est utilisé dans le protocole pour permettre à l'arbitrage non destructif de se produire, où le nœud avec l'ID le plus bas "gagne". Cela est dû à la décision de signifier une logique basse par un bit dominant .

(Les normes auraient pu être écrites dans l'autre sens. Rien n'exige qu'un bit dominant soit interprété comme un zéro dans tout autre contexte.)

Martin Thompson
la source
6
De plus, le bus CAN est câblé ET ... Et en fonctionnement ET, 0 "dominera" le 1.
Swanand
c'est un bon raccourci à retenir
poseid
C'est une réponse plus correcte que celle signalée. Les états dominants et récessifs sont utilisés dans de nombreux protocoles ou logiques de bus, pas seulement dans LIN ou CAN. Les sorties à collecteur ouvert sont couramment utilisées pour créer ces états.
Max Kielland
Ce "flottement" à l'état récessif est-il différent de la façon dont une résistance pull-up / down est utilisée pour choisir le niveau de tension par défaut (non piloté) (et donc le niveau logique) du bus? EG Certains bus passeront par défaut à logique haut via des tractions s'ils ne sont pas conduits vers le bas. Cela signifierait-il que la logique haute est récessive et que la logique basse est dominante?
Nicholas Miller
1
@NickMiller: c'est la même chose (voir aussi le commentaire de Swanand) - juste parce que CAN est différentiel, il y a deux fils qui doivent être tirés au niveau récessif (ou dans le cas de CAN "ensemble" à la même tension)
Martin Thompson