Was ist ein guter Mikrocontroller für Ethernet-Anwendungen?


47

Was ist ein guter Mikrocontroller für Ethernet-Anwendungen? Oder brauche ich nur eine gute Ethernet-Bibliothek, um mich mit einem Ethernet-MAC / PHY zu verbinden?


Können Sie uns mitteilen, für welche Lösung Sie sich entschieden haben und welche Erfahrungen Sie damit gemacht haben?
thom_nic

1
Ich verwende derzeit die PIC18F97J60-Serie und PIC32 mit einer ENCxxx. Es funktioniert ok Das größte Problem ist, dass es nur bis zu SSLv3.0 gibt, das Firefox und Chrome gerade gelöscht haben. Microchip unterstützt viele andere Protokolle, die ich verwende: FTP, TFTP, SNTP, SNMP.
Robert

Gut zu hören - auch die SSL-Einschränkung ist gut zu wissen, aber es scheint, dass alle "robusten" TLS-Implementierungen im Allgemeinen nicht frei sind. Danke für das Teilen!
thom_nic

Antworten:


29

Die PIC18s von Microchip mit integriertem Ethernet eignen sich hervorragend für diesen Zweck. Fügen Sie einfach einen Magjack-Anschluss (oder einen anderen Anschluss mit integrierten Magnetfeldern) hinzu und laden Sie den TCP / IP-Stack herunter. Sie werden in kürzester Zeit Dinge anpingen. PIC24 und PIC32 verfügen außerdem über TCP / IP-Stacks, die für einen der von ihnen angebotenen SPI-Ethernet-MAC / PHY-Teile (ENC624J600 oder ENC628J60) ausgelegt sind.

ST hat kürzlich auch seine auf ARM Cortex basierende STM32-Linie um On-Chip-Ethernet erweitert. Sie benötigen jedoch eine externe PHY und Magnetics. Dies ist eine Option, wenn Sie sich bereits mit dem PIC32 beschäftigen.


16
Ich hatte Probleme mit dem Microchip-Netzwerkstapel, daher habe ich meinen eigenen geschrieben und ihn kostenlos mit Quellcode unter embedinc.com/pic/dload.htm in der PIC Development Tools-Version verfügbar gemacht . Sie müssen das Konzept unserer PIC-Entwicklungsumgebung (auch kostenlos) akzeptieren, aber das ist trotzdem eine gute Idee. Suchen Sie nach der Installation im Verzeichnis SOURCE> PIC nach Dateien mit dem Namen "net".
Olin Lathrop

20

Bezüglich eines TCP / IP-Stacks sollten Sie sich drei Projekte ansehen:

Contiki ist ein Open Source, hoch portables Multitasking-Betriebssystem für speichereffiziente vernetzte eingebettete Systeme und drahtlose Sensornetzwerke. Contiki wurde für eine Vielzahl von Projekten eingesetzt, wie zum Beispiel für die Überwachung von Straßentunnelbränden, die Erkennung von Einbrüchen, die Wasserüberwachung in der Ostsee und in Überwachungsnetzen.

Contiki ist für Mikrocontroller mit wenig Speicher konzipiert. Eine typische Contiki-Konfiguration besteht aus 2 Kilobyte RAM und 40 Kilobyte ROM.

Der Open-Source-uIP-TCP / IP-Stack bietet TCP / IP-Konnektivität zu winzigen eingebetteten 8-Bit-Mikrocontrollern bei gleichbleibender Interoperabilität und Einhaltung der RFC-Standards.


17

Im Allgemeinen ist Ethernet nicht in Mikrocontroller integriert. Zuerst benötigen Sie eine Buchse, die Ethernet-Signale in von einem Mikrocontroller gelesene Signale umwandeln kann (dies wird im Allgemeinen als "Magnetics" bezeichnet). Dann benötigen Sie einen TCP / IP-Stack und zusätzlich benötigen Sie DHCP, DNS und alle anderen Protokolle, die Sie verwenden möchten. Der tatsächlich verwendete Mikrocontroller spielt also keine Rolle. Wenn Sie etwas sehr Leistungsfähiges wie einen ARM mit Linux haben, wäre die Entwicklung sehr einfach, fast wie das Schreiben einer Netzwerkanwendung, die auf einem Desktop-PC mit Linux ausgeführt wird. Oder Sie könnten mit etwas weniger Leistungsstarkem und Billigerem wie einem AVR oder PIC fahren.

