Что такое хороший микроконтроллер для приложений Ethernet?


47

Что такое хороший микроконтроллер для выполнения приложений Ethernet? Или мне просто нужна хорошая библиотека Ethernet для подключения к Ethernet MAC / PHY?


Можете ли вы рассказать нам, какое решение вы выбрали, и какой у вас опыт?
thom_nic

1
В настоящее время я использую серии PIC18F97J60 и PIC32 с ENCxxx. Работает нормально. Самый большой недостаток в том, что он имеет только SSLv3.0, который только что удалили Firefox и Chrome. Микрочип поддерживает многие другие протоколы, которые я использую: FTP, TFTP, SNTP, SNMP.
Роберт

Приятно слышать - также полезно знать об ограничении SSL, но кажется, что все "надежные" реализации TLS в целом несвободны. Спасибо, что поделился!
thom_nic

Ответы:


29

PIC18 от Microchip со встроенным Ethernet отлично подходят для этого, просто добавьте magjack (или другой разъем со встроенными магнитами) и загрузите их стек TCP / IP. Вы будете пинговать вещи в кратчайшие сроки. Для большего удобства PIC24 и PIC32 также имеют стеки TCP / IP, разработанные для работы с одной из предлагаемых SPI Ethernet MAC / PHY частей (ENC624J600 или ENC628J60).

ST также недавно расширила свою линейку STM32 на базе ARM Cortex, чтобы включить встроенную локальную сеть, но вам понадобится внешняя физическая защита и магнетизм. Это вариант, если вы уже смотрите на PIC32.


16
У меня были проблемы с сетевым стеком Microchip, поэтому я написал свой собственный и бесплатно сделал его доступным с исходным кодом на embedinc.com/pic/dload.htm в выпуске PIC Development Tools. Вы должны принять концепцию нашей среды разработки PIC (также бесплатной), но в любом случае это хорошая идея. После установки найдите файлы с «net» в именах в каталоге SOURCE> PIC.
Олин Латроп

20

Что касается стека TCP / IP, есть три проекта, на которые вы должны обратить внимание:

  • Contiki Операционная система

Contiki - это портативная, многозадачная операционная система с открытым исходным кодом для сетевых встроенных систем с эффективным использованием памяти и беспроводных сенсорных сетей. Contiki использовался в различных проектах, таких как мониторинг пожаров в автодорожных туннелях, обнаружение вторжений, мониторинг воды в Балтийском море и в сетях наблюдения.

Contiki предназначен для микроконтроллеров с небольшим объемом памяти. Типичная конфигурация Contiki - 2 КБ ОЗУ и 40 КБ ПЗУ.

Стек TCP / IP uIP с открытым исходным кодом обеспечивает подключение TCP / IP крошечным встроенным 8-разрядным микроконтроллерам с сохранением совместимости и соответствием стандартам RFC.


17

Обычно Ethernet не встроен в микроконтроллеры. Во-первых, вам нужен разъем, который может преобразовывать сигналы Ethernet в сигналы, считываемые микроконтроллером (обычно это называется «магнетизм»). Затем вам нужен стек TCP / IP, а затем вам понадобятся DHCP, DNS и любые другие протоколы, которые вы хотите использовать. Таким образом, используемый вами микроконтроллер не имеет большого значения. Если вы получите что-то очень мощное, например ARM с запущенной на нем Linux, то разработка для него будет очень простой, почти такой же, как написание сетевого приложения, работающего на настольном ПК под управлением Linux. Или вы могли бы пойти с чем-то менее мощным и более дешевым, как AVR или PIC.

Ethernet и TCP / IP могут быть довольно сложными, если вы хотите реализовать весь стек TCP / IP в программном обеспечении. Одним из распространенных решений является использование чего-то вроде чипа Wiznet W5100, который обрабатывает все низкоуровневые TCP / IP вещи для вас. Вы можете купить его в готовом модуле, который включает в себя разъем Ethernet и все достаточно дешево, около 20 долларов за модуль WIZ812MJ . Вы можете общаться с ним, используя только SPI, поэтому он не займет много контактов ввода / вывода на вашем микроконтроллере.

Lantronix также предоставляет несколько более мощных модулей, которые выглядят еще проще в использовании, но они немного дороже (50-100 долларов в зависимости от модели). Посмотрите их XPort например.


1
Я люблю видеть уважаемую ссылку на термин «магнетизм», как я никогда не слышал об этом.
Андрей

@ Андрей, я не знаю ни одного технического словаря, в котором он есть. Погуглив, он найдет различные ссылки. Это только то, что я видел, это упоминалось. По сути, суть в том, чтобы изолировать вашу цепь от других устройств, подключенных к ней через Ethernet. Подобно тому, как MIDI использует оптическую изоляцию.
Davr

Я получаю примерно на полмиллиона больше результатов для "Ethernet-изолятора", чем "Ethernet-магнетиков", но я понимаю, что вы имеете в виду сейчас.
Андрей

В этом посте Hack A Day обсуждается вопрос о происхождении и использовании термина емкостной связи .
Андрей

Я только что посмотрел таблицу технических характеристик Ethernet-трансивера (LAN8720A от Microchip), и этот раздел по-разному называется «Mag» и «Transformer».
Дэн Эллис

11

ARM - это микроконтроллеры дня, и NXP предлагает их в широком ассортименте. На этой веб-странице перечислено слишком много контроллеров Ethernet, чтобы упомянуть все здесь, на эту дату (2011-07-13):

17 устройств ARM7
2 устройства ARM9
16 устройств Cortex-M3

править
я переместил обсуждение ARM преимущества для этого ответа .


какие преимущества дает линия руки. Я вижу много других ответов, которые требуют более подробной информации, важная часть заключается в том, что вы приводите причину, по которой линия больше, чем просто ссылка на линию контроллеров. Я даю вам этот отзыв только потому, что вы слишком плодовитый пользователь, чтобы не давать наилучшие возможные ответы!
Кортук

6
@ Кортук - О, это просто здорово! Мало того, что они хотят много ответов, теперь они также должны быть лучшими! ;-)
stevenvh

6

Набор XMOS XC-2 - интересный способ сделать это. Все сделано в программном обеспечении, кроме PHY. Программное обеспечение должно работать на чипе XS1-L1 стоимостью 7,50 долларов США.


чувак, ты заинтересовал меня продуктами XMOS. Мне придется очень постараться, чтобы не взять этот комплект для разработки. Знаете ли вы, есть ли RTOS для этого?
Дейв

Это действительно не нуждается в ОСРВ из-за аппаратных потоков. Тем не менее, один или два человека работают над одним.
Леон Хеллер

XMOS также делает версию с двумя разъемами Ethernet. Он предназначен для светодиодных вывесок, но я не понимаю, почему вы не могли делать другие вещи. Катай свой роутер! xmos.com/products/development-kits/xc-3-led-tile-kit
Коннор Вольф

5

Микрочип имеет несколько микроконтроллеров Pic со встроенными возможностями Ethernet, список здесь . Они также имеют ряд страниц , касающиеся проектные решения для локальных сетей и их продукцию здесь , которая также включает в себя подробную информацию об их полной TCP / IP стеке (со встроенным MAC и PHY).

Надеюсь это поможет.


4

Многие микроконтроллеры TI Luminary (ARM Cortex-M3) имеют встроенный MAC-адрес Ethernet. Для этого нужен внешний кристалл и Ethernet PHY (разъем + магнетизм).

GCC и openOCD (прошивка / отладка JTAG) хорошо их поддерживают, и их количество довольно дешево.

У них есть дешевые аппаратные устройства тоже ...

http://uk.farnell.com/luminary-micro/ekt-lm3s811/kit-eval-lm3s811-code-red/dp/1712254


4

Netduino plus - это хороший 60-долларовый микроконтроллер для сетевых приложений. Он также может принять большинство щитов Arduino, если это необходимо.


4

В зависимости от того, насколько просто вы хотите сделать свою жизнь, я бы порекомендовал использовать MBED и приобрести разделительную плату magjack и ethernet (см. Sparkfun) для подключения кабеля и работы с сигналами. Поддерживающая модель - mbed NXP LPC1768.

Мне удалось получить mbed для отправки данных на мой удаленный сервер (т. Е. Через Интернет) примерно через 2 часа после начала работы.


4

