реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> MAX 10 Development Kit + Triple Speed Ethernet, UDP/IP stack на MAX 10 dev board
Alexey_Rostov
сообщение Mar 26 2016, 19:07
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312



Здравствуйте.
Может кто подскажет варианты решения след задачи. С MAX 10 Development Kit послать UDP пакеты через ethernet.
Есть Simple Socket Server и для этой платы. Раньше на stratix II подобную задачу решил расковыряв Simple Socket Server пример, при этом остался на Micro Os.
Хотелось бы максимально упростить систему для UDP пакетов. При этом соединение плата -- ПК типа точка точка. Никаких ARp запросов ненужно.
Кто нибудь собирал систему с Nios + TSE + buffer для UDP пакетов + например ДМА? В системе просто осуществляется настройка PHY и далее работа с драйверами TSE?
Или там навороченная работа с регистрами TSE ядра?
Go to the top of the page
 
+Quote Post
doom13
сообщение Mar 26 2016, 19:53
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Система будет выглядеть так:
передача - Tx Packet Data Memory -> SgDMA MM2ST -> TSE
приём - TSE -> SgDMA ST2MM -> Rx Packet Data Memory
Ищите по форуму, была тема для Cyclone III. Ещё возможно понадобится железный UDP offloader - на Altera Wiki есть пример реализации и тут где-то был.


Цитата(farbius @ Mar 26 2016, 22:07) *
Или там навороченная работа с регистрами TSE ядра?

Нет там никакой навороченной работы с регистрами, максимум вставка MAC адреса, удаление FCS, фильтрация (надо-не надо) и т.д. Основная задача ложится на DMA - бросает данные в/из памяти.
Go to the top of the page
 
+Quote Post
Alexey_Rostov
сообщение Mar 26 2016, 20:08
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312



Цитата(doom13 @ Mar 26 2016, 22:53) *
Система будет выглядеть так:
передача - Tx Packet Data Memory -> SgDMA MM2ST -> TSE
приём - TSE -> SgDMA ST2MM -> Rx Packet Data Memory
Ищите по форуму, была тема для Cyclone III. Ещё возможно понадобится железный UDP offloader - на Altera Wiki есть пример реализации и тут где-то был.
Нет там никакой навороченной работы с регистрами, максимум вставка MAC адреса, удаление FCS, фильтрация (надо-не надо) и т.д. Основная задача ложится на DMA - бросает данные в/из памяти.


зачем там SgDMA? Просто чтобы мемори маппед в стрим переделать? CDMA не подойдет именно Sg нужен?

Сообщение отредактировал farbius - Mar 26 2016, 20:10
Go to the top of the page
 
+Quote Post
doom13
сообщение Mar 26 2016, 20:16
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(farbius @ Mar 26 2016, 23:08) *
зачем там SgDMA? Просто чтобы мемори маппед в стрим переделать? CDMA не подойдет именно Sg нужен?

Да, с обычным не работал, если умеет ST2MM/MM2ST то подойдёт.
Go to the top of the page
 
+Quote Post
Alexey_Rostov
сообщение Mar 26 2016, 20:42
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312



Цитата(doom13 @ Mar 26 2016, 22:53) *
Ищите по форуму, была тема для Cyclone III. Ещё возможно понадобится железный UDP offloader - на Altera Wiki есть пример реализации и тут где-то был.
Нет там никакой навороченной работы с регистрами, максимум вставка MAC адреса, удаление FCS, фильтрация (надо-не надо) и т.д. Основная задача ложится на DMA - бросает данные в/из памяти.


Насколько помню для УДП контрольная сумма подсчитывается причем не только FCS по всему пакету но и на других уровнях (имею ввиду с UDP header и еще одна с IP header) их тоже Ниосом считать или tse автоматом рассчитывает все суммы? Такой софтовый UDP как посмотрел по форуму до 100 Мбит\с обеспечивает?
Go to the top of the page
 
+Quote Post
doom13
сообщение Mar 26 2016, 20:57
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(farbius @ Mar 26 2016, 23:42) *
Насколько помню для УДП контрольная сумма подсчитывается причем не только FCS по всему пакету но и на других уровнях (имею ввиду с UDP header и еще одна с IP header) их тоже Ниосом считать или tse автоматом рассчитывает все суммы? Такой софтовый UDP как посмотрел по форуму до 100 Мбит\с обеспечивает?

TSE, как и любой MAC считает только FCS Ethernet пакета, может заменять MAC адрес в данных на адрес, который забит в регистрах контроллера. Для приёмника проверяет/удаляет FCS пакета, отбрасывает пакеты с битой FCS, есть возможность настроить фильтрацию MAC адресов. Контрольная сумма UDP не обязательна (по желанию) можно нулями забить. Не помню уже сколько можно выжать из софтового стека, для большого потока использовал железную реализацию UDP (передаёт поток 655.36 Mb/s, можно и выше).
Go to the top of the page
 
+Quote Post
Alexey_Rostov
сообщение Mar 26 2016, 21:21
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312



Цитата(doom13 @ Mar 26 2016, 23:57) *
TSE, как и любой MAC считает только FCS Ethernet пакета, может заменять MAC адрес в данных на адрес, который забит в регистрах контроллера. Для приёмника проверяет/удаляет FCS пакета, отбрасывает пакеты с битой FCS, есть возможность настроить фильтрацию MAC адресов. Контрольная сумма UDP не обязательна (по желанию) можно нулями забить. Не помню уже сколько можно выжать из софтового стека, для большого потока использовал железную реализацию UDP (передаёт поток 655.36 Mb/s, можно и выше).


спасибо за ответ. Еще есть вопрос: UDP Offload это просто примочка для дополнения пакета служебной информацией? doom13 может есть сишный мэйн для запуска всего этого добра? буду очень признателен
Go to the top of the page
 
+Quote Post
doom13
сообщение Mar 27 2016, 15:48
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(farbius @ Mar 27 2016, 00:21) *
спасибо за ответ. Еще есть вопрос: UDP Offload это просто примочка для дополнения пакета служебной информацией? doom13 может есть сишный мэйн для запуска всего этого добра? буду очень признателен

Да, добавляет к данным шапку IP/UDP.
Пример драйвера смотрите тут, с него начинал.
Go to the top of the page
 
+Quote Post
Alexey_Rostov
сообщение Mar 28 2016, 06:26
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312



Цитата(doom13 @ Mar 27 2016, 18:48) *
Да, добавляет к данным шапку IP/UDP.
Пример драйвера смотрите тут, с него начинал.


большое спасибо.
Go to the top of the page
 
+Quote Post
Alexey_Rostov
сообщение Apr 4 2016, 06:45
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312



Товарищи подскажите пжл как быть с triple speed Ethernet ядром чтобы time limited обойти?
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 4 2016, 10:46
Сообщение #11


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(farbius @ Apr 4 2016, 09:45) *
Товарищи подскажите пжл как быть с triple speed Ethernet ядром чтобы time limited обойти?

Пишите в личку.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 18:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01467 секунд с 7
ELECTRONIX ©2004-2016