mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN Repeater / Optoadapter mit zwei Transceivern und Optokopplern


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
dass die Schaltung im Anhang nicht funktionieren kann ist mir 
mittlerweile klar, da die 5V auf den Rx und Tx Leitungen fehlen die 
normalerweise vom CAN-Controller gespeist werden.
Zwei PCA82C250
( http://www.nxp.com/acrobat/datasheets/PCA82C250_5.pdf )
mit 2 invertierenden Optokopplern 6N137 die jeweils 5V anlegen 
funktioniert es auch nicht.
Dann habe ich versucht eine Leitung zu trennen, es funktionierte in eine 
Richtung.
Somit kam ich zu dem Schluss das in den CAN-Controllern noch eine Logik 
integriert sein muss welche beim empfang von Botschaften auf der Rx 
Leitung das senden über Tx zurückhält, da der CAN-Bus gleichzeitiges 
Senden und Empfangen nicht ermöglicht.
Es muss allerdings eine Logikschaltung (mit Speicher um das Senden von 
Nachrichten zu "Puffern"?) geben, die das Tx Signal beim Empfang von 
Nachrichten zurückhält.
Sonst würde es das:
http://www.peak-system.com/db/de/pcanoptoadapter.html
nicht geben.

Die Suche habe ich schon bemüht, allerdings konnte ich keine passenden 
Hinweise finden.
Es wäre toll wenn mir jemand Tipps oder Beispiele dazu geben könnte.
Vielen Dank, Benjamin

PS.: Bitte keine Hinweise zum  AMIS-42700, da ich galvanisch trennen 
muss.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Problem ist nicht die Spannung, sondern das Prinzip. Denn damit 
baust du einen 1-Bit Speicher auf: einmal dominant immer dominant.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es wirklich zwingend, innerhalb des CAN Busses galvanisch zu 
trennen? Weitaus einfacher ist es ja, die Nodes vom CAN Bus galvanisch 
zu trennen.

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ist leider zwingend.

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Dein Problem ist nicht die Spannung, sondern das Prinzip. Denn damit
>baust du einen 1-Bit Speicher auf: einmal dominant immer dominant.

Könntest du das bitte etwas genauer erklären?

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1 A ist dominat und gibt dies an B weiter.
2 B ist also auch dominat und gibt dies an A weiter.

usw. usf.

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Erklärung.
Gibt es eine Möglichkeit dies zu verhindern?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke schon. I2C hat ein ähnliches Problem und da gibt es Lösungen. 
Nur kenne ich keine fertige Lösung für CAN.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Ist es wirklich zwingend, innerhalb des CAN Busses galvanisch zu trennen?
>Ja ist leider zwingend.
Weshalb?

Potentialtrennung?
Gehört dorthin, wo die Potentialgrenze ist, nämlich an den betroffenen 
Busteilnehmer.

Oder max. Leitungslänge....?
Wenn es die Leitungslänge betrifft (frei nach dem Motto: dann kann ich 
viele Busse hintereinanderschalten), hilft dir so ein "passiver 
Repeater" (falls es sowas überhaupt gibt...) nicht weiter. Sondern der 
"stiehlt" dir durch seine Laufzeitverzögerung sogar noch ein paar Meter.

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist zwingend weil ein Simulationsrechner an ein Fahrzeugbordnetz 
angeschlossen werden soll, dies aber energetisch wenig bis garnicht 
beeinflusst werden soll. Also keine reale Leitung und keine falsche 
Masse über CAN.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt diese Dinger ja fertig zu kaufen, wie du selbst oben gezeigt 
hast. Also warum nicht eben dies tun?

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es müsste eine ~5m-10m lange Leitung vom der Anschlusstelle bis zum 
Simulationrechner gelegt werden.

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Es gibt diese Dinger ja fertig zu kaufen, wie du selbst oben gezeigt
>hast. Also warum nicht eben dies tun?

Weil ich das Ganze gerne auf einer sowieso vorhandenen CAN Platine mit 
DC/DC-Wandler und Optokopplern als Zusatzschnittstelle integrieren 
würde.

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und weil ich dachte es wäre einfach :)

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>dies aber energetisch wenig bis garnicht beeinflusst werden soll.
Das heisst aber im logischen Schluss, dass der Simulationsrechner kein 
dominantes Bit senden darf (sonst nähme er ja aktiv Einfluss auf den 
Bus).
Du willst nach deiner Definition also einen CAN-Sniffer.
Dann interessiert dich aber nur die Empfangsrichtung.

