Alex_2008 0 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба Кто-нибудь, кто реализовывал, расскажите: Дано: тестовая плата ML506 от Xilinx с Virtex 5, имеется трансивер Marvell 8E1111. Задача: осуществить передачу данных с ПК (с Windows) на ПЛИС и обратно (точка в точку! Полный дуплекс). Вопросы: Есть в Virtex 5 EMAC, у которого можно прописать MAC адрес. Какие протоколы нужно реализовать, чтобы с ПК данные получить? И какие, чтобы до верхнего уровня дойти при передаче с ПЛИС? И еще: нужно ли вешать процессор (типа MicroBlaze) над EMAC, чтобы реализовать задачу??? Или реално самому все написать? Благодарю заранее всех, кто откликнется, очень нужно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 18 декабря, 2008 Опубликовано 18 декабря, 2008 · Жалоба Кто-нибудь, кто реализовывал, расскажите: Дано: тестовая плата 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 включительно, но тяжко :( Или реално самому все написать?Лучше поставить процессор и какой нибудь IP стек, благо их навалом :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Кнкн 5 18 декабря, 2008 Опубликовано 18 декабря, 2008 · Жалоба Кто-нибудь, кто реализовывал, расскажите: Дано: тестовая плата ML506 от Xilinx с Virtex 5, имеется трансивер Marvell 8E1111. Задача: осуществить передачу данных с ПК (с Windows) на ПЛИС и обратно (точка в точку! Полный дуплекс). Вопросы: Есть в Virtex 5 EMAC, у которого можно прописать MAC адрес. Какие протоколы нужно реализовать, чтобы с ПК данные получить? И какие, чтобы до верхнего уровня дойти при передаче с ПЛИС? И еще: нужно ли вешать процессор (типа MicroBlaze) над EMAC, чтобы реализовать задачу??? Или реално самому все написать? Благодарю заранее всех, кто откликнется, очень нужно. Если все упростить до предела, можно принимать и посылать UDP пакеты и не поддерживать больше ничего. Их несложно формировать аппаратно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_2008 0 19 декабря, 2008 Опубликовано 19 декабря, 2008 · Жалоба Смотря как их надо получать. Можно и на уровне голого Ethernet'а организовать обмен пакетов. Если нужна совместимость с нормальными программами на PC, то без TCP/IP никак (хотя бы UDP). Базовый уровень - IP, ARP, UDP, ICMP (опционально). Следующий уровень - TCP. Дальше уже прикладной - HTTP, etc Аналогично Железно (без процессора) можно реализовать до UDP включительно, но тяжко :( Лучше поставить процессор и какой нибудь IP стек, благо их навалом :) Спасибо за совет! Еще : 1) насчет ARP: можно пробить статически соответствие MAC-адреса EMAC в ПЛИС и IP в Windows (команда ARP -s); 2) Стоит задача соединения "точка в точку", поэтому UDP вроде должно хватить вполне; 3) Если ставить процессор, много ли он места в ПЛИС займет? Она хоть и Virtex 5, но особо не развернешься :) . А надо еще в неё большой проект кроме EMAC впаять :(. Так вроде Ethernet Frame скомплектовать неочень сложно... На этом уровне конечно! TCP - сложная штука... Теперь собственно вопрос: вот на данном уровне менее затратно по ресурсам будет самому реализовать??? Без процессора??? Если все упростить до предела, можно принимать и посылать UDP пакеты и не поддерживать больше ничего. Их несложно формировать аппаратно. Вот и я того же мнения :). По крайней мере надежда есть. Если вообще не трогать во время работы конфигурационные регистры EMAC и PHY контроллера, т.е. забить на шину MDIO, а также просто по Ethernet соединить комп с платой, и UDP пакеты слать, то должно же получиться без процессора все??? Тем более написано,что CRC считать может EMAC автоматом! Надо тока контрольные суммы для IP пакета и UDP посчитать. Так ведь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Кнкн 5 19 декабря, 2008 Опубликовано 19 декабря, 2008 · Жалоба Вот и я того же мнения :). По крайней мере надежда есть. Если вообще не трогать во время работы конфигурационные регистры EMAC и PHY контроллера, т.е. забить на шину MDIO, а также просто по Ethernet соединить комп с платой, и UDP пакеты слать, то должно же получиться без процессора все??? Тем более написано,что CRC считать может EMAC автоматом! Надо тока контрольные суммы для IP пакета и UDP посчитать. Так ведь? Контрольную сумму UDP можно положить равной 0. В PC нужно будет создать запись в ARP таблице. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 19 декабря, 2008 Опубликовано 19 декабря, 2008 · Жалоба Если UDP хватит, то вполне можно обойтись и без процессора. Где то на этом форуме пробегали ссылки на такой проект Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_2008 0 19 декабря, 2008 Опубликовано 19 декабря, 2008 · Жалоба Контрольную сумму UDP можно положить равной 0. В PC нужно будет создать запись в ARP таблице. Это которая ARP -s команда. В будущем, ежели проект накручивать, можно даже ответ на ARP запрос с ПЛИС замутить... Спасибо Вам, товарищи!!! Буду дерзать. Я просто вообще 2 недели назад с Ethernet первый раз связался, и мне надо было разрешить сомнения по поводу того, нужно ли с процессором связыаться для данных целей. Щас реализовывать начну, верняк еще налечу на что-нибудь, но вы мне много времени сэкономили поддержкой моих предположений, спасибо еще раз :) :a14: . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться