W5500 Ethernet Module

WIZnet (микросхема; изготовитель платы не указан) · W5500 SPI Ethernet module, RJ45 с магнитикой; пример для входа 3,3 В

Проводное подключение микроконтроллера к Ethernet-сети через SPI.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает W5500 SPI Ethernet module, RJ45 с магнитикой; пример для входа 3,3 В

W5500 объединяет Ethernet MAC/PHY и аппаратную обработку ряда TCP/IP-протоколов, поэтому подходит для проводных датчиков и контроллеров. Готовому модулю также нужны RJ45 с магнитикой, тактирование и схема питания. Это коммуникационное устройство, поэтому его категория — связь и навигация.

Надпись W5500 не определяет питание платы и порядок контактов: есть модули с прямыми 3,3 В, регулятором под 5 В и разными схемами RESET. Здесь выбрано исполнение с прямым входом 3,3 В, внешней магнитикой в RJ45 и доступным RST. Способность отдельных входов самого чипа выдерживать 5 В не разрешает подавать 5 В на его питание и не описывает всю плату.

Первый пример проверяет получение адреса по DHCP в локальной сети. MAC нужно сделать уникальным в этой сети; модуль не гарантирует заводской уникальный адрес. Получение IP не доказывает доступ в интернет. W5500 не выполняет TLS-шифрование самостоятельно: защищённое соединение требует подходящего программного стека и ресурсов контроллера. Наличие RJ45 не означает поддержку PoE.

WIZnet WIZ850io: документированный пример модуля W5500 с RJ45 и прямым питанием 3,3 В. Фото WIZnet с исходным прозрачным фоном; пропорции и детали сохранены. Разрешение на повторное использование изображения не подтверждено.

Источник изображения: docs.wiznet.io, исходный файл. Условия повторного использования не установлены; открытая лицензия не заявляется. Фон отделён, выполнено равномерное масштабирование; реальные детали платы не перерисованы.

Точные разъёмы J1/J2 WIZ850io и подключение к ESP32 по каноническому примеру W5500. Авторская схема SLDV LAB по документации WIZnet; для других носителей контакты проверяют отдельно.

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

Ethernet PHY
10/100BASE-T
Аппаратных сокетов W5500
8
Интерфейс хоста
SPI
Аппаратное TLS в W5500
Нет
Интерфейс
SPI
Питание модуля
В примере модуль имеет прямой вход 3,3 В от отдельного стабильного источника, SPI 3,3 В от ESP32; разрешение 5 В на питание конкретной платы не предполагается.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
3V3 / VCCВнешний стабилизированный источник 3,3 ВТолько прямой 3,3-вольтовый вход; для модуля предусмотреть достаточный ток, например источник с запасом 300 мА.
GNDGND ESP32 и источникаESP32-DevKitC V4 с ESP32-WROOM-32.
SCKGPIO18Короткие провода SPI.
MISOGPIO19Данные от модуля к ESP32.
MOSIGPIO23Данные от ESP32 к модулю.
CS / SCSGPIO27Ethernet.init(27).
RST / nRESETGPIO26Активный LOW; подтяжка RESET конкретной платы должна быть к 3,3 В.
INTНе подключатьБиблиотека использует опрос.
RJ45LAN-порт маршрутизатора/коммутатораДля примера нужна локальная сеть с DHCP; PoE-питание не используется.

Подходит для ESP32, Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать W5500 Ethernet Module. Сначала уточни точную плату модуля, контроллер, среду, питание и задачу. Проверь схему, логические уровни и маркировку контактов; затем дай согласованные подключение, зависимости и полный минимальный пример с обработкой ошибок. Объясни безопасную первичную проверку и ожидаемый результат. Проверь схему питания и RESET, уникальность MAC, DHCP и кабель. Не приписывай готовой плате PoE или аппаратный TLS без отдельного подтверждения.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Плата и ядро
ESP32-DevKitC V4, ESP32-WROOM-32; Arduino-ESP32 3.3.0

Распиновка не переносится на ESP32-C3/C6/S3.

Библиотека
Arduino Ethernet 2.0.2

Заголовки SPI.h и Ethernet.h; пример использует API Ethernet, не ESP32 ETH.h.

SPI и CS
SPI.begin(18, 19, 23, 27); Ethernet.init(27)

SCK, MISO, MOSI и CS должны совпадать с проводкой.

MAC примера
02:53:4C:44:56:01

Локально администрируемый пример; измените последний байт для каждого устройства, исключив совпадения.

DHCP
Ethernet.begin(mac, 10000, 2000)

Ограничение ожидания аренды 10 с и отдельного ответа 2 с.

Arduino: полный тест W5500 и DHCP с повторной попыткой

cpp
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {0x02, 0x53, 0x4C, 0x44, 0x56, 0x01};
const int CS_PIN = 27;
const int RESET_PIN = 26;
bool leased = false;
uint32_t lastTry = 0;
void setup() {
  Serial.begin(115200);
  digitalWrite(CS_PIN, HIGH);
  pinMode(CS_PIN, OUTPUT);
  digitalWrite(RESET_PIN, LOW);
  pinMode(RESET_PIN, OUTPUT);
  delay(5);
  digitalWrite(RESET_PIN, HIGH);
  delay(100);
  SPI.begin(18, 19, 23, CS_PIN);
  Ethernet.init(CS_PIN);
}
void loop() {
  if (!leased && (lastTry == 0 || millis() - lastTry >= 10000)) {
    int result = Ethernet.begin(mac, 10000, 2000);
    lastTry = millis();
    if (Ethernet.hardwareStatus() != EthernetW5500) {
      Serial.println("W5500 not detected: check SPI, reset and power");
    } else if (result == 0) {
      Serial.println("DHCP failed: check cable, link and DHCP server");
    } else {
      leased = true;
      Serial.print("IP: "); Serial.println(Ethernet.localIP());
    }
  }
  if (leased) {
    int result = Ethernet.maintain();
    if (result == 1 || result == 3) {
      Serial.println("DHCP renewal/rebind failed");
      leased = false;
    }
    if (Ethernet.linkStatus() == LinkOFF) {
      Serial.println("Ethernet cable/link lost");
      leased = false;
    }
  }
  delay(100);
}

Полный скетч для указанного ESP32, Arduino-ESP32 3.3.0 и Ethernet 2.0.2. Публичные API сверены, совместная компиляция и аппаратный тест не выполнялись. Проверка ограничена локальной сетью и DHCP; HTTP/TLS-запросы не выполняются.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты