Forum: Mikrocontroller und Digitale Elektronik CAN isolieren mit LAN-Magnetics


von Aabeku K. (aabeku)


Angehängte Dateien:

Lesenswert?

Hi,
ich entwickle derzeit eine Kommunikationsschnittstelle die mehrere 
Standalone-Geräte verbinden soll. Da ich die GND-Führung sauber machen 
will, möchte ich pro Gerät nur eine Masseverbindung (gegen GND-Loops).

Nun zu dem Problem: Wenn ich isolierte CAN-Treiber verwende, so wird das 
ganze sehr teuer, da neben dem Treiber ebenfalls eine isolierte 
Spannungsversorgung gegeben sein muss. Damit kommt man auf etwa 15€-20€ 
pro Gerät mit min. einer Kommunikationsschnittstelle.

Wenn man statt der genannten Treiber LAN-Magnetics also ein Signaltrafo 
verwendet, so isoliert man die GND ebenfalls. Hier muss dann aus den 
Pulsen das Signal rekonstruiert werden. (Schematic anbei)

Jetzt zu den Fragen:

1. Benötigt man Freilaufdioden hinter den Trafos (so wie es jetzt 
dargestellt ist)? Eigentlich denke ich man könnte, die Dioden 
vernachlässigen, da keine wirkliche Last getrieben wird.

2. Wie sieht das EMV-Technisch aus? Was muss ich beachten oder ist das 
jetzt schon ein EMV-Albtraum?

3. Ist es überhaupt sinnvoll sich solche Gedanken zu machen? Die 
Taktfrequenz soll 100kHz betragen, Leitungslängen zwischen den Geräten 
sind bei max. 10m. Können GND-Loops bei diesem Aufbau vernachlässigt 
werden? Wie lösen andere dieses Problem?

Gruß

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Aabeku K. schrieb:
> Wie lösen andere dieses Problem?

Mit IsoSPI, das nutzt auch Ethernet-Transformatoren. Allerdings nicht 
gut für Multi-Master.

von Aabeku K. (aabeku)


Lesenswert?

Niklas G. schrieb:
> Allerdings nicht gut für Multi-Master.

Hmm schade, Multimaster ist eine Vorgabe meinerseits :/

von asd (Gast)


Lesenswert?

CAN verträgt ca. 2V Differenz der GND-Spannnungen der verbundenen 
Geräte. Wenn die Geräte also alle generell auf dem selben Potential 
liegen, das nur etwas verschoben sein könnte durch diverse Effekte, dann 
verbinde einfach CAN+ und CAN- und lass die GND-Verbindung am CAN 
Stecker weg. Dann hast du keine GND-Schleife und bis zu 2V Verschiebung 
der GND-Potentiale der Gegenstelle auch kein Problem.

von Aabeku K. (aabeku)


Lesenswert?

asd schrieb:
> CAN verträgt ca. 2V Differenz der GND-Spannnungen der verbundenen
> Geräte.

Angenommen 2 Geräte hängen am selben Netz, werden jedoch jeweils über 
ein Trafonetzteil versorgt. Ist dann garantiert dass die Geräte ein 
Potentialdifferenz von <=2V haben?

Schätzungsweise würde ich sogar sagen, dass dann bis zu 100V 
Potentialdifferenz typisch sein könnten. Ich habe aber dazu leider 
nirgends was gefunden. Wie hoch sind denn typischerweise 
Spannungsdifferenzen zwischen zwei isolierten Geräten die ca. 10m von 
einander entfernt augestellt sind?

Bei ESD kommen weitaus mehr als 100V zusammen und das ist auch 
typisch... Ich denke man kommt (wenn man Masseführungs sauber 
durchziehen möchte) nicht um isolation der Kanäle drum herum... :/

Beitrag #7340932 wurde vom Autor gelöscht.
von Frank K. (fchk)


Lesenswert?

Aabeku K. schrieb:

> Wenn man statt der genannten Treiber LAN-Magnetics also ein Signaltrafo
> verwendet, so isoliert man die GND ebenfalls. Hier muss dann aus den
> Pulsen das Signal rekonstruiert werden. (Schematic anbei)

