Hallo, ich würde gerne die maximale Leitungslänge meines CAN Netzwerkes bestimmen. Am liebsten per Rechung um das ganze ohne Aufbau erstmal abzuschätzen. Bei CAN 1 MBit/s wird eine Leitungslänge von 40 m spezifiziert. Wenn ich eine galvanische Trennung durch Optokoppler einbaue, die ja durchaus eine Laufzeitverzögerung von 50 ns haben, wird diese maximale Länge verkürzt. Bin mir jetzt nicht sicher wie ich das am besten berechnen kann. Wie beurteilt ihr folgende Betrachtung? - 2 CAN Knoten jeweils mit Optokopplern, 1 MBit/s - Controller des Knoten 1 sendet eine CAN Nachricht. - Diese wird durch den Optokoppler in CAN Knoten 1 verzögert (50ns) - Ich gehe davon aus, dass das Signal auf der Leitung mit ca. 6 ns/m sich ausbreitet - Nachricht gelangt zu Knoten 2 - Nachricht wird wieder um den Optokoppler verzögert. (Dies ist ja soweit kein Problem, da der CAN Controller ja auf die erste fallende Flanke synchronisisert) - Knoten 2 empfängt Nachricht korrekt. - zieht die Leitungen auf den dominanten Pegel für eine ACK (Verzögerung um wenige ns, auf Grund der Reaktionszeit des CAN Controllers, nehme an 100 ns) - ACK wird um Optokoppler in Knoten 2 verzögert - Laufzeitverzögerung durch die Leitung (6 ns/m) - ACK wird um Optokoppler in Knoten 1 verzögert - Knoten 1 tastet Leitung bei ca. 75 % einer Bitzeit ab Also wenn ich das jetzt mit den oben angegebenen Werten berechne, komme ich auf folgendes Ergebnis für die maximale Länge: - 4 * 50 ns + 100 ns + 2 L 6 ns/m <= 750 ns - Da komme ich auf 37,5 m und irgendwie kann ich das net glauben... Gehe ich da vollkommen falsch an die Sache ran? Gruß vom Mik
Hallo Mik, du hast die Propagation delays der Transceiver und der CAN-Controller nicht mit eingerechnet! Meine Rechnung ist einfacher: Normale Leitungslänge: 40m abzüglich 4*prop.delay (Hin-Rück Knoten1 und Hin-Rück Knoten2) ist in deinem Fall 200ns; entspricht 33m. Bleiben noch 7m übrig. Ich würde wesentlich schnellere Optokoppler verwenden, denn sonst bleibt zu wenig Reserve übrig. Oder gehe mit der Geschwindigkeit herunter! Servus, Helmut.
Schnellere Optokoppler? Hmm ich kenn nicht viel schnellere als diese Serie... Welche würdest du mir empfehlen?
Schau dir mal diese Teile an... Ich hab damit in meiner alten Firma mal nen galvanisch getrennten CAN-Bus umgesetzt. Hat super funktioniert... http://www.analog.com/en/prod/0%2C2877%2CADUM1201%2C00.html Die gibt es in 3 Geschwindigkeitsbereichen, wir konnten mit der langsamsten Variante bis 200kB fahren, die schnellste Variante lief auch bei 1MB noch stabil... gruß reiner
Hallo Mik, ich bin heute im Etschberger, "Controller Area Network" über folgende Rechnung gestolpert: Lmax = ((x/2*BR)-T_el)/t_p ;x: Abtastzeitpunkt < 100% Unter den Annahmen x = 75%, t_p = 5 ns/m (spezifische Signallaufzeit) und T_el = 300ns (angenommene Verzögerungszeit der CAN-Protokollbausteine und Transceiver) ergibt sich daraus eine max. Leitungslänge von 15m bei 1MBaud ohne Optokoppler. Erhöht man nun durch HInzufügung der Optokoppler die Zeit T_el um 200 ns (4*50 ns), wird die max. Leitungslänge negativ, d.h., mit diesen Optokopplern geht das schon theoretisch nicht mehr. Die Schrauben, an denen man drehen kann: - Abtastzeitpunkt nach hinten schieben - T_el verkürzen (schnellere Optokoppler) - Baudrate heruntersetzen Gruß, Martin
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.