Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ethernet на Altera DE1-SoC
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
vasilia
Привет.

Разбираюсь с тем как работает Ethernet и столкнулся с проблемой непонимания что читать. Нашел что в Quartus QSys можно использовать IP Core Triple Speed Ethernet и тем самым получить доступ из FPGA Fabric. Так же нашел что со стороны HPS можно создать baremetal прошивку(приложение?) на основе которой можно будет работать с ethernet. Хотелось бы реализовать ARP -> IP/ICMP чтобы хотя бы видеть работы ping.

Нашел http://kit-e.ru/preview/pre_121_4_14_FPGA_dr.php#lit_4 https://www.altera.com/support/support-reso...-tse-sgdma.html и https://rocketboards.org/foswiki/view/Proje...etDesignExample может быть кто-то может поделиться чем-то готовым иди дать ссылку на более подробную статью? Я совсем не понимаю куда мне копать и что конкретно пытаться реализовать.
BSACPLD
Для начала начните изучать RFC на ARP, ICMP и UDP.
https://tools.ietf.org/html/rfc791
https://tools.ietf.org/html/rfc826
https://tools.ietf.org/html/rfc792
https://www.ietf.org/rfc/rfc768.txt
Затем когда разберетесь со структурой пакета попробуйте собрать следующую систему:
Ethernet PHY <-> IP Ethernet MAC <-> IP CPU <-> IP UART (консоль для отладки)
В качестве первого варианта можно реализовать только ARP и ICMP.
Полностью руками без готового стека sm.gif Так быстрее придет понимание структуры пакетов sm.gif
Для анализа посылаемых/принимаемых пакетов рекомендую использовать Wireshark.
des333
Цитата(BSACPLD @ Dec 12 2016, 10:48) *
...
В качестве первого варианта можно реализовать только ARP и ICMP.
Полностью руками без готового стека sm.gif
Так быстрее придет понимание структуры пакетов.
....


Да, а чтобы быстрее понять как, например, работает Linux -- нужно сначала написать свою ОС sm.gif
Kuzmi4
2 vasilia
IP Core Triple Speed Ethernet:
Triple Speed Ethernet Data Path Reference Design
+
Single-Port Triple-Speed Ethernet and On-Board PHY Chip Reference Design

А все вот эти вот ..tools.ietf.org.. - это они вылазят из него cool.gif
Burenkov Sergey
Цитата(vasilia @ Dec 12 2016, 05:04) *
Привет.

Разбираюсь с тем как работает Ethernet и столкнулся с проблемой непонимания что читать. Нашел что в Quartus QSys можно использовать IP Core Triple Speed Ethernet и тем самым получить доступ из FPGA Fabric. Так же нашел что со стороны HPS можно создать baremetal прошивку(приложение?) на основе которой можно будет работать с ethernet. Хотелось бы реализовать ARP -> IP/ICMP чтобы хотя бы видеть работы ping.

Нашел http://kit-e.ru/preview/pre_121_4_14_FPGA_dr.php#lit_4 https://www.altera.com/support/support-reso...-tse-sgdma.html и https://rocketboards.org/foswiki/view/Proje...etDesignExample может быть кто-то может поделиться чем-то готовым иди дать ссылку на более подробную статью? Я совсем не понимаю куда мне копать и что конкретно пытаться реализовать.


В DE1-SoC Ethernet подключен только на HPS стороне. Соответственно надо делать все на HPS, TSE MAC IP вам не нужен. Ну или по крайней мере может быть я не осилил просто задачу - пытался использовать TSE MAC, подключившись к ногам HPS через LoanIo, ничего вы вышло, квартус ругается что не может поставить туда нужные буферы.
vasilia
Цитата(des333 @ Dec 12 2016, 11:05) *
Да, а чтобы быстрее понять как, например, работает Linux -- нужно сначала написать свою ОС sm.gif


В общих чертах я знаю как работает Linux, там есть kgdb/ftrace, сейчас еще DTrace появился. В общем разобраться как работает при желании можно.

