Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Реализация эластичного буфера
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
_Anatoliy
Вот здесь обсуждалась подобная задача ссылка
Вопрос в следующем - разность частот настолько мала что ошибка указателей на единицу возникает с интервалом в 3...4 секунды.Как поступают в этом случае?Если просто подать на ФАПЧ то время установления будет уж очень большим...
vadimuzzz
а зачем ФАПЧ? берете FIFO, генератор кварцевый. два делителя: один до частоты немного больше входной тактовой, другой до частоты немного меньшей. и переключаетесь между ними, стремясь удержать заполнение буфера посередине.
_Anatoliy
Цитата(vadimuzzz @ Sep 28 2010, 11:45) *
а зачем ФАПЧ? берете FIFO, генератор кварцевый. два делителя: один до частоты немного больше входной тактовой, другой до частоты немного меньшей. и переключаетесь между ними, стремясь удержать заполнение буфера посередине.

Спасибо!
1).Тогда нужно иметь 2 генератора с частотами примерно Fпрд+100ppm и Fпрд-100ppm.
2).Данные - это звук,не хотелось бы дёргать клок.
x736C
Есть ли возможность формировать информационный поток в передатчике, или принимается готовый поток?
_Anatoliy
Цитата(x736C @ Sep 28 2010, 12:06) *
Есть ли возможность формировать информационный поток в передатчике, или принимается готовый поток?

На вход может подключаться готовый поток от разных источников.
vadimuzzz
Цитата(_Anatoliy @ Sep 28 2010, 16:52) *
1).Тогда нужно иметь 2 генератора с частотами примерно Fпрд+100ppm и Fпрд-100ppm.

нет, 1 генератор и 2 делителя. например, в трансиверах для потока E1 такая схема. поток 2.048 Мбит, опорный генератор на 32.768МГц (но частота не точно кратна, как разброс на кварцах). стоит 2 делителя на 15 и на 17, схема удерживает буфер полузаполненным, средняя частота выходная частота точно равна входным 2.048. Цифры, разумеется, можно менять.
Цитата
2).Данные - это звук,не хотелось бы дёргать клок.

в этой схеме клок не дергается, а медленно плавает назад-вперед. параметры опять же определяются размером буфера и делителями.
а лучше задачу поподробней сформулируйте. может вам вовсе и не нужен эластичный буфер.
x736C
Цитата
в этой схеме клок не дергается, а медленно плавает назад-вперед.

Эта схема порождает вандер, который для звука неприемлем, насколько я знаю.

Offtop. Если рассмотреть трансиверы E1 от Intel (LevelOne), то там скорость именно дергается, так как частота чтения мультиплексируется флагами опорожнения-переполнения.
vadimuzzz
Цитата(x736C @ Sep 29 2010, 01:33) *
Offtop. Если рассмотреть трансиверы E1 от Intel (LevelOne), то там скорость именно дергается, так как частота чтения мультиплексируется флагами опорожнения-переполнения.

ну да, скорость дергается, а фаза медленно плавает.
des00
Цитата(_Anatoliy @ Sep 28 2010, 03:28) *
Вопрос в следующем - разность частот настолько мала что ошибка указателей на единицу возникает с интервалом в 3...4 секунды.Как поступают в этом случае?Если просто подать на ФАПЧ то время установления будет уж очень большим...

ГУНы снаружи или в цифре?
_Anatoliy
Цитата(des00 @ Sep 29 2010, 06:55) *
ГУНы снаружи или в цифре?


Генератор JPO53,не проблема заменить его на Voltage Control Crystal Oscillator JV53. Я неверно назвал ФАПЧем простую петлю подстройки ГУН.
des00
Цитата(_Anatoliy @ Sep 29 2010, 00:59) *
Генератор JPO53,не проблема заменить его на Voltage Control Crystal Oscillator JV53. Я неверно назвал ФАПЧем простую петлю подстройки ГУН.

если гуны в аналоге, то фазовый детектор на ксоре + аналоговый петлевой фильтр на ОУ.
_Anatoliy
Цитата(des00 @ Sep 29 2010, 08:01) *
если гуны в аналоге, то фазовый детектор на ксоре + аналоговый петлевой фильтр на ОУ.

Чтобы использовать ксор нужно в качестве опоры иметь частоту передатчика,а она остаётся в передатчике. Девайсы связаны интерфейсом SDI.
des00
Цитата(_Anatoliy @ Sep 29 2010, 00:12) *
Чтобы использовать ксор нужно в качестве опоры иметь частоту передатчика,а она остаётся в передатчике. Девайсы связаны интерфейсом SDI.

Вики пишет
Цитата
Для передачи цифрового компонентного некомпрессированного видеосигнала используется канальное кодирование с модифицированным кодом без возвращения к нулю (БВНМ) в сочетании со скремблированием. Интерфейс является самосинхронизируемым. Кадровая синхронизация осуществляется специальным синхронизирующим пакетом данных, состоящим из последовательности подряд идущих 10 единиц и 20 нулей (20 единиц и 40 нулей для HD).

