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

 
 
> Последовательный высокоскоростной интерфейс
Dmitriyspb
сообщение May 18 2015, 05:16
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498



Приветствую специалистов и тех, кто просто зашел полюбопытствовать! biggrin.gif

Ситуация следующая. Есть физически 4 провода = 2 дифференциальной пары (LVDS стандарт). Задача: Организовать максимально возможную высокоскоростную передачу (полный дуплекс). Т.е. получается две линии Tx и Rx.
---------------------------------------------------------------------------------------------
Передача организовывается между двумя платами по средствам объединительной платы (кросс-плата).
Стоит отметить платы имеют свои тактовые генераторы. Т.е. передача и прием - процессы асинхронные друг относительно друга.
---------------------------------------------------------------------------------------------
Данные необходимо передавать структуированно, т.е. в соответствии с каким-либо протоколом.
---------------------------------------------------------------------------------------------
Этот интерфейс будет реализован на FPGA (Xilinx).
---------------------------------------------------------------------------------------------

Есть опыт реализации подобных интерфейсов дедовским способом (т.е. все придумываем сами в том числе и протокол и потом долго и упорно тестируем и ловим уйму баг, потом снова тестируем и снова ловим баги .... и в какой-то момент мне кажется что этот процесс стремиться к бесконечности (ИМХО) wacko.gif ).
Чтобы повторно не идти по этому пути прошу совета у опытных людей. Подскажите пожалуйста стандартный последовательный интерфейс, который мог бы мне помочь. Спасибо.



--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dm.pogrebnoy
сообщение May 20 2015, 09:08
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Просто в Zynq020 гигабитных трансиверов нету. А то, что тактовые разные на обоих платах, так UART тем и хорош, что имеет некоторую толерантность к этому. PLLкой можно сформировать нужные частоты. Кстати частоту можно поднять, 300 МГц это как ориентир, Artix7 (на котором сделан Zynq) тянет и больше. Так же можно воспользоваться встроенными SERDES, тогда еще паралелльный интерфейс практически сразу можно получить.


--------------------
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение May 20 2015, 11:11
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498



Цитата(dm.pogrebnoy @ May 20 2015, 12:08) *
Просто в Zynq020 гигабитных трансиверов нету.

Точно подметили. Тогда либо 15, либо 30 камень.

Цитата(dm.pogrebnoy @ May 20 2015, 12:08) *
Так же можно воспользоваться встроенными SERDES,

Вы имеете ввиду Core generator?

Цитата(Krys @ May 20 2015, 12:15) *
А что Вы под интерфейсами понимаете? Чем Вас пугает "самописные"? Подумаешь сигнал подать на SerDes, ну ещё пропустить через IDELAY, немного делов.


Я видать недопонимаю, что из себя представляет SerDes на Xilinx? Я так понимаю это Core Generator его создает. Поясните пожалуйста.


Цитата(Krys @ May 20 2015, 12:15) *
Почему совершенно точно? Если без него, то можно несколько сотен мегабит всё равно получить...

Можно я не буду писать.....тут словами долго и не понятно crying.gif


Цитата(Krys @ May 20 2015, 12:15) *
Дак получается, если пишут, что плисина не имеет гигабитных трансиверов, то и CDR в ней нет.

Поставим ту, которя имеет 30-ую


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
Krys
сообщение May 20 2015, 12:22
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Цитата(Dmitriyspb @ May 20 2015, 18:11) *
Я видать недопонимаю, что из себя представляет SerDes на Xilinx?
Вот тут описывается: http://www.xilinx.com/support/documentatio...versampling.pdf
В двух словах: это аппаратные блоки, преобразующие последовательный поток в параллельный. Ну и наоборот. Т.е. элементарные сдвиговые регистры с некоторой обвязкой. На них подаются (на приём) последовательные данные с ног LVDS, производится подстройка задержки (на аппаратных блоках задержки, задаваемой из пользовательской логики).


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение May 20 2015, 13:48
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498



Цитата(Krys @ May 20 2015, 15:22) *
Вот тут описывается: http://www.xilinx.com/support/documentatio...versampling.pdf
В двух словах: это аппаратные блоки, преобразующие последовательный поток в параллельный. Ну и наоборот. Т.е. элементарные сдвиговые регистры с некоторой обвязкой. На них подаются (на приём) последовательные данные с ног LVDS, производится подстройка задержки (на аппаратных блоках задержки, задаваемой из пользовательской логики).


Спасибо. Теперь стало все яснее.

Тут дело повернулось в сторону самодельного интерфейса (как я уже понял) на основе SERDES. Т.к. отладочные модули куплены на 7020, так что и боевые решили по аналогии использовать.

Думаю, что вопрос исчерпан. Всех благодарю за помощь. Узнал много полезного. bb-offtopic.gif


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 3 2015, 20:13
Сообщение #6


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Приветствую.
Необходимо что-то похожее, но для Cyclone V GX (подробности тут).
Буду рад совету.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dmitriyspb   Последовательный высокоскоростной интерфейс   May 18 2015, 05:16
- - vladec   Если Xilinx, то может Aurora?   May 18 2015, 06:24
|- - Dmitriyspb   Цитата(vladec @ May 18 2015, 09:24) Если ...   May 18 2015, 07:02
||- - Lmx2315   Можете ещё на сериалайзеры посмотреть, типа таких ...   May 18 2015, 07:41
||- - Dmitriyspb   Цитата(Lmx2315 @ May 18 2015, 10:41) Може...   May 18 2015, 08:35
|- - Krys   Цитата(vladec @ May 18 2015, 13:24) Если ...   May 19 2015, 11:35
|- - Dmitriyspb   Цитата(Krys @ May 19 2015, 14:35) А она р...   May 20 2015, 05:17
- - Krys   да просто подать на SerDes с линий LVDS. Тоже до г...   May 20 2015, 05:35
|- - Dmitriyspb   Цитата(Krys @ May 20 2015, 08:35) да прос...   May 20 2015, 06:53
|- - Krys   Цитата(Dmitriyspb @ May 20 2015, 13:53) Э...   May 20 2015, 09:15
- - dm.pogrebnoy   Какая скорость нужна? Мы делали подобие UART на об...   May 20 2015, 07:04
|- - Dmitriyspb   Цитата(dm.pogrebnoy @ May 20 2015, 10:04)...   May 20 2015, 07:16
- - krux   если вам надо прям всё готовенькое, то http://www....   May 20 2015, 09:51
- - Krys   Да, весчь! Надо запомнить для себя...   May 20 2015, 10:30
- - dm.pogrebnoy   SERDES это полезная штука, есть около каждой ножки...   May 20 2015, 12:17


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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 14:17
Рейтинг@Mail.ru


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