|
Обмен данными с компьютером, Принимаю советы и замечания по модернизации старого проекта |
|
|
|
Mar 13 2009, 15:46
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Тему создал в этой ветке конференции, ибо надо заменить старое ПЛИС решение на новое или на что-то вообще другое.
Как лучше модифицировать имеющееся решение:
Имеется система сбора данных - ящик 19 дюймовый 4U. Внутри ящика самопальный cross на 10 плат расширения и 1 плата управления. От платы управления шел самопальный канал связи (6 диф. пар по 50МГц) к PCI плате (32бита 5V), втыкаемой в обычный компьютер.
Назрела необходимость изменить ввод данных в компьютер (отказаться от самопальной PCI платы, да и аналогичного канала передачи данных).
Cross и пачки различных плат расширения переделывать ой как неохота, а поэтому имеем такое схемно-убогое решение: от каждой платы расширения (ввода и обработки данных) к блоку управления тянется по 6 LVPECL пар (если быть более точным, то Xilinx LVPECL аля Virtex-E/Spartan-2E) - по 4 к плате расширения и по 2 к блоку управления, итого 60 пар.
Груды LVPECL пар, заходящих на блок управления, подаются на 2 XCV50E-7PQ240, каждый Virtex-E занимался работой со своей половиной шины. Первый мультиплексировал поточные данные от плат расширения и заливал эти данные в PC (по однонаправленной шине). Второй обрабатывал запросы от PC (записать конфигурационную информацию/считать оную из плат расширения). При таком построении системы получалось 2 независимых шины, простое решение в ПЛИС (почти что одни мультиплексоры и коммутаторы). Особенностью аппарата является то, сбор данных необходимо производить с привязкой к пространственной координате, т.е. весьма шустро реагировать на изменения скорости подвижного объекта, в котором собран измерительный комплекс - в том числе и из-за этой особенности стандартные платы ввода данных в PC не использовались (может быть зря ?).
Конструктивно блок управления может быть полноразмерной ISA (PCI) платой – с местом проблем нет – задняя планка ISA (KHPC) Bracket.
Поток (по, как я это безобразие назвал, «Control Bus») данных управления в обе стороны не превышает 1 Мбит/с. Поток данных (по, как я это безобразие назвал, «Data Bus») от плат расширения к PC пока не превышает 16 Мбит/с, но хочется развивать (потихонечку) одну из модификаций плат расширения... и раздуть поток до 105 Мбит/с, а затем и до 210 Мбит/с (из-за возрастающих пожеланий заказчика).
Думаю надо бы переделать передачу данных на Ethernet (а лучше бы с полной поддержкой TCP/IP). А вот тут и возникают вопросы как бы это получше сделать... Т.к. изделия не серийные, то можно использовать компоненты (в т.ч. ПЛИС) ценой в несколько тысяч рублей. 1. Может собрать почти как и было: поставить 2 Startan-3AN TQ144 (теоретически запаять BGA корпуса можно у соседей, но разводкой печатной платы под BGA пока не занимался, а чувствую, что это не делается с наскоку)... и приторочить к каждому Spartan’у по некоей фиговине (у которой с одной стороны какая-то шина, а с другой Ethernet (а лучше сразу TCP/IP) - знать бы еще как оные зовутся ?) ? 2. А может быть поставить одну ПЛИС и собрать там могучий мультиплексор, разгребающий данные к/от Ethernet ? 3. Может есть другие варианты - получше гигабитного Ethernet ???
P.S. работаю только с ПЛИС Xilinx. С EDK пока еще не работал...
|
|
|
|
|
 |
