Jump to content

    
Sign in to follow this  
AVR

LVDS под одной паре (без клока)

Recommended Posts

Когдато давно, соединял две CPLD сдедующим образом : передача одного бита происходила за 3 цикла,

сначала "1" затем, собственно один бит данных, затем "0". На приемной стороне этот поток подавался на вход "D"

триггера, а на клок этот-же поток, только задержанный на 1.5 цикла. Таким образом при тактовой в 200Мгц, скорость

обмена была 66 мегабит.

10LP в "DDR" -режиме может работать на 800 Мгц, и таким способом можно получить скорость 260 мбит.

Если на приемной стороне есть свободный PLL, то можно передавать 2 бита за 5 циклов и получить скорость 320 мбит.

 

Share this post


Link to post
Share on other sites

Если Cyclone10LP не хуже Сyclone4, то задача решаемая.

Оптимально делать не равные частоты у приемника и передатчика, а чуть разные, чтобы гарантировать знак расхождения частот.

 

Share this post


Link to post
Share on other sites
этот-же поток, только задержанный на 1.5 цикла.

Во первых, "же" никогда не пишется через дефис. Либо слитно, либо раздельно: "тоже"/"то же". Как, кстати, и "бы": "чтобы"/"что бы".

Во-вторых, как вы задерживали на полтора такта?

Share this post


Link to post
Share on other sites
На Spartan7 не проблема, это ясно, а вот на C10LP?
А что в нём нет триггеров? Или нельзя сдвинуть клок на 90градусов? По моему ПЛИСы сейчас же примерно равны. Плюс минус лапоть.
Вот эти варианты я и рассматриваю как самые реальные. Но с точки зрения самой "тупой" ПЛИС из этих двух.

Решение создать клок на основе данных а затем через FIFO перетащить в основной домен - идеальное решение.

Тогда манчестер вам в руки.
Но как называется эта функция? Я запутался в куче этих всяких режимов и опций. Это и есть CDR - верно?
Способов восстановления клока есть несколько.

1. Передавать клок в данных (Манчестер). Скорость передачи в два раза ниже чем может позволить линия зато всё просто на приёмной стороне.

2. Восстановление клока на PLL (DCM) установленных внутри ПЛИС.

3. Восстановление клока на специальных внешних микросхемах которые по сути представляют собой тот же PLL

 

Share this post


Link to post
Share on other sites

Я месяц назад создавал тему примерно, там выяснили что для динамической подстройки фазы требуется именно DPA.

Сейчас я осознал, что то что хочется сейчас, называется soft-CDR, я нашел у альтеры доку где показано на примере SGMII, но опять упираюсь в то, что у C10LP нет этой функции.

 

Похоже облом, PLL в C10LP крайне примитивный, и тему можно закрывать с результатом: реализовать никак.

 

Самый нормальный варик - поставить внешнюю LVDSину с Clock Recovery, коих много, но насяльника не велит. Там есть причины.

Share this post


Link to post
Share on other sites
Если я правильно понимаю, Spartan таки умеет аппаратно восстанавливать клок из данных. То есть, достаточно одной пары LVDS..
По моим сведениям не умеет. По крайней мере аппаратно. Если есть другие сведения буду благодарен. Из приведённой цитаты это не следует.

 

Share this post


Link to post
Share on other sites
1. Передавать клок в данных (Манчестер). Скорость передачи в два раза ниже чем может позволить линия зато всё просто на приёмной стороне.

2. Восстановление клока на PLL (DCM) установленных внутри ПЛИС.

3. Восстановление клока на специальных внешних микросхемах которые по сути представляют собой тот же PLL

1. Я понимаю что такое манчестер, только не очень ясно - так что там с этим манчестером на входе делать? Что если биты манчестера встанут неудобно относительно клока? В какой блок принимать этот манчестер?

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

3. Есть малогабаритные такие штуки? Им что, данные на вход дают, а они клок этих данных наружу? Как называется такой тип микрух?

Share this post


Link to post
Share on other sites
Я месяц назад создавал тему примерно, там выяснили что для динамической подстройки фазы требуется именно DPA.
Не не не.... это разные фичи. В данном случае DPA не нужна.

DPA нужна при наличия данных и клока чтобы привязать одно к другому. Тут клока нету. А вновь синтезированный уже должен быть привязан к входному потоку.

 

Прошу прощения кинул не тот апнот.

Вот то что нужно:

https://www.xilinx.com/support/documentatio...tes/xapp224.pdf

 

Share this post


Link to post
Share on other sites
3. Есть малогабаритные такие штуки? Им что, данные на вход дают, а они клок этих данных наружу? Как называется такой тип микрух?

на входе ещё референс клок нужен. micrel делал

Share this post


Link to post
Share on other sites
1. Я понимаю что такое манчестер, только не очень ясно - так что там с этим манчестером на входе делать? Что если биты манчестера встанут неудобно относительно клока? В какой блок принимать этот манчестер?
Xcell17.pdf

 

post-1783-1537880188_thumb.png

 

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

Плохо :( Значит отказаться от восстановления клока и заниматься приёмом данных непосредственно. Или как в xapp224.pdf или манчестер

3. Есть малогабаритные такие штуки? Им что, данные на вход дают, а они клок этих данных наружу? Как называется такой тип микрух?
Можно попробовать jitter cleaner использовать для этого.... но не факт нужно читать. Отдельные микрухи я не знаю. Они хитрые делают парами.

Share this post


Link to post
Share on other sites
3. Есть малогабаритные такие штуки? Им что, данные на вход дают, а они клок этих данных наружу? Как называется такой тип микрух?

Называются CDR (Clock & Data Recovery/Retiming).

Выпускает в том числе Analog Devices.

 

Использовал в проекте ADN2816. Восстанавливала такты и данные из SDI и DVB-ASI. Внешняя частота не обязательна.

Восстанавливает такты из данных от 10 Mb/s до 675 Mb/s.

Share this post


Link to post
Share on other sites
Похоже облом, PLL в C10LP крайне примитивный, и тему можно закрывать с результатом: реализовать никак.

 

Клок восстанавливать вовсе необязательно, это всего-лишь один из вариантов решения задачи.

 

По докам С10LP по возможностям соответствует C4E, в этом случае потолок, по моим оценкам, д/б в районе 1Гбит/сек.

Некоторое время назад хотел из спортивного интереса попробовать практически, но нет времени.

 

Share this post


Link to post
Share on other sites
ISERDES работает штатно просто как сериализатор. С внешней PLL и логикой становиться возможным слежение за фазой. Т.е. это не аппаратная фича.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this