Есть ли смысл для уменьшения джиттера при передаче цифрового сигнала применять передатчики и приемники от систем передачи данных (HFBR-2416, HFBR-1414). Если да, то одномод или многомод? Если кто делал, поделитесь, пожалуйста, опытом.
Есть ли смысл для уменьшения джиттера при передаче цифрового сигнала применять передатчики и приемники от систем передачи данных (HFBR-2416, HFBR-1414). Если да, то одномод или многомод? Если кто делал, поделитесь, пожалуйста, опытом.
Реализовал ФАПЧ на основе такого генератора (сам генератор позаимствовал из Overture Nazar и добавил несколько компонентов, чтобы получился ГУН). Результаты по диапазону перестройки частоты получились следующие: минус 315 ppm и плюс 280 ppm. Похуже, чем в самом первом варианте, но гораздо лучше, чем во втором (с учетом того, что средняя частота не ушла вверх). Думаю, на таком варианте можно и остановится. Схема и фото платы на рисунках.
Вячеслав,
Во первых: Вы не обратили внимания на мое замечание по поводу ФД. Еще раз повторяюсь - пара триггеров, с которых подается сигнал на интегратор фильтра должна питаться от того же источника, что и ГУН (чистого). Для этого их надо вынести в отдельный корпус, у Вас же они запитаны от цифры и находятся в разных корпусах т кроме того их соседние триггера тоже задействованы в какой-то другой логике. Зачем делать такие очевидные ошибки ?
Во вторых: Выбор AD797 - один из наихудших для данного применения. Поясняю - жрет много, входной ток - громадный, соответственно токовая составляющая шума тоже велика, а резисторы в ОС - 1МОМ. Я же говорил - OP97, AD8510, AD8610 или OP77/177/277 - именно то что Вам нужно. Ну не верите - ваше дело.
И не выкладывайте схемы в JPG, а то невозможно читать.
Дальнейших усрехов!
З.Ы. Те номиналы расчитаны для генератора +-450ррм.
Для вашего нового они слегка не оптимальны, работать будет, но с меньшим запасом по фазе.
Добавлено через 1 час 47 минут
По следам https://forum.vegalab.ru/showthread....&postcount=253.
Я наконец-то нашел время и чуть-чуть продвинул свой проект подавителя джиттера с 0.01Герц ФАПЧ и DF.
Откопал с помойки свою-же плату прототип 2005 года с АРМ прцессором, Xilinx 200K и РС485 интерфейсом.
Разобрался (вспомнил) с программированием АРМ, загрузкой FPGA. Подключил SPDIF к 485 приемнику. Для начала загрузил код SPDIF-приемника с прикрученным к нему последовательным выходом BCLK,LDAC,L,R на 20-битный ЦАП. Просто для того, чтобы было на что посмотреть осциллографом. Включил - не работает. Стал искать у себя ошибку в коде, не нашел. На следующий день переделал приемник полностью по-своему от начала и до конца (Плюнул на Зайлинксовский XAPP224 и выбросил на помойку). Все равно не заработало, хотя сбоев стало на порядок меньше. На третий день наконец догадался посмотреть SPDIF осциллоскопом и пришел в истинный УЖОС - джиттер на входе FPGA - 25ns !!! Подумал ... , заменил 485 приемник на LVDS, развязал конденсаторами по переменному току, организовал правильное смещение по постоянке. Микросхему LVDS приемника пришлось запаять аж вверх ногами. Замучился паять - все компоненты на макете 0402 и 0603(специфика старого проекта ...). Цоколевка LVDS совпала с 485 c точностью до зеркального отражения (Так NS борется с конкурентами ) ). Включил - все работает ! Ошибок четности совсем нет, все маркеры детектируются, данные выделяются и передаются. Все статусные биты (Audio, Deemphasis и т.д) стоят в правильном состоянии. Почти победа !
Итоги:
1. SPDIF видимо можно декодировать без ФАПЧ и с достаточной надежностью.
2. Полный SPDIF приемник (одночастотный 44.1) + DAC интерфейс занимает < 6% от XC3S200.
Последний раз редактировалось tomtit; 09.12.2009 в 08:32. Причина: Добавлено сообщение
2 tomtit
Поздравляю. Раньше всех останавливала именно ФАПЧ - в готовой микрушке меньше возится, а лучше сделать проблематично....
Пароли - штука неустойчивая. Взламываются терморектальным криптоанализатором.
Дык сейчас в любой FPGA по несколько PLL встроенных, ой.. чего там только нет сейчас
Почему не поставить что-то типа adf4001?
Да, на счет того, что оба триггера в один корпус перевести, недопонял Вас, согласен. Но на счет питания - там три стабилизатора, генератор питается от одного стабилизатора, второй стабилизатор питает эти треггера и м/с 74HC00, которая формирует сигналы сброса для этих же триггеров и м/с 74HC32, но она работает в установившемся режиме в статике. Третий стабилизатор для питания всех счетчиков-делителей. Обязательно ли триггера (объединенные в один корпус) питать от того же стабилизатора, что и генератор? Я думал разделить питание именно таким образом, чтобы питание генератора от одного стабилизатора, триггера от другого, остальная цифра от третьего - так будет приемлимо?
В реальности там OP97 и стоит (на фото, правда, плохо видно)! Просто при создании схемы и последующей трассировке я не хотел создавать новый компонент OP97 в библиотеке, а просто взял ОУ, который уже был у меня в библиотеке в корпусе DIP8, ну а на схеме название забыл потом поменять
Да, так и есть - все работает, работало даже в предыдущем (втором варианте ГУНа) варианте с еще меньшим диапазоном перестройки.
[ Я думал разделить питание именно таким образом, чтобы питание генератора от одного стабилизатора, триггера от другого, остальная цифра от третьего - так будет приемлимо?
[/quote]
Да не беспокойтесь, если у вас все развязано все будет OK и так. Грабли обычно там, где их не ждешь.
Вот последние, например: на плате у нас хрен знает сколько импульсных источников, ФПГА, Blackfin DSP,
пара АРМов 75Мгц и все тихо. А по излучению не проходим из-за восьми ADuM240xС (цифровая изоляция и развязка). Они так излучают, что куда до них всем остальным. А тут их во все ДАКи пихают .
Chibzikz, ISO724X только с индексом "M" подходят для наших целей. А так, это один в один ADuM140X. Интересно, по идее в ISO тоже должен быть модулятор. Как иначе они добились работы с DC?
К имеющемуся приемнику СПДИФ прикрутил цифровую фапч с SPI на 12-битный ДАС для управления ГУНом + ФИФО на 256 сэмплов. Все вместе 19% ХС2S200. Посмотрел скопом - прикидывается что работает.
В ближайшие дни припаяю VCXO и замкну ООС.
Ну вот, подпаял к ФПГА ГУН и 12-бит ДАС и все заработало. В установившемся режиме дергается только младший разряд ДАС. Очень удобно смотреть скопом SPI выход - все перестраивается настолько медленно, что можно читать передаваемый код с экрана. Итоги - весь СПДИФ приемник + ФИФО заняло 21% ФРГА. Если не делать DF, то с избытком хватит даже самой маленького Спартана-3.
Offтопик:
tomtit,
tomtit, Вот это реальный результат! Также прикидывал возможность ФИФО с ГУНом, только на Альтере. Вот, только, 256 сэмплов не мало?
Это просто джиттер какой-то! (с) momitko
Я в Новогодние праздники поигрался со своим макетом и внес некоторые усовершенствования. Увеличил ФИФО до 512 отсчетов, но не потому что оно переполняется, а потому что это размер минимального блока BRAM в Xilinx, то есть, чтобы добро не пропадало. Используется пока только 2 блока из 12. Обнаружил небольшую проблему - синхронизация восстанавливалась очень долго, если выдернуть кабель на короткое время. Подумал и исправил, добавил автомат на 4-х триггерах, который при пропаже сигнала разрешает чтение из ФИФО только, когда оно вновь наполнится примерно наполовину. Теперь ресинхронизация происходит за доли секунды. Припаял два светодиода (зеленый и красный на FIFO_empty и FIFO_full). Переполнения еще не видел ни разу, хотя FIFO_empty исправно загорается если выдернуть кабель. Увеличил частоту среза в 3 раза - до 0.03Hz просто для удобства симуляции. Все переходные процессы хорошо симулируются в Маткаде или Моделсиме примерно за 1000000 отсчетов, что еще терпимо, но ждать 3 лимона уже напрягает. Следующий этап - буду слушать. У меня есть плохонький ДАК, купленный в сэконд хэнде, правда на PCM63P-J, но не звучит, хуже чем EMU-0404PCI. Если выдернуть DF1700 то можно подключиться 5-ю проводами к (WCK,BCK, L, R, GND) и послушать на предмет глобальных глюков.
Пришел сегодня домой и за полчаса припаял 5 проводов к самодельной вилке из половинки панельки для ДИП-16 и воткнул ее в панельку DF1700 на плате ДАКа. И все заиграло !!! Может только перепутал правый и левый канал, но это мелочи. А ФИФО уменьшать не буду - оно все равно даром достается, как говорится - что не съем, так хоть надкушу. Никаких шумов и артефактов не наблюдается, захват ФАПЧ практически мгновенный. На удивление играет очень чисто. Осталось только
запихать в остаток места DF, что и планирую сделать в ближайшее время.
Поздравляю Всех с Рождеством Христовым!
Ну вот, собрал по максимуму, пока включил фильтр только 4Х. Для 8Х требуется еще умножитель, который
имеется но недоступен.(Известный косяк в архитектуре Спартан-3). Вчера целый час слушал свое изделие. Играет без сбоев, мне нравится, чуть-чуть по другому, чем 5842, слышно почему-то больше деталей и звук чуть порезче. На этом, пожалуй, завершу пока этот проект. Цель достигнута!
P.S. Усе ! Запихнул фильтр полностью, пришлось извратиться и сделать ФИФО на сдвиговых регистрах и всего 128 отсчетов в длину. Блочную память использовать нельзя, исчезает доступ к умножителям, а без них нет фильтра. Звук стал еще лучше. Прилагаю фото макета. Микросхема наверху 100-ног - это и есть весь проект. Слева приклеен вверх ногами ГУН, пониже приклеен кусочек печатки с управляющим ДАКом(6 ног букашка). Монтаж - провод обмоточный 0.15мм.
Последний раз редактировалось tomtit; 12.01.2010 в 07:09.
Социальные закладки