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

 
 
> LVDS под одной паре (без клока), Cyclone10LP и Spartan7
AVR
сообщение Sep 25 2018, 10:21
Сообщение #1


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

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



Есть связь из Spartan 7 в Cyclone 10 LP по одной дифференциальной паре проводников (есть и обратная пара). Хочется понять, как действовать, если хочется передавать данные без передачи клока?
Допустим, задействую такой код 8/10, где байт будет передаваться так, чтобы хотя бы раз в три бита будет инверсия. Ведь сам поток данных это по сути прерывистые нерегулярные такты.
Или например, буду добавлять преамбулы в начала пакетов, escape-последовательности.

Вообще, реально ли какими-то алгоритмическими мерами и кодами, просто принимая поток с LVDS (от 10 до 400 Мбит/с, но каждый раз это константа), учитывая что тактовые не синхронные (хотя их стабильность 50 ppm) и плавают, что мы не знаем где центр глаза, как-то принимать данные, как-то делать обнаруживать битовые сдвиги и компенсировать их?

Нужно именно не задействовать хитрые режимы PLL, задержки, приемы на разных фазах, потому что возможности Cyclone 10 LP тут ничтожны. Или я ошибаюсь?

Опираюсь на бутылочное горлышко - на ту ПЛИС из этих двух, что имеет наименьшие возможности (C10LP), пусть будет единое со Spartan 7 решение.


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
blackfin
сообщение Sep 25 2018, 11:05
Сообщение #2


Гуру
******

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



Цитата(AVR @ Sep 25 2018, 13:21) *
Есть связь из Spartan 7 в Cyclone 10 LP по одной дифференциальной паре проводников (есть и обратная пара). Хочется понять, как действовать, если хочется передавать данные без передачи клока?

ИМХО, забыть про LVDS, по одному проводу передавать клок, а по другому данные.
Go to the top of the page
 
+Quote Post
Aner
сообщение Sep 25 2018, 11:12
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (blackfin @ Sep 25 2018, 14:05) *
ИМХО, забыть про LVDS, по одному проводу передавать клок, а по другому данные.

Это как так ?
... по одному проводу передавать клок, а по другому данные.
Относительно GND?
Да, чудненько так!


Go to the top of the page
 
+Quote Post
blackfin
сообщение Sep 25 2018, 11:14
Сообщение #4


Гуру
******

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



Цитата(Aner @ Sep 25 2018, 14:12) *
Это как так ?
... по одному проводу передавать клок, а по другому данные.
Относительно GND?
Да, чудненько так!

Память DDR3 именно так и работает.. biggrin.gif
Go to the top of the page
 
+Quote Post
Aner
сообщение Sep 25 2018, 11:19
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (blackfin @ Sep 25 2018, 14:14) *
Память DDR3 именно так и работает.. biggrin.gif

Не нужно забывать, что там по стандарту в DDR3/4 внутри лог автоматы с обоих сторон интерфейса с подстройкой фронтов. А не просто лог вход/выход.
Так что не так.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Sep 25 2018, 11:30
Сообщение #6


Гуру
******

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



Цитата(Aner @ Sep 25 2018, 14:19) *
Не нужно забывать, что там по стандарту в DDR3/4 внутри лог автоматы с обоих сторон интерфейса с подстройкой фронтов. А не просто лог вход/выход.

Во-первых, в Spartan 7 есть регулируемые линии задержки по входам:
Цитата
I/O Logic

Input Delay
All inputs can be configured as either combinatorial or registered. Double data rate (DDR) is supported by all inputs and outputs. Any input can be individually delayed by up to 32 increments of 78ps, 52ps, or 39ps each. Such delays are implemented as IDELAY. The number of delay steps can be set by configuration and can also be incremented or decremented while in use.

ISERDES and OSERDES
Many applications combine high-speed, bit-serial I/O with slower parallel operation inside the device. This requires a serializer and deserializer (SerDes) inside the I/O structure. Each I/O pin possesses an 8-bit IOSERDES (ISERDES and OSERDES) capable of performing serial-to-parallel or parallel-to-serial conversions with programmable widths of 2, 3, 4, 5, 6, 7, or 8 bits. By cascading two IOSERDES from two adjacent pins (default from differential I/O), wider width conversions of 10 and 14 bits can also be supported. The ISERDES has a special oversampling mode capable of asynchronous data recovery for applications like a 1.25Gb/s LVDS I/O-based SGMII interface.


Во-вторых, 400 Mb/s это все-таки не 800 Mb/s на которых работает контроллер DDR3 Spartan'a:
Цитата
The SSTL I/O standard can support data rates of up to 800Mb/s for DDR3 interfacing applications.

См. DS171, page 5,6
Go to the top of the page
 
+Quote Post
AVR
сообщение Sep 25 2018, 11:47
Сообщение #7


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

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



Цитата(blackfin @ Sep 25 2018, 14:30) *
Во-первых, в Spartan 7 есть регулируемые линии задержки по входам:

