Hallo, ich versuche mich seit einiger Zeit auf einem STM32F4 einen Software-IP Stack (lwIP) zum laufen zu bringen. Bei meiner Recherche hab ich jetzt erfahren das es von SainSmart (WitNet5100 Chip) einen in Hardware ausgeführten Stack gibt. Jetzt hätte ich da einige Fragen bevor ich mir so ein Gerät kaufe. Ich stelle mir das so vor, das die ganze Arbeit des Stacks auf dem WitNet Chip ausgeführt wird und der Arbeitsspeicher des yC weitaus weniger belastet wird als bei Software? Stimmt das? Ist es einfacher zu implementieren in Hardware? Weil lwIP (Software) halte ich für ein ziemlich komplexes Thema und auch wenn ich ein Beispielprojekt aus dem Netz zum laufen bekomme, weis ich eigentlich nicht genau was alles passiert? Wie viele GPIO-Pins müssen für so einen HW-Stack freigehalten werden? Auf dem bild sind sehr viele Pins zu erkennen? Kann ich es mir mit einem HW-Stack vorstellen, das ich so programmiere wie am PC mit Ports? Danke schon mal, wenn ihr auch sonst interessante Hinweise für mich habt, gerne. Hoffe ich kann mit dem HW-Stack effizient meinen yC ans LAN bringen. Danke schon mal, PS: Sowas hier stelle ich mir vor: http://www.sainsmart.com/arduino/arduino-components/communication/sainsmart-w5100-network-module-tcp-ip-ethernet-module-for-arduino.html
:
Bearbeitet durch User
> die ganze Arbeit des Stacks auf dem > WitNet Chip ausgeführt wird und der > Arbeitsspeicher des yC weitaus > weniger belastet wird als bei Software? Stimmt das? Jein. Der Arbeitsspeicher wird kaum entlastet, aber die Rechenleistung der CPU. Pufferspeicher enthalten auch die einfachen Ethernet Controller. > Ist es einfacher zu implementieren in Hardware? Der Wiznet Chip ist mit Sicherheit ein Mikrocontroller mit Firmware. Die Features entsprechen denen von lwIP. Ich bezweifle, dass man TCP/IP aus Logikgattern (ohne Programm) implementieren kann. > Wie viele GPIO-Pins müssen für so einen HW-Stack freigehalten werden? Das serielle SPI Interface braucht nur 4 Leitungen. > Kann ich es mir mit einem HW-Stack vorstellen, > das ich so programmiere wie am PC mit Ports? Das kommt ganz darauf an, was du Dir unter Ports am PC vorstellst. Der Chip führt ein Programm aus, er macht also erheblich mehr, als einfache I/O Ports. > Hoffe ich kann mit dem HW-Stack effizient meinen yC ans LAN bringen. Was meinst du mit "effizient"? Vergiss mal den Begriff HW-Stack, dieses Wort bedeutet alles und nichts. Nenne lieber einen konkreten Chip bei seinem Namen. Um einen Mikrocontroller ans LAN anzuschließen, brauchst du nicht unbedingt einen TCP/IP Stack. Du kannst auch Ethernet Pakete übertragen, was auch alle aktuellen PC Betriebsysteme können. TCP/IP wird erst nötig, wenn du in andere Netze routen willst. Dabei kannst du dich wiederum auf UDP Beschränken, was noch relativ primitiv ist.
Hi >Bei meiner Recherche hab ich jetzt erfahren das es von SainSmart >(WitNet5100 Chip) einen in Hardware ausgeführten Stack gibt. Saint Smart? Die Chips stammen von WizNet. >Ist es einfacher zu implementieren in Hardware? Ja. >Wie viele GPIO-Pins müssen für so einen HW-Stack freigehalten werden? >Auf dem bild sind sehr viele Pins zu erkennen? Ein SPI und ein Interrupt-Pin. >Hoffe ich kann mit dem HW-Stack effizient meinen yC ans LAN bringen. Funktioniert bei mir auf einem AVR unter Assenbler. MfG Spess
Daniel Eck schrieb: > Kann ich es mir mit einem HW-Stack vorstellen, das ich so programmiere > wie am PC mit Ports? Du meinst Sockets, oder? Dann jaein. Du musst dir erstmal einiges selbst stricken, aber die examples der Hersteller sind gut, und am Ende hast du sowas wie unix-sockets. Ich habe allerdings den w5500 eingesetzt, da ist das SPI interface schöner. > Hoffe ich kann mit dem HW-Stack effizient meinen yC ans LAN bringen. Kannst du deutlich einfacher als mit ner softwarelösung. Zusammen stecken a la arduino ist aber weit davon entfernt. Wenn du gern fertige Hardware willst, schau nach dem w550io, ist ein fertigmodul.. Gruß
Hi, danke für die schnellen Antworten. Ich meinte oben natürlich Sockets, Sorry :D Es hört sich in jedem Fall interessant an und ich werde wohl mir mal so ein teil bestellen. Wenn ich es schaffe UDP-Pakete zu versenden bin ich schon vollständig zu Frieden. Danke nochmals.
Der W5100 ist der Chip den der Arduino EthernetShild hat. Die Entsprechende Library gibts also quasi fix und fertig frei Haus. Diese eignet sich in Verbindung mit dem Datenblatt hervorragend zum verstehen. Es gibt auch vom Hersteller diverse "Miniboards" mit diesem Chip.
Wenn man es etwas schneller haben möchte sollte man sich von vorne herein überlegen die Parallel-Anbindung zu wählen. Das wären dann 8 Bytes I/O, CS, RW und Addr0. Denn das SPI Protokoll ist mit 3 Bytes Overhead pro Byte doch sehr performance-schmälernd, zudem die SPI "nur" bis 10 Mhz (grenzwertig) geht und diese Taktfrequenz oft auf den Controllern nicht eingestellt werden kann. Es gibt fertige W5100 Module die nur SPI können (Arduino-Familie), andere haben auch Adressen und Datenleitungen direkt herausgeführt (WIZ812).
Geht mit dem Ding eigentlich noch immer kein IPv6? Ist dann wohl einer WitzNet...
drama schrieb: > IPv6 … Ist … wohl ein… WitzNet … Ist das eine Antwort auf die Frage des TO? Oder ein Troll-Post? IPv6 verrät jedem im WAN, was ich im LAN habe. Das haben sich Datenkraken ausgedacht. Braucht der TO sowas? Ich z.B. nicht. IPv6 is'n Witz, net?
:
Bearbeitet durch User
Daniel Eck schrieb: > Jetzt hätte ich da einige Fragen bevor ich mir so ein Gerät kaufe. Bevor Du was kaufst: Den ESP8266 kennst Du? Der ist keine Alternative?
Torsten C. schrieb: > Ist das eine Antwort auf die Frage des TO? Oder ein Troll-Post? > Indirekt. Ich hatte gerade nochmal versucht herauszufinden, ob sich bei der IPv6-Unterstützung bei WizNet was getan hat, was aber nicht der Fall ist. Für OP ist das eventuell ja relevant. > IPv6 verrät jedem im WAN, was ich im LAN habe. Das haben sich > Datenkraken ausgedacht. Braucht der TO sowas? Ich z.B. nicht. > Was meinst du damit genau? IPv6 verrät prinzipiell gar nichts, im Gegenteil, es macht das systematische Scannen von Netzwerken unpraktikabel. Um Sicherheit und Zugriffskontrolle muss man sich natürlich - wie auch bei IPv4 - kümmern. > IPv6 is'n Witz, net? Eher nicht. Die IPv4-Adressen sind einfach alle und gerade steigt die IPv6-Adoption radikal an. Bei vielen ISPs (z.B. Kabel Deutschland oder Unitymedia) gibt's mittlerweile nur noch Dual-Stack-Lite, also gar kein richtiges IPv4 mehr. IPv6-Unterstützung ist mittlerweile einfach ein Muss.
isidor schrieb im Beitrag #3935665 > Denn das SPI Protokoll ist mit 3 Bytes Overhead pro Byte doch > sehr performance-schmälernd, zudem die SPI "nur" bis 10 Mhz > (grenzwertig) geht und diese Taktfrequenz oft auf den Controllern > nicht eingestellt werden kann. Daher mein Hinweis auf die w5500. Hier entfallen beide Beschränkungen, block transfers und 60 (80)MHz SPI, soweit ich mich recht erinner. Ipv6 support ist klar so ne Sache: kann eigentlich nen Router/nat v6 traffic nicht auch auf nen v4 client forwarden? Für mich stellt sich die Frage nicht, ist für iot aber sicher gut zu wissen?
Torsten C. schrieb: > Den ESP8266 kennst Du? Hi, Danke für den Hinweis, aber in meinem aktuellen Projekt bin ich schon an einer Kabelgebundenen Lösung interessiert. Ist aber sehr gut zu Wissen das es auch was Drahtloses gibt. Nun wegem dem SPI, ich muss die Daten nicht mit besonders hoher Geschwindigkeit übertragen, es geht eher darum einige Variablen im yC zu ändern (zumindest als Anfang). Denke mal das ich mit ein paar KB/s auskommen kann. Wichtiger ist es mir, das die Prozessorlast nicht zu hoch wird und das ich nicht zu viel Arbeitsspeicher verbrate. Danke für die Hinweise. PS: IPV6 ist aktuell für mich kein Thema ;)
Ich melde mich mal ganz offiziell von WIZnet aus. Keine Werbung, nur zur Info. Hier schwirren immer mal so Gerüchte, z.B.: " Der Wiznet Chip ist mit Sicherheit ein Mikrocontroller mit Firmware. Die Features entsprechen denen von lwIP. Ich bezweifle, dass man TCP/IP aus Logikgattern (ohne Programm) implementieren kann. " Doch, man kann ! und das schon seit 2001 - W3100A (RIP). Und, nein in den W3x00 und W5x00 Chips ist kein Controller - keine einzige Zeile Code wird da in irgendeiner Weise ausgeführt. Ja, das ist 100% pure Gatter Logic = Hardware ! + z.B. 32k Dual Ported RAM als RX/TX Buffer inclusive (beim W5200, W5500) (Dieser Buffer kann als 'externer' Speicher missbraucht werden...) Das TCP/IP Protocol (IPv4) ist ein sehr statischer Handshake und Zustandsgraph (Socket-Status) und die Pakete lassen sich auch durch Gatter-Logiken zerlegen und aufbauen ... => a) das Zeitkritische wird der übergeordneten MCU abgenommen (offload) b) es werden keine Interrups mehr benötigt => kein OS ... c) das macht unangreifbare Internet-Applikationen möglich, z.B. Zugangskontrolle, Kartenleser, Geldautomaten, ... Kaffeemaschine ;-) => z.B. der W5500 erreicht am SPI I/F (42MHz Clock) echte 17Mbps bidirektional und 13 Mbps unidirektional. James Kim - Blog: https://javakys.wordpress.com/2014/10/29/the-second-trial-on-enhancing-the-throughput-of-w5500/ " To conclude, W5500 can achieve the throughput over than 13Mbps under 42MHz SPI Clock.. " Und, James und ich geben uns damit noch nicht zufrieden. Da sind noch lange Lücken = Pausen im SPI Datenstrom. Wir optimieren weiter. Und der W5500 unterstützt SPI Takte bis 80MHz wir brauchen nur mal den andere MCU Plattform. Der SPI-Takt und die MCU sind der Bottleneck ! Und, Beweis folgt auf den Fuß, unser neuer W7500 = hardwired TCP/IP + M0 MCU ! schafft mit seinen 48MHz (interne Clock) sogar nochmehr und schaufelt echte 35 Mbps übers Netz: Unser Chip Design Ingenieur Roy dokumentiert das in seinem Blog: https://embeddist.wordpress.com/2015/02/17/firewall-soc-with-tcpip-offload-engine-for-internet-of-things/ "This means that Cortex-M does not have to handle the flooding packet even under Network attack. Further, because the TCP / IP stack processing is performed in TOE, it is possible to save the amount of memory for TCP/IP communications." (TOE = TCP/IP Offload Engine) Werbung: Ich denke mit 35 MBps ist das der Ethernet-Durchsatzrekord für so einen kleinen M0 ! Der W7500 kommt Ende Mai. Grüße, Joachim Wülbeck, WIZnet Europe GmbH
Joachim Wülbeck schrieb: > Joachim Wülbeck, WIZnet Europe GmbH Hi Joachim! Cool und danke, dass Du Dich hier gemeldet hast! Daniel Frank schrieb: > in meinem aktuellen Projekt bin ich > schon an einer Kabelgebundenen Lösung interessiert. > Ist aber sehr gut zu Wissen das es auch was Drahtloses gibt. Das Thema ESP8266 ist hier also Off-Topic! Vielleicht rechtfertigt das einen separaten Thread: "IoT: WIZnet vs. ESP8266"? Ich bin sicher, ich bin nicht der einzige hier, der es ggf. gern wissen würde, falls er mit dem ESP8266 "auf dem Holzweg" ist.
:
Bearbeitet durch User
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.