Часто можно найти микроконтроллеры со встроенным MAC и PHY 10/100 Ethernet. Некоторые микроконтроллеры, такие как серия Texas Instruments TM4C129x, предлагают как встроенный интерфейс PHY, так и интерфейс RGMII для внешних PHY, как показано на рисунках ниже:
(см. это техническое описание (PDF))
Тогда внешний PHY будет чем-то вроде Micrel KSZ9021RL (PDF) или Realtek RTL8201. Внутренний PHY будет просто подключен к магнитам и разъему.
Какие преимущества дает использование внешнего PHY по сравнению с внутренним, если оба доступны? Похоже, что использование внутреннего PHY экономит на спецификации и значительно на трассировке печатных плат.
Если ваш MCU имеет встроенный ethernet PHY, вы обычно используете его. Но многие микроконтроллеры не имеют этого. Тем не менее, вот несколько причин, по которым я могу придумать, почему вы можете не захотеть использовать внутренний PHY.
1) Повторное использование дизайна. Если у вас есть предыдущая разработка, в которой использовался внешний физический уровень (возможно, на более раннем микроконтроллере, который не поддерживал внутренний физический уровень), вы можете сэкономить время разработки, используя тот же проект и код.
2) Физическое разделение. Обычно вы хотите поместить PHY как можно ближе к magjack. Если ваш MCU должен быть далеко от разъема, может иметь смысл запустить сигналы MII через плату.
3) Другой физический носитель: вы можете использовать оптоволоконный физический уровень в качестве стандарта или опции.
4) Без физического уровня: для связи на небольшом расстоянии (скажем, между модулями в одном шасси) вы даже можете полностью пропустить физический уровень и подключить сигналы RMII напрямую. В частности, если вы делаете что-то вроде маршрутизатора SOHO, встроенный MCU может подключаться к коммутатору таким образом, избегая прохождения через два физических уровня.
Какие преимущества дает использование внешнего PHY по сравнению с внутренним, если оба доступны? Похоже, что использование внутреннего PHY экономит на спецификации и значительно на трассировке печатных плат.
Посмотрите на скорости большинства GPIO на микропроцессорах, около 50 МГц или ниже. Ethernet 100 Мбит/с работает на частоте 100 МГц и использует дифференциальные приемопередатчики, что также увеличивает стоимость, если вы его не используете. Таким образом, у большинства микропроцессоров приемопередатчики находятся снаружи микропроцессора.
Эти независимые от среды интерфейсы позволяют более медленным микропроцессорам использовать Ethernet с помощью параллельного интерфейса (некоторые используют 4 параллельных линии, а некоторые 8). Физические чипы также обрабатывают физический уровень стека Ethernet, например, определяют, был ли подключен кабель.
Нет никакой выгоды от использования одного по сравнению с другим, за исключением экономии средств, экономии площади печатной платы и трассировки.
Вставка комментариев от комментаторов, которые должны знать лучше и публиковать фактические ответы:
То же самое можно сказать практически о любом периферийном устройстве, которое может быть внешним или интегрированным: гибкость в спецификациях, производителе, компоновке, стоимости, энергопотреблении и опциях. - из комментария Евгения Ш.
Особенно, если функциональность достигается с помощью пакета с несколькими кристаллами, стоимость может быть ниже, и/или вы можете получить больше гибкости, используя внешний PHY. Аналоговая функциональность на физическом уровне может быть не совсем подходящей для интеграции с современным микроконтроллером. - из комментария Спехро Пефхани
Есть также много опций для PHY: auto-MDI/MDIX, диагностика (обнаружение неисправности кабеля), некоторые PHY поддерживают оптоволокно, некоторые PHY на самом деле являются трехпортовыми коммутаторами Ethernet, поэтому вы можете поставить два разъема RJ-45. И есть много параметров, которые могут сделать их более подходящими, чем базовый интегрированный PHY: параметры тактовой частоты, энергопотребление (которое сильно различается от продукта к продукту и что стало важным фактором) и, конечно же, стоимость. - из комментария dim
Евгений Ш.
Спехро Пефхани
тусклый
Риоракс