-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: ENC28J60, wieviele Max im Netzwerk ??

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    08.11.2006
    Ort
    Duisburg
    Alter
    27
    Beiträge
    44

    ENC28J60, wieviele Max im Netzwerk ??

    Anzeige

    Hallo liebe Community.

    Ich habe bereits ein paar einfache Steuerplatinen mittels lochraster aufgebaut. Dort befindet sich ein Magjack, ein ENC28J60 mittels Quarzbeschaltung sowie ein atmega32.

    Ich versuche mich im Moment an einer einfachen UDP Portansteuerung welche von einer Steuersoftware (Client-PC) aus angewendet werden soll.

    Leider habe ich schon gelesen dass der ENC28J60 nicht in ein laufendes Netzwerk in Übermaße eingepflanzt werden sollte. Anscheind reagiert dieser zu sehr auf andere Protokolle/Ports von Windows Rechnern!!

    Nun also meine Frage: Wieviele dieser Netzwerkchips lassen sich teoretisch maximal in ein bestehendes Netzwerk mit einsetzen ??

    Aufgabe: Mehrere Netzwerkboards wollte ich in ein bestehendes Kabelnetzwerk (100mbit/ 2 Switchs/ 2 Laptops/3 PC´s) einbinden um diese Später anzusteuern !!


    Vielleicht kann mir jemand genauere Informationen posten !!!


    Dank euch


    Mfg.

    Oliver

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.08.2004
    Beiträge
    1.065
    naja, wenn du darauf ein Ethernet etablierst, dann gibt es keine Limits ausser die Anzahl verfügbarer MAC Adressen. Wenn du auch noch IP implementierst, ist es durch die Anzahl der freien IPs in deinem Subnet limitiert. Also bei 192.168.0.X und Subnetmask 255.255.255.0 sind es 254 mögliche Geräte, du kannst aber auch ein Class A Netz nehmen, dann kannst du über 16mio Geräte anschließen.

    Wie du das mit dem Ansprechen meinst, weiß ich nicht genau, weswegen man die Anzahl limitieren soll. Reagieren kann er nur durch die Firmware dahinter, nur die ist im Stande Ports und Protokolle zu analysieren, das IC ist nur ne Ethernet-Schnittstelle.
    Aber in Netzen werden regelmäßig ARP-Anfragen gestellt. Das ist die Umsetzung von Ethernet-MAC Adressen in IP Adressen (Welche MAC-Adresse hat die IP XYZ, darauf gibts dann eine Antwort, ICH hab die IP, hier ist meine MAC). Das passiert recht häufig, sodass es einen großteil des Traffics ausmachen kann, wenn gerade keine Volumentransfers stattfinden (also Rechner ist an, aber kein Programm ausser dem Betriebssystem gestartet). Da die Controller keine hohe Bandbreite haben, weil sie schlicht langsam Daten verarbeiten, kann es sein, dass dadurch Fehler oder Überlastungen auftreten.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    15.07.2008
    Ort
    Höchberg
    Beiträge
    155
    Hallo,

    ein eigentlich ganz stabiler webserver auf basis des ENC28J60 gibt es von Ulrich Radig.
    Evtl. kannst du ja seine Software an deinen Anpassen (IP und MAC zeugs usw...)

    Links:
    http://www.ulrichradig.de/home/index.php/avr/eth_m32_ex
    http://www.ulrichradig.de/home/index.../avr-webmodule

    Bei mir ist ein Webmodul am laufen. Bisher ohne Probs

    MFG Max

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    08.11.2006
    Ort
    Duisburg
    Alter
    27
    Beiträge
    44
    Ok vielen Dank Leute.
    Ja ich werde mir mal die Firmware von Ulrich anschauen, habe bereits ein Pollin Net I-O Board mit dieser Firmware versehen und bastle nun an einer Ansteuerung mit Ports welche von einer Software aus angesteuert werden.

    Ich denke das die 254 Geräte nie erreicht werden !!!

    Ok also liegt es praktisch nur an der "gut umgesetzten" Firmware welche dann gegebenenfalls die Fehler minimieren könnte !!

    Ein weiterer Punkt, welcher Ich nicht ganz verstehe und im Netz auch keine aussagekräftige Hinweise gefunden habe ist die "Vollduplex" Unterstützung.

    Soweit ich weiß, fährt doch ein Normales Switch nur im Halbduplex-Betrieb außer man sagt ihm dass es unbedingt in einem Vollduplex-Betrieb arbeiten soll !!!

    Der ENC28J60 kann ja beides, Halb sowie Vollduplex. Was wäre sicherer bzw eigentlich ist doch immer Vollduplex angewiesen um Daten zu senden und gleichzeitig zu empfangen außer man schreibt ein Protokoll welches dann das ganze auch im Halbduplex ermöglicht !!

    Thx

    Greetz Oliver

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    08.11.2006
    Ort
    Duisburg
    Alter
    27
    Beiträge
    44
    So da bin ich mal wieder.
    Habe jetzt mal geschaut wie ich die ganzen Boards geschickt anwenden könnte, vorallem um das ganze einfacher zu vernetzen.

    Dabei ist mir ein wichtiger Punkt eingefallen, welcher ich wohl nicht so ganz allein beantworten könnte.

    Ich habe ja mehrere Boards, jedes Board bekommt eine eigene Mac,sowie IP-Adresse. Ich möchte ja dort Daten senden sowie empfagen (Messwerte von Sensoren, Schalter auswerten, Relais schalten, usw)

    Das ganze soll von einem Programm aus gesteuert werden.

    Welches Protokoll soll ich am besten für die Datenverbindung verwenden ?

    UDP klingt eigentlich recht einfach, allerdings lese ich laut wikipedia-Artikel dass das Protokoll keinerlei Sicherheitsfunktionen hat.
    Soll heißen, wenn was fehlerhaft ankommt oder garnicht ankommt dann ist alles Fehlerhaft !!

    Wichtig:
    Ich möchte keine Webserver mit den Boards aufbauen, sie sollen ausschließlich von der Software angesteuert werden (Echtzeit-Übertragung)!!!


    Hoffe ihr könnt mir da helfen !

    Mfg. Oliver

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.08.2004
    Beiträge
    1.065
    Also TCP und UDP unterscheiden sich in den Punkten, dass UDP die einfache Variante von TCP ist, dafür gedacht, kurze, einfache Informationen ohne Absicherung zu verpacken.
    TCP stellt eine synchronisierte Verbindung her, und beide Seiten zählen die Byte, die empfangen bzw gesendet wurden. Damit kannst du feststellen, ob Daten verschütt gegangen sind. Ist das der Fall, übernimmt es das Protokoll, die verlorenen Teile neu zu senden, bis es richtig angekommen ist. Deswegen ist TCP für große Datenmengen und hohe Datensicherheit prädestiniert.
    UDP kommt viel schlanker daher, dh du hast weniger Overhead, es wird nur die Nachricht übermittelt, dabei wird nicht geprüft, ob sie ankam oder so. Du hast aber in beiden Geschichten noch die Sicherheitsmaßnahmen von Ethernet und IP, die zb CRC Summen mitschicken, um fehlerhafte Übertragungen zu finden.
    Gute Beispiele für die Protokollwahl: SNTP, das Simple Network Time Protocol, was benutzt wird, um von einem Server eine Uhrzeit zu beschaffen nutzt UDP, es wird eine UDP Anfrage an den Server geschickt "Wie spät ist es?" Die Rücksendeadresse ist bekannt, da das UDP Protokoll den Absenderport mitschickt und der SNTP Port abgesprochen ist.
    Die AntwortIP steck im IP-Datagramm, was die UDP-Message enthält.
    Und da es nicht wichtig ist, ob die Message nun ankommt, braucht nicht abgesichert zu werden, wenn es keine Antwort gibt, sendet man einfach die Anfrage nochmal.
    Bei ner Geschichte wie FTP wird TCP benutzt. Hier ist es wichtig, dass die Pakete alle ankommen, um den Inhalt richtig aufbauen zu können. Ausserdem geht es nicht um nur 4, 5 Bytes, sondern sendet direkt große Datenmengen, z.b. ein 35MB Video-File, bei dem es wichtig ist, dass alle Bytes in der richtigen Reihenfolge und vollständig ankommen. Der Mehraufwand fällt hier nichtmehr ins Gewicht, aber man hat halt mehr Overhead pro Paket, um 35MB zu transferieren, brauchst du nochmal 35kb an Verwaltungskram, der übertragen werden muss.

    Mein Tipp: Wenn du nur Schalten möchtest und einzelne Messwerte brauchst, dann nimm UDP, sende die Geschichte und prüfe mit ner zweiten UDP Anfrage, ob auch alles geklappt hat, dh der neue Status geschaltet wurde. Das sollte auch bei deinen Sensordaten reichen, wenn du damit zb nur Raumtemperatur oder so übertragen willst.
    Eine zusätzliche Datensicherung könntest du dann noch in die UDP-Message schreiben, zb Anzahl der Bytes, Messwerte, Prüfsumme .

    Was mich interessieren würde, womit möchtest du das PC Programm schreiben, und wie sprichst du die Netzwerkkarte an, bzw. sagst dem Betriebsystem, dass du einen Port möchtest und die und die Daten schreiben willst?

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    08.11.2006
    Ort
    Duisburg
    Alter
    27
    Beiträge
    44
    Hi vielen Dank für die Info.

    Die Software wird in Visual Basic Net geschrieben.
    Glaube hab noch irgentwo die dll liegen welche UDP Ansteuerungen vereinfacht !!!

    Das Board selber wird Quasi als Server arbeiten.
    Einen sehr schönen link dafür habe ich Hier gefunden !
    Das ganze ist mit einem Atmega8 aufgebaut worden, ich verwende dafür eine Atmega32.

    Was micht natürlich ein bischen unsicher macht ist folgendes.
    Wenn jetzt mehrere boards gleichzeit verschiedene Werte senden, könnte dann es nicht passieren dass der Client-PC (Software) einfach ein paar Werte ausläst, bzw einfach zu langsam alles empfängt.
    Dann könnte es sein dass Werte fehlen oder fehlerhaft sind.

    Ich würde gerne ein vielleicht sicherere Variante wählen um wirklich sicher zu gehn dass die Daten auch hundertprozentig angekommen sind.

    Geschaltet werden:
    • - Deckenbeleuchtung
      - Steckdose
      - Rolläden (I2C Bus mit externer Beschaltung)
      - Heizung (I2C Bus - Umgebaute Thermotronic Atmega
      - Verschiedene Verbraucher


    Ich würde natürlich schon gerne sichergehn dass auch wirklich das gewünschte "Produkt" geschaltet hat.


    Naja.. vielleicht doch deine Variante mit nem Sicherheitsmerkmal
    oder vielleicht doch ein anderes Protokoll !!!


    Thx.


    Mfg. Oliver

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.08.2004
    Beiträge
    1.065
    Normaleweise hat so ne NIC (Netzwerkkarte) einen Buffer, der einkommenden Traffic, der an sie (ihre MAC) gerichtet ist, speichert und bearbeitet.
    Solange dein Server ein echter PC ist, sehe ich überhaupt kein Problem was die Geschwindigkeit angeht, es sei denn du schreibst eine solche Software, die deine NIC überlastet oder falsch arbeitet.
    Und auch jeder dieser ICs hat 8kB an Buffer, wenn ich das im Datenblatt richtig gesehen habe.
    Ethernet ist ein so robustes System, dass man sogar in industrieller Umgebung immer mehr darauf eingeht (Profibus über Ethernet).
    Und wenn du eh einen fertigen TCP-IP Stack hast, würde ich mir nicht die Mühe machen, ein neues Layer zu entwickeln.
    Wenn du die IPs dann statisch verteilst oder noch nach ner MAC-Liste filterst, kannst du auch sichergehen, dass die Sachen an die richtige Stelle gelangen.
    MfG
    Björn

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    08.11.2006
    Ort
    Duisburg
    Alter
    27
    Beiträge
    44
    Ok vielen Dank.
    Ich werde mal experimentieren und schauen was so am besten laufen wird !!

    Willst du auch so etwas erarbeiten ??

    Danke nochmal !!

    Mfg. Oliver

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.08.2004
    Beiträge
    1.065
    Eigentlich nicht, aber mit dem Link, den du gepostet hast, wärs sicher interessant.
    Ausserdem kommst du aus Duisburg, das macht direkt sympatisch, komme aus Dinslaken, studiere nur gerade an der Nordsee.
    Ein Freund hat den Ulrich Radig Webserver nachgebaut, aber das direkt über die Ports und ne eigene Anwendung zu steuern, ist ne feine Lösung, auch wenn man dann die gewünschte Anwendung immer installieren oder mitnehmen muss, n Webbrowser hat ja jeder. Spart aber auch immens Speicherplatz.
    Wenn ich irgendwann mal genug Zeit haben sollte, steht so ein Projekt sicher auf der Liste, aber momentan gilt es meine Bachelorarbeit fertig zu machen.

    Ich hab letztes Semester eine Vorlesung namens TCP-IP belegt, in der alles vom Aufbau einer Ethnernet-Schnittstelle, bis zum Protokollbaum und einigen Anwendungen auf Linux behandelt wurde.
    Wenn du schon etwas fertig hast und gerne ausprobieren würdest, kann ich dir empfehlen ein einfaches Hub zu nehmen oder auf dem PC, wo die Software läuft das Programm Wireshark zu installieren. Das ist ein Netzwerk-Analysator, der ALLE hereinkommenden Pakete detektieren kann, oder Netzwerkverkehr auf einer transparenten Ebene, wie einem Hub überwachen kann. D.h. du siehst genau den Ethernet-Frame, das IP-Paket bis hin zum Inhalt einer UDP oder TCP Message. Ich denke, das wird zum debuggen sehr hilfreich sein, dann siehst du auch was, oder was nicht ankommt oder gesendet wird. Nach ner kurzen Einarbeitung ist das ein sehr mächtiges Werkzeug für jeden, der etwas mit Netzwerktechnik zu tun hat.

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •