Jump to content

    

Поток данных 16бит -> Ethernet

Recommended Posts

Serg_Sm

Нужно передать 16 битный поток от устройства в систему по Ethernet.

Поток от 40МБит/с. Не непрерывный, но хорошая скорость нужна. Желательно предусмотреть возможность максимальной передачи потока до 200 МБит/с (задел на будущее).

Сроки как всегда сильно поджимают, поэтому системы на ПЛИС не рассматриваю - не успеем.

Если бы не USB, то идельно подошел Cypress FX3, но нужен Ethernet.

Делали проекты на Atmel ARM7/ARM9, но что-то с параллельной шиной там не очень и для достижения приличных скоростей по LAN нужно сильно постараться.

Из простого - посмотрел контроллер W5300. По минимуму укладывается, но может есть что получше? Гигабит не помешает))

И насколько прост W5300 в обращении? Дополнительно к параллельной шине хотелось бы SPI сделать.

Share this post


Link to post
Share on other sites

blackfin
Поток от 40МБайт/с. Не непрерывный, но хорошая скорость нужна. Желательно предусмотреть возможность максимальной передачи потока до 200 МБайт/с (задел на будущее).

..

Из простого - посмотрел контроллер W5300. По минимуму укладывается, но может есть что получше? Гигабит не помешает))

Через W5300, с его 100BaseTX, "поток от 40МБайт/с", и уж тем более 200 МБайт/с, передать физически невозможно.

Share this post


Link to post
Share on other sites

lotor
Поток от 40МБайт/с. Не непрерывный, но хорошая скорость нужна. Желательно предусмотреть возможность максимальной передачи потока до 200 МБайт/с (задел на будущее).

Из простого - посмотрел контроллер W5300. По минимуму укладывается, но может есть что получше?

Вы мбиты и мбайты отличаете?

Share this post


Link to post
Share on other sites

vetal
Сроки как всегда сильно поджимают, поэтому системы на ПЛИС не рассматриваю - не успеем.

В наше время - это не показатель. Подобный проект поднимается из готовых примеров за неделю при отсутствии опыта(с учетом специфики работы в нашей стране :) ).

Больше всего времени уйдет на компиляцию проекта ПЛИС.

Если требуется гарантия доставки данных необходимо предусмотреть буфер на >0.5 секунды (экспериментально подобрано для windows)

Share this post


Link to post
Share on other sites

Beby
Нужно передать 16 битный поток от устройства в систему по Ethernet.

Поток от 40МБайт/с. Не непрерывный, но хорошая скорость нужна.

Из простого - посмотрел контроллер W5300. По минимуму укладывается, но может есть что получше?

Из W5300 Datasheet

W5300 is a 0.18 μm CMOS technology single chip into which 10/100 Ethernet controller, MAC, and TCP/IP are integrated.
Поясните, пожалуйста, как поток 40 МБайт (320 Мбит/с) можно запихнуть в 100 Мбит/с Ethernet ?

Если Ваш поток всё-таки ложиться в 100Мбит/с, то в среднем он явно меньше 12МБайт/с - пожалуйста, поподробней опишите что же именно Вам надо.

 

Желательно предусмотреть возможность максимальной передачи потока до 200 МБайт/с (задел на будущее).
Ну тут может оказаться мало и 2xGigabit Ethernet Link, если понадобится сделать гарантированную доставку данных.

Share this post


Link to post
Share on other sites

Serg_Sm

Прошу прощения ошибся - от 40МБит/с. (Биты и байты различаю, но от очепятки никто не застрахован).

 

 

В наше время - это не показатель. Подобный проект поднимается из готовых примеров за неделю при отсутствии опыта(с учетом специфики работы в нашей стране :) ).

Больше всего времени уйдет на компиляцию проекта ПЛИС.

Если требуется гарантия доставки данных необходимо предусмотреть буфер на >0.5 секунды (экспериментально подобрано для windows)

У нас один товарищ мучает TCP/IP на ПЛИС, но что-то не очень успешно пока ему удается. Скорость маленькая и поток данных со сбоями идет.

Хорошие примеры все идут за неплохие деньги, а из свободно доступного собрать стабильно работающий проект за неделю... Не верю. С отладкой задолбаешься возиться + ко всему со схемотехникой больше проблем будет.

Share this post


Link to post
Share on other sites