Ответов
|
Mar 16 2009, 11:05
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
IMHO тогда так: внешний PHY, например RTL8211. ПЛИСина - навроде Cyclone-II или III, только ксилинкс, сорри, не знаю, кто там аналогичен. МАК-корка - навроде CAST Gigabit Lite , в альтере займет ~2К лутов, значит в ксиле примерно 1.5К слайсов. Ну и остальное - как zltigo советовал, передача голыми ethernet пакетами, контроль целостности и повторы передачи прикрутить самому. Никаких ембеддед-процессоров, ни хард, ни софт, ну и соотв. никакого ембеддед-софта. К сожалению удобных мостов 1G Eth -> локальная шина я не знаю. Но если такой есть - то разумеется найти и применить
|
|
|
|
|
Mar 16 2009, 14:05
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(SM @ Mar 16 2009, 14:05)  Ну и остальное - как zltigo советовал, передача голыми ethernet пакетами, контроль целостности и повторы передачи прикрутить самому.
Никаких ембеддед-процессоров, ни хард, ни софт, ну и соотв. никакого ембеддед-софта. Я вот только думаю, что нормальная реализация контроля целостности и повтора передачи займет столько усилий, что отсутствие ембеддед-процессоров будет очень быстро проклято. А в EDK все готовое: проц, MAC, Linux. Остается написать драйвер устройства сбора данных для Linux - и все.
|
|
|
|
|
Mar 21 2009, 09:35
|

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

|
Цитата(DmitryR @ Mar 16 2009, 17:05)  Я вот только думаю, что нормальная реализация контроля целостности и повтора передачи займет столько усилий, что отсутствие ембеддед-процессоров будет очень быстро проклято. А в EDK все готовое: проц, MAC, Linux. Остается написать драйвер устройства сбора данных для Linux - и все. Вы хоть ПРИМЕРНО представляете себе, сколько времени уйдет у этого "готового TCP/IP Linux" на эту самую перепередачу? Ни о каком ровном многомегабитном потоке и речи идти не может, если встретится сбой. В реальности уровень ошибок на этих десятках метров и тем более при соединении точка точка будет ничтожен и соответственно или с этим мириться или делать заточенные под реальное время системы котроля, препередачи или избыточного кодирования. Использование штатных реализаций TCP/IP есть бред, если только за ними нет больших буферов на передачу на секунды и соответственно многократного запаса по пропускной способности канала.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 23 2009, 06:47
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(zltigo @ Mar 21 2009, 12:35)  Вы хоть ПРИМЕРНО представляете себе, сколько времени уйдет у этого "готового TCP/IP Linux" на эту самую перепередачу? Представляю. Нисколько, если настроить все на работу по DMA. Цитата(Boris_TS @ Mar 21 2009, 19:07)  Просмотрев Virtex-5 FPGA Embedded Tri-Mode Ethernet MAC User Guide я пришел к выводу, что если необходимо работать с медными проводами, то необходима внешняя PHY, а RocketIO (без HPY) может использоваться только для работы с оптическим приемопередатчиком (1000BASE-X). Надеюсь я всё правильно понял ? Ну а коли в режиме GMII частоты более 125МГц не используются, то можно брать практически любую недорогую ПЛИС. Почти так. Еще RocketIO умеет 1000BASE-CX (но вам это вряд ли пригодится), а также, что несколько более интересно, SGMII. Что же касается недорогой ПЛИС - то все так, лишь бы еще вписалось по емкости.
|
|
|
|
|
Mar 24 2009, 07:48
|

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

|
Ага, народ даже не подозревает, что в большинстве случаев DMA работает медленнее программной пересылки. И действительную пользу от DMA можно получить только в многозадачных решениях под управлением RTOS. А если думать о масштабировании и разделении потоков, то однозначно надо использовать многозадачный многинтерфейсный стек с мощным процессором сделанным не на FPGA В данной теме я уверен человек просто никуда не денется и ему придется заниматься масштабированием с расчеплением TCP потоков если надо сделать в сумме больше 100 MBit/s Никакой самопал на UDP не спасет ситуацию. Сетевая карта перегруженного компа просто молча отбрасывает UDP пакеты. UDP уровень в стеке TCP/IP нужен для протоколов которые обеспечивают целостность данных на более верхних уровнях, например SNMP или L2TP тоннели. В данном случае переносить контроль целостности на еще более верхний уровень будет нетривиальной задачей хотя в некоторых случаях есть интересные решения, как тоннель с мultilink PPP поверх UDP делающий один логический канал на нескольких физических Ethernet линиях. Эта фишка реализована в PowerQUICC на аппаратном уровне! Ваще кода писать не надо!  Цитата(zltigo @ Mar 24 2009, 08:58)  Все понятно, так и думал, что не представляете - это проблема TCP/IP протокола и возможного упирания в ширину канала, а отнюдь не затрат времени uC-MAC и мантра "DMA DMA.." тут ни причем.
|
|
|
|
|
Mar 24 2009, 10:13
|
iBuilder©
   
Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322

