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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.