Одной из интереснейших плат расширения, которую можно подключить к открытой платформе Arduino, является, конечно, плата высокоскоростного сетевого коммуникационного интерфейса Ethernet (Ethernet Shield). С ее помощью можно реализовать множество сетевых приложений: удаленное управление системой, сетевой доступ, публикация данных и многие другие. Дополнительно простые программные библиотеки с открытым исходным кодом для интегрированной среды разработки Arduino IDE значительно упрощают разработку кода приложения. Полезность Ethernet коммуникации означает, что рынок будет реагировать на запросы пользователей, предлагая различные варианты плат расширения Ethernet. Самый первый из всех – официальная плата Arduino Ethernet Shield, затем можно отметить качественное решение компании Seed Studio. Оба эти варианта платы выполнены на чипсете Ethernet WIZnet Wiz5100 и могут работать на скорости 100 Мбит/с.
Однако не все радиолюбители могут позволить себе приобретение официальной платы Arduino Ethernet или платы, разработанной Seed Studio. В статье мы рассмотрим альтернативу этим платам, позволяющую работать на скорости 10 Мбит/с и выполненную на распространенных недорогих компонентах для стандартного монтажа в отверстия печатной платы. Эта особенность позволит собрать плату тем, кто не имеет оборудования для поверхностного монтажа.
Принципиальная схема Ethernet платы расширения для Arduino
Основным элементом схемы является контроллер Ethernet ENC28J60 компании Microchip, который подключается к Arduino и преобразует данные в соответствии с протоколом Ethernet. В микросхему интегрирован MAC контроллер, двухпортовый буфер памяти приема/передачи на 8 КБайт и буфер FIFO, управляемый на аппаратном уровне и позволяющий программировать ретрансляцию данных в случае конфликтов.
Блок-схема Ethernet контроллера ENC28J60
Встроенный MAC контроллер поддерживает работу с одноадресными, многоадресными и циркулярными пакетами данных, имеет программируемый 64-байтный шаблон пакета и программируемую на различные форматы пакетов команду перехода в активный режим.
На схеме мы видим, что помимо контроллера Ethernet имеется стандартный коннектор RJ45 с интегрированными светодиодами, элементами фильтра и линейным трансформатором, а также преобразователь уровней напряжения для SPI интерфейса, по которому осуществляется коммуникация между Ethernet-контроллером и Arduino.
Линия MISO является выходом данных ведомого устройства и входом Arduino, линия MOSI – наоборот; по линии SCK передается тактовый сигнал интерфейса SPI и линия Reset – сигнал сброса, к которой также подключена кнопка для ручного сброса контроллера, если это необходимо. Цифровые линии D10 и D2 платы Arduino используются cоответственно для подачи сигнала выбора кристалла (Chip Select) и чтения выхода INT контроллера Ethernet. Элемент U3B микросхемы 74HC125 используется для преобразования уровня напряжения, т.к. Ethernet контроллер питается от регулятора напряжения 3.3 В, а плата Arduino имеет напряжение питания 5 В.
Контроллер Ethernet работает с тактовой частотой 25 МГц, определяемой кварцевым резонатором Q1, который подключен к выводам 23 и 24. Конденсатор, подключенный к выводу VCAP, фильтрует выходное напряжение (2.5 В) встроенного в контролер регулятора для внутренних цепей, он должен быть с низким ESR.
Питание на плату расширения подается с платы Arduino: стабилизированные 5 В для питания микросхемы 74HC125 и для подтягивающих резисторов по линии Reset и Chip Select, а также напряжение Vin, которое подается на регулятор напряжения 3.3 В серии LD1086-V33 для питания Ethernet контроллера и схемы, встроенной в коннектор RJ45.
Список использованных компонентов
Обозначение
в схеме |
Номинал, маркировка
|
R1, R2, R4, R5
|
47 Ом
|
R3
|
18 Ом
|
R6, R7
|
270 Ом
|
R8
|
2.7 кОм
|
R9, R10, R11
|
10 кОм
|
C1, C2, C3, C4, C10
|
100 нФ
|
C5, C9
|
470 мкФ 16 В
|
C6
|
10 мкФ 63 В
|
C7, C8
|
15 пФ
|
U1
|
ENC28J60
|
U2
|
LD1086-V33
|
U3
|
74HC125
|
RST
|
Кнопка сброса
|
Q1
|
Кварцевый резонатор 25 МГц
|
RJ45
|
Коннектор RJ45EM со встроенным
трансформатором и светодиодами |
Дополнительно используются сокеты для установки микросхем и стандартные коннекторы для подключения к плате Arduino.
Загрузки
Программная библиотека Ethernet и примеры — скачать
Gerber-файлы — скачать