Forum: Mikrocontroller und Digitale Elektronik RS 485, uC und PC


von Sven (Gast)


Lesenswert?

Hallo,

da ich mehrere AVR´s (z.B. ATMega16) miteinander verbinden will habe
ich mich heute über die "RS485-Norm" informiert und bin zu dem
Entschluss gekommen, dass dieser Feldbus für mich in Frage kommt. Das
es kein festes Protokoll gibt weis ich auch, ich bin auf eine Seite
gestossen welche ein mögliches Protokoll beschreibt - Ok. Dort werden
zur Übertagung 9 Bits genutzt, wobei das 9 Bit als "Flag" dient um
den Slaves mitzuteilen das es sich um eine Adresse (des jeweiligen
Slaves) handelt. Das erscheint mir auch sehr logisch, nun sollen aber
bei mir die Slaves die Mikrocontroller sein und, ein PC der Master.

Daszu meine Fragen:

1.) Kann man die RS232-Schnittstelle eines PC´s benutzen und diese an
den RS485-Bus "klemmen" (evtl. über einen Baustein MAX485 etc.)?

2.) Wenn ja, ist das überhaupt Programmierbar, denn soweit ich weiss
kann man keine 9 Datenbits in den I/O-Routinen definieren.

Vielen Dank

von A.K. (Gast)


Lesenswert?

Erst runter von RS232 auf TTL (MAX232), dann rauf auf RS485 (MAX485,
oder...) und RTS an das Enable vom RS485 Transmitter. Soweit die
Hardware. Braucht aber irgendwoher Strom.

Der Async-Controller vom PC kann zwar offiziell keine 9 Bits, aber
dafür kann er Mark/Space Parity. Solange Du also nicht noch ein echtes
Parity-Bit oben drauflegen willst, solltest Du mit geschickter
Parity-Programmierung zwischen Daten und Adressen unterscheiden können.

von Detlef Wilken (Gast)


Lesenswert?

Hallo Sven

Wegen dem Protokoll brauchst Du Dir wohl keine Gedanken machen. Falls
das Protokoll, welches Du gefunden hast, Deinen Ansprüchen gerecht
wird, dann gut. Es ist aber auch keine große Kunst, ein eigenes
Protokoll zu entwickeln. Ich habe für mein RS485-Netzwerk ein eigenes,
sehr einfaches Protokoll entwickelt.

Das Problem bzgl. RS232 ist schon etwas komplexer. Ich selbst stand
auch vor dieser Frage und habe mich intensiv mit der Schnittstelle
beschäftigt. Ich habe aber dann eine andere Lösung gewählt
(Zusätzlicher Controller zwischen RS232 und RS485). Damit habe ich zwar
ein weiteres Protokoll, habe aber die Problematik mit Mark/Space, 9-Bit
Adresse, Endekennung... umgangen

Gruß
Detlef

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.