RamZoom 0 17 мая, 2014 Опубликовано 17 мая, 2014 (изменено) · Жалоба Уважаемые форумчане если не сложно помогите разобраться с формированием посылок протоколов tcp/ip и udp/ip. Есть плата Altera + marwell 88e1111 в режиме RGMII 1G/s. В прилагаемой альтеровской документации описано только формирование udp посылки (Преамбула, Адрес назначения, Адрес Источника, Тип, Данные, Контрольная сумма), но на сколько я понял для связи с компьютером этого недостаточно, так как необходимо добавить в эту посылку канала, шлюза или может изменяются последовательность данных. Если кто занимался помогите пожалуйста с описанием или конкретным примером посылок tcp/ip, udp/ip реализованном на железе. Изменено 17 мая, 2014 пользователем RamZoom Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 17 мая, 2014 Опубликовано 17 мая, 2014 · Жалоба Что там у Альтеры - не читал. То, что Вы описали - это еще не UDP, это произвольный Ethernet кадр, в него вкладывается хоть UDP, хоть что еще. Для общения с компьютером UDP достаточно, но в случае, если устройство в одном сегменте Ethernet с компьютером. В общем случае Вам придется еще поднимать ARP, для того, чтобы устройство было найдено по IP-адресу. Если Вам нужен TCP/IP, то там все еще сильно сложнее и лучше это делать с примменением процессора, а не на голой FPGA. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RamZoom 0 17 мая, 2014 Опубликовано 17 мая, 2014 · Жалоба На сколько я понял протоколы ARP и RARP используются для прямого и обратного преобразований адресов, т.е. получения mac адреса после отправки широковещательной посылки и далее отправлять данные по полученному mac, а далее обмен посылками производится по IP. Вот вы сказали на счет произвольного кадра Ethernet , что в него вкладывать UDP..., а вкладывать нужно в поле ДАННЫЕ??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sorok-odin 5 17 мая, 2014 Опубликовано 17 мая, 2014 · Жалоба Вот вы сказали на счет произвольного кадра Ethernet , что в него вкладывать UDP..., а вкладывать нужно в поле ДАННЫЕ??? В данные пакета Ethernet вкладывать пакет IP, в данные пакета IP вкладывать пакет UDP, в данные пакета UDP вкладывать собственно полезную информацию. Почитайте про них хотя бы в википедии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RamZoom 0 17 мая, 2014 Опубликовано 17 мая, 2014 · Жалоба Прочитал немало инфы в инете, документации произодителей altera, xilinx, несколько книг, но общей картины структуры до вашего ответа не было. спасибо. попробую сформировать пакет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 19 мая, 2014 Опубликовано 19 мая, 2014 · Жалоба Есть такая программка Capsa от Colasoft. Она умееет, помимо всего прочего, формировать Ethernet-пакет со всем нужным содержимым для стандартных протоколов, в т.ч. UDP. И показывает все с разбивкой по полям. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 19 мая, 2014 Опубликовано 19 мая, 2014 · Жалоба Уважаемые форумчане если не сложно помогите разобраться с формированием посылок протоколов tcp/ip и udp/ip. Есть плата Altera + marwell 88e1111 в режиме RGMII 1G/s. Вы почему-то начали с другого конца. Дело не в самом " tcp/ip и udp/ip", а в том, кто эти пакеты формирует. Обычно этим занимается микроконтроллер. А если точнее - то ОС под управлением которой он работает. И для большинства ОС задача давно решена. Тогда встает вопрос: "Почему ПЛИС?"... Вам придется в ПЛИС сделать командоаппарат или микроконтроллер с ОС и его отлаживать. А что касается самих протоколов, то они все расписаны подробно в книгах. Только к Альтере это никакого отношения не имеет... Мало того, МАС в ПЛИС получается дорогой и урезанный... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RamZoom 0 21 мая, 2014 Опубликовано 21 мая, 2014 · Жалоба На самом деле проблема заключается в том, что в моем циклоне 4 конечно нет встроенного контроллера. Ставить микроконтроллер смысла нет, только ARM и то который поддержит 125 Мгц. Область под приемо-передатчик заняла достаточно мало места в альтере. Осталась единственная проблема marwell пакеты передает, а комп ничего не видит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 21 мая, 2014 Опубликовано 21 мая, 2014 · Жалоба На самом деле проблема заключается в том, что в моем циклоне 4 конечно нет встроенного контроллера. Ставить микроконтроллер смысла нет, только ARM и то который поддержит 125 Мгц. Область под приемо-передатчик заняла достаточно мало места в альтере. Осталась единственная проблема marwell пакеты передает, а комп ничего не видит. NIOS II можно встроить в любую FPGA. Почитайте эту тему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RamZoom 0 22 мая, 2014 Опубликовано 22 мая, 2014 · Жалоба Спасибо за совет на счет NIOS II, но для успешной реализации собственных проектов необходимо полное понимание всех процессов. Я поэтому и задаю те вопросы здесь на форуме на которые сам не могу найти ответы или что-то понять. Можно взять NIOS II, ethernet мегафункцию, SDRAM мегафункцию и т.д... и ничего не понимая запустить проект. Может я в чем-то и не прав, но если нет понятия как и что собирается, формируется и передается любая даже незначительная ошибка приведет в тупик. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 22 мая, 2014 Опубликовано 22 мая, 2014 · Жалоба Спасибо за совет на счет NIOS II, но для успешной реализации собственных проектов необходимо полное понимание всех процессов. Я поэтому и задаю те вопросы здесь на форуме на которые сам не могу найти ответы или что-то понять. Можно взять NIOS II, ethernet мегафункцию, SDRAM мегафункцию и т.д... и ничего не понимая запустить проект. Может я в чем-то и не прав, но если нет понятия как и что собирается, формируется и передается любая даже незначительная ошибка приведет в тупик. А никто и не говорил, что Вы не понимая должны собрать всё в кучу, что всё сразу заработает. Использование Nios II c ядром TSE MAC просто облегчает работу с PHY уровнем и даёт больше возможностей. Если выбираете этот путь, то и почитать придётся немало, и с работой ядра разобраться, и Nios II изучить. Поднять отправку пакетов по UDP в железе у Вас конечно же получится, но вот ARP, ICMP, IGMP, TCP (для того, чтобы Ваш девайс был полноценным сетевым устройством) без Niosa точно не потяните. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
urchin83 0 22 мая, 2014 Опубликовано 22 мая, 2014 · Жалоба Для начала позвольте уточнить: 1. Комп вообще не видит пакеты или не видит конкретно UDP пакетов? Немного личного опыта (реализация мака на циклоне 3 с Фи от Микрел 10/100): Комп не видел АРП ответы (не видел наглухо буд-то девайс и не отправлял ничего вообще тишина в WireShark) оказалось что CRC был не верным, а такие пакеты дропаются и сниффер ничего не показывает. Т.е. если у вас вся структура (Преамбула, Адрес назначения, Адрес Источника, Тип, Данные, Контрольная сумма) цела и корректна сниффер её поймает, что бы там не было в данных, хоть все нули. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 23 мая, 2014 Опубликовано 23 мая, 2014 · Жалоба Еще подсказка. Лампочка на Ethernet разъеме компа мигает от физики, а не MAC, поэтому, если пакет хотя бы начал передаваться, то увидите, если соедините Вашу плату напрямую к компу и больше там никого не будет. Мигать еще может на передачу от компа, но заметите, есть мигания в такт посылаемым пакетам или нет. Если мигает, а в компе нет ничего совсем (даже в Shark'е) - то лечите контрольную сумму. Замкните две Ваших платы друг на друга и смотрите на приемной через SignalTap, что пришло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RamZoom 0 23 мая, 2014 Опубликовано 23 мая, 2014 · Жалоба Связка альтера - марвелл на отладочной плате со светодиодами и соответственно я по ним и сужу о получении и отправке пакетов. Сами пакеты формирую согласно диаграмме . Подозрение на то, что сигнал не соответствует диаграмме Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 23 мая, 2014 Опубликовано 23 мая, 2014 · Жалоба А Вы сигналы на Marvell фрмируете AltDDIO или просто так? Если просто так - точно не заработает, фазу не подгоните правильную. Там даже с AltDDIO есть проблемы с фазой. Я когда запускал RGMII делал три клока с PLL - два в противофазе для разных AltDDIO (один для данных, другой для TxCtl) и отдельно внешний клок на физику. Его фазу пришлось устанавливать ручками в оптимальное положение. Проверьте осциллографом для начала, как идут сигналы на Marvell. Преамбула там вполне хорошо видна и фазы можно посмотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться