Hallo!
Ich überlege mir momentan wie man ein Haus vernetzen kann. Wie ich in
Erfahrung gebracht habe, gibt es dort verschiedene Technologien, aber
keine spricht mich wirklich an.
Diese Master-Slave-Busse überzeugen mich nicht wirklich, dafür habe ich
aber besonders gefallen an der Ethernet-Topologie gefunden: Es hängen
nur an den Kabelenden Geräte und um mehr als zwei Geräte zu realisieren,
gibt es den Switch, der als Verteiler fungiert.
Das ist zwar alles gut und schön, aber mehrere Sachen halten mich davon
ab: Die Stromversorgung, der Preis der Komponenten (Kabel, Switches,
Ethernet-Treiber).
Also bilde ich mir ein, dass es besser wäre, nur die Topologie
nachzuempfinden. Da gibt es dann auch noch den USB-Bus. Dieser ähnelt
dem Ethernet irgendwie: Es gibt auch Verteiler, die hier allerdings
immer USB-Hub heißen. Das ganze ist hierarchisch aufgebaut in Form einer
Baumstruktur. So könnte dann eine Übertragung aussehen:
Ein Gerät legt die Daten in die Datenleitung. Diese bestehen aus einem
Header, in dem z.b. die Empfängeradresse gespeichert ist, und dem
Datenteil. Der übergeordnete Verteiler schaut in seinem Adressspeicher
(vgl. Mac-Adressenspeicher beim Switch) nach, ob ein Gerät mit der
Empfängeradresse untergeordnet ist. Wenn nicht, dann schickt es das
Datenpaket weiter an den nächsthöheren Knotenpunkt.
So finde ich das schon klasse. Soweit die Theorie, hier beginnnen aber
meine Probleme: Wie soll der eigentliche Bus aussehen? Soll ich hier
irgendetwas mit dem UART basteln? Mit der RS485-Technologie könnte ich
so sogar ziemlich große Entfernungen überbrücken. Aber wie soll ich dann
die Verteiler/Swichtes/Knotenpunkte/Hubs realisieren? Ich bastel
üblicherweise immer etwas mit ATmega16-Controllern rum, aber der besitzt
gerade mal einen UART! Aber meine Verteiler bräuchten einen UART schon
alleine für die Verbindung zum höheren Knotenpunkt und für jeden
Unterzweig auch wieder einen UART (und es soll pro Verteiler schon 8
Unterzweige geben!). Ein Software-UART ist zwar realisierbar. Aber wie
sieht es mit 8 SUARTs aus? Das schafft ein normaler AVR doch garnicht,
schon garnicht wenn die Datenpakete dann ja auch noch bearbeitet werden
müssen. Wenn man die Baudrate auf wenige dutzend Baud drosselt, geht es
vielleicht problemlos, aber ich benötige doch etwas höhere
Übertragungsraten.
Hat jemand eine Idee? Was sagt ihr zu meinen Ideen?
Vielen, vielen dank im vorraus für eure Antworten!
PS: Ich sollte vielleicht bemerken, dass ich kein professioneller
Elektrotechniker bin, sondern angefangen habe, in meiner Freizeit etwas
mit meinem ATmega16 rumzuspielen.
8 UARTS in Software zu machen wird happig, dann nimm lieber eine
SPI-UART Brücke, oder gleich 16C55x UART(s).
Das wird im Endeffekt auch wieder ziemlich teuer.
Eine Alternative wäre, einen µC mit zwei UARTs zu verwenden, und den
UART nach "unten" zu multiplexen.
Was genau spricht denn dagegen, eine Zentrale zu haben, die alles
managed?
Ralf
AVR-Beginner wrote:
> Da gibt es dann auch noch den USB-Bus. Dieser ähnelt> dem Ethernet irgendwie: Es gibt auch Verteiler, die hier allerdings> immer USB-Hub heißen. Das ganze ist hierarchisch aufgebaut in Form einer> Baumstruktur.
Bitte, NEIN.
USB und Ethernet haben NICHTS, aber auch absolut GAR NICHTS miteinander
gemein.
Die Stationen, bei denen die Post-LKWs ihre Ladung tauschen, heißen auch
Hubs. Und ein Schalter wird auch mal als Switch bezeichnet.
Bitte lies dir auf der Wikipedia mal die Artikel zu Ethernet und USB
durch.
Achja: Ethernet kann auf verschiedenen Medien gefahren werden. Einfach
Hubs sind für die Teilnehmer sogar volltransparent. Und an ein
RG58-U-Kabel können sogar mehrere Teilnehmer ohne Hub angeschlossen
werden.
> Achja: Ethernet kann auf verschiedenen Medien gefahren werden. Einfach> Hubs sind für die Teilnehmer sogar volltransparent. Und an ein> RG58-U-Kabel können sogar mehrere Teilnehmer ohne Hub angeschlossen> werden.
Hmm, okay, das ist auch richtig. Ich dachte eher so an das heutige
Ethernet, wo HUBs nicht mehr sind und die Pakete nur dahingehen, wo sie
auch hin sollen.
Okay, langsam frage ich mich selber, weshalb ich gegen ein
Master-Slave-System bin. Gerade wenn ich schon eine hierarchische
Basumstruktur habe, bietet sich Master-Slave ja eigentlich an. Ich
glaube, das ist die Lösung.
Mit RS485 kann ein Verteiler dann ja sogar bis zu 32 Geräten bedienen -
mit nur zwei UARTs.
Vielen dank für die Antworten.
Sorry, dass ich gefragt habe, ich hätte von selber drauf kommen müssen
(manchmal ist es halt einfacher, seine Ideen schriftlich festzuhalten)
> Mit RS485 kann ein Verteiler dann ja sogar bis zu 32 Geräten bedienen -> mit nur zwei UARTs
Kommt drauf an, wenn du mehr als 32 bedienen willst, dann darfst du halt
nicht den Standard MAX485 verwenden, sondern einen, der mehr kann, das
geht je nachdem bis zu 128 oder sogar 256.
Ralf
AVR-Beginner wrote:
>> Achja: Ethernet kann auf verschiedenen Medien gefahren werden. Einfach>> Hubs sind für die Teilnehmer sogar volltransparent. Und an ein>> RG58-U-Kabel können sogar mehrere Teilnehmer ohne Hub angeschlossen>> werden.>> Hmm, okay, das ist auch richtig. Ich dachte eher so an das heutige> Ethernet, wo HUBs nicht mehr sind und die Pakete nur dahingehen, wo sie> auch hin sollen.
Ähhh - Viele Switches werden zum Hub, wenn man ihren MAC-Speicher
flooded.
Und ein "heutiges" Ethernet gibt es auch nicht.
> Okay, langsam frage ich mich selber, weshalb ich gegen ein> Master-Slave-System bin. Gerade wenn ich schon eine hierarchische> Basumstruktur habe, bietet sich Master-Slave ja eigentlich an. Ich> glaube, das ist die Lösung.
USB ist Master-Slave. Und REINES Polling.
> Mit RS485 kann ein Verteiler dann ja sogar bis zu 32 Geräten bedienen -> mit nur zwei UARTs.
Och nö.
Bitte lies dir den Wikipediaartikel zu EIA-485 durch.
Du brauchst nur einen UART. Und eben keinen Verteiler. Das ist ja gerade
der Witz.
> Vielen dank für die Antworten.> Sorry, dass ich gefragt habe, ich hätte von selber drauf kommen müssen> (manchmal ist es halt einfacher, seine Ideen schriftlich festzuhalten)
Nein, fragen ist in Ordnung. Und nein, keiner erwartet, dass du von
selber auf irgendwelche Ideen kommst. Sonst macht die Fragerei in Foren
ja keinen Sinn ;-)
Aber über Schlagwörter, die dir zugeworfen werden, solltest du dich
informieren. Und das kann man auch, wenn die mit Beispielen und Bildern
in der WP behandelt werden.
Karl-heinz Strunk wrote:
>> Okay, langsam frage ich mich selber, weshalb ich gegen ein>> Master-Slave-System bin. Gerade wenn ich schon eine hierarchische>> Basumstruktur habe, bietet sich Master-Slave ja eigentlich an. Ich>> glaube, das ist die Lösung.>> USB ist Master-Slave. Und REINES Polling.
Und nebenbei ist die hierarchische Baumstruktur nicht im
Ethernetstandard vorgeschrieben und wird auch nicht so verdrahtet, wenn
es über eine Fritzbox hinaus geht.
AVR-Beginner wrote:
> Okay, langsam frage ich mich selber, weshalb ich gegen ein> Master-Slave-System bin. Gerade wenn ich schon eine hierarchische> Basumstruktur habe, bietet sich Master-Slave ja eigentlich an.
OK, ich meine gefunden zu haben, warum wir alle aneinander vorbei reden:
Du gehts strikt von Punkt-zu-Punkt-Verbindungen aus, weil du das von
deiner Ethernetverkabelung zu Hause so kennst.
Also Rechner, Switch, Rechner. Oder Rechner, Switch, Switch, Rechner.
Bei einem typischen Bussystem hängen die Teilnehmer aber ohne
irgendwelche Switches an einem Strang. Deswegen heißt es Bus. Und das
ist auch nicht weniger fortschrittlich.