Що таке хороший мікроконтролер для роботи з програмами Ethernet? Або мені просто потрібна хороша бібліотека Ethernet, щоб з'єднатися з Ethernet MAC / PHY?
Що таке хороший мікроконтролер для роботи з програмами Ethernet? Або мені просто потрібна хороша бібліотека Ethernet, щоб з'єднатися з Ethernet MAC / PHY?
Відповіді:
PIC18 з Microchip із вбудованою мережею Ethernet чудово підходять для цього, просто додайте маджак (або інший роз'єм із вбудованою магнетикою) та завантажте їхній стек TCP / IP. Ви будете пінгувати речі в найкоротші терміни. Для більшої стурбованості PIC24 і PIC32 також мають стеки TCP / IP, призначені для роботи з однією з частин SPI Ethernet MAC / PHY, які вони пропонують (ENC624J600 або ENC628J60).
ST також нещодавно розширив свою лінійку STM32 на базі ARM Cortex, щоб включити мікросхему Ethernet, але вам знадобляться зовнішні PHY та магнетики. Це варіант, якщо ви вже дивитесь на PIC32.
Що стосується наявності TCP / IP стека, то слід переглянути три проекти:
Contiki - це відкрита, високопортативна, багатозадачна операційна система для вбудованих в пам'ять ефективних мережевих систем та бездротових сенсорних мереж. Контикі використовувався в різних проектах, таких як моніторинг вогню на дорогах, виявлення вторгнень, моніторинг води в Балтійському морі та в мережах спостереження.
Contiki призначений для мікроконтролерів з невеликим об'ємом пам'яті. Типова конфігурація Contiki - це 2 кілобайти оперативної пам’яті та 40 кілобайт ПЗУ.
Відкритий джерело TCP / IP стека з відкритим кодом забезпечує підключення TCP / IP до крихітних вбудованих 8-бітових мікроконтролерів, з підтримкою сумісності з сумісністю та стандартами RFC.
Набагато швидше, ніж uIP, але важче почати
Як правило, Ethernet не вбудований в мікроконтролери. Спочатку вам потрібен роз'єм, який може перетворювати сигнали Ethernet в сигнали, зчитувані мікроконтролером (це, як правило, називається "магнітика"). Тоді вам потрібен стек TCP / IP, а потім, крім того, вам потрібні DHCP, DNS і всі інші протоколи, які ви хочете використовувати. Тому власне мікроконтролер, який ви використовуєте, не має великого значення. Якщо ви отримаєте щось дуже потужне, як ARM, на якому працює Linux, то розробка для нього була б дуже простою, майже такою ж, як написання мережевого додатка, що працює на настільному ПК під управлінням Linux. Або ви можете скористатися чимось менш потужним та дешевшим, як AVR або PIC.
Ethernet і TCP / IP можуть бути досить складними, якщо ви хочете реалізувати цілий стек TCP / IP в програмному забезпеченні. Одне поширене рішення - використовувати щось на зразок чіпа W51 для W5100, який обробляє всі низькі рівні TCP / IP для вас. Ви можете купити його в модулі попереднього виробництва , яка включає в себе роз'єм локальних мереж і все для досить дешево, близько $ 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 долара.
Microchip мають ряд Pic мікроконтролери з вбудованими можливостями локальних мереж, є список тут . У них також є серія сторінок, що стосуються дизайнерських рішень для Ethernet та їх продуктів тут , яка також містить детальну інформацію про їх повний стек TCP / IP (з інтегрованими MAC та PHY).
Сподіваюся, це допомагає.
Багато мікроконтролерів TI Luminary (ARM Cortex-M3) мають бортовий Ethernet MAC. Для цього потрібен зовнішній кристал і Ethernet PHY (роз'єм + магніт).
GCC та openOCD (мигання / налагодження JTAG) їх добре підтримують, і вони досить дешеві за кількістю.
У них також є дешеві апаратні девіки ...
http://uk.farnell.com/luminary-micro/ekt-lm3s811/kit-eval-lm3s811-code-red/dp/1712254
Netduino plus - хороший мікроконтроллер у розмірі 60 доларів для програм Ethernet. Він також може приймати більшість щитів Arduino, якщо це потрібно.
Залежно від того, наскільки просто ви хочете зробити своє життя, я б рекомендував скористатися MBED та придбати плату роз'єму магістралі та Ethernet (див. Sparkfun) для підключення кабелю та роботи з кондиціонуванням сигналу. Опорна модель - mbed NXP LPC1768.
Мені вдалося отримати mbed для передачі даних на мій віддалений сервер (тобто через Інтернет) приблизно за 2 години від постійного початку.
Це залежить від того, що ви хочете з цим зробити. Головне, на що слід звернути увагу - це кількість оперативної пам’яті (може обмежувати розмір окремих повідомлень), а якщо ви хочете обслуговувати веб-сторінки, то об’єм пам’яті, доступний для цього. Я використовую http://www.arduino.cc/ - Arduino Duemilanova http://www.arduino.cc/ - мікроконтролер ATMega328, 2 Кбайт оперативної пам'яті. Ви можете підключити SD-карту, якщо ви хочете отримати значне місце. Захист Ethernet підтримуватиме до 4 одночасних сеансів. Не сподівайтесь, що ви зможете обслуговувати складні сторінки, але це чудово завантажується в Pachube, twitter тощо.
Для більш потужного рішення подивіться Marvell Plug
Касове Перевага використання для гарного рішення.
Nanode є відкритим вихідним кодом і тільки £ 22 / $ 40 занурений. Я щойно купив два для моніторингу енергії та навколишнього середовища через pachube.
30 секунд крок від сайту:
Nanode - це відкрита ардуїноподібна плата з відкритим кодом, яка має вбудований веб-зв’язок. Він підключається до безлічі бездротових, дротових та мережевих інтерфейсів. Це дозволяє розробити веб-сенсорні та керуючі системи - надаючи доступ до Інтернету до шести аналогових ліній датчиків та шести цифрових ліній вводу / виводу. Це простий побудувати його сам комплект. Nanode був розроблений з урахуванням Хакерів.
Я спробував стек мікрочіпів, використовуючи карту розвитку picdem.net 2, і мене це зовсім не влаштовувало, воно не оптимізоване і не добре задокументоване.
Я думаю, що найкраще рішення на ринку зараз - це Wiznet, який має перший апаратний чіп на базі Ethernet TCP / IP, який економить багато часу і дає більше ефективності
Це посилання дає всі доступні рішення та порівнює їх:
Я запізнюсь на вечірку тут, але рекомендую TI Stellaris EK-LM3S6965. Це частина ARM Cortex M3 із вбудованим контролером Ethernet, включаючи PHY. Для складання прототипів я використав їх набір для оцінки, який має гніздо Ethernet, невеликий OLED-дисплей (чудово підходить для налагодження та інтерфейсу без бареонів), слот для SD-карти, динамік, кнопки, світлодіоди та прориви для підключення матеріалів до периферійних мікросхем. Ви не описували свою заявку (тобто, хочете створити десятки тисяч чогось або разовий хобі-проект), але ціна є розумною (~ 70 доларів за дошку розробників, 12-15 доларів у невеликих кількостях лише для фішок) , вони поставляються з набором ОК набір бібліотек розробки, якщо ви хочете зробити власну прошивку або вона може запускати FreeRTOS (потрібна невелика кількість переносів через незначні оберти обладнання між моїм переглядом плати та вмістом у дистрибутиві FreeRTOS) та eLua. Для TCP / IP можна використовувати або uIP, або lwIP.
Порівняно з популярними пропозиціями для любителів, такими як AVR / Arduino та PIC, Cortex M3 - це 32-бітна частина, працює на 50 МГц, 6965 має багато функцій вводу / виводу, IMO за гроші просто вражає, скільки обчислювальної потужності та як багато можливостей, які ви можете отримати з чогось крихітного і дешевого. Однак це досить сира сторона розвитку, і ви повинні знати C (ну, якщо тільки ви не запускаєте eLua). Я розробник програмного забезпечення в галузі торгівлі і займаюся розробкою ARM на Mac, тому не боюся страшних / незручних налаштувань ланцюжка інструментів і використовую Make + arm-eabi-gcc + OpenOCD для налагодження, але якщо ви хлопець Windows можливо, пакет пакетів Studio Composer Studio був би хорошою ставкою. Я використовував ID Tpo Composer IDE для цікавого експериментального проекту MSP430, і мені це було чудово, і він мав простіший робочий процес, ніж моє налаштування OSX / ARM.
Повнорозкрите, я фактично не розробив друковану плату навколо цього чіпа, який використовував контролер Ethernet, але я зробив плату, яка не використовувала Ethernet, і я мав хороший досвід з цим, і я створив проекти з підтримкою Ethernet, використовуючи комісія з оцінки
Ознайомтеся з контрольною дошкою / пакетами інструментів тут
ОНОВЛЕННЯ Вересень 2013
Ці частини, здається, більше не рекомендуються для нових конструкцій. Здається, явних замін немає.
ОНОВЛЕННЯ Листопад 2013 року
Зараз є TM4C129XNCZAD, який номінально є заміною для вищевказаної частини - він має бортовий MAC + PHY, хоча і не сумісний із штифтами - проте багато людей неохоче використовують його після проблем / плутанини щодо припинення / доступності LM3S на ранньому терміні життя .
Це може не на 100% задати це питання, але для проектів, де виробництво працює досить мало, я почав бачити, як люди вставляють заздалегідь побудовані дошки, як малиновий пі. Це має масу переваг:
Як я кажу, це не для всіх, але для деяких проектів це може бути добре.
Є кілька варіантів щодо точної дошки, яка використовується навколо:
Ви можете використовувати майже будь-який MCU з вбудованим контролером MAC + PHY Wiznet W5500 , він керується SPI. Перевагами є: він має вбудований мережевий стек, буфери Tx / Rx, потребує мінімальних штифтів MCU, спрощене програмування.
Щойно я знайшов ще один цікавий варіант - AX88796C від ASIX, він також має MAC + PHY , 10 \ 100Mbps Ethernet та опцію інтерфейсу до 40 МГц SPI, тому виглядає добре підходить для будь-якого MCU на базі ARM.
ОНОВЛЕННЯ: Netduino 3 вже використовує цей чіп, ось цікаві деталі:
Якщо у вас є досвід роботи з вбудованим програмним забезпеченням, я б рекомендував плату STM32F4Discovery з платою STM32F4DIS-EXT. Нещодавно я використовував це для створення веб-сторінки конфігурації для свого пристрою, і це було досить просто. В Інтернеті доступний приклад lwIP, і якщо ви перейдете в Google "makefsdata", ви знайдете багато інформації про те, як генерувати необхідні файли для власних HTML-файлів. Повідомте мене, якщо вам потрібна додаткова інформація.
Мені подобається (25 EUR) Ethernet-модуль Openpicus FlyportPro для цієї мети. Просто додайте гніздо Ethernet з магнетикою та створіть свою прошивку, використовуючи їх стек TCP / IP. Вони також мають реалізацію TLS:
http://blog.openpicus.com/2014/12/idepro-2-9-0-bye-ssl-welcome-tls.html
Я зробив проект, використовуючи «класичний» Ethernet Flyport, і він до цього часу був непохитним.