Qu'est-ce qu'un bon microcontrôleur pour les applications Ethernet?

47

Qu'est-ce qu'un bon microcontrôleur pour faire des applications Ethernet? Ou ai-je simplement besoin d'une bonne bibliothèque Ethernet pour me connecter avec un MAC / PHY Ethernet?

Robert
la source
Pouvez-vous nous dire quelle solution vous avez choisie et votre expérience?
thom_nic
1
J'utilise actuellement les séries PIC18F97J60 et PIC32 avec un ENCxxx. Ça fonctionne bien. Le plus gros problème est qu'il n'a que SSLv3.0, que Firefox et Chrome ont tout simplement laissé tomber. Microchip prend en charge de nombreux autres protocoles que j'utilise: FTP, TFTP, SNTP, SNMP.
Robert
Bon à savoir - la limitation SSL est bonne à savoir, mais il semble que toutes les implémentations "robustes" de TLS sont généralement non libres. Merci d'avoir partagé!
thom_nic

Réponses:

29

Les PIC18 de Microchip avec Ethernet intégré sont excellents pour cela. Ajoutez simplement un magjack (ou un autre connecteur avec magnétisme intégré) et téléchargez leur pile TCP / IP. Vous ferez un ping en un rien de temps. Pour plus de facilité, les PIC24 et PIC32 ont également des piles TCP / IP conçues pour fonctionner avec l’une des pièces SPI Ethernet MAC / PHY qu’elles offrent (ENC624J600 ou ENC628J60).

ST a également récemment amélioré sa ligne STM32 basée sur ARM Cortex afin d'inclure un ethernet sur puce, mais vous aurez besoin d'un PHY externe et d'un système magnétique. C'est une option si vous regardez déjà le PIC32.

épouvanté
la source
16
J'ai eu des problèmes avec la pile réseau de Microchip, alors j'ai écrit le mien et je le mets à disposition gratuitement avec le code source à embedinc.com/pic/dload.htm dans la version PIC Development Tools. Vous devez accepter le concept de notre environnement de développement PIC (également gratuit), mais c'est quand même une bonne idée. Après l'installation, recherchez les fichiers avec "net" dans leur nom dans le répertoire SOURCE> PIC.
Olin Lathrop
20

En ce qui concerne la pile TCP / IP, vous devez examiner trois projets:

  • Le système d'exploitation Contiki

Contiki est un système d’exploitation multitâche hautement portable et hautement open source, conçu pour les systèmes intégrés en réseau utilisant une mémoire efficace et les réseaux de capteurs sans fil. Contiki a été utilisé dans divers projets, tels que la surveillance des incendies dans les tunnels routiers, la détection des intrusions, la surveillance des eaux dans la mer Baltique et les réseaux de surveillance.

Contiki est conçu pour les microcontrôleurs avec de petites quantités de mémoire. Une configuration typique de Contiki est de 2 kilo-octets de RAM et de 40 kilo-octets de ROM.

La pile TCP / IP uIP open source fournit une connectivité TCP / IP à de minuscules microcontrôleurs 8 bits intégrés, avec une interopérabilité maintenue et une conformité aux normes RFC.

Clinton Blackmore
la source
17

Généralement, Ethernet n'est pas intégré aux microcontrôleurs. Tout d'abord, vous avez besoin d'une prise capable de convertir les signaux Ethernet en signaux lus par un microcontrôleur (ce que l'on appelle généralement le «magnétisme»). Ensuite, vous avez besoin d'une pile TCP / IP, sans oublier DHCP, DNS et tout autre protocole que vous souhaitez utiliser. Le microcontrôleur que vous utilisez n’a donc pas beaucoup d’importance. Si vous obtenez quelque chose de très puissant comme un ARM sur lequel Linux s'exécute, alors le développer serait très simple, presque identique à l'écriture d'une application réseau s'exécutant sur un PC de bureau sous Linux. Ou vous pourriez utiliser quelque chose de moins puissant et moins cher, comme un AVR ou un PIC.

Ethernet et TCP / IP peuvent être assez complexes si vous souhaitez implémenter une pile TCP / IP complète dans un logiciel. Une solution courante consiste à utiliser quelque chose comme la puce W5100 de Wiznet, qui gère tout le matériel TCP / IP de bas niveau pour vous. Vous pouvez l'acheter dans un module préconfiguré comprenant le connecteur Ethernet et tout pour un prix relativement bas, environ 20 $ pour le module WIZ812MJ . Vous pouvez communiquer avec ce dernier uniquement à l'aide de SPI, de sorte que votre microcontrôleur ne nécessite pas beaucoup de broches d'E / S.