Это зависит от того, что вы хотите с этим делать. Главное, на что нужно обратить внимание - это объем ОЗУ (может ограничивать размер отдельного сообщения), а если вы хотите обслуживать веб-страницы, то объем хранилища, доступный для этого. Я использую Arduino Duemilanova http://www.arduino.cc/ - Микроконтроллер ATMega328, 2 КБ ОЗУ. Вы можете подключить SD-карту, если вы хотите много места для хранения. Сетевой экран будет поддерживать до 4 одновременных сессий. Не ожидайте, что сможете обслуживать сложные страницы, но отлично справляются с загрузкой в ​​Pachube, Twitter и т. Д.

Для более мощного решения взгляните на Marvell Plug


3

Я бы предложил использовать ENC28J60 вместе с одним из микроконтроллеров рис. 18, потому что для этой комбинации микрочип предлагает стек TCP / IP, и через google должно быть достаточно информации о его реализации.


3

Оформить заказ Tuxgraphics для хорошего решения.


4
Используете AVR micro с микрочипом MAC / PHY? Что дальше? Кошки и собаки живут вместе? :)
Роберт

У меня есть один из них - он работает хорошо. Поставляется в виде комплекта с предварительно припаянными деталями для поверхностного монтажа. Исходники uIP и драйвер Ethernet идут с ним.
Тоби Джаффи

3

Есть много проектов, использующих ENC28J60 и ATMEL Cips. Большинство из них хорошо документированы и используют C или BASCOM. Вы также можете купить полные комплекты для начала. Я сам владею таким комплектом и многое узнал о программировании на форумах.


3

Nanode является открытым исходным кодом и только £ 22 / $ 40 погружен. Я только что купил два для домашнего мониторинга энергии / окружающей среды через pachube.

30 секундный шаг с сайта:

Nanode - это Arduino-подобная плата с открытым исходным кодом, которая имеет встроенную возможность подключения к сети. Он подключается к ряду беспроводных, проводных и сетевых интерфейсов. Он позволяет разрабатывать веб-системы датчиков и управления, предоставляя вам веб-доступ к шести аналоговым сенсорным линиям и шести цифровым линиям ввода-вывода. Это легко собрать сам комплект. Nanode был разработан с учетом взлома.


3

Я попробовал стек микрочипов, используя карту развития picdem.net 2, и меня это совсем не удовлетворило, он не оптимизирован и плохо документирован.

Я думаю, что лучшим решением на рынке сейчас является Wiznet, который имеет первый аппаратный чип TCP / IP на основе Ethernet, который экономит много времени и дает вам большую эффективность

Эта ссылка дает все доступные решения и сравнивает их:

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


Какой отличный обзор.
Амос

1
У меня также был неудачный опыт работы с сетевым стеком Microchip, поэтому я написал свой собственный. Он включен в выпуск средств разработки PIC по адресу [url] embedinc.com/pic/dload.htm[/url] . Он работает на PIC 18, может управлять внешним ENC28J60 или внутренним MAC / PHY, хорошо прокомментирован, легко конфигурируется и разработан для малой площади.
Олин Латроп

3

Я опаздываю на вечеринку здесь, но я рекомендую TI Stellaris EK-LM3S6965, Это часть ARM Cortex M3 со встроенным контроллером Ethernet, включая PHY. Для создания прототипа я использовал их оценочный комплект, который имеет разъем Ethernet, небольшой OLED-дисплей (отлично подходит для отладки и базового интерфейса), слот для SD-карты, динамик, кнопки, светодиоды и разъемы для подключения устройств к периферии микроустройства. Вы не описали свое приложение (т. Е. Пытались произвести десятки тысяч чего-то или разового хобби-проекта), но цены приемлемые (~ 70 долларов за плату для разработчиков, 12-15 долларов в небольших количествах только за чипы) они поставляются с нормальным набором библиотек разработки, если вы хотите сделать свою собственную прошивку, или она может запустить FreeRTOS (требуется небольшая портировка из-за незначительных аппаратных оборотов между ревизией моей платы и другими вещами в дистрибутиве FreeRTOS) и eLua. Вы можете использовать uIP или lwIP для TCP / IP.

