Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ethernet UDP/IP корки
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
lelik
Кто-нибудь использовал UDP/IP корку? Есть ли такая? На opencores лежит Ethernet корка как я понял только MAC уровня. cranky.gif
Postoroniy_V
Цитата(lelik @ Nov 29 2005, 11:39) *
Кто-нибудь использовал UDP/IP корку? Есть ли такая? На opencores лежит Ethernet корка как я понял только MAC уровня. cranky.gif

ну а кто Вам мешает к этой корке подцепить свой проц, nios например
поднять ecos или uclinux и шлите свои UDP
lelik
Идея интересная. smile.gif
Только есть несколько НО:
1) С ниосом не работал, следовательно, много времени на усвоение уйдёт.
2) Сомнения в скорострельности. Меньше 100 МГц, если ещё повесить остальные задачи может не потянуть (cyclon, cyclonII)
3) Возможность использовать NIOS в Xilinx. Удалось ли кому-нить декриптнуть исходники ниоса и прикрутить их к ксалинксу? Есть подводные камни?
iosifk
Цитата(lelik @ Nov 29 2005, 13:24) *
Только есть несколько НО:
2) Сомнения в скорострельности. Меньше 100 МГц, если ещё повесить остальные задачи может не потянуть


BlackFin с ядром МАС? Этот потянет все.
Postoroniy_V
тогда уж берите au1000 mips32 от AMD
у него 2 MAC-a
и много чего ещё
lelik
Т.е. если не нужен лишний геморрой, лучше не решать эту задачу на плис
Postoroniy_V
ну да, елси не хочется гемора проц с мак внутри и усё
3.14
Цитата(lelik @ Nov 29 2005, 14:24) *
Идея интересная. smile.gif
Только есть несколько НО:
1) С ниосом не работал, следовательно, много времени на усвоение уйдёт.
2) Сомнения в скорострельности. Меньше 100 МГц, если ещё повесить остальные задачи может не потянуть (cyclon, cyclonII)
3) Возможность использовать NIOS в Xilinx. Удалось ли кому-нить декриптнуть исходники ниоса и прикрутить их к ксалинксу? Есть подводные камни?

NIOS в Xilinx не имеет смысла (все равно что MicroBlaze в Altera).
MicroBlaze (50МГц) под управлением uClinux c коркой EthernetLite, обмен файлами по FTP у меня показывает ~20кбайт/сек.
Если нужна производительность, выбирайте блекфин, AD здорово для него uClinux продвигает, у xilinx этим занимается группа энтузиастов во главе с ученых мужем.
lelik
ОК. Спасибо за информацию! 20к маловато будет smile.gif . Для наших задач udp/ip 8 мегабит полный дуплекс нужно. Со внешними процами всё понятно. Было интересно рассмотреть вариант использования на плисах.
Pavel Shevchenko
Try:

http://www.fpga4fun.com/10BASE-T.html

Pavel
KostyanPro
Цитата(Pavel Shevchenko @ Dec 7 2005, 17:41) *

Хм..любопытно простой проект... интересно а какую скорость в среднем можно развить при передачи данных ?? Кто нибудь его реализовал в fpga ?

Цитата
Т.е. если не нужен лишний геморрой, лучше не решать эту задачу на плис

И все же.. есть ли корки , реализующие UDP в FPGA ?.
Либо наведите на конкретный пример под uclinux либо другую ось , поддерживающую microblaze.
RobFPGA
Приветствую!

Я делал устройсво - Spartan3s400 + Aduc841 - цифровой приемник/контроллер радара.
В Spartan реализован слегка переработанный Ethernet Litle от XilinxEDK и собственный генератор и приемник UDP пакетов с поддержкой фрагментаци/дефрагментаци IP. В Aducе работает ARP и и ICMP слой плюс медленный канал команд и лога на базе UDP. Параметры заголовков UDP и IP пакетов в плис задаются из Aduca, а обработанные данные гонятся напрямую. 8 МГбайт/сек получалось без проблем.


Успехов! Rob.
0xFF
Доброго !!

Год назад собирал UDP пакет на логике и отправлял его через NETX коммуникационный процессор, удавалось гонять видео поток с небольшим разрешением 320x240 без сжатия, хотя были проблемы еа принимающей стороне - при слабой принимающей машине наблюдались потери данных, после реорганизации сети на чистых ethernet frame - распаковка UDP много тянет CRC удалены.

Всё летало на 70 Mbit

Удачи
KostyanPro
Цитата(RobFPGA @ Nov 4 2007, 14:55) *
В Spartan реализован слегка переработанный Ethernet Litle от XilinxEDK

Посмотрел.. понравился .. ничего лишнего для моей задачи.. пасиб..
А что не понравилось в нем собственно ?

Цитата
хотя были проблемы еа принимающей стороне - при слабой принимающей машине наблюдались потери данных,

Вот , как раз хотел обсудить...
Приблизительно какой процент udp пакетов не доходит ?

Еще вопрос... Осваиваю ip протокол в целом .. и в голову пришла следующая неразбириха...
Пусть имеем два девайса(у меня их ровно столько smile.gif ) , которые соеденены через свич с ПК (в сети больше никого нет). Пусть они одновременно посылают UDP пакет , адресованный этому ПК . Дойдут ли оба пакета?
0xFF
Цитата(KostyanPro @ Nov 7 2007, 00:22) *
Посмотрел.. понравился .. ничего лишнего для моей задачи.. пасиб..
А что не понравилось в нем собственно ?
Вот , как раз хотел обсудить...
Приблизительно какой процент udp пакетов не доходит ?

Еще вопрос... Осваиваю ip протокол в целом .. и в голову пришла следующая неразбириха...
Пусть имеем два девайса(у меня их ровно столько smile.gif ) , которые соеденены через свич с ПК (в сети больше никого нет). Пусть они одновременно посылают UDP пакет , адресованный этому ПК . Дойдут ли оба пакета?



Каждый 10ый 11 ый пакет, но на самом деле хотел бы уточнить что проблема заключалась в том, что машина была перегружена задачами и драйвер сетевой карты не успевал забирать покеты из буфера самой карты (ещё на этой же машине лежала задача отрисовки видеопатока 30 кадров в сек 320х240 плюс был ещё реализован алгоритм "детктор движения"). Когда мы поставили гигабитную Ethernet карту да пересели на CoreDuo платформу то никаких потерь больше не наблюдалось.

Да простят меня админы обсуждение Ethernet трафика это скорее всего уже другая ветка форума.... В свиче также присутствуют буфера накопления данных, плюс как минимум карта mac адресов по портам. Поэтому сначала прийдет один пакет а за ним следующий. Если конечно бомбить свич 100МБитом по всем каналам, то такой вопрос оставляю открытым (почитайте доку по своему свичу).

Удачи
KostyanPro
Благодарю.. разобрался.
RobFPGA
Приветствую!

Цитата(KostyanPro @ Nov 6 2007, 22:22) *
Посмотрел.. понравился .. ничего лишнего для моей задачи.. пасиб..
А что не понравилось в нем собственно ?
...


У меня почему-то при генерации корки для внутренних fifo 16х6 использовалась блочная память вместо распределенной. Судя по исходникам это должно зависеть от типа семейства но генерировалась всегда блочная память. Пришлось переделать это ручками. Также добавил выход для индикации размера принятого пакета.


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