реклама на сайте
подробности

 
 
 
Closed TopicStart new topic
> Прием данных на PC с ПЛИС по ethernet, на TE0600-01IVF
lastpoint
сообщение Aug 1 2012, 19:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 1-08-12
Из: Смоленск
Пользователь №: 72 975



Доброго времени суток. Стоит задача реализовать прием передачу данных с 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-стек, тем более, что натыкался на форуме, что это не обязательно в такой ситуации. Буду рад любой информации. Заранее спасибо.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Aug 1 2012, 20:02
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Автомат генерирующий 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
Go to the top of the page
 
+Quote Post
lastpoint
сообщение Aug 2 2012, 08:52
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 1-08-12
Из: Смоленск
Пользователь №: 72 975



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


Сообщение отредактировал lastpoint - Aug 2 2012, 08:52
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Aug 2 2012, 09:36
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

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


Удачи! Rob.


Go to the top of the page
 
+Quote Post

Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 03:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016