Hallo Leute, ich muss mit einem CAN-Bus Transceiver auf einen zweiten Bus umschalten ohne das ich ein Relais benutzen darf. Hat hierfür jemand ein "Universalpatent"? Zum Problem: Zwei CAN-Busse (Primär, Sekundär (Fault Back)) gehen an einen "Haufen" Geräte, die nur einen CAN-Bus Transceiver haben. Wenn länger als 5 Sekunden keine Nachricht auf dem primären Bus kommen soll auf den Sekundären umgeschaltet werden. Die "Busteilnehmer" sind noch in der Entstehung, fest steht aber, das diese kein zweites Interface bekommen können. Jetzt suche ich nach einer Relais losen Lösung um den Bus vor dem Transceiver umzuschalten. Das ganze sollte nach möglichkeit auch funktionieren, wenn der defekte Bus Kurzgeschlossen oder permanent Hi ist. Vielen Dank Rafael
Rafael schrieb: > Jetzt suche ich nach einer Relais losen Lösung um den Bus vor dem > Transceiver umzuschalten. Das ganze sollte nach möglichkeit auch > funktionieren, wenn der defekte Bus Kurzgeschlossen oder permanent Hi > ist. Probiere es einfach mit 2 RS485 Transceivern. RE und DE werden jeweils separat für jeden Bus ein- oder ausgeschaltet. Also, normal wäre: Primär_DE = 1 / Primär_RE = 0 ||| Sekundär_DE = 0 / Sekundär_RE = 1. Damit ist Primär aktiv und Sekundär ist High-Z. Beim Fehler auf dem Primär geht dann: Primär_DE = 0 / Primär_RE = 1 ||| Sekundär_DE = 1 / Sekundär_RE = 0. Damit ist Sekundär aktiv und Primär ist High-Z. Für Busteilnehmer ändert sich dadurch nichts, aber der uC-Umschalter muss halt am Bus sniffen, Fehler detektieren und dementsprechend von Primär auf Sekundär umschalten. Oder umgekehrt. Und wenn du auf dem Sekundärbus die Adressen entsprechend erhöhst, kannst du auch erkennen welcher Bus gerade aktiv ist. Nur halt schnellere RS485 Transceiver nehmen.
:
Bearbeitet durch User
Bei RS-485 werden die beiden Busleitungen komplementär geschaltet, nicht zusammen- oder auseinandergezogen. Das dürfte am CAN nur mit etwas Gefrickel funktionieren. Es gibt aber auch CAN-Transceiver mit Enable-Pin. Z.B. TJA1042T. Da bekommt jeder Bus seinen Transceiver, TxD geht auf beide, und RxD wird über einen Multiplexer auf den gerade enabelten Transceiver geschaltet.
Rafael schrieb: > Hallo Leute, > > ich muss mit einem CAN-Bus Transceiver auf einen zweiten Bus umschalten > ohne das ich ein Relais benutzen darf. Hat hierfür jemand ein > "Universalpatent"? > > Zum Problem: > Zwei CAN-Busse (Primär, Sekundär (Fault Back)) gehen an einen "Haufen" > Geräte, die nur einen CAN-Bus Transceiver haben. Wenn länger als 5 > Sekunden keine Nachricht auf dem primären Bus kommen soll auf den > Sekundären umgeschaltet werden. Die "Busteilnehmer" sind noch in der > Entstehung, fest steht aber, das diese kein zweites Interface bekommen > können. Rafael Warum kein Relais? Auch keine Halbleiterrelais? Muxer wurde schon erwähnt. Man kann auch direkt der CAN muxen. Hab mal ein Baord gebaut, das 16 CAN-Kanäle auf einen Routen konnte. Ich könnte mal schauen was ich das für einen Muxer verwendet habe. PS:Meinst du nit eventuell Fall back = Rückfallebene?
soul eye schrieb: > Bei RS-485 werden die beiden Busleitungen komplementär geschaltet, nicht > zusammen- oder auseinandergezogen. Das dürfte am CAN nur mit etwas > Gefrickel funktionieren. Wenn du die beiden Enableleitungen meinst, dann nein. Das macht man normalerweise so, damit man mit nur einem Portpin auf senden oder empfangen umschalten kann, da RS485 nicht Full-Duplex ist. Marc Vesely schrieb: > RE und DE werden jeweils separat für jeden Bus ein- oder ausgeschaltet. Das sind für mich insgesammt 4 Pins und bestimmt kein Gefrickel. Natürlich könnte man Primär und Sekundär übers Kreuz schalten und würde dann mit nur 2 Pins auskommen. Wenn du aber wirklich die Busleitungen A und B meinst, dann ist das schlicht Blödsinn.
:
Bearbeitet durch User
Fabian F. schrieb: > Warum kein Relais? Weil extrem hohe Vibrationen auftreten und auch zum halten eines Zustands ggf. Energie benötigt wird. Deine Lösung klingt aber interessant!
Rafael schrieb: > Deine Lösung klingt aber interessant! LOL. Relais prellen aber nunmal gerne, so um die 2-5ms. Natürlich ist das nicht schlimm, sind ja nur etwa 1000-2500 bits bei 500KB/s die dadurch verlorengehen oder falsch interpretiert werden. Und etwas multiplexen, was gar nicht gemultiplext werden braucht, mag zwar interessant klingen, ist aber Unsinn.
:
Bearbeitet durch User
Marc Vesely schrieb: > Rafael schrieb: >> Deine Lösung klingt aber interessant! > > LOL. > Relais prellen aber nunmal gerne, so um die 2-5ms. > Natürlich ist das nicht schlimm, sind ja nur etwa 1000-2500 bits bei > 500KB/s die dadurch verlorengehen oder falsch interpretiert werden. Fabian schlug Halbleiterrelais bzw MUXer vor. Das war die Lösung, die Rafael meinte. Keine mechanischen Relais.
Marc Vesely schrieb: > Und etwas multiplexen, was gar nicht gemultiplext werden braucht, mag > zwar interessant klingen, ist aber Unsinn. Warum? Ein Multiplexer ist ein Umschalter. Und Rafael will umschalten, und zwar den CAN. Multiplexer heißt doch nicht, daß man ständig reihum schalten will. Und ein 2-zu-1-Multiplexer ist nichts anderes als ein simpler Umschalter. Insofern gebe ich Fabian recht.
Rafael schrieb: > Das ganze sollte nach möglichkeit auch > funktionieren, wenn der defekte Bus Kurzgeschlossen oder permanent Hi > ist. Das ganze soll ja wohl eine Schutzeinrichtung sein damit zumindest die Teilnehmer mit 2 Transceivern auch im Fehlerfall noch kommunizieren können. Bei Schutzeinrichtungen macht es immer Sinn sich vorher genau zu überlegen wovor/wogegen man schützen möchte. Du hast Kurzschluss und Permanent High genannt. Ist das wirklich alles? Kann es nicht z.B. auch ESD-Probleme oder Kontakt mit Netzspannung oder anderer höherer Spannung geben? Oder niederohmige Verbindung aller Adern nach Ground (z.B. Isolation des Kabels durchgescheuert).
Rafael schrieb: > Fabian F. schrieb: >> Warum kein Relais? > > Weil extrem hohe Vibrationen auftreten und auch zum halten eines > Zustands ggf. Energie benötigt wird. > > Deine Lösung klingt aber interessant! Bistabile Relais brauchen keinen Strom und halten auch rund 75g bzw Vibratrionen mit 3-5mm Amplitude aus. Wenn man die Busse 100% trennen will kommt man da nicht drum herrum. Bei einem Offenen Reilais kann einem ziemlich egal sein, was für elektrotechnische Desaster sich auf dem Bus abspielen Wenn nur das Signal getrennt werden soll tuts auch ein Mux. Ist aber eben nur ein Halbleiter-Schalter und hält damit bestenfalls wenige duzend Volt aus. Den Chip hier hab ich verwendet: Ti sn74cbt3125 4-Fach BUS-Switch
Marc Vesely schrieb: > Wenn du aber wirklich die Busleitungen A und B meinst, dann ist das > schlicht Blödsinn. Wenn ich mir das hier so anschaue: http://www.ti.com/lit/an/slla272b/slla272b.pdf , dann ist das keineswegs Blödsinn. RS-485 hat zwischen A und B eine positive Spannungsdifferenz bei High-Pegel und eine negative Spannungsdifferenz bei Low-Pegel. CAN hat zwischen CAN_H und CAN_L eine Spannungsdifferenz kleiner 50 mV bei High ("rezessive level") und größer 1,5 V bei Low ("dominant level"). Ich möchte nicht ausschließen, das man mit einem RS-485 - Transceiver CAN-Signale senden und empfangen kann. Ein direkter Anschluß an den Bus ist aber nicht möglich.
soul eye schrieb: > Ich möchte nicht ausschließen, das man mit einem RS-485 - Transceiver > CAN-Signale senden und empfangen kann. Ein direkter Anschluß an den Bus > ist aber nicht möglich. Hmm dann müsste ich aber auch allen Teilnehmern einen RS485 Transceiver spendieren, oder?
Rafael schrieb: > Hmm dann müsste ich aber auch allen Teilnehmern einen RS485 Transceiver > spendieren, oder? Nein. Aber da du meine Beiträge ordentlich überspringst, habe ich den Beitrag mit Schematic und 2 Pins zum steuern auch wieder gelöscht. soul eye schrieb: > Ich möchte nicht ausschließen, das man mit einem RS-485 - Transceiver > CAN-Signale senden und empfangen kann. Ein direkter Anschluß an den Bus > ist aber nicht möglich. Ein direkter Anschluss ist sehr wohl möglich und ausprobiert. Und jetzt lasse ich euch Experten unter sich.
Eventuell wäre der AMIS-42700 eine Lösung für Dein Problem. siehe Figure 3 auf Seite 3 des Datenblattes - http://www.onsemi.com/pub/Collateral/AMIS-42700-D.PDF
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.