Ethernet und TCP / IP können sehr komplex sein, wenn Sie einen vollständigen TCP / IP-Stack in Software implementieren möchten. Eine gängige Lösung ist die Verwendung des W5100-Chips von Wiznet, der alle TCP / IP-Aufgaben auf niedriger Ebene für Sie erledigt. Sie können es in einem vorgefertigten Modul kaufen, das den Ethernet-Anschluss und alles für ziemlich günstige Preise enthält , etwa 20 US-Dollar für das WIZ812MJ-Modul . Sie können nur über SPI damit kommunizieren, sodass Ihr Mikrocontroller nicht viele E / A-Pins benötigt.

Lantronix bietet auch einige leistungsstärkere Module, die noch einfacher zu bedienen sind, jedoch etwas teurer (je nach Modell zwischen 50 und 100 US-Dollar). Sehen Sie sich zum Beispiel deren XPort an.


1
Ich würde gerne eine seriöse Referenz für den Begriff "Magnetics" sehen, da ich noch nie davon gehört habe.
Andrew

@ Andrew Ich weiß nicht, jedes technische Wörterbuch, das es hat. Beim googeln finden sich diverse Hinweise. Genau das habe ich gesehen, worauf es ankam. Im Grunde geht es darum, Ihren Stromkreis von den anderen Geräten zu trennen, die über Ethernet an ihn angeschlossen sind. Ähnlich wie bei MIDI die optische Isolation.
Davr

Ich bekomme ungefähr eine halbe Million mehr Ergebnisse für "Ethernet Isolator" als für "Ethernet Magnetics", aber ich verstehe, was Sie jetzt meinen.
Andrew

In diesem Beitrag von Hack A Day über kapazitive Kopplung wird die Herkunft und Verwendung des Begriffs erörtert .
Andrew

Ich habe gerade ein Datenblatt für einen Ethernet-Transceiver (LAN8720A von Microchip) angesehen, und dieser Abschnitt wird verschiedentlich als "Mag" und "Transformer" bezeichnet.
Dan Ellis

11

ARMs sind die Mikrocontroller des Tages, und NXP bietet ein breites Angebot an. Diese Webseite listet buchstäblich zu viele Ethernet-Controller auf, um alle hier zu erwähnen (Stand: 13.07.2011):

17 ARM7-Geräte
2 ARM9-Geräte
16 Cortex-M3-Geräte

edit
Ich habe die ARM-Vorteilsdiskussion auf diese Antwort verschoben .


Welche Vorteile bietet die Armlinie? Ich sehe viele andere Antworten, die detaillierter sein müssen. Der wichtige Teil ist, dass Sie einen Grund angeben, warum die Leitung mehr ist als nur ein Link zur Leitung der Steuerungen. Ich gebe Ihnen dieses Feedback nur, weil Sie zu viele Nutzer haben, um nicht die bestmöglichen Antworten zu geben!
Kortuk

6
@Kortuk - Oh, das ist einfach toll! Sie wollen nicht nur viele Antworten, sondern müssen auch die Besten sein! ;-)
Stevenvh

6

Das XMOS XC-2 Kit ist eine interessante Möglichkeit, dies zu tun. Bis auf die PHY wird alles in Software erledigt. Die Software sollte auf dem 7,50 USD teuren XS1-L1-Chip laufen.


Mann, Sie interessieren mich für XMOS-Produkte. Ich werde mich wirklich sehr bemühen müssen, dem Abholen dieses Entwicklungskits zu widerstehen. Wissen Sie, ob es ein RTOS dafür gibt?
Dave

Aufgrund der Hardware-Threads wird kein RTOS benötigt. Das heißt, ein oder zwei Leute arbeiten an einem.
Leon Heller

