реклама на сайте
подробности

 
 
5 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> гигабитный поток по LVDS c ПЛИС на ПЛИС на расстояние до 20 метров
RoadRunner
сообщение Jul 19 2018, 07:46
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Всем доброго времени суток.

Собственно, нужно наладить прием/передачу по LVDS между двумя платами с Cyclone V. Скорость до 1 Гбит/с, расстояние до 20 метров.

Мне видятся два варианта:

- использовать Dedicated Tranceiver. Будет одна витая пара. Тут проблема в том, что для меня это зверь неизвестный и неизвестно сколько там будет глюков и подводных камней при его отладке. В этой связи хотелось бы послушать опытных в его использовании людей.

- прокинуть две витые пары под данные и под клок. Использовать либо готовое решение сериализатора/десериализатора в виде мегафункций ALTLVDS_TX/RX, либо самому это сделать на обычной внутренней PLL (ALT_PLL) и сдвиговых регистрах.

Мне больше всего нравится последний вариант - сделать все самому - по причине его прозрачности для меня как для разработчика. И если уж в этом случае исправлять глюки, то в основном свои, а не альтеровских разрабов. Вопрос в том, насколько это вообще реально, нормально выделить и подстроить под данные клок PLLкой на приемной стороне без применения оптимизированных dedicated блоков на таких скоростях и расстояниях.

Буду благодарен за советы.
Go to the top of the page
 
+Quote Post
warrior-2001
сообщение Jul 19 2018, 08:49
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 368
Регистрация: 9-10-08
Из: Таганрог, Ростовская обл.
Пользователь №: 40 792



Приветствую.

Если на обеих платах одинаковые источники синхронизации, то будут работать оба варианта.
Если разные - то тоже заработают оба варианта скорее всего, но зачем рисковать? Я бы заложил 2 витые пары а потом попробовало оба способа реализации и в случае успеха первого варианта отказался бы от подключения второй пары.
Вот только в datasheet указаны скорости, менее 1 Гб/с.


--------------------
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые могут избегать ее. Гении ее устраняют.
Go to the top of the page
 
+Quote Post
RoadRunner
сообщение Jul 19 2018, 09:30
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата(warrior-2001 @ Jul 19 2018, 11:49) *
Приветствую.

Если на обеих платах одинаковые источники синхронизации, то будут работать оба варианта.


Да, забыл написать, синхронизацию плат планируется делать через этот самый интерфейс передачи данных. Т.е. есть одна плата, задающая клок, а другая (другие) цепляют клок от нее. Таким образом вариант с отдельной линией под клок тут идеально устраивает.

В то же время трансиверы выделяют клок из линии данных, который потом по идее доступен для использования в ПЛИС. Но это на бумаге опять же, в теории. Хочется узнать, что там на практике. Трансивер, судя по первому знакомству, - штука довольно громоздкая с кучей функций, кодирований и т.д., да еще и "черный ящик", во внутренности которого, если глюкнет, даже осциллографом не подоткнешься для отладки. Другое дело, если без этих сложностей не обойтись. Например, то же кодирование 8B/10B, которое опционально есть в трансивере, постоянку в линии убирает, что возможно уменьшит энергопотребление. Но я пока это смутно себе представляю.

Цитата(warrior-2001 @ Jul 19 2018, 11:49) *
Вот только в datasheet указаны скорости, менее 1 Гб/с.

Если вы datasheet на трансивер имеете ввиду, то да, тут тоже вопрос: там в настройках можно выставить минимальную скорость 800Мбит/с. Есть также пересет с настройками на 600 с копейками. Почему такая граница снизу на скорость, и чем она определяется, мне тоже непонятно.
Go to the top of the page
 
+Quote Post
Leka
сообщение Jul 19 2018, 09:55
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 049
Регистрация: 30-09-05
Пользователь №: 9 118



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

Сообщение отредактировал Leka - Jul 19 2018, 09:55
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jul 19 2018, 11:42
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 182
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(RoadRunner @ Jul 19 2018, 12:30) *
Да, забыл написать, синхронизацию плат планируется делать через этот самый интерфейс передачи данных. Т.е. есть одна плата, задающая клок, а другая (другие) цепляют клок от нее. Таким образом вариант с отдельной линией под клок тут идеально устраивает.
Пропихнуть 1Gb через 1 дифф пару пинов скорее всего не получится - на сколько помню для Cyclone V 640 Mb только LVDS тянет.