vetal
Скорость маленькая и поток данных со сбоями идет.

Проверяйте также приемную часть задачи. Когда я наткнулся на "артефакты" проблема была именно в программе на ПК : ПО на C# не успевало переварить трафик(сделан прокси на c + winsock2), операционная система может "приостановить" обмен на неопределенный срок (решается буферизацией на передающей стороне). Передавать информацию необходимо блоками данных оптимального размера(как в udp).

 

У нас один товарищ мучает TCP/IP на ПЛИС, но что-то не очень успешно пока ему удается.

Тут МК не поможет, т.к. в ПЛИС эту задачу торе решает МК(как правило)

Share this post


Link to post
Share on other sites

_pv
Нужно передать 16 битный поток от устройства в систему по Ethernet.

Делали проекты на Atmel ARM7/ARM9, но что-то с параллельной шиной там не очень и для достижения приличных скоростей по LAN нужно сильно постараться.

делал похожее на adsp-bf532 + dm9000a (сейчас дешевле, наверное, будет взять BF512 + KSZ8851).

у блэкфинов удобный параллельный порт. данные сначала с PPI шли во внешний СДРАМ, а от туда по запросу выдавались в езернет.

по UDP реальная скорость передачи данных почти под 100МБит получалась.

есть и со встроенным MAC, но у BF516, например, он на тех же ногах что и PPI.

 

если без задела на будущее, то можно вообще взять adsp-bf592 без внешней шины памяти и KSZ8851SNL по spi около 40мбит и получится.

правда вот памяти под буфер для перепосылки в случае потери пакета маловато в нём.

 

Share this post


Link to post
Share on other sites

andrewlekar

Если ориентироваться на 40 мбит, то LPC1768 + UDP + заточенный lwIP за глаза хватит. Если нужно 200 мбит, то можно попробовать Sitara от TI с гигабитным интерфейсом, либо на ПЛИС поднять.

Share this post


Link to post
Share on other sites

_pv
Если ориентироваться на 40 мбит, то LPC1768 + UDP + заточенный lwIP за глаза хватит.

а 16бит * 2.5МГц он чем принимать будет? просто чтением GPIO? он тогда только этим и будет занят.

можно конечно попробовать в последовательный вид преобразовать и через SSP, вроде на 50МГц может работать.

Share this post


Link to post
Share on other sites

andrewlekar
а 16бит * 2.5МГц он чем принимать будет?

Да кто ж его знает. Чем-то принимает, скорее всего с АЦП ловит. Думаю, что LPC1768 вполне обеспечит 16 бит на 2,5 МГц сэмплов.

 

А нет, вру. LPC1768 даёт тока 12 бит на 200 КГц. Значит с SPI будет брать.

Share this post


Link to post
Share on other sites

_pv
Значит с SPI будет брать.

 

7.17 SPI serial I/O controller

The LPC17xx contain one SPI controller....

 

7.17.1 Features

• Maximum SPI data bit rate of 12.5 Mbit/s

 

SSP правда в режиме мастера может 50мбит/с

Share this post


Link to post
Share on other sites

KRS

у LPC еще SD контроллер есть!

 

А вообще 40 мбит по UDP практически любой АРМ потянет. Тут действительно важный вопрос откуда данные берутся и как будут в контроллер доставляться! Может быть по пути еще буферизировать нужно и много рама из-за этого.

 

_pv,

SSP в мастере 50 мбит не сможет, там частота ограничена ЕМНИП 30 Mhz, так что при чипе разогнаном до 100 mhz прескалер 2 нельзя использовать.

Share this post


Link to post
Share on other sites

_pv
_pv,

SSP в мастере 50 мбит не сможет, там частота ограничена ЕМНИП 30 Mhz, так что при чипе разогнаном до 100 mhz прескалер 2 нельзя использовать.

я просто даташит глянул, особо не разбирался, но почему бы spi не работать на половинной тактовой частоте?

 

неужели врут?

7.18 SSP serial I/O controller

7.18.1 Features

• Maximum SSP speed of 50 Mbit/s (master) or 8 Mbit/s (slave)

хотя при этом зачем-то приводят параметр

SPI_MISO set-up time measured in SPI Master mode - 30ns Min
что вроде бы ограничивает частоту до 30МГц.

с другой стороны, какая ему разница за сколько наносекунд до фронта клоков slave данные выставил.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.