Transceiver, Warum geht es nicht

Gast #429828
Lesenswert?

Ich habe mal mit einer heissen Nadel aus dem Datenblatt eines 
Can-Transceivers eine kleine Schaltung gestrickt, mit der ich 2 
Can-Systeme miteinander verbinden kann. Die Idee dahinter ist ganz 
banal. Ich benutze einen CAN-Transceiver um das Differenzielle CAN - 
Signal wieder in ein Logisches Signal umzuwandeln, trenne dieses über 2 
Optokoppler galvanisch auf und speise es wieder in einen Can-Transceiver 
ein, so als käme es gerade aus einem uC.
Zum testen habe ich 2 90Can128 mit nicht galvanisch getrenntem 
CAN-Transceiver angebunden. Verbinde ich die Boards direkt funktioniert 
alles . Schalte ich aber meine kleine Schaltung dazwischen geht nix 
mehr. Ist in der Schaltung ein offensichtlicher Fehler?
Alternativ dazu.
Hat jemand eine funktionierende Schaltung dieser Art mit der es möglich 
ist mehr als 32 CAn Teilnehmer zu verbinden und die Kreise galvanisch 
voneinader zu trennen um Spannungsverschleppungen zu vermeiden?
Angehängte Dateien:
Gast #429849
Lesenswert?

Also wenn ich mir den original Schaltplan aus dem Datenblatt zur Hand 
nehme ist rx am can-transceiver ein Ausgang, denn er tribt eien LED im 
Optokoppler, wogegen tx ein Eingang ist, der durch den transistor eines 
Optokopplers nach Masse gezogen wird, sonst zieht ihn der 390 Ohm R gen 
+.
Ergo muss doch die Rückseite des ganzen genauso aussehen?
Bist Du sicher das das stimmen kann Rx an Rx?
Gast #429857
Lesenswert?

Rechts unten hast Du 2x 60 Ohm nach GND gezeichnet. Das geht auf keinen 
Fall, er Bus muss beidseitig mit 120 Ohm abgeschlossen sein, und zwar 
zwischen CanH und CanL.

Sind die Optokoppler schnell genug?

Viel Erfolg!

Wenn Du's professionell lösen willst:
IXXAT CAN-bridge
kann Messages filtern, Baudraten wandeln und optional opto-trennen.
Gast #429860
Lesenswert?

<< 2x 60 Ohm nach GND gezeichnet. Das geht auf keinen
Fall,  >>
Hatte ich aus einem Datenblatt eines CAN-Transceivers...
Es geht aber auch nicht mit 120Ohm ohne Masse und auch nicht ganz ohne R
Gast #429861
Lesenswert?

RX ist immer ein Eingang "Receiver" und TX ist immer ein Ausgang 
"Transmitter"
Du hast nur die Optokoppler Ein-Ausgänge vertauscht. Also TX auf die 
Diode im Optokoppler und RX an den Transistor.
Gast #429867
Lesenswert?

@Hubert
So hätte ich das auch gedacht aber im Datenblatt des sn65 230 steht R 
receiver output und im Datenblatt des 6250 das Gleiche Bild

RxD CAN receive data output;

Bist Du sicher das es bei den CAN-Transceivern genauso ist? Dann wären 
die Datenblätter von Infinion und TI beide flasch ...
Gast #429891
Lesenswert?

Die Transceiver an den Controllern passen und funktionieren auch.
Alles, was streikt sind die aneinandergekoppelten Transceiver, aber die 
haben keinen Controller drin. Es geht nur darum das Signal galvanisch 
getrennt von einem CAN-Netzwerk zum nächsten zu übertragen.
Gast #429917
Lesenswert?

Ok, ich hatte das für eine galvanische getrennte Kopplung von Controller 
und Tranceiver gehalten. Sorry. Soll wohl ein CAN Repeater sein.

Aber eine dumme Frage hab ich schon noch: Wie kommt die Schaltung jemals 
wieder aus dem dominanten Zustand raus? Dieser Zustand scheint mir 
nämlich ausgesprochen stabil zu sein.
Gast #430023
Lesenswert?

<< Aber eine dumme Frage hab ich schon noch: Wie kommt die Schaltung 
jemals
wieder aus dem dominanten Zustand raus? >>

Das ist möglicher Weise der Fehler weil ich keine Ahnung habe, was DU 
damit meinst. Klar, das Signal im Ruhezustand ist 0 und damit für den 
CAN-Bus dominant, aber ich kann es ja schlecht dauzerhaft auf 1 ziehen, 
oder?

An den funktionierenden CAN-Transceivern, die an den uCs hängen, ist es 
im Ruhezustand meiner Meinung nach auch 0 oder ich habe Mist gemessen? 
Keine Ahnung. Wie schlägst Du vor die Schaltung zu verändern um das 
Problem zu lösen? Es müßte ja auf beiden Seiten des Repeaters geändert 
werden.
Gast #430197
Lesenswert?

Transmitter: Rezessiv: CANL,CANH offen. Abschluss zieht bei auf gleichen 
Pegel, egal welchen. Dominant: CANL=0, CANH=+V.

Receiver: Ab einer Mindestdifferenz zwischen CANH und CANL wird die 
Leitung als dominant erkannt.

Bei dir heisst das: Wird eine Seite dominant, wird dies auf die andere 
Seite übertragen. Soweit ok. Nur ist das ja symmetrisch, da ist kein 
Gedächtnis drin wer als erstes kam. Folglich wird der Zustand "dominant" 
auch wieder zurück übertragen. Wenn der ursprüngliche Transmitter jetzt 
abschaltet, ändert sich nichts mehr, die Leitung bleibt dauerhaft 
dominant und sämtliche Nodes erkennen über kurz oder lang einen 
Busfehler und schalten ab.

Es gibt kommerziell CAN Repeater, bestimmt auch welche mit galvanischer 
Trennung. Aber wie die arbeiten weiss ich nicht.
Gast #430383
Lesenswert?

wenn man ein bisschen drüber nachdenkt ist es ganz logisch. Es fehlt der 
Controller, der im Hintergrund prüft ob die 0 auch wirklich von ihm kam 
oder nicht ...
Mist!
Also als Alternative fällt mir jetzt nur ein zwei kleine CAN - uCs 
miteinander zu verheiraten. Das ist natürlich viel Größer, als ich es 
haben wollte.
Hat jemand eine bessere Idee?
Gast #431127
Lesenswert?

der sieht ja schon nicht schlecht aus, aber...
wo bekomme ich den her? Sergor muss ihn anfragen, Reichelt und Spoerle 
Fehlanzeige...
Ich habe schon mal bei AMI nach einem Muster gefragt, aber da kam nicht 
mal eine Antwort...

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