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.
>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?
>>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.
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.
>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.
>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)
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?
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.
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.
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.
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
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)
... 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?
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..
@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.
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.)
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