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

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

47 голосов | спросил 4 revs, 3 users 100%
Robert
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

20 ответов


28

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

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
19

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

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

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

     

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

  

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

  • lwIP TCP /IP Stack :
      

    Гораздо быстрее, чем uIP, но сложнее начать с

  •   
ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
17

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

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

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
11

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

  

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

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
6

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
5

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

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
4

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

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

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

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
4

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
4

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

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
4

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

Для более эффективного решения посмотрите Marvell Plug

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
3

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
3

checkout tuxgraphics для приятного решения.

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
3

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
3

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

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

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
3

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

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

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

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
3

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

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

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

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

ОБНОВЛЕНИЕ Sep 2013

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

ОБНОВЛЕНИЕ Nov 2013

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
2

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

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

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

Существует несколько вариантов использования точной платы:

  1. Малиновый PI
  2. Beaglebone black - имеет встроенную вспышку
  3. STM32F4DISCOVERY      с платами расширения
ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
2

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

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

<сильный> UPDATE: Netduino 3 уже использует этот чип, вот интересные детали:

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
1

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16
1

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

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

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

ответил l8rs 26 Jam1000000amSat, 26 Jan 2013 08:59:16 +040013 2013, 08:59:16

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132