Kann ich einen CAN-Knoten mit 250 kbit/s an einen CAN-Bus mit 500 kbit/s anschließen?

Ich versuche, ein automatisches Autogetriebe, das den CAN-Bus mit 250 kbit/s verwendet, mit einem Auto mit einer Busgeschwindigkeit von 500 kbit/s zu verbinden.

  1. Ist es möglich, Knoten mit unterschiedlichen Geschwindigkeiten am CAN-Bus zu haben?

  2. Wenn es nicht möglich ist, unterschiedliche Geschwindigkeiten zu haben, gibt es eine Möglichkeit, das zu erreichen, was ich tun möchte? Auf jeden Fall wäre ein Ansatzpunkt super.

1) Nein. 2) Unwahrscheinlich.
Nun, Sie könnten eine MCU mit zwei CAN-Schnittstellen (eine für jede Geschwindigkeit) dazwischen werfen, die die Überbrückung übernehmen würden.
@dim Es funktioniert nur, wenn das Gerät und der Gesamtverkehr eine geringe Bandbreite haben. Andernfalls werden nur Pakete verpasst.
@EugenSch. Natürlich. Ich bin davon ausgegangen, dass ein Getriebe keine Befehle mit hoher Geschwindigkeit sendet / empfängt, was möglicherweise falsch ist. Selbst wenn es OP gelingt, diesen Teil zum Laufen zu bringen, bin ich mir nicht sicher, ob Sie Autoteile wie diese ändern können, in der Hoffnung, dass alle Knoten im CAN-Netzwerk immer noch glücklich miteinander und mit der neuen Hardware sprechen.
@dim, also ist das nicht möglich? Ich würde gerne jedes kommerzielle oder Open-Source-Produkt ausprobieren, wenn Sie davon wissen, die Kosten spielen hier keine Rolle. Danke
@Dmitry Grigoryev, ich habe diesen Beitrag gelesen, in dem es darum geht, Hochgeschwindigkeitsdosen mit Niedergeschwindigkeitsbussen zu verbinden, was das Gegenteil von dem ist, was ich versuche.
@sDev Nun, ich kann mich irren, denn obwohl ich CAN kenne, weiß ich nicht, wie sie es in einem Auto verwenden. Aber CAN spezifiziert die unteren Schichten des Protokolls, aber es gibt keinen Standard, der sagt, welche Frames gesendet werden, wenn beispielsweise der Gangwechsel erfolgt. Wenn Sie also ein Getriebe einbauen, das von einer anderen Automarke / einem anderen Modell stammt, funktioniert das sicherlich nicht besser, als den CAN-Bus einfach nicht daran anzuschließen. Um das zu beheben, müsste das gesamte Auto Open Source sein (und das Getriebe).

Antworten (1)

Das grundlegende CAN-Protokoll unterstützt keine Knoten, die mit unterschiedlichen Bitraten laufen:

Die Geschwindigkeit von CAN kann in verschiedenen Systemen unterschiedlich sein. In einem gegebenen System ist die Bitrate jedoch einheitlich und festgelegt.

Die neuere Version des Protokolls namens CAN FD bietet, wie der Name schon sagt, Unterstützung für flexible Datenraten. Legacy-CAN-Hardware wird in CAN-FD-Netzwerken unterstützt, muss jedoch weiterhin mit einer bestimmten festen Bitrate ausgeführt werden.

Ich denke, Ihre einzige Möglichkeit ist, einen Router zu kaufen. Hier ist ein Beispiel für einen CAN-Router, der 4 Kanäle mit unabhängiger Bitratenkonfiguration unterstützt.

Danke für die Info, ich werde mir einen kaufen sobald er verfügbar ist.
@sDev Ich rate dir, selbst nach einem Router zu suchen, vielleicht findest du am Ende ein passenderes und/oder billigeres Produkt, das sofort verfügbar ist. Ich habe buchstäblich "can router" in das Suchfeld eingegeben und auf den ersten relevanten Link geklickt, nur um Ihnen zu zeigen, wie solche Router aussehen. Nehmen Sie sich Zeit, vergleichen Sie, lesen Sie die Spezifikationen, bevor Sie 700 Dollar dafür bezahlen.
Ich fürchte, Sie verschwenden Ihre Zeit. Wenn Sie eine andere Bitrate haben, sind die Informationen wahrscheinlich nicht kompatibel, da das Produkt für ein anderes Netzwerk entwickelt wurde. Selbst wenn Sie ein vorgeschlagenes Gateway setzen, das die Geschwindigkeit korrigiert, werden die Nachrichten wahrscheinlich keinen Sinn ergeben und es wird nicht funktionieren.