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.
Ist es wirklich zwingend, innerhalb des CAN Busses galvanisch zu trennen? Weitaus einfacher ist es ja, die Nodes vom CAN Bus galvanisch zu trennen.
>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?
1 A ist dominat und gibt dies an B weiter. 2 B ist also auch dominat und gibt dies an A weiter. usw. usf.
Danke für die Erklärung. Gibt es eine Möglichkeit dies zu verhindern?
Ich denke schon. I2C hat ein ähnliches Problem und da gibt es Lösungen. Nur kenne ich keine fertige Lösung für CAN.
>>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?
Es müsste eine ~5m-10m lange Leitung vom der Anschlusstelle bis zum Simulationrechner gelegt werden.
>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.
Und weil ich dachte es wäre einfach :)
>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?
Da war das schon mal: Beitrag "Re: Can-Bus mit Verzweigungen" Diese Repeater-Funktion sieht recht aufwendig aus.
Hier ist das Bild nochmal in Groß. Das abgebildete Delay muss ich warscheinlich aus dem Datenblatt meines Transceivers ablesen.
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?
schau dir mal ISO1050DUBR von Ti an
@ mp Interessante Baustein. Leider erfüllt er nicht die Funktion der oben genannten Schaltung.
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.
Hallo, ich wollte mal fragen ob das Problem gelöst wurde und eine funktionierende Schaltung existiert?
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.
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.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.