Transformatoren können nur verwendet werden, wenn das Signal 
gleichspannungsfrei ist. Das ist bei Ethernet gegeben, das ist bei Audio 
gegeben, aber bei UART und CAN z.B. ist das ausdrücklich nicht gegeben.

Ein Trafo überträgt keine statischen Signale wie den rezessiven 
Ruhepegel eines CAN-Busses, sondern nur Signaländerungen. (Grundlagen 
E-Technik; nur ein sich zeitlich änderndes Magetfeld induziert eine 
Spannung in der Sekundärwicklung). Falscher Ansatz also.

Außerdem müsste man schauen, wie es mit der Signallaufzeit durch Deinen 
Filter aussieht. Das ist nämlich bei CAN eine kritische Sache, hier aber 
eh egal, weil die Gleichspannungsfreiheit schon nicht gegeben ist.

fchk

von Aabeku K. (aabeku)


Lesenswert?

Ich will auch gar keinen statischen Spannungen übertragen...

Der Aufbau im Bild verstärkt die Peaks die übertragen werden, wenn das 
Rechtecksignal von einem Pegel auf den anderen umspringt.

Der Schmitttrigger erledigt dann den Rest und macht aus den Pulsen 
wieder Rechtecke!

Gleichspannungsfreiheit ist hier also gegeben ;)

Inwiefern sind die Timings bei CAN kritisch? Was ich dazu sagen sollte, 
ich möchte nur die CAN-Übertragung verwenden. Das CAN-Protokoll wird 
hier nicht verwendet.

von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Aabeku K. schrieb:
> Angenommen 2 Geräte hängen am selben Netz, werden jedoch jeweils über
> ein Trafonetzteil versorgt. Ist dann garantiert dass die Geräte ein
> Potentialdifferenz von <=2V haben?
Wenn deine Geräte selbst isoliert sind (Trafonetzteil), dann braucht der 
CAN-Bus einen eigenen GND der die Geräte auf das gleiche Niveau bringt. 
Oder isolierte CAN-Treiber.

Aabeku K. schrieb:
> Bei ESD kommen weitaus mehr als 100V zusammen und das ist auch
> typisch
Für ESD wichtiger ist dann imho, die Busleitungen gegen das dazugehörige 
GND-Niveau zu sichern, z.B. mit PESD2CAN-Schutzdioden.

von Frank K. (fchk)


Lesenswert?

Aabeku K. schrieb:
> Ich will auch gar keinen statischen Spannungen übertragen...

Musst Du aber, wenn Du CAN oder UART verwenden willst. Sonst 
funktioniert das nicht.

> Inwiefern sind die Timings bei CAN kritisch? Was ich dazu sagen sollte,
> ich möchte nur die CAN-Übertragung verwenden. Das CAN-Protokoll wird
> hier nicht verwendet.

Das heißt Du willst nur CAN-Transceiver verwenden, aber keine 
CAN-Controller? Was hängt dann dahinter? UARTs?

fchk

PS: Für Dich könnte Single Pair Ethernet (SPE) in der Variante 
10-BaseT1S interessant sein. Das ist wie alle LAN-Standards 
gleichspannungsfrei, wird kapazitiv angekoppelt, ist damit galvanisch 
getrennt, ist ein Industriestandard und funktioniert deswegen auch im 
Gegensatz zu Deinem Murks.

https://www.electronicspecifier.com/industries/industrial/an-introduction-to-10base-t1s

von Aabeku K. (aabeku)


Lesenswert?

Aabeku K. schrieb:
> Der Schmitttrigger erledigt dann den Rest und macht aus den Pulsen
> wieder Rechtecke!

Schmitttrigger und Rise-/Fall-Zeit müssen natürlich aneinander angepasst 
werden. Kann man ja dementsprechend Treiber oder RC-Tiefpass auswählen 
(falls nötig).

von Aabeku K. (aabeku)


Lesenswert?

Frank K. schrieb:
> PS: Für Dich könnte Single Pair Ethernet (SPE) in der Variante
> 10-BaseT1S interessant sein. Das ist wie alle LAN-Standards
> gleichspannungsfrei, wird kapazitiv angekoppelt, ist damit galvanisch
> getrennt, ist ein Industriestandard und funktioniert deswegen auch im
> Gegensatz zu Deinem Murks.
>
> 
https://www.electronicspecifier.com/industries/industrial/an-introduction-to-10base-t1s

Fragwürdige Formulierung, aber danke für den Tipp.

von H. (Gast)


Lesenswert?

Den CAN-Treiber brauchst Du eh, also kommen an Zusatzkosten ein 
Digital-Isolator (z.B. ADUM12x1B oder 2x6N137) und einen DCDC-Wandler 
(z.B. RFM-0505S oder Würth 1769205132). Das kostet doch keine 15..20€.

von Thomas F. (igel)


Lesenswert?

Aabeku K. schrieb:
> Ich denke man kommt (wenn man Masseführungs sauber
> durchziehen möchte) nicht um isolation der Kanäle drum herum.

Man kann an den einzelnen CAN-Knoten auch ein Stütznetzwerk für Masse 
einbauen:
Beitrag "CAN Beschaltung (abschluss und normale Knoten)"

von Aabeku K. (aabeku)


Lesenswert?

H. schrieb:
> Den CAN-Treiber brauchst Du eh, also kommen an Zusatzkosten ein
> Digital-Isolator (z.B. ADUM12x1B oder 2x6N137) und einen DCDC-Wandler
> (z.B. RFM-0505S oder Würth 1769205132). Das kostet doch keine 15..20€.

Mit dem RFM als DCDC-Wandler ist das tatsächlich günstig. Ich habe 
bisher immer ein Netzteil mit Trafotreiber, Trafo und LDO (wie es im 
Datenblatt zum ISO-1050 z.B. steht) benutzt. Aber du hast recht so ist 
der Preis vertretbar. Danke :)

von Kevin M. (arduinolover)


Lesenswert?

Aabeku K. schrieb:
> Nun zu dem Problem: Wenn ich isolierte CAN-Treiber verwende, so wird das
> ganze sehr teuer, da neben dem Treiber ebenfalls eine isolierte
> Spannungsversorgung gegeben sein muss. Damit kommt man auf etwa 15€-20€
> pro Gerät mit min. einer Kommunikationsschnittstelle.

Analog hat isolierte transceiver mit eingebauter isolierten 
Spannungsversorgung:
https://www.mouser.de/ProductDetail/Analog-Devices/ADM3052BRWZ-REEL7?qs=BpaRKvA4VqEzmSBM7v9JBg%3D%3D

gibts auch für FDCAN, bei 10 Geräten bist du unter 10€.

Wenn dir das zu teuer ist, solltest du die Anforderungen überdenken. 
Wenn das nicht geht solltest du das System überdenken. Es gibt 
Schnittstellen die sich deutlich günstiger isolieren lassen.

von H. (Gast)


Lesenswert?

Kevin M. schrieb:
> Analog hat isolierte transceiver mit eingebauter isolierten
> Spannungsversorgung:

Hatte ich ihm ja als Einzelbausteine vorgeschlagen, welche in Summe 
deutlich günstiger kommen. Dazu noch massenweise 2nd Source für jedes 
Element. Die Digital Isolators gibt es von mehereren Herstellern, 
allesamt pin- und funktionskompatibel.

von Frank K. (fchk)


Lesenswert?

Aabeku K. schrieb:
> H. schrieb:
>> Den CAN-Treiber brauchst Du eh, also kommen an Zusatzkosten ein
>> Digital-Isolator (z.B. ADUM12x1B oder 2x6N137) und einen DCDC-Wandler
>> (z.B. RFM-0505S oder Würth 1769205132). Das kostet doch keine 15..20€.
>
> Mit dem RFM als DCDC-Wandler ist das tatsächlich günstig. Ich habe
> bisher immer ein Netzteil mit Trafotreiber, Trafo und LDO (wie es im
> Datenblatt zum ISO-1050 z.B. steht) benutzt. Aber du hast recht so ist
> der Preis vertretbar. Danke :)

Die CiA (CAN in Automation) hat in ihrem Standard CiA 303-1 Pinouts 
definiert, die auch einen V+ Pin für den Betrieb von galvanisch 
isolierten Transceivern enthalten.

