Hallo zusammen! Ich möchte ein Gerät, welches einen Low-Speed-CAN erwartet an einen High-Speed CAN-Bus anschließen. Die übertragungsraten beider Busse liegen bei 50kbit/s. Nun ist meine Frage, ob ich eine Art "Brücke" dazwischen hängen kann. Diese Brücke besteht im Idealfall nur aus zwei CAN-Transceivern (1x High-Speed, 1x Low-Speed) die miteinander verbunden sind (siehe Abbildung). Kann man auf diese Art und Weise zwei CAN-Busse miteinander verbinden? Über Tipps & Anregungen würde ich mich sehr freuen! Gruß, Alex
Alex Bürgel schrieb: > Kann man auf diese Art und Weise zwei CAN-Busse miteinander verbinden? Nein. Gleiches Problem wie bei den immer wieder auftauchenden Ideen eines CAN-Bus Repeaters. Die Transceiver nageln "dominant" aufgrund positiver Rückkopplung fest und speichern diesen Zustand unbegrenzt.
Warum verwendet man einen Highspeed-CAN und einen Lowspeed-CAN bei der gleichen Datenrate?
Wenn beide 2-Draht-CAN benutzen solltest du sie einfach direkt koppeln können. Gruß Fabian
Hallo Fabian, >Wenn beide 2-Draht-CAN benutzen solltest du sie einfach direkt koppeln >können. Hast du vielleicht "zuverlässige" Quellen dafür? In der Tat ist es so, dass wir die beiden Geräte aus "Unwissenheit" miteinander verbunden haben und sie sich auch gegenseitig verstehen. Es kam uns nur als "unsaubere" Lösung vor, da wir nicht wirklich wissen, warum es klappt...
Warum unsauber? Lowspeed oder Highspeed sagt ja nur was über die Geschwindigkeit aus. Wenn beide vom gleichen Typen sind z. Bsp. 2.0A dann sind die Frames gleich und dann sollte es auch keine Probleme geben. Aber ich verstehe noch immer nicht, warum man einen Highspeed-CAN mit 50 KBit/s nutzt. Der wird normalerweise mit 500 kBit/ oder 1 MBit/s genutzt.
Alex Bürgel schrieb: > Hallo Fabian, > >>Wenn beide 2-Draht-CAN benutzen solltest du sie einfach direkt koppeln >>können. > > Hast du vielleicht "zuverlässige" Quellen dafür? > > In der Tat ist es so, dass wir die beiden Geräte aus "Unwissenheit" > miteinander verbunden haben und sie sich auch gegenseitig verstehen. Es > kam uns nur als "unsaubere" Lösung vor, da wir nicht wirklich wissen, > warum es klappt... bei 2 geräten und gleicher baud ist das kein problem... bei lowspeed wird jedes gerät terminiert, bei highspeed nur anfang und ende des busses. da ihr aber eher ne direkt verbindung habt ist das kein problem. ihr solltet den bus aber auf jedenfall beim highspeed gerät mit 120ohm terminieren. http://digital.ni.com/public.nsf/allkb/84210794086E9C0886256C1C006BE6AE
>Lowspeed oder Highspeed sagt ja nur was über die >Geschwindigkeit aus. Das ist meines Wissens nach nicht richtig. Zumal sich die Übertragungsraten wohl überschneiden: Meines Wissens nach ist: 0 - 125kbit/s = Low-Speed 40 - 1000kbit/s = High-Speed Low-Speed = keine Terminierung (?) High-Speed = Terminierung von 2x 120 Ohm an beiden Enden Low-Speed funktioniert auch noch, wenn eine der beiden Leitungen durchtrennt wird. High-Speed nicht. Das sind alles Angaben ohne Gewähr...
Es ist ja so, dass CAN-HighSpeed und -LowSpeed sich primär in der maximal zulässigen Bitrate unterscheiden: 125kBit für LS und 1Mbit für HS. Ausserdem hat der LS noch den FailSafe-Betrieb mit nur einem Kabel (also nichtdifferentielle Übertragung). Wobei die offizielle CAN-Spec von Bosch diese Unterscheidung zwischen HS und LS gar nicht kennt. Solange also die Nutzungsparameter (Bitrate, Übertragungsweg, usw.) bekannt und identisch sind geht das. Die PHY-Spezifikation von CAN ist eh sehr vage und lässt viele Freiheiten, das Protokoll mit Arbitrierung usw. ist aber für LS und HS identisch. edit: die Terminierung würde ich trotzdem High-Speed-Typisch mit 2x120R vorsehen. Es schadet nix. Gruß Fabian
@Andi (xaos) Den Link, den du gepostet hast, habe ich auch gefunden. Dort steht (leider): >Note: Due to the different types of termination, one cannot use >high speed and low speed/fault tolerant CAN devices in the same > network.
Du kannst keine individuell terminierten LS-Geräte in ein HS-Netz einbinden ohne Probleme zu bekommen, das ist richtig. Aber bei 50kBit könntest du sogar auf eine Terminierung verzichten, wenn die Leitungslänge klein ist... Trotzdem funktioniert ein LS-Gerät ohne individuelle Terminierung in einem korrekt terminierten HS-Netz einwandfrei, sofern Zweidraht-Übertragung genutzt wird (also der LS-Transceiver nicht nur Eindraht-Ü unterstützt). Die Terminierung soll ja nur Reflexionen auf dem Bus unterbinden. Selbst ein HS-Netz ohne Terminierung funktionert bei kurzen Leitungen und 250kBit noch einwandfrei (getestet). Wie gesagt, falls du den FailSafe-Modus (Rückfall auf eine unipolare Leitung) nicht benötigst und korrekt nach HS-Manier terminierst, funktioniert das. Gruß Fabian
>Selbst ein HS-Netz ohne Terminierung funktionert bei kurzen Leitungen >und 250kBit noch einwandfrei (getestet). Das kann ich bestätigen ;-) Und wie gesagt, die beiden Geräte kommunizieren auch problemlos miteinander, nur war mir bisher nicht klar, warum... Dann werde ich es wohl einfach so belassen... Vielen Dank!
Stimmt die CAN-Spec unterscheidet nicht zwischen Highspeed und Lowspeed. Ich muss mich korrigieren. Wir nutzen halt den Highspeed mit einer Datenrate von 500 kBit/s im Bereich Motorsteuergerät und ich kenne gerade keine Highspeed Anwendung darunter aber es ist möglich, dass es sie gibt.
Fabian B. schrieb: > Wie gesagt, falls du den FailSafe-Modus (Rückfall auf eine unipolare > Leitung) nicht benötigst und korrekt nach HS-Manier terminierst, > funktioniert das. exakt. solange es nur 2 geräte sind geht das ganze problemlos. das HS gert trotzdem mit 120ohm terminieren :D wenn das ganze in einem can bus!!! (n geräte) hängt ist es was anderes..
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.