|
Последовательный высокоскоростной интерфейс |
|
|
|
May 18 2015, 05:16
|

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

|
Приветствую специалистов и тех, кто просто зашел полюбопытствовать! Ситуация следующая. Есть физически 4 провода = 2 дифференциальной пары (LVDS стандарт). Задача: Организовать максимально возможную высокоскоростную передачу (полный дуплекс). Т.е. получается две линии Tx и Rx. --------------------------------------------------------------------------------------------- Передача организовывается между двумя платами по средствам объединительной платы (кросс-плата). Стоит отметить платы имеют свои тактовые генераторы. Т.е. передача и прием - процессы асинхронные друг относительно друга. --------------------------------------------------------------------------------------------- Данные необходимо передавать структуированно, т.е. в соответствии с каким-либо протоколом. --------------------------------------------------------------------------------------------- Этот интерфейс будет реализован на FPGA (Xilinx). --------------------------------------------------------------------------------------------- Есть опыт реализации подобных интерфейсов дедовским способом (т.е. все придумываем сами в том числе и протокол и потом долго и упорно тестируем и ловим уйму баг, потом снова тестируем и снова ловим баги .... и в какой-то момент мне кажется что этот процесс стремиться к бесконечности (ИМХО)  ). Чтобы повторно не идти по этому пути прошу совета у опытных людей. Подскажите пожалуйста стандартный последовательный интерфейс, который мог бы мне помочь. Спасибо.
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
May 18 2015, 07:02
|

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

|
Цитата(vladec @ May 18 2015, 09:24)  Если Xilinx, то может Aurora? Возможно. Буду читать. На первый взгляд подходит
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
May 18 2015, 08:35
|

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

|
Цитата(Lmx2315 @ May 18 2015, 10:41)  Можете ещё на сериалайзеры посмотреть, типа таких : http://www.symmetron.ru/news/maxim-MAX9257A.shtml. Или других. Спасибо. Но у меня условие, что реализация на FPGA(Xilinx). Это не мой вариант к сожалению. А вообще интересная "вещица"
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
May 19 2015, 11:35
|

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

|
Цитата(vladec @ May 18 2015, 13:24)  Если Xilinx, то может Aurora? А она разве не требует обязательно использования гигабитных трансиверов? Автор, Вас устраивает сделать это на гигабитрых трансиверах? Тогда Аврора - самое то, мы как раз на ней делаем обмены все. Даже в оптику заталкиваем. О каких вообще скоростях идёт речь? Если о гигабитах - то только на этих трансиверах и остаётся гигабитных. Если сотни мегабит - то есть ещё варианты... Какая плисина то у Вас?
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
May 20 2015, 05:17
|

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

|
Цитата(Krys @ May 19 2015, 14:35)  А она разве не требует обязательно использования гигабитных трансиверов? Автор, Вас устраивает сделать это на гигабитрых трансиверах? Какая плисина то у Вас? Трансиверы на борту имеются на сколько мне удалось разобраться. Zynq 7020 SOC CLG400 - тип кристалла Цитата(Krys @ May 19 2015, 14:35)  О каких вообще скоростях идёт речь? Стараемся протолкнуть гигабиты. А что из этого выйдет посмотрим, когда железо в кучу соберем. Цитата(Krys @ May 19 2015, 14:35)  Если сотни мегабит - то есть ещё варианты... А какие еще могут быть варианты для скоростей пониже?
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
May 20 2015, 06:53
|

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

|
Цитата(Krys @ May 20 2015, 08:35)  да просто подать на SerDes с линий LVDS. Тоже до гигабита протолкнуть можно, но это при наличии линии синхронизации или CDR. А у Вас без всего этого может мегабит 300 получится с оверсемплингом. Только какой протокол сверху налепить?... А нужен ли он вообще? Пуляй да пуляй данные. Ну 8B/10B не помешает для байтовой синхронизации и ещё нескольких полезных бонусов. Глянул я об SerDes на просторах интернета и в общем стало ясно. Это все можно, но тогда нужно использовать самописные интерфейсы, либо чей-то готовый, либо отдельную микруху (это исключено) . Тем более CDR необходим совершенно точно. У Xilinx это Aurora и другого он не знает и не умеет. Вот сделал скрин из САПРа Xilinx. Т.е. Xilinx в разделе последовательных интерфейсов предлагает Aurora
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
May 20 2015, 07:16
|

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

|
Цитата(dm.pogrebnoy @ May 20 2015, 10:04)  Какая скорость нужна? Мы делали подобие UART на обычных LVDS линиях. На частоте 300 МГц тактовой ЕМНИП скорость передачи около 90 МБит/с получалась. см пост №7 Цитата(dm.pogrebnoy @ May 20 2015, 10:04)  Мы делали подобие UART на обычных LVDS линиях. На частоте 300 МГц тактовой ЕМНИП скорость передачи около 90 МБит/с получалась. Вот UART сюда применять не хочется больше всего. CDR нужен. Полный дуплекс 1 TX и 1 RX ---> CDR. Если самому на основе UART делать, тогда манчестер и т.д. и т.п даже и не хочется все расписывать..
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
May 20 2015, 09:15
|

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

|
Цитата(Dmitriyspb @ May 20 2015, 13:53)  Это все можно, но тогда нужно использовать самописные интерфейсы, либо чей-то готовый, либо отдельную микруху (это исключено) А что Вы под интерфейсами понимаете? Чем Вас пугает "самописные"? Подумаешь сигнал подать на SerDes, ну ещё пропустить через IDELAY, немного делов. Цитата(Dmitriyspb @ May 20 2015, 13:53)  Тем более CDR необходим совершенно точно Почему совершенно точно? Если без него, то можно несколько сотен мегабит всё равно получить... Цитата(Dmitriyspb @ May 20 2015, 13:53)  Тем более CDR необходим совершенно точно. У Xilinx это Aurora и другого он не знает и не умеет Дак получается, если пишут, что плисина не имеет гигабитных трансиверов, то и CDR в ней нет. Так что не годится Вам такой вариант. Остаётся на сердесах?
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|