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:
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.
Wie sieht das EMV-Technisch aus? Was muss ich beachten oder ist das jetzt schon ein EMV-Albtraum?
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?
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.
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... :/
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.
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.
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.
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.
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).
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.
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€.
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 :)
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.
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.
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.
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.
"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."
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...
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.
@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.
@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.
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!
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.