Что такое хороший микроконтроллер для выполнения приложений Ethernet? Или мне просто нужна хорошая библиотека Ethernet для подключения к Ethernet MAC / PHY?
Что такое хороший микроконтроллер для выполнения приложений Ethernet? Или мне просто нужна хорошая библиотека Ethernet для подключения к Ethernet MAC / PHY?
Ответы:
PIC18 от Microchip со встроенным Ethernet отлично подходят для этого, просто добавьте magjack (или другой разъем со встроенными магнитами) и загрузите их стек TCP / IP. Вы будете пинговать вещи в кратчайшие сроки. Для большего удобства PIC24 и PIC32 также имеют стеки TCP / IP, разработанные для работы с одной из предлагаемых SPI Ethernet MAC / PHY частей (ENC624J600 или ENC628J60).
ST также недавно расширила свою линейку STM32 на базе ARM Cortex, чтобы включить встроенную локальную сеть, но вам понадобится внешняя физическая защита и магнетизм. Это вариант, если вы уже смотрите на PIC32.
Что касается стека TCP / IP, есть три проекта, на которые вы должны обратить внимание:
Contiki - это портативная, многозадачная операционная система с открытым исходным кодом для сетевых встроенных систем с эффективным использованием памяти и беспроводных сенсорных сетей. Contiki использовался в различных проектах, таких как мониторинг пожаров в автодорожных туннелях, обнаружение вторжений, мониторинг воды в Балтийском море и в сетях наблюдения.
Contiki предназначен для микроконтроллеров с небольшим объемом памяти. Типичная конфигурация Contiki - 2 КБ ОЗУ и 40 КБ ПЗУ.
Стек TCP / IP uIP с открытым исходным кодом обеспечивает подключение TCP / IP крошечным встроенным 8-разрядным микроконтроллерам с сохранением совместимости и соответствием стандартам RFC.
Гораздо быстрее, чем UIP, но труднее начать
Обычно 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 например.
ARM - это микроконтроллеры дня, и NXP предлагает их в широком ассортименте. На этой веб-странице перечислено слишком много контроллеров Ethernet, чтобы упомянуть все здесь, на эту дату (2011-07-13):
17 устройств ARM7
2 устройства ARM9
16 устройств Cortex-M3
править
я переместил обсуждение ARM преимущества для этого ответа .
Набор XMOS XC-2 - интересный способ сделать это. Все сделано в программном обеспечении, кроме PHY. Программное обеспечение должно работать на чипе XS1-L1 стоимостью 7,50 долларов США.
Микрочип имеет несколько микроконтроллеров Pic со встроенными возможностями Ethernet, список здесь . Они также имеют ряд страниц , касающиеся проектные решения для локальных сетей и их продукцию здесь , которая также включает в себя подробную информацию об их полной TCP / IP стеке (со встроенным MAC и PHY).
Надеюсь это поможет.
Многие микроконтроллеры 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
Netduino plus - это хороший 60-долларовый микроконтроллер для сетевых приложений. Он также может принять большинство щитов Arduino, если это необходимо.
В зависимости от того, насколько просто вы хотите сделать свою жизнь, я бы порекомендовал использовать MBED и приобрести разделительную плату magjack и ethernet (см. Sparkfun) для подключения кабеля и работы с сигналами. Поддерживающая модель - mbed NXP LPC1768.
Мне удалось получить mbed для отправки данных на мой удаленный сервер (т. Е. Через Интернет) примерно через 2 часа после начала работы.
Это зависит от того, что вы хотите с этим делать. Главное, на что нужно обратить внимание - это объем ОЗУ (может ограничивать размер отдельного сообщения), а если вы хотите обслуживать веб-страницы, то объем хранилища, доступный для этого. Я использую Arduino Duemilanova http://www.arduino.cc/ - Микроконтроллер ATMega328, 2 КБ ОЗУ. Вы можете подключить SD-карту, если вы хотите много места для хранения. Сетевой экран будет поддерживать до 4 одновременных сессий. Не ожидайте, что сможете обслуживать сложные страницы, но отлично справляются с загрузкой в Pachube, Twitter и т. Д.
Для более мощного решения взгляните на Marvell Plug
Оформить заказ Tuxgraphics для хорошего решения.
Nanode является открытым исходным кодом и только £ 22 / $ 40 погружен. Я только что купил два для домашнего мониторинга энергии / окружающей среды через pachube.
30 секундный шаг с сайта:
Nanode - это Arduino-подобная плата с открытым исходным кодом, которая имеет встроенную возможность подключения к сети. Он подключается к ряду беспроводных, проводных и сетевых интерфейсов. Он позволяет разрабатывать веб-системы датчиков и управления, предоставляя вам веб-доступ к шести аналоговым сенсорным линиям и шести цифровым линиям ввода-вывода. Это легко собрать сам комплект. Nanode был разработан с учетом взлома.
Я попробовал стек микрочипов, используя карту развития picdem.net 2, и меня это совсем не удовлетворило, он не оптимизирован и плохо документирован.
Я думаю, что лучшим решением на рынке сейчас является Wiznet, который имеет первый аппаратный чип TCP / IP на основе Ethernet, который экономит много времени и дает вам большую эффективность
Эта ссылка дает все доступные решения и сравнивает их:
Я опаздываю на вечеринку здесь, но я рекомендую 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 .
Может быть, это не на 100% то, что задает этот вопрос, но для проектов, где объемы производства довольно малы, я начал видеть, как люди встраивают готовые платы, такие как Raspberry Pi. Это имеет много преимуществ:
Как я уже сказал, это не для всех, но для некоторых проектов это может быть хорошо подходит.
Есть несколько вариантов с точки зрения используемой доски:
Вы можете использовать практически любой MCU со встроенным контроллером MAC + PHY Wiznet W5500 , он управляется SPI. Преимущества: он имеет встроенный сетевой стек, буферы Tx / Rx, требует минимальных выводов MCU, упрощенное программирование.
Я только что нашел другой интересный вариант - AX88796C от ASIX, он также имеет MAC + PHY , 10 \ 100 Мбит / с Ethernet и интерфейс SPI до 40 МГц , так что выглядит хорошо подходит для любого MCU на базе ARM.
ОБНОВЛЕНИЕ: Netduino 3 уже использует этот чип, вот интересные детали:
Если у вас есть опыт работы с прошивкой, я бы порекомендовал плату STM32F4Discovery с платой STM32F4DIS-EXT. Я недавно использовал это для создания веб-страницы конфигурации для моего устройства, и это было довольно легко. В Интернете есть пример проекта lwIP, и если вы зайдете в Google «makefsdata», вы найдете много информации о том, как сгенерировать необходимые файлы для ваших собственных файлов HTML. Напишите мне, если вам нужно больше информации.
Мне нравится (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, и он до сих пор очень хорош.