Я недавно создавал тему тут, как раз по этому вопросу. На тему что делать, если подобных задержек в C10LP нету.
В Spartan7 они есть, и работают, правда позволяют регулировать задержку +- 0,5 клока, причем идиотским способом. Теоретически, +- 0,5 времени символа достаточно, только вот на границе -0,5 там невозможно быстро перейти к +0,5. Половина диапазона там тупо недоступна. Может я что-то не понял, но тем не менее - функция не вполне рабочей кажется.

На первом макете некоего устройства (не скоро сделают) у меня будет клоковая линия. Но это сейчас, потом от нее нужно будет отойти как от костыля. И вот, может ПЛИС выбрать нужно другую? Может Cyclone 10 GX? И вот в ней уже я знаю есть многое что нужно, те же DPA.

Вижу такой документ: https://www.ti.com/lit/ds/slls570d/slls570d.pdf
Тут как раз передача данных без клока по LVDS, и при этом в приемнике есть Clock Recovery.


--------------------
Go to the top of the page
 
+Quote Post
blackfin
сообщение Sep 25 2018, 11:57
Сообщение #8


Гуру
******

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



Цитата(AVR @ Sep 25 2018, 14:47) *
Может я что-то не понял, но тем не менее - функция не вполне рабочей кажется.

А xapp1017 и xapp585 читали?

Цитата(AVR @ Sep 25 2018, 14:47) *
И вот, может ПЛИС выбрать нужно другую? Может Cyclone 10 GX?

Странный выбор.. Тогда уж лучше выбрать Spartan-7 + Artix-7 (или Kintex-7, или Kintex Ultra)..

Кстати, ещё раз процитирую DS171:
Цитата
The ISERDES has a special oversampling mode capable of asynchronous data recovery for applications like a 1.25Gb/s LVDS I/O-based SGMII interface.

Если я правильно понимаю, Spartan таки умеет аппаратно восстанавливать клок из данных. То есть, достаточно одной пары LVDS..

Цитата
The serial gigabit media-independent interface (SGMII) is a variant of MII, a standard interface used to connect an Ethernet MAC block to a PHY. It is used for Gigabit Ethernet but can also carry 10/100 Mbit/s Ethernet.

It uses differential pairs at 625 MHz clock frequency DDR for TX and RX data and TX and RX clocks. It differs from GMII by its low-power and low pin-count serial 8b/10b-coded interface (commonly referred to as a SerDes). Transmit and receive path each use one differential pair for data and another differential pair for clock. The TX/RX clocks must be generated on device output but are optional on device input (clock recovery may be used alternatively).
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Sep 25 2018, 12:47
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(blackfin @ Sep 25 2018, 14:57) *
Если я правильно понимаю, Spartan таки умеет аппаратно восстанавливать клок из данных. То есть, достаточно одной пары LVDS..
По моим сведениям не умеет. По крайней мере аппаратно. Если есть другие сведения буду благодарен. Из приведённой цитаты это не следует.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Sep 25 2018, 13:13
Сообщение #10


Гуру
******

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



Цитата(MegaVolt @ Sep 25 2018, 15:47) *
По моим сведениям не умеет. По крайней мере аппаратно. Если есть другие сведения буду благодарен. Из приведённой цитаты это не следует.

xapp523
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Sep 25 2018, 13:59
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(blackfin @ Sep 25 2018, 16:13) *
ISERDES работает штатно просто как сериализатор. С внешней PLL и логикой становиться возможным слежение за фазой. Т.е. это не аппаратная фича.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Sep 25 2018, 14:22
Сообщение #12


Гуру
******

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



Цитата(MegaVolt @ Sep 25 2018, 16:59) *
ISERDES работает штатно просто как сериализатор. С внешней PLL и логикой становится возможным слежение за фазой. Т.е. это не аппаратная фича.

Ну, понятно, что ручками что-то сделать всё же придется. biggrin.gif