Цитата(BSACPLD @ Dec 12 2016, 10:48) *
Для начала начните изучать RFC на ARP, ICMP и UDP.
https://tools.ietf.org/html/rfc791
https://tools.ietf.org/html/rfc826
https://tools.ietf.org/html/rfc792
https://www.ietf.org/rfc/rfc768.txt
Затем когда разберетесь со структурой пакета попробуйте собрать следующую систему:
Ethernet PHY <-> IP Ethernet MAC <-> IP CPU <-> IP UART (консоль для отладки)
В качестве первого варианта можно реализовать только ARP и ICMP.
Полностью руками без готового стека sm.gif Так быстрее придет понимание структуры пакетов sm.gif
Для анализа посылаемых/принимаемых пакетов рекомендую использовать Wireshark.


Про pcap/tcpdump/Wireshark я в курсе. Спасибо. Меня именно хардверная часть интересует sm.gif

Цитата(Kuzmi4 @ Dec 12 2016, 11:14) *
2 vasilia
IP Core Triple Speed Ethernet:
Triple Speed Ethernet Data Path Reference Design
+
Single-Port Triple-Speed Ethernet and On-Board PHY Chip Reference Design

А все вот эти вот ..tools.ietf.org.. - это они вылазят из него cool.gif


Спасибо, почитаю sm.gif

Цитата(Burenkov Sergey @ Dec 12 2016, 11:31) *
В DE1-SoC Ethernet подключен только на HPS стороне. Соответственно надо делать все на HPS, TSE MAC IP вам не нужен. Ну или по крайней мере может быть я не осилил просто задачу - пытался использовать TSE MAC, подключившись к ногам HPS через LoanIo, ничего вы вышло, квартус ругается что не может поставить туда нужные буферы.


http://stackoverflow.com/a/40341399/691960 вот тут чувак говорит что у него работает. Но мне не принципиально будет ли это FPGA или HPS. Код на Си написать не проблема, надо только понять как это все сделать и как залить.
Burenkov Sergey
Цитата(vasilia @ Dec 12 2016, 13:21) *
http://stackoverflow.com/a/40341399/691960 вот тут чувак говорит что у него работает. Но мне не принципиально будет ли это FPGA или HPS. Код на Си написать не проблема, надо только понять как это все сделать и как залить.

У него там кастомный IP Core, мне нужен был именно TSE MAC. В обычном режиме пины нормально пробрасываются, проверял на лампочке и кнопке sm.gif Если нужна будет информация о том как сконфигурировать pin multiplexing в HPS для этой задачи - пишите, расскажу что знаю
EgorTol
Цитата(vasilia @ Dec 12 2016, 13:21) *
http://stackoverflow.com/a/40341399/691960 вот тут чувак говорит что у него работает.


У чувака то работает, но доступа к DDR буферам у него все равно нет, поэтому 1 Гбит у него не получается и на Triple Speed Ethernet не получится.
vasilia
Цитата(Burenkov Sergey @ Dec 12 2016, 14:36) *
У него там кастомный IP Core, мне нужен был именно TSE MAC. В обычном режиме пины нормально пробрасываются, проверял на лампочке и кнопке sm.gif Если нужна будет информация о том как сконфигурировать pin multiplexing в HPS для этой задачи - пишите, расскажу что знаю


Я что-то натыкал по примерам. Случайно чувак из ARM дал контакты чувака из Altera который может помочь с примерами. Жду чего он ответит sm.gif

Цитата(EgorTol @ Dec 16 2016, 14:58) *
У чувака то работает, но доступа к DDR буферам у него все равно нет, поэтому 1 Гбит у него не получается и на Triple Speed Ethernet не получится.


Мне не принципиально будет ли это FPGA или HPS. Мне нужен в любом виде слой выше PHY. Будет ли это готовый (G)MII IP core или придется самому писать значения не имеет. Да и гигабит тоже не принципиален, может быть только VLAN поковырять имеет смысл. У меня это что-то типа хобби sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.