Цитата(RoadRunner @ Jul 19 2018, 12:30) *
В то же время трансиверы выделяют клок из линии данных, который потом по идее доступен для использования в ПЛИС. Но это на бумаге опять же, в теории. Хочется узнать, что там на практике. Трансивер, судя по первому знакомству, - штука довольно громоздкая с кучей функций, кодирований и т.д., да еще и "черный ящик", во внутренности которого, если глюкнет, даже осциллографом не подоткнешься для отладки. Другое дело, если без этих сложностей не обойтись. Например, то же кодирование 8B/10B, которое опционально есть в трансивере, постоянку в линии убирает, что возможно уменьшит энергопотребление. Но я пока это смутно себе представляю.
Так запустите трансивер в симуляторе и поиграйтесь параметрами и режимами работы.


Цитата(RoadRunner @ Jul 19 2018, 12:30) *
Если вы datasheet на трансивер имеете ввиду, то да, тут тоже вопрос: там в настройках можно выставить минимальную скорость 800Мбит/с. Есть также пересет с настройками на 600 с копейками. Почему такая граница снизу на скорость, и чем она определяется, мне тоже непонятно.
Скорее всего зависит от ограничения снизу в частотах генерации внутренних PLL или подстраиваемых линий задержек. А 600 Mb получаю скорее всего 2х оверсампингом и прореживанием данных на выходе трансивера.

IMHO - 1Gb на 20 метров - лучше тянуть оптикой - через те-же трансиверы. Стандартное решение.

Удачи! Rob.
Go to the top of the page
 
+Quote Post
AVR
сообщение Jul 19 2018, 12:04
Сообщение #6


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 321
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(RoadRunner @ Jul 19 2018, 10:46) *
Собственно, нужно наладить прием/передачу по LVDS между двумя платами с Cyclone V. Скорость до 1 Гбит/с, расстояние до 20 метров

Я не спец по возможностям выводов ПЛИС, но всё же рискну предположить что есть некие "нагрузочные характеристики" (макс. ток, предельная емкость), которые могут не позволить выдать такую скорость на такое расстояние. Другое дело оптика. И да, пишут что LVDS на сык5 не дает гиг.

Если не секрет, почему не Ethernet?


--------------------
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jul 19 2018, 12:11
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 182
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(AVR @ Jul 19 2018, 15:04) *
Я не спец по возможностям выводов ПЛИС, но всё же рискну предположить что есть некие "нагрузочные характеристики" (макс. ток, предельная емкость), которые могут не позволить выдать такую скорость на такое расстояние.
Если есть хорошие кабеля с разъемами то можно и больше гнать - я передавал/принимал c Virtex5 на 10m по меди 4x 3.125 Gb.

Удачи! Rob
Go to the top of the page
 
+Quote Post
Leka
сообщение Jul 19 2018, 12:32
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 1 049
Регистрация: 30-09-05
Пользователь №: 9 118



Кстати, если мало кабелей, почему витая пара, а не тонкий коаксиал, например?
Go to the top of the page
 
+Quote Post
RoadRunner
сообщение Jul 19 2018, 13:17
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата(RobFPGA @ Jul 19 2018, 14:42) *
Пропихнуть 1Gb через 1 дифф пару пинов скорее всего не получится - на сколько помню для Cyclone V 640 Mb только LVDS тянет.

Да, нашел в описании на Cyclone такое. Спасибо за информацию.

Цитата(AVR @ Jul 19 2018, 15:04) *
Я не спец по возможностям выводов ПЛИС, но всё же рискну предположить что есть некие "нагрузочные характеристики" (макс. ток, предельная емкость), которые могут не позволить выдать такую скорость на такое расстояние. Другое дело оптика. И да, пишут что LVDS на сык5 не дает гиг.

Если не секрет, почему не Ethernet?

Хочется упростить физический интерфейс, от PHY/свичей избавиться. Во-первых, едят много. Во-вторых, большие потери и задержки накапливаются при соединени многих элементов друг за другом гирляндой. С потерями, строго говоря, не все ясно, возникают ли они из-за некачественной линии или непосредственно в свиче. Есть подозрение, что второе.