Аппаратная фича состоит в том, что к каждому дифференциальному входу IBUFDS плисины можно одновременно(!) подключить две(!) линии задержки IDELAY и два(!) набора регистров IDDR тактируемых от сдвинутых на 90 градусов клоков, что дает четыре семпла данных на каждый бит входного потока. Остальное - дело техники и простенькой FSM.. Понятно, что про кодировку 8/10 эта схема ничего не знает и аппаратно не учитывает.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AVR   LVDS под одной паре (без клока)   Sep 25 2018, 10:21
- - serj1979   Цитата(AVR @ Sep 25 2018, 13:21) Вообще, ...   Sep 25 2018, 10:59
- - RobFPGA   Приветствую! Цитата(AVR @ Sep 25 2018, 13...   Sep 25 2018, 11:00
|- - AVR   Цитата(blackfin @ Sep 25 2018, 14:05) ИМХ...   Sep 25 2018, 11:11
|- - umarsohod   Когдато давно, соединял две CPLD сдедующим образом...   Sep 25 2018, 12:13
||- - andrew_b   Цитата(umarsohod @ Sep 25 2018, 15:13) эт...   Sep 25 2018, 12:30
- - AVR   Отставить флуд! В задаче я вижу основную пр...   Sep 25 2018, 11:27
- - MegaVolt   Цитата(AVR @ Sep 25 2018, 13:21) Допустим...   Sep 25 2018, 11:39
|- - AVR   Цитата(MegaVolt @ Sep 25 2018, 14:39) Пут...   Sep 25 2018, 11:54
|- - MegaVolt   Цитата(AVR @ Sep 25 2018, 14:54) На Spart...   Sep 25 2018, 12:44
|- - AVR   Цитата(MegaVolt @ Sep 25 2018, 15:44) 1. ...   Sep 25 2018, 12:50
|- - DuHast   Цитата(AVR @ Sep 25 2018, 15:50) 3. Есть ...   Sep 25 2018, 12:54
|- - MegaVolt   Цитата(AVR @ Sep 25 2018, 15:50) 1. Я пон...   Sep 25 2018, 13:00
|- - Zig   Цитата(AVR @ Sep 25 2018, 15:50) 3. Есть ...   Sep 25 2018, 13:12
|- - RobFPGA   Приветствую! Цитата(AVR @ Sep 25 2018, 15...   Sep 25 2018, 18:02
- - DuHast   А вариант с внешней микросхемой СDR не рассматрива...   Sep 25 2018, 11:54
- - Leka   Если Cyclone10LP не хуже Сyclone4, то задача решае...   Sep 25 2018, 12:14
- - AVR   Я месяц назад создавал тему примерно, там выяснили...   Sep 25 2018, 12:45
|- - MegaVolt   Цитата(AVR @ Sep 25 2018, 15:45) Я месяц ...   Sep 25 2018, 12:52
|- - Leka   Цитата(AVR @ Sep 25 2018, 15:45) Похоже о...   Sep 25 2018, 13:22
|- - AVR   Цитата(Leka @ Sep 25 2018, 16:22) Клок во...   Sep 25 2018, 14:05
|- - Zig   Цитата(AVR @ Sep 25 2018, 17:05) Вижу у X...   Sep 25 2018, 14:21
|- - Leka   Цитата(AVR @ Sep 25 2018, 17:05) На какой...   Sep 25 2018, 16:32
|- - AVR   Цитата(Leka @ Sep 25 2018, 19:32) Статьи ...   Sep 25 2018, 17:58
|- - Leka   Цитата(AVR @ Sep 25 2018, 20:58) Выше кин...   Sep 25 2018, 20:34
|- - MegaVolt   Цитата(Leka @ Sep 25 2018, 23:34) М/б и д...   Sep 25 2018, 21:32
- - doom13   В старых версиях QII было ядро ASI, которое выполн...   Sep 25 2018, 13:57
- - andrewkrot   У Lattice есть дешевые чипы с SERDES. А на спартан...   Sep 25 2018, 20:26
- - blackfin   Цитата(MegaVolt @ Sep 26 2018, 00:32) Это...   Sep 26 2018, 03:54
|- - AVR   Цитата(blackfin @ Sep 26 2018, 06:54) Не ...   Sep 26 2018, 08:03
|- - blackfin   Цитата(AVR @ Sep 26 2018, 11:03) Т.е. не ...   Sep 26 2018, 08:15
|- - AVR   Цитата(blackfin @ Sep 26 2018, 11:15) Есл...   Sep 26 2018, 08:24
|- - blackfin   Цитата(AVR @ Sep 26 2018, 11:24) А что зн...   Sep 26 2018, 08:56
|- - AVR   Цитата(blackfin @ Sep 26 2018, 11:56) Не ...   Sep 26 2018, 13:50
|- - blackfin   Цитата(AVR @ Sep 26 2018, 16:50) Там прим...   Sep 26 2018, 16:45
|- - AVR   Цитата(blackfin @ Sep 26 2018, 19:45) С ч...   Sep 27 2018, 04:33
|- - blackfin   Цитата(AVR @ Sep 27 2018, 07:33) Так, пох...   Sep 27 2018, 04:43
- - Leka   2Кбайта, это логический пакет, на физическом уровн...   Sep 26 2018, 07:22
- - ViKo   Протянули бы уже тактовый сигнал. Ради связи на 15...   Sep 26 2018, 07:27
- - Leka   По преамбуле калиброваться нет смысла, тк слишком ...   Sep 26 2018, 08:39
- - bogaev_roman   Можно попробовать сделать 4 параллельные семы прие...   Sep 26 2018, 14:30
- - andrewkrot   Дык, если есть обратная пара так по ней клок и пер...   Sep 27 2018, 19:54
- - Plain   А собрать трёхфазный генератор 200 МГц на ножках —...   Sep 28 2018, 07:17


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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 07:49
Рейтинг@Mail.ru


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