Ок, так и сделаем. А насчет конденсаторов параллельных катушкам в фильтре. Может их исключить и выбрать вариант фильтра расчитанного соответствующе? Насколько себе представляю, тогда будет сильно меньше проблем с неточностью элементов и согласования. Как гляну на фильтр, у которого одна из катушек 39 nH, так сразу вспоминается, что каждый миллиметр это +1 nH примерно.
Продолжаю воевать с софтом. Пытаюсь скомпилить HamVNA http://www.dxatlas.com/hamvna/ но RAD studio ругается, наверно компилилось под другую версию. Это конечно вариант софта с обработкой на большом компе, зато умеет работать с квадратурными выборками и эзернетом. А наличие искодников позволяет поправить под свое железо. Другой вариант qVNA http://www.ire.pw.edu.pl/~wkazubski/software/qvnamax_eng.html - там есть надежда впихнуть все в микроконтроллер. ЗЫ. Появились у maxim MAX2871, тоже до 6 ГГц и с поправленными по отношению к 2870 характеристиками. Ожидаются инженерные образцы ADF5355 cо встроенным удвоителем до 14 ГГц, но как у микросхем АД управлять выбором поддиапазона VCO неизвестно, поэтому запустить две микросхемы со сдвигом по частоте на величину ПЧ и постоянной разностью фаз- проблематично. Может кто поделится идеей алгоритма? Направленники в стадии отладки, пытаюсь придумать инструкцию настройки направленника без использования фирменных приборов- только средствами самого собираемого анализатора.
Делаю тут генератор, и гдето серьезно ошибся. Спаял все, а не работает. Даже тактовые импульсы на кварце не прослушиваются. Более того - такое впечатление, что выводы идущие на кварц никуда не подключены. Хотя перепаивал два раза, врядли одни и те-же выводы оказались непропаянными. Подключение проверяю тестером, так как на всех входах стоят защитные диоды. Цифровые выводы звонятся отлично.
Вложения:
Комментарий к файлу: схема dds_ad9958_s.pdf [46.73 KiB]
Скачиваний: 402
Так может микросхема просто спит, и кварцевый генератор отключен. Прочитайте по интерфейсу регистры- станет понятно в каком она состоянии. Для интерфейса рабочий кварц не нужен. А с тестером аккуратнее- если в режимах прозвонки он дает более 1.8 вольта- спалить можно микросхему.
А спалить думаю довольно тяжело. Тестер дает ток 1 мА в режиме прозвонки. Если подключать его к питанию AVCC - он выдает напряжение 0.5 V максимум.
Попробовал. Регистры пишутся/читаются. Так что цифровая часть работает. Но вот кварц упорно не желает заводиться. Попробую таки эти ножки тщательно пропаять. Потому как полное ощущение, что они не подключены воообще.
Честно говоря, никогда не применял DDS c непосредственно подключенным кварцем. Всегда это был внешний генератор на высокодобротном кварце на 100-120 МГц или генератор на ПАВ, зафапчеванный на опорный генератор 10 МГц. Подайте тактовую снаружи и посмотрите, что получится. Тем более, что 25 МГц это может быть гармониковый кварц и в такой простой схеме он работать не может. Ну и всегда старался избегать внутренней фапч ДДС- она сильно сигнал портит по фазовым шумам.
Чтож, зафейлился с этой платой. Видать зря захотел "перепрыгнуть через несколько ступенек". Куплю тогда на ebay готовую плату на AD9958. Отлажу на ней, а потом попробую еще раз платку сделать. А пока с CS4272 повожусь.
Кстати RLC измеритель с дополнительным преобразованием частоты тоже интересная тема.
Enabling the on-chip oscillator for crystal operation is performed by driving CLK_MODE_SEL (Pin 24) to logic high (1.8 V logic). На картинке что-то смутно видно - куда эта нога подключена. Подключить 26 МГц генератор от убитого сотового дешевле и быстрее , чем покупать плату. У них выход синус 0.8 вольт п-п.
Там при пайке было несколько косяков. Микросхема пришла мне очень "лежалая". С явно видимой пленков окислов на Termal Pad. Так что помучался пока залудил ее основательно. Причем залудил слишком толстым слоем слоем. Потом правда выпаял и лишний припой убрал, но все равно не то.
Куплю такую AD9959 платку. Она хороша тем, что пару выводов через трансформатор, а пару - через ОУ, можно будет сравнить.
А следующую плату попробую заказать на Itead Studio. И наверно сделаю совсем простой и маленькой - обвязка по питанию + генератор. Чувствую что слишком "оригинален" в попытке прикрутить кварц к DDS. Никто так не делает.
Правда это все после того, как придут текущие платки, потому как надо глянуть как у них получается.
А схемка этой платы есть? По фото вижу, что на трансформаторных выходах вообще нет никакого фильтра. На выходах с ОУ стоят дифференциальные фильтры. Интересно было бы глянуть, что за ОУ, и какие номиналы возле ОУ.
Вопрос про цифровое измерение сдвига фаз- интернет утверждает, что оптимальный метод "Seven Parameters Sine-fitting Algorithms" который работает одновременно с двумя сигналами (измерительный и опорный канал) и оптимален по быстроте, точности определения фазы и потребным ресурсам процессора. Кто-нибудь встречал исходники на C этого алгоритма? В STM32 DSP library ничего подобного не нашел.
Глянул в интернет - это обыкновенный "метод наименьших квадратов". Который да, очень оптимальный и устойчивый к помехам. Впрочем мне кажется что достаточно 4-х параметров. Как в этой статье. Амплитуда, фаза, частота и постоянное напряжение смещения. Самое сложное - определить частоту. Но если она известна хотябы с точностью +-10% то можно любым "robust" алгоритмом поиска минимума искать.
Глянул в интернет - это обыкновенный "метод наименьших квадратов".
Ну не такой уж и обыкновенный- обыкновенный не справляется с периодическими функциями, особенно при произвольной начальной фазе. Метод семи переменных специально предназначен для анализаторов импеданса- там общая частота, но разные фазы и амплитуды (плюс постоянная составляющая). Очень полезен, когда в источнике сигнала фазу крутит фильтр, т.е в отличии от НЧ измерений RLC мы не знаем начальную фазу тестового сигнала. Ну или в случае анализатора с ФАПЧ в генераторе тестового сигнала или сигнала гетеродина для смесителей- там разность фаз каждый раз разная из-за внутренних состояний прескалеров. Конечно аналоговые девицы позволяют сбросить разность фаз в своих синтезаторах, но это требует дополнительного времени на установку новой точки по частоте свипа, а во вторых ограничивает типы примененных микросхем и их цену.
Ну не такой уж и обыкновенный- обыкновенный не справляется с периодическими функциями, особенно при произвольной начальной фазе.
Справляется. В формуле A*cos(w*t)+B*sin(w*t)+C фаза это tg(B/A). Так как A и B - это обычные линейные коэффициэнты - то для метода наименьших квадратов нет проблемм их найти.
khach писал(а):
Метод семи переменных специально предназначен для анализаторов импеданса
В случае семи переменных там просто матрица чутка больше становится. Но метод наименьших квадратов как был так и остается.
khach писал(а):
- там общая частота, но разные фазы и амплитуды (плюс постоянная составляющая). Очень полезен, когда в источнике сигнала фазу крутит фильтр, т.е в отличии от НЧ измерений RLC мы не знаем начальную фазу тестового сигнала.
Если мы не знаем частоту, то и начальная разница фаз нам не поможет. На низких частотах тоже фаза крутиться очень прилично в зависимости от частоты. 3 RC цепочки - суммарно крутят почти на 180 на максимальной частоте сигнал. Но на низких частотах хорошо то, что мы знаем частоту сигнала, поэтому все элементарно получается.
В методе 7 переменных частоту придется искать каким либо из варитов поика минимума на функции. Если мы более-менее знаем частоту, то локальный минимум один и проблемы его найти не будет. Но там все просто очень. Потому как большая скорость не нужна, можно и "методом деления пополам" искать.
в случае анализатора с ФАПЧ в генераторе тестового сигнала или сигнала гетеродина для смесителей- там разность фаз каждый раз разная из-за внутренних состояний прескалеров.
Если есть три канала - A, B и R - то какая разница , как скачет фаза . Эти скачки можно просто учесть из опорного канала ?
Логика то тут простая. Для низких частот нет проблемм сделать сигнал, у которого частота достаточно стабильна. Но тут явно идет речь о частотах выше 1 ГГц. Поэтому точную частоту сигнала мы не знаем. Можно былобы определить частоту по отдельности в каждом канале. Но что делать если они сильно отличаются, особенно в случае зашумленных данных? Поэтому лучше определить "усредненную" частоту, общую для всех каналов. Естественно "метод наименьших квадратов" справляется с этой задачей оптимально.
C переменной частотой задача появилась при попытке сделать цифровую VNA приставку к генератору от X1-42. При этом ковыряние внутри X1-42 исключалось, т.к прибор поверенный. Поэтому сделать внутреннюю ФАПЧ для стабилизации частоты свип- генератора в точке было невозможно. Но за время измерения 5-10 периодов ПЧ частота не успевала сильно измениться. И алгоритм фитования (даже не знаю как сказать по-русски) справлялся. В отличии от БПФ, которому для точного определения фазы надо было значительно больше точек и частота свипа успевала уползти. А переходить к вейвлет преобразованиям для компенсации уползания частоты во время измерения показалось слишком сложным. Наличие R-канала как раз и позволяет работать по алгоритму 7 переменных. Хотя скорее всего надо реализовывать алгоритм 10 и 13 переменных для 3 и 4 -портового анализатора. Хотя для 4 портов не хватит числа каналов АЦП у STM32F3, т.к выборки должны делаться одновременно. Надо будет подумать о 4 каналах внешнего АЦП с одновременным запуском по таймеру. По поводу быстродействия алгоритма- она очень важна, т.к фазу надо определять в каждой точке частоты. Чем быстрее посчитаем, тем больше раз за секунду можно регенерировать экран, что очень желательно при настройке фильтров "в живую". Есть еще проблема если в измеряемой цепи слишком большое затухание, тогда измеряемый сигнал слишком слаб. Возможно, надо ввести масштабирование сигнала, как в цифре, так и в аналоге перед АЦП.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения