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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Транспорт с низкой латентностью, Есть несколько плат, нужен транспорт между ними...
Bosicc
сообщение Feb 7 2007, 11:36
Сообщение #1


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

Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970



Добрый день!

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

Идеи возникали разные:

1. Поставить на каждой плате ARM и использовать I2C - не прошла идея из-за низкой скорости.

2. Поставить на каждой плате ARM и на одной организовать HOST - детально еще не думал.

3. Поставить на каждой плате ARM и использовать TCP/IP - тестировал скорость соединения на основе чипа LPC 2378, получил скорость от 1-10Mbps в зависимости от размера пакета. Думаем как ускорится, пока единственный вариант.

Может кто чего еще посоветует. Главное это низкая латентность и желательно скорость повыше.

К рассмотрению принимаются всевозможные идеи smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 7 2007, 11:48
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Bosicc @ Feb 7 2007, 10:36) *
Думаем как ускорится, пока единственный вариант.

Выкинуть нахрен и TCP и IP. Для нескольких плат прекрасно будет работать физический уровень Ethernet - MAC адресация есть, контрольные суммы есть, аппаратная фиксация ошибок в канале передачи есть. Легкую надстройку по вкусу над фреймом IEEE 802.3 и все.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
iosifk
сообщение Feb 7 2007, 12:04
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(zltigo @ Feb 7 2007, 11:48) *
Цитата(Bosicc @ Feb 7 2007, 10:36) *

Думаем как ускорится, пока единственный вариант.

Выкинуть нахрен и TCP и IP. Для нескольких плат прекрасно будет работать физический уровень Ethernet - MAC адресация есть, контрольные суммы есть, аппаратная фиксация ошибок в канале передачи есть. Легкую надстройку по вкусу над фреймом IEEE 802.3 и все.

Можно даже вместо трансформаторов поставить конденсаторы.
Просто контроллер Ethernet с PHY на борту. А может для этого брать процессор с ядром МАС.
И в продолжение темы, в КиТе была статья о том, как ДСП-процессоры общались между собой через свич.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Feb 7 2007, 13:28
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(Bosicc @ Feb 7 2007, 13:36) *
Может кто чего еще посоветует. Главное это низкая латентность и желательно скорость повыше.

К рассмотрению принимаются всевозможные идеи smile.gif


Давайте все же на инженерном форуме пытаться формулировать свои вопросы понятно.
Ну что значит скорость повыше? Приведите хотя бы в байт/с, что ли.
Я бы предложил CAN на 1.6 МБит, но непонятно много это ли мало.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
Bosicc
сообщение Feb 7 2007, 13:40
Сообщение #5


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

Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970



Цитата(Andy Mozzhevilov @ Feb 7 2007, 12:28) *
Давайте все же на инженерном форуме пытаться формулировать свои вопросы понятно.
Ну что значит скорость повыше? Приведите хотя бы в байт/с, что ли.
Я бы предложил CAN на 1.6 МБит, но непонятно много это ли мало.


Извиняюсь за недоговаривание, исправляюсь.
Скорость требуется не меньше 32Mbps и при этом необходима низкая латентность.
1.6Мbps однозначно недостаточно.

А как можно прикинуть необходимую скорость процессора, что б он успевал обеспечивать скорость порядка 50Mbps ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 7 2007, 14:15
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Bosicc @ Feb 7 2007, 12:40) *
А как можно прикинуть необходимую скорость процессора, что б он успевал обеспечивать скорость порядка 50Mbps ?

Никак.
Поскольку не понятно, чем он еще заниматься должен и насколько продвинут MAC контроллер, дуплекс или нет, точка точка или нет ...... Но в любом случае 50Mbit это очень даже не мало - просто так за счет "волшебного слова" Ethernet не решится.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Bosicc
сообщение Feb 7 2007, 15:22
Сообщение #7


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

Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970



Цитата(zltigo @ Feb 7 2007, 13:15) *
Но в любом случае 50Mbit это очень даже не мало - просто так за счет "волшебного слова" Ethernet не решится.

Ок. А может можно еще можно что то придумать помимо Ethernet? Может кто нибуть использует что нибуть другое? Или такой скоростью некто дел не имел.
Просто я сам первый раз столкнулся с таким заданием. Вот теперь сижу думаю
Go to the top of the page
 
+Quote Post
iosifk
сообщение Feb 7 2007, 15:24
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Bosicc @ Feb 7 2007, 15:22) *
Цитата(zltigo @ Feb 7 2007, 13:15) *

Но в любом случае 50Mbit это очень даже не мало - просто так за счет "волшебного слова" Ethernet не решится.

Ок. А может можно еще можно что то придумать помимо Ethernet? Может кто нибуть использует что нибуть другое? Или такой скоростью некто дел не имел.
Просто я сам первый раз столкнулся с таким заданием. Вот теперь сижу думаю

Последовательные порты в DSP-процессорах или SerDes в FPGA.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
andk
сообщение Feb 7 2007, 17:21
Сообщение #9


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

Группа: Свой
Сообщений: 199
Регистрация: 17-12-04
Из: Миасс
Пользователь №: 1 519



В случае применения FPGA можно попробовать LVDS - до XXX Гбит
Можно разделить на отдельные потоки (физически) - этакое подобие наращивания как у PCI-X.
Память FPGA использовать под FIFO.
И выход на АРМ 32 разрядной шиной.
Может получиться очень быстро.
Go to the top of the page
 
+Quote Post
lolikandr
сообщение Feb 8 2007, 15:51
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 25-06-05
Пользователь №: 6 300



А данные случайно не легко упаковываемые?
Go to the top of the page
 
+Quote Post
Bosicc
сообщение Feb 9 2007, 04:24
Сообщение #11


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

Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970



Вчера начали тестировать скорость TCP/IP в связке DSP + WizNet chip ( W3150A ) Буду надеятся что скорость будет достаточная, но вот вопрос латентности.... Ведь в DSP и сам чип вносят некого рода задержку, хотелось бы что нибуть в одном корпусе, да еще и достаточно резвое.
2lolikandr Уточните вопрос с данными.
Go to the top of the page
 
+Quote Post
Alex03
сообщение Feb 9 2007, 07:32
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Цитата(Bosicc @ Feb 9 2007, 06:24) *
Вчера начали тестировать скорость TCP/IP в связке DSP + WizNet chip ( W3150A ) Буду надеятся что скорость будет достаточная, но вот вопрос латентности.... Ведь в DSP и сам чип вносят некого рода задержку, хотелось бы что нибуть в одном корпусе, да еще и достаточно резвое.
2lolikandr Уточните вопрос с данными.


Вы кстати требуемую латентность никак не охарактеризовали (в цифровом виде).
Также впрочем и то какие данные у вас передаются.
Одно дело пакеты, другое дело битовые потоки.

Т.е. если Вам надо передавать, например, какие-то команды, состояния и т.д. (неделимые куски информации объёмом X..Y байт) то имеет смысл пакетная передача.
Если у Вас идёт поток однородных данных, например с АЦП, и его надо как можно быстрей передать, то тут уже следует подумать о всяких битовых потоках (SPORT-ы в DSP-ях, LVDS и т.д.), тут латентность может быть в пару отсчётов, в то время как при пакетной передаче с N отсчётов в пакете латентность будет около 2*N отсчётов.
Go to the top of the page
 
+Quote Post
Dopler
сообщение Feb 9 2007, 09:04
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Цитата(Bosicc @ Feb 9 2007, 04:24) *
Вчера начали тестировать скорость TCP/IP в связке DSP + WizNet chip ( W3150A ) Буду надеятся что скорость будет достаточная, но вот вопрос латентности.... Ведь в DSP и сам чип вносят некого рода задержку, хотелось бы что нибуть в одном корпусе, да еще и достаточно резвое.
2lolikandr Уточните вопрос с данными.


В связке DSP + WizNet удалось достигнуть скорости 24Mbit (близко к пределу, 16Mbit - легко) с использованием UDP.
Go to the top of the page
 
+Quote Post
Bosicc
сообщение Feb 9 2007, 11:41
Сообщение #14


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

Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970



Цитата(Alex03 @ Feb 9 2007, 06:32) *
Вы кстати требуемую латентность никак не охарактеризовали (в цифровом виде).
Также впрочем и то какие данные у вас передаются.
Одно дело пакеты, другое дело битовые потоки.


Передавать надо пакеты, примерно 32 байта. Может больше.
А про числовое значение латентности много сказать немогу что команда должна выполнится за 5 мксек. Так что из такого расчета надо подобрать транспорт.

2Dopler
А какую DSP и какой WizNet использовали? А в этой связке нельзя поднять скорость хотябы до 32Mbps?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 9 2007, 12:15
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Bosicc @ Feb 9 2007, 10:41) *
А какую DSP и какой WizNet использовали? А в этой связке нельзя поднять скорость хотябы до 32Mbps?

В этой связке WizNet с его даже теоретическими 25Mbit причем далеко не на 32байтовых пакетах smile.gif лишний. СОВСЕМ лишний. DSP соединяются, как предписано Создателем smile.gif встроенными синхронными интерфейсами. 32Mbit - легко.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dopler
сообщение Feb 9 2007, 12:48
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Цитата(zltigo @ Feb 9 2007, 12:15) *
Цитата(Bosicc @ Feb 9 2007, 10:41) *

А какую DSP и какой WizNet использовали? А в этой связке нельзя поднять скорость хотябы до 32Mbps?

В этой связке WizNet с его даже теоретическими 25Mbit причем далеко не на 32байтовых пакетах smile.gif лишний. СОВСЕМ лишний. DSP соединяются, как предписано Создателем smile.gif встроенными синхронными интерфейсами. 32Mbit - легко.


Да, zltigo прав. В нашем случае данные передавались в компьютер пакетами 1024 байта (плюс несколько служебных байт). Использовалось ADSP2185 и WIZNET W310A, больше 25 поднять производительность нельзя. Простой тест - без заполнения буферов просто давать команду отправить пакет (например, те же 1024 байта), а на компьютере оценить пропускную способность (количество принятых пакетов за, например, 10 сек.). Это решение годится для внешней связи устройства, для внутренней SPORT ADSP на мой взгляд намного предпочтительней.
Go to the top of the page
 
+Quote Post
boez
сообщение Feb 9 2007, 14:17
Сообщение #17


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

Группа: Новичок
Сообщений: 79
Регистрация: 1-11-06
Пользователь №: 21 868



Цитата(Bosicc @ Feb 9 2007, 10:41) *
Передавать надо пакеты, примерно 32 байта. Может больше.
А про числовое значение латентности много сказать немогу что команда должна выполнится за 5 мксек. Так что из такого расчета надо подобрать транспорт.


Как вариант - а нельзя команду передать чуть заранее, а строб времени дать по отдельной ноге? Ну это конечно если нужна именно синхронизация, а не время реагирования.

А так вообще-то жесткие требования - 32 байта и 5 мкс это чуть больше 50 мбит даже если просто это время затратить на передачу пакета... И может 32 байта можно уменьшить? Кроме прочего, эзернет тут вам добавит кучку лишних байт. Посмотрите правда в сторону последовательных синхронных каналов.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Feb 9 2007, 23:43
Сообщение #18


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



У меня стек TCP дает 67 Мбит/c без напряга.

Но на UDP с размером пакета 8192 байта и без собственно использования принятого пакета.
А на 64 байта тот же стек всего 5 Мбит/c , так что на Ethernet вам своей задачи не достичь.

Включите 2-а SPI параллельно, и на любом ARM-е с DMA получите заветные 50 Мбит/c

Цитата(Bosicc @ Feb 9 2007, 05:54) *
Вчера начали тестировать скорость TCP/IP в связке DSP + WizNet chip ( W3150A ) Буду надеятся что скорость будет достаточная, но вот вопрос латентности.... Ведь в DSP и сам чип вносят некого рода задержку, хотелось бы что нибуть в одном корпусе, да еще и достаточно резвое.
2lolikandr Уточните вопрос с данными.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 12:08
Рейтинг@Mail.ru


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