XMOS stellt auch eine Version mit zwei Ethernet-Buchsen her. Es ist für Bit-LED-Zeichen gedacht, aber ich verstehe nicht, warum Sie keine anderen Dinge tun konnten. Rollen Sie Ihren eigenen Router! xmos.com/products/development-kits/xc-3-led-tile-kit
Connor Wolf

5

Microchip verfügt über eine Reihe von Pic-Mikrocontrollern mit integrierten Ethernet-Funktionen. Eine Liste finden Sie hier . Sie haben auch eine Reihe von Seiten in Bezug auf Design - Lösungen für Ethernet und ihre Produkte hier , die auch Details ihres vollständige TCP / IP - Stack enthält (mit integriertem MAC und PHY).

Hoffe das hilft.



4

Netduino plus ist ein guter 60-Dollar-Mikrocontroller für Ethernet-Anwendungen. Es kann bei Bedarf auch die meisten Arduino-Schilde aufnehmen.


4

Abhängig davon, wie einfach Sie Ihr Leben gestalten möchten, würde ich die Verwendung eines MBED und den Kauf eines Magjack- und Ethernet-Breakout-Boards (siehe Sparkfun) zum Anschließen des Kabels und für die Signalaufbereitung empfehlen. Das unterstützende Modell ist das mbed NXP LPC1768.

Ich habe es geschafft, ein Mbed zu bekommen, das innerhalb von 2 Stunden Daten an meinen Remote-Server (dh über das Internet) sendet.


4

Es kommt darauf an, was Sie damit machen wollen. Die Hauptsache, auf die Sie achten müssen, ist die Größe des Arbeitsspeichers (kann die Größe einzelner Nachrichten begrenzen) und, wenn Sie Webseiten bereitstellen möchten, die dafür verfügbare Speicherkapazität. Ich benutze einen Arduino Duemilanova http://www.arduino.cc/ - ATMega328 Mikrocontroller, 2 KB RAM. Sie können eine SD-Karte anschließen, wenn Sie erheblichen Speicher benötigen. Der Ethernet-Shield unterstützt bis zu 4 gleichzeitige Sitzungen. Erwarten Sie nicht, dass Sie komplexe Seiten bereitstellen können, aber das Hochladen auf Pachube, Twitter usw. funktioniert einwandfrei.

Für eine leistungsstärkere Lösung schauen Sie sich Marvell Plug an


3

Ich würde vorschlagen, den ENC28J60 zusammen mit einem der Mikrocontroller von Bild 18 zu verwenden, da microchip für diese Kombination einen TCP / IP-Stack anbietet und über Google zahlreiche Informationen zur Implementierung verfügbar sein sollten.


3

checkout tuxgraphics für eine schöne lösung.


4
Verwenden Sie ein AVR-Mikro mit einem Microchip MAC / PHY? Was kommt als nächstes? Katzen und Hunde, die zusammen leben? :)
Robert

Ich habe eines davon - es funktioniert gut. Wird als Bausatz mit allen oberflächenmontierten Teilen geliefert. UIP-Quellen und Ethernet-Treiber werden mitgeliefert.
Toby Jaffey

3

Es gibt viele Projekte, die ENC28J60 und ATMEL Cips verwenden. Die meisten von ihnen sind gut dokumentiert und verwenden C oder BASCOM. Sie können auch komplette Kits kaufen. Ich selbst besitze solch ein Kit und habe in den Foren viel über die Programmierung gelernt.


3

Die Nanode ist Open Source und wird nur für £ 22 / $ 40 ausgeliefert. Ich habe gerade zwei für die Überwachung von Energie und Umwelt zu Hause über pachube gekauft.

30 Sekunden Abstand von der Baustelle:

Nanode ist ein Open-Source-Arduino-ähnliches Board mit integrierter Web-Konnektivität. Es kann an eine Reihe von drahtlosen, kabelgebundenen und Ethernet-Schnittstellen angeschlossen werden. Damit können Sie webbasierte Sensor- und Steuerungssysteme entwickeln und haben Zugriff auf sechs analoge Sensorleitungen und sechs digitale E / A-Leitungen. Es ist ein einfaches Bausatz. Nanode wurde unter Berücksichtigung von Hacking entwickelt.


3

