Arduino Ethernet

Arduino Ethernet Rev. 3 - вид спереди Arduino Ethernet Rev. 3 - вид сзади
Arduino Ethernet Rev. 2 - вид спереди с дополнительным модулем PoE

Общие сведения

Arduino Ethernet - это устройство на основе микроконтроллера ATmega328 (datasheet). В его состав входит 14 цифровых выводов, 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъем RJ45, разъем питания, разъем для внутрисхемного программирования ICSP, а также кнопка сброса.

Примечание: выводы 10, 11, 12 и 13 задействованы для связи процессора с Ethernet-контроллером и не должны использоваться для других целей. Поэтому, при использовании Ethernet-контроллера количество доступных выводов уменьшается до 9 с 4 ШИМ-выходами.

В качестве дополнительной опции с платой может быть приобретен специальный модуль, реализующий технологию Power over Ethernet (PoE). Данная технология позволяет потреблять электрическую энергию через витую пару в сети Ethernet.

Arduino Ethernet отличается от других плат Ардуино тем, что у него нет встроенного USB-UART преобразователя, но есть Ethernet-контроллер Wiznet, который также используется в Ethernet-платах расширения.

Встроенный MicroSD-кардридер позволяет хранить файлы, к которым можно организовать сетевой доступ. Управление кардридером осуществляется с помощью библиотеки SD. Вывод 10 используется для взаимодействия с чипом Wiznet, линия SS для выбора SD-карты соединена с выводом 4.

6-контактный разъем для программирования совместим не только с USB-Serial адаптером от Ардуино, но и с USB-кабелями от FTDI и аналогичными USB-UART переходниками от Sparkfun и Adafruit. Разъем спроектирован таким образом, чтобы обеспечивать возможность автоматического сброса микроконтроллера во время прошивки - это освобождает пользователя от необходимости вручную нажимать кнопку сброса. При подключении USB-Serial адаптера, питание Arduino Ethernet осуществляется от адаптера.

3 версия Arduino Ethernet (Rev. 3) удовлетворяет требованиям стандартной распиновки 1.0:

  • добавлены выводы SDA и SCL (возле вывода AREF), а также два новых вывода, расположенных возле вывода RESET. Наличие этих выводов обеспечивает совместимость плат расширения, содержащих I2C-устройства, со всеми моделями Ардуино;
  • вывод IOREF - позволяет платам расширения подстраиваться под рабочее напряжение Ардуино. Данный вывод предусмотрен для совместимости плат расширения как с 5В-Ардуино на базе микроконтроллеров AVR, так и с 3.3В-платами Arduino Due. Второй вывод возле IOREF ни к чему не подсоединен и зарезервирован для будущих целей.

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

Микроконтроллер ATmega328
Рабочее напряжение
Напряжение питания (рекомендуемое) 7-12В
Напряжение питания (предельное) 6-20В
Напряжение питание PoE (предельное) 36-57В
Цифровые выводы 14 (из них 4 ШИМ-выхода)
Зарезервированные выводы Ардуино:
  с 10 по 13 - используются SPI
  вывод 4 используется при работе с SD-картой
  вывод 2 - источник прерывания от микросхемы W5100 (при мостовом включении)
Аналоговые входы 6
Максимальный ток одного вывода 40 мА
Максимальный выходной ток вывода 3.3V   50 мА
Flash-память 32 КБ (ATmega328) из которых 0.5 КБ заняты загрузчиком
SRAM 2 КБ (ATmega328)
EEPROM 1 КБ (ATmega328)
Тактовая частота 16 МГц
Встроенный Ethernet-контроллер W5100 TCP/IP
Сетевой разъем, поддерживающий технологию Power over Ethernet
Карта Micro-SD c преобразователями уровней

Схема и файлы исходного проекта

Файлы EAGLE: Arduino-ethernet-R3-reference-design.zip

Схема: Arduino-ethernet-R3-schematic.pdf

Питание

Устройство может быть запитано от внешнего источника питания, через дополнительный модуль "Power over Ethernet" (PoE), либо через USB-Serial адаптер или кабель FTDI.

В качестве внешнего источника питания может использоваться сетевой AC/DC-адаптер или аккумулятор. Штекер адаптера (диаметр - 2.1мм, центральный контакт - положительный) необходимо вставить в соответствующий разъем питания на плате. В случае питания от аккумулятора, его провода необходимо подсоединить к выводам Gnd и Vin разъема POWER.

Напряжение внешнего источника питания может быть в пределах от 6 до 20 В. Однако, уменьшение напряжения питания ниже 7В приводит к уменьшению напряжения на выводе 5V, что может стать причиной нестабильной работы устройства. Использование напряжения больше 12В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12В.

Ниже перечислены выводы разъема POWER, расположенные на плате:

  • VIN. Напряжение, поступающее в Arduino непосредственно от внешнего источника питания (не связано с 5В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, если устройство запитано от внешнего адаптера.
  • 5V. На вывод поступает напряжение 5В от стабилизатора напряжения на плате, вне независимости от того, как запитано устройство: от адаптера (7 - 12В), от USB (5В) или через вывод VIN (7 - 12В). Запитывать устройство через выводы 5V или 3V3 не рекомендуется, поскольку в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
  • 3V3. 3.3В, поступающие от стабилизатора напряжения на плате. Максимальный выходной ток, потребляемый от этого вывода, составляет 50 мА.
  • GND. Выводы земли.
  • IOREF. Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера Ардуино. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5В, так и с 3.3В-устройствами.

Дополнительный модуль PoE предназначен для получения электрической энергии по обычной витой паре Ethernet-кабеля 5 категории:

  • Совместим со стандартом IEEE802.3af
  • Низкий уровень выходных пульсаций и шумов (100 мВ от пика до пика)
  • Диапазон входного напряжение от 34В до 57В
  • Защита от перегрузок и коротких замыканий
  • Выходное напряжение 9В
  • DC/DC преобразователь с высоким КПД: 75% при нагрузке 50%
  • Изоляция между входом и выходом - 1500В

Примечание: модуль "Power over Ethernet" - это проприетарное аппаратное средство, разработанное третьими лицами без участия Ардуино. Для получения более подробной информации см. техническое описание.

Память

Объем памяти программ микроконтроллера ATmega328 составляет 32 КБ (из них 0,5 КБ отведены под загрузчик). Помимо этого, он имеет 2 КБ оперативной памяти SRAM и 1 КБ EEPROM (для взаимодействия с которой служит библиотека EEPROM).

Входы и выходы

С использованием функций pinMode()digitalWrite() и digitalRead() каждый из 14 цифровых выводов может работать в качестве входа или выхода. Рабочее напряжение выводов - 5В. Максимальный ток, который может отдавать или потреблять один вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо основных, некоторые выводы Ардуино могут выполнять дополнительные функции:

  • Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу.
  • Внешние прерывания: выводы 2 и 3. Данные выводы могут быть сконфигурированы в качестве источников прерываний, возникающих при различных условиях: при низком уровне сигнала, по фронту, по спаду или при изменении сигнала. Для получения дополнительной информации см. функцию attachInterrupt().
  • ШИМ: выводы 3, 5, 6, 9 и 10. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
  • Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). C использованием библиотеки SPI данные выводы позволяют осуществлять связь по интерфейсу SPI. 
  • Светодиод: вывод 9. Встроенный светодиод, подсоединенный к выводу 9. При отправке значения HIGH светодиод включается, при отправке LOW - выключается. В большинстве моделей Ардуино этот светодиод соединен с выводом 13. В Arduino Ethernet он размещен на 9 выводе, поскольку вывод 13 является частью SPI-шины.

В Arduino Ethernet есть 6 аналоговых входов (A0 - A5), каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). По умолчанию, измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Тем не менее, верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию analogReference(). Помимо этого, некоторые из выводов имеют дополнительные функции:

  • TWI: выводы A4 (SDA) и A5 (SCL). С использованием библиотеки Wire данные выводы могут осуществлять связь по интерфейсу TWI.

Помимо перечисленных на плате существует еще несколько выводов:

  • AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference().
  • Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения

Смотрите также соответствие выводов Arduino и ATmega328.

Связь

Arduino Ethernet предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Ардуино или другими микроконтроллерами. 

Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Arduino Ethernet.

В микроконтроллере ATmega328 также реализована поддержка последовательных интерфейсов TWI и SPI. В программное обеспечение Ардуино входит библиотека Wire, позволяющая упростить работу с шиной TWI; для получения более подробной информации см. документацию. Для работы с интерфейсом SPI используйте библиотеку SPI.

Помимо этого, плату можно подключить к проводной сети через Ethernet. При подключении потребуется указать IP-адрес и MAC-адрес устройства. Реализована полная поддержка библиотеки Ethernet.

Для работы со встроенным microSD-кардридером служит библиотека SD, при работе с которой следует помнить, что линия SS соединена с выводом 4.

Программирование

Arduino Ethernet можно запрограммировать двумя способами: либо через 6-контактный разъем для программирования, либо с помощью внешнего ISP-программатора.

6-контактный разъем для программирования совместим с USB-кабелями от FTDI и другими аналогичными USB-UART переходниками от Sparkfun и Adafruit, включая USB-Serial адаптер от Ардуино. Разъем спроектирован таким образом, чтобы обеспечивать возможность автоматического сброса микроконтроллера во время прошивки - это освобождает пользователя от необходимости вручную нажимать кнопку сброса. При подключении к USB-адаптеру, питание платы осуществляется от адаптера.

Arduino Ethernet можно прошить и с помощью внешнего программатора, подобного AVRISP mkII или USBTinyISP. Для этого в среде разработки необходимо установить режим прошивки программатором (см. соответствующие инструкции). Следует помнить, что использование внешнего программатора повлечет за собой стирание загрузчика во flash-памяти микроконтроллера. 

Все примеры программ для работы с сетью одинаково работают как с Arduino Ethernet, так и с Ethernet-платой расширения.

Физические характеристики

Максимальная длина и ширина печатной платы Ethernet составляет 6.9 см и 5.4 см соответственно, с учетом разъема RJ45 и разъема питания, выступающих за пределы платы. Четыре крепежных отверстия позволяют прикреплять плату к поверхности или корпусу. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 не кратно традиционным 2.54 мм и составляет 4 мм.

Купить Arduino Ethernet можно в интернет-магазине arduino-ua.com.