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

 
 
> Восстановление частоты из потока цифр, Как получить качественную частоту?
Koluchiy
сообщение Apr 21 2011, 08:10
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Здравствуйте, уважаемые гуру.

Подскажите пожалуйста, как подступиться к следующей проблеме.

Для начала краткая предыстория.

Есть микросхема Spartan-6LXT.
К ней на вход GTP приходит поток STM-1 (155.52Mhz).
Надо восстановить из потока опорную частоту в более-менее приличном виде.

Трабла в следующем. GTP Спартана-6 поддерживает частоты от 614МГц.
Соответственно, работать напрямую с потоком 155.52 МГц оно не может.
Можно использовать передискретизацию - GTP настраивается на частоту в (допустим) 4 раза больше, принимать и передавать каждый бит 4 раза.

И я так делал, оно работало... Одна проблема - устойчивость к джиттеру слишком слабая, на большом джиттере встроенная PLL теряет синхронизацию.

Пришлось пойти по другому пути - GTP настроил на режим lock-to-reference, т.е. входной поток принимался на собственной частоте микросхемы (которая может быть отличной от частоты входного сигнала).
Входной поток получался вида:
0000111100001111000001111000011110000111100001111100001111
То есть в случае несоответствия частот принимаемого потока и опорной микросхемы в потоке периодически появляются биты "длиной" пять (или три, смотря в какую сторону расхождение) отсчетов, что довольно легко устраняется, в результате чего извлекаем нужные данные.

Такая реализация позволила поднять устойчивость к джиттеру, но появилась другая проблема.
Надо не только извлекать без потерь данные из входного потока, но и восстанавливать частоту, которая в дальнейшем должна идти на вход различных PLLек системы.
Описанный выше метод позволяет выдать лишь, по сути, собственную опорную частоту микросхемы, с изменяющейся довольно редко (частота изменения порядка 0...1000Гц в зависимости от разницы частот) фазой, но сразу на 90 градусов.
То есть, имеем выходную частоту вида:
001100110011...00110001100110011001100...110011100

В принципе, можно сделать так, чтобы скачки были не на 90, а на 45 градусов (поднять частоту дискретизации в 2 раза).

Собственно, вопрос.
Можно ли из этого как-то восстановить "нормальную" частоту входного сигнала?.
Так, чтобы с ней можно было работать как с нормальной частотой, подавать на входы PLLек и т.д..
Желательно, конечно, средствами ПЛИС - т.е. DCM&PLL.

Заранее спасибо за любые идеи.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Koluchiy
сообщение Apr 21 2011, 08:30
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата
Мне не очень понятно, почему приняли решение использовать именно GTP...
На LVDS буферах не было-бы проще это сделать?


Да ну в общем удобно... По крайней мере так казалось, пока не обнаружилась проблема с неустойчивостью к входному джиттеру.
Собственно, та же плата с другими настройками должна работать как STM-4, а там описанных выше проблем вроде нет...

Разницы-то большой нет, всё равно надо как-то получать частоту из того, что есть.
Хоть через GTP, хоть через LVDS...
Можно, конечно, поставить внешний CDR, который смог бы работать нормально на частоте 155.52...
Но хотелось бы обойтись без этого.
Лучше всего как-то найти решение внутри ПЛИС.
Как вариант - поставить какую-то внешнюю микросхему, которая из моей псевдочастоты восстановит исходную частоту потока...
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Apr 21 2011, 08:45
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(Koluchiy @ Apr 21 2011, 12:30) *
Да ну в общем удобно... По крайней мере так казалось, пока не обнаружилась проблема с неустойчивостью к входному джиттеру.
Собственно, та же плата с другими настройками должна работать как STM-4, а там описанных выше проблем вроде нет...

Разницы-то большой нет, всё равно надо как-то получать частоту из того, что есть.
Хоть через GTP, хоть через LVDS...
Можно, конечно, поставить внешний CDR, который смог бы работать нормально на частоте 155.52...
Но хотелось бы обойтись без этого.
Лучше всего как-то найти решение внутри ПЛИС.
Как вариант - поставить какую-то внешнюю микросхему, которая из моей псевдочастоты восстановит исходную частоту потока...

Я бы для плис использовал внешний тактовый генератор на 155,52. Тогда приём обычным ddr триггерами или iresdesами в ячейках ввода-вывода с передескритизацией в 4 раза. Данные потом корректруются алгоритмом (data recovery, описан в xapp) чтобы разность частот учесть. Вроде даже в logicore как то видел готовый модуль для data recovery.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Koluchiy   Восстановление частоты из потока цифр   Apr 21 2011, 08:10
- - Victor®   Цитата(Koluchiy @ Apr 21 2011, 11:10) Здр...   Apr 21 2011, 08:22
|- - des00   Цитата(Koluchiy @ Apr 21 2011, 02:30) Мож...   Apr 21 2011, 08:44
||- - Koluchiy   Цитата(des00 @ Apr 21 2011, 12:44) я бы с...   Apr 21 2011, 09:00
||- - dmitry-tomsk   Цитата(Koluchiy @ Apr 21 2011, 12:00) Пла...   Apr 21 2011, 12:17
- - Koluchiy   ЦитатаСмысл вообще не восстанавливать тактовую, не...   Apr 21 2011, 12:23
|- - des00   Цитата(Koluchiy @ Apr 21 2011, 07:23) И т...   Apr 21 2011, 15:19
|- - Bad0512   Цитата(Koluchiy @ Apr 21 2011, 19:23) Так...   Apr 21 2011, 15:55
|- - des00   Цитата(Bad0512 @ Apr 21 2011, 09:55) ИМХО...   Apr 21 2011, 16:08
||- - Bad0512   Цитата(des00 @ Apr 21 2011, 23:08) ну пря...   Apr 21 2011, 16:32
||- - des00   Цитата(Bad0512 @ Apr 21 2011, 11:32) Могу...   Apr 21 2011, 16:40
|- - Koluchiy   Цитата(Bad0512 @ Apr 21 2011, 19:55) Такт...   Apr 22 2011, 07:16
|- - wolfman   ЦитатаБыло, да. Но тогда я еще не знал о том, что ...   Apr 22 2011, 14:54
- - wolfman   to Koluchiy Я вроде бы Вам, в свое время, указывал...   Apr 21 2011, 17:33


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 18:17
Рейтинг@Mail.ru


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