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

 
 
> Формирование Ethernet - кадра для связи с ПК, Приём\передача на ПК с Virtex5+Ethernet PHY
Lalbor
сообщение Dec 17 2008, 21:46
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 17-12-08
Пользователь №: 42 544



Кто-нибудь, кто реализовывал, расскажите:
Дано: тестовая плата ML506 от Xilinx с Virtex 5, имеется трансивер Marvell 8E1111.
Задача: осуществить передачу данных с ПК (с Windows) на ПЛИС и обратно (точка в точку! Полный дуплекс).
Вопросы:
Есть в Virtex 5 EMAC, у которого можно прописать MAC адрес. Какие протоколы нужно реализовать, чтобы с ПК данные получить? И какие, чтобы до верхнего уровня дойти при передаче с ПЛИС?
И еще: нужно ли вешать процессор (типа MicroBlaze) над EMAC, чтобы реализовать задачу???
Или реално самому все написать?
Благодарю заранее всех, кто откликнется, очень нужно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
XVR
сообщение Dec 18 2008, 07:54
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(Lalbor @ Dec 18 2008, 00:46) *
Кто-нибудь, кто реализовывал, расскажите:
Дано: тестовая плата ML506 от Xilinx с Virtex 5, имеется трансивер Marvell 8E1111.
Задача: осуществить передачу данных с ПК (с Windows) на ПЛИС и обратно (точка в точку! Полный дуплекс).
Вопросы:
Есть в Virtex 5 EMAC, у которого можно прописать MAC адрес. Какие протоколы нужно реализовать, чтобы с ПК данные получить?
Смотря как их надо получать. Можно и на уровне голого Ethernet'а организовать обмен пакетов. Если нужна совместимость с нормальными программами на PC, то без TCP/IP никак (хотя бы UDP). Базовый уровень - IP, ARP, UDP, ICMP (опционально). Следующий уровень - TCP. Дальше уже прикладной - HTTP, etc

Цитата
И какие, чтобы до верхнего уровня дойти при передаче с ПЛИС?
Аналогично

Цитата
И еще: нужно ли вешать процессор (типа MicroBlaze) над EMAC, чтобы реализовать задачу???
Железно (без процессора) можно реализовать до UDP включительно, но тяжко sad.gif

Цитата
Или реално самому все написать?
Лучше поставить процессор и какой нибудь IP стек, благо их навалом smile.gif
Go to the top of the page
 
+Quote Post
Кнкн
сообщение Dec 18 2008, 12:18
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 646
Регистрация: 21-06-04
Пользователь №: 71



Цитата(Lalbor @ Dec 18 2008, 00:46) *
Кто-нибудь, кто реализовывал, расскажите:
Дано: тестовая плата ML506 от Xilinx с Virtex 5, имеется трансивер Marvell 8E1111.
Задача: осуществить передачу данных с ПК (с Windows) на ПЛИС и обратно (точка в точку! Полный дуплекс).
Вопросы:
Есть в Virtex 5 EMAC, у которого можно прописать MAC адрес. Какие протоколы нужно реализовать, чтобы с ПК данные получить? И какие, чтобы до верхнего уровня дойти при передаче с ПЛИС?
И еще: нужно ли вешать процессор (типа MicroBlaze) над EMAC, чтобы реализовать задачу???
Или реално самому все написать?
Благодарю заранее всех, кто откликнется, очень нужно.


Если все упростить до предела, можно принимать и посылать UDP пакеты
и не поддерживать больше ничего. Их несложно формировать аппаратно.
Go to the top of the page
 
+Quote Post
Lalbor
сообщение Dec 19 2008, 07:56
Сообщение #4





Группа: Новичок
Сообщений: 3
Регистрация: 17-12-08
Пользователь №: 42 544



