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

 
 
 
Reply to this topicStart new topic
> Nios2 + udp
Nick_TxD
сообщение Aug 29 2018, 05:09
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 29-08-18
Пользователь №: 107 102



Всем привет.
Столкнулся с проблемой нехватки скорости передачи пакетов udp из nios по GbE. В одном из гайдов altera в качестве решения проблемы было предложено увеличить кэш инструкций и данных в ниос до максимальных (64Кб). После данной манипуляции скорость передачи выросла в 3 раза и достигла нужной, но передается теперь всегда один и тот же пакет (udp заголовок меняется, а пользовательские данные нет).
Проект выглядит примерно так ADC -> fpga часть -> dual port on-chip memory-> nios -> ethernet.
Собственно вопрос, с чем может быть связана проблема. Dma не успевает?

Сообщение отредактировал Nick_TxD - Aug 29 2018, 05:11
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Aug 29 2018, 06:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 303
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Nick_TxD
телепаты в отпуске, потому было бы неплохо для начала узнать что именно вы используете для отправки udp пакетов - LWIP, NicheStack, .. - и в какой именно конфигурации.
Go to the top of the page
 
+Quote Post
Nick_TxD
сообщение Aug 29 2018, 06:22
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 29-08-18
Пользователь №: 107 102



NicheStack. Что подразумевается под конфигурацией?
Только начал заниматься ниосом
Go to the top of the page
 
+Quote Post
doom13
сообщение Aug 29 2018, 14:12
Сообщение #4


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

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



Цитата(Nick_TxD @ Aug 29 2018, 08:09) *
Всем привет.
Столкнулся с проблемой нехватки скорости передачи пакетов udp из nios по GbE. В одном из гайдов altera в качестве решения проблемы было предложено увеличить кэш инструкций и данных в ниос до максимальных (64Кб). После данной манипуляции скорость передачи выросла в 3 раза и достигла нужной, но передается теперь всегда один и тот же пакет (udp заголовок меняется, а пользовательские данные нет).
Проект выглядит примерно так ADC -> fpga часть -> dual port on-chip memory-> nios -> ethernet.
Собственно вопрос, с чем может быть связана проблема. Dma не успевает?

Похоже, что весь пакет поместился в кэш данных, и всегда отправляется содержимое кэша, обращений к памяти не происходит.
Go to the top of the page
 
+Quote Post
Nick_TxD
сообщение Aug 30 2018, 04:33
Сообщение #5





Группа: Новичок
Сообщений: 4
Регистрация: 29-08-18
Пользователь №: 107 102



doom13
Хмм, как этого избежать?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Aug 30 2018, 12:47
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 303
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(Nick_TxD @ Aug 29 2018, 09:22) *
..Что подразумевается под конфигурацией?

Его можно собрать по разному, с разным функционалом - что то включить, что то выключить, ключевые слова: BTREE_ROUTES, ...

Касательно кеша - если у вас Nios2-f проц, то как вариант чтобы не переписывать код (нужно добавлять инвалидацию кэша) попробуйте сконфигурировать его без кэша данных.
Если Nios2-е проц, то там кеша вобще нет и значит проблема в чём то другом.
Детали ищите с помощью ключевого слова "alt_dcache_flush".
Go to the top of the page
 
+Quote Post
Nick_TxD
сообщение Sep 12 2018, 09:07
Сообщение #7





Группа: Новичок
Сообщений: 4
Регистрация: 29-08-18
Пользователь №: 107 102



Kuzmi4
Без кэша отправляются пакеты без повторов, но с пропусками. Судя по всему nios не может отправлять такое количество пакетов.
Видимо стоит перейти к варианту с отправкой udp пакетов из fpga части, а прием управляющих tcp пакетов через nios.
Может кто-то поделиться подобным решением, либо направить в нужную сторону?
Go to the top of the page
 
+Quote Post
Swup
сообщение Sep 12 2018, 09:46
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 127
Регистрация: 2-09-11
Из: Москва
Пользователь №: 66 970



Просто режьте ваш стрим на пакеты, пакеты заворачиваете на проходе в udp.
посмотрите вот на этот пример.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st September 2018 - 15:07
Рейтинг@Mail.ru


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