|
Цитата(AlexandrY @ Mar 24 2009, 11:48)  CUT А если думать о масштабировании и разделении потоков, то однозначно надо использовать многозадачный многинтерфейсный стек с мощным процессором сделанным не на FPGA CUT Может предложите конкретно, на чём можно сделать кроме FPGA пересылку потока 100 МБАЙТ по гигабиту с гарантией доставки (не голый UDP)? А то что-то когда доходит до поиска, ничего не нахожу. Заманчиво поставить некий комуникационный проц и не иметь гемора с реализацией всёго самому на FPGA, но что-то не находится проца, который может взять у моего устройства по локальной шине 100 МБАЙТ и передать по гигабиту с гарантией доставки (не голый UDP). А то помнится все говорили что ARM за 15$ есть решение, только вот где тот ARM... Да, и хотелось-бы не что-то абстрактное, а то что реально купить можно. Думаю будет не только мне интересно.
|
|
|
|
|
Mar 24 2009, 11:23
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Builder @ Mar 24 2009, 13:13)  Может предложите конкретно, на чём можно сделать кроме FPGA пересылку потока 100 МБАЙТ по гигабиту с гарантией доставки (не голый UDP)? А то что-то когда доходит до поиска, ничего не нахожу. И не найдете. Поскольку 100 МБАЙТ по гигабиту получали только в лабораторных условиях с голыми Jumbo-пакетами размером до 16К. Цитата А то помнится все говорили что ARM за 15$ есть решение, только вот где тот ARM... Да, и хотелось-бы не что-то абстрактное, а то что реально купить можно. Думаю будет не только мне интересно. Про ARM за 15$ говорили в контексте скорости 86 МБИТ/СЕК на голых UDP пакетах.
|
|
|
|
|
Mar 24 2009, 12:01
|
iBuilder©
   
Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322

