Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прием данных на PC с ПЛИС по ethernet
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
lastpoint
Доброго времени суток. Стоит задача реализовать прием передачу данных с Spartan-6( http://shop.trenz-electronic.de/catalog/pr...roducts_id=1146 ) по Ethernet. PHY-уровень реализован Marvell 88E1111, МАС-уровень - 10_100_1000 Mbps tri-mode ethernet MAC с opencore. Передача осуществляется точка в точку, на расстояние до 5 м, данные отсылаются фиксированной длинны по 512 байт. Каким образом легче всего генерировать UDP-пакеты так, чтобы они принимались PC под Windows7, без особых драйверов? help.gif
Не хочется использовать Microblaze, поднимать полный TCP/IP-стек, тем более, что натыкался на форуме, что это не обязательно в такой ситуации. Буду рад любой информации. Заранее спасибо.
RobFPGA
Приветствую!

Автомат генерирующий UDP пакеты про заданным параметрам (Еthernet, IP адреса, UDP порты) пишется за пол дня.
Цепляется все к стандартной MAC корке.
Немного больше телодвижений и можно конфигурить/управлять параметрами передачи парся (не менее простым автоматом) принимаемые пакеты определенного формата.

У нас на такой плате как у Вас через 1G Ethernet подобным образом гонится поток в ~80 MByte/s.
А на другой плате через 3 параллельно работающих 10G Ethernet качает >2.4 GByte/s.
На PC все принимается через обычные sokets.

Для чуть большего геморроя можно поискать свободные корки ARP/IP/UDP стека - на opensouce вроде точно есть.

Успехов! Rob.
Update : http://opencores.org/project,udp_ip__core
lastpoint
RobFPGA, спасибо за информацию sm.gif , только в http://opencores.org/project,udp_ip__core
[/quote] не ясно как менять эти самые "заданные параметры". У меня задача ограничивается 100Mb - максимум.
То что он пишетя быстро - более чем уверен, если только знать, что писать, а для меня это новая тема wacko.gif
RobFPGA
Приветствую!

Ищете в сети формат Ethernet, IP и UDP пакетов. В простейшем случае (IP4, без опций, параметров и VLANов ) там всего то 14 байт Ethernet, 20 байт IP и 8 байт UDP.
Если параметры передачи (адреса, порты, размер данных) задаются статически - то вбиваете все в ROM табличку. Единственно что нужно менять от пакета к пакету - так это значение ( инкрементировать ) IP Identification и пересчитывать контрольную сумму IP заголовка - но так как сумма эта считается очень просто а в заголовке меняется только IP Identification то можно схитрить и тоже просто инкрементировать начальное посчитанное значение. Для данных контрольную сумму можно не считать.


Удачи! Rob.


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.