Ich habe den Mikrochipstapel mit der Entwicklungskarte picdem.net 2 ausprobiert und war überhaupt nicht zufrieden, er ist nicht optimiert und nicht gut dokumentiert.

Ich denke, dass die beste Lösung auf dem Markt jetzt Wiznet ist, das über den ersten Ethernet-basierten TCP / IP-Hardware-Chip verfügt, der viel Zeit spart und Ihnen mehr Effizienz bietet

Dieser Link zeigt alle verfügbaren Lösungen und vergleicht sie:

http://retired.beyondlogic.org/etherip/ip.htm


Was für eine hervorragende Übersicht.
Amos

1
Ich habe auch schlechte Erfahrungen mit dem Microchip-Netzwerk-Stack gemacht, also habe ich meine eigenen geschrieben. Es ist in der PIC Development Tools-Version unter [url] embedinc.com/pic/dload.htm[/url] enthalten . Es läuft auf einem PIC 18, kann den externen ENC28J60 oder den internen MAC / PHY ansteuern, ist gut kommentiert, leicht konfigurierbar und auf geringen Platzbedarf ausgelegt.
Olin Lathrop

3

Ich bin zu spät zur Party hier, aber ich empfehle die TI Stellaris EK-LM3S6965. Es ist ein ARM Cortex M3-Teil mit integriertem Ethernet-Controller, einschließlich PHY. Für das Prototyping habe ich das Evaluierungskit verwendet, das eine Ethernet-Buchse, ein kleines OLED-Display (ideal für Debugging und Barebones-Benutzeroberfläche), einen SD-Kartensteckplatz, Lautsprecher, Tasten, LEDs und Unterbrechungen für die Verkabelung der Peripheriegeräte des Mikros enthält. Sie haben Ihre Anwendung nicht beschrieben (dh Sie möchten Zehntausende von Dingen oder ein einmaliges Hobbyprojekt produzieren), aber die Preise sind angemessen (~ 70 USD für das Entwicklerboard, 12-15 USD in kleinen Mengen nur für die Chips). Wenn Sie Ihre eigene Firmware erstellen möchten oder FreeRTOS ausführen möchten (für das aufgrund kleinerer Hardware-Revisionen zwischen meiner Board-Revision und den Inhalten in der FreeRTOS-Distribution ein winziger Portierungsaufwand erforderlich ist), werden sie mit einer Reihe geeigneter Entwicklungsbibliotheken und eLua ausgeliefert. Sie können entweder uIP oder lwIP für TCP / IP verwenden.

Im Vergleich zu beliebten Hobby-Angeboten wie AVR / Arduino und PIC ist der Cortex M3 ein 32-Bit-Teil, läuft mit 50 MHz, der 6965 verfügt über viele I / O-Funktionen, IMO für das Geld ist es einfach unglaublich, wie viel Rechenleistung und wie Viele Funktionen, die Sie aus etwas Winzigem und Billigem herausholen können. Auf der Entwicklungsseite ist es jedoch ziemlich rau und Sie müssen C kennen (nun, es sei denn, Sie führen eLua aus). Ich bin von Beruf Softwareentwickler und entwickle ARM auf einem Mac. Daher habe ich keine Angst vor unheimlichen / unbequemen Toolchain-Setups und verwende Make + arm-eabi-gcc + OpenOCD zum Debuggen, aber wenn Sie ein Windows-Typ sind Vielleicht ist das Code Composer Studio-Bundle eine gute Wahl. Ich habe die Code Composer-IDE von TI für ein unterhaltsames MSP430-Versuchsprojekt verwendet und es war in Ordnung für mich und hatte einen einfacheren Workflow als mein OSX / ARM-Setup.

Vollständige Offenlegung, ich habe nicht wirklich eine Platine um diesen Chip herum entworfen, die den Ethernet-Controller verwendete, aber ich habe eine Platine entwickelt, die das Ethernet nicht verwendete und mit der ich gute Erfahrungen gemacht habe, und ich habe Ethernet-fähige Projekte mit erstellt das Evaluierungsboard.

Hier finden Sie die Evaluierungsplatine / Tool-Bundles

UPDATE September 2013

