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

 
 
> 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
Ответов
MegaVolt
сообщение Sep 25 2018, 11:39
Сообщение #2


Знающий
****

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



Цитата(AVR @ Sep 25 2018, 13:21) *
Допустим, задействую такой код 8/10, где байт будет передаваться так, чтобы хотя бы раз в три бита будет инверсия. Ведь сам поток данных это по сути прерывистые нерегулярные такты.
Или например, буду добавлять преамбулы в начала пакетов, escape-последовательности.

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


Не вижу больших проблем. Разве что частоты 400 могут вызывать вопросы.

Путь номер 1. Затащить данные на встроенные PLL и получить внутренний клок привязанный к данным. Потом принятые данные перенести в другой клоковый домен.
Путь номер 2. Тактируем с передискретизацией и воостанавливаем поток данных. Подробности описаны например тут https://www.xilinx.com/support/documentatio...tes/xapp250.pdf
Go to the top of the page
 
+Quote Post
AVR
сообщение Sep 25 2018, 11:54
Сообщение #3


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

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



Цитата(MegaVolt @ Sep 25 2018, 14:39) *
Путь номер 1. Затащить данные на встроенные PLL и получить внутренний клок привязанный к данным. Потом принятые данные перенести в другой клоковый домен.

Это называется CDR? Clock&Data Recovery?
Цитата
Путь номер 2. Тактируем с передискретизацией и воостанавливаем поток данных. Подробности описаны например тут https://www.xilinx.com/support/documentatio...tes/xapp250.pdf

На Spartan7 не проблема, это ясно, а вот на C10LP?

Вот эти варианты я и рассматриваю как самые реальные. Но с точки зрения самой "тупой" ПЛИС из этих двух.
Решение создать клок на основе данных а затем через FIFO перетащить в основной домен - идеальное решение.
Но как называется эта функция? Я запутался в куче этих всяких режимов и опций. Это и есть CDR - верно?

Цитата(DuHast @ Sep 25 2018, 14:54) *
А вариант с внешней микросхемой SDR не рассматриваете?

Нет, причем это требование "свыше". Вот для себя для дома-хозяйства, я бы именно так и сделал в этом случае - ставил бы микросхемы, например SN65LV1023A + SN65LV1224A.


--------------------
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Sep 25 2018, 12:44
Сообщение #4


Знающий
****

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



Цитата(AVR @ Sep 25 2018, 14:54) *
На Spartan7 не проблема, это ясно, а вот на C10LP?
А что в нём нет триггеров? Или нельзя сдвинуть клок на 90градусов? По моему ПЛИСы сейчас же примерно равны. Плюс минус лапоть.
Цитата
Вот эти варианты я и рассматриваю как самые реальные. Но с точки зрения самой "тупой" ПЛИС из этих двух.
Решение создать клок на основе данных а затем через FIFO перетащить в основной домен - идеальное решение.
Тогда манчестер вам в руки.
Цитата
Но как называется эта функция? Я запутался в куче этих всяких режимов и опций. Это и есть CDR - верно?
Способов восстановления клока есть несколько.
1. Передавать клок в данных (Манчестер). Скорость передачи в два раза ниже чем может позволить линия зато всё просто на приёмной стороне.
2. Восстановление клока на PLL (DCM) установленных внутри ПЛИС.
3. Восстановление клока на специальных внешних микросхемах которые по сути представляют собой тот же PLL
Go to the top of the page
 
+Quote Post
AVR
сообщение Sep 25 2018, 12:50
Сообщение #5


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

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



Цитата(MegaVolt @ Sep 25 2018, 15:44) *
1. Передавать клок в данных (Манчестер). Скорость передачи в два раза ниже чем может позволить линия зато всё просто на приёмной стороне.
2. Восстановление клока на PLL (DCM) установленных внутри ПЛИС.
3. Восстановление клока на специальных внешних микросхемах которые по сути представляют собой тот же PLL

1. Я понимаю что такое манчестер, только не очень ясно - так что там с этим манчестером на входе делать? Что если биты манчестера встанут неудобно относительно клока? В какой блок принимать этот манчестер?
2. DCM есть в Spartan6/7/Cyclone10GX, но не вижу подобной штуки в C10LP.
3. Есть малогабаритные такие штуки? Им что, данные на вход дают, а они клок этих данных наружу? Как называется такой тип микрух?


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


Знающий
****

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



Цитата(AVR @ Sep 25 2018, 15:50) *
1. Я понимаю что такое манчестер, только не очень ясно - так что там с этим манчестером на входе делать? Что если биты манчестера встанут неудобно относительно клока? В какой блок принимать этот манчестер?
Xcell17.pdf

Прикрепленное изображение


Цитата
2. DCM есть в Spartan6/7/Cyclone10GX, но не вижу подобной штуки в C10LP.

Плохо sad.gif Значит отказаться от восстановления клока и заниматься приёмом данных непосредственно. Или как в xapp224.pdf или манчестер
Цитата
3. Есть малогабаритные такие штуки? Им что, данные на вход дают, а они клок этих данных наружу? Как называется такой тип микрух?
Можно попробовать jitter cleaner использовать для этого.... но не факт нужно читать. Отдельные микрухи я не знаю. Они хитрые делают парами.
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
- - blackfin   Цитата(AVR @ Sep 25 2018, 13:21) Есть свя...   Sep 25 2018, 11:05
|- - AVR   Цитата(blackfin @ Sep 25 2018, 14:05) ИМХ...   Sep 25 2018, 11:11
|- - Aner   QUOTE (blackfin @ Sep 25 2018, 14:05) ИМХ...   Sep 25 2018, 11:12
|- - blackfin   Цитата(Aner @ Sep 25 2018, 14:12) Это как...   Sep 25 2018, 11:14
|- - Aner   QUOTE (blackfin @ Sep 25 2018, 14:14) Пам...   Sep 25 2018, 11:19
|- - blackfin   Цитата(Aner @ Sep 25 2018, 14:19) Не нужн...   Sep 25 2018, 11:30
|- - AVR   Цитата(blackfin @ Sep 25 2018, 14:30) Во-...   Sep 25 2018, 11:47
|- - blackfin   Цитата(AVR @ Sep 25 2018, 14:47) Может я ...   Sep 25 2018, 11:57
|- - umarsohod   Когдато давно, соединял две CPLD сдедующим образом...   Sep 25 2018, 12:13
||- - andrew_b   Цитата(umarsohod @ Sep 25 2018, 15:13) эт...   Sep 25 2018, 12:30
|- - MegaVolt   Цитата(blackfin @ Sep 25 2018, 14:57) Есл...   Sep 25 2018, 12:47
|- - blackfin   Цитата(MegaVolt @ Sep 25 2018, 15:47) По ...   Sep 25 2018, 13:13
|- - MegaVolt   Цитата(blackfin @ Sep 25 2018, 16:13) xap...   Sep 25 2018, 13:59
|- - blackfin   Цитата(MegaVolt @ Sep 25 2018, 16:59) ISE...   Sep 25 2018, 14:22
- - AVR   Отставить флуд! В задаче я вижу основную пр...   Sep 25 2018, 11:27
|- - DuHast   Цитата(AVR @ Sep 25 2018, 15:50) 3. Есть ...   Sep 25 2018, 12:54
|- - 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 Текстовая версия Сейчас: 3rd August 2025 - 15:23
Рейтинг@Mail.ru


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