По сравнению с популярными предложениями для любителей, такими как AVR / Arduino и PIC, Cortex M3 представляет собой 32-разрядную часть, работающую на частоте 50 МГц, 6965 обладает множеством функций ввода / вывода, IMO за эти деньги просто удивительно, сколько вычислительной мощности и как многие функции вы можете получить из чего-то такого крошечного и дешевого. Однако он довольно сырой на стороне разработки, и вы должны знать C (хорошо, если вы не используете eLua). Я по профессии разработчик программного обеспечения и занимаюсь разработкой ARM на Mac, так что я не боюсь страшных / неудобных настроек цепочки инструментов и использовал Make + arm-eabi-gcc + OpenOCD для отладки, но если вы парень из Windows может быть, пакет Code Composer Studio был бы хорошим выбором. Я использовал IDE Code Composer от TI для забавного экспериментального проекта MSP430, и он меня устраивал, и у него был более простой рабочий процесс, чем в моей настройке OSX / ARM.

Полное раскрытие, я фактически не проектировал печатную плату вокруг этого чипа, который использовал бы контроллер Ethernet, но я сделал плату, которая не использовала Ethernet и имел хороший опыт с этим, и я построил проекты с поддержкой Ethernet, используя оценочная комиссия.

Ознакомьтесь с оценочной доской / комплектами инструментов здесь

ОБНОВЛЕНИЕ сентябрь 2013

Эти детали, похоже, больше не рекомендуются для новых разработок. Кажется, нет никаких очевидных замен.

ОБНОВЛЕНИЕ ноябрь 2013

Теперь есть TM4C129XNCZAD, который является номинальной заменой вышеупомянутой части - он имеет встроенный MAC + PHY, хотя и не совместимый по штырькам - однако многие люди неохотно используют его после проблем / путаницы из-за прекращения / доступности ранней жизни LM3S .


2

Может быть, это не на 100% то, что задает этот вопрос, но для проектов, где объемы производства довольно малы, я начал видеть, как люди встраивают готовые платы, такие как Raspberry Pi. Это имеет много преимуществ:

  1. Цена не намного больше, чем у одного из высокопроизводительных ЦП с Ethernet (по крайней мере, для небольших объемов), и вы пропускаете всю нагрузку по проектированию / тестированию / поднятию.
  2. Raspine PI уже протестирован CE / EMC, так что он избавляет от целой нагрузки неопределенности (в противном случае Ethernet и быстрые часы могут вызвать кучу проблем с EMC). Вам все еще нужно протестировать ваш конечный продукт, но, по крайней мере, есть целая область, которая действительно не должна вызывать сбои.
  3. Вы получите гораздо больше ворчания и правильный стек TCP / IP серверного уровня, если будете использовать linux и т. Д. - ни один из этих «разрешено только одно активное соединение» не напишет!

Как я уже сказал, это не для всех, но для некоторых проектов это может быть хорошо подходит.

Есть несколько вариантов с точки зрения используемой доски:

  1. Raspberry Pi
  2. Beaglebone черного цвета - имеет встроенную вспышку
  3. STM32F4DISCOVERY с платами расширения

2

Вы можете использовать практически любой MCU со встроенным контроллером MAC + PHY Wiznet W5500 , он управляется SPI. Преимущества: он имеет встроенный сетевой стек, буферы Tx / Rx, требует минимальных выводов MCU, упрощенное программирование.

Я только что нашел другой интересный вариант - AX88796C от ASIX, он также имеет MAC + PHY , 10 \ 100 Мбит / с Ethernet и интерфейс SPI до 40 МГц , так что выглядит хорошо подходит для любого MCU на базе ARM.

ОБНОВЛЕНИЕ: Netduino 3 уже использует этот чип, вот интересные детали:

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


1

Если у вас есть опыт работы с прошивкой, я бы порекомендовал плату STM32F4Discovery с платой STM32F4DIS-EXT. Я недавно использовал это для создания веб-страницы конфигурации для моего устройства, и это было довольно легко. В Интернете есть пример проекта lwIP, и если вы зайдете в Google «makefsdata», вы найдете много информации о том, как сгенерировать необходимые файлы для ваших собственных файлов HTML. Напишите мне, если вам нужно больше информации.


1

Мне нравится (25 EUR) модуль Openpicus FlyportPro ethernet для этой цели. Просто добавьте разъем Ethernet с магнитами и создайте свою прошивку, используя их стек TCP / IP. У них также есть реализация TLS:

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

Я сделал проект с использованием «классической» сети Flyport, и он до сих пор очень хорош.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.