реклама на сайте
подробности

 
 
> 88E1111 MAC Loopback, GMII, непонятности с настройкой
dxp
сообщение Mar 17 2015, 17:43
Сообщение #1


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Всем привет!

Есть плата с PHY Marvell 88E1111 и FPGA Cyclone IVE, в последней реализуется уровень МАС, связь между ПЛИС и трансивером осуществляется посредством GMII. Для проверки целостности аппаратных интерфейсов используется включение петель. Auto-Negotiation проходит, вроде, успешно, Loopback в сторону линии (хоста) работает.

Столкнулся с проблемой при включении loopback со стороны MAC уровня. Этот режим включается битом 0.14, читаю регистр 0, там значение 0x1140, что означает:

Auto-Negotiation: Enable
Copper Duplex Mode: Full-duplex
Speed Selection: 10 = 1000 Mbps

Вроде, всё чинно, скорость правильная (и флаг в статусном регистре тоже соответствует ей), остаётся только включить loopback. Если включить 14-й бит, то значение регистра должно быть: 0x5140. Прописываю это значение, сразу заметно изменение - трансивер, как и положено, теряет линк и энергопотребление заметно снижается. Теперь передаю тестовый паттерн, ожидая его возврата. И вот тут-то возникает затык: от трансивера ничего не приходит. Далее долгий и безрезультатный поиск нюансов (вдруг что-то забыл включить или какой-то важный момент упущен), но нет, вроде, просто всё - включаешь один бит и всё должно работать, если скорость установлена правильно (а она, вроде, правильно - при включенном режиме Auto-Negotiation биты 20.6:4 в 110).

Уже перепробовав всё что можно, почти случайно прописал в регистр 0 значение 0x6140, и, о чудо, loopback заработал. Эксперименты показали, что работает именно 6 в старшей тетраде, остальные биты на работоспособность данного режима не влияют. И вот всё это повергает в недоумение.

По факту получается, что эта 6 означает:

Loopback: Enable
Speed Selection (LSB): 1
Auto-Negotiation: Disable

Пробовал варианты 0x4 и 0x7 в старшую тетраду, оба не работают. В общем, не ясны два момента:

1. Как и почему влияют "левые" биты на работоспособность loopback?
2. Прописывание значений в указанные биты, согласно документации, не приводит к активации связанной с ними функциональности - для того, чтобы они повлияли нужно либо произвести Software Reset, либо войти и выйти в Power Down, ничего этого не делается, так почему же это влияет?

В общем, кто в курсе вопроса, просветите, пожалуйста?



--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sorok-odin
сообщение Mar 17 2015, 18:18
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 23-12-12
Пользователь №: 74 946



0x6140 - биты 6,13 = 11 - зарезервированное значение, может быть что угодно, например режим 10 или 100. Может у вас тест на 1000 не проходит т.к. не все линии целы. Какая частота клоков?
Попробуйте тест на скорости 100 и 10.
Сам МАК настроен на 1000?
Go to the top of the page
 
+Quote Post
dxp
сообщение Mar 17 2015, 18:39
Сообщение #3


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (sorok-odin @ Mar 18 2015, 00:18) *
0x6140 - биты 6,13 = 11 - зарезервированное значение, может быть что угодно, например режим 10 или 100. Может у вас тест на 1000 не проходит т.к. не все линии целы. Какая частота клоков?
Попробуйте тест на скорости 100 и 10.
Сам МАК настроен на 1000?

Клоки 125 Мгц, на другой скорости оно вообще работать, как понимаю, не будет.

QUOTE (vitan @ Mar 18 2015, 00:18) *
Забвано, но в release note есть раздел про то, как надо включать loopback, и там написано

А где такой документ можно посмотреть? У меня datasheet достаточно свежий, November 20, 2012.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
vitan
сообщение Mar 18 2015, 08:44
Сообщение #4


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Цитата(dxp @ Mar 17 2015, 21:39) *
А где такой документ можно посмотреть?

В экстранете.

Еще есть упоминание, что нельзя включать MAC loopback при включенном режиме Auto-media select. У Вас, кстати, медиа какая? И еще надо выключить sleep mode (energy detect) при работе с MAC loopback.
При выходе из loopback надо этой же записью делать софт-ресет. Auto-MDI-X тоже надо выключить.

Вы все это делаете?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 11:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016