www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Laufzeitverzögerung CAN Optokopler


Autor: Mik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Helmut -dc3yc (dc3yc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Mik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schnellere Optokoppler? Hmm ich kenn nicht viel schnellere als diese 
Serie... Welche würdest du mir empfehlen?

Autor: Reiner S. (chickstermi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Martin L. (melvin_the_moose)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.