|
Обмен данными с компьютером, Принимаю советы и замечания по модернизации старого проекта |
|
|
|
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 24 2009, 14:50
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Цитата(SM @ Mar 24 2009, 16:48)  Народ, вы все позабывали то, откуда берутся данные. Собрать их оттуда без ПЛИС решения вообще не видно. Точно. Сейчас прорабатываю варианты реализации - какую Eth PHY проще купить (и использовать), какое внешнее ОЗУ легче достать и т.п. Но архитектура уже более или менее определилась: две груды LVPECL линий заходят на Spartan-3AN (благо, хоть это и не документированно для этой ПЛИС, но при желании, можно собрать LVPECL выходы аналогичные "Virtex-E LVPECL"), благополучно преобразуются в 2 потока (данных и команд), далее запихиваются во внешнее ОЗУ. При освобождении Eth Gigabit MAC, данные из ОЗУ заталкиваются в MAC, и в служебном массивчике метятся как переданные (но пока еще без подтверждения о получении), после получения такого подтверждения для конкретного пакета, место, занимаемое в ОЗУ этим пакетом, считается свободным. Ну и в таком духе дальше принимать/передавать данные. Еще раз напомню, т.к. не прозвучало достаточных (для меня) доводов: почему надо пухнуть с поддержкой UDP/IP, то предполагаю обойтись голым Ethernet'ом и соединение сделать по меди аппаратно точно-точка (без коммутаторов и прочей дряни). Также не может не радовать и то, что выступившим удалось передать более 100МБайт/с по Gigabit Ethernet, мне же всего-то требуется только 15МБайт/с (или, если очень захочется заказчику увеличить количество датчиков - ну никак не более 30МБайт/с - только для меня остается загадной: нафига ставить еще больше датчиков - их и так в полноценной системе их дофига, а обычно заказывают с 50%-60% каналов сбора данных).
|
|
|
|
|
Mar 25 2009, 07:15
|
iBuilder©
   
Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322

|
Цитата(Boris_TS @ Mar 24 2009, 18:50)  Еще раз напомню, т.к. не прозвучало достаточных (для меня) доводов: почему надо пухнуть с поддержкой UDP/IP, то предполагаю обойтись голым Ethernet'ом и соединение сделать по меди аппаратно точно-точка (без коммутаторов и прочей дряни). Один из плюсов UDP - стандартные возможности програмирования, например в винде стандартно можно работать только с TCP и UDP, если ниже, придётся использовать WinPCap: http://netgroup-serv.polito.it/winpcap/Если WinPCap допустим, можно и без UDP попробовать. Цитата(Boris_TS @ Mar 24 2009, 18:50)  Сейчас прорабатываю варианты реализации - какую Eth PHY проще купить (и использовать), какое внешнее ОЗУ легче достать и т.п. И к чему склоняетесь? Цитата(Boris_TS @ Mar 24 2009, 18:50)  преобразуются в 2 потока (данных и команд), далее запихиваются во внешнее ОЗУ. При освобождении Eth Gigabit MAC, данные из ОЗУ заталкиваются в MAC, и в служебном массивчике метятся как переданные (но пока еще без подтверждения о получении), после получения такого подтверждения для конкретного пакета, место, занимаемое в ОЗУ этим пакетом, считается свободным. Ну и в таком духе дальше принимать/передавать данные. Кстати, как-то пролистал стандарт на TCP, и меня терзают смутные мысли, что если начать делать такой протокол, получится почти тот-же TCP, только без уровня функций пользователя. Ни кто не пробовал, насколько это так?
|
|
|
|
Сообщений в этой теме
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 IMHO тогда так:
внешний PHY, например RTL8211.
ПЛ... Mar 16 2009, 11:05 DmitryR Цитата(SM @ Mar 16 2009, 14:05) Ну и оста... Mar 16 2009, 14:05  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  zltigo Цитата(DmitryR @ Mar 16 2009, 17:05) Я во... Mar 21 2009, 09:35   DmitryR Цитата(zltigo @ Mar 21 2009, 12:35) Вы хо... Mar 23 2009, 06:47    zltigo Цитата(DmitryR @ Mar 23 2009, 09:47) Пред... Mar 24 2009, 06:58     AlexandrY Ага, народ даже не подозревает, что в большинстве ... Mar 24 2009, 07:48      blackfin Цитата(AlexandrY @ Mar 24 2009, 10:48) Эт... Mar 24 2009, 08:02      Aprox Цитата(AlexandrY @ Mar 24 2009, 10:48) Ни... Mar 24 2009, 08:20      Builder Цитата(AlexandrY @ Mar 24 2009, 11:48) CU... Mar 24 2009, 10:13       Aprox Цитата(Builder @ Mar 24 2009, 13:13) Може... Mar 24 2009, 11:23        Builder Цитата(Aprox @ Mar 24 2009, 14:23) И не н... Mar 24 2009, 12:01 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   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
|
|
|