Diese Teile werden für neue Designs anscheinend nicht mehr empfohlen. Es scheint keine offensichtlichen Ersetzungen zu geben.

UPDATE November 2013

Es gibt jetzt ein TM4C129XNCZAD, das nominell als Ersatz für den oben genannten Teil gedacht ist - es verfügt über ein integriertes MAC + PHY, obwohl es nicht mit dem Pin kompatibel ist -, aber viele Leute zögern, es zu verwenden, nachdem Probleme / Verwirrung über die frühzeitige Einstellung / Verfügbarkeit des LM3S aufgetreten sind .


2

Es mag nicht 100% sein, was diese Frage stellt, aber für Projekte, bei denen die Produktionsläufe ziemlich klein sind, habe ich angefangen, Leute zu sehen, die vorgefertigte Boards wie das Himbeer-Pi einbetten. Das hat viele Vorteile:

  1. Der Preis ist nicht viel mehr als eine der High-End-CPUs mit Ethernet (zumindest für kleine Volumes), und Sie überspringen eine ganze Menge Design-, Test- und Problemlösungen.
  2. Der Himbeer-PI ist bereits CE / EMV-geprüft, sodass jede Menge Unsicherheiten vermieden werden (andernfalls können Ethernet- und schnelle Uhren eine Reihe von EMV-Problemen verursachen). Sie müssen Ihr Endprodukt noch testen, aber zumindest gibt es einen Bereich, der wirklich keinen Fehler verursachen sollte.
  3. Sie bekommen viel mehr Grunzen und einen richtigen TCP / IP-Stack für Server, wenn Sie Linux usw. verwenden - keine dieser "nur eine aktive Verbindung erlaubt" -Typen!

Wie ich schon sagte, es ist nicht für jedermann geeignet, aber für einige Projekte kann es gut passen.

Es gibt einige Optionen in Bezug auf das verwendete Board:

  1. Himbeer-PI
  2. Beaglebone schwarz - hat einen eingebauten Blitz
  3. STM32F4DISCOVERY mit Erweiterungskarten

2

Sie können nahezu jede MCU mit dem Wiznet W5500 Embedded MAC + PHY- Controller verwenden, der über SPI gesteuert wird. Die Vorteile sind: Es verfügt über einen eingebauten Netzwerkstapel, Tx / Rx-Puffer, erfordert ein Minimum an MCU-Pins und vereinfacht die Programmierung.

Ich habe gerade eine andere interessante Option gefunden - AX88796C von ASIX, die sowohl MAC + PHY- , 10 \ 100Mbps-Ethernet- als auch bis zu 40MHz-SPI-Schnittstellenoption aufweist und daher für jede ARM-basierte MCU gut geeignet ist .

UPDATE: Netduino 3 nutzt diesen Chip bereits, hier sind interessante Details:

http://forums.netduino.com/index.php?/topic/12117-deep-dive-on-asix-ax88796c-netduino-3-ethernets-fancy-new-networking-chip/


1

Wenn Sie Erfahrung mit Firmware haben, würde ich die STM32F4Discovery-Karte mit der STM32F4DIS-EXT-Karte empfehlen. Ich habe dies kürzlich verwendet, um eine Konfigurationswebseite für mein Gerät zu erstellen, und es war ziemlich einfach. Es gibt ein lwIP-Beispielprojekt, das online verfügbar ist. Wenn Sie "makefsdata" googeln, finden Sie zahlreiche Informationen zum Generieren der erforderlichen Dateien für Ihre eigenen HTML-Dateien. Nachricht an mich, wenn Sie weitere Informationen benötigen.


1

Ich mag das (25 EUR) Openpicus FlyportPro-Ethernet-Modul für diesen Zweck. Fügen Sie einfach eine Ethernet-Buchse mit Magnetics hinzu und erstellen Sie Ihre Firmware mithilfe ihres TCP / IP-Stacks. Sie haben auch eine TLS-Implementierung:

http://blog.openpicus.com/2014/12/idepro-2-9-0-bye-ssl-welcome-tls.html

Ich habe ein Projekt mit dem "klassischen" Flyport-Ethernet gemacht und es war bisher absolut solide.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.