Forum: Mikrocontroller und Digitale Elektronik CAN-Bus: Arbitration


von Martin (Gast)


Lesenswert?

Wenn sich (der Einfachheit halber) zwei CAN-Knoten in der Arbitration 
befinden, senden beide Knoten ihre Adresse solange bis der mit der 
höheren Adresse unterliegt. Dies erkennt der unterlegende Knoten daran, 
daß er ein rezessives Bit (logisch 1) sendet, aber eine dominantes Bit 
empfängt (logisch 0).

Jetzt zu meiner Frage: Was macht ein Knoten, wenn er eine dominante 0 
sendet, aber eine rezessive 1 empfängt? Wird dieser Sachverhalt von den 
Konten überhaupt überprüft?

von Lutz (Gast)


Lesenswert?

>> Was macht ein Knoten, wenn er eine dominante 0
>> sendet, aber eine rezessive 1 empfängt?

CAN ist open collector; wenn einer eine Null sendet (den Bus 
runterzieht), kann keine "1" bestehen bleiben; sie wird auch 
runtergezogen.

von (prx) A. K. (prx)


Lesenswert?

Martin schrieb:

> Jetzt zu meiner Frage: Was macht ein Knoten, wenn er eine dominante 0
> sendet, aber eine rezessive 1 empfängt?

Schlag mal nach was ganz normalsprachlich "dominant" bedeutet, 
vielleicht klingelt es dann.

von Martin (Gast)


Lesenswert?

@ Lutz & A. K

Der Fall das ein Knoten eine 0 sendet, aber eine 1 empfängt, könnte im 
Fehlerfall auftreten.

Meine Frage zielt darauf ab, wie sich der Knoten in diesem Fall verhält. 
Konkret: wird dieser Fall überhaupt ausgewertet?

von (prx) A. K. (prx)


Lesenswert?

Das nennt sich "Bit Error". Wenn was anderes reinkommt und es nicht grad 
der dominante Pegel in Arbitration oder Acknowledgement ist.

Ergibt wie üblich Error-Frame und Wiederholung. Microchip AN713 
empfohlen.

von Martin (Gast)


Lesenswert?

Danke A. K., das war genau das Stichwort, das ich brauche.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.