Jump to content

    
Sign in to follow this  
Aleksei_Rostov

Marvell 88e5512 не проходит auto negotiation

Recommended Posts

Здравствуйте! Подскажите пжл какие могут быть причины, препятствующие запуску трансивера 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 и тд. Следует ли работать с другими регистрами для запуска микросхемы или достаточно ресета?

Share this post


Link to post
Share on other sites
Немного - это сколько ?

Более 20 мс.

Меня интересует вопрос: какие входные сигналы обязательно должны присутствовать в rgmii для auto negotiation? Только tx clock и tx ctrl?

Share this post


Link to post
Share on other sites

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 не болтались в воздухе (мир не идеален :) ).

(я так понимаю у вас чип - 1512?)

Share this post


Link to post
Share on other sites
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 не болтались в воздухе (мир не идеален :) ).

(я так понимаю у вас чип - 1512?)

 

Чип 88E1512 даташит прикрепляю. Осциллографом проверил питающие напряжения VDDO и клок 25 МГЦ от кварца. Спасибо! пока разбираюсь.

Share this post


Link to post
Share on other sites
..88E1512..

Собственно базис написан в DS, раздел {#2.10 Auto-Negotiation}, далее вам надо посмотреть на описание регистров 0_0 и 0_17.

Как какой то ref-point кода, можете глянуть InicheStack - там всё довольно прозрачно.

Так же вот в этой теме vadimuzz выкладывал сорцы для конфига е1111

(шапку темы подправьте :) )

Share this post


Link to post
Share on other sites
Куда? Хочу посмотреть.

 

Забыл))

 

Вопрос еще такой: на отладочной плате есть еще один гигабитный ethernet на zynq кристалле, как вариант можно использовать и его. Скорость необходима около 600-700 Мбит\с. Кто нибудь разгонялся до такой скорости используя lwip? Речь идет о UDP передаче.

482049_1458094.pdf

Share this post


Link to post
Share on other sites
когда загоняются скоростью LwIP обычно переписывают, из коробки там много жрущих удобств.

Без LwIp обойтись можно ? У кого нибудь получалось работать с драйвером EmacPs?

Share this post


Link to post
Share on other sites

зависит от того насколько полно вы хотите поддержать стэк.

нужны ли вам DHCP, ARP, Ping... и прочее...

 

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

Share this post


Link to post
Share on other sites
зависит от того насколько полно вы хотите поддержать стэк.

нужны ли вам DHCP, ARP, Ping... и прочее...

 

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

Передача udp и возможно ещё arp на аппаратном маке zynq. Подобные задачи на софтовых маках решал. Причём только передача пакетов.

Edited by Alexey_Rostov

Share this post


Link to post
Share on other sites
Без LwIp обойтись можно ?...

Можно

 

...У кого нибудь получалось работать с драйвером EmacPs?

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

Share this post


Link to post
Share on other sites
Можно

 

 

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

Полистав даташит на emacps и dmaps, понял что работа для реализации raw udp сводится к настройке через регистры изернета и дма, а далее операции чтения/записи с помощью sgdma, и контрольные регистры emacps

 

Share this post


Link to post
Share on other sites

2 Alexey_Rostov

оно так везьде, а все эти стеки - это обёртка на рутины которые весь стек разворачивают для входных пакетов для вас и предоставляют вам инфу в каком то виде приближённом к стандартному.

В работе в ручную главное не напортачить в работе с дескрипторами :laughing:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this