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