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

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

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

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

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

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

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

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

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

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


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

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

..

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

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

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


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

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

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

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

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


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

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

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

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

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

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


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

Нужно передать 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, если понадобится сделать гарантированную доставку данных.

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


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

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

 

 

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

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

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

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

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

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


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

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

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

 

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

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

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


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

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

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

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

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

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

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

 

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

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

 

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


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

Можно еще использовать DM9000 - он побыстрее, хотя весь стек придется прикручивать снаружи.

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


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

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

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


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

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

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

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

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


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

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

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

 

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

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


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

Значит с 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мбит/с

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


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

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

 

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

 

_pv,

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

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


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

_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 данные выставил.

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


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

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

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

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

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

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

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

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

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

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