На некоторых платах с DP83865DVH обнаружилась проблема - PHY периодически "бросает" link (т.е. прекращает обмен).
Включение м/с и ее "обвязка" - как нарисовано в datasheet. MAC - встроенный на процессоре PPC440EPx (хотя от него, как показал опыт, ничего не зависит, т.к. проблема с физическим уровнем)
Цифровой интерфейс запитан от 2,5В. 125 МГц формируются на PHY. Остальная настройка производится через MIIM.
Интерфейс данных - RGMII, тайминги 3COM.
Наблюдаемые симптомы - через некоторое время пропадает link. После чего link восстанавливается и так по кругу.
Время падения от 0,5с до 10+мин и зависит от экземпляра, температуры м/с и "партнера по линку". При охлаждении - время между сбоями увеличивается. Когда м/с охладили "железкой" из морозилки - время изменилось примерно с 20с до минут 5.
Проверили опорный генератор 25 МГц (генератор фирмы БМГ Плюс, если кому-то это что-нибудь скажет) - частота отличается от эталонной меньше чем 1ppm, фазовых шумов, которые могли бы на что-нибудь влиять не видно. Заодно посмотрели выход на мак 125 МГц - тоже вне подозрений.
Номиналы питания в норме. Чувствительные цепи питания пробовали питать что с бусинками, что без них (цепочка R-C на цепях была включена всегда) - шум в районе 60мВ (многовато для "чувствительных цепей", но мне не понятно что там следует ожидать увидеть). Пробовал "приподнять" 1,8В (т.к. на R-C цепочке питание просаживается), но не похоже что это как-то отразилось.
Во время возни заметили что разработчик допустил косяк с полигоном "корпусной земли" от трансформатора к разъему (полигон просто отсутствует - пары от транса к разъему идут над сигнальной "землей", но корпус самого разъема подключен к корпусной), так попробовали запаять кабель на ножки транса - картина не изменилась ни капельки.
При включении Loopback - все ОК.
Анализ регистров показал, что в какой-то момент резко переполняется счетчик ошибок (по Idle последовательности) - счетчик меняется с 0 до FF, после чего м/с и бросает линк.
Если заставить м/с не бросать линк и мигать диодом при ошибках (В регистр 0x13 пишем 0018), то линк м/с не бросает, но вместо этого в какой-то момент начинает непрерывно пульсировать диодом и из этого состояния выходит только если отключить кабель (ну или сброс), охлаждение не возвращает в рабочий режим.
Если при настройке "не бросать линк" еще смотреть и выход RX_CLK, то когда диод начнет мигать на RX_CLK наблюдаются "прострелы" переднего или заднего фронта на половину периода (такое ощущение, что сигнал иногда "забывают" переключить). На одном из экземпляров м/с (она вообще редко устанавливала link) RX_CLK за счет "прострелов" вырождался из 125 МГц в 62,5 МГц .
(Тут возникали мысли перевести интерфейс из RGMII в GMII но пока не удалось попробовать)М/с готова работать и без MACа (все необходимое для этого задается старпами). Не давали процессору с MACом загружаться, а поведение PHY оставалось таким же.
Вроде бы все сводится к аналоговой части м/с.
В м/с есть вомзможность переводить ее в тестовые режимы для гигабита, которые прописаны в IEEE. Кто-нибудь может сказать какая от этих режимов м.б. польза?
В одном режиме можно померить выходной джиттер (на выходы MDI генерится синусойда 62,5 МГц) - проверял осциллографом в режиме накопления - в пределах нормы.
Проблема решалась только с заменой м/с (причем один раз после замены стало только хуже - меняли еще раз).
Кто-нибудь с конкретно такой проблемой сталкивался? (поиском вижу, что с этой м/с народ испытывает и другие проблемы, но про подобную еще не видел).
Из того, что удалось наблюдать - число неработающих м/с 6шт из ~30ти, что очень настораживает.
P.S. забавно, но неработающие м/с произведены на 6-й неделе 2008 и 2009 года. Что на этой неделе происходит

?