2016-04-18 10 views
0

Ich bin mir bewusst, wie CAN-Bus seine Arbitration. Kurz gesagt gewinnt die CAN-Knoten-ID mit mehr '0' 's in ihrem Identifizierer den Ritus, um auf dem Bus zu übertragen, und den Rest der konkurrierenden Knoten zurück.CAN-Bus-Arbitration Backoff-Zeit

Aber ich finde keine Details von how long der ausgelagerte Knoten wartet vor dem erneuten Versuch, den Bus zurück zu gewinnen. Ich habe einige Quellen konsultiert, finde aber immer noch keine Antwort. Irgendwelche experimentellen Beweise dafür?

Bosch CAN

Introduction to the Controller Area Network

+0

Soweit ich mich erinnere, die Knoten, die Arbitration für die gesamte Nachricht des Gewinners Knoten immer noch aus. Thne versuchen, mit Arbitration und so weiter zu beginnen. – LPs

+0

Standard-CAN hat keine Knoten-IDs, aber Nachrichten-IDs. Dies ist ein wesentlicher Unterschied. – Olaf

Antwort

2

Es ist wieder frei, um zu versuchen, nachdem der Gewinnrahmen und kein dominantes Bit in dem „Pause Feld“ am Ende des CAN-Rahmen gefunden wurde, übertragen wurde. Sie werden wahrscheinlich eine formale Definition finden, wenn Sie die Spezifikation für "Pausenfeld" suchen, siehe zum Beispiel 3.1.5 der alten (veralteten) Bosch-Spezifikation, die Sie verlinkt haben.

Der wichtige Teil hier ist zu erkennen, dass jeder CAN-Controller auf jeden einzelnen Frame hört, auch wenn es nicht daran interessiert ist. So erreichen Sie Kollisionsvermeidung statt Kollisionserkennung.

1

Wie im Bosch CAN-Spezifikationsdokument erwähnt, können alle CAN-Knoten beginnen, ausstehende Telegramme zu senden, wenn Bus-Leerlauf auftritt (kein dominantes Bit auf dem Bus gefunden). Während der Unterbrechungsperiode im Interframe-Abstand kann kein Knoten senden (Overload-Frames können übertragen werden, nicht jedoch Data- oder Remote-Frames). CAN-Knoten müssen während dieser Zeit auf 3 rezessive Bits warten. Alle Knoten können direkt nach dieser Unterbrechungsperiode mit der Übertragung beginnen.

Wenn mehrere Knoten gleichzeitig nach der Pause beginnen, wird der niedrigste Bezeichner die Arbitration gewinnen. Wenn die Fern- und Datenrahmen (beide haben denselben Identifizierer) von verschiedenen Knoten starten, gewinnt der Datenrahmen die Arbitrierung.

0

Ich stimme den obigen Antworten zu, aber ich war auf der Suche nach mehr mathematische Analyse der CAN-Bus-Timings. Ich fand diese ausgezeichneten Vorlesungsnotizen: Time analysis of CAN messages . Kapitel 3