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


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


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


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


Спасибо Вам, товарищи!!! Буду дерзать. Я просто вообще 2 недели назад с Ethernet первый раз связался, и мне надо было разрешить сомнения по поводу того, нужно ли с процессором связыаться для данных целей.
Щас реализовывать начну, верняк еще налечу на что-нибудь, но вы мне много времени сэкономили поддержкой моих предположений, спасибо еще раз smile.gif a14.gif .
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.