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

LAN8720A — микросхема физического уровня Ethernet с интерфейсом RMII

LAN8720A — PHY Microchip для микроконтроллеров со встроенным MAC Ethernet: STM32F4, STM32F7, ESP32. Сам он кадров не собирает — он превращает биты RMII в сигнал на витой паре и обратно. Разбираем по даташиту выводы корпуса QFN-24, страп-выводы, два режима такта 50 МГц, питание и потребление.

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

LAN8720A (Microchip; LAN8720Ai — исполнение для −40…+85 °C) — приёмопередатчик физического уровня Ethernet 10BASE-T/100BASE-TX. Он работает в паре с MAC микроконтроллера: по RMII получает и отдаёт данные по 2 бита за такт 50 МГц, по шине управления MDC/MDIO отдаёт состояние связи, а со стороны кабеля через трансформатор ведёт витую пару. Тактирование RMII у STM32 и ESP32, трансформатор, разводка и типичные ошибки — в статье «Ethernet для микроконтроллера».

Коротко

  • Сеть — 10 и 100 Мбит/с, автосогласование, HP Auto-MDIX: подходит и прямой, и перекрёстный кабель.
  • Интерфейс с MAC — только RMII, плюс шина управления MDC/MDIO с периодом MDC не меньше 400 нс (до 2,5 МГц).
  • Такт — 50 МГц от генератора (REF_CLK In) или из кварца 25 МГц самим PHY (REF_CLK Out).
  • Питание — аналоговое 3,0–3,6 В, ввод-вывод 1,62–3,6 В, ядро 1,2 В от встроенного стабилизатора или снаружи.
  • Корпус — QFN-24, 4 × 4 мм, площадка снизу — земля.

Выводы

Корпус QFN-24 с выводами на четырёх сторонах, поэтому — таблица. Нумерация по табл. 2-8 даташита; площадка на дне корпуса — общий провод VSS, её соединяют с полигоном земли массивом переходных отверстий.

ВыводОбозначениеНазначение
1VDD2Aаналоговое питание 3,3 В второго канала и встроенного стабилизатора
2LED2 / nINTSELсветодиод скорости 100 Мбит/с; страп режима такта: подтяжка вверх или свободен — REF_CLK In, к земле — REF_CLK Out
3LED1 / REGOFFсветодиод связи и активности; страп: подтяжка к VDD2A выключает встроенный стабилизатор 1,2 В
4XTAL2выход кварца; при внешнем генераторе не подключать
5XTAL1 / CLKINкварц 25 МГц или вход внешнего такта (50 МГц в режиме REF_CLK In)
6VDDCRядро 1,2 В: от встроенного стабилизатора или снаружи; конденсаторы 1 мкФ и 470 пФ на землю
7RXD1 / MODE1данные приёма RMII; страп режима
8RXD0 / MODE0данные приёма RMII; страп режима
9VDDIOпитание ввода-вывода 1,62–3,6 В
10RXER / PHYAD0ошибка приёма; страп младшего бита адреса, по умолчанию 0
11CRS_DV / MODE2несущая и данные действительны; страп режима
12MDIOданные шины управления
13MDCтакт шины управления
14nINT / REFCLKOпрерывание (открытый сток, подтяжка к VDDIO) или выход 50 МГц в режиме REF_CLK Out
15nRSTсброс, активный низкий, подтяжка вверх внутри
16TXENразрешение передачи RMII
17, 18TXD0, TXD1данные передачи RMII
19VDD1Aаналоговое питание 3,3 В первого канала
20, 21TXN, TXPпервая пара к трансформатору
22, 23RXN, RXPвторая пара к трансформатору
24RBIASрезистор 12,1 кОм 1 % на землю

Страп-выводы защёлкиваются при включении питания и по фронту nRST (разд. 3.7). Режим MODE[2:0]: 111 — автосогласование всех режимов (по умолчанию, внутренние подтяжки вверх), 000 и 001 — 10 Мбит/с полудуплекс и дуплекс, 010 и 011 — 100 Мбит/с полудуплекс и дуплекс (без автосогласования), 100 — автосогласование с объявлением только 100 Мбит/с полудуплекса, 101 — режим повторителя, 110 — включение в режиме выключения. Внешние подтяжки делают к VDDIO, а REGOFF и nINTSEL — к VDD2A. Полярность светодиода на выводе со страпом зависит от уровня страпа, поэтому схему светодиода рисуют с учётом выбранного режима.

Параметры

Рабочие режимы (разд. 5.2):

ПараметрМин.Макс.
Питание ввода-вывода VDDIO1,62 В3,6 В
Аналоговое питание VDD1A, VDD2A3,0 В3,6 В
Питание ядра VDDCR (если стабилизатор выключен)1,08 В1,32 В
Питание трансформатора2,25 В3,6 В
Температура: LAN8720A / LAN8720Ai0 °C / −40 °C+85 °C

Требования к такту и шине управления (табл. 5-12, 5-13): REF_CLK 50 МГц, уход не больше ±50 ppm, скважность 40–60 %, джиттер до 150 пс от пика до пика; кварц или генератор 25 МГц ±50 ppm в режиме REF_CLK Out; период MDC не меньше 400 нс. Сброс nRST — не короче 100 мкс; после того как питание достигло 80 %, сброс снимают не раньше чем через 25 мс; страп должен установиться за 200 нс до снятия сброса (табл. 5-9).

Потребление самой микросхемы (табл. 5-2, режим REF_CLK In). По разд. 5.4 токи измерены при номинальном питании — VDDIO, VDD1A, VDD2A = 3,3 В и VDDCR = 1,2 В; мощность в столбцах «Тип.» и «Макс.» соответствует питанию 3,3 В со встроенным стабилизатором, а мощность в столбце «Мин.» по прим. 5-8 посчитана для самого экономичного варианта — VDDIO = 1,8 В и внешний стабилизатор 1,2 В:

РежимМин.Тип.Макс.
100BASE-TX с трафиком41 мА; 96 мВт при 1,8 В и внешних 1,2 В45 мА / 148 мВт49 мА / 159 мВт
10BASE-T с трафиком20 мА; 42 мВт при 1,8 В и внешних 1,2 В22 мА / 70 мВт24 мА / 77 мВт
Энергосбережение по отсутствию сигнала5,8 мА6,2 мА7,4 мА
Полное выключение2,0 мА2,3 мА3,4 мА

В эти цифры не входит ток через трансформатор: по прим. 5-7 это около 41 мА в режиме 100BASE-TX и 100 мА в 10BASE-T, при питании трансформатора и 2,5, и 3,3 В. В режиме REF_CLK Out ток ввода-вывода больше — 5,8 мА вместо 0,5 мА (тип., табл. 5-3), потому что вывод REFCLKO раскачивает линию 50 МГц.

Предельные режимы (разд. 5.1): питание VDDIO, VDD1A, VDD2A −0,5…+3,6 В, ядро −0,5…+1,5 В, XTAL1/CLKIN до 3,6 В, XTAL2 до 2,5 В; стойкость по IEC 61000-4-2 ±8 кВ контактным и ±15 кВ воздушным разрядом (испытания сторонней лаборатории). Цифровые выводы допускают 3,6 В, к 5-вольтовой логике их не подключают: Microchip прямо пишет, что выводы не рассчитаны на 5 В, если не оговорено иное. Тепловое сопротивление кристалл — воздух — 58 °C/Вт без обдува (плата 2S2P).

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

По рис. 3-18 даташита и разд. 3.9: резистор 12,1 кОм 1 % на RBIAS; по два резистора 49,9 Ом на каждую пару с подключением к питанию и конденсаторами 0,1 мкФ; трансформатор 1:1 со средней точкой; со стороны кабеля — цепь Боба Смита из резисторов 75 Ом и конденсатора 1000 пФ на 3 кВ. Источник такта — генератор 50 МГц, общий с MAC, или кварц 25 МГц и режим REF_CLK Out.

