galvanische Trennung für CAN-bus mit TJA1052i und TJA1040

Gast #4357544
Lesenswert?

Hallo,

beim Redesign eines unserer Offroad-Fahrzeuge haben wir gerade die 
Herausforderung,d ass wir die Controller eines Hochspannungsnetzes mit 
den Controller eines Niederspannungsnetzes mit CAN-Bus verbinden wollen.
Für diesen Zweck habe ich einen Prototyp für die galvanische Trennung 
gebaut, bestehend aus einem TJA1052i (für die isolierung) und einen 
TJA1040.

RxD und TxD der beiden Chips sind gerkeuzt Verbunden.

Für Testzwecke habe ich Versucht meine Platine über einen PCAN 
(USBtoCAN) mit einem IXXAT (USBtoCAN) zu verbinden - leider ohne Erfolg. 
Wenn ich jedoch eine der beiden RxDtoTxd Verbidnugnen abklemme, 
funktioniert die Übertragung in eine Seite. Wenn ich die Verbindung 
wieder herstelle, zeigen sowohl IXXAT als auch PCASN einen BusOff Status 
an.

Habt Ihr vielleicht ideen, wo das Problem liegen kann, bzw. ob es 
überhaupt möglich ist den TJA1052i mit einem TJA1040 auf diese Weise zu 
Verbinden?

Danke und frohes Schaffen,

Michael
#4357556
Lesenswert?

Shoadi schrieb:
> TJA1052i
Das ist ein CAN Transceiver mit integrierter galvanischen Trennung.

Shoadi schrieb:
> TJA1040.
Und das ist ein CAN Transceiver ohne galvanische Trennung.

Shoadi schrieb:
> Prototyp für die galvanische Trennung
> gebaut, bestehend aus einem TJA1052i (für die isolierung) und einen
> TJA1040.
>
> RxD und TxD der beiden Chips sind gerkeuzt Verbunden

Shoadi schrieb:
> wo das Problem liegen kann, bzw. ob es
> überhaupt möglich ist den TJA1052i mit einem TJA1040 auf diese Weise zu
> Verbinden?

äähm, was genau hast Du eiegentlich aufgebaut? Könntest Du mal bitte 
Dienen Aufbau samt der PIN Anschüße der beiden oben genannten Bausteine 
skizzieren.
Gast #4357559
Lesenswert?

Das funktioniert so nicht.
Ohne zusätzliche Logik kann man zwei Transceiver nicht koppeln und ich 
habe da auch noch keine schlanke Lösung gefunden die funktionieren 
würde.

Was funktioniert ist einen Transceicer vom MikroController zu trennen, 
etwa über einen ADUM1210 oder so, dazu braucht man dann noch einen DC/DC 
Wandler.

Oder wenn man ein CAN-Segment isoliert abtrennen will kann man auch 
einen Controller mit zwei CAN-Schnittstellen nehmen und einen der 
Transceiver isolieren.
Das erzeugt aber Latenz auf dem CAN.

Solche CAN-Isolatoren kann man auch kaufen.
#4357866
Lesenswert?

CAN Controller  1
Ganvanische Entkopplung
Transceiver

CAN

Transceiver
Galvanische Entkopplung
CAN Controller 2

Was ist bei Euch anders?

Beim TJA1052i sind Transceiver und Galvanische Entkopplung auf einem 
Chip. Da wirds dann noch einfacher.

Shoadi schrieb:
> RxD und TxD der beiden Chips sind gerkeuzt Verbunden.

Nee, die gehen jeweils zum CAN Controller und werden nicht gekreuzt.

(Ich bin keine Elektroniker. Daher kein Schaltplan.)
#4357990
Lesenswert?

Zum aufgebauten CAN-Repeater mit den gekreuzten RXD/TXD (in diesem Fall 
mit galv. Trennung):
Wie Rudolph schon schrieb, das funktioniert nicht weil sich der 
dominante Pegel quasi festsetzt --> Dominanter Pegel wird z.B. von A 
nach B "kopiert". Da jetzt auf Seite B jetzt auch dominanter Pegel 
herrscht wird dieser ebenfalls auf Seite A kopiert.

