Перейти к содержанию

W5500 — Ethernet-контроллер WIZnet с аппаратным стеком TCP/IP

W5500 — микросхема WIZnet, в которой PHY 10/100 Мбит/с, MAC и стек TCP/IP сделаны логикой, а микроконтроллер только пишет и читает буферы сокетов по SPI. Разбираем по даташиту выводы, режимы PHY, обвязку и честные цифры: какая частота SPI гарантирована, сколько тока берёт микросхема и чего она не умеет.

Обновлено Редакция GAW

W5500 (WIZnet) — Ethernet-контроллер для микроконтроллеров без собственного MAC. Внутри — физический уровень 10BASE-T/100BASE-TX, MAC и стек TCP/IP, выполненный аппаратно: протоколы TCP, UDP, IPv4, ICMP, ARP, IGMP и PPPoE обрабатывает сама микросхема, а программа работает с сокетами через регистры по SPI. Сравнение с ENC28J60 и со встроенным MAC, тактирование, трансформатор и разводка — в статье «Ethernet для микроконтроллера».

Коротко

  • Сеть — 10 и 100 Мбит/с, автосогласование, полу- и полный дуплекс; Auto-MDIX нет.
  • Стек — аппаратный: 8 сокетов, 32 Кбайт буферов (16 + 16 Кбайт), режим сырых кадров MACRAW только у сокета 0.
  • SPI — режимы 0 и 3; гарантированная частота 33,3 МГц, расчётная — 80 МГц.
  • Питание — 2,97–3,63 В (тип. 3,3 В), входы допускают 5 В; ток около 132 мА при передаче на 100 Мбит/с (тип.).
  • Корпус — LQFP-48, 7 × 7 мм, шаг 0,5 мм; рабочая температура −40…+85 °C.

Выводы

Корпус LQFP-48 — четырёхсторонний, поэтому ниже таблица, а не рисунок. Нумерация — по рис. 1 даташита: вывод 1 (TXN) — первый на левой стороне, счёт идёт против часовой стрелки (вниз по левой стороне, вправо по нижней, вверх по правой), и вывод 48 — AGND в левом конце верхней стороны.

ВыводыОбозначениеНазначение
1, 2TXN, TXPдифференциальный выход передатчика к трансформатору
5, 6RXN, RXPдифференциальный вход приёмника
4, 8, 11, 15, 17, 21AVDDаналоговое питание 3,3 В
3, 9, 14, 16, 19, 48AGNDаналоговая земля
10EXRES1резистор 12,4 кОм 1 % на аналоговую землю — смещение аналоговых узлов
18VBGвыход опорного напряжения около 1,2 В, оставить свободным
20TOCAPконденсатор 4,7 мкФ на землю, дорожка как можно короче
221V2Oвыход внутреннего стабилизатора 1,2 В, конденсатор 10 нФ
7DNCне подключать
12, 13, 46, 47NCне подключены
23RSVDсоединить с землёй
38–42RSVDвнутренняя подтяжка к земле, можно оставить свободными
24–27SPDLED, LINKLED, DUPLED, ACTLEDсветодиоды: скорость, связь, дуплекс, активность; активный уровень — низкий
28, 29VDD, GNDцифровое питание 3,3 В и цифровая земля
30, 31XI/CLKIN, XOкварц 25 МГц или внешний генератор 3,3 В на XI (тогда XO свободен)
32SCSnвыбор микросхемы SPI, активный низкий, внутренняя подтяжка вверх
33, 34, 35SCLK, MISO, MOSIшина SPI; MISO в третьем состоянии, пока SCSn высокий
36INTnвыход прерывания, активный низкий
37RSTnсброс, активный низкий, держать не меньше 500 мкс; подтяжка вверх внутри
43–45PMODE2–PMODE0режим PHY после сброса, внутренняя подтяжка вверх

Режим PHY по выводам PMODE[2:0] (табл. 2): 000 — 10 Мбит/с полудуплекс, 001 — 10 Мбит/с дуплекс, 010 — 100 Мбит/с полудуплекс, 011 — 100 Мбит/с дуплекс (во всех четырёх автосогласование выключено), 100 — 100 Мбит/с полудуплекс с автосогласованием, 111 — автосогласование всех режимов; 101 и 110 не используются. Без внешних резисторов внутренние подтяжки дают 111. Режим можно сменить и программно, регистром PHYCFGR.

Параметры

Постоянные характеристики — по разд. 5.3 даташита при −40…+85 °C:

ПараметрМин.Тип.Макс.
Напряжение питания VDD, AVDD2,97 В3,3 В3,63 В
Входное напряжение высокого уровня2,0 В—5,5 В
Входное напряжение низкого уровня−0,3 В—0,8 В
Выход низкого уровня при 8 мА——0,4 В
Выход высокого уровня при 8 мА2,4 В——
Подтяжка вверх SCSn, RSTn, PMODE50 кОм77 кОм112 кОм
Ток потребления в работе, 3,3 В, 25 °C—132 мА—
Ток в режиме выключения PHY, 3,3 В, 25 °C—13 мА—

Ток по режимам (разд. 5.4, 3,3 В, 25 °C, типичные значения): связь 100 Мбит/с — 128 мА, передача на 100 Мбит/с — 132 мА, связь 10 Мбит/с — 75 мА, передача на 10 Мбит/с — 79 мА, без связи в режиме автосогласования — 65 мА, выключение — 13 мА. Наш расчёт: 132 мА × 3,3 В ≈ 0,44 Вт — микросхема заметно греется, и стабилизатор 3,3 В нужно рассчитывать с запасом.

