Hallo, ich wollte mal Fragen, wie es mit dem Einsatz von Ethernet als Hausbus aussieht. Zuerst dachte ich immer, ich bräuchte einen TCP/IP-Stack, weshalb ich mich nie darüber schlau gemacht habe, da der mir einfach zu viel Performance "gefressen" hat. Doch nun habe ich erfahren, dass es auch ohne zu gehen scheint. Könnt ihr mir evtl. bei folgenden Statements bestätigen bzw. korrigieren (Atmega8 mit ENC28J60): - Wenn ich den ENC28J60 einsetzt und an meinen Switch klemme, so kann ich z.B. einfach einen noch nicht vorhandenen EtherType definieren und Daten an einen anderen Controller versenden, wobei das Ziel des Paketes anhand der MAC-Adresse erkannt wird. - Besitzte ich trotzdem noch die Störsicherheit, die Ethernet "an meinem PC" bietet, also dass z.B. verlorenen gegangene Pakete auto. neu gesendet werden bzw. fehlerhafte Pakete aussortiert werden? - Kann ich solche Pakete ohne bestimmtes Protokoll auch von meinem PC aus senden, sodass sie die ENC28J60s erhalten? - Würden Windows- oder Linux-PCs in einem solchen Netzwerk stören bzw. erheblich Last erzeugen, z.B. durch Broadcast-Pakete? Wäre nett, wenn mir da einer Helfen könnte. Dies sind halt noch die für mich "kritischen" Punkte, ob sowas bei mir überhaupt Sinn machen würde. Der Aufwand auf μC-Seite dürfte ja nicht sonderlich hoch sein, da ich ja nur die Roh-Daten vom ENC28J60 zu empfangen brauche, und diese ja schon die geforderten Informationen enthalten. Und senden dürfte ja auch keine sonderliche Last erzeugen, die Daten können ja "einfach rausgeschossen" werden. Viele Grüße Julian
:
Verschoben durch User
Jop, aber dummerweise finde ich eigentlich nur Informationen zu Ethernet auf Basis von TCP/IP bzw. UDP, aber gerade dass will ich ja nicht. Ich bräuchte all diese Extras wie Ports, die die Protokolle mit sich bringen nicht. Mir würde es reichen, simple "Rohdaten" zu übertragen.
Julian W. schrieb: > - Besitzte ich trotzdem noch die Störsicherheit, die Ethernet "an meinem > PC" bietet, also dass z.B. verlorenen gegangene Pakete auto. neu > gesendet werden bzw. fehlerhafte Pakete aussortiert werden? Verlorene Pakete: das obliegt dann Dir, da das normalerweise Aufgabe von TCP ist Fehlerhafte Pakete: das wird durch die FCS sichergestellt > - Kann ich solche Pakete ohne bestimmtes Protokoll auch von meinem PC > aus senden, sodass sie die ENC28J60s erhalten? Stichwort Rawpackets. Greez Jay
Julian W. schrieb: > - Wenn ich den ENC28J60 einsetzt und an meinen Switch klemme, so kann > ich z.B. einfach einen noch nicht vorhandenen EtherType definieren und > Daten an einen anderen Controller versenden, wobei das Ziel des > Paketes anhand der MAC-Adresse erkannt wird. ja, auch wenn du keinen ENC28J60 einsetzt. > - Besitzte ich trotzdem noch die Störsicherheit, die Ethernet "an meinem > PC" bietet, also dass z.B. verlorenen gegangene Pakete auto. neu > gesendet werden bzw. fehlerhafte Pakete aussortiert werden? nein, das ist auch beim PC nicht so. Paketverluste können vorkommen, und es ist Sache des Übertragungsprotokolls, damit klarzukommen. Beim PC ist es das TCP, das das macht. UDP-Pakete hingegen sind nicht gesichert, hier ist es Sache der Anwendung, ebenso ICMP und ARP. > - Kann ich solche Pakete ohne bestimmtes Protokoll auch von meinem PC > aus senden, sodass sie die ENC28J60s erhalten? Ja. Viele Programme verwenden dazu die WinPCAP Bibliothek. > - Würden Windows- oder Linux-PCs in einem solchen Netzwerk stören bzw. > erheblich Last erzeugen, z.B. durch Broadcast-Pakete? nö. Alternative: Verwende UDP-Pakete, d.h. implementiere einen UDP/IP-Stack ohne TCP. Das ist ziemlich einfach, denn die Komplexität liegt beim TCP. Der Vorteil ist dann, dass Du deine Geräte dann anpingen kannst und bei der PC-Programmierung weniger Aufwand hast. Lies dazu ein gutes Buch über TCP/IP, dann weißt Du mehr. fchk
Gehen tut das. Frage ist nur: Wozu? Die ganze schöne Funktionalität der Ethernetschnittstelle wie Schalten über Webinterface etc. benötigt eben einen TCP-Stack. Wenn du darauf verzichten willst ist CAN oder RS485 die bessere Lösung. Ich halte sowieso nichts davon, Etnernet als Hausbus einzusetzen. Ein Schaltung mit Etnernet wirst du kaum unter 2W bekommen. Das Ganze sagen wir, mal 10 Hausbusgeräte für den Anfang, mal 24 Stunden, mal 365Tage... Da ist der Energiebedarf bei anderen Bussystemen deutlich geringer. Und die Sparst die die Switches, die auch noch einmal Geld kosten und Energie verbrauchen. Denn Etnernet ist kein Bus, sondern wird sternförmig verkabelt.
Schon mal Danke für die vielen Antworten. Also Ethernet scheint eine echte Alternative für mich zu sein. Um etwas Klarheit zu schaffen: Ethernet will ich quasi zur "Langstreckenübertragung" einsetzten, also um die größere Distanzen in meinem Bus zu überbrücken, von daher werden es wohl zur Zeit um die 5 Nodes werden. Die "letzten Meter" werde ich dann mittels CAN überbrücken. Bisher war mir TCP/IP bzw. UDP einfach von vorne herein zu komplex, daher hab ich es gleich mal "aus Prinzip" sein lassen. Das mit dem Webinterface könnte ich aber ja trotzdem machen, indem ich später einen Controller dazu klemme, der ein Webinterface zur Verfügung stellt und die Befehle in die Raw-Pakete umwandelt.
Im studium hab ich dazu folgendes gelernt: > - Wenn ich den ENC28J60 einsetzt und an meinen Switch klemme, so kann > ich z.B. einfach einen noch nicht vorhandenen EtherType definieren und > Daten an einen anderen Controller versenden, wobei das Ziel des > Paketes anhand der MAC-Adresse erkannt wird. Kommt drauf an. Bei einem "normalen" Layer-Switch ist das richtig. (Vorausgesetzt du setzt die richtige Empfänger MAC im Paket). Bei nem Layer 3 Switch, nein. Der benötigt IP, hast du aber wahrscheinlich nicht zuhause. > - Besitzte ich trotzdem noch die Störsicherheit, die Ethernet "an meinem > PC" bietet, also dass z.B. verlorenen gegangene Pakete auto. neu > gesendet werden bzw. fehlerhafte Pakete aussortiert werden? Natürlich nicht. Die Sicherheit wird durch das Protokoll erreicht. TCP/IP hat garantierte Zustellung, UDP/IP (wie es bei P2P oder Streaming benutzt wird) hat auch keinerlei Zustellsicherheit. > - Kann ich solche Pakete ohne bestimmtes Protokoll auch von meinem PC > aus senden, sodass sie die ENC28J60s erhalten? Kannst du nicht, außer du schreibst dafür in Windows einen eigenen Protokolltreiber. Vielleicht kannst du auch händisch die Pakete erzeugen und mit Wireshark rausschicken. Musst du dich selber schlau machen. > - Würden Windows- oder Linux-PCs in einem solchen Netzwerk stören bzw. > erheblich Last erzeugen, z.B. durch Broadcast-Pakete? Naja, das kommt drauf an. Last wird da fast keine Verursacht, deshalb gibt es ja Schwitches. Störungen, hängt ganz von deiner Implementierung ab. Wenn die uCs die Pakate sauber erkennen, welche zu Ihnen gehören und alles andere verwerfen, nee. Beste Grüße, Metatron
Was heißt bei dir Langsteckenübertragung? Mehrere Hundert Meter sind schon drin bei CAN (Im Gegensatz zu Ethernet). Wie wärs damit: Hausbusknoten mit CAN. Dazu eine Etnernet-CAN Gateway mit Webinterface für die Bedienung der Komponenten von PC aus.
Julian W. schrieb: > Um etwas Klarheit zu schaffen: Ethernet will ich quasi zur > "Langstreckenübertragung" einsetzten, also um die größere Distanzen in > meinem Bus zu überbrücken, Bereits einfaches RS485 kann etliche hundert Meter überbrücken, wenn man sich bei der Datenrate zurückhält und ein anständiges Treiberdesign verwendet.
heinzhorst schrieb: > Was heißt bei dir Langsteckenübertragung? Mehrere Hundert Meter sind > schon drin bei CAN (Im Gegensatz zu Ethernet). Wie wärs damit: > Hausbusknoten mit CAN. Dazu eine Etnernet-CAN Gateway mit Webinterface > für die Bedienung der Komponenten von PC aus. Nunja, das Problem bei CAN ist aber, dass ich ein Kabel brauche. Die Strecke wäre, wenn ich in der "Endphase" bis zum Gartenhaus ausbaue, doch fast 800m insgesamt BUS-Länge. Bei Ethernet wäre das längste Kabel zum Switch gerade 80m. Ethernet würde mir noch die Möglichkeit bieten, auch W-LAN zu nutzen, was für mich sehr interessant wäre...
Metatron schrieb: > Bei einem "normalen" Layer-Switch ist das richtig. > (Vorausgesetzt du setzt die richtige Empfänger MAC im Paket). Bei nem > Layer 3 Switch, nein. Der benötigt IP, hast du aber wahrscheinlich nicht > zuhause. Eine Layer 3 Switch kann auch auf Layer 3 arbeiten, also routen. Sie kann aber auch als ganz "normale" Ethernet-Switch eingesetzt werden. Da diese viel teuerer als eine "normale" Switch ist, wird sie sicherlich kein Privatmensch für eine Hausvernetzung einsetzen (Kosten für 48 Port zum Beispiel [HP/3Com] > 3000€). Hier: http://de.wikipedia.org/wiki/Layer-3-Switch
"Die Switch"? Ist das richtig? Falls man überhaupt von richtig oder falsch sprechen kann ;-)
"Ich" (und auch meine Kollegen) nennen sie "die" Switch. Vielleicht wäre "ein" (also "der") Switch (Schalter; Sternverteiler) besser.
Übrigens, du musst dein ganzes System nicht als ganzen BUS fahren. Für DMX was ja RS485 gibts z.B. Splitter, mir fällt grad der richtige Name nich ein, das gibts für so ziemliche alle erdenklichen Busse, der Verteilt das Signal auf mehrere Ausgänge und umgekehrt. Sowas gibts garantiert auch für CAN, so einen in jede Unterverteilung usw. So muss man nicht alles als kompletten Ring anfahren ;) Ethernet halte ich wie gesagt aus den oben genannten Gründen, Verbrauch, komplexität usw für einen Bus ungeignet, besser wäre wie gesagt ein einzelnes Modul, evtl gleich nen kleinen Server der auchnoch alle möglichen anderen Sachen übernimmt, Router, FTP, usw. über den man dann eine Verbindung zwischen Netzwerk und Bus bereitstellt (Webinterface und weiß ich noch alles)
David .. schrieb: > Sowas gibts garantiert auch für CAN, so einen in jede Unterverteilung > usw. Für CAN hab ich einen solchen IC auch gefunden, der kostet jedoch 13€ und verbindet "nur" 2 CAN-Netzwerke miteinander, von daher wird das ganze recht teuer dann...
Wenn du einfach auf jedem Stockwerk so ein Teil setzt, und eben für die Leitung zum Gartenhaus wären das gradmal 52€ wenn Verteilerpunkten, UG, EG, OG, Außenanlagen ausgeht, da kosten ja 3 Säcke Beton mehr ...
Ich bin gerade dabei, dass auf Ethernet umzusetzen, wobei ich UDP als Broadcast nutze. Leistungsaufnahme des Knotens liegt bei 120mA bei 3.3V, also weit weg von den hier genannten 2W. Das Schöne ist, dass man einfach vorhandene Ethernet Installation mitnutzen kann, der VDR Server kann das einfach mittracen, Wireshark zum Debuggen einsetzen usw. usf. Und ich kann an alle Knoten mittels Telnet direkt drauf zur Konfiguration, Bootstraploader etc. Kann man fast alles mit Software, die es hier im Board gibt erschlagen (Uli Radigs Server abgespeckt). Gruss Axel
Jop, hab mich jetzt auch entschieden, Ethernet zu nutzen. Ob ich UDP nun nutze oder nur Rohdaten verschicke, werde ich mir noch überlegen bzw. ausprobieren, wie es mit der Performance aussieht.
Aha. Die grosse Stromschleuder... Das EW hat gern gutzahlende, langjaehrige Kunden. Aber wenn man das Datenaufkommen hat, und die Bandbreite braucht...
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.