Перейти к содержанию
    

Zynq7000 ethernet на MII не генерит прерывания на прием

Всем доброго дня.

Делал как-то давно плату с XC7Z020 и внешней физикой KSZ8041, подключил через PL, через EMIO.  Помню что работал эзернет, пинги шли. Делал стандартный проект lwip сервер. Но надо было что-то поправить вроде в регистрах. Сейчас пытаюсь запустить - нет прерываний на прием. Сейчас сделал просто стандартный lwip, в настройках BSP выставил скорость 100 мбит/с. Линк есть, через ILA посмотрел ноги, которые на PS приходят - RX_ERR = 0, CRS=1, COL=0. Ставлю триггер на RX_DV - на rxd[3:0] вижу, что передается по одному ниблу MAC адрес моего пингующего компьютера. Т.е. вроде физика в порядке.

Сейчас старый проект найти не могу, в инете где-что выискал - тоже не нахожу. Пытаюсь пошагово посмотреть в какие регистры что пишется - как только попадаю в BSP - там только ассемблер, ничего особо и не посмотришь... Вот такая беда. Может кто что подскажет? Или что поменять для внешнего MII, или хотя бы как BSP запустить в режиме построчной отладки. Пробовал в BSP дописывать extra flags   -O0. Ничего не поменялось. Тот же ассемблер как только попадаю в BSP. 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

KSZ чипы не без причуд - я на другом имел проблемы - помогли китайцы https://www.cnblogs.com/protogenoi/p/9779405.html

Попробуйте этот патч или поискать что то подобное для своего.

Так же помогает применение софтовых патчей из еррат к этим чипам.

Изменено пользователем fguy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Dimidrol сказал:

А как сопрягаете в PL физику и PS? Случаем там ядро GMII2RGMII адаптера не стоит?

Просто в свойствах PS включил ethernet0 на EMIO, на блок-дизайне появились выводы эзернета.

RXD[7:4] посадил на 0, rxd[3:0] - на выход физики,

CRS посадил на 1,

RX_ERR и RX_COL посадил на 0,

RX_DV - на RX_DV физики,

TXE - на TXE физики,

TXD[3:0] - на TXD физики. TXD[7:4] - в воздухе.

TX_CLK, RX_CLK - на соответствующие клоки физики

Никаких адаптеров не ставил. По такой же схеме с таким же чипом физики (KSZ8041) сделано сейчас на ультраскейле + (тоже вытащил ethernet на EMIO). Все работает без проблем. GMII и RGMII - это ведь гигабитные? У меня не гигабитный трансивер, 10/100 мбит. У меня просто MII.

 

Цитата

KSZ чипы не без причуд - я на другом имел проблемы - помогли китайцы https://www.cnblogs.com/protogenoi/p/9779405.html

Попробуйте этот патч или поискать что то подобное для своего.

Так же помогает применение софтовых патчей из еррат к этим чипам.

За KSZ8041 никаких причуд не замечал. Он у меня в серии стоит, уже штук >200, полет нормальный.

KSZ8041 вообще через MDIO не конфигурирую, конфигурация задается подтягивающими резисторами при сбросе, если Вы об этом. Поэтому тут никакие патчи не спасут. Да и ILA показывает, что байты (вернее, ниблы) верные с физики приходят. Тут вопрос похоже именно в настройке EMAC у PS. 

Вообще, передача работает - драйвер выдает правильный DHCP - пакет-запрос на  выдачу адреса. А вот прерываний приема нет, хоть убейся.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, gosha-z сказал:

Ух как лихо-то. Вообще работать не должно...

Да вроде написано было в доке, что должно, MII поддерживается. Сейчас еще проверюсь...

А у меня поток не больше 4 мбит, зачем мне  гигабиты? Только сами трансиверы дороже. Давно хочу переделать на RMII, но руки никак не доходят.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, alexPec said:

Только сами трансиверы дороже.

Посмотрел в "Электронщика". KSZ8041 - 200-300р., DP83867R - 350-400р. Вы хотите сказать, что это существенная разница в данном случае???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 минут назад, gosha-z сказал:

Посмотрел в "Электронщика". KSZ8041 - 200-300р., DP83867R - 350-400р. Вы хотите сказать, что это существенная разница в данном случае???

Да дело больше то не в цене, они в серии проверены и проблем не обнаружено. Не охота напарываться на "побочные эффекты" других чипов. До этого, например, у RTL8201 был большой минус - он грелся (но не это главное) и в радиусе 0,5-1м GPS и глонас забивал :). Разводка была на многослойке, минимальными длинами проводников, поэтому излучение от платы исключено. Замена чипа "открыла" глаза GPSу и Глонасу...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, alexPec said:

Не охота напарываться на "побочные эффекты" других чипов

Xilinx сам пользует либо Marvel либо TI. Ни о каких Realtek/Micrel речи никогда не шло. У меня сейчас на одной радиоплате стоит 83867 - ничего лишнего от него не свистит и не шумит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...