Hallo Experten, Ich bin auf der Suche nach einer Möglichkeit einen Ethernet Frame in einen UC (waschl. Stm32) einzulesen und dann über den 2 Netzwerk Anschluss an den nächsten Teilnehmer zu senden. Ich will damit einen Logger bauen der das Telegramm Komplett aufzeichnen kann. Auch wenn es unglaublich klingt Sind 10 MBit in Ordnung :-) aber mehr wären auch cool! Primär Anwendung wäre hier der Modbus bzw. Diagnose. Der Aufbau wäre dann sozusagen so: Master - > PHY - > uC - > PHY - > eigentlicher Teilnehmer Der Aufbau ist vom Ethercat abgekupfert wobei die eben Asics mit 2 Phy's und der Intelligenz haben und auch die Frames Im durchlauf auslesen. Kann man sowas mit Physical Layer transceiver machen? Ich dachte an etwas wie 2 enc28j60 und einen STM32 Und das dann via DMA durchschaufeln. Über Antworten würde ich mich sehr freuen, Vorab vielen Dank!! Grüße Max
Hallo, da du nichts über dein eigentliches Ziel schreibst, schweife ich mal ein wenig ab. Wenn nur dein Ziel ist, Pakete mitzulesen, wäre ein „Mirror Port“ auf einem managbarem Switch einfacher :-) Wenn es unbedingt der uC sein soll, vergiss meine Antwort :-) Lg
Mach es anders: Die allermeisten Microcontroller brauchen noch einen extra PHY für Ethernet. Jetzt schau Dir den hier an: https://www.microchip.com/wwwproducts/en/LAN9354 Für den Microcontroller ist es ein PHY. Er wird genauso angeschlossen und funktioniert auch so. Es ist aber ein 3-Port-Switch, und zwar ein managebarer. Zwei Ports gehen an RJ45-Buchsen, der dritte Port ist das RMII an den Mikrocontroller. Damit kann der Baustein zum einen alle Pakete zwischen den beiden LAN-Ports automatisch an den jeweils anderen weiterreichen. Und zum anderen kann dieser Chip wie die meisten managebaren Switche Port Mirroring, d.h. er kann Pakete, die durch einen Port gehen, automatisch an einen weiteren Port ausleiten. Jetzt weiß ich nicht, was Du mit den Paketen genau machen willst. Wenn das mehr als ein Hobby ist, kaufst Du das hier: https://www.amazon.de/Dualcomm-1000Base-T-Gigabit-Ethernet-Network/dp/B004EWVFAY/ref=sr_1_2 Das geht auch für Gigabit Ethernet. Die duplizierten Pakete kannst DU dann an einem PC weiter verarbeiten. Wenn Du das mit einem Mikrocontroller weiterverarbeiten willst, ohne groß basteln zu wollen, nimmst Du das hier: Prozessorboard: https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/DM320007 LAN-Board (da ist der Vorgängerchip drauf, den kannst Du auch nehmen): https://www.microchip.com/DevelopmentTools/ProductDetails/AC320004-4 Basisboard: https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/DM320002 Damit hast Du dann bereits ein funktionierendes System mit funktionierender Software, das Du nachbauen und weiterentwickeln kannst. fchk
Maximal schrieb: > Ich dachte an etwas wie 2 enc28j60 Mit denen sicherlich nicht, denn man müsste jeden Frame mühselig über SPI abholen und sein Protokoll beachten. Zudem ist die Datenrate über SPI sicherlich zu stark eingeschränkt (ohne den Grenzwert jetzt genau zu kennen).
au weia schrieb: > Mit denen sicherlich nicht, denn man müsste jeden Frame mühselig > über SPI abholen und sein Protokoll beachten. Und wo ist das Problem? Dass ein Paket eingegangen oder gesendet ist, kann er per INT-Pin melden, da bleibt nur recht wenig Overhead. Und den eigentlichen Paketinhalt kann man natürlich problemlos per DMA transferieren. > Zudem ist die > Datenrate über SPI sicherlich zu stark eingeschränkt (ohne den > Grenzwert jetzt genau zu kennen). 20MHz maximaler SPI-Clock. Das langt absolut locker, um 10Mbit Ethernet zu behandeln. Da haben wohl Ingenieure drüber nachgedacht...
Hallo, Wow, das ging ja schnell. @fhck danke für den Hinweis und den Link, der IC ist wirklich interessant Und bietet genau das nach dem ich gesucht habe!!! @c-hater schön erklärt, den "Zufall" mit der SPI Geschwindigkeit hab ich nicht erkannt, ist aber einleuchtend. :-) Jetzt hab ich erstmal Datenblatt Studium vor mir. Nochmals vielen Dank für die Infos und die Antworten. Grüße
Der Intel IXP425 haette z.B. 2 Netzwerkports. Ist allerdings eher ein echtes Schwergewicht. Der koennte aber auch 100 Mbit locker wegschreiben.
Also wenn es dir wirklich nur um die Diagnose geht und nicht um die Bastelei: Nimm einen Raspberry Pi mit einem zusätzlichen USB Ethernet Adapter. Auf dem mittels der bridge utils eine Ethernet Bridge erstellen, fertig. Tut genau das was angefragt wurde, erlaubt auch Pakete auszuleiten oder zu filtern, schafft ziemlich sicher >>10MBit, und du hast auch gleich ein bisschen Rechenpower für komplexes Logging dabei.
Finde schon interessant, mit welchen Kanonen hier auf Spatzen geschossen wird. Tut es denn kein zusätzlicher Netzwerkanschluss am Rechner, der an einem Hub hängt? Die Prozessnachrichten werden einfach durch den Hub gejagt. Am Rechner kann man bequem alles mit Wireshark mitlesen. Dafür würde ich mir nicht den Aufwand mit Zusatzhardware machen, die zudem ja auch erst mal entwickelt und debuggt werden muss. Am Ende fängt man an, die Zusatzhardware zu debuggen anstatt das zu entwickelnde Gerät. mfg mf
Achim M. schrieb: > Tut es denn kein zusätzlicher Netzwerkanschluss am Rechner, der an einem > Hub hängt? Die Prozessnachrichten werden einfach durch den Hub gejagt. > Am Rechner kann man bequem alles mit Wireshark mitlesen. Richtige Hubs gibt es ja nicht mehr, und bei normalen, unmanaged Switches kommen die Pakete ja gar nicht mehr bei Dir vorbei, da brauchst Du schon einen Managed Switch mit Port Mirroring. Das ist die Lösung, die ich vorgeschlagen habe - entweder als Kaufware, als Bastelware oder als nackten Chip. fchk
Wie schon geschrieben geht das mit 30€ für einen RPi + USB NIC. Wenn man gleich 2 USB NICs drauf wirft (dann vermutlich ~35€), lassen sich die Daten sicherlich auch an einen angeschlossenen Rechner ausleiten.
Johannes schrieb: > Wie schon geschrieben geht das mit 30€ für einen RPi + USB NIC. Wenn man > gleich 2 USB NICs drauf wirft (dann vermutlich ~35€), lassen sich die > Daten sicherlich auch an einen angeschlossenen Rechner ausleiten. Ja, klar man kann den Aufwand garantiert auch noch weiter in die Höhe treiben. Halt eine echte Hobby Lösung - größtmöglicher Aufwand für geringst möglichem nutzen:-) Für knapp 20€ fix und fertig ganz und ganz ohne RPI gefrickel: - 5 x 10/100/1000Mbps RJ45 Ports - Layer2-Funktionen: Port Mirroring https://www.tp-link.com/de/business-networking/easy-smart-switch/tl-sg105e/#specifications https://geizhals.de/tp-link-tl-sg100-desktop-gigabit-easy-smart-switch-tl-sg105e-a1165963.html?hloc=de oder: https://geizhals.de/?cat=switchgi&xf=13086_4%7E658_Smart%7E659_RJ-45
Maximal schrieb: > Sind 10 MBit in Ordnung Hmm, Geheimdienste machen das mit 10 GBit on the fly inklusive Protokolldecodierung, dezippen, Schlagwortanalyse und können modifizierte Pakete weiterleiten. Das macht man mit FPGAs, tausenden davon. Aber du scheinst ja Zeit zu haben., dann geht auch ein rPi oder PC.
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.