https://readthedocs.web.cern.ch/download/attachments/21178099/DR303-1V111.pdf?version=1&modificationDate=1244457283000&api=v2

"9 (CAN_V+) Optional CAN external positive supply (dedicated for supply 
of transceiver and opto-couplers, if galvanic isolation of the bus node 
applies)
[...]
By using the pin V+ for supplying transceivers in case of galvanic 
isolation, the necessity of extra local power isolation (e.g. 
DC/DC-converter) is avoided."

fchk

von Tobi (Gast)


Lesenswert?

Kurze Frage dazwischen, weil ich auch gerade das Thema anschaue.
Warum hat solch ein Isolator-Chip einseitig immer das gewohnte CANH/L 
und auf der anderen Seite TxD/RxD?
Warum ist das nicht so aufgebaut dass er beidseitig CANH/L hat?
Irgendwie stehe ich gerade auf dem Schlauch...

von Frank K. (fchk)


Lesenswert?

Tobi schrieb:
> Kurze Frage dazwischen, weil ich auch gerade das Thema anschaue.
> Warum hat solch ein Isolator-Chip einseitig immer das gewohnte CANH/L
> und auf der anderen Seite TxD/RxD?
> Warum ist das nicht so aufgebaut dass er beidseitig CANH/L hat?
> Irgendwie stehe ich gerade auf dem Schlauch...

CAN_H/CAN_L ist bidirektional, daher ist es sehr aufwändig, das an der 
Stelle zu isolieren. CAN_TX/CAN_RX sind unidirektional und sehr viel 
einfacher zu trennen. Der Unterschied in Aufwand und Kosten ist irgendwo 
bei ein bis zwei Zehnerpotenzen. Daher macht man das nicht.

fchk

von Kevin M. (arduinolover)


Lesenswert?

Tobi schrieb:
> Warum ist das nicht so aufgebaut dass er beidseitig CANH/L hat?

Seit wann haben nicht isolierte CAN Transceiver auf beiden Seiten CAN 
H/L?

von Tobi (Gast)


Lesenswert?

@Frank: Öh, okay. Das heißt, zwei deren Chips RX/TX verbinden um 
bidirektional CAN H/L zu haben?

von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Tobi schrieb:
> @Frank: Öh, okay. Das heißt, zwei deren Chips RX/TX verbinden um
> bidirektional CAN H/L zu haben?

"Im Prinzip ja"
ABER: man braucht noch etwas Zusatzlogik, die sich merkt, welche Seite 
zuerst RX gemeldet hat und dann die andere Seite ignoriert.
Sonst hast du nach dem ersten dominanten Bit ein Latch Up.

von Gerald O. (gerald_o)


Lesenswert?

Tobi schrieb:
> @Frank: Öh, okay. Das heißt, zwei deren Chips RX/TX verbinden um
> bidirektional CAN H/L zu haben?

Nö, das geht dann in Selbsthaltung und blockiert den Bus.
Du musst flankenweise detektieren aus welcher Richtung das Signal kommt 
und die Gegenrichtung sperren.

Garry

von Tobi (Gast)


Lesenswert?

Grins, ach Herrje. Da habe ich mir noch keine Gedanken drüber bisher 
gemacht.
Stimmt natürlich!
Okay, nun lasse ich aber aabeku seinen Thread weiter führen.
Ist mir nur gerade in den Sinn gekommen, warum das so ist.
Vielen Dank für Eure Antworten!

von Robert M. (r0bm)


Lesenswert?

Aabeku K. schrieb:
> Nun zu dem Problem: Wenn ich isolierte CAN-Treiber verwende, so wird das
> ganze sehr teuer, da neben dem Treiber ebenfalls eine isolierte
> Spannungsversorgung gegeben sein muss. Damit kommt man auf etwa 15€-20€
> pro Gerät mit min. einer Kommunikationsschnittstelle.

MAX14882, da wären extern nur noch ein Übertrager (Würth) und zwei 
Dioden notwendig. Preis liegt bei ~5€.
Beim ISOW1044 von TI ist gleich alles mit integriert, was sich aber auch 
im Preis von ~10€ wiederspiegelt.

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.