Forum: Mikrocontroller und Digitale Elektronik Funktionsweise CAN <-> LWL <-> CAN


von Martin (m-ge)


Lesenswert?

Hi,

es gibt von Peak System ein Gerät PCAN-LWL (Ankopplung für optische 
Übertragung von CAN- und CAN-FD-Daten). Mit dem kann man eine 
CAN-Verbindung über LWL betreiben: 
https://www.peak-system.com/PCAN-LWL.214.0.html .

Man schaltet 2 dieser Teile in eine bestehende CAN-Verbindung mit LWL 
dazwischen.

Wie funktioniert so eine Umsetzung technisch? Die Kommunikation geht ja 
in beide Richtungen, das ist dadurch nicht trivial. Ist das mit einem 
Mikrocontroller gelöst oder geht das auch ohne?

von Helmut -. (dc3yc)


Lesenswert?

Beim analogen Telefon nennt man das Gabelschaltung. Für digitale Signale 
kann man das auch nachbauen ohne Prozessor. Ist halt etwas Logik 
dahinter, aber geht schon. Das ist ähnlich einem CAN-Repeater oder einem 
optischen Isolator mit Optokopplern. Genaue Beschreibungen finden sich 
bei diversen Herstellern und im Wikipedia.

von Martin (m-ge)


Lesenswert?

Helmut -. schrieb:
> Genaue Beschreibungen finden sich
> bei diversen Herstellern und im Wikipedia.

Könntest Du mir einen Tipp geben, mit welchen Begriffen ich genau suchen 
muss? Bisher bin ich selbst nicht weiter gekommen.
Bzw. einen konkreten Link zu entsprechenden Infos nennen? Ein Schaltplan 
einer solchen Schaltung wäre super.

von Gerd E. (robberknight)


Lesenswert?

Helmut -. schrieb:
> Beim analogen Telefon nennt man das Gabelschaltung. Für digitale Signale
> kann man das auch nachbauen ohne Prozessor. Ist halt etwas Logik
> dahinter, aber geht schon.

Naja, ganz so einfach ist das nicht. Der schwierige Teil ist das enge 
Timing. Denn bei CAN musst Du die CRC prüfen und hast dann nur wenige 
Takte Zeit zu entscheiden ob Du ACK sendest oder nicht. Und ein 
gesendetes ACK muss dann im richtigen Moment auf dem Rest des gesamten 
Busses ankommen.

Weil das bei höheren Datenraten auch schon mit normalem, direkt 
verbundenem, CAN-FD schwer wird, haben die dieses ACK-Konzept beim 
Nachfolger CAN-XL rausgeworfen.

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

