|
tcp/ip и udp/ip, протокол |
|
|
|
May 17 2014, 09:09
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 30-03-14
Пользователь №: 81 150

|
Уважаемые форумчане если не сложно помогите разобраться с формированием посылок протоколов tcp/ip и udp/ip. Есть плата Altera + marwell 88e1111 в режиме RGMII 1G/s. В прилагаемой альтеровской документации описано только формирование udp посылки (Преамбула, Адрес назначения, Адрес Источника, Тип, Данные, Контрольная сумма), но на сколько я понял для связи с компьютером этого недостаточно, так как необходимо добавить в эту посылку канала, шлюза или может изменяются последовательность данных. Если кто занимался помогите пожалуйста с описанием или конкретным примером посылок tcp/ip, udp/ip реализованном на железе.
Сообщение отредактировал RamZoom - May 17 2014, 09:10
|
|
|
|
|
May 17 2014, 10:57
|
Гуру
     
Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965

|
Что там у Альтеры - не читал. То, что Вы описали - это еще не UDP, это произвольный Ethernet кадр, в него вкладывается хоть UDP, хоть что еще. Для общения с компьютером UDP достаточно, но в случае, если устройство в одном сегменте Ethernet с компьютером. В общем случае Вам придется еще поднимать ARP, для того, чтобы устройство было найдено по IP-адресу. Если Вам нужен TCP/IP, то там все еще сильно сложнее и лучше это делать с примменением процессора, а не на голой FPGA.
|
|
|
|
|
May 17 2014, 11:53
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 30-03-14
Пользователь №: 81 150

|
На сколько я понял протоколы ARP и RARP используются для прямого и обратного преобразований адресов, т.е. получения mac адреса после отправки широковещательной посылки и далее отправлять данные по полученному mac, а далее обмен посылками производится по IP. Вот вы сказали на счет произвольного кадра Ethernet , что в него вкладывать UDP..., а вкладывать нужно в поле ДАННЫЕ???
|
|
|
|
|
May 17 2014, 12:40
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 23-12-12
Пользователь №: 74 946

|
Цитата(RamZoom @ May 17 2014, 15:53)  Вот вы сказали на счет произвольного кадра Ethernet , что в него вкладывать UDP..., а вкладывать нужно в поле ДАННЫЕ??? В данные пакета Ethernet вкладывать пакет IP, в данные пакета IP вкладывать пакет UDP, в данные пакета UDP вкладывать собственно полезную информацию. Почитайте про них хотя бы в википедии.
|
|
|
|
|
May 17 2014, 13:18
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 30-03-14
Пользователь №: 81 150

|
Прочитал немало инфы в инете, документации произодителей altera, xilinx, несколько книг, но общей картины структуры до вашего ответа не было. спасибо. попробую сформировать пакет.
|
|
|
|
|
May 19 2014, 03:53
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(RamZoom @ May 17 2014, 17:19)  Уважаемые форумчане если не сложно помогите разобраться с формированием посылок протоколов tcp/ip и udp/ip. Есть плата Altera + marwell 88e1111 в режиме RGMII 1G/s. Вы почему-то начали с другого конца. Дело не в самом " tcp/ip и udp/ip", а в том, кто эти пакеты формирует. Обычно этим занимается микроконтроллер. А если точнее - то ОС под управлением которой он работает. И для большинства ОС задача давно решена. Тогда встает вопрос: "Почему ПЛИС?"... Вам придется в ПЛИС сделать командоаппарат или микроконтроллер с ОС и его отлаживать. А что касается самих протоколов, то они все расписаны подробно в книгах. Только к Альтере это никакого отношения не имеет... Мало того, МАС в ПЛИС получается дорогой и урезанный...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
May 21 2014, 14:40
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 30-03-14
Пользователь №: 81 150

|
На самом деле проблема заключается в том, что в моем циклоне 4 конечно нет встроенного контроллера. Ставить микроконтроллер смысла нет, только ARM и то который поддержит 125 Мгц. Область под приемо-передатчик заняла достаточно мало места в альтере. Осталась единственная проблема marwell пакеты передает, а комп ничего не видит.
|
|
|
|
|
May 22 2014, 02:58
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 30-03-14
Пользователь №: 81 150

|
Спасибо за совет на счет NIOS II, но для успешной реализации собственных проектов необходимо полное понимание всех процессов. Я поэтому и задаю те вопросы здесь на форуме на которые сам не могу найти ответы или что-то понять. Можно взять NIOS II, ethernet мегафункцию, SDRAM мегафункцию и т.д... и ничего не понимая запустить проект. Может я в чем-то и не прав, но если нет понятия как и что собирается, формируется и передается любая даже незначительная ошибка приведет в тупик.
|
|
|
|
|
May 22 2014, 16:21
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(RamZoom @ May 22 2014, 10:08)  Спасибо за совет на счет NIOS II, но для успешной реализации собственных проектов необходимо полное понимание всех процессов. Я поэтому и задаю те вопросы здесь на форуме на которые сам не могу найти ответы или что-то понять. Можно взять NIOS II, ethernet мегафункцию, SDRAM мегафункцию и т.д... и ничего не понимая запустить проект. Может я в чем-то и не прав, но если нет понятия как и что собирается, формируется и передается любая даже незначительная ошибка приведет в тупик. А никто и не говорил, что Вы не понимая должны собрать всё в кучу, что всё сразу заработает. Использование Nios II c ядром TSE MAC просто облегчает работу с PHY уровнем и даёт больше возможностей. Если выбираете этот путь, то и почитать придётся немало, и с работой ядра разобраться, и Nios II изучить. Поднять отправку пакетов по UDP в железе у Вас конечно же получится, но вот ARP, ICMP, IGMP, TCP (для того, чтобы Ваш девайс был полноценным сетевым устройством) без Niosa точно не потяните.
|
|
|
|
|
May 22 2014, 22:24
|

Группа: Новичок
Сообщений: 2
Регистрация: 22-03-11
Пользователь №: 63 779

|
Для начала позвольте уточнить: 1. Комп вообще не видит пакеты или не видит конкретно UDP пакетов?
Немного личного опыта (реализация мака на циклоне 3 с Фи от Микрел 10/100): Комп не видел АРП ответы (не видел наглухо буд-то девайс и не отправлял ничего вообще тишина в WireShark) оказалось что CRC был не верным, а такие пакеты дропаются и сниффер ничего не показывает.
Т.е. если у вас вся структура (Преамбула, Адрес назначения, Адрес Источника, Тип, Данные, Контрольная сумма) цела и корректна сниффер её поймает, что бы там не было в данных, хоть все нули.
|
|
|
|
|
May 23 2014, 12:13
|
Гуру
     
Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965

|
Еще подсказка. Лампочка на Ethernet разъеме компа мигает от физики, а не MAC, поэтому, если пакет хотя бы начал передаваться, то увидите, если соедините Вашу плату напрямую к компу и больше там никого не будет. Мигать еще может на передачу от компа, но заметите, есть мигания в такт посылаемым пакетам или нет. Если мигает, а в компе нет ничего совсем (даже в Shark'е) - то лечите контрольную сумму. Замкните две Ваших платы друг на друга и смотрите на приемной через SignalTap, что пришло.
|
|
|
|
|
May 23 2014, 14:28
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 30-03-14
Пользователь №: 81 150

|
Связка альтера - марвелл на отладочной плате со светодиодами
и соответственно я по ним и сужу о получении и отправке пакетов. Сами пакеты формирую согласно диаграмме
. Подозрение на то, что сигнал не соответствует диаграмме
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|