flawless2504 0 3 июня, 2016 Опубликовано 3 июня, 2016 · Жалоба Доброго времени суток! Мне необходимо сделать пассивный сниффер 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 и уже после на плис. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flawless2504 0 3 июня, 2016 Опубликовано 3 июня, 2016 · Жалоба Есть немного другая постановка вопроса. Можно ли подключить 88e111 к RJ, установить его конфигурацию, например, через входной вектор, и с его выхода получать поток постоянно сменяющихся данных? (не важно как он организован там, главное поток с эзернета?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
10ff 0 3 июня, 2016 Опубликовано 3 июня, 2016 · Жалоба 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 - это самый быстрый и проверенный способ. Дальше разбирайте пакеты вручную. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 6 июня, 2016 Опубликовано 6 июня, 2016 · Жалоба Диплом, что ли? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lutovid 0 10 июня, 2016 Опубликовано 10 июня, 2016 (изменено) · Жалоба 1)Если поток 1Гб/с и нагрузка 100%(что не свойственно обычно сетям, но если все же идеализировать) то microblaze не сможет обработать этот поток 2)Если отловить определенные пакеты с фиксированным заголовком< то проблем нет и мак не нужен - можно ловить с выхода phy, но если вы хотите ловить все пакеты подряд, тут могут возникнуть сложности(это если вы хотите понять что конкретно это за фрейм и как-то на него отреагировать) ХОТЯ если вам нужно просто отловить фрейм, вы можете задетектировать его при помощи выходов PCS/PMA тут уж совсем ничего сложного В общем все зависит от того, что нужно делать с пакетами Изменено 10 июня, 2016 пользователем Lutovid Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flawless2504 0 12 июня, 2016 Опубликовано 12 июня, 2016 · Жалоба 1) Можно, но зависит от того, что вы хотите с этими пакетами дальше делать. 2) Можно и IP-ядро, а можно и самому разбирать пакет. Это не сложно. 3) "SFP с переходником на эзернет" называется Copper SFP. Можно и так сделать, если у вас этот Copper SFP имеется, но это чуть посложнее. Включайте 88E1111, который на плате и запускайте корку Ethernet 1000BASE-X PCS/PMA or SGMII - это самый быстрый и проверенный способ. Дальше разбирайте пакеты вручную. Нужно определенные пакеты вытащить, и сравнить их со своим счетчиком. Если верно, то норм, если нет, то мб светодиодик включить максимум. Не сложно говорите... Не получается никак. Да, Copper SFP имеется. Идею понял, но вопрос по реализации: как подключить эту корку 88e1111? Я тоже всё о ней думал. Диплом, что ли? Нет, не диплом. Но достаточно близко 1)Если поток 1Гб/с и нагрузка 100%(что не свойственно обычно сетям, но если все же идеализировать) то microblaze не сможет обработать этот поток 2)Если отловить определенные пакеты с фиксированным заголовком< то проблем нет и мак не нужен - можно ловить с выхода phy, но если вы хотите ловить все пакеты подряд, тут могут возникнуть сложности(это если вы хотите понять что конкретно это за фрейм и как-то на него отреагировать) ХОТЯ если вам нужно просто отловить фрейм, вы можете задетектировать его при помощи выходов PCS/PMA тут уж совсем ничего сложного Нет, нагрузка далеко не 100%. Да, с определенным заголовком. Broadcast вроде как. Вот как раз вопрос в том, как задетектировать его с выхода PCS/PMA) Литература мне слабо помогает. Поэтому обратился за помощью к форуму умных людей:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lutovid 0 13 июня, 2016 Опубликовано 13 июня, 2016 (изменено) · Жалоба Нет, нагрузка далеко не 100%. Да, с определенным заголовком. Broadcast вроде как. Вот как раз вопрос в том, как задетектировать его с выхода PCS/PMA) Литература мне слабо помогает. Поэтому обратился за помощью к форуму умных людей:) Броадкаст это FFFFFFFFFFFF в поле мак дестинэйшн, он всегда идет после преамбулы - и того - сдвиговый регистр размером 8+6 байт(преамбула и мак) и один if... вот и решение(если я вас правильно понял) https://en.wikipedia.org/wiki/Ethernet_frame - тут картинка для наглядности На сайте ксайлинкса есть пример с ethernet, кстати Изменено 13 июня, 2016 пользователем Lutovid Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flawless2504 0 16 июня, 2016 Опубликовано 16 июня, 2016 · Жалоба Броадкаст это FFFFFFFFFFFF в поле мак дестинэйшн, он всегда идет после преамбулы - и того - сдвиговый регистр размером 8+6 байт(преамбула и мак) и один if... вот и решение(если я вас правильно понял) https://en.wikipedia.org/wiki/Ethernet_frame - тут картинка для наглядности На сайте ксайлинкса есть пример с ethernet, кстати Угу, я предполагал примерно такой ход решения. Спасибо А пример с сайта ксайлинкса можно попросить? (А то не знаю, что именно искать и соответственно кучу всего нахожу) Еще вопрос. Выход PCS/PMA это же Marvel 88e1111? Его нужно настраивать по MDIO, предварительно сбросив ресетом также? И куда его подключать надо, а то интуитивно непонятно как подсоединять контакты с выхода и какие клоки подавать (их там аж 4 нужно)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flawless2504 0 16 июня, 2016 Опубликовано 16 июня, 2016 · Жалоба 1) Можно, но зависит от того, что вы хотите с этими пакетами дальше делать. 2) Можно и IP-ядро, а можно и самому разбирать пакет. Это не сложно. 3) "SFP с переходником на эзернет" называется Copper SFP. Можно и так сделать, если у вас этот Copper SFP имеется, но это чуть посложнее. Включайте 88E1111, который на плате и запускайте корку Ethernet 1000BASE-X PCS/PMA or SGMII - это самый быстрый и проверенный способ. Дальше разбирайте пакеты вручную. Нужно ли подключать модуль 1000BASE-X PCS/PMA or SGMII к 7series fpga transciever, чтобы получать данные с эзернета? или достаточно сразу указать с выхода модуля порты микросхемы марвела? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 16 июня, 2016 Опубликовано 16 июня, 2016 · Жалоба Нужно ли подключать модуль 1000BASE-X PCS/PMA or SGMII к 7series fpga transciever, чтобы получать данные с эзернета? или достаточно сразу указать с выхода модуля порты микросхемы марвела? Подключение будет следующим: Tri-Mode Ethernet MAC --( GMII )--> 1G/2.5G Ethernet PCS/PMA or SGMII --( SGMII )--> 88E1111 Для kc705 можно использовать и: Tri-Mode Ethernet MAC --( GMII )--> 88E1111 Tri-Mode Ethernet MAC --( RGMII )--> 88E1111 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flawless2504 0 17 июня, 2016 Опубликовано 17 июня, 2016 · Жалоба Подключение будет следующим: Tri-Mode Ethernet MAC --( GMII )--> 1G/2.5G Ethernet PCS/PMA or SGMII --( SGMII )--> 88E1111 Для kc705 можно использовать и: Tri-Mode Ethernet MAC --( GMII )--> 88E1111 Tri-Mode Ethernet MAC --( RGMII )--> 88E1111 Спасибо, ваш ответ был очень необходим мне) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flawless2504 0 7 июля, 2016 Опубликовано 7 июля, 2016 · Жалоба ...Включайте 88E1111, который на плате и запускайте корку Ethernet 1000BASE-X PCS/PMA or SGMII. Дальше разбирайте пакеты вручную. А подскажите, пожалуйста, Как включить то эту корку? У меня не получается ...Включайте 88E1111, который на плате и запускайте корку Ethernet 1000BASE-X PCS/PMA or SGMII. Дальше разбирайте пакеты вручную. А подскажите, пожалуйста, Как включить то эту корку? У меня не получается Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
10ff 0 7 июля, 2016 Опубликовано 7 июля, 2016 · Жалоба А подскажите, пожалуйста, Как включить то эту корку? У меня не получается А подскажите, пожалуйста, Как включить то эту корку? У меня не получается Открываете 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. Фуф...расписался... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flawless2504 0 7 июля, 2016 Опубликовано 7 июля, 2016 · Жалоба ВСЁ! Получили человеческий интерфейс GMII (gmii_txd0, gmii_rxd0, gmii_tx_en0, gmii_rx_dv0). С ним и работайте, принимайте/отправляйте пакеты. Не забудьте только на плате KC705 выставить джамперы, задающие режим работы SGMII для марвела 88E1111. Фуф...расписался... Спасибо большое) Многое разъяснили для меня :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться