Hallo allerseits, Ach, immer macht alles Schwierigkeiten. Also ich habe am Mikrocontroller eine serielle Schnittstelle, und die Daten sollen konfigurierbar entweder als RS232 oder als RS485 an die übliche D-Sub-Buchse da hinten weitergeführt werden. Ich kann natürlich einfach die Datenleitungen auf einen 232- und einen 485-Pegelwandler (bzw. Treiber) legen und dann nur den einen benötigten Wandler an die Buchse weiterschalten, z.B. über Jumper. Damit sind die Leitungen dann auch galvanisch getrennt und alles ist fein. Nun würde ich das ganze aber über Software konfigurierbar machen wollen, und da wird's dann blöd. Selbst wenn die Datenleitungen in dem gerade nicht benötigten Wandler abgeschaltet werden können, finde ich es nicht so prickelnd, + oder -10V auf den abgeschalteten Pin im 485-Treiber zu legen, wenn es auf 232 konfiguriert ist. Oder daß bei der einen Konfiguration noch zusätzliche Leitungen aus der anderen Konfiguration vorhanden sind, also daß z.B. bei 232-Konfiguration auch die 5V-Spannungsversorgung der 485-Konfig an der Buchse anliegt. Analog zu den Jumpern könnte ich das mit Relais umschalten, aber in Entzückung bringt mich diese Idee auch nicht. Gibt es vielleicht so eine Art elektronische Relais als Ersatz, also bidirektionale Treiber, die ungewöhnlich hohe und negative Spannungen (eben RS232) durchschalten? Oder ist dieses Problem so alltäglich, daß es dafür schon etwas gibt, das mir aber bisher verborgen geblieben ist? Es wäre nett, wenn sich jemand meiner erbarmen könnte... :-)
evtl. nicht Ideal, aber Du könntest Dir mal bei Maxim die Analog Switches anschauen. viel Erfolg Hauspapa
nehme doch einfach nen CMOS Multiplexer. Den kansnt du einfach per BCD ansteuern und gut is
Es gibt von LT den LTC1387, der sich zwischen RS232 und RS485 umschalten lassen - ist aber nicht ganz billig. Dallas/Maxim hat auch was, die Typbezeichnungen hab ich aber grad nicht zur Hand.
Oh mann, ich habe da etwas durcheinandergebracht, also war etwas unpräzise. Ich will eigentlich RS232 und Profibus multiplexen, wobei Profibus ja auf RS485 basiert. Also das Problem nochmal verdeutlicht: Bei RS232 liegen die Datenleitungen auf Pins 2 und 3, bei Profibus auf 3 und 8 (halbduplex), außerdem liegt auf Pin 6 5V als Stromversorgung. Wenn ich jetzt einen der von euch vorgeschlagenen umschaltbaren Treiber verwende, muß ich z.B. die RS485-Datenleitungen an Pins 3 und 8 legen. Schalte ich jetzt auf 232 um, sollen die Datenleitungen und Pins 2 und 3 liegen. Aber Pin 8 ist weiterhin mit dem Treiber verbunden und liegt nun auf der CTS-Leitung. Ebenso die Stromversorgung von 5V auf Pin 6, bei Verwendung als RS232 hat man "plötzlich" einen 5V-Pegel auf der DSR-Leitung. Deshalb wollte ich die Leitungen eben trennen bzw. gezielt umschalten. > evtl. nicht Ideal, aber Du könntest Dir mal bei Maxim die Analog > Switches anschauen. Ich bin mal ein paar Datenblätter durchgegangen, aber anscheinend dürfen die analogen Signale, die da zu schalten sind, auch nur zwischen 0V und Versorgungsspannung der Bausteine liegen. Damit fallen die RS232-Signale schon mal weg. Ich fürchte, eine schöne Lösung ohne Relais ist nicht so recht machbar. Ich werde mir dann mal etwas anderes überlegen. Aber danke für eure Bemühungen!
Luc schrieb: > Oh mann, ich habe da etwas durcheinandergebracht, also war etwas > unpräzise. Ich will eigentlich RS232 und Profibus multiplexen, wobei > Profibus ja auf RS485 basiert. Warum willst Du denn alles auf der externen Seite switchen, da, wo die Pegel derart unterschiedlich sind? Machs doch einfach zwischen µC und den RS485/RS232 Treibern. Die externen Schnittstellen sollten dabei natürlich separat ausgeführt werden. Den UART-Ausgang des µCs (TX) kannst Du einfach auf beide Treiber geben. Du sendest also über beide gleichzeitig. Das stört nicht, da Du ja jeweils entweder den Bus oder RS232 anlegst. Bleibt nur noch der Eingang des µCs. Den kannst Du mit 4 simplen NAND-Gattern multiplexen. Dafür reicht ein 74HCT00.
Frank M. schrieb: > Bleibt nur noch der Eingang des µCs. Den kannst Du mit 4 simplen > NAND-Gattern multiplexen. Solange man immer nur eine der Schnittstellen anschliesst, kann man sich auch die Umschaltung sparen - man verodert einfach die aktiven Pegel, von der jeweils unbenutzten Schnittstelle kommt ja nix. Georg
> Warum willst Du denn alles auf der externen Seite switchen, da, wo die > Pegel derart unterschiedlich sind? Weil nur Platz für eine Buchse ist, und nach Möglichkeit solche und solche Geräte angeschlossen werden können sollen. Aber ich stimme zu: Im Grunde genommen ist nur die Mechanik - eben die Buchse - bei beiden Schnittstellen gleich, von daher bin ich auch nicht böse, wenn man das eine blöde Idee nennt. > Machs doch einfach zwischen µC und den RS485/RS232 Treibern. Die > externen Schnittstellen sollten dabei natürlich separat ausgeführt > werden. So wäre es natürlich möglich, wenn Platz dafür da wäre. Allerdings denke ich da auch an Leute, die dann vielleicht doch an beide Ports etwas gleichzeitig dranstöpseln..
Die RS232 Pegel mußt du halt mit Shottky Dioden auf VDD+0.3V un d VSS-0.3V begrenzen und als VSS -5V nehmen. Digital könnte man dann mit Optokopplern die Pegel deiner Digitalen Steuersignale auf die 0V für High und -5V für Low bringen.
Georg schrieb: > Solange man immer nur eine der Schnittstellen anschliesst, kann man sich > auch die Umschaltung sparen - man verodert einfach die aktiven Pegel, > von der jeweils unbenutzten Schnittstelle kommt ja nix. Korrekt. Und wenn es derselbe Stecker für RS232 und RS485 sein soll, kann man dort die Zuleitungen ja jumpern, um auszuschließen, dass ein RS232-Pegel irgendwas am Profibus töten könnte.
:
Bearbeitet durch Moderator
Vishay DG333AL Da kannst Du, da die Logikseite eine eigene Versorgung hat, die +-Versorgung des Analogschalters aus der Ladungspumpe des RS232-Bausteins nehmen (max. 1µA Stromaufnahme auf V+ und V-)
Luc schrieb: > Bei RS232 liegen die Datenleitungen auf Pins 2 und 3, bei Profibus auf 3 > und 8 (halbduplex), außerdem liegt auf Pin 6 5V als Stromversorgung. Eigentlich geht das sowieso nicht mit einem Stecker, denn Profibus verwendet einen weiblichen, RS232C nach IBM aber einen männlichen Sub-D 9polig. Georg
> Die RS232 Pegel mußt du halt mit Shottky Dioden auf VDD+0.3V un d > VSS-0.3V begrenzen und als VSS -5V nehmen. Digital könnte man dann mit > Optokopplern die Pegel deiner Digitalen Steuersignale auf die 0V für > High und -5V für Low bringen. Hm ja, allerdings fehlen mir -5V (die könnte ich wie schon vorgeschlagen natürlich beim RS232-Wandler klauen) und das ganze wird irgendwie schon wieder zu aufwendig. Das wollte ich mir eigentlich ersparen. > Vishay DG333AL > > Da kannst Du, da die Logikseite eine eigene Versorgung hat, die > +-Versorgung des Analogschalters aus der Ladungspumpe des > RS232-Bausteins nehmen Ja, gute Idee. Aber nachdem ich mir das nochmal durch den Kopf gehen ließ, werde ich das jetzt aber doch lassen. Wenn beispielsweise ein Profibusgerät dranhängt und dem per Software die Schnittstelle darunter auf RS232 umgeschaltet wird, ist das etwas unschön. Mir ging es eigentlich darum, daß man das Gerät bei Bedarf in so eine Art Konfigurationsmodus oder Wartungsmodus schalten kann, in dem man sich per RS232 verbindet, auch wenn das Gerät im Normalbetrieb Profibus spricht, und zwar ohne daß man das Gerät aufschrauben muß, um irgendwelche Jumper zu setzen. Ich werde das jetzt so machen, daß man das Gerät nun doch rein mechanisch per Jumper nach RS232 oder Profibus konfiguriert. Außerdem spendiere ich noch einen weiteren reinen RS232-Konfigurierungsanschluß in RJ45-Ausführung oder so. Dafür ist gerade noch Platz vorhanden. Der wird dann auf eine noch unbenutzte serielle Leitung des Controllers gelegt. > Und wenn es derselbe Stecker für RS232 und RS485 sein soll, > kann man dort die Zuleitungen ja jumpern, um auszuschließen, dass ein > RS232-Pegel irgendwas am Profibus töten könnte. Jumper wollte ich ja ursprünglich vermeiden... > Eigentlich geht das sowieso nicht mit einem Stecker, denn Profibus > verwendet einen weiblichen, RS232C nach IBM aber einen männlichen Sub-D > 9polig. Mja, das ist so halb richtig, da habe ich auch schon dran gedacht. Man kann das Gerät auch als Endgerät ansehen, zumindest wenn es gewartet wird - dann schließt man ja einen "echten Rechner" an und das Gerät fungiert so wie beispielsweise ein Modem, welches ja auch eine weibliche Buchse hat. Im Normalbetrieb dagegen wäre die männliche Variante die korrekte... Also ich danke nochmal für die hilfreichen Antworten, auch wenn ich es jetzt doch nicht so umsetze. Zumindest weiß ich jetzt Bescheid, wenn mir mal wieder so etwas über den Weg läuft!
Luc schrieb: > Mir ging es eigentlich darum, daß man das Gerät bei Bedarf in so eine > Art Konfigurationsmodus oder Wartungsmodus schalten kann, in dem man > sich per RS232 verbindet, Führ doch einfach an einem gesonderten Stecker (wenn noch Platz ist für ne kleine 3-Polige Steckverbindung) Ground, TX und RX mit TTL-Pegeln raus, da kannst Du dann direkt einen von diesen günstigen USB/Seriell-Adapern anschließen. Eventuell könntest Du sogar Halbduplex fahren mit nur einer Leitung (und Ground), dann wäre Dein Wartungsstecker nur noch zweipolig. Alternative 2: Was hindert Dich daran den Konfigurationsmodus einfach per RS485 über den bereits vorhandenen RS485-Anschluss durchzuführen? Du könntest es dann sogar am Bus angeschlossen lassen und aus der Ferne konfigurieren, das benötigt am wenigsten zusätzliche Bauteile (Kosten).
:
Bearbeitet durch User
> Führ doch einfach an einem gesonderten Stecker (wenn noch Platz ist für > ne kleine 3-Polige Steckverbindung) Ground, TX und RX mit TTL-Pegeln > raus, da kannst Du dann direkt einen von diesen günstigen > USB/Seriell-Adapern anschließen. So will ich es jetzt ja machen, allerdings mit einer RJ45-Buchse, die paßt gerade noch hin. Da gibt es ja Adapter auf Sub-D fertig zu kaufen. > Alternative 2: Was hindert Dich daran den Konfigurationsmodus einfach > per RS485 über den bereits vorhandenen RS485-Anschluss durchzuführen? ... daß dieser Anschluß eben auch auf RS232 konfiguriert sein kann. Ich möchte die Möglichkeit geben, daß man später recht einfach aufs Gerät kommt, wenn man mit einem Laptop davorsteht. Und da ist RS485 schon eine gewisse Hürde, so ein Adapterkabel von RJ45 auf Sub-D ist dann einfacher besorgt.
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.