Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Marvell 88e5512 не проходит auto negotiation
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Alexey_Rostov
Здравствуйте! Подскажите пжл какие могут быть причины, препятствующие запуску трансивера Marvell 88e5512. Запускаю gigabit Ethernet, интерфейс rgmii. Читаю регистры трансивера без проблем. Контрольный регистр при сбросе сохраняет значение 1140. Что означает режим autonegotiation is enable, скорость 1000, normal operation mode. Трансивер при запуске немного держу в ресете, потом вычитываю контрольный и статусный регистр трансивера. Auto negotiation не проходит и Линк не устанавливается. Попытка после ресета сделать рестарт auto negotiation также к запуску не приводи

Значение статусного регистра: 7949. Что означает extended capability, able to perform auto negotiation, mf preamble suppressing, extended status information in reg 15 и тд. Следует ли работать с другими регистрами для запуска микросхемы или достаточно ресета?
Kuzmi4
Цитата(Alexey_Rostov @ Mar 13 2017, 14:00) *
...Трансивер при запуске немного держу в ресете...

Немного - это сколько ?
Alexey_Rostov
Цитата(Kuzmi4 @ Mar 14 2017, 09:46) *
Немного - это сколько ?

Более 20 мс.
Меня интересует вопрос: какие входные сигналы обязательно должны присутствовать в rgmii для auto negotiation? Только tx clock и tx ctrl?
Kuzmi4
2 Alexey_Rostov
под рукой нет DS на этот PHY, но в теории, из Clause 28 IEEE 802.3 specification, user-part не используется: вам надо только удостоверится что опорная частота на PHY подаётся, хардварный сборс уложился в рамки написанные в DS и вторая сторона на кабеле работает как надо. А дальше внутри PHY логика сама разбирается согласно Auto-Negotiation Flow.
Хотя думаю желательно конечно чтобы была частота на RGMII TX-clk, TX-ctrl == 0 и RGMII RX не болтались в воздухе (мир не идеален sm.gif ).
(я так понимаю у вас чип - 1512?)
Alexey_Rostov
Цитата(Kuzmi4 @ Mar 14 2017, 11:58) *
2 Alexey_Rostov
под рукой нет DS на этот PHY, но в теории, из Clause 28 IEEE 802.3 specification, user-part не используется: вам надо только удостоверится что опорная частота на PHY подаётся, хардварный сборс уложился в рамки написанные в DS и вторая сторона на кабеле работает как надо. А дальше внутри PHY логика сама разбирается согласно Auto-Negotiation Flow.
Хотя думаю желательно конечно чтобы была частота на RGMII TX-clk, TX-ctrl == 0 и RGMII RX не болтались в воздухе (мир не идеален sm.gif ).
(я так понимаю у вас чип - 1512?)


Чип 88E1512 даташит прикрепляю. Осциллографом проверил питающие напряжения VDDO и клок 25 МГЦ от кварца. Спасибо! пока разбираюсь.
Kuzmi4
Цитата(Alexey_Rostov @ Mar 14 2017, 13:22) *
..88E1512..

Собственно базис написан в DS, раздел {#2.10 Auto-Negotiation}, далее вам надо посмотреть на описание регистров 0_0 и 0_17.
Как какой то ref-point кода, можете глянуть InicheStack - там всё довольно прозрачно.
Так же вот в этой теме vadimuzz выкладывал сорцы для конфига е1111
(шапку темы подправьте sm.gif )
dm.pogrebnoy
Цитата(Alexey_Rostov @ Mar 14 2017, 13:22) *
Чип 88E1512 даташит прикрепляю.

Куда? Хочу посмотреть.
Alexey_Rostov
Цитата(dm.pogrebnoy @ Mar 15 2017, 01:41) *
Куда? Хочу посмотреть.


Забыл))

Вопрос еще такой: на отладочной плате есть еще один гигабитный ethernet на zynq кристалле, как вариант можно использовать и его. Скорость необходима около 600-700 Мбит\с. Кто нибудь разгонялся до такой скорости используя lwip? Речь идет о UDP передаче.
Golikov A.
когда загоняются скоростью LwIP обычно переписывают, из коробки там много жрущих удобств.
Alexey_Rostov
Цитата(Golikov A. @ Mar 15 2017, 09:14) *
когда загоняются скоростью LwIP обычно переписывают, из коробки там много жрущих удобств.

Без LwIp обойтись можно ? У кого нибудь получалось работать с драйвером EmacPs?
Golikov A.
зависит от того насколько полно вы хотите поддержать стэк.
нужны ли вам DHCP, ARP, Ping... и прочее...

просто данные по UDP передавать можно с голой ПЛИС, маки такого уровня лежат открыто в интернете.
Alexey_Rostov
Цитата(Golikov A. @ Mar 16 2017, 13:00) *
зависит от того насколько полно вы хотите поддержать стэк.
нужны ли вам DHCP, ARP, Ping... и прочее...

просто данные по UDP передавать можно с голой ПЛИС, маки такого уровня лежат открыто в интернете.

Передача udp и возможно ещё arp на аппаратном маке zynq. Подобные задачи на софтовых маках решал. Причём только передача пакетов.
Kuzmi4
Цитата(Alexey_Rostov @ Mar 16 2017, 12:11) *
Без LwIp обойтись можно ?...

Можно

Цитата(Alexey_Rostov @ Mar 16 2017, 12:11) *
...У кого нибудь получалось работать с драйвером EmacPs?

На сколько я знаю, на Xilinx форуме одному человеку таки удалось запустить что то похожее на {raw ethernet without TCP/IP} на XEmacPs_xxx.
Alexey_Rostov
Цитата(Kuzmi4 @ Mar 16 2017, 16:32) *
Можно


На сколько я знаю, на Xilinx форуме одному человеку таки удалось запустить что то похожее на {raw ethernet without TCP/IP} на XEmacPs_xxx.

Полистав даташит на emacps и dmaps, понял что работа для реализации raw udp сводится к настройке через регистры изернета и дма, а далее операции чтения/записи с помощью sgdma, и контрольные регистры emacps
Kuzmi4
2 Alexey_Rostov
оно так везьде, а все эти стеки - это обёртка на рутины которые весь стек разворачивают для входных пакетов для вас и предоставляют вам инфу в каком то виде приближённом к стандартному.
В работе в ручную главное не напортачить в работе с дескрипторами laughing.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.