Предельные режимы (разд. 5.1) — не рабочие значения, а границы повреждения: питание −0,5…4,6 В, вход −0,5…6 В, выход −0,5…4,6 В, ток входа 5 мА, кристалл до 125 °C, хранение −65…+150 °C. Стойкость к разряду: 2000 В по модели человеческого тела, 200 В по модели машины, 500 В по модели заряженного устройства.

Типичная схема

Обвязка по даташиту: кварц 25 МГц с нагрузочной ёмкостью 18 пФ и точностью ±30 ppm (или генератор 3,3 В на XI), резистор 12,4 кОм 1 % на EXRES1, 4,7 мкФ на TOCAP, 10 нФ на 1V2O, трансформатор 1:1 с индуктивностью 350 мкГн для приёма и передачи и разъём RJ-45 — часто со встроенным трансформатором. Шина SPI — четыре линии и, по желанию, INTn и RSTn к микроконтроллеру. В режиме переменной длины (VDM) микроконтроллер управляет SCSn и может делить шину с другими устройствами; в режиме фиксированной длины (FDM) SCSn постоянно на земле, и шина отдана W5500.

Как развести пары к трансформатору, куда подключать средние точки обмоток и какие ошибки встречаются чаще всего — в разделах «Трансформатор» и «Разводка платы» статьи «Ethernet для микроконтроллера»; назначение контактов разъёма — на странице RJ-45.

Ограничения

  • Скорость обмена ограничивает SPI. Даже при 33,3 МГц это 33,3 Мбит/с сырого потока, и часть уходит на трёхбайтный заголовок каждой посылки (адрес и управляющий байт). Наша оценка: полные 100 Мбит/с линии через SPI не прокачать.
  • Нет IPv6 и фрагментации IP — в списке протоколов их нет, а отсутствие фрагментации даташит оговаривает отдельно.
  • Нет Auto-MDIX — для прямого соединения двух плат нужен перекрёстный кабель.
  • Нет TLS — шифрование, если нужно, выполняет микроконтроллер поверх сокета.

Аналоги

WIZnet в даташите W5500 замен не называет. По назначению W5500 сравнивают с ENC28J60 — тоже Ethernet по SPI, но без стека TCP/IP и только на 10 Мбит/с, — и с микроконтроллером со встроенным MAC и внешним PHY вроде LAN8720A. Цоколёвка и регистры у этих решений разные, программный драйвер под каждое свой.

Частые вопросы

На какой частоте SPI работает W5500?

В таблице таймингов WIZnet пишет «80/33,3 МГц». 80 МГц — расчётный предел логики, а 33,3 МГц — частота, на которой WIZnet проверил устойчивую работу и которую гарантирует. На макетной плате с проводами и на длинных дорожках разумно начинать с 8–20 МГц и поднимать частоту, проверяя обмен. Режимы SPI — только 0 и 3, старшим битом вперёд.

Можно ли подключить W5500 к Arduino на 5 В?

Питание самой микросхемы — только 3,3 В (2,97–3,63 В, предел 4,6 В). Входы SCSn, SCLK, MOSI и RSTn допускают 5 В: высокий уровень до 5,5 В, абсолютный предел входа 6 В. Обратное направление слабее: MISO гарантирует не меньше 2,4 В при токе 8 мА, а ATmega328P при питании 5 В требует для высокого уровня не меньше 0,6 · VCC = 3 В. При малом токе выход поднимается выше, но гарантии этого в даташите нет, поэтому надёжнее буфер или сдвигатель уровня на линии MISO.

Почему две платы с W5500 не видят друг друга по прямому кабелю?

У W5500 нет автоматической смены пар (Auto-MDIX) — это прямо сказано в разделе 5.5.6 даташита. Две такие платы соединяют перекрёстным кабелем или через коммутатор. Современные коммутаторы и сетевые карты с Auto-MDIX сами подстраиваются, поэтому с ними подходит любой кабель.

Сколько соединений и какой объём буфера доступны?

Восемь аппаратных сокетов, всего 32 Кбайт: 16 Кбайт на передачу и 16 на приём. После сброса каждому сокету достаётся по 2 Кбайт в каждую сторону, регистрами Sn_TXBUF_SIZE и Sn_RXBUF_SIZE их можно перераспределить блоками 0, 1, 2, 4, 8 или 16 Кбайт так, чтобы сумма в каждую сторону не превышала 16 Кбайт. Фрагментация IP не поддерживается.

Источники

  1. WIZnet. W5500 Datasheet, Version 1.1.0 (2022) — с. 2 — возможности; гл. 1 — расположение выводов LQFP-48, табл. 2 — назначение выводов, PMODE[2:0], резистор EXRES1 12,4 кОм, конденсаторы TOCAP 4,7 мкФ и 1V2O 10 нФ, RSTn не меньше 500 мкс; гл. 2 — SPI режимов 0 и 3, VDM и FDM; гл. 3.3 — распределение 32 Кбайт буферов; разд. 5.1 — предельные режимы; разд. 5.3 — постоянные характеристики; разд. 5.4 — потребление; разд. 5.5 — кварц 25 МГц, тайминги SPI (80 МГц расчётные, 33,3 МГц гарантированные), трансформатор 1:1 350 мкГн, отсутствие Auto-MDIX
  2. Texas Instruments. AN-1469 PHYTER Design & Layout Guide (SNLA079D, 2013) — общие правила разводки линии к трансформатору: пары 100 Ом, без отводов, симметрично, отдельная земля корпуса разъёма
  3. Microchip. ATmega48A/PA/88A/PA/168A/PA/328/P Data Sheet (DS40002061B, 2020) — постоянные характеристики: VIH не меньше 0,6 · VCC при питании 2,4–5,5 В — для сравнения с уровнем выхода MISO

Нашли ошибку?