Was genau ist "dominant" und "rezessiv"?

Antworten:

13

Dominant ist 0. Rezessiv ist 1. Dominant gilt für 0, denn wenn zwei Arbitrierungs-IDs gleichzeitig übertragen werden und die ersten 4 Bits gleich sind und das fünfte 0 für eines von ihnen und 1 für das andere ist, ist die ID mit Die 0 wird am Ende übertragen. Die Übertragung der Nachricht mit der größeren Arbitrierungs-ID wird erneut versucht, nachdem die andere Nachricht abgeschlossen ist.

Solitz
quelle
11

Zusätzlich zu der vollkommen genauen Antwort, die an anderer Stelle gegeben wird, kann es auch nützlich sein, die Bedeutungen der Phrasen dominant und rezessiv auf niedrigerer Ebene zu berücksichtigen . Sowohl in CAN als auch in LIN auf der physischen Schicht "schwebt" der Bus in einen bestimmten Zustand, wenn keine Knoten kommunizieren. Dies ist der rezessive Zustand. Jeder Knoten, der ein dominantes Bit steuert , überschreibt diesen Zustand (daher das Wort " dominant ").

Dies wird innerhalb des Protokolls verwendet, um eine zerstörungsfreie Arbitrierung zu ermöglichen, bei der der Knoten mit der niedrigsten ID "gewinnt". Dies ist auf die Entscheidung zurückzuführen, ein logisches Tief durch ein dominantes Bit zu kennzeichnen .

(Die Standards könnten umgekehrt geschrieben worden sein. Es gibt nichts, was verlangt, dass ein dominantes Bit in einem anderen Kontext als Null interpretiert wird.)

Martin Thompson
quelle
6
Außerdem ist der CAN-Bus drahtgebunden ... Und im UND-Betrieb "dominiert" 0 den 1.
Swanand
Das ist eine schöne Abkürzung, an die man sich erinnern sollte
posiert
Dies ist eine korrektere Antwort als die gekennzeichnete. Dominante und rezessive Zustände werden in vielen Busprotokollen oder -logiken verwendet, nicht nur in LIN oder CAN. Open-Collector-Ausgänge werden üblicherweise zum Erstellen dieser Zustände verwendet.
Max Kielland
Unterscheidet sich dieses "Floating" in den rezessiven Zustand von der Verwendung eines Pull-Up / Down-Widerstands zur Auswahl des Standardspannungspegels (nicht angetrieben) (und damit des Logikpegels) des Busses? EG Einige Busse sind standardmäßig über Klimmzüge auf logisch hoch eingestellt, wenn sie nicht heruntergefahren werden. Würde dies bedeuten, dass logisch hoch rezessiv und logisch niedrig dominant ist?
Nicholas Miller
1
@ NickMiller: Es ist genau das gleiche (siehe auch Swanands Kommentar) - nur weil CAN differenziell ist, müssen zwei Drähte auf den rezessiven Pegel gezogen werden (oder im Fall von CAN "zusammen" auf die gleiche Spannung)
Martin Thompson