Перейти к содержанию
    

Формирование Ethernet - кадра для связи с ПК

Кто-нибудь, кто реализовывал, расскажите:

Дано: тестовая плата ML506 от Xilinx с Virtex 5, имеется трансивер Marvell 8E1111.

Задача: осуществить передачу данных с ПК (с Windows) на ПЛИС и обратно (точка в точку! Полный дуплекс).

Вопросы:

Есть в Virtex 5 EMAC, у которого можно прописать MAC адрес. Какие протоколы нужно реализовать, чтобы с ПК данные получить? И какие, чтобы до верхнего уровня дойти при передаче с ПЛИС?

И еще: нужно ли вешать процессор (типа MicroBlaze) над EMAC, чтобы реализовать задачу???

Или реално самому все написать?

Благодарю заранее всех, кто откликнется, очень нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь, кто реализовывал, расскажите:

Дано: тестовая плата 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 стек, благо их навалом :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь, кто реализовывал, расскажите:

Дано: тестовая плата ML506 от Xilinx с Virtex 5, имеется трансивер Marvell 8E1111.

Задача: осуществить передачу данных с ПК (с Windows) на ПЛИС и обратно (точка в точку! Полный дуплекс).

Вопросы:

Есть в Virtex 5 EMAC, у которого можно прописать MAC адрес. Какие протоколы нужно реализовать, чтобы с ПК данные получить? И какие, чтобы до верхнего уровня дойти при передаче с ПЛИС?

И еще: нужно ли вешать процессор (типа MicroBlaze) над EMAC, чтобы реализовать задачу???

Или реално самому все написать?

Благодарю заранее всех, кто откликнется, очень нужно.

 

Если все упростить до предела, можно принимать и посылать UDP пакеты

и не поддерживать больше ничего. Их несложно формировать аппаратно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотря как их надо получать. Можно и на уровне голого 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 посчитать. Так ведь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот и я того же мнения :). По крайней мере надежда есть. Если вообще не трогать во время работы конфигурационные регистры EMAC и PHY контроллера, т.е. забить на шину MDIO, а также просто по Ethernet соединить комп с платой, и UDP пакеты слать, то должно же получиться без процессора все???

Тем более написано,что CRC считать может EMAC автоматом! Надо тока контрольные суммы для IP пакета и UDP посчитать. Так ведь?

 

Контрольную сумму UDP можно положить равной 0.

В PC нужно будет создать запись в ARP таблице.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если UDP хватит, то вполне можно обойтись и без процессора. Где то на этом форуме пробегали ссылки на такой проект

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Контрольную сумму UDP можно положить равной 0.

В PC нужно будет создать запись в ARP таблице.

 

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

 

 

Спасибо Вам, товарищи!!! Буду дерзать. Я просто вообще 2 недели назад с Ethernet первый раз связался, и мне надо было разрешить сомнения по поводу того, нужно ли с процессором связыаться для данных целей.

Щас реализовывать начну, верняк еще налечу на что-нибудь, но вы мне много времени сэкономили поддержкой моих предположений, спасибо еще раз :) :a14: .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...