|
LVDS под одной паре (без клока), Cyclone10LP и Spartan7 |
|
|
|
Sep 25 2018, 10:21
|

фанат 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 решение.
--------------------
|
|
|
|
|
 |
Ответов
|
Sep 25 2018, 11:12
|

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

|
QUOTE (blackfin @ Sep 25 2018, 14:05)  ИМХО, забыть про LVDS, по одному проводу передавать клок, а по другому данные. Это как так ? ... по одному проводу передавать клок, а по другому данные. Относительно GND? Да, чудненько так!
|
|
|
|
|
Sep 25 2018, 11:30
|
Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
Sep 25 2018, 11:47
|

фанат 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.
--------------------
|
|
|
|
|
Sep 25 2018, 11:57
|
Гуру
     
Группа: Свой
Сообщений: 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).
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|