У ESP32 вход внешнего такта RMII возможен только на GPIO0, а это страп-вывод загрузки: источник 50 МГц на время старта отключают, например удерживая PHY в сбросе. Выдавать такт с ESP32 при работающих Wi-Fi или Bluetooth Espressif не рекомендует. Подробности для ESP32 и STM32 — в статье «Ethernet для микроконтроллера», выводы и страпы ESP32 — на странице ESP32.

Аналоги

Microchip в даташите замен не называет. В том же классе — DP83848 (TI): PHY 10/100 с MII и RMII, но в корпусе на 48 выводов, с другими страпами и без режима, в котором PHY сам делает 50 МГц из кварца 25 МГц. Базовые регистры PHY стандартизованы IEEE 802.3, поэтому простые драйверы (например, универсальный драйвер PHY в ESP-IDF) работают с разными микросхемами, но страпы, такт и обвязку переносить с одной на другую нельзя.

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

Можно ли подключить LAN8720A к микроконтроллеру без MAC?

Нет. LAN8720A — только физический уровень: кадры Ethernet собирает и разбирает MAC, а он должен быть в микроконтроллере, и связь с ним идёт только по RMII. Микроконтроллеру без MAC нужен SPI-контроллер вроде W5500 или ENC28J60.

Откуда LAN8720A берёт такт 50 МГц?

Два варианта задаются страпом nINTSEL на выводе LED2. По умолчанию (REF_CLK In) 50 МГц подают от внешнего генератора на XTAL1/CLKIN, им же тактируют MAC. Если вывод LED2 подтянуть к земле (REF_CLK Out), PHY сам делает 50 МГц из кварца 25 МГц и выдаёт их на вывод nINT/REFCLKO — тогда нет прерывания, а Microchip предупреждает, что временные параметры этого режима не соответствуют спецификации RMII и их нужно проверить расчётом.

Какой адрес у LAN8720A на шине MDIO?

0 или 1 — по страпу PHYAD0 на выводе RXER; по умолчанию внутренняя подтяжка вниз даёт 0. Адрес больше 1 можно записать программно в регистр Special Modes после того, как связь по MDIO установлена. В ESP-IDF адрес задают числом 0–15 или −1 для автоматического поиска, если PHY на шине один.

Почему LAN8720A не отвечает или стартует не в том режиме?

Частая причина — испорченные страп-выводы: RXD0, RXD1, CRS_DV и RXER подключены к микроконтроллеру, и если в момент сброса PHY его вывод уже настроен как выход или с подтяжкой, PHY защёлкнет не тот режим или адрес. Microchip требует, чтобы уровень на страпе был установлен не меньше чем за 200 нс до снятия сброса. Надёжно держать PHY в сбросе выводом nRST, пока микроконтроллер не настроит свои выводы.

Источники

  1. Microchip. LAN8720A/LAN8720Ai Small Footprint RMII 10/100 Ethernet Transceiver with HP Auto-MDIX and flexPWR Technology (DS00002165C, 2024) — разд. 1.2 — описание, допуск 3,6 В на цифровых выводах; разд. 2 — назначение выводов, табл. 2-8 — нумерация QFN-24; разд. 3.7 — страп-выводы PHYAD0, MODE[2:0], REGOFF, nINTSEL, табл. 3-4 — режимы MODE, режимы REF_CLK In и Out; разд. 5.1–5.2 — предельные и рабочие режимы; табл. 5-1 — тепловые параметры; табл. 5-2, 5-3 — потребление и прим. 5-7 о токе трансформатора; табл. 5-9 — тайминги сброса и страпов; табл. 5-12 — требования к REF_CLK; табл. 5-13 — тайминги SMI
  2. Espressif. ESP-IDF Programming Guide v6.1: Ethernet (ESP32) — RMII у ESP32, вход такта EMAC_CLK_EXT_IN только на GPIO0, ограничение выхода такта ESP32 при работающих Wi-Fi и Bluetooth, адрес PHY 0–15 или −1

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