Hallo, Ich habe eine Frage in Bezug auf die Ring-Topologie. Zur Zeit habe ich das CAN-Netzwerk über eine Linien Struktur realisiert. Ich wollte nun es durch einen doppelten Ring aus design-technischen Gründen realisieren. Hat vielleicht jemand Erfahrung damit gemacht? Was ist denn dort besonders zu beachtenß Wie sieht es mit der Terminierung aus? Beste Grüße Fred
Hat niemand eine Erfahrung damit? oder ist die Frage zu elementar? In einem Ring wird das Signal der Nachricht immer weiter getragen. Somit läuft das Signal ständig im Ring und behindert andere Übertragungen, Wie also wird ein solches problem behandelt?
Ich denke mal, CAN ist dafür gar nicht ausgelegt. Du solltest mal bei den Token-Ring-Leuten (Staffelläufer) vorbeisehen, ob die noch ein paar Transceiver haben, die man verwenden kann. CAN baut zum Teil ja gerade auf Kollision, um Prioritäten zu ermöglichen. CAN ist nicht Punkt-zu-Punkt, es können Knoten ausfallen, ohne den Bus zu stören, es gibt auch Nachrichten, die niemanden erreichen, weil sie niemand interessiert.
Welche Vorteile sollte ein Ring gegenüber einem Bus haben? Der CAN funktioniert nur als Bus, nicht als Ring. Aber wenn du den Ring einfach durchschneidest und Terminierst, hast du doch einen Bus, der aussieht wie ein Ring. Wenn du einen Stern bauen wollen würdest, würde ich das ja noch verstehen...
Guten Tag, Ich hänge mich gerade mal hier an, weil es so schön dazu passt: Ich habe ein CAN System, 200kBits/s, und eine Baum / Stern Topologie: Twisted pair, die weitesten teilnemer ca. 60m entfernt, etwa 4 Sterne @ je 5-8 Zweige von 2-20m. Diese einzelne Sterne sind auf einer Hauptader von ca. 20m verteilt. Wie würdet Ihr da Abschlusswiderstände plazieren? Jedes Ende? Mitte jedes Sternes? Nur an den entferntesten Enden jedes Sternes? Vielen Dank für eure Unterstützung, mfg, Alexandre1978
CAN BUS hat nicht ohne Grund BUS im Name. Baum ist absolut verboten. Stern ist absolut verboten. kurz gesagt: Alles ausser Bus ist verboten. Die einzige Möglichkeit das zu umgehen ist eine Art Hub oder Switch zu bauen, welches den CAN Bus in mehrere kleinere Busse aufteilt. Aber sowas zu bauen ist auch nicht einfach. Meine Empfehlung: Bau das Netzwerk einfach als Bus auf.
>Baum ist absolut verboten. >Stern ist absolut verboten. >kurz gesagt: Alles ausser Bus ist verboten. Aber was verboten ist, macht ja gerade Spaß... ;-) Wir bauen hier seit über 10 Jahren Geräte mit >10 CAN-Knoten und den wildesten Verkabelungen. Auch zusätzlich extern anschließ- bare Geräte am selben einen "BUS" sind möglich und vorgesehen. Das ganze zwar "nur" auf 100kbit, weil bisher nie mehr gebraucht. Funktioniert jedoch absolut einwandfrei. Also sooo schwarz und weiß darf man das ganze nicht sehen.
Es schweift jetzt vielleicht schon etwas sehr vom Thema ab, aber was ich mich immer frage (also es gibt garantiert nen Grund - nur ich kenn ihn einfach nicht): Wieso soll z.B. ein Stern oder Ring bei CAN nicht funktionieren? Also es sind doch die gleichen Adern. Ob ich nun A mit B und B mit C verbinde, oder A mit B und A mit C, also das müsste doch egal sein!? Das Einzige, wie ich mir das erklären könnte wäre, dass es wegen der Verzögerung der Elektronen nicht geht, aber ich kann mir irgendwie nicht vorstellen, dass die so groß ist, dass die wirklich stören kann. Also Abschlusswiderstände dienen ja auch dazu, um Relexionen am Adernende zu unterdrücken. Beim Ring würde danach dann der Teilnehmer, der direkt neben dem Sender sitzt, das ganze zweimal bekommen - einmal von der einen Seite, direkt vom Sender, und einmal verzögert über den Ring. Aber hängt das wirklich damit zusammen?
Ich wüste nicht das es einen Ring Transceiver für CAN gibt. Die einzigste Möglichkeit die ich da sehe ist jeden Knoten mit zwei Transceivern auszustatten und dann das ganze ins Protokoll aufzunehmen, das die Software es dann weiterschickt. Sobald ein Knoten ausfällt ist natürlich Ende für alle dahinter => schlechte Idee Hier eine CAN HUB (Stern/Baum Topologie) Schaltung: http://oschmid.home.solnet.ch/mt/can-hub/can-hub.php Ich habe es bisher noch nicht gebraucht, sollte aber funktionieren. Das diskrete Zeugs sollte sich auch gut per FPGA erledigen lassen, bei niedrigen Geschwindigkeiten sogar nur mit einem kleinem µC.
ganz einfach: Stern und Ring bauen auf P2P (Peer to Peer)http://de.wikipedia.org/wiki/Peer-to-Peer auf. Dies bedingt elektrisch separate verbindungen. in den Busssystemen I²C, 1wire, und CAN liegen die Bedingungen ganz anders verschiedenene Sender und Epfänger arbeiten auf eine leitung mit hoher Geschwindigkeit die signalausbreitung erfolgt mit Wellencharachter. Dies führt an jeder nicht (nichtangepassten)(stör)Stelle zu einer Teilreflektion. Offene Enden und Kurzschlüsse stellen insofern das gleiche verhalten dar eine Totalreflektion am Strombauch(Kurzschluss), offenes Ende Spannungsbauch. Die Folge sind Interferenzen auf der Leitung, welche die Pegel bis zur Unkenntlichkeit vermatschen können. mehere abschlusswiederstände verderben die anpssung ........ Deshalb wenn, von der Line abweisende Topologieen unumgänglich sind, Bridges verwenden. Diese Sache gewinnt mit zunehmender Bussgeschwindigkeit an Bedeutung, da dann die Welleneigenschafften der Sprungantwort auf der Leitung gegenüber der Quasigleichzeitigkeit zunehmen.
Guten Tag, Hallo zusammen, Ich weiss schon das CAN für BUS gedacht ist, und auch nur so die Enden Optimal abgeschlossen werden können. Ich empfehle auch unseren Kunden (wir haben ein Hausautomation Produkt) die Geräte Linienförmig anzuschliessen. So Viel zur Theorie. In der Praxis ist es aber so, dass es dann nicht mehr Linienförmig ist, aber Sterne auftreten ("es sind ja nur "KURZE" Leitungen"), und so die verschiedenen Sterne wieder zusammen Zentral miteinander verbunden werden. Für Hubs und so weiter ist leider meistens kein Platz, und auch keine Speisung vorhanden (unsere Geräte haben alle eine eigene Speisung). Nach vielen rumfummeln bekommt mann es auch zum laufen, aber ich hätte gerne ein paar Faustregeln wie mann es am besten angeht, um nicht ewig lange ze testen. Hier ein paar Eckdaten: - 200kBits - TJA1050 Treiber Twisted Pair, ungeschirmt (und nur 1 twisted pair, also nicht möglich Hin- + Zurück) - Meistens nur wenig Daten (1 Telegramm alle 40ms, mit 0 DatenBytes), darauf evtl. ein paar Geräte (0, 1, 2) die mit 2 Daten-Bytes antworten, Worst case 100 Geräte die auf das Telegramm Antworten. - Max. 100 Geräte (im jetzigen Fall ca. 60) - Im jetzigen Fall sind die entferntesten Geräte keine 60m weit. Vielleicht hat ja "ARM-Fan" einpaar tips aus Erfahrung? Da das Produkt noch nicht richtig vermarkt ist, spiele ich mit dem Gedanken die Geschwindigkeit evtl. auf 125k runterzuschrauben. Aber ich denke der jetzige Fall gehört zu den "kompliziertesten", und wenn ich ihn mit 200k zum laufen bekomme, weiss ich umsobesser dass es in zukunft mit 125k eigentlich einfach sein sollte. Also, wer hat tipps, welche mich da weiterbingen würden? Vielen Dank im Voraus, Alexandre1978 P.S.: Ich werde versuchen demnächst eine Zeichnung der Struktur einzuscannen, vielleicht kann es weiterhelfen.
alle 40ms ein Telegramm... wo ist der Sinn von 250 KBit, wenn Du 20Kbit nimmst funktioniert es auch und Du hast keine Probleme
Hi, Meistens wird nur alle 40ms 1 Telegramm gesendet, wodurch alle anderen Geräte abgefragt werden. Es kann sein, wenn irgendwo etwas gedrückt wird, dass 1-2 Geräte mit einem Tel. antworten, im worst case könnten aber theoretisch alle (max. 100) Geräte antworten. Dies wäre auch der Fall bei einer Visualisierung wo über ein spezielles Tel. ALLE abgefragt werden. Und das ganze sollte fertig sein, bevor das nächste Abfrage Tel. kommt, das heisst innerhalb 40ms. Daher der Grund. Als Anhang noch die aktuelle Struktur. An jedem Knoten oder Ende können auch mehrere Teilnehmer sein. Vielen Dank, mfg, Alexandre1978
Wenn ich das richtig sehe hast du da Stichleitungen von über 15m. Ich hoffe da steckt nix sicherheitsrelevantes dahinter. Mit CAN Bus hat die Verdrahtung auf jedenfall nichts zu tun. Möglich, dass es funktoniert, aber verlassen würde ich mich darauf nicht.
Hi, Es ist nichts Sicherheitrelevantes dahinter. Wenn 1x pro Monat ich auf eine Taste drücke und das Licht geht nicht sofort an, merke ich es nicht da das Telegramm 40ms Später (da ich die Taste immer noch drücke) wieder verschickt wird. Sollte das Telegramm falsch ankommen, passiert auch nichts weil ich erwarte das die taste mindestens eine bestimmte Zeit gedrückt bleibt. Ich bin aber auf der Suche nach dem richtigen Kompromiss Geschwindigkeit/Verdrahtung/Effizienz. Wie würde ich in solch einem Fall die Abschlusswiderstände am besten Dimensioniern und platzieren, und bei welcher Geschwindigkeit sollte es zuverlässig funktionnieren. Ich überlege auch evtl. ein Hub in die mitte zu tun, dann wäre alles viel besser, aber ich möchte lieber ohne auskommen. Irgendwelche Tipps? Vielen Dank Alexandre1978
@Willivonbienemaya Wie kommst du denn darauf, dass der Name BUS = Linienstruktur bedeutet? Natürlich ist Stern erlaubt und wird auch genutzt.
MrYahoo wrote: > @Willivonbienemaya > > Wie kommst du denn darauf, dass der Name BUS = Linienstruktur bedeutet? > Natürlich ist Stern erlaubt und wird auch genutzt. Du kennst dich aus, das merkt man gleich. Da macht argumentieren keinen Sinn.
Alexandre1978 wrote: > Es ist nichts Sicherheitrelevantes dahinter. Dann kannst du es so versuchen. Gehen wird es wohl. Nur die Zuverlässigkeit wird wahrscheinlich leiden. > Ich bin aber auf der Suche nach dem richtigen Kompromiss > Geschwindigkeit/Verdrahtung/Effizienz. > Wie würde ich in solch einem Fall die Abschlusswiderstände am besten > Dimensioniern und platzieren, und bei welcher Geschwindigkeit sollte es > zuverlässig funktionnieren. Die Frage mit der Geschwindigkeit kann man nur raten, nicht mit Sicherheit beantworten. Aber: Je langsamer, desto besser. Mit den Abschlusswiderständen würde ich an deiner Stelle Experimente durchführen. Wenn möglich schau dir die Signalform an und mach längere Tests bei denen du die Errorframes mitloggst. Ich könnte mir vorstellen, dass es am besten geht, wenn du entweder die beiden entferntesten Punkte terminierst (je 120 ohm) oder jedes Ende mit einem wesentlich höheren Widerstand terminierst. Du solltest aber in Summe immer auf etwa 60 ohm kommen, wenn du in den Bus reinmisst.
Zitat von Willivonbienemaya: CAN BUS hat nicht ohne Grund BUS im Name. Baum ist absolut verboten. Stern ist absolut verboten. kurz gesagt: Alles ausser Bus ist verboten. Aha, also alles was Bus im Namen hat ist ne Linienstruktur. Ich lache mich schlapp!! Mach weiter so
Das Wort "Bus" sagt doch absolut nichts über die Ausführung der Datenverbindung aus. Zitat Wiki: Der Bus ist ein im Bereich der Datenverarbeitung häufig verwendeter Begriff für ein Leitungssystem zum Austausch von Daten und/oder Energie zwischen potenziell mehr als zwei Teilnehmern. Ein Bus ist ein Leitungssystem mit zugehörigen Steuerungskomponenten, das zum Austausch von Daten und/oder Energie zwischen Hardware-Komponenten dient. Bussysteme finden Anwendung insbesondere innerhalb von Computern und zur Verbindung von Computern mit Peripheriegeräten, aber auch in der Ansteuerung von Maschinen (Feldbusse, Bushierarchie) sowie immer häufiger in Automobilen zur Verbindung der einzelnen elektronischen Systemkomponenten eines Fahrzeugs.
Meine Rede, aber Kollege Willivonbienemaya sieht das wohl anders. Na ja soll er seine "Busse" mal weiter aufbauen.
Ist mir schon aufgefallen, ich habs aber ignoriert, da es mit der Fragestellung nichts zu tun hat. Aber müllt ruhig alles voll, wenns Spass macht.
Ich hab noch ein paar links für die schlauen: http://de.wikipedia.org/wiki/Bild:NetworkTopologies.png http://www.elektronik-kompendium.de/sites/net/0503281.htm http://info.electronicwerkstatt.de/bereiche/uebertragung/netzwerktechnik/topologie/index.html Unter den Links geht recht deutlich hervor was eine Busstrukur ist.
Junge du merkst doch nix mehr. Wenn ich einen CAN-BUS nutze, sagt das noch gar nix über die Topologie aus. In Sternform nutze ich immer noch den CAN-Bus, da als Übertragungsmedium ein BUS-Kabel genutzt wird, wie dieses verlegt und wie oft es gespleisst wird ist scheissegal. Vergiss es einfach, das sind Perlen vor die Säue mit dir.
Hallo, der Thread ist zwar schon recht alt, ich möchte aber gern eine Lösung für eine redundante CAN-Ring Struktur aufzeigen: Das geht bei www.eks-engel.de mit optischen Konvertern, die CAN auf Glasfaser und zurück wandeln. Die optische Strecke ist dann ein redundanter Ring, der auch dann noch funktioniert, wenn er an einer Stelle unterbrochen wird.
Ich habe den Thread durch Zufall gefunden und kann die "Diskussion" zwischen Willivonbienemaya und MrYahoo, wenn auch schon einige Jahre alt, nicht unkommentiert so offen stehen lassen. Am Ende liest ein unbedarfter Nutzer das hier und ist danach völlig verwirrt, bzw. missinformiert. Wenn man im CAN Standard ISO 11898-5 liest, ist dort in der Abbildung 1 auf Seite 2 eindeutig eine Linientopologie mit 2 Abschlusswiderständen und der Bildunterschrift "Suggested electrical interconnection" abgebildet. Ähnlich in CiA 102 unter dem Kapitel 6.3: "The wiring topology should be as close as possible to a single line structure" Die Begründung für diese Empfehlung wird auch gleich mitgeliefert: "in order to minimize reflections". Beziehungsweise der Wiki-Artikel zum CAN: https://de.wikipedia.org/wiki/Controller_Area_Network#Topologie Durch den CAN-Standard ist damit eine Linien-/Bustopologie zwar nicht vorgeschrieben, sie wird aber aufgrund der Hochfrequenzeffekte wärmstens empfohlen. Stiche sind erlaubt, aber nur bis zu einer von der Bitrate abhängigen Gesamtlänge. An sich ist damit auch eine Stern-Struktur möglich, die Berechnung der dazu passenden Abschlusswiderstände ist aber aufwendig. Wenn man das ignoriert, kommt es halt zu Reflexionen im Signal. Diese müssen aufgrund einer niedrigen Baudrate und der Fehlertoleranz von CAN nicht zu sichtbaren Problemen führen, verschlechtern aber die Qualität und damit die Störsicherheit der Übertragung. Aber die praktische Einsatzmöglichkeit einer Ringtopologie im CAN (ohne Wandler auf optisch etc.) würde ich auch ausschließen.
Bei kurzen Leitungslängen funktionieren schon prinzipiell alle Topologien... VW (VAG) verbaut auch in den Autos wilde Topologien. Der Abschlusswiderstande sind dann über "viele" Steuergeräte verteilt. Ist aber streng genommen dann kein CAN nach Spezifikation mehr.
Wie gesagt: Bei kurzen Leitungslängen, niedrigen Baudraten und durch die Fehlertoleranz des CAN können auch wilde Verkabelungen zu einem an sich funktionierenden Netzwerk führen. Die Signalform wird aber kaum einem Rechteck ähneln und die Error Counter der Knoten sollte man sich besser nicht angucken... Die Betriebs-/Störsicherheit des Netzwerks wird damit recht niedrig sein. Wenn Bus kurz vor der Kotzgrenze betrieben wird und dann unvorhergesehene EMV auftritt oder der Bus einfach vor sich hin altert, dann muss man sich nicht wundern, wenn plötzlich gar nichts mehr geht.
:
Bearbeitet durch User
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.