Поддержка Ethernet (обновлено: 08 Oct 2021, 10:34:40)

Поддержка Ethernet чипа LAN8720. Полноценная работа сети включая работу OTA. Перед включением данной опции убедитесь, что Ethernet модуль у Вас подключен к модулю ESP32.

Экспериментальная опция: выбор ethernet чипа: 0 - LAN8720  , 1 - ENC28j60 , 2 - W5500


Подключение Ethernet  модулей с интерфейсом SPI:

Все выводы SPI настраиваются в шестеренке.

W5500 проверено пользователями - работает.

ENC28j60 - нет информации.


Подключение Ethernet LAN8720 к выводам по интерфейсу RMII по 9 проводам:

 LAN8720    ESP32  
 TXD0  GPIO19
 TXD1  GPIO22
 TX_EN  GPIO21
 RXD0  GPIO25
 RXD1  GPIO26
 REFCLK  GPIO0 / GPIO17 
 CRS  GPIO27
 MDC  GPIO23*
 MDIO  GPIO18*

*- Данные GPIO могут быть переназначены.

Данный способ поддерживает только ESP32. В ESP32S2, ESP32C3 нет аппаратной поддержки !

Данные GPIO не должны быть использованы в других опциях, в том числе и i2c !

Не забываем про питание 3.3в

Важно: Вывод REFCLK может подключаться или к 0 GPIO или к 17 GPIO в зависимости от настройки в шестеренке. Читайте ниже про особенности работы обеих вариантов.

Остается свободных 17(+2*) GPIO , из них 4(+2*) GPIO доступны только на вход, а так же 6(+2*) АЦП.

*-Дополнительные 2 GPIO 37 и 38 выведены не на всех модулях ESP32.

Выданный IP адрес можно посмотреть на роутере или в uart отладке модуля ESP32.

Не нужный WI-FI можно отключить в настройках main ,выбрав режим disable. Safe mode, при котором поднимается точка доступа так же доступен, но только при использовании опции Safe GPIO.

Ограничения функции

Невозможно использовать вместе с функцией интернет радио совместно с внутренним ЦАП так как используются те же выводы.

Использование генератора REFCLK на GPIO0 (Поддерживается только на SDK 4.4 и выше):

В данном режиме используется генератор на плате Ethernet и ESP32 используется как ведомый.

Так как используется GPIO0 в режиме входа , то модуль может случайно переключится в режим прошивки при запуске модуля. Для решения данной проблемы используется GPIO Reset, который назначается в шестеренке опции. При установке в -1 вывод не используется.

Данный вариант подключения часто используется на готовых платах c Ali.


Использование генератора REFCLK на GPIO17 (Рекомендуемый вариант):

В данном режиме генерация 50мгц идет от ESP32 и Ethernet модуль работает ведущим.

Необходимо 1 вывод ENABLE генератора(металлический 4 ножечный корпус)  на ethernet модуле подключить к GND. Этот вывод находится в центре ethernet модуля.


Возможные проблемы работы с Ethernet.

Если сеть не стартует, то в первую очередь смотрим в UART отладку.

1. Ошибка No PHYdevice detected в отладке указывает , что нет связи по линии управления выводов MDC MDIO , проверяем соединения, пробуем другие GPIO.

2. Некоторые готовые платы с Ethernet могут использовать внешний генератор на выводе GPIO 0 вместо GPIO 17. Возможность работы с GPIO 0 будет добавлена после добавления нового SDK 4.4 в проект.