Lantronix propose également des modules plus puissants, qui semblent encore plus simples à utiliser, mais qui sont un peu plus chers (50 $ à 100 $ selon le modèle). Voir leur XPort par exemple.

davr
la source
1
J'aimerais beaucoup voir une référence fiable pour le terme "magnetics", car je n'en ai jamais entendu parler.
Andrew
@ Andrew Je ne connais aucun dictionnaire technique qui l'ait. Googler, il trouvera diverses références. C'est ce que j'ai vu. Fondamentalement, leur objectif est d’isoler votre circuit des autres périphériques qui y sont connectés via Ethernet. Similaire à la manière dont MIDI utilise l'isolation optique.
davr
J'obtiens environ un demi million de résultats de plus pour "isolateur Ethernet" que pour "magnétiques Ethernet", mais je comprends ce que vous voulez dire maintenant.
Andrew
Il y a une discussion sur l'origine et l'utilisation du terme dans cet article de Hack A Day sur le couplage capacitif .
Andrew
Je cherchais simplement une fiche technique d'émetteur-récepteur Ethernet (LAN8720A de Microchip), et cette section est appelée de manière différente «Mag» et «Transformateur».
Dan Ellis
11

Les ARM sont les microcontrôleurs du jour et NXP en offre une vaste gamme. Cette page Web répertorie littéralement trop de contrôleurs Ethernet pour tout mentionner ici, à compter de cette date (2011-07-13):

17 appareils ARM7
2 appareils ARM9
16 appareils Cortex-M3

modifier
J'ai déplacé la discussion sur les avantages ARM vers cette réponse .

stevenvh
la source
Quels sont les avantages de la ligne de bras? Je vois beaucoup d’autres réponses qui nécessitent plus de détails, l’important étant de donner une raison pour laquelle la ligne est plus qu’un simple lien vers la ligne de contrôleurs. Je ne vous donne ces commentaires que parce que vous êtes trop prolifique d'un utilisateur pour ne pas donner les meilleures réponses possibles!
Kortuk
6
@ Kortuk - Oh, c'est génial! Non seulement ils veulent beaucoup de réponses, mais maintenant, ils doivent aussi être les meilleurs! ;-)
stevenvh
6

Le kit XMOS XC-2 est un moyen intéressant de le faire. Tout est fait dans le logiciel, à part le PHY. Le logiciel devrait fonctionner sur la puce XS1-L1 à 7,50 $.

Leon Heller
la source
tu m'intéresses aux produits XMOS. Je vais devoir faire de gros efforts pour résister à l’achat de ce kit de développement. Savez-vous s'il existe une RTOS disponible pour cela?
Dave
Il n’a pas vraiment besoin d’un RTOS, à cause des threads matériels. Cela dit, une ou deux personnes travaillent sur une.
Leon Heller
XMOS fabrique également une version avec deux prises Ethernet. Il est destiné aux panneaux à LED, mais je ne vois pas pourquoi vous ne pourriez pas faire autre chose. Rouler votre propre routeur! xmos.com/products/development-kits/xc-3-led-tile-kit
Connor Wolf
5

Microchip possède un certain nombre de microcontrôleurs Pic dotés de capacités Ethernet intégrées . Vous trouverez ici une liste . Ils ont aussi une série de pages concernant des solutions de conception pour Ethernet et leurs produits ici , qui comprend également les détails de leur pile TCP / IP complète (avec MAC intégré et PHY).

J'espère que cela t'aides.

Amos
la source
4

Netduino plus est un bon microcontrôleur à 60 $ pour les applications Ethernet. Il peut également accepter la plupart des boucliers Arduino si nécessaire.

avra
la source
4

En fonction de la facilité avec laquelle vous voulez vous rendre la vie, je vous recommande d’utiliser une MBED et d’acheter une carte opto-isolée de type magjack et ethernet (voir sparkfun) pour connecter le câble et traiter le conditionnement du signal. Le modèle de support est le mbed NXP LPC1768.

J'ai réussi à envoyer un mbed en envoyant des données à mon serveur distant (c'est-à-dire via Internet) en environ 2 heures après un départ arrêté.

SimonBarker
la source
4

Cela dépend de ce que vous voulez en faire. La principale chose à surveiller est la quantité de RAM (peut limiter la taille des messages) et si vous souhaitez servir des pages Web, la quantité de stockage disponible à cette fin. J'utilise un Arduino Duemilanova http://www.arduino.cc/ - micro-contrôleur ATMega328, 2 Ko de RAM. Vous pouvez connecter une carte SD si vous souhaitez un stockage important. Le bouclier Ethernet supportera jusqu'à 4 sessions simultanées. Ne vous attendez pas à pouvoir servir des pages complexes, mais fonctionne très bien en téléchargeant sur Pachube, Twitter, etc.

