Forum: Mikrocontroller und Digitale Elektronik RS485 <--> USB/PC


von Mathias H. (mathias)


Lesenswert?

Hallo,

möchte für Testzwecke eine RS485 Kommunikation zwischen ATmega128 und 
meinem PC herstellen.

Habe mir folgenden Schnittstellenkonverter rausgesucht:
http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_USB_RS485_CABLES.pdf
Dazu wird noch ein passendes Termalprogramm oder 
Schnittstellentestprogramm das RS485 Halbduplex unterstützt gebraucht.
Kennt jemand ein passendes?

Oder wie würdet ihr das machen?

Danke

Gruß
    Mathias

von Günter R. (muntablues)


Lesenswert?

Der FTDI wird sich wahrscheinlich als virtuelle COM (VCP) anmelden und 
dann kannst du jedes Terminal Programm nehmen, was diese Welt zu bieten 
hat gg Ansonsten muss der FTDI nur anders konfiguriert werden.

RS485 hat übrigens nix mit dem Protokoll zu tun, das ist "nur" die 
Bezeichnung des HW mäßigen Buses...

Gruß

von Mathias H. (mathias)


Lesenswert?

Danke Günter,

wird von den Terminalprogrammen auch Halbdublex unterstützt?
Also umschalten senden - empfangen.
Oder ist nicht relevant?

Dann noch Unterscheidung Adresss oder Datenbyte?
Beim Adressbyte ist das 9. Bit gesetzt.

Mathias

von Jens (Gast)


Lesenswert?


von Oliver J. (skriptkiddy)


Lesenswert?

Mathias H. schrieb:
> wird von den Terminalprogrammen auch Halbdublex unterstützt?
> Also umschalten senden - empfangen.

Darum kümmert sich der FTDI-Chip. Du öffnest einfach die serielle 
Schnittstelle und gut ist.

PS.
Vergiss nicht den Pullup an A und den Pulldown an B. Sonst hast du wenn 
beide Seiten am Lauschen sind, undefinierte Pegel auf den 
Signal-Leitungen.


Gruß Oliver

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mathias H. schrieb:
> wird von den Terminalprogrammen auch Halbdublex unterstützt?
> Also umschalten senden - empfangen.
> Oder ist nicht relevant?

Das ist nicht relevant, das Umschalten erledigt die Hardware des FT232, 
wenn man den RS485-Treiber auf die im Datenblatt des FT232 beschriebene 
Art und Weise anschließt.

> Dann noch Unterscheidung Adresss oder Datenbyte?
> Beim Adressbyte ist das 9. Bit gesetzt.

Das ist ein dickes Problem. Das geht gar nicht. Keine PC-Uart, egal ob 
onboard, auf einer PC-Karte oder in einer USB-Seriell-Bridge, 
unterstützt den 9-Bit-Betrieb.

Es gibt die Möglichkeit, das Paritätsbit als 9. Datenbit auszuwerten, 
das aber erfordert entsprechend angepasste Software und ist außerdem 
ziemlich langsam, da beim Senden jedes einzelnen Bytes die Schnittstelle 
je nach gewünschter Parität umkonfiguriert werden muss.

Praktikabel ist das nicht.

von Mathias H. (mathias)


Lesenswert?

Wie würde eine saubere praktikable Lösung aussehen?
RS485-PCI zusatzkarte im PC?

Gruß
Mathias

von Oliver J. (skriptkiddy)


Lesenswert?

Mathias H. schrieb:
> Wie würde eine saubere praktikable Lösung aussehen?

Müssen es denn unbedingt 9 Bit sein? Geht denn eventuell ein anders 
Protokoll?

Gruß Oliver

von Mathias H. (mathias)


Lesenswert?

Möchte an einem RS485/LAN-Netzwerk verschiedener ATmegas, "mithören" und 
"eingreifen" können. Quasi debuggen.
Der PC ist dabei ein weiterer Teilnehmer mit Adresse (9. Datenbit).

Zugang über ein geeignetes Terminalprogramm (wenn es ein passendes 
gibt).

Gruß
  Mathias

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Mathias H. schrieb:
> Möchte an einem RS485/LAN-Netzwerk verschiedener ATmegas, "mithören" und
> "eingreifen" können. Quasi debuggen.

Dann nimm einen µC, der "mithört". Dabei kann dieser die Daten schonmal 
vorab auseinanderpflücken. Die aufgearbeiteten Daten kann er dann im 
ASCII-Format an den PC per UART schickt.

Diese Lösung braucht dann keine RS485 zum PC und auch keine 9 Bit.

von Mathias H. (mathias)


Lesenswert?

@Frank, danke.
Als "Notlösung" akzeptabel.
Bevorzuge im Moment noch eine plug und play-Lösung auch wenn sie 100@€ 
kostet.
Wenn's nicht fertiges zu kaufen gibt, dann wird selbstgebaut.

Gruß
Mathias

von Thomas P. (topla)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Das ist ein dickes Problem. Das geht gar nicht. Keine PC-Uart, egal ob
> onboard, auf einer PC-Karte oder in einer USB-Seriell-Bridge,
> unterstützt den 9-Bit-Betrieb.

Mit einem OX16C950 auf einer PCI-Karte geht das hardwareseitig schon 
ganz prima, aber die notwendige Software konnte ich bei meinem Versuch 
nicht auftreiben. Bin dann auch bei der Variante mit µC als Konverter 
gelandet.

Thomas

von Weingut P. (weinbauer)


Lesenswert?

schlussendlich läufts darauf hinaus ein Protokoll zu verwenden ohne 9 
Bit ...
Schau mal Modbus oder Profibus

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Thomas P. schrieb:
> Mit einem OX16C950 auf einer PCI-Karte geht das hardwareseitig schon
> ganz prima

Danke für den Hinweis, das war mir neu, daß der das kann.

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
Noch kein Account? Hier anmelden.