Цитата(Tue @ Apr 7 2011, 11:32)

Есть плата Arria 2 GX Dev. Board. На ней стоит ПЛИС Arria 2 GХ и Ethernet-трансивер Marvell 88E1111 подключенные друг к другу по RGMII (медь, 1Гбит). В самом начале, как только включается питание даю сброс трансивера подавая на выделенный пин ENET_RESETn сигнал лог. '0' в течение 10мс, затем поднимаю ENET_RESETn в лог. '1', жду еще 5мс. После этого он корректно сброшен и готов к работе. Посылю кадры на другую Гигабитную карту через кроссовый кабель - отправляется успешно. Принимаю кадры, посланные из другой гигабитной карты, - принимаются успешно. Теперь хочу проверить прием/передачу в режиме Loopback
1. Выключаю Auto-Negotiation, задаю скорость 1000Mbps записью Rg0.6=1, Rg0.13=0 и даю soft reset. Для этого записываю в Rg0 следующий код: 0х8140 ('1000000101000000')
2. Включаю Loopback (Rg0.14) записью значения: 0х4140 ('0100000101000000')
Посылаю кадр, ожидаю, что он завернется на MAC уровне в трансивере и вернется по RGMII в ПЛИС. Но этого не происходит. В ПЛИС по RGMII вообще ничего не приходит.
Кто-нибудь сталкивался с подобной проблеммой использования Loopback в Marvell 88E1111 ? Как решили ?
= Подготовка =
Выключите Sleep Mode (Energy Detect), если включен
Выключить Auto Media Detect
Выключить Auto MDI/MDIX Crossover
= Тест 10 =
Задайте скорость 10.
Сделайет Force Full-duplex
Разрешить Loop-Back
<<<<<<<<<<< TEST >>>>>>>>>>>>>>>>
Выключить Loop-Back
После loopback делайте soft-reset.
= Тест 100 =
...
= Тест 1000 =
...
= Завершение =
Восстановить Auto MDI/MDIX Crossover + софт ресет
Восстановить Auto Media Detect
Восстановить рег.0 + сщфт ресет
P.S.
Какая ревизия PHY?
Вообщем смотрите в эрратах.
"Everything should be made as simple as possible, but not simpler." - Albert Einstein