Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Ethernut является открытым исходным кодом аппаратных средств и программного обеспечения проекта для использования в качестве встроенного - Ethernet -системы.

Оборудование [ править ]

Этернут 3.0E
Этернут 5.0F

В настоящее время существует четыре различных эталонных дизайна (Ethernut 1, Ethernut 2, Ethernut 3 и Ethernut 5), которые доступны в виде готовых к использованию плат. [1]

Все эталонные проекты используют один и тот же набор интерфейсов:

  • Разъем Ethernet
  • Порты RS-232
  • Разъем питания
  • Почти все контакты ввода / вывода микроконтроллера доступны на порте расширения.

Конструкции в основном различаются используемым микроконтроллером (Ethernut 1 и 2: 8-битный AVR , Ethernut 3 и 5: 32-битный ARM ) и доступным объемом памяти. С платы Ethernut 3 доступен слот MMC . Ethernut 5 также включает в себя USB- хост и интерфейсы устройств.

История [ править ]

С появлением идеи Интернета вещей около 2000 года различные группы людей с разными целями начали разрабатывать встроенные системы, которые можно было бы интегрировать в существующие сети TCP / IP.

Ограниченные ресурсы этих в основном 8-битных встраиваемых систем, которые редко достигают или превышают 64 КБ основной памяти, создают большую проблему.

В 2000 году британский разработчик Дэйв Хадсон выпустил исходный код операционной системы реального времени со встроенным стеком TCP / IP под названием Liquorice .

Другая проблема заключалась в том, что подходящего оборудования для такого рода разработки практически не существовало. Почти все сетевые контроллеры того времени использовали интерфейс PCI-Bus, который слишком сложен для небольших микроконтроллеров. Но один из немногих все еще находящихся в производстве контроллеров с интерфейсом ISA-Bus , который также не рекомендовался для новых разработок, был использован вместе с микроконтроллером ATmega103 для создания одноплатного компьютера. Компоновка этой платы была выпущена под лицензией BSD и была одним из первых открытых аппаратных проектов.

Через год Хадсон прекратил работу над проектом. Но исходный код Liquorice использовался в качестве программной основы для нового проекта Ethernut, который был направлен на интеграцию разработки программного и аппаратного обеспечения. После того, как первые несколько версий были выпущены для Совета AVR Freaks, в 2002 году проект переключился на SourceForge.

Программное обеспечение [ править ]

Nut / OS [ править ]

С открытым исходным кодом операционной системы для этих плат называется Nut / OS. Это модульная операционная система реального времени под лицензией BSD.

Характеристики:

Nut / OS поддерживается популярными библиотеками SSL / TLS, такими как wolfSSL для встроенной безопасности.

Nut / Net [ править ]

В проекте Ethernut реализован собственный сетевой стек под названием Nut / Net. Он реализует существенный протокол и API сокетов для использования в программах Nut / OS.

Поддерживаемые протоколы:

  • Ethernet
  • ARP
  • IP
  • ICMP
  • UDP
  • TCP
  • PPP
  • DHCP
  • DNS
  • SNTP
  • SNMP
  • FTP
  • TFTP
  • SYSLOG
  • HTTP
  • WINS (подмножество)

Конфигурация и использование [ править ]

Настроить Nut / OS и Nut / Net довольно просто. После загрузки исходных пакетов должен быть запущен конфигуратор Nut / OS, который соберет необходимые библиотеки для выбранной конфигурации оборудования.

Программисты приложений теперь будут использовать эти библиотеки Nut / OS и Nut / Net для написания собственного программного обеспечения. Кроме ореховой / OS библиотеки прикладной программист может использовать стандартные библиотеки C . В качестве языков программирования используется C , но в основном поддерживается и C ++ . Кроме того, существует интерпретатор Lua, так что сценарии Lua могут выполняться интерактивно во время выполнения на плате.

Существует множество простых примеров приложений, которые можно легко ввести в Nut / OS.

Поддерживаемые архитектуры [ править ]

  • Atmel AVR (например: ATmega103, ATmega128, ATmega2561, AT90CAN128 и т. Д.)
  • Atmel AVR32 (например: AT32UC3A, AT32UC3B и т. Д.)
  • ARM7 (например: AT91R40008, AT91SAM7X, LPC-E2294, Game Boy Advance и т. Д.)
  • ARM9 (например: AT91SAM9260, AT91SAM9XE и т. Д.)
  • ARM Cortex M3

Следующие архитектуры поддерживаются, но активно не поддерживаются:

  • H8 / 300
  • Motorola 68000

Стек Bluetooth [ править ]

Исследовательская группа по распределенным системам ETH Zurich разработала распределенную сеть датчиков с узлами на основе AVR. Эти сенсорные узлы обмениваются данными через Bluetooth . В качестве системного ПО используется стек BTNut Bluetooth с открытым исходным кодом . Стек BTNut основан на системе Nut / OS и расширяет функциональность Nut / OS функциями доступа Bluetooth. Хотя стек BTNut был разработан в основном для узлов датчиков BTNode, его можно легко перенести на другие приложения.

Использование и доступность [ править ]

По данным немецкого производителя (egnite GmbH) было продано около 33000 плат Ethernut (состояние: декабрь 2013 г.). Существует несколько производителей совместимого оборудования: Achatz electronics (Нидерланды), proconX (Австралия), Propox (Польша), SOC Robotics (Канада), HW group sro (Чехия), thermotemp Embedded-IT (Германия). Помимо этого, операционная система Nut / OS используется в качестве основы для сети BTNode Sensor ETH Zurich .

Ссылки [ править ]

  1. ^ "Справочные платы Ethernut" . egnite GmbH . Проверено 11 декабря 2013 года .

Внешние ссылки [ править ]

  • Проект Ethernut
  • NutWiki
  • BTNode Projekt