Lösung: Es bedarf einer State-Machine, die einen dominanten Pegel (Low) 
von X nach Y durchlässt, die Gegenseite dann aber solange ignoriert bis 
der Pegel des Auslösers wieder rezessiv wird. Vermutlich braucht man 
noch einen Timer zum Reset der State-Machine für den Fehlerfall.

Ob das nun mit diskreter Logik (Gatter, Flip-Flops) aufgebaut wird oder 
mit programmierbarer Logik sei mal dahingestellt.
#4358674
Lesenswert?

In dem CAN-Artikel hier wird da was erwähnt:
https://www.mikrocontroller.net/articles/CAN

Und zwar das hier:
http://www.oschmid.ch/mt/can-hub/can-hub.php

Ich kann nur nicht bestätigen, ob das funktioniert, hat das schon mal 
jemand erfolgreich aufgebaut?

Das müsste man dann nur noch um die galvanische Trennung ergänzen.

In die Peak-Adapter habe ich schon mal rein gesehen, die aber aus 
Zeitmangel nicht genau auseinander nehmen können.
Da scheint auf jeden Fall noch weniger drin zu sein.
(Firma: Mattro) #4360753
Lesenswert?

Hello,

und vielen Dank für eure Rückmeldungen. Jetzt ist mir klar, warum das 
Teil nicht so läuft wie es soll.

Ich baue einen neuen Prototypen, basierend auf:
http://www.oschmid.ch/mt/can-hub/can-hub.php
mit einem TJA1052i anstatt des MCP2551SN.

Ich bin gespannt ob das funktioniert. Die RC-Glieder finde ich ein wenig 
grenzwertig, und die Diode welche anscheinend den Pegel der RxdTxd 
Leitung über den Ausgang des NOR-Gates runterziehen soll ebenso.

Je nach Ergebnis meines Versuches werde ich ersteres mit einem 
Verzögerungsglied ersetzen, und zweiteres mit einem Transistor auf 
Masse.

Ich halte euch auf dem Laufenden.
#4360856
Lesenswert?

Rudolph schrieb:
> Nana, er hat schon deutlich beschrieben, dass er versucht hat,
> einen
> Repeater zu bauen. :-)
> Um eben im Nachinhein zwei Segmente zu trennen.

Michael stimmt dir zu. Mich würde aber trotzdem mal interessieren, wie 
du es aus der Fragestellung herauslesen konntest.

So habe ich es verstanden:

Die Aufgabenstellung
> wir die Controller eines Hochspannungsnetzes mit
> den Controller eines Niederspannungsnetzes mit CAN-Bus verbinden wollen.

beschreibt keinen Repeater. Erst der fehlgeschlagene Lösungsansatz 
dürfte einen Repeater nahe komme.

Warum wird hier der Aufwand betrieben einen Repeater einzusetzen?
#4361049
Lesenswert?

In diesem Zusammenhang war es unerheblich, ob man nun von einer reinen 
galvanischen Trennung oder von einem Repeater spricht.

Es kann zwar theoretisch einen Repeater ohne galvanische Trennung geben 
aber keine galvanische Trennung ohne Repeater-Funktionalität.

@Steffen:
Was wäre denn HIER weniger Aufwand als ein galv. getr. passiver 
Repeater? Würde mir gerne weitere Lösungsansätze ansehen.
#4361089
Lesenswert?

Tja, ich kann mir auch nicht vorstellen, dass eine 
Hochspannungskomponente keine galv. Trennung auf der CAN Ebene hat. 
Vielleicht ist die auch vorhanden aber nicht explizit aufgeführt.

Vielleicht noch ein Hinweis für spätere Leser: ein passiver CAN-Repeater 
frischt das Signal als solches wieder auf (oder trennt es galvanisch) 
aber er verschlechtert die Signallaufzeit ergänzend zur Signallaufzeit 
auf dem Kabel. Bei höheren Baudraten kommt der CAN Controller ab einer 
gewissen Strecke trotzdem aus dem Tritt.
Wenn es also um Reichweiten-Verlängerung geht ist ein aktiver Repeater 
die sinnvollere Wahl.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren