Я разрабатываю логическое ядро для выполнения передачи данных между ПЛИС и ПК через Ethernet, используя LAN8710 PHY на моей плате FPGA.Передача данных Ethernet между FPGA-ПК
Я достиг передачи некоторых пакетов данных UDP с FPGA на ПК. Это простое ядро, которое соответствует требованиям передачи PHY. Он создает UDP-пакет и переносит его на ПК.
Чтобы проверить прием на ПК, я использую Wireshark, и, как сказано выше, я получаю пакеты правильно. Я проверил прием с помощью простого UDP-приемника, написанного мной.
Но я заметил, что получаю эти пакеты только тогда, когда Wireshark работает на ПК. Я имею в виду, что если Wireshark включен, мое приложение также получает пакеты, и счетчик полученных пакетов следующего изображения увеличивается. (Эта фотография не моя, просто один из Интернета)
http://i.stack.imgur.com/wsChT.gif
Если я закрываю Wireshark, компьютер прекращает прием пакетов и счетчик принятых пакетов прекращается. Мое приложение также перестает получать.
Будучи новичком в сетевых темах, я подозреваю, что эта проблема связана с ПК. Похоже, Wireshark - это «открытие/закрытие» канала связи Ethernet, или что-то в этом роде. Кто-нибудь знает об этой проблеме?
Чтобы создать функциональное ядро для передачи данных между ПК и ПЛИС, я разработал ядро для передачи и приема пакетов UDP. Следующим шагом будет реализация ARP (чтобы, как я понял, ПК определил мою панель FPGA). Какие протоколы необходимы для осуществления полнодуплексной передачи данных между этими двумя устройствами?
Большое спасибо заранее,
Migue.
Благодарим за отзыв Karthik. Как я могу проверить прерывание приема на ПК? – jmigue
Это зависит от вашего процессора и дизайна. Соответственно, вам может потребоваться проверить соответствующие счетчики прерываний или иметь собственные счетчики или вести журналы отладки. –