Значит частота передатчика на стороне приемника есть. Можно же к ней подстроится.
_Anatoliy
Цитата(des00 @ Sep 29 2010, 07:42) *
Вики пишет

Значит частота передатчика на стороне приемника есть. Можно же к ней подстроится.


Откуда это следует?Под словом самосинхронизируемым понимается отсутствие линии клока,передаются только данные.
des00
Цитата(_Anatoliy @ Sep 29 2010, 00:57) *
Под словом самосинхронизируемым понимается отсутствие линии клока,передаются только данные.

ну кто как это понимает, я понимаю под этим возможность извлечения сигнала тактовой частоты из данных. Вариантов то у вас не много, либо интеловский аналог, либо на памяти с медленной петлей, либо извлечь частоту и на фапч %)
_Anatoliy
Цитата(des00 @ Sep 29 2010, 09:24) *
ну кто как это понимает, я понимаю под этим возможность извлечения сигнала тактовой частоты из данных. Вариантов то у вас не много, либо интеловский аналог, либо на памяти с медленной петлей, либо извлечь частоту и на фапч %)

Это да.Погано.
Oldring
Цитата(_Anatoliy @ Sep 29 2010, 10:57) *
Откуда это следует?Под словом самосинхронизируемым понимается отсутствие линии клока,передаются только данные.


Кто мешает извлечь из потока данных информацию о фазе клока, чтобы перескоки на символ не казались слишком большими?
_Anatoliy
Цитата(Oldring @ Sep 29 2010, 12:04) *
Кто мешает извлечь из потока данных информацию о фазе клока, чтобы перескоки на символ не казались слишком большими?

Всем спасибо за участие!
Придумается что-нибудь.
_Anatoliy
Цитата(Oldring @ Sep 29 2010, 12:04) *
Кто мешает извлечь из потока данных информацию о фазе клока, чтобы перескоки на символ не казались слишком большими?

После раздумий решил попробовать ваш вариант. Каким образом лучше извлечь информацию о фазе клока?Поставить полосовой аналоговый фильтр на частоту 270МГц с последующей оцифровкой?Как сделать это в цифре совсем не представляю.В качестве приёмника SDI использую альтеровскую мегакору.

Странно что молчат специалисты по видеотехнике,вроде же типовая задача - подать на кодер MPEG цифровые видео и аудио от внешнего источника. Неужели никто не сталкивался?
Oldring
Цитата(_Anatoliy @ Sep 30 2010, 14:19) *
После раздумий решил попробовать ваш вариант. Каким образом лучше извлечь информацию о фазе клока?Поставить полосовой аналоговый фильтр на частоту 270МГц с последующей оцифровкой?Как сделать это в цифре совсем не представляю.В качестве приёмника SDI использую альтеровскую мегакору.


От модуляции зависит. И технических возможностей реализатора. Но в общем случае реализуется некоторый фазовый детектор, на выходе которого известно, что получается случайный сигнал с монотонно зависящим от фазы вблизи нуля матожиданием и желательно минимальным собственным шумом. На случайном сигнале, разумеется, что не проблема, так как скрэмблеры обычно делают передаваемый сигнал достаточно случайным. Шум отфильтровывают петлёй PLL, используя низкочастотную часть сигнала как сигнал фазовой обратной связи.
_Anatoliy
Цитата(Oldring @ Sep 30 2010, 12:32) *
От модуляции зависит. И технических возможностей реализатора. Но в общем случае реализуется некоторый фазовый детектор, на выходе которого известно, что получается случайный сигнал с монотонно зависящим от фазы вблизи нуля матожиданием и желательно минимальным собственным шумом. На случайном сигнале, разумеется, что не проблема, так как скрэмблеры обычно делают передаваемый сигнал достаточно случайным. Шум отфильтровывают петлёй PLL, используя низкочастотную часть сигнала как сигнал фазовой обратной связи.

Спасибо,попробую проксорить входной сигнал с клоком.
judge47
Здравствуйте. Вы бы не могли представить графически схему эластичного буфера, как она выглядит
_Anatoliy
Цитата(judge47 @ Nov 9 2010, 10:36) *
Здравствуйте. Вы бы не могли представить графически схему эластичного буфера, как она выглядит

Увы,со схематикой в FPGA не работаю.
Вы имеете представление о работе FIFO?Если да,тогда в кратце поясню принцип. У FIFO есть указатель адреса записи (УАЗп) и указатель адреса чтения (УАЧт) , в установившемся режиме УАЧт всегда "гонится" за УАЗп,никогда его не догоняя.Теперь предположим что скорость входного потока немного увеличилась,тогда УАЧт начнет отставать от УАЗп,дистанция между ними станет увеличиваться.Управляющий автомат оценивает эту дистанцию и по превышению заданного максимального значения чуть-чуть увеличивает частоту клока чтения(иногда достаточно изменения на несколько ppm). Дистанция начнет уменьшаться до заданного минимального значения и частота клока чтения теперь уже уменьшится и т.д. Среднее значение дистанции рекомендуется принимать равным половине размера FIFO.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.