Перейти к содержанию
    

Ethernet на Altera DE1-SoC

Привет.

 

Разбираюсь с тем как работает 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 может быть кто-то может поделиться чем-то готовым иди дать ссылку на более подробную статью? Я совсем не понимаю куда мне копать и что конкретно пытаться реализовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала начните изучать 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.

Полностью руками без готового стека :) Так быстрее придет понимание структуры пакетов :)

Для анализа посылаемых/принимаемых пакетов рекомендую использовать Wireshark.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

В качестве первого варианта можно реализовать только ARP и ICMP.

Полностью руками без готового стека :)

Так быстрее придет понимание структуры пакетов.

....

 

Да, а чтобы быстрее понять как, например, работает Linux -- нужно сначала написать свою ОС :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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.. - это они вылазят из него B)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет.

 

Разбираюсь с тем как работает 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, ничего вы вышло, квартус ругается что не может поставить туда нужные буферы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, а чтобы быстрее понять как, например, работает Linux -- нужно сначала написать свою ОС :)

 

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

 

Для начала начните изучать 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.

Полностью руками без готового стека :) Так быстрее придет понимание структуры пакетов :)

Для анализа посылаемых/принимаемых пакетов рекомендую использовать Wireshark.

 

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

 

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.. - это они вылазят из него B)

 

Спасибо, почитаю :)

 

В DE1-SoC Ethernet подключен только на HPS стороне. Соответственно надо делать все на HPS, TSE MAC IP вам не нужен. Ну или по крайней мере может быть я не осилил просто задачу - пытался использовать TSE MAC, подключившись к ногам HPS через LoanIo, ничего вы вышло, квартус ругается что не может поставить туда нужные буферы.

 

http://stackoverflow.com/a/40341399/691960 вот тут чувак говорит что у него работает. Но мне не принципиально будет ли это FPGA или HPS. Код на Си написать не проблема, надо только понять как это все сделать и как залить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

http://stackoverflow.com/a/40341399/691960 вот тут чувак говорит что у него работает. Но мне не принципиально будет ли это FPGA или HPS. Код на Си написать не проблема, надо только понять как это все сделать и как залить.

У него там кастомный IP Core, мне нужен был именно TSE MAC. В обычном режиме пины нормально пробрасываются, проверял на лампочке и кнопке :) Если нужна будет информация о том как сконфигурировать pin multiplexing в HPS для этой задачи - пишите, расскажу что знаю

Изменено пользователем Burenkov Sergey

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

http://stackoverflow.com/a/40341399/691960 вот тут чувак говорит что у него работает.

 

У чувака то работает, но доступа к DDR буферам у него все равно нет, поэтому 1 Гбит у него не получается и на Triple Speed Ethernet не получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У него там кастомный IP Core, мне нужен был именно TSE MAC. В обычном режиме пины нормально пробрасываются, проверял на лампочке и кнопке :) Если нужна будет информация о том как сконфигурировать pin multiplexing в HPS для этой задачи - пишите, расскажу что знаю

 

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

 

У чувака то работает, но доступа к DDR буферам у него все равно нет, поэтому 1 Гбит у него не получается и на Triple Speed Ethernet не получится.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...