Guten Morgen,
ich habe zwei USB-Konverter, einen, der nach RS232 ummodelt und ein
anderer, der eine Ummodellung nach RS485 macht.
Auf beiden gibt es RxD und TxD.
Stöppsel ich den RS232 rein und verbinde RxD und TxD mit einem Kabel,
dann kann ich in Putty das Zeichen, dass ich eintippe, sehen.
Ich dachte mir nun - ok - das gleiche müsste ja dann auch bei dem
anderen Pegelwandler klappen. Aber dort klappt es leider nicht. Es gibt
kleine Kontroll-Birnen in dem Wandler. Also - tippe ich ein Zeichen in
Putty ein - das ich ja so am Bildschirm nicht sehe, wenn ich das Echo
geabschaltet habe, dann blinkt aber immer die Lampe kurz auf (ich habe
auch eine sehr langsame Baudrate genommen).
Verbinde ich RxD und TxD miteinander, dann blinkt auch die Leuchte bei
RxD auf - weil sie da die Daten von TxD gekriegt hat. Leider empfange
ich aber im Putty-Anzeigefenster nicht das RxD-Signal und ich verstehe
noch nicht, warum das so ist.
Falls mir jemand von Euch helfen könnte, würde ich mich sehr darüber
freuen.
Siebzehn Zu Fuenfzehn schrieb:> Naja, waehrend RS232 bidirektional ist, ist RS485 nur unidirektional.> Die Richtung muss umgeschalten werden
ach so. Das heisst - ich kann nicht senden und gleichzeitig emfpangen?
Weil bei dem RS232 war es doch so - wenn ich es noch richtig in
Erinnerung habe, dass es zwei Speicherstellen für die Schnittstelle
gibt, einmal - wo das RxD-Signal gespeichert wird, wenn es empfangen
wird - und einen Speicher für das TxD-Signal. Und der uC oder der
Treiber auf Windows holt "selber" beim Auslesezyklus - das Signal aus
der Speicherstelle.
Kann ich denn einen RS485-Wandler per Software umschalten? Oder brauche
ich dann zwei Wandler - einen, der auf Senden eingestellt ist - und
einen anderen, der auf Empfangen eingestellt wurde? Weil, der hat ja
zwei Eingänge - RxD und TxD - deshalb dachte ich, dass er auch in
Analogie zur seriellen Schnittstelle mit RS232-Pegeln so arbeiten würde.
Auch wenn es jetzt dann wahrscheinlich einen Sturm von
"Richtigstellungen" gibt, meine Erfahrung mir RS485 ist, dass der
Begriff nicht nur für die halbduplex (2 bzw. 3 Drähte), sondern auf für
vollduplex (4 bzw. 5 Drähte) benutzt wird, obwohl der eigentlich eher
RS422 heißen könnte.
Wenn Dein Konverter mehr als 3 Anschlüsse hat (also mehr als GND, A, B)
sondern 5 (Tx-, Tx+, Rx-, Rx+, GND) dann kannst Du Dein Experiment mit 4
Drähten wiederholen. Manchmal muss man dazu aber auch noch etwas "DIP
switchen" oder "Jumpern". Kann z.B. "voll/halbduplex" heißen.
>> Kann ich denn einen RS485-Wandler per Software umschalten? Oder brauche> ich dann zwei Wandler - einen, der auf Senden eingestellt ist - und> einen anderen, der auf Empfangen eingestellt wurde? Weil, der hat ja> zwei Eingänge - RxD und TxD - deshalb dachte ich, dass er auch in> Analogie zur seriellen Schnittstelle mit RS232-Pegeln so arbeiten würde.
Das funktioniert meiner Erfahrung noch so, dass sobald Du Daten sendest,
dass Modul auf "Senden" geht, wenn es keine Daten zum "Senden" hat, ist
es auf "Empfang". Es braucht oft auch kurze Pausen für das Schalten, was
sich aber meist eh ergibt, außer man hat einen schnellen
MikroController, denn man dann halt explizit etwas Ausbremsen muss.
Es gibt keine Absicherung auf auf Hardware-Ebene, dass nicht zwei
gleichzeitig Senden, dass muss die Firmware machen. Oft wird daher eine
Master / Slaves protokoll eingesetzt.
Es gibt mit google eigentlich recht viel Infos, so dass man mit den
Startinfos hier und einer Internet Recherche eigentlich ganz gut klar
kommen sollte.
Achim K. schrieb:> Wenn Dein Konverter mehr als 3 Anschlüsse hat (also mehr als GND, A, B)> sondern 5
Mein Konverter hat nur drei Kontaktbeine - GND, A und B. Leider nicht B+
und B- und so :-(
Also geht das jetzt garnicht, dass ich gleichzeitig senden - und was
empfangen kann?
Bei 3 Anschlüssen nicht. Dafür können mehr als 2 Geräte verbunden
werden, aber das Protokoll muss sicherstellen, dass nur 1 Gerät sendet.
Bei Vollduplex ist eine Verbindung mit mehreren Geräten im Grundsatz
nicht möglich, außer man macht so was zwischen voll- und halbduplex, wie
manche RS422 Systeme.
Also, zweiten Adapter besorgen.