Hallo zusammen! Ich muss ein Projekt entwerfen, welches bei einer RS485-Schnittstelle erkennt, ob Daten im Halb- oder Vollduplex-Modus geschickt werden. Sobald der entsprechende Modus erkannt wird, muss die RS485-Leitung von 4-Draht zu 2-Draht oder umgekehrt "umgeswitched" werden. Hardwaremässig wäre das ganze kein Problem, weiss aber nicht wie ich den Modus softwaremässig erkennen soll. Hat jemand schon mal so was gemacht oder weiss wie das funktioniert? Danke & Gruss Sandra
Häh irgendwas stimmt nicht Bei RS485 gibt es kein full-duplex! Meisnt du vielleicht RS422 ????
RS485 ist immer Halfduplex. RS422 ist full duplex. Das sind 2 verschiedene Schnittstellen. Gruss Helmi
Ganz einfach, rs485 im Full-Duplex ist rs422, also benutzt du warscheinlich zwei rs485 receiver, einer dauernd auf Empfang, sowie die Enable für RX am Controller angeschlossen. Mittels Enable aktivierst du dann die verschiedenen Empfänger, jedoch nur einen zur gleichen Zeit. Der RX-Pin wird bei allen zusammengeführt, ev. mit Wiederstand.
Nein, RS485 kann sowohl im Halbduplex (2-Draht) und Vollduplex (4-Draht) betrieben werden. Bsp. von Wikipedia: "Die EIA-485 Schnittstelle benutzt in der Regel nur ein Adernpaar und wird halbduplex betrieben, mit zwei Adernpaaren ist aber auch Vollduplexbetrieb möglich." Nun sendet ein Gerät unserer Firma manchmal im Halb-, manchmal im Vollduplex-Betrieb. Mit Hilfe eines Microcontrollers will ich nun irgendwie feststellen können, in welchem Betrieb sich das Gerät gerade befindet. Weiss aber nicht wie.. Kann ich davon ausgehen, dass bei RS485-Übertragung die Datagrammlänge immer gleich gross ist? Und senden im Halbduplex-Betrieb immer Master und Slave abwechseld ein Datagramm oder kann dies variieren? Das Übertragungsprotokoll ist leider nicht bekannt. Gruss Sandra
>Kann ich davon ausgehen, dass bei RS485-Übertragung die Datagrammlänge >immer gleich gross ist? Nein kannst du nicht. Es gibt bei RS485 kein genormtes Protokoll hier kocht jeder sein eignes Sueppchen. >Und senden im Halbduplex-Betrieb immer Master >und Slave abwechseld ein Datagramm oder kann dies variieren? Das ist nicht gesagt das die sich immer abwechseln. >Das Übertragungsprotokoll ist leider nicht bekannt. Das sollte es aber sonst kann man nur rumraten.
>Nun sendet ein Gerät unserer Firma manchmal im Halb-, manchmal im >Vollduplex-Betrieb. Wenn es ein eigenes Gerät ist, sollte sich doch klären lassen, wann es was macht.
Das kann selbstverständlich eingestellt werden, ist aber von Kunde zu Kunde unterschiedlich. Genau wie das Protokoll...
Naja, wenn Du nur zwei Geräte hast, die als "Blackbox" arbeiten, aber beide ordentlich terminiert sind (!!!), könntest Du die Datenleitungen über Shunts verbinden und aus der Polarität der abfallenden Spannungen darauf schliessen a) wer Quelle und wer Senke ist b) was gesendet wurde Zu beachten: Spannungsabfall nicht zu groß, Kapazitätsbelastung vs. Übertragungsrate... Könnte aber gehen.
Hier noch ein Link... die Idee mit den Shunts gab es schon. :-) Beitrag "Wie Die Richtung bei einem 2-Draht-Bus erkennen?"
Meinst du sowas (Anhang)? Das Problem ist nur, ich sollte bevor ich die Datenleitungen verbinden wissen, ob der Halb- oder Vollduplexmodus aktiv ist. Ansonsten riskiere ich Kollisionen..
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.