Я пытаюсь отладить плату Ethernet 100 Мбит и сталкиваюсь с проблемой, которую пытаюсь решить.
Это глазная диаграмма для передающей пары. Принимающая пара очень похожа. Это PHY LAN8700, и у меня фактически отключен интерфейс MII, поэтому PHY передает кодовые последовательности IDLE. Это принудительно в 100Mbit / FDX в соответствии с таблицей. 100Mbit / HDX идентичен.
Исправление: проект использует внутреннее напряжение 1,8 В LAN8700 для питания своей сети VDD_CORE; Должно быть, я путал питание логики 1,8 В с источником питания VDD_CORE в моем предыдущем описании. Мне кажется, что шум от источника питания не такой большой вероятности, так как высокий, нулевой и низкий уровни на самом деле довольно приличный. Таким образом, глаз не "зажат". Тот факт, что все нарушения выглядят как очень хорошие переходы, просто «искаженные» во времени, заставляет меня думать, что проблема заключается в кристалле или запасе для драйвера кристалла / PLL в PHY.
Если я позволю глазной диаграмме пройти (около 15 минут), то нарушения в маске «заполняются» так, что белые нарушения, которые вы видите на рисунке, становятся белыми шевронными (>) фигурами в правой части синих масок. Это скажет мне, что ошибки синхронизации более или менее случайным образом распределены, а не какой-то дискретный шум, отрывающий синхронизацию от точной величины.
Кристалл, который использует PHY, имеет спецификацию 30 стр / мин, которая находится в пределах спецификации 802.3 100ppm, и даже в пределах рекомендованной спецификации 50ppm, которую определяет PHY. Я использую нагрузочные конденсаторы, которые соответствуют тому, что ищет кристалл, и довольно близки к тому, что LAN8700 указывает в качестве своей номинальной емкости.
До того, как я отключил интерфейс MII, я видел ошибки кадрирования (как сообщалось в моей программе ifconfig для Linux). Там нет ошибок, если я заставлю ссылку на 10Mbit.
Одна из очень странных вещей, которые я заметил, состоит в том, что, если я устанавливаю область для запуска по сигналу RX_ER (ошибка приема) от PHY к MAC, он никогда не сигнализирует об ошибке, даже если ошибки кадров накапливаются в отчетах MAC. Теперь, читая таблицу данных для PHY, становится ясно, что на самом деле очень мало ситуаций, когда RX_ER будет утверждать, но мне очень трудно поверить, что с такой диаграммой, как я вижу, ошибки на самом деле между PHY и MAC.
Я понимаю основы глазных диаграмм, но я смотрю на некоторые из более опытных плакатов, надеясь, что они смогут поделиться своим опытом в переводе конкретных нарушений маски глаз на возможные источники.
(редактировать: добавлена схема, исправлен источник поставки VDD_CORE)