Перейти к содержанию
    

Шаманъ

Участник
  • Постов

    836
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Шаманъ

  • Звание
    Знающий
    Знающий

Посетители профиля

4 694 просмотра профиля
  1. Приветствую всех! Данные с Zynq (7010) передаются на AD9779A (один канал, 155.52MHz, параллельный интерфейс, выходные данные с ПЛИС тактируются сигналом с ЦАП DAC_DATACLK). ЦАП содержит схему с подстраиваемой задержкой в цепи DAC_DATACLK, а также схему контроля правильности положения данных (во времени). Это позволяет на старте или в процессе работы по необходимости подстроить интерфейс, чтобы данные находились в оптимальной точке. Это все реализовано и работает. Теперь вопрос - как для такого случая (подстраиваемого) правильно описать timing constraints? Если написать для статического варианта, то они не выполняются, и, возможно, будут побуждать компилятор при каждой сборке проекта пытаться оптимизировать по ошибочным данным. Прописать через set_false_path? Наверное вариант, поскольку расположение всех составляющих (внешние пины, BUFR и выходной регистр) зафиксировано и чего-либо негативного от такого варианта ожидать не стоит.
  2. К сожалению описанное решение в финале не привело к решению проблемы - радость была преждевременной 😞 Так что вопрос по прежнему актуален...
  3. Отвечаю сам себе (и может кому еще пригодится). Нашел проблему - нужно было выставить флаг ExternallyPowered (бит 19 в регистре 0х29 Port Control Register).
  4. Приветствую всех! Сделал контроллер USB-C на TPS65987D. Пока речь идет о USB PD Sink (т.е. устройство получает питание по USB-C). Все работает за исключением одного момента. При выключении устройства контроллер должен переходить на питание от USB-C интерфейса (т.е. входить в тот же режим в котором он оказывается при подключении USB-C блока питания и изначально выключенном устройстве) про это недвусмысленно говорит следующий фрагмент из документации: "...a supply switch-over occurs when both supplies are present and VIN_3V3 is removed and falls below 2.85 V. In this case, a hard reset of the TPS65987D is initiated by device firmware, prompting a re-boot." Но по какой-то причине сброса не происходит... Если отключить и подключить USB-C питание, то все начинает работать как нужно, также при включении устройства (и появлении питания VIN_3V3) контроллер "оживает" и работает как положено. Есть подозрения, что причина в конфигурации, но несколько раз перечитал доку и пока идей нет. Флаг Dead Battery Mode сбрасывал - каких-либо изменений не произошло. Может кто-то сталкивался?
  5. Задержку можно попробовать сделать лог. элементом. У такого варианта наверное будет хуже стабильность по температуре и питанию, но можно рассмотреть и такой вариант - возможно Вас устроят такие параметры. Да, если задержки одно лог. элемента не хватит, можно поставить их больше (кол-во должно быть нечетное).
  6. Приветствую всех! Возможно кто-то экспериментировал с применением подобных коммутаторов на КВ (1..50МГц). Интересно чем обусловлена нижняя граница (5МГц) по частоте? Понятно, что внизу падает допустимая мощность и, возможно, IP3, но по этим параметрам в моем случае есть хороший запас. А может кто-то посоветует дешевые переключатели на КВ с хорошей линейностью (IP3 > 50дБм)? Спасибо!
  7. Вот тут я написал глупость :) Шум в обоих боковых коррелирован, и потому коррекция должна быть 6дБ. Еще один метод выделить АМ шум это просто "выпрямить" сигнал. Вот сравнение двух методов, на нем также можно увидеть почему синхронный детектор лучше.
  8. Хорошее уточнение, спасибо (а то для меня то все понятно и так, а вот как другим не подумал :))! Еще добавлю, что частота тестового сигнала 7156кГц, тактовая ЦАПа 155.52МГц, тактовая АЦП 77.76МГц
  9. В заключении эпопеи дописал свой матлабовский скрипт (которым выполнялся анализ), чтобы определял не только фазу, но и частоту. Теперь можно проанализировать АМ/ФМ шум любого достаточно стабильного сигнала. Сравнил шум используемых АЦП и ЦАП, обнаружил, что рост шума у АЦП на малых отстройках тоже обусловлен АМ шумом. Заодно теперь наглядно видно, что "анализатор" достаточно хороший для этого ЦАП (графики АЦП+ЦАП это сигнал с ЦАП поданный на вход АЦП, графики АЦП это сигнал с "условно идеального" КГ - уровень шума на отстройке 10кГц должен быть около теплового щума). Спасибо всем за участие, особенно тау и rloc! P.S. Если кто-нибудь измерял АМ шум высокоскоростных ЦАП было бы интересно посмотреть. Думаю этот нюанс присутствует не только в AD9779A
  10. Еще немного информации. Почти уверен, что шум возникает внутри чипа и носит характер обычной АМ - ни форма, ни уровень шума не меняется как при изменении выходной частоты, так и при изменении тактовой частоты. А вот при изменении тока ЦАПа меняется (в ЦАПе есть регистр которым можно менять максимальной ток ЦАП от 8.66 до 31.66мА. Ниже спектры с минимальным и максимальным током. При уменьшении тока "горб" АШ сместился со 140 до 100кГц. Я тоже ожидал изменения как уровня, так и формы шума, но поменялся только уровень. P.S. Бороться с этим делом я так понимаю невозможно.
  11. На графиках АМ и ФМ шум без деления, деление на два и на четыре. Форма неизменна. На входе REFCLK правда частота одинаковая, менялось деление внутри чипа
  12. Уполовинить несколько проблематично, поэтому включил ФАПЧ и интерполяцию и удвоил. Результат без изменений: Если нужен чистый эксперимент, то наверное могу и уполовинить, но для этого нужно переделать немного прошивку ПЛИС. Я еще подумал (с подачи тау) может он внутри не совсем 16битный и за счет dithering формируются недостающие биты, что и наблюдается.
  13. тактирование ЦАПа идет исключительно от общего ОГ на плате, ЦАП выдает тактовый сигнал в ПЛИС, в обратную сторону идут только данные. Сигнал формируется в ПЛИС (Zynq-7000), частота 9720кГц это 1/16 опоры, чтобы NCO не влиял. На всякий случай были выключены PLL в ПЛИС, ничего не изменилось.
  14. Везде используется Flat Top окно с подавлением 169дБ. Ничего вычитать не нужно. Синусоида сформирована на частоте 1/16 от тактовой для исключения влияния NCO (впрочем с ним тот же результат). Насчет АМ/ФМ шумов. Т.к. для ЦАП и АЦП используется один генератор, то частота несущей точно известна, остается взять синусоиду, умножить на сигнал и подобрать фазу по минимуму DC. Спектр такого сигнала будет отображать ФМ шум. Меняем синусоиду на косинусоиду и получаем спектр АМ шума. Единственный момент обе боковые сложатся из-за этого шум будет на 3дБ выше.
  15. Этот же генератор подключен и к АЦП (только делится на два) и такого подъема шума нет. Кроме того на входе тактирования ЦАПа стоит ограничитель, а буферы это фактически усилители-ограничители, поэтому как-то маловероятно чтобы были такие большие АШ. Кроме того проведен эксперимент, который по идее схему тактирования полностью исключает (см. ниже). Итак эксперимент. Изначально у меня было подозрение, что это ИОН. У ЦАП есть нога VREF на ней изначально у меня подключены два (0.1мкФ 0603 и 10мкФ 0805) керамических конденсатора. Подключил еще 1000мкФ (ESR 65мОм) - без изменений, отключил 10мкФ - без изменений (причем совсем без изменений абсолютно идентичные спектры). Далее этот же конденсатор подключался ко всем источникам питания (кроме цифрового 3.3V) - без изменений (я по питанию и не ожидал проблем). Теперь самое интересное - посмотрите на фрагмент даташита - у ЦАП имеется две ноги VREF и I120 которые связаны со схемой формирования опорного напряжения ЦАП. Резистор подключенный к ноге I120 фактически задает Ку усилителя, который формирует опорное напряжения для ЦАП (несколько упрощено, но суть отражает). Я подключил цепочку 22мкФ и 1.1кОм (см. рисунок). В итоге Ку по переменному току увеличился. Линия АШ на спектре тоже подскочила. В итоге очевидно, что избыточный шум возникает либо до этого "усилителя" (тогда почему нет реакции на подключение/отключение конденсаторов к ноге VREF), либо сам усилитель настолько шумный (но тогда откуда такая форма шума?).
×
×
  • Создать...