>~5m-10m lange Leitung ... bis zum Simulationrechner gelegt werden.
Welche Baudrate hast du?
Darfst du so lange Stichleitungen anbringen?

Ein Stichwort:
AMIS-42700 (kann als CAN Repeater betrieben werden)

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich will hauptsächlich einen Sniffer, muss aber gelegentlich auch 
Botschaften einstreuen können.
Habe nur 100kBaud, da darf ich diese Längen schon legen, will sie aber 
wie gesagt nicht direkt an den vorhandenen Bus klemmen.

So jetzt mal wieder zum Thema, ich muss sowas selber bauen, Peak Systems 
hat nur eine High-Speed Lösung, habe gerade angerufen.
Low-Speed bauen sie nicht entkoppelt, weil dabei die Eindrahtmöglichkeit 
verloren geht.
Ich muss das aber unbedingt mit Low-Speed Transceivern haben.

Wenn ich während eine Nachricht zwischen den Transceivern in eine 
Richtung gesendet wird, die andere Richtung blockiere, hätte ich doch 
das Problem mit der "dominant-Schleife" gelöst, oder?
Dann wäre noch zu überlegen was passiert wenn die Nachricht eigentlich 
gegen eine Dominante von der anderen Seite verlieren müsste.

Bin ehrlichgesagt ein wenig Planlos, da ich keine Infos zur 
Kommunikation zwischen Transceiver und Controller und 
Trnasceiver-Interna finde.
Ohne solche Infos wird es wahrscheinlich schwierig.
Hat vielleicht jemand ein paar URLs?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da war das schon mal:

Beitrag "Re: Can-Bus mit Verzweigungen"

Diese Repeater-Funktion sieht recht aufwendig aus.

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke das hilft schonmal.

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

Bewertung
0 lesenswert
nicht lesenswert
Hier ist das Bild nochmal in Groß.
Das abgebildete Delay muss ich warscheinlich aus dem Datenblatt meines 
Transceivers ablesen.

Autor: Karlheinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Schaltung aus dem vorhergehenden Post 
(Beitrag "Re: CAN Repeater / Optoadapter mit zwei Transceivern und Optokopplern") enthält zwei 
Delays. Wie muß ich die Delays festlegen bzw. berechnen? Hat jemand 
diese Schaltung schon einmal aufgebaut und eingesetzt?

Autor: mp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau dir mal ISO1050DUBR von Ti an

Autor: Karlheinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ mp

Interessante Baustein. Leider erfüllt er nicht die Funktion der oben 
genannten Schaltung.

Autor: Karlheinz (Gast)
Datum:
Angehängte Dateien:
  • preview image for CR.gif
    CR.gif
    30,5 KB, 1233 Downloads

Bewertung
0 lesenswert
nicht lesenswert
Hier die Simulation der Schaltung:

Die Gatterlaufzeiten sind aus den Datenblättern entnommen. A14 und A19 
sind die Delays und sind auf dem Steckbrett je 3 Inverter. A19 ist ein 
Buffer, der die Laufzeit auf dem CAN-Bus nachbildet. V1 sendet ein paar 
dominante Nullen.

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich wollte mal fragen ob das Problem gelöst wurde und eine 
funktionierende Schaltung existiert?

Autor: Helmut -dc3yc (dc3yc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sascha,

die gibt es (wir realisieren es mit einem kleinen GAL). Ausserdem gibt 
es eine Beschreibung im Buch von Wolfhard Lawrenz "CAN Grundlagen und 
Praxis" vom Hüthig Verlag. Zur Implementation: es wird eine synchrone 
Logik mit Speicher benötigt.

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ui, das ging aber schnell.. :)
Danke schonmal fuer die super schnelle Antwort!

Das Buch ist leider nicht wirklich verfuegbar..
Und ich brauche recht schnell eine Loesung.

Du kannst mir nicht zufaellig einen Schaltplan, Blockschaltbild, 
Erklaerung geben damit ich das realisieren kann? =)

Danke schonmal im Vorraus.

Autor: Helmut -dc3yc (dc3yc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Neee, das darf ich dir aus Copyrightgründen nicht sagen. Aber wenn du 
einigermaßen fit bist, hast du das in einem halben Tag heraus.

Autor: Sascha E. (mxii)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
weiß garnicht wo ich anfangen soll ..
Versuche es einfach mal anhand des Blockschaltbildes 
<iso-11898-2-repeater.gif> aufzubauen ..
Wie und wo ich dann meine galvanische Trennung einbaue kommt dann im 
zweiten Schritt ..
Wenn es so garnicht will, vllt haste dann ja noch eine kleinen Tipp 
parat :P

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es geht auch so:

AMIS42770 >> ADUM3201 >> AMIS42770


Erster AMIS wndelt die CAN Daten als TTL Signal
ADUM kann die TTL Signale galvanisch getrennt weiterleiten
Zweiter AMIS wird mit DCDC Wandler versorgt.

Ein AMIS hat zwar zwei CAN Buse, der zweite wird nicht benötigt. Sondern 
nur das Feature dass man zwei AMIS Chips verbinden kann.

(Siehe Pins Text / Rint)

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... Ausserdem gibt es eine Beschreibung im Buch von Wolfhard Lawrenz 
"CAN Grundlagen und Praxis" vom Hüthig Verlag. Zur Implementation: es 
wird eine synchrone Logik mit Speicher benötigt. ...

In der 1. und der 3. Ausgabe von "CAN Grundlagen und Praxis" steht vom 
Repeater nichts drin. Welche Ausgabe hast du?

Autor: Sascha E. (mxii)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus,

das hatte ich auch schonmal durchgespielt..
Aber der AMIS42270 ist recht teuer und nicht so gut zu beschaffen..

Lieber waere mir eine Loesung mit 2 CAN controllern und etwas logik 
dazwischen..

Autor: Helmut -dc3yc (dc3yc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin: Seite 141/142.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Helmut

Danke für den Hinweis :)

In der 1. Auflage wird tatsächlich ein elektrischer Repeater (Probleme 
etc.) kurz angerissen. Nur eine Schaltung lässt sich daraus nicht 
ableiten.

In der 3. Auflage ist der Repeater komplett gestrichen.

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne eine Firme die baut solch einen Repeater, wenn Interesse 
besteht.
Galvanische Trennung usw. Was der kostet weiß ich jetzt nicht, ist aber 
sicher günstiger als selbst entwickeln.

(Der hat 4 AMIS Chips drin, einen lokalen CAN Bus, nicht getrennt, auf 4 
CAN am Ausgnang, getrennt mir 2 DCDC Wandler/Optokoppler. (2x 2 Kanäle 
vom AMIS) Das Teil wurde extra entwickelt um große Bussysteme verbinden 
zu können, getestet mit über 400 Teilnehmer.)

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wollte fragen ob jmd von euch schon diese oben Zusatzschaltung schon 
einmal aufgebaut hat?!? Habe sie selbst leider noch nicht zum laufen 
gebracht. Vielleicht kann mir der eine oder andere helfen oder mir sogar 
die richtige Lösung zeigen.


Bei mir sieht die Komplettschaltung im vereinfachten Sinne so aus:


CAN <-> TJA1055 <-> Rx/Tx <-> LWL <-> Rx/Tx <-> TJA1055 <-> CAN




MfG

Christian

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.