www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Transceiver, Warum geht es nicht


Autor: cerberus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch mal RxD mit RxD und TxD mit TxD zu verbinden. Galvanische 
Trennung ist kein Nullmodem ;-).

Autor: cerberus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: cerberus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: cerberus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datasheet TI: R ist Ausgang vom Receiver. RxD vom Controller ist Eingang 
von dessen Receiver. Ausgang an Eingang passt. Ausgang an Ausgang passt 
indes nicht.

Autor: cerberus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ cerberus
Hab mir das Datenblatt angesehen, deine Version stimmt, das ist das 
erste mal das ich so was sehe, RXD ist Ausgang, naja sehr gewagte 
Ansicht.

Autor: Steffen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
anbei mal ne Schaltung, die schon seit einiger Zeit im Einsatz ist.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
NB: Laut Datasheets von MCP2551, SN65HDV2xx und 82C25x sind damit 
110-120 Nodes möglich. Nur der TDA1054 ist sparsamer.

Autor: cerberus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: cerberus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hatte oben nicht richtig gelesen, das Du einen Repeater brauchst. Schau 
Dir mal den AMIS-42700 von AMI-Semiconductor an. Der ist zwar nicht 
galvanisch  getrennt, aber alles in einem Baustein. Man kann damit auch 
CAN-BUS Extender aufbauen. Im Prinzip ist das ein Dual-CAN Transceiver.

http://www.amis.com/products/transceivers/amis_42700.html

Autor: cerberus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

versuche es mal über den Distributor:
http://uk.azzurri.com/index.htm

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.