CAN funktioniert mit einen dominanten ('0) und einen rezessiven('1') 
Signal und der Erkennung der Kanalbelegung wenn bei der Arbitrierung ein 
dominates Signal erkannt wird obwohl man selbst nur rezessiv "sendet". 
Das geht auch mit Licht, 'Licht an' ist dominant, Licht aus rezessive. 
Man darf aber nur mit solchen Baudraten senden, das die Erkennung noch 
innerhalb  des Taktes erfolgen kann.

von Dieter S. (ds1)


Lesenswert?

Wenn man in das PCAN-LWL Benutzerhandbuch schaut bekommt man einige 
Hinweise zur Funktion, z.B. gibt es jeweils zwei CAN Transceiver 
(Low-/High-Speed, maximal 500 kBit/s bei High-Speed) von denen man einen 
auswählen muss und die Verbindung zwischen den beiden Modulen erfolgt 
durch zwei Lichtwellenleiter.

von Thomas F. (igel)


Lesenswert?

Martin schrieb:
> Wie funktioniert so eine Umsetzung technisch? Die Kommunikation geht ja
> in beide Richtungen, das ist dadurch nicht trivial.

Man muss nur die Bedienungsanleitung lesen:

https://www.peak-system.com/produktcd/Pdf/Deutsch/PCAN-LWL_UserMan_deu.pdf

Auf Seite 7 steht dann:
1
Ein PCAN-LWL-Modul hat zwei standardisierte ST-Steckverbinder für die
2
Lichtwellenleiter. Die Anschlüsse sind gesondert für das Senden und Empfangen von Lichtsignalen zuständig.
3
Die beiden Lichtwellenleiter der Duplexleitung sind an den Anschlüssen farblich gekennzeichnet (rot/schwarz). Verbinden Sie jeweils den LWL-Ausgang eines Moduls mit dem LWL-Eingang des anderen.

Also zwei Leitungen, eine für jede Richtung.

von Martin (m-ge)


Lesenswert?

Thomas F. schrieb:
> Also zwei Leitungen, eine für jede Richtung.

Schon klar, dass man 2 Leitungen benötigt.

Aber wenn ich am Gerät 1 eine "0" sende, geht der CAN-Bus an Gerät 1 auf 
dominanten Pegel. Zeitverzögert auch auf CAN-Bus an Gerät 2. Das Ganze 
wird über den LWL Rückkanal zu CAN-Bus an Gerät 1 zeitverzögert 
zurückgegeben. Und dann hat man dauerhaft dominanten Pegel auf den 
CAN-Bussen (Selbsthaltung). Das Gerät 1 kann die "0" wegnehmen, aber der 
Pegel bleibt durch die "0" den Rückkanal erhalten. Zumindest so lange, 
bis der CAN-Transceiver seinen Timeout hat und den dominanten Pegel vom 
Bus trennt. Kann somit nicht funktionieren.

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Für die Bus Arbitrierung findet man einige Beispiele, z.B. das hier ("TI 
Designs: TIDA-01487 - Isolated CAN FD Repeater Reference Design" unter 
"2.4.3 CAN Bus Arbitration Logic"):

https://www.ti.com/lit/pdf/tidudb5

von Harald A. (embedded)


Lesenswert?

Hier in diesem Artikel wurde das aufgebaut, leider ohne nähere 
Beschreibung der Hardware.
https://www.spiedigitallibrary.org/conference-proceedings-of-spie/13699/136995G/CAN-bus-communication-over-optical-wireless/10.1117/12.3075349.full

Dort wird auch beschrieben, dass das ACK durch die Kette eine 
Herausforderung bleibt. Und dann gibt es noch das Problem mit dem 
dominanten Pegel, so wie in anderen Repeater-Konzepten auch.

Man könnte all diesen Probleme aus dem Weg gehen, in dem man auf beiden 
Seiten einen ganz normalen CAN-Knoten aufbaut und die Information via 
RX/TX (z.B. LAWICEL) seriell austauscht. Ja, ich weiß, ist in vielen 
Aspekten nicht das identische Verhalten (Remoteframes werden schwierig - 
wenn man es denn unbedingt braucht), wird aber für viele Anwendungen 
trotzdem reichen.

von Helmut -. (dc3yc)


Lesenswert?

Martin schrieb:
> Könntest Du mir einen Tipp geben, mit welchen Begriffen ich genau suchen
> muss? Bisher bin ich selbst nicht weiter gekommen.

Mit "CAN repeater" hatte ich schon ein Stichwort gegeben. Hier ist mal 
ein konkreter Link: 
https://www.ems-wuensche.com/can-technology/can-repeater-inhibit-time/
Diese Inhibit time ist wichtig, damit man keinen dominanten Loop 
bekommt. Soo schwierig ist das nicht. Ich habe selber in den 90er 
Jahren, als wir mit der CAN-Steuerung unserer Geräte anfingen, so ein 
Ding designed. War ein kleines EPLD mit zwei Optokopplern und zwei 
CAN-Transceivern. Für LWL-Anschluss braucht man halt die optischen 
Interfaces und die Logik dazwischen.
Viele Specs über CAN findest du bei der CiA 
(https://www.can-cia.org/news). Wir waren damals Gründungsmitglied und 
hatten viel mit Holger Zeltwanger zu tun.

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
Noch kein Account? Hier anmelden.