CAN - Topologie

Gast #253558
Hallo,
ich habe im Wiki den Beintrag zu CAN als Hausbus gelesen. Besonders
interessant fand ich die Idee, Patchkabel sowohl für die Hin- als auch
Rückleitung zu verwenden. Mein Problem dabei: Wenn jetzt an diesem
Pseudo-Hub nicht alle Stecker verwendet werden ist der Bus an dieser
Stelle offen. Schöner wäre es jedoch meiner Meinung nach, wenn die
entsprechende Buchse überbrückt würde und der Bus am Ende sauber
terminiert. Leider gibt es meines Wissen nach keine Modularbuchsen mit
Öffner, so wie das bei Klingenbuchsen an Kofhörerausgängen gerne
gemacht wird. Hat jemand die vorgeschlagende Topologie aus dem Wiki
schonmal realisiert und einen Vorschlag zur eleganten Lösung? Danke im
Vorraus.
Ich hab das jetzt selbst noch nicht gemacht, aber man könnte in den
Verteiler über jede Buchse nen kleinen Schalter einbauen und den dann
eben per Hand umlegen. Oder einfach einen RJ45 Stecker als "Brücke"
modifizieren und alle freien Ports damit überbrücken.
Gast
Ich fürchte, es wird auf eine Schalterlösung hinauslaufen. Leider ist
mein Gehäuse recht klein. Das wird spaßig. ;) Alternativ kämen noch
DIP-Schalter oder Jumper in Frage. Dafür müßte man nur immer das
Gehäuse öffnen. Ich hatte mir auch überlegt, ein Leitung als
Anschlußleitung zu verwenden und das ganze elektrisch zu machen. z.B.
mit Optokopplern. Hat aber den Nachteil, daß permanent
Versorgungsspannung in der Box zur Verfügung stehen muß, wobei ich mir
eh überlegt hatte, kleinere Teilnehmer über die Leitung zu versorgen.
Allerdings weiß ich nicht, ob das mit den Optokopplern wirklich geht.
Hab mit den Dingern noch nie was gemacht.
Mit "Anschlussleitung" meinst Du eine Leitung die signalisiert ob ein
Stecker eingesteckt ist? Und dann sollen Optokoppler dementsprechend
umschalten?

Könnte gehen - Ich habe aber noch nicht sooo viel mit CAN
experimentiert, ob man die Signalleitungen einfach mit Optokopplern
umschalten kann, kann ich Dir nicht sagen.

Brauchst aber auf jeden Fall recht viele Optokoppler dafür ;)

Wär natürlich elegant, aber eine Brücke in Form eines umgebauten RJ45
Steckers ist wohl deutlich einfacher und billiger - oder eben doch
Schalter.
Gast
Aus Kosten- und Platzgründen werde ich wohl ein ein Patchkabel bzw.
einen einfachen RJ45-Stecker als Brücke verwenden. Wie schaut das denn
mit der Umsetzung aus. Hab noch keine Erfahrung mit RJ45 (immer
konfektioniert gekauft)? Kommt man auch ohne teure Crimpzange zurecht?
Also ohne Crimpzange kannst du das bei RJ45 vergessen... so eine Zange
ist schon ein halbes Meisterwerk, die leistet ziemlich viel...

Wie ist das denn wenn man den Bus mal so eben unterbricht, gibts dann
sofort ne Fehlermeldung, oder nur wenn grad ne Message geschickt wird?
Wer übernimmt eigentlich die Spannungsversorgung in so einem Bus, wenn
da jeder Teilnehmer fröhlich einspeist ist das vermutlich nicht so
lustig wenns da Potentialunterschiede gibt...
Gast
Über die Einspeisung habe ich mir auch Gedanken gemacht, da ich
zumindest Kleinstvebraucher wie eine kleine Wetterstation über den Bus
versorgen möchte. Momentan habe ich es dann doch so gelöst, daß meine
USB2CAN-Platine den Bus versorgt und später sollen es dann die 'Hubs'
übernehmen. Dafür hab ich einen Jumper. Da ja theoretisch jeder als
Versorger auftreten könnte, wäre eine Logik nur noch in Software (z.B.
als Teil des Protokolls) zu realisieren. Ich hab auch über eine
Entscheidungslogik via Flip-Flop (in etwa: schalte durch, wenn keine
Spannung auf dem Bus) nachgedacht. Blöd nur, wenn 2 oder mehr
Teilnehmer darauf warten, die Versorgung übernehmen zu können.
Über bessere Ideen würd ich mich natürlich auch freuen. Momentan ist
das einzig verläßliche der Jumper.
Gast
Hier mal zum Vergleich meine CAN-Bus Topologie...  nicht schimpfen....
:-)

Ich habe mir folgendes überlegt:
- Bin mit relativ niedriger Bitrate zufrieden, da ich kein MP3
streaming oder ähnliches plane.
- 50kbit sind absolut ausreichend.
- damit kommt man auf mehrere 100m Buslänge.
- Reflexionen an den Kabel-Enden spielen dann nicht wirklich eine
Rolle, zumal ich die Slope-Rate an den Can-Chips recht weich
einstelle.
- Deshalb reicht eine "Terminierung" in der Mitte des Busses völlig
aus.
- Ebenso in der Mitte wird über separate Adern die Versorgungsspannung
eingespeist (12V für Busmodule und anspruchslose Kleinverbraucher).
- Die Knoten werden über ein altes Cat5-Patchfeld und sog.
"dienstneutrale" Cat5-Kabel knallhart sternförmig verkabelt.

Das ist zwar nicht lege artis, aber ungemein praktisch und es
funktioniert bisher bestens, auch wenn ich gelegentlich meine
Experimentierumgebung zuschalte, die bisher noch eine eigentlich
falsche, zusätzliche Terminierung mitbringt. Mit den genannten Eckdaten
hat der CAN-Bus einfach jede Menge Reserve.

Dies mal als Anregung, was auch geht :-)

Gruß,
Ulrich
Ja. Ist schon selbstgebaut. Funktioniert aber noch nicht. Hab auf der
ersten Platine ein paar derbe Schnitzer gehabt. Hoffe, jetzt nichts
übersehen zu haben. Montag wird dann nochmal geätzt. Im Grunde hab ich
das gemacht, was viele mit ihren seriellen ISPs gemacht haben: Einfach
einen FTDI aufs board. Der Rest ist Standard. AVR, MCP2515 und
Bustreiber. Aber ich muß erstmal gucken, wie das alles so funktioniert.
Wegen meiner Studienarbeit komm ich nicht so recht voran. Aber wenn es
infos gibt, werde ich gerne darüber berichten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.