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

 
 
> Kintex-7, Сниффер Ethernet
TimeToSleep
сообщение Jun 3 2016, 08:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 13-12-14
Пользователь №: 84 106



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

Мне необходимо сделать пассивный сниффер Ethernet'a на плате Kintex-7 (kc705) на приём всех пакетов и отловления определенных широковещательных кадров из потока(VHDL, Xilinx).
Скорость 1Gb\s, протокол tcp подобный (tcp\ip почти что, насколько я понял), GMII.
(На плате имеется PHY, но я честно говоря не понимаю как его подключать)

1) Можно обойтись без процессора (Microblaze'a)?
2) Можно ли просто создать ip-core'ку Three-Mode-Ethernet-Mac с выхода которой сразу получать слова-выход эзернет потока? Или я плохо понимаю структуру решения? (новичок в FPGA с опытом студента, но без опыта работы по сути)
3) Есть разница, если отлавливать сразу через Ethernet вход или через SFP с переходником на эзернет? По схематике после SFP данные сразу идут на fpga, а после эзернет входа идёт микросхемa PHY и уже после на плис.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AndreiUS
сообщение Jun 3 2016, 13:16
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 23-12-08
Из: Тверь
Пользователь №: 42 694



Цитата(TimeToSleep @ Jun 3 2016, 11:16) *
1) Можно обойтись без процессора (Microblaze'a)?
2) Можно ли просто создать ip-core'ку Three-Mode-Ethernet-Mac с выхода которой сразу получать слова-выход эзернет потока? Или я плохо понимаю структуру решения? (новичок в FPGA с опытом студента, но без опыта работы по сути)
3) Есть разница, если отлавливать сразу через Ethernet вход или через SFP с переходником на эзернет? По схематике после SFP данные сразу идут на fpga, а после эзернет входа идёт микросхемa PHY и уже после на плис.


1) Можно, но зависит от того, что вы хотите с этими пакетами дальше делать.
2) Можно и IP-ядро, а можно и самому разбирать пакет. Это не сложно.
3) "SFP с переходником на эзернет" называется Copper SFP. Можно и так сделать, если у вас этот Copper SFP имеется, но это чуть посложнее. Включайте 88E1111, который на плате и запускайте корку Ethernet 1000BASE-X PCS/PMA or SGMII - это самый быстрый и проверенный способ. Дальше разбирайте пакеты вручную.
Go to the top of the page
 
+Quote Post
TimeToSleep
сообщение Jul 7 2016, 06:50
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 13-12-14
Пользователь №: 84 106



Цитата(AndreiUS @ Jun 3 2016, 16:16) *
...Включайте 88E1111, который на плате и запускайте корку Ethernet 1000BASE-X PCS/PMA or SGMII. Дальше разбирайте пакеты вручную.

А подскажите, пожалуйста, Как включить то эту корку? У меня не получается

Цитата(AndreiUS @ Jun 3 2016, 16:16) *
...Включайте 88E1111, который на плате и запускайте корку Ethernet 1000BASE-X PCS/PMA or SGMII. Дальше разбирайте пакеты вручную.

А подскажите, пожалуйста, Как включить то эту корку? У меня не получается
Go to the top of the page
 
+Quote Post
AndreiUS
сообщение Jul 7 2016, 11:26
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 23-12-08
Из: Тверь
Пользователь №: 42 694



Цитата(TimeToSleep @ Jul 7 2016, 09:50) *
А подскажите, пожалуйста, Как включить то эту корку? У меня не получается


А подскажите, пожалуйста, Как включить то эту корку? У меня не получается


Открываете Core Generator, находите эту корку, выставляете в настройках на 1-ой странице SGMII. На второй странице снимаете галку с "MDIO MANAGEMENT INTERFACE". Все остальное оставляете без изменений. Генерируете корку кнопкой "Finish". После генерации в IP-каталоге у вас появится вериложный топ-модуль с названием что-то типа sgmii_IP_example_design. Его и используйте в своем проекте, там уже все готово и настроено, осталось только подключить в ваш верхний модуль.
Инициализация у меня сделана так:
Код
sgmii_IP_example_design SGMII_MAC (
    .independent_clock(clk200),
    .reset(reset_reg),
    .gt0_qplloutclk_i(),
    .gt0_qplloutrefclk_i(),
    .gtrefclk(GTXQ2_left_i),
    .userclk2(userclk2),
    .txp0(txp0),
    .txn0(txn0),
    .rxp0(rxp0),
    .rxn0(rxn0),

    .gmii_txd0(gmii_txd0),
    .gmii_tx_en0(gmii_tx_en0),
    .gmii_tx_er0(),
    .gmii_rxd0(gmii_rxd0),
    .gmii_rx_dv0(gmii_rx_dv0),
    .gmii_rx_er0(),
    .configuration_vector0(5'b10000),
    .an_interrupt0(),
    .an_adv_config_vector0(),
    .an_restart_config0(),
    .link_timer_value0(9'b000110010),
    .speed0_is_10_100(1'b0),
    .speed0_is_100(1'b0),
    .status_vector0(status_vector0),
    .signal_detect0(1'b1)
)


ВСЁ! Получили человеческий интерфейс GMII (gmii_txd0, gmii_rxd0, gmii_tx_en0, gmii_rx_dv0). С ним и работайте, принимайте/отправляйте пакеты.
Не забудьте только на плате KC705 выставить джамперы, задающие режим работы SGMII для марвела 88E1111.
Фуф...расписался...
Go to the top of the page
 
+Quote Post
TimeToSleep
сообщение Jul 7 2016, 12:00
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 13-12-14
Пользователь №: 84 106



Цитата(AndreiUS @ Jul 7 2016, 14:26) *
ВСЁ! Получили человеческий интерфейс GMII (gmii_txd0, gmii_rxd0, gmii_tx_en0, gmii_rx_dv0). С ним и работайте, принимайте/отправляйте пакеты.
Не забудьте только на плате KC705 выставить джамперы, задающие режим работы SGMII для марвела 88E1111.
Фуф...расписался...

Спасибо большое)
Многое разъяснили для меня rolleyes.gif

Go to the top of the page
 
+Quote Post



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

 


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


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