|
Восстановление частоты из потока цифр, Как получить качественную частоту? |
|
|
|
Apr 21 2011, 08:10
|
Знающий
   
Группа: Свой
Сообщений: 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.
Заранее спасибо за любые идеи.
|
|
|
|
|
 |
Сообщений в этой теме
Koluchiy Восстановление частоты из потока цифр Apr 21 2011, 08:10 Victor® Цитата(Koluchiy @ Apr 21 2011, 11:10) Здр... Apr 21 2011, 08:22 Koluchiy ЦитатаМне не очень понятно, почему приняли решение... Apr 21 2011, 08:30 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 dmitry-tomsk Цитата(Koluchiy @ Apr 21 2011, 12:30) Да ... Apr 21 2011, 08:45 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|