Pour une solution plus puissante, regardez Marvell Plug

JohnC
la source
3

Je suggérerais d'utiliser l'ENC28J60 avec l'un des micro-contrôleurs pic 18, car la micropuce offre une pile TCP / IP pour cette combinaison et il devrait y avoir beaucoup d'informations disponibles via Google pour l'implémenter.

Erik
la source
3

checkout tuxgraphics pour une solution intéressante.

CH2048
la source
4
Vous utilisez un micro AVR avec un microchip MAC / PHY? Et après? Des chats et des chiens vivent-ils ensemble? :)
Robert
J'ai un de ceux-ci - cela fonctionne bien. Livré en kit avec toutes les pièces pour montage en surface pré-soudées. les sources uIP et le pilote ethernet viennent avec.
Toby Jaffey
3

Il existe de nombreux projets utilisant les ENC28J60 et ATMEL Cips. La plupart d'entre eux sont bien documentés et utilisent C ou BASCOM. Vous pouvez également acheter des kits complets pour commencer. Je possède moi-même un tel kit et ai beaucoup appris sur la programmation des forums.

Achim
la source
3

La nanode est open source et seulement 22 £ / 40 $ expédiés. Je viens d’en acheter deux pour la surveillance de l’énergie et de l’environnement à domicile via pachube.

Emplacement de 30 secondes du site:

Nanode est une carte open source de type Arduino dotée d'une connectivité Web intégrée. Il se connecte à une gamme d'interfaces sans fil, filaires et Ethernet. Il vous permet de développer des systèmes de capteurs et de contrôle basés sur le Web, vous donnant un accès Web à six lignes de capteurs analogiques et à six lignes d'E / S numériques. C'est un kit facile à construire vous-même. Nanode a été conçu pour le piratage.

Heavy Sixer
la source
3

J'ai essayé la pile avec la carte de développement picdem.net 2 et je n'étais pas du tout satisfaite, ce n'est pas optimisée ni documentée.

Je pense que la meilleure solution sur le marché à l’heure actuelle est Wiznet, qui possède la première puce matérielle TCP / IP basée sur Ethernet, qui permet de gagner beaucoup de temps et d’accroître votre efficacité.

Ce lien donne toutes les solutions disponibles et les compare:

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

mba7
la source
Quel excellent aperçu.
Amos
1
J'ai également eu de mauvaises expériences avec la pile réseau de Microchip, alors j'ai écrit la mienne. Il est inclus dans la version des outils de développement PIC à l' adresse [url] embedinc.com/pic/dload.htm[/url] . Il fonctionne sur un PIC 18, peut piloter l’ENC28J60 externe ou le MAC / PHY interne, est bien commenté, facilement configurable et a été conçu pour un faible encombrement.
Olin Lathrop
3

