ATmega und RS485

Gast #527875
Lesenswert?

Hallo,

plane zwei ATmega mittels der Physik RS485 über eine Distanz von 60m 
miteinander zu verbinden.

Hat jemand schon mal ein solches Vorhaben durchgeführt und kann mir 
bzgl. möglicher Ausgangspunkte hinsichtlich der Softwareimplementierung 
helfen bzw. einen Hinweis auf eine Quelle geben?

Gruß aus Wolfsburg

Christian
Gast #528059
Lesenswert?

@Christian Engel

>plane zwei ATmega mittels der Physik RS485 über eine Distanz von 60m
>miteinander zu verbinden.

>Hat jemand schon mal ein solches Vorhaben durchgeführt und kann mir

Ja. U.a. ich.

>bzgl. möglicher Ausgangspunkte hinsichtlich der Softwareimplementierung
>helfen bzw. einen Hinweis auf eine Quelle geben?

Links hab ich jetzt nicht, war alles selber gestrickt. Ich hatte ein 
kleines Protokoll definiert welches mit 6 Bytes/Paket arbeitet.

1. Byte Startkennung 0x40 "@"
2. Byte Zieladresse  0 Master (PC), 1...254 (Slaves) 255 Broadcast
3. Byte Kommando
4./5. Byte Daten
6. Byte  CRC

Da mein Master ein PC war, ich aber keine Lust/Ahnung auf 
Kernel-Treiberprogrammierung hatte, habe ich die Bussteuerung in einen 
AVR exportiert (Receiver/Transmitter enable). Es reicht aber auch ein 
Monoflop. Dazu gibts einige Threads hier im Forum. Such einfach mal.

MFG
Falk
#529038
Lesenswert?

Hallo Christian,

ich habe ein solches Projekt gebaut. Es ist ein Peer-to-peer-System mit 
maximal 254 Busteilnehmern, welches Datenpakete variabler Größe 
(maximale Größe beim Kompilieren definierbar) mit 57600bps 
tranpsortieren kann. Es bietet eine sehr sichere Übertragung durch 
Arbitrierung außerhalb der Datenpakete, durch die Verwendung von 
Slew-rate-limitierten Treiberbausteinen und durch eine bei größeren 
Längen vorzunehmende Terminierung. Als Verbindungsmedium wird 
vorzugsweise Cat5-Kabel eingesetzt.

Ich darf dich auf dieses Posting in der Codesammlung verweisen:
Beitrag "RS485 Funktionen"

Die Version vom Mai 2006 (Datum des Posts) ist lauffähig und die derzeit 
letzte Revision.

Das Projekt stammt ursprünglich von hier und wurde von mir auf AVR-GCC 
portiert:
http://www.drgw.net/~maverick/pmwiki.php/Electronics/MRBus

Hier sind die Spezifikationen des Busses (umfangreich, aber sehr 
informativ):
http://www.drgw.net/~maverick/pmwiki.php/Electronics/MRBusSpec

Ich darf dich auch noch auf die Diskussionsgruppe verweisen, welche ohne 
Registrierung eingesehen werden kann.
http://groups.yahoo.com/group/mrbus


Ich weiß nicht, wie deine Implementierung des Busses aussehen soll, 
insofern empfehle ich dir die Lektüre der Spezifikationen, sodass du dir 
selbst ein Bild machen kannst.

Grüße
Michael Prader

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren