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

 
 
> ZYNQ Ethernet через EMIO, Проблема: пакеты не попадают в PS из PL
Gothard
сообщение Sep 19 2014, 13:19
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Всем доброго времени суток!

Пытаюсь пробросить один из Ethernet интерфейсов Zynq через PL(EMIO) на PHY (88E1512). Т.е. PHY подключен к плисовой части Zynqа, необходимо чтобы он был доступен через MAC процессорной части.

Добился некоторого успеха - PHY управляется по MIIM, пакеты выдаются в сеть через PHY (на текущий момент только ARP...). Пакеты из сети в плисовую часть попадают, но такое ощущение, что в процессорную не попадают или где-то прибиваются.
Наблюдаю чипскопом сигналы, которые подключены к RX процессорной части - все ок, пакеты есть, содержимое совпадает с тем, что вижу в WireShark, вот только что CRC пока не проверял.
Еще немного подробностей - линк гигабитный, уже дошел до того, что пересинхронизую пакеты от PHY на внутренние 125 МГц, сформированные в плисе, те же, что используются и для выдачи TX - ситуация не меняется.

Видимо не хватает какой-то магии.

Плис грузится из FSBL, проверяю из U-Bootа пингами.
Проект плиса в Vivado 2014.2
FSBL собирался из SDK 2013.3 по данным из Vivado (может тут нестыковочка?... но рабочий FSBL в 2014.2 у меня так и не собрался пока)
Интерфейс с PHY - RGMII, используется блок, проверенный в других проектах.

Буду очень благодарен за советы. Спасибо!

p.s. на сигнал RX_ERR в GMII интерфейсе процессорной подается 0, но я так понимаю что с этим все должно быть ОК
p.s.2: пытался в Block Design подключить IP_CORE "GMII_to_RGMII" от LogiCore к Zynq_Processing_System, он вроде бы как раз для этих целей, но Vivado выдает ошибку при генерации обертки для Block Design, поэтому не удалось проверить в такой конфигурации.
p.s.3: на этой же плате есть второй PHY, который напрямую подключен к Zynq. Так вот с ним все замечательно работает. Ожидал, что в проекте Vivado переключу тот же самый MAC с внешнего PHY на EMIO, и будет достаточно только пересобрать FSBL, не меняя U-Boot (ну и плисовую часть собрать соответственно). Видимо не все так просто...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dm.pogrebnoy
сообщение Oct 30 2014, 11:39
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Приветствую. Собрали мы наконец плату.

И что интересно, столкнулся я с той же самой проблемой. На прием не приходит ничего. В логическом анализаторе видно что пакеты уходят-приходят, но процессор их не видит.

Я запускаю пока стандартный пример xemacps_example_intr_dma. Пока что поменял только значение slcr.GEM0_CLK_CTRL.SRCSEL на 0x4 что бы включить такт передатчика с EMIO. После этого начали отправляться пакеты через loop в PHY, и на компьютере я его вижу если отключить закольцовку.

slcr.GEM0_RCLK_CTRL выставлен в 0x11 что вроде бы правильно, но прерывания на прием пакета не случается. Так и не понял чем дело у вас закончилось. Использую GMII2RGMII корку.


--------------------
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 21:40
Рейтинг@Mail.ru


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