Цитата(XVR @ Dec 18 2008, 10:54) *
Смотря как их надо получать. Можно и на уровне голого Ethernet'а организовать обмен пакетов. Если нужна совместимость с нормальными программами на PC, то без TCP/IP никак (хотя бы UDP). Базовый уровень - IP, ARP, UDP, ICMP (опционально). Следующий уровень - TCP. Дальше уже прикладной - HTTP, etc

Аналогично

Железно (без процессора) можно реализовать до UDP включительно, но тяжко sad.gif

Лучше поставить процессор и какой нибудь IP стек, благо их навалом smile.gif


Спасибо за совет! Еще :
1) насчет ARP: можно пробить статически соответствие MAC-адреса EMAC в ПЛИС и IP в Windows (команда ARP -s);
2) Стоит задача соединения "точка в точку", поэтому UDP вроде должно хватить вполне;
3) Если ставить процессор, много ли он места в ПЛИС займет? Она хоть и Virtex 5, но особо не развернешься smile.gif . А надо еще в неё большой проект кроме EMAC впаять sad.gif.
Так вроде Ethernet Frame скомплектовать неочень сложно... На этом уровне конечно! TCP - сложная штука...
Теперь собственно вопрос: вот на данном уровне менее затратно по ресурсам будет самому реализовать??? Без процессора???

Цитата(Кнкн @ Dec 18 2008, 15:18) *
Если все упростить до предела, можно принимать и посылать UDP пакеты
и не поддерживать больше ничего. Их несложно формировать аппаратно.


Вот и я того же мнения smile.gif. По крайней мере надежда есть. Если вообще не трогать во время работы конфигурационные регистры EMAC и PHY контроллера, т.е. забить на шину MDIO, а также просто по Ethernet соединить комп с платой, и UDP пакеты слать, то должно же получиться без процессора все???
Тем более написано,что CRC считать может EMAC автоматом! Надо тока контрольные суммы для IP пакета и UDP посчитать. Так ведь?
Go to the top of the page
 
+Quote Post
Кнкн
сообщение Dec 19 2008, 08:29
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 646
Регистрация: 21-06-04
Пользователь №: 71



Цитата(Lalbor @ Dec 19 2008, 10:56) *
Вот и я того же мнения smile.gif. По крайней мере надежда есть. Если вообще не трогать во время работы конфигурационные регистры EMAC и PHY контроллера, т.е. забить на шину MDIO, а также просто по Ethernet соединить комп с платой, и UDP пакеты слать, то должно же получиться без процессора все???
Тем более написано,что CRC считать может EMAC автоматом! Надо тока контрольные суммы для IP пакета и UDP посчитать. Так ведь?


Контрольную сумму UDP можно положить равной 0.
В PC нужно будет создать запись в ARP таблице.
Go to the top of the page
 
+Quote Post
XVR
сообщение Dec 19 2008, 10:08
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Если UDP хватит, то вполне можно обойтись и без процессора. Где то на этом форуме пробегали ссылки на такой проект
Go to the top of the page
 
+Quote Post
Lalbor
сообщение Dec 19 2008, 11:18
Сообщение #7





Группа: Новичок
Сообщений: 3
Регистрация: 17-12-08
Пользователь №: 42 544



Цитата(Кнкн @ Dec 19 2008, 11:29) *
Контрольную сумму UDP можно положить равной 0.
В PC нужно будет создать запись в ARP таблице.


Это которая ARP -s команда. В будущем, ежели проект накручивать, можно даже ответ на ARP запрос с ПЛИС замутить...


Спасибо Вам, товарищи!!! Буду дерзать. Я просто вообще 2 недели назад с Ethernet первый раз связался, и мне надо было разрешить сомнения по поводу того, нужно ли с процессором связыаться для данных целей.
Щас реализовывать начну, верняк еще налечу на что-нибудь, но вы мне много времени сэкономили поддержкой моих предположений, спасибо еще раз smile.gif a14.gif .
Go to the top of the page
 
+Quote Post

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

 


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


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