|
Цитата(Aprox @ Mar 24 2009, 14:23)  И не найдете. Поскольку 100 МБАЙТ по гигабиту получали только в лабораторных условиях с голыми Jumbo-пакетами размером до 16К. Так хоть что близкое найти. Только PowerPC вот советовали, но там проц 400MHZ, явно не хватит. Про максимум, вы тесили или как? Слышал что 2 компа выжимают под 100мбайт без напряга. Сам ещё не тестил, но проверю. Цитата(Aprox @ Mar 24 2009, 14:23)  Про ARM за 15$ говорили в контексте скорости 86 МБИТ/СЕК на голых UDP пакетах. Да тут в соседней ветке AlexandrY советовал ARM с Гиг MAC-ом, но как-то напряг с такими. Вот и хотел узнать, где такие берут.
|
|
|
|
Сообщений в этой теме
Boris_TS Обмен данными с компьютером Mar 13 2009, 15:46 rezident После прочтения "много слов" у меня возн... Mar 13 2009, 17:00 Boris_TS Цитата(rezident @ Mar 13 2009, 21:00) Пос... Mar 13 2009, 17:52  rezident Цитата(Boris_TS @ Mar 13 2009, 22:52) Соб... Mar 13 2009, 20:34   Boris_TS На всякий случай опишу чуть подробнее работу имеющ... Mar 14 2009, 08:33 murmel1 Рекомендую задуматся о USB - сложность на порядок ... Mar 13 2009, 18:45 Boris_TS Цитата(murmel1 @ Mar 13 2009, 22:45) Реко... Mar 13 2009, 20:17  SM Цитата(Boris_TS @ Mar 13 2009, 23:17) Мож... Mar 13 2009, 20:57 zltigo Цитата(murmel1 @ Mar 13 2009, 21:45) Реко... Mar 13 2009, 21:06  SM Цитата(zltigo @ Mar 14 2009, 00:06) Все с... Mar 14 2009, 06:20   zltigo Цитата(SM @ Mar 14 2009, 09:20) CY7C68013... Mar 14 2009, 08:34    murmel1 Цитата(zltigo @ Mar 14 2009, 11:34) помян... Mar 14 2009, 17:24    SM Цитата(zltigo @ Mar 14 2009, 11:34) Оказы... Mar 14 2009, 17:49     zltigo Цитата(SM @ Mar 14 2009, 20:49) не требую... Mar 14 2009, 20:10      SM Цитата(zltigo @ Mar 14 2009, 23:10) В дан... Mar 14 2009, 20:47       zltigo Цитата(SM @ Mar 14 2009, 23:47) аналогичн... Mar 14 2009, 21:58        SM Цитата(zltigo @ Mar 15 2009, 00:58) Если-... Mar 15 2009, 09:50         zltigo Цитата(SM @ Mar 15 2009, 12:36) Вы опять ... Mar 15 2009, 09:55          SM Цитата(zltigo @ Mar 15 2009, 12:55) Прост... Mar 15 2009, 10:06           zltigo Цитата(SM @ Mar 15 2009, 13:06) 1) Обеспе... Mar 15 2009, 10:27         zltigo Цитата(SM @ Mar 15 2009, 12:50) Делаете с... Mar 15 2009, 10:11          SM Цитата(zltigo @ Mar 15 2009, 13:11) А кто... Mar 15 2009, 10:20           zltigo Цитата(SM @ Mar 15 2009, 13:20) В софте..... Mar 15 2009, 10:32            SM Цитата(zltigo @ Mar 15 2009, 13:32) В общ... Mar 15 2009, 10:54             zltigo Цитата(SM @ Mar 15 2009, 13:36) Причем я ... Mar 15 2009, 11:04              SM Цитата(zltigo @ Mar 15 2009, 14:04) Не ви... Mar 15 2009, 11:16      Михаил_K Цитата(zltigo @ Mar 14 2009, 23:10) Вы хо... Mar 15 2009, 06:44       zltigo Цитата(Михаил_K @ Mar 15 2009, 09:44) Кон... Mar 15 2009, 08:42        Михаил_K Цитата(zltigo @ Mar 15 2009, 11:42) IP ст... Mar 15 2009, 11:36         zltigo Цитата(Михаил_K @ Mar 15 2009, 14:36) Это... Mar 15 2009, 12:11          Михаил_K Цитата(zltigo @ Mar 15 2009, 15:03) Следу... Mar 15 2009, 12:12          SM Цитата(zltigo @ Mar 15 2009, 15:11) Следу... Mar 15 2009, 14:39           zltigo Цитата(SM @ Mar 15 2009, 17:39) поднятие ... Mar 15 2009, 15:51            a123-flex Цитата(zltigo @ Mar 15 2009, 18:51) Понял... Mar 15 2009, 18:06            Boris_TS Фуххх... Вернулся из 2 дневной командировки.
Цита... Mar 16 2009, 10:34             blackfin Цитата(Boris_TS @ Mar 16 2009, 13:34) Мож... Mar 16 2009, 10:45             DmitryR Цитата(Boris_TS @ Mar 16 2009, 13:34) 1. ... Mar 16 2009, 10:51             Boris_TS Подведу очередные итоги обсуждения:
Цитата(Boris_... Mar 19 2009, 09:39              SM Цитата(Boris_TS @ Mar 19 2009, 12:39) Воп... Mar 19 2009, 10:19              Aprox Цитата(Boris_TS @ Mar 19 2009, 12:39) Воп... Mar 19 2009, 11:22              DmitryR Цитата(Boris_TS @ Mar 19 2009, 12:39) но ... Mar 20 2009, 19:27               Boris_TS Цитата(DmitryR @ Mar 20 2009, 23:27) Micr... Mar 20 2009, 19:53                SM Цитата(Boris_TS @ Mar 20 2009, 22:53) Сей... Mar 21 2009, 15:04                 Boris_TS Цитата(SM @ Mar 21 2009, 19:04) Я Вам уже... Mar 21 2009, 16:07              AlexandrY Странно вы решаете эту проблему.
Траблы у вас в PC... Mar 20 2009, 20:16               Boris_TS Цитата(AlexandrY @ Mar 21 2009, 00:16) Ст... Mar 21 2009, 08:33      islavv Цитата(zltigo @ Mar 15 2009, 00:10) Эквив... Mar 17 2009, 13:13 des00 Цитата(Boris_TS @ Mar 13 2009, 09:46) Гру... Mar 14 2009, 03:59 RobFPGA Приветствую!
На USB в таких системах лутше не... Mar 14 2009, 18:09 rsv проще, по моему, все таки ethernet сделать через ж... Mar 14 2009, 18:35 Михаил_K Здравствуйте!
Добавлю своего мнения
Когда-то... Mar 14 2009, 18:52 SM Цитата(Михаил_K @ Mar 14 2009, 21:52) И н... Mar 14 2009, 19:34 RobFPGA Приветствую!
При выборе интерфейса для систем... Mar 14 2009, 21:17 SM Цитата(RobFPGA @ Mar 15 2009, 00:17) Реал... Mar 14 2009, 21:23 SM То, что нет проблем с местом на плате, и то, что м... Mar 15 2009, 10:32 Alex11 Тут уже много чего сказано, но можно добавить, что... Mar 15 2009, 18:19 SM Цитата(Alex11 @ Mar 15 2009, 21:19) но мо... Mar 15 2009, 22:03  SM Цитата(DmitryR @ Mar 16 2009, 17:05) Оста... Mar 16 2009, 19:33   DmitryR В этом проекте без программиста все равно вряд ли ... Mar 17 2009, 07:55   Михаил_K Цитата(SM @ Mar 16 2009, 22:33) Для специ... Mar 17 2009, 09:14    SM Цитата(Михаил_K @ Mar 17 2009, 12:14) ИМХ... Mar 17 2009, 10:45      blackfin Цитата(AlexandrY @ Mar 24 2009, 10:48) Эт... Mar 24 2009, 08:02      Aprox Цитата(AlexandrY @ Mar 24 2009, 10:48) Ни... Mar 24 2009, 08:20 jojo Внешний PHY 10/100/1000
Древний, зато купить легко... Mar 16 2009, 14:50 Михаил_K Наши делали так. Интеловский сетевой процессор. На... Mar 16 2009, 19:18 SM Да, а что Вас так ксилинксом приплющило? Ведь есть... Mar 19 2009, 11:58 jojo >Для того, чтобы не возникало ненужных вопросов... Mar 21 2009, 19:04 Builder Цитата(jojo @ Mar 21 2009, 23:04) По пово... Mar 22 2009, 22:02  jojo Цитата(Builder @ Mar 23 2009, 01:02) Не п... Mar 23 2009, 08:18   Builder Цитата(jojo @ Mar 23 2009, 12:18) NIOS2.
... Mar 23 2009, 09:37 SM Все так, трансивер -> SFP -> волокно. Если м... Mar 21 2009, 19:19 Muxa По поводу USB переходников, не всё так просто.
бо... Mar 23 2009, 00:11 jojo Стек сам писал. Это же "наивная реализация... Mar 23 2009, 10:11 jojo В нормальных процессорах DMA таки ускоряет пересыл... Mar 24 2009, 08:59 AlexandrY Цитата(jojo @ Mar 24 2009, 10:59) В норма... Mar 24 2009, 09:43  jojo >Лучше расскажите где вы этот миф прочитали
В ... Mar 24 2009, 11:12 SM Народ, вы все позабывали то, откуда берутся данные... Mar 24 2009, 12:48 Boris_TS Цитата(SM @ Mar 24 2009, 16:48) Народ, вы... Mar 24 2009, 14:50  Builder Цитата(Boris_TS @ Mar 24 2009, 18:50) Еще... Mar 25 2009, 07:15   blackfin Цитата(Builder @ Mar 25 2009, 10:15) Кста... Mar 25 2009, 07:49   SM Цитата(Builder @ Mar 25 2009, 10:15) Один... Mar 25 2009, 08:14 :-) Хотелось бы продолжить данную тему.
Есть желание... Nov 19 2009, 13:14 o_khavin Цитата(:-) @ Nov 19 2009, 17... Nov 22 2009, 16:40  :-) Цитата(o_khavin @ Nov 22 2009, 19:40) Для... Nov 23 2009, 07:57   o_khavin Цитата(:-) @ Nov 23 2009, 11... Nov 23 2009, 20:56 :-) Ethernet нравится тем, что, во-первых, имеются нек... Nov 24 2009, 07:53 Aprox Цитата(:-) @ Nov 24 2009, 11... Nov 27 2009, 14:00 XVR ЦитатаГлавная сложность продумать реализацию алгор... Nov 24 2009, 08:36 warrior-2001 В данной ветке проскакивало упоминание о "Vid... Oct 11 2011, 06:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|