Aleksei_Rostov 0 26 марта, 2016 Опубликовано 26 марта, 2016 · Жалоба Здравствуйте. Может кто подскажет варианты решения след задачи. С 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 ядра? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 26 марта, 2016 Опубликовано 26 марта, 2016 · Жалоба Система будет выглядеть так: передача - Tx Packet Data Memory -> SgDMA MM2ST -> TSE приём - TSE -> SgDMA ST2MM -> Rx Packet Data Memory Ищите по форуму, была тема для Cyclone III. Ещё возможно понадобится железный UDP offloader - на Altera Wiki есть пример реализации и тут где-то был. Или там навороченная работа с регистрами TSE ядра? Нет там никакой навороченной работы с регистрами, максимум вставка MAC адреса, удаление FCS, фильтрация (надо-не надо) и т.д. Основная задача ложится на DMA - бросает данные в/из памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 26 марта, 2016 Опубликовано 26 марта, 2016 (изменено) · Жалоба Система будет выглядеть так: передача - 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 нужен? Изменено 26 марта, 2016 пользователем farbius Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 26 марта, 2016 Опубликовано 26 марта, 2016 · Жалоба зачем там SgDMA? Просто чтобы мемори маппед в стрим переделать? CDMA не подойдет именно Sg нужен? Да, с обычным не работал, если умеет ST2MM/MM2ST то подойдёт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 26 марта, 2016 Опубликовано 26 марта, 2016 · Жалоба Ищите по форуму, была тема для Cyclone III. Ещё возможно понадобится железный UDP offloader - на Altera Wiki есть пример реализации и тут где-то был. Нет там никакой навороченной работы с регистрами, максимум вставка MAC адреса, удаление FCS, фильтрация (надо-не надо) и т.д. Основная задача ложится на DMA - бросает данные в/из памяти. Насколько помню для УДП контрольная сумма подсчитывается причем не только FCS по всему пакету но и на других уровнях (имею ввиду с UDP header и еще одна с IP header) их тоже Ниосом считать или tse автоматом рассчитывает все суммы? Такой софтовый UDP как посмотрел по форуму до 100 Мбит\с обеспечивает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 26 марта, 2016 Опубликовано 26 марта, 2016 · Жалоба Насколько помню для УДП контрольная сумма подсчитывается причем не только FCS по всему пакету но и на других уровнях (имею ввиду с UDP header и еще одна с IP header) их тоже Ниосом считать или tse автоматом рассчитывает все суммы? Такой софтовый UDP как посмотрел по форуму до 100 Мбит\с обеспечивает? TSE, как и любой MAC считает только FCS Ethernet пакета, может заменять MAC адрес в данных на адрес, который забит в регистрах контроллера. Для приёмника проверяет/удаляет FCS пакета, отбрасывает пакеты с битой FCS, есть возможность настроить фильтрацию MAC адресов. Контрольная сумма UDP не обязательна (по желанию) можно нулями забить. Не помню уже сколько можно выжать из софтового стека, для большого потока использовал железную реализацию UDP (передаёт поток 655.36 Mb/s, можно и выше). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 26 марта, 2016 Опубликовано 26 марта, 2016 · Жалоба TSE, как и любой MAC считает только FCS Ethernet пакета, может заменять MAC адрес в данных на адрес, который забит в регистрах контроллера. Для приёмника проверяет/удаляет FCS пакета, отбрасывает пакеты с битой FCS, есть возможность настроить фильтрацию MAC адресов. Контрольная сумма UDP не обязательна (по желанию) можно нулями забить. Не помню уже сколько можно выжать из софтового стека, для большого потока использовал железную реализацию UDP (передаёт поток 655.36 Mb/s, можно и выше). спасибо за ответ. Еще есть вопрос: UDP Offload это просто примочка для дополнения пакета служебной информацией? doom13 может есть сишный мэйн для запуска всего этого добра? буду очень признателен Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 27 марта, 2016 Опубликовано 27 марта, 2016 · Жалоба спасибо за ответ. Еще есть вопрос: UDP Offload это просто примочка для дополнения пакета служебной информацией? doom13 может есть сишный мэйн для запуска всего этого добра? буду очень признателен Да, добавляет к данным шапку IP/UDP. Пример драйвера смотрите тут, с него начинал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 28 марта, 2016 Опубликовано 28 марта, 2016 · Жалоба Да, добавляет к данным шапку IP/UDP. Пример драйвера смотрите тут, с него начинал. большое спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 4 апреля, 2016 Опубликовано 4 апреля, 2016 · Жалоба Товарищи подскажите пжл как быть с triple speed Ethernet ядром чтобы time limited обойти? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 41 4 апреля, 2016 Опубликовано 4 апреля, 2016 · Жалоба Товарищи подскажите пжл как быть с triple speed Ethernet ядром чтобы time limited обойти? Пишите в личку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться