Ich lese Datenblätter auf dem LIN-Bus, aber anscheinend wird für CAN dieselbe Terminologie verwendet.
Wofür stehen "rezessiv" und "dominant", z. B. http://hw-server.com/products/rs_optika/prevodniky_optika.html ?
Wie hängen diese Begriffe mit "niedrig" und "hoch" oder 0 und 1 zusammen?
digital-logic
can
bus
Poseid
quelle
quelle
Antworten:
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.
quelle
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.)
quelle