Je suis en retard à la fête ici mais je recommande le TI Stellaris EK-LM3S6965. Il s’agit d’un composant ARM Cortex M3 avec contrôleur Ethernet intégré, notamment PHY. Pour le prototypage, j'ai utilisé leur kit d'évaluation, qui comprend une prise Ethernet, un petit écran OLED (idéal pour le débogage et l'interface utilisateur barebones), un logement pour carte SD, un haut-parleur, des boutons, des voyants et des évitements pour le câblage allant jusqu'aux périphériques du micro. Vous n'avez pas décrit votre application (par exemple, vous cherchez à produire des dizaines de milliers de choses ou un projet ponctuel), mais le prix est raisonnable (environ 70 USD pour le conseil de développement, 12 à 15 USD pour de petites quantités uniquement pour les puces). , elles viennent avec un ensemble correct de bibliothèques de développement si vous voulez créer votre propre micrologiciel ou si vous pouvez exécuter FreeRTOS (nécessitant un petit peu de portage en raison de révolutions matérielles mineures entre la révision de ma carte et les éléments de la distribution FreeRTOS) et eLua. Vous pouvez utiliser uIP ou lwIP pour TCP / IP.

Comparé aux offres de loisir populaires telles que AVR / Arduino et PIC, le Cortex M3 est une partie 32 bits, tourne à 50 MHz, le 6965 possède de nombreuses fonctionnalités d’entrées / sorties, IMO pour de l’argent, c’est incroyable la puissance de calcul et la de nombreuses fonctionnalités que vous pouvez obtenir à partir de quelque chose d'aussi minuscule et bon marché. Il est plutôt brut du côté développement, cependant, et vous devez connaître C (enfin, à moins d’exécuter eLua). Je suis un développeur de logiciels de métier et je développe ARM sur un Mac. Je n'ai donc pas peur des configurations effrayantes / incommodes d'outils et de l'utilisation de Make + arm-eabi-gcc + OpenOCD pour le débogage, mais si vous êtes un gars Windows Peut-être que le bundle Code Composer Studio serait un bon choix. J'ai utilisé Code Composer IDE de TI pour un projet expérimental amusant MSP430, qui me convenait parfaitement et dont le flux de travail était plus simple que celui de ma configuration OSX / ARM.

En ce qui concerne la divulgation complète, je n’ai pas conçu de circuit imprimé utilisant ce contrôleur Ethernet, mais j’ai construit une carte qui n’utilisait pas Ethernet et qui en avait fait une bonne expérience, et j’ai construit des projets compatibles Ethernet en utilisant le comité d'évaluation.

Découvrez la carte d'évaluation / les kits d'outils ici

MISE À JOUR septembre 2013

Ces pièces semblent ne plus être recommandées pour les nouvelles conceptions. Il ne semble pas y avoir de remplaçant évident.

MISE À JOUR Nov 2013

Il existe maintenant un TM4C129XNCZAD qui remplace théoriquement le composant ci-dessus - il est doté d'un MAC + PHY intégré, bien qu'il ne soit pas compatible avec les broches - cependant, de nombreuses personnes hésitent à l'utiliser après les problèmes / la confusion entourant l'interruption / la disponibilité anticipée du LM3S .

Suboptimus
la source
2

Ce n'est peut-être pas tout à fait ce que cette question demande, mais pour les projets où la production est assez petite, j'ai commencé à voir des gens incorporer des panneaux pré-construits comme le framboise pi. Cela présente de nombreux avantages:

  1. Le prix n’est pas très supérieur à celui des processeurs haut de gamme avec Ethernet (du moins pour les faibles volumes), et vous évitez toute une série de problèmes de conception / test / affichage.
  2. La framboise PI est déjà testée CE / CEM, ce qui élimine toute une série d'incertitudes (sinon, les horloges rapides et rapides peuvent générer de nombreux problèmes de CEM). Vous devez encore tester votre produit final, mais au moins, il y a tout un domaine qui ne devrait pas causer d'échec.
  3. Vous obtenez beaucoup plus de grognements et une pile TCP / IP de niveau serveur appropriée si vous utilisez linux, etc.

Comme je l'ai dit, ce n'est pas pour tout le monde, mais pour certains projets, cela peut être un bon ajustement.

Il y a quelques options concernant le tableau exact utilisé autour de:

  1. Tarte aux framboises
  2. Beaglebone noir - flash intégré
  3. STM32F4DISCOVERY avec cartes d'extension
JosephH
la source
2

Vous pouvez utiliser presque tous les MCU avec un contrôleur MAC + PHY intégré Wiznet W5500 , il est piloté par SPI. Les avantages sont les suivants: il possède une pile réseau intégrée, des tampons Tx / Rx, nécessite un minimum de broches MCU, une programmation simplifiée.

Je viens de trouver une autre option intéressante - l’ AX88796C d’ASSI, qui propose également une interface MAC + PHY , 10 \ 100 Mbits / s Ethernet et une interface jusqu’à 40 MHz SPI, qui convient à tout MCU basé sur ARM.

MISE À JOUR: Netduino 3 utilise déjà cette puce, voici quelques détails intéressants:

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

Flanker
la source
1

Si vous avez une expérience du firmware, je vous recommanderais la carte STM32F4Discovery avec la carte STM32F4DIS-EXT. J'ai récemment utilisé cela pour créer une page Web de configuration pour mon appareil et c'était assez facile. Un exemple de projet lwIP est disponible en ligne et si vous recherchez "makefsdata" dans Google, vous trouverez de nombreuses informations sur la manière de générer les fichiers nécessaires à vos propres fichiers HTML. Message moi si vous avez besoin de plus d'informations.

PacEE
la source
1

J'aime le module ethernet Openpicus FlyportPro (25 EUR) à cette fin. Ajoutez simplement une prise Ethernet avec aimant et créez votre micrologiciel en utilisant leur pile TCP / IP. Ils ont également une implémentation TLS:

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

J'ai fait un projet en utilisant le "classique" ethernet Flyport et il a été solide jusqu'à présent.

Xen
la source