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

Parallel Redundancy Protocol (PRP) Zynq7000

Приветствую Вас уважаемые форумчане :biggrin:

 

Появилась потребность разобраться с резервированием Parallel Redundancy Protocol (PRP) и реализовать его либо в FPGA (Xilinx/Spartan6), либо в SoC(Xilinx/Zynq7000). Начальнику очень уж нравится SoC поэтому решил вопрос задать в этой теме форума. Хотя SoC не панацея можно и FPGA.

 

1) PRP на SoC.

В качестве железа - ZC702 с воткнутой в него (в FMC разъем) двухпортовый Ethernet модуль

 

2) RPR на FPGA

В качестве железа думаю сами сделаем платку с ПЛИС и контроллерами Ethernet. В общем как начальник пожелает :rolleyes:

 

Сам алгоритм работы PRP в общем и целом понятен. Безусловно будет реализация, будут вопросы. Но сейчас я хотел бы поинтересоваться у сообщества, кто и как решал подобную задачу? Или может быть решил бы? В общем поделитесь пожалуйста мыслями в тему...если таковые имеются конечно=)))

 

Сразу отмечу, что реализовать PRP в SoC подразумевается реализация в части PL, а PS использовать как тестовый процессор для загрузки и вычитывания данных. Т.е. оба варианта подразумевают описание алгоритмов PRP на HDL. Кстати у Xilinx вроде как есть IP ядра PRP и для Spartan и для Zynq, но естественно не за просто так=))) Наивно предположу, что может кто-то уже описывал эти алгоритмы (PRP) на HDL.....

 

В общем буду благодарем за любую информацию=))

 

 

 

 

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


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

т.е. так никто не делал и мыслей никаких нет?! :crying:

 

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


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

т.е. так никто не делал и мыслей никаких нет?! :crying:

 

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

 

Если второе, но цена на IP для Xilinx кусается, то можно посмотреть на решение от Flexibilis + Altera.

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

 

Можете бесплатно скачать IP ядро и reference проекты и сделать evaluation. Без аппаратного ключа оно будет работать 2 часа (т.н. time bomb). Потом - ребут.

С ключом работает без ограничений.

Целевое железо : Cyclone V SoC, Cyclone V, Cyclone IV.

 

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

А вообще тема рабочая.

 

http://www.flexibilis.com/products/frs/

 

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


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

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

 

Если второе, но цена на IP для Xilinx кусается, то можно посмотреть на решение от Flexibilis + Altera.

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

 

Можете бесплатно скачать IP ядро и reference проекты и сделать evaluation. Без аппаратного ключа оно будет работать 2 часа (т.н. time bomb). Потом - ребут.

С ключом работает без ограничений.

Целевое железо : Cyclone V SoC, Cyclone V, Cyclone IV.

 

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

А вообще тема рабочая.

 

http://www.flexibilis.com/products/frs/

 

 

Уточняю.

 

Дали мне в руки отладочную плату ZC702 (другой платы на предприятии нет :laughing: ) и сказали, что в области PL необходимо ИЗОБРЕСТИ ВЕЛОСИПЕД :wacko:

 

Да, я знаю, что есть корки в том числе и у Xilinx IP Core , НО купить их почему-то не хотят=)))) как обычно...

 

Так что делаем сами PRP на Verilog в PL вот так получается.

 

Хотел узнать...наверняка кто-то делал этот PRP на ПЛИС (PL)..... может в каком-то виде алгоритмы сохранились....В общем любую полезную инфу ищу

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


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

Уточняю.

 

Дали мне в руки отладочную плату ZC702 (другой платы на предприятии нет :laughing: ) и сказали, что в области PL необходимо ИЗОБРЕСТИ ВЕЛОСИПЕД :wacko:

 

Да, я знаю, что есть корки в том числе и у Xilinx IP Core , НО купить их почему-то не хотят=)))) как обычно...

 

Так что делаем сами PRP на Verilog в PL вот так получается.

 

Хотел узнать...наверняка кто-то делал этот PRP на ПЛИС (PL)..... может в каком-то виде алгоритмы сохранились....В общем любую полезную инфу ищу

Тут еще есть лавка http://soc-e.com/products/hsr-prp-switch-i...itch-for-fpgas/

 

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

Мое мнение что вам нужно уяснить что конкретно вы хотите сделать, что бы это было финансово выгодно. Судя по тому что можно нарыть в сети по всем вышеуказаным ссылкам и гуглю, я вижу обобщение:

Ядра как правило поддерживают и HSR и PRP и + имеют фунцию обычного switch-а.

Может быть вам есть смысл 1. Уточнить тех задание. 2. Изучить какие параметры предоставляют другие и сделать не хуже или компромисное решение. Иначе есть риск, что после получения PRP у вас попросят все остальное, и архитектурное решение нужно будет сильно допиливать.

Ну и матчасть: тут спрашивали , но ответов нет http://electronix.ru/forum/index.php?showt...=113288&hl=

Наверняка нужно смотреть что-то по теме network processors. Если найдете что-то стоящее поделитесь инфой :)

 

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


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

Тут еще есть лавка http://soc-e.com/products/hsr-prp-switch-i...itch-for-fpgas/

 

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

Мое мнение что вам нужно уяснить что конкретно вы хотите сделать, что бы это было финансово выгодно. Судя по тому что можно нарыть в сети по всем вышеуказаным ссылкам и гуглю, я вижу обобщение:

Ядра как правило поддерживают и HSR и PRP и + имеют фунцию обычного switch-а.

Может быть вам есть смысл 1. Уточнить тех задание. 2. Изучить какие параметры предоставляют другие и сделать не хуже или компромисное решение. Иначе есть риск, что после получения PRP у вас попросят все остальное, и архитектурное решение нужно будет сильно допиливать.

Ну и матчасть: тут спрашивали , но ответов нет http://electronix.ru/forum/index.php?showt...=113288&hl=

Наверняка нужно смотреть что-то по теме network processors. Если найдете что-то стоящее поделитесь инфой :)

 

Спасибо за ответ.

 

Может быть вам есть смысл 1. Уточнить тех задание. 2. Изучить какие параметры предоставляют другие и сделать не хуже или компромисное решение. Иначе есть риск, что после получения PRP у вас попросят все остальное, и архитектурное решение нужно будет сильно допиливать.

 

1.В общем и целом задание простое и вроде бы ясно. Реализовать резервирование ethernet используя PRP в соответствии со стандартом IEC 62439-3. В этом стандарте максимально подробно описывается принцип работы PRP. Вот собственно и все.

2. По поводу растущего аппетита, т.е. захочется HSR и т.п. здесь я бессилен. Захотят,значит, будем доделывать или переделывать.

 

Физически это будут 3 Ethernet контроллера подключенных к Zynq7000 и в области PL(Zynq7000) будет реализован HDL(verilog) блок (IP block) который будет:

a) управлять работой Ethernet контроллеров (внешние)

б) обрабатывать Ethernet кадры на предмет RCT (проще говоря вставлять и убирать поля PRP)

 

Этот блок (IP block HDL) в дальнейшем можно будет так же использовать в какой-нибудь не дорогой FPGA с тремя контроллерами ethernet.

 

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

 

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


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

Лучше поздно чем никогда:

 

Не советую разрабатывать (полностью) аппаратный PRP - На это уйдут как минимум 8-12 месяцев. Лучше написать PRP SW-драйвер или в крайнем случае в ПЛИС вынести поиск дубликатов.

 

А если в общем, то отдайте предпочтение HSR, так как он позволяет уменьшить кабельную систему на абсолютный минимум и гарантирует максимальную задержку пакетов по кольцу.

 

Если нужна HSR/PRP корка (есть вариант с 1588v2 TC), обращайтесь. Наше решение не "пристроенное" к обычному switch-у, а разработано специально для конечных узлов (end-nodes) и RedBox-ов и поэтому как минимум в два раза меньше (по ресурсам ПЛИС) чем всё остальное на рынке. Таблица конечных узлов (Nodes Table) и 1588v2 TC полностью аппаратные.

 

С уважением,

 

Валерий

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


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

Лучше поздно чем никогда:

 

Не советую разрабатывать (полностью) аппаратный PRP - На это уйдут как минимум 8-12 месяцев. Лучше написать PRP SW-драйвер или в крайнем случае в ПЛИС вынести поиск дубликатов.

 

А если в общем, то отдайте предпочтение HSR, так как он позволяет уменьшить кабельную систему на абсолютный минимум и гарантирует максимальную задержку пакетов по кольцу.

 

Если нужна HSR/PRP корка (есть вариант с 1588v2 TC), обращайтесь. Наше решение не "пристроенное" к обычному switch-у, а разработано специально для конечных узлов (end-nodes) и RedBox-ов и поэтому как минимум в два раза меньше (по ресурсам ПЛИС) чем всё остальное на рынке. Таблица конечных узлов (Nodes Table) и 1588v2 TC полностью аппаратные.

 

С уважением,

 

Валерий

 

Валерий приветствую Вас!=))

 

Тема эта по прежнему актуальна.

 

Не советую разрабатывать (полностью) аппаратный PRP - На это уйдут как минимум 8-12 месяцев. Лучше написать PRP SW-драйвер или в крайнем случае в ПЛИС вынести поиск дубликатов.

 

Возможно. Но Задача разработать именно аппаратный PRP модуль на ПЛИС, т.к. на процессоре уже реализован и он отжирает огромные вычислительные ресурсы. Размазывать поддержку PRP между процессором и ПЛИС можно и в каких-то случаях это удобно, но мне поставили задачу именно на ПЛИС.

Так что я ни в коем случае не могу спорить с Вашими мыслями.....дело говорите.

Но опять же задача есть задача и в общем-то обоснованная.

 

В последствии эту ПЛИС будут пристраивать к всевозможным устройствам с портом Ethernet и эти устройства не будут подозревать о PRP.... В общем у руководителей свои соображения на этот счет=)))

 

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


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

Dmitriyspb, чем закончилась ваша попытка разработать PRP на FPGA?

У нас стоит такая же задача, много мыслей и сомнений.

 

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


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

Dmitriyspb, чем закончилась ваша попытка разработать PRP на FPGA?

У нас стоит такая же задача, много мыслей и сомнений.

 

Все свелось к использованию IP core и отдельных SOM модулей с жесткой реализацией PRP.

 

Скину ссылки на IP core:

Для Xilinx

Для Altera:

 

Руководители посчитали не разумным пилить PRP самостоятельно, мол это востребовано, но еще не широко используется.

 

Есть даже микросхемка : отдельно (предполагаю, что это ASIC) c поддержкой PRP. Цена у неё не самая низкая, но разумная. Нашим руководителям она очень понравилась=))))

 

 

 

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


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

Спасибо.

 

Если не секрет, микросхемы FLEXIBILIS можно брать только через ARROW, или есть ещё каналы?

 

А с немцами Verylogic из сообщения выше не пробовали общаться? Мы написали им, пока ждём ответ. Будем сравнивать FLEXIBILIS vs. VERYLOGIC, если будет что сравнивать.

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


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

Все свелось к использованию IP core и отдельных SOM модулей с жесткой реализацией PRP.

 

Скину ссылки на IP core:

Для Xilinx

Для Altera:

 

Руководители посчитали не разумным пилить PRP самостоятельно, мол это востребовано, но еще не широко используется.

 

Есть даже микросхемка : отдельно (предполагаю, что это ASIC) c поддержкой PRP. Цена у неё не самая низкая, но разумная. Нашим руководителям она очень понравилась=))))

 

Я слыхал, что эта микросхема - ни что иное, как MAX10 в EQFP-144 корпусе на 50KLE, в который зашили жесткую конфигурацию корки от flexibilis. Если лень свой дизайн городить и портов много не надо, то вполне себе решение.

IMHO, уже стоит не на PRP/HSR смотреть, а на TSN (time sensitive networking). Сейчас в мире это тренд, который и до РФ рано или поздно доберется.

http://www.flexibilis.com/technology/tsn/

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


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

IMHO, уже стоит не на PRP/HSR смотреть, а на TSN (time sensitive networking). Сейчас в мире это тренд, который и до РФ рано или поздно доберется.

 

Это пусть заказчики смотрят. А мы пока сделаем, что просят :-)

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


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

Спасибо.

 

Если не секрет, микросхемы FLEXIBILIS можно брать только через ARROW, или есть ещё каналы?

 

А с немцами Verylogic из сообщения выше не пробовали общаться? Мы написали им, пока ждём ответ. Будем сравнивать FLEXIBILIS vs. VERYLOGIC, если будет что сравнивать.

 

Про немцев ничего не слыхал и дел с ними не имел.

 

На счет FLEXIBILIS....

Может и найдете дополнительные каналы (мы и не искали), нужно понимать что придется доплатить за дистрибьюциюи т.п.

А вообще с ними достаточно удобно работать и Финляндия относительно СПб совсем не далеко=))

 

 

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


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

Dmitryspb, я Вам личное сообщение написал, посмотрите плиз.

 

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


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

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

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

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

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

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

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

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

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

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