Собственно, я щас эту систему и переделываю с Ethernet на более простой физический интерфейс.


Цитата(Leka @ Jul 19 2018, 15:32) *
Кстати, если мало кабелей, почему витая пара, а не тонкий коаксиал, например?

Под определенный кабель делаю - четыре витых пары. Для полного дуплекса. Я не могу выбрать произвольный, какой хочу.

На худой конец и 500 Мбит сгодится. 1000 - это уж задача максимум)

Сообщение отредактировал RoadRunner - Jul 19 2018, 13:14
Go to the top of the page
 
+Quote Post
TRILLER
сообщение Jul 19 2018, 13:28
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 178
Регистрация: 17-02-09
Из: Санкт-Петербург
Пользователь №: 45 001



Цитата(RobFPGA @ Jul 19 2018, 15:11) *
Если есть хорошие кабеля с разъемами то можно и больше гнать - я передавал/принимал c Virtex5 на 10m по меди 4x 3.125 Gb.

Сердесами без использования рокетов? Круто! В V6 да на 5 метров приходилось приёмо-передатчики чуть ли не врукопашную подстраивать. Правда там было 6,25..
Go to the top of the page
 
+Quote Post
RoadRunner
сообщение Jul 19 2018, 13:32
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата(RobFPGA @ Jul 19 2018, 15:11) *
Приветствую!
Если есть хорошие кабеля с разъемами то можно и больше гнать - я передавал/принимал c Virtex5 на 10m по меди 4x 3.125 Gb.

А хороший кабель - это какой?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jul 19 2018, 13:39
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 182
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(TRILLER @ Jul 19 2018, 16:28) *
Сердесами без использования рокетов? ...
Нее.. я не такой мазохист sm.gif - это был обычный XAUI линк для 10G Ethernet на рокетах как и положено. Но на линке было 4 разъема.

Цитата(RoadRunner @ Jul 19 2018, 16:32) *
А хороший кабель - это какой?
Смотрите CX4 copper cable.

Удачи! Rob.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Jul 19 2018, 13:52
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(RoadRunner @ Jul 19 2018, 16:32) *
А хороший кабель - это какой?

Category 8?
Go to the top of the page
 
+Quote Post
Volkov
сообщение Jul 19 2018, 14:24
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 282
Регистрация: 21-01-05
Пользователь №: 2 104



Цитата(RoadRunner @ Jul 19 2018, 10:46) *
Всем доброго времени суток.

Собственно, нужно наладить прием/передачу по LVDS между двумя платами с Cyclone V. Скорость до 1 Гбит/с, расстояние до 20 метров.


А если эквалайзер поставить на приемной плате, скажем DS16EV5110. А передавать через TMDS Redriver.
.
Прикрепленное изображение


Можно на суппорте TI поспрашивать как их редрайверы работают на кабель 20м.



Цитата(RobFPGA @ Jul 19 2018, 15:11) *
Приветствую!
Если есть хорошие кабеля с разъемами то можно и больше гнать - я передавал/принимал c Virtex5 на 10m по меди 4x 3.125 Gb.

Удачи! Rob


Хороший кабель + хороший драйвер и приемник. Вы же не LVDS c Virtex5 гнали. Что бы передавать на 20м, нужно развязать по DC, соответственно и 8/10b кодирование. И эквалайзер, у вас был на Virtex5, и приемфазисыЮ с деемпфазисами.
Go to the top of the page
 
+Quote Post
AVR
сообщение Jul 19 2018, 14:36
Сообщение #15


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 321
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(RobFPGA @ Jul 19 2018, 15:11) *
Если есть хорошие кабеля с разъемами то можно и больше гнать - я передавал/принимал c Virtex5 на 10m по меди 4x 3.125 Gb.

Присоединяюсь к вопросу предыдущего комментария: какие хитрости и дополнительные навороты использовались для достижения подобного результата? И можно ли просто выдавая сигнал на дифпару получить гиг на 20 метров? Без предыскажений, без эквалайзеров, без самосинхронизирующих кодирований и т.п.? А то ведь XAUI много чего в себе наворачивает...


--------------------
Go to the top of the page
 
+Quote Post

5 страниц V   1 2 3 > » 
Reply to this topicStart new topic
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th August 2018 - 06:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01083 секунд с 7
ELECTRONIX ©2004-2016