www.mikrocontroller.net

Forum: Haus & Smart Home RS485+Busy line?


Autor: Hübi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich überlege einen RS485 Bus für mich zu Basteln, Habe hier viel gelesen 
und dabei wird of diskutiert, wie das bei vielen Nodes und RS485 ist, 
wenn zwei gleichzeitig senden wollen. Ich habe noch 1 Doppelader frei 
und nun die tolle Idee gehabt, eine BUSY line zu machen, damit müsste 
ich doch auf der sicheren Seite sein, oder??

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein. Was passiert wenn mehrere wollen und Busy endet? Was passiert wenn 
mehrere wollen und nicht Busy ist?

Das funktioniert erst, wenn du das Busy mit einer eindeutigen ID wie CAN 
fährst um Konflikte aufzulösen.

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Protokoll muss so gestaltet sein dass immer nur einer sendet. Falls 
dann doch mal eine Störung auftritt so muss diese über XOR nzw CRC 
Checksummern erkannt werden.

Autor: Wolfgang Müllauer (wolf177)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kam ebenfalls auf die Idee und bin gerade dabei einen Hausbus mit 
einer Handshake (Busy) Leitung zu ralisieren. Ich habe die ersten Parts 
bereits fertig (PC Interface, Rolladensteuerung und Testclient) und ein 
wenig mit Microcontroller und C# programmiert. Ich bin bis jetzt sehr 
zufrieden damit. Jeder Busteilnehmer prüft ob die Handshake Leitung frei 
(low) ist. Um zu senden wird die Handshakeleitung high gesetzt und dann 
erst gesendet. In dieser Zeit kann kein anderer Busteilnehmer senden. 
Erst wenn die Leitung wieder low ist darf ein anderer senden. Die 
Rolladensteuerung habe ich gerade erst gestern fix montiert, bin gerade 
dabei die nächsten Komponenten zu bauen.
Wenn ich mehr Erfahrungen gesammelt habe kann ich ja wieder berichten.

Autor: test (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@wolf177
Gibt es also 3 Leitungen: A B und Handshake?

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was passiert wenn zwei Teilnehmer die Leitung gelichzeitig hochziehen?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vergesst das mit der Busy Leitung. Baut einen soliden Single Master Bus 
auf und gut. Dazu gibts schon ein halbes Dutzend Threads im Forum.

MFG
Falk

Autor: Wolfgang Müllauer (wolf177)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, es gibt 3 Leitungen.. Ich vernetze meinen Bus mit CAT5 Kabeln für +, 
-, A, B, Handshake und habe noch 3 weitere Leitungen frei für spätere 
Erweiterungen (z.B. digitale Audioübertragung, ...). Das 2 Teilnehmer 
die Leitung gleichzeitig hochziehen ist fast unmöglich. In meinem 
Testprogramm mit Endlosschleifen bei 3 Teilnehmern die unterschiedlich 
senden und empfangen gab es keine Probleme. Sollten doch mal 2 
Teilnehmer zur gleichen Microsecunde hochziehen wollen wird der Befehl 
wahrscheinlich nicht ankommen. Derzeit wird über einen Timeout die 
Handshake wieder freigegeben. Eine Rückbestätigung habe ich (noch) nicht 
implementiert.
Einen Singlemaster wollte ich nicht da von mehreren Teilnehmern aus 
Schaltbefehle ohne Verzögerung gesendet werden sollen. Dzt. gibt es 
keine merkbare Verzögerung wenn ich eine Taste drücke die auf einem 
anderen Teilnehmer ein Relais schalten soll. Wenn gerade ein anderer 
Teilnehmer z.B. eine Temperatur sendet ist die Verzögerung auch nur ein 
paar Millisekunden.
Alles in allem ist das die optimale Lösung für mich da ich 1. 
Hobbybastler bin und 2. in meinem Haus vielleicht max 10 Teilnehmer 
haben werde. Eine prof. Lösung sieht wohl anders aus aber um das geht es 
bei mir nicht, das muss jeder selber entscheiden.
Gruß
Wolfgang

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.