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

MAX 10 Development Kit + Triple Speed Ethernet

Здравствуйте.

Может кто подскажет варианты решения след задачи. С 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 ядра?

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


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

Система будет выглядеть так:

передача - Tx Packet Data Memory -> SgDMA MM2ST -> TSE

приём - TSE -> SgDMA ST2MM -> Rx Packet Data Memory

Ищите по форуму, была тема для Cyclone III. Ещё возможно понадобится железный UDP offloader - на Altera Wiki есть пример реализации и тут где-то был.

 

 

Или там навороченная работа с регистрами TSE ядра?

Нет там никакой навороченной работы с регистрами, максимум вставка MAC адреса, удаление FCS, фильтрация (надо-не надо) и т.д. Основная задача ложится на DMA - бросает данные в/из памяти.

 

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


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

Система будет выглядеть так:

передача - 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

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


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

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

Да, с обычным не работал, если умеет ST2MM/MM2ST то подойдёт.

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


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

Ищите по форуму, была тема для Cyclone III. Ещё возможно понадобится железный UDP offloader - на Altera Wiki есть пример реализации и тут где-то был.

Нет там никакой навороченной работы с регистрами, максимум вставка MAC адреса, удаление FCS, фильтрация (надо-не надо) и т.д. Основная задача ложится на DMA - бросает данные в/из памяти.

 

Насколько помню для УДП контрольная сумма подсчитывается причем не только FCS по всему пакету но и на других уровнях (имею ввиду с UDP header и еще одна с IP header) их тоже Ниосом считать или tse автоматом рассчитывает все суммы? Такой софтовый UDP как посмотрел по форуму до 100 Мбит\с обеспечивает?

 

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


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

Насколько помню для УДП контрольная сумма подсчитывается причем не только FCS по всему пакету но и на других уровнях (имею ввиду с UDP header и еще одна с IP header) их тоже Ниосом считать или tse автоматом рассчитывает все суммы? Такой софтовый UDP как посмотрел по форуму до 100 Мбит\с обеспечивает?

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

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


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

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

 

спасибо за ответ. Еще есть вопрос: UDP Offload это просто примочка для дополнения пакета служебной информацией? doom13 может есть сишный мэйн для запуска всего этого добра? буду очень признателен

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


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

спасибо за ответ. Еще есть вопрос: UDP Offload это просто примочка для дополнения пакета служебной информацией? doom13 может есть сишный мэйн для запуска всего этого добра? буду очень признателен

Да, добавляет к данным шапку IP/UDP.

Пример драйвера смотрите тут, с него начинал.

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


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

Да, добавляет к данным шапку IP/UDP.

Пример драйвера смотрите тут, с него начинал.

 

большое спасибо.

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


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

Товарищи подскажите пжл как быть с triple speed Ethernet ядром чтобы time limited обойти?

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


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

Товарищи подскажите пжл как быть с triple speed Ethernet ядром чтобы time limited обойти?

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

 

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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