Компьютерные подсказки

Вылетает Сталкер: Зов Припяти Программа икс рей 1

Stalker lost alpha гид по прохождению

Pony Express отслеживание почтовых отправлений

Pony Express – время и сроки доставки с Алиэкспресс в Россию

Застряли посылки с Алиэкспресс со статусом Hand over to airline: что делать?

РФ (Nigma) — интеллектуальная поисковая система

Данные для семантики — Яндекс Вордстат

Пиар ВКонтакте при помощи бирж: особенности и использование

Почему я не могу отправить сообщение?

Предупреждение «Подключение не защищено» в Google Chrome по протоколу https Нарушена конфиденциальность данных яндекс браузер

Всё что известно о смартфоне Samsung Galaxy S9 Аккумуляторная батарея Galaxy S9 и мощность

Темы оформления и русификация форума SMF, а так же установка компонента JFusion в Joomla

Автоматическое определение движка форума Позже board powered by smf

Коды в игре скайрим - зелья, ингредиенты, заклинания Код на ингредиенты скайрим

Подробная инструкция, как в "скайриме" открыть дверь золотым когтем

Функциональный DDS генератор. Цифровой функциональный генератор DDS Какой китайский dds генератор лучше

Максимальная частота - 65534 Гц (и до 8 МГц HS выход с меандром). И тут я подумал, что генератор - отличная задача, где ПЛИС сможет показать себя в лучшем виде. В качестве спортивного интереса я решил повторить проект на ПЛИС, при этом по срокам уложиться в два выходных дня, а параметры получить не строго определенные, а максимально возможные. Что из этого получилось, можно узнать под катом

День нулевой

До того, как наступят выходные, у меня было немного времени подумать над реализацией. Чтобы упростить себе задачу, решил сделать генератор не в виде отдельного устройства с кнопками и LCD экраном, а в виде устройства, которое подключается к ПК через USB. Для этого у меня есть плата USB2RS232 . Плата драйверов не требует (CDC), поэтому, я думаю, что и под Linux будет работать (для кого-то это важно). Так же, не буду скрывать, что с приемом сообщений по RS232 я уже работал. Модули для работы с RS232 буду брать готовые c opencores.com .

Для генерации синусоидального сигнала потребуется ЦАП. Тип ЦАП я выбрал, как и в исходном проекте - R2R на 8 бит. Он позволит работать на высоких частотах, порядка мегагерц. Убежден, что ПЛИС с этим должна справиться

По поводу того, на чем написать программу для передачи данных через COM порт я задумался. С одной стороны, можно написать на Delphi7, опыт написания такой программы уже есть, к тому же размер исполняемого файла будет не большим. Еще попробовал набросать что-то для работы с Serial в виде java скрипта в html страничке, но более менее заработало только через Chrome serial API, но для этого надо устанавливать плагин… в общем тоже отпадает. В качестве новшества для себя попробовал PyQt5, но при распространении такого проекта, нужно тащить кучу библиотек. Попробовав собрать PyQt проект в exe файл, получилось больше 10 мб. То есть, будет ничем не лучше приложения, написанного на c++\Qt5. Стоит еще учесть, что опыта разработки на python у меня нет, а вот на Qt5 - есть. Поэтому выбор пал на Qt5. С пятой версии там появился модуль для работы с serial и я с ним уже работал. А еще приложение на Qt5 может быть перенесено на Linux и Mac (для кого-то это важно), а с 5.2 версии, приложения на QWidgets может быть перенесено даже на смартфон!

Что еще нужно? Естественно плата с ПЛИС. У меня их две (Cyclone iv EP4CE10E22C8N на 10 тыс. ячеек, и Cyclone ii EP2C5 на 5 тыс. ячеек). Я выберу ту, что слева, исключительно по причине более удобного разъема. В плане объема проект не предполагает быть большим, поэтому уместится в любую из двух. По скорости работы они не отличаются. Обе платы имеют «на борту» генераторы 50 МГц, а внутри ПЛИС есть PLL , с помощью которого я смогу увеличить частоту до запланированных 200 МГц.

День первый

В связи с тем, что модуль DDS я уже делал в своем синтезаторном проекте, то я сразу взялся за паяльник и начал паять ЦАП на резисторах. Плату взял макетную. Монтаж делал с применением накрутки . Единственное изменение, которое коснулось технологии - я отказался от кислоты Ф38Н для лужения стоек в пользу индикаторного флюс-геля ТТ . Суть технологии проста: в печатную плату впаиваю стойки, на них со стороны печатного монтажа припаиваю резисторы. Недостающие соединения выполняю накруткой. Еще, стойки удобны тем, что я их могу вставить прямо в плату ПЛИС.

К сожалению, дома в наличии не оказалось резисторов 1 и 2 килоома. Ехать в магазин было некогда. Пришлось поступиться одним из своих правил, и выпаять резисторы из старой не нужной платы. Там применялись резисторы 15К и 30К. Получился вот такой франкенштейн:


После создания проекта нужно задать целевое устройство: Меню Assigments -> Device


В проекте я «нахадркодил» неуправляемый главный модуль DDS на фиксированную частоту.

Модуль генератора на 1000 Гц

module signal_generator(clk50M, signal_out); input wire clk50M; output wire signal_out; wire clk200M; osc osc_200M reg accumulator; assign signal_out = accumulator; //пробуем генерировать 1000 Гц //50 000 000 Hz - тактовая частота внешнего генератора //2^32 = 4 294 967 296 - разрядность DDS - 32 бита //делим 1000Hz / 50 000 000 Hz / 2 * 4294967296 => 42949,67296 always @(posedge clk50M) begin accumulator <= accumulator + 32"d42949; end endmodule


После этого нажал «Start Compilation», чтобы среда разработки задалась вопросом, какие у нас линии ввода вывода есть в главном модуле проекта и к каким физическим PIN"s они подключены. Подключить можно практически к любому. После компиляции назначаем появившиеся линии к реальным PIN микросхемы ПЛИС:

Пункт меню Assigments -> Pin Planner

На линии HS_OUT, key0 и key1 прошу пока не обращать внимание, они появляются в проекте потом, но скрин в самом начале я сделать не успел.

В принципе, достаточно «прописать» только PIN_nn в столбце Location, а остальные параметры (I/O standart, Current Strench и Slew Rate) можно оставить по умолчанию, либо выбрать такие же, что предлагаются по умолчанию (default), чтобы не было warning"ов.

Как узнать какому PIN соответствует номер разъема на плате?

Номера контактов разъема подписаны на плате


А пины ПЛИС, к которым подключены контакты разъема, описаны в документации, которая идет в комплекте с платой ПЛИС.




После того, как пины назначены, компилирую проект еще раз и прошиваю с помощью USB программатора. Если у вас не установлены драйверы для программатора USB Byte blaster, то укажите Windows, что они находятся в папке, куда у вас установлен Quartus. Дальше она сама найдет.

Подключать программатор нужно к разъему JTAG. А пункт меню для программирования «Tools -> Programmer» (либо нажать значек на панели инструментов). Кнопка «Start», радостное «Success» и прошивка уже внутри ПЛИС и уже работает. Только не выключайте ПЛИС, а то она все забудет.

Tools -> Programmer


ЦАП подключен к разъему платы ПЛИС. К выходу ЦАП подключаю осциллограф С1-112А. В результате должна получиться «пила» потому что на выход 8 бит выводится старшая часть слова DDS аккумулятора фазы. А оно всегда увеличивается, пока не переполнится.

Каких-то 1.5 часа и для частоты в 1000 Гц я вижу следующую осциллограмму:

Хочу заметить, что «пила» по середине имеет небольшой перелом. Он связан с тем, что резисторы имеют разброс значений.

Еще один важный момент, который нужно было выяснить - это максимально возможная частота, с которой будет работать DDS генератор. При правильно настроенных параметрах TimeQuest, после компиляции в «Compilation Report» можно увидеть, что скорость работы схемы выше 200 МГц с запасом. А это значит, что частоту генератора 50 МГц я буду умножать с помощью PLL на 4. Увеличивать значение аккумулятора фазы DDS буду с частотой 200 МГц. Итоговый диапазон частот, который можно получить в наших условиях 0 - 100 МГц. Точность установки частоты:

200 000 000 Гц (clk) / 2^32 (DDS) = 0,047 Гц
То есть, это лучше, чем ~0.05 Гц. Точность в доли герца для генератора с таким диапазоном рабочих частот (0...100 МГц) считаю достаточной. Если кому-то потребуется повысить точность, то для этого можно увеличить разрядность DDS (при этом не забыть проверить TimeQuest Timing Analyzer, что скорость работы логической схемы укладывалась в CLK=200 МГц, ведь это сумматор), либо просто снизить тактовую частоту, если такой широкий диапазон частот не требуется.

TimeQuest Timing Analyzer


После того, как я увидел на экране «пилу», семейные дела заставили меня ехать на дачу (выходной же). Там я косил, варил, жарил шашлык и не подозревал о том сюрпризе, что ждал меня вечером. Уже ближе к ночи, перед сном, я решил посмотреть форму сигнала для других частот.

Для частоты 100 КГц

Для частоты 250 КГц

Для частоты 500 КГц

Для частоты 1 МГц

День второй

В связи с тем, что было интересно, как будет работать ЦАП на резисторах 100 и 200 Ом, я сразу взялся за паяльник. На этот раз ЦАП получился более аккуратным, а времени на его монтаж ушло меньше.

Ставим ЦАП на плату ПЛИС и подключаем к осциллографу

Проверяем 1 МГц - ВО! Совсем другое дело!

Пила 10 МГц

Пила 25 МГц


Форма пилы на 10 МГц еще похожа на правильную. Но на 25 МГц она уже совсем «не красивая». Однако, у С1-112а полоса пропускания - 10 МГц, так что в данном случае причина может быть уже в осциллографе.

В принципе, на этом вопрос с ЦАП можно считать закрытым. Теперь снимем осциллограммы высокоскоростного выхода. Для этого, выведем старший бит на отдельный PIN ПЛИС. Данные для этой линии будем брать со старшего бита аккумулятора DDS.

Assign hs_out = accumulator;

Меандр 1 МГц

Меандр 5 МГц

Меандр 25 МГц

Меандр 50 МГц уже практически не виден


Но считаю, что выход ПЛИС стоило бы нагрузить на сопротивление. Возможно, фронты были бы круче.

Синус делается по таблице. Размер таблицы 256 значений по 8 бит. Можно было бы взять и больше, но у меня уже был готовый mif файл. С помощью мастера создаем элемент ROM с данными таблицы синуса из mif-файла.

Создание ROM - Tools -> Mega Wizard Plugin manager


Выбираем 1 портовую ROM и задаем название модулю

Соглашаемся

Тут тоже соглашаемся

С помощью browse находим наш mif файл с таблицей синуса

Тут тоже ничего не меняем

Снимаем галочку с модуля sine_rom_bb.v - он не нужен. Дальше finish. Квартус спросит добавить модуль в проект - соглашаемся. После этого, модуль можно использовать так же, как любой другой модуль в Verilog.


Старшие 8 бит слова аккумулятора DDS будут использоваться в качестве адреса ROM, а выход данных - значение синуса.

Код

//sine rom wire sine_out; sine_rom sine1(.clock(clk200M), .address(accumulator), .q(sine_out));


Осциллограмма синуса на разных частотах выглядит… одинаково.

При желании, можно рассмотреть проблемы ЦАП, связанные с разбросом резисторов:

Чтож, на этом выходные кончились. А ведь еще не написано ПО для управления с ПК. Вынужден констатировать факт, что в запланированные сроки я не уложился.

День третий

Времени совсем мало, поэтому программу пишем на скорую руку (в лучших традициях). Местами, чтобы сократить количество букв и удобство ввода информации с клавиатуры, применяется фильтр событий по имени виджета. Прошу понять и простить.

Интерфейс

Ссылки с аналогами

Далеко не полный список
Функциональный DDS генератор. Создан базе AVR. Частоты 0… 65534 Гц.
Обзор DDS-генератора GK101. Создан с применением ПЛИС Altera MAX240. Частоты до 10 МГц.
Многофункциональный генератор на PIC16F870. Частотный диапазон: 11 Гц - 60 кГц.
генераторы Добавить метки

Данный DDS функциональный генератор (версия 2.0) сигналов собран на микроконтроллере AVR, обладает хорошей функциональностью, имеет амплитудный контроль, а также собран на односторонней печатной плате.

Данный генератор базируется на алгоритме DDS-генератора Jesper , программа была модернизирована под AVR-GCC C с вставками кода на ассемблере. Генератор имеет два выходных сигнала: первый - DDS сигналы, второй - высокоскоростной (1..8МГц) "прямоугольный" выход, который может использоваться для оживления МК с неправильными фузами и для других целей.
Высокоскоростной сигнал HS (High Speed) берется напрямую с микроконтроллера Atmega16 OC1A (PD5).
DDS-сигналы формируются с других выходов МК через резистивную R2R-матрицу и через микросхему LM358N, которая позволяет осуществить регулировку амплитуды (Amplitude) сигнала и смещение (Offset). Смещение и амплитуда регулируются при помощи двух потенциометров. Смещение может регулироваться в диапазоне +5В..-5В, а амплитуда 0...10В. Частота DDS-сигналов может регулироваться в пределах 0... 65534 Гц, это более чем достаточно для тестирования аудио-схем и других радиолюбительских задач.

Основные характеристики DDS-генератора V2.0:
- простая схема с распространенными и недорогими радиоэлементами;
- односторонняя печатная плата;
- встроенный блок питания;
- отдельный высокоскоростной выход (HS) до 8МГц;
- DDS-сигналы с изменяемой амплитудой и смещением;
- DDS-сигналы: синус, прямоугольник, пила и реверсивная пила, треугольник, ЭКГ-сигнал и сигнал шума;
- 2×16 LCD экран;
- интуитивная 5-ти кнопочная клавиатура;
- шаги для регулировки частоты: 1, 10, 100, 1000, 10000 Гц;
- запоминание последнего состояния после включения питания.

На представленной ниже блок-схеме, приведена логическая структура функционального генератора:

Как вы можете видеть, устройство требует наличие нескольких питающих напряжений: +5В, -12В, +12В. Напряжения +12В и -12В используются для регулирования амплитуды сигнала и смещения. Блок питания сконструирован с использованием трансформатора и нескольких микросхем стабилизаторов напряжения:

Блок питания собран на отдельной плате:

Если самому собирать блок питания нет желания, то можно использовать обычный ATX блок питания от компьютера, где уже присутствуют все необходимые напряжения. Разводка ATX разъема .

LCD-экран

Все действия отображаются через LCD-экранчик. Управление генератором осуществляется пятью клавишами

Клавиши вверх/вниз используются для перемещения по меню, клавиши влево/вправо для изменения значения частоты. Когда центральная клавиша нажата - начинается генерирование выбранного сигнала. Повторное нажатие клавиши останавливает генератор.

Для установки шага изменения частоты предусмотрено отдельное значение. Это удобно, если вам необходимо менять частоту в широких пределах.

Генератор шума не имеет каких-либо настроек. Для него используется обычная функция rand() непрерывно подающиеся на выход DDS-генератора.

Высокоскоростной выход HS имеет 4 режима частоты: 1, 2, 4 и 8 МГц.

Принципиальная схема

Схема функционального генератора простая и содержит легкодоступные элементы:
- микроконтроллер AVR Atmega16, с внешним кварцем на 16 МГц;
- стандартный HD44780-типа LCD-экранчик 2×16;
- R2R-матрица ЦАП из обычных резисторов;
- операционный усилитель LM358N (отечественный аналог КР1040УД1);
- два потенциометра;
- пять клавиш;
- несколько разъемов.

Плата:

Функциональный генератор собран в пластиковом боксе:


Программное обеспечение

Как я уже говорил выше, в основе своей программы я использовал алгоритм DDS-генератора Jesper . Я добавил несколько строчек кода на ассемблере для реализации останова генерирования. Теперь алгоритм содержит 10 ЦПУ циклов, вместо 9.

void static inline Signal_OUT(const uint8_t *signal, uint8_t ad2, uint8_t ad1, uint8_t ad0){
asm volatile("eor r18, r18 ;r18<-0″ "\n\t"
"eor r19, r19 ;r19<-0″ "\n\t"
"1:" "\n\t"
"add r18, %0 ;1 cycle" "\n\t"
"adc r19, %1 ;1 cycle" "\n\t"
"adc %A3, %2 ;1 cycle" "\n\t"
"lpm ;3 cycles" "\n\t"
"out %4, __tmp_reg__ ;1 cycle" "\n\t"
"sbis %5, 2 ;1 cycle if no skip" "\n\t"
"rjmp 1b ;2 cycles. Total 10 cycles" "\n\t"
:
:"r" (ad0),"r" (ad1),"r" (ad2),"e" (signal),"I" (_SFR_IO_ADDR(PORTA)), "I" (_SFR_IO_ADDR(SPCR))
:"r18″, "r19″
);}

Таблица форм DDS-сигналов размещена во флэш памяти МК, адрес которой начинается с 0xXX00. Эти секции определены в makefile, в соответствующих местах в памяти:
#Define sections where to store signal tables
LDFLAGS += -Wl,-section-start=.MySection1=0x3A00
LDFLAGS += -Wl,-section-start=.MySection2=0x3B00
LDFLAGS += -Wl,-section-start=.MySection3=0x3C00
LDFLAGS += -Wl,-section-start=.MySection4=0x3D00
LDFLAGS += -Wl,-section-start=.MySection5=0x3E00
LDFLAGS += -Wl,-section-start=.MySection6=0x3F00

Сегодня на обзоре конструктор генератора DDS (Direct Digital Synthesizers, прямой цифровой синтез - метод получения сигнала напрямую с выхода ЦАП по заранее указанной функции или таблице значений). с китайского магазина. Особо много технической документации нарыть не удалось. Внизу статьи прикреплен файлик с оригинальным описанием.

Характеристики от производителя:

  • простая схема;
  • ВЧ выход до 8 МГц;
  • регулируемая амплитуда и постоянная составляющая на выходе синтезатора;
  • синтезируемые формы: синус, треугольник, прямая и обратная пила, ЭКГ, шум;
  • меню на дисплее 16х2;
  • простая клавиатура из 5 кнопок;
  • шаг регулировки частоты 1Гц - 10кГц
  • хранение последних настроек энергонезависимо;
  • диапазон частот синтезатор 1Гц - 65535Гц;
  • постоянная составляющая -5В..+5В;
  • амплитуда до 10В.

Конструктор пришел вот в таком пакете

Вот что внутри

Никакой инструкции не наблюдалось, но, как и обещали, интуитивно всё понятно. Как видно, на плате всё сразу подписано номиналами. Плата, кстати, сделана весьма неплохо.

Можно начинать сборку. Традиционно первыми ставим резисторы. Их номиналы либо проверяем мультиметром, либо выясняем по кольцам. Вот так это выглядит у меня, поставлены резисторы 10к и 20к:

Ставлю не все сразу, чтобы лес выводов внизу не мешал. Вот так установлены и впаяны все резисторы:

Теперь поставим переменный резистор. Он необходим для подстройки контрастности экрана. Заодно вставил кварц.

Теперь установим разъем для дисплейного модуля. Тут надо обратить внимание на 2 момента - разъём при пайке не перегрейте (чтобы не поплавить корпус) и поставить надо как можно более вертикально. У меня получилось вот так.

Заодно смонтируем ответную гребенку в дисплейный модуль. Нюансы из предыдущего пункта в силе.

Разъём питания. Устройству требуется, как видим 3 напряжения: +12, -12, +5 (В). +5В нужен для работы проца и дисплея, +/-12 для выходного усилителя.

,

Теперь два подстроечных резистора. Будьте внимательны: несмотря на одинаковые корпуса резисторы имеют разные номиналы - 50кОм для регулировки амплитуды и 1кОм для регулировки постоянной составляющей.

Из пайки остались только панельки под микросхемы. Какая для чего - перепутать сложно. Снова не рекомендую перегревать. Обращайте внимание на положение ключа на маркировке и на панельке.

Ставим в панельке две микросхемы. Внимательно следите, чтобы ключ стоял в соответствии с маркировкой. При установке восьминогой LM358 обязательно убедитесь в правильном положении ключа; неправильное положение на 80% приведет к отказу микросхемы. При установке микроконтроллера следите за тем, чтобы все ноги попадали в панельку, при необходимости осторожно подогните выводы. Также я привинтил стойки к плате в средние отверстия для закрепления дисплея.

Осталось установить в разъем дисплей и привинтить к стойкам. В принципе устройство собрано. Вот окончательный вид

В соответствии с надписями надо подать питания. Можно от нескольких батареек (я сделал именно так), можно подключить к блоку питания компьютера. При подаче питания должна загореться подсветка дисплея. Изображения может и не быть, причина в расстроенной контрастности.

Настраиваем контрастность

При правильно настроенной контрастности символы чётко должны быть видны на дисплее

Начнём тестирование. В первую очередь снимем сигнал с правого разъёма DDS

Кнопками UP и DOWN выбирается форма сигнала, LEFT и RIGHT меняем частоту, центральная кнопка включает/выключает генерацию.

Сразу видим, что после 10 кГц синуса уже далеко нет. После 30 кГц падает амплитуда. На частотах ниже 10 кГц синус хороший, частота стабильна, ступенек нет.

Теперь смотрим прямоугольный сигнал, частоты 1, 5, 10 кГц

На частотах выше 10 кГц даже проверять не стану - думаю уже все понятно.

Теперь треугольный сигнал, частоты 1, 5, 10, 30, 65,5 кГц.

Всем доброго времени суток!
Сегодня хочу представить вниманию читателей обзор генератора сигналов произвольной формы JDS6600.
Данная модель генератора способна выводить информацию на цветной TTF дисплей 2,4 inch, выдавать сигнал на два независимых канала частотой до 15 МГц синусоидальной, прямоугольной, треугольной формы и частотой до 6МГц сигналов CMOS/TTL логики, импульсов и сигналов произвольной формы с размахом от 0 до 20 Вольт, имеет вход для измерения частоты, периода, длительности, скважности. Прибор позволяет изменять фазу сигнала от 0 до 359,9 градусов с шагом в 0,1 градуса, смещать сигнал от -9,99 до + 9,99 Вольт (в зависимости от амплитуды сигнала). В памяти генератора прописаны 17 стандартных сигналов, а так же имеется возможность редактировать (создавать/рисовать) необходимую форму сигнала и записывать в 60 ячеек памяти.
Генератор много чего может и, как радиогубитель средней руки, вряд ли всем буду пользоваться.
В линейке генераторов JDS6600 пять модификаций прибора с диапазонами частот – 15 МГц, 30 МГц, 40 МГц, 50 МГц и 60 МГц. В обзоре младшая модель – 15 МГц.
За подробностями приглашаю под кат (много фото).
Начну, пожалуй, не с красивых картинок, а с фотографии, которая дает представление о настольном или полочном рабочем позиционировании генератора с указанием габаритных размеров и таблицы с характеристиками всей линейки генераторов серии JDS6600. Таблица взята из мануала.




Мануал на русском языке можно изучить и .
Габаритные размеры в мануале немно другие, но один-два миллиметра роли не играют.
Приехал прибор в неказистой коробке, которую почта/таможня слегка повредила, но к содержимому отнеслись с почтением – все цело и ничего не потеряли.


Комплект состоит из генератора, блока питания 5 Вольт 2 Ампера с заграничной вилкой, весьма приличного сетевого переходника, диска с ПО, кабеля для подключения к ПК и двух шнуров BNS-крокодилы. Генератор был замотан в пупырку, а все остальные составляющие упакованы в индивидуальные пакеты.

Подключение по USB в качестве источника питания тут не предполагается и потому БП с обычным штекером 2,1*5,5*10 мм. Но позже мы попробуем запитать генератор от другого БП, чтобы выяснить ток потребления на случай питания от Powerank.


Кабель USB тип A - USB тип B для подключения генератора к ПК длиной 1,55 метра.

Шнуры BNS-крокодилы длиной 1,1 метра, с гибкими проводами, припаянными к крокодилам.

Ну, и собственно, виновник обзора в разных ракурсах.
На передней панели расположились кнопка вкл/выкл, экран, ряд серых кнопок справа от него для управления параметрами сигнала, выбора режимов измерений и модуляции, кнопка WAVE выбора вида генерируемого сигнала, MOD активации режима модуляции, SYS системных установок, MEAS выбора режима измерений, стрелки выбора разряда значения частоты и т.д., кнопка ОК для подтверждения кучи всего и включения/отключения двух каналов, СН1/2 кнопки включения/выключения каждого канала, энкодер, измерительный вход и выходы двух каналов.
На тыльной стороне TTL коннектор, разъемы USB и питания, наклейка с наименованием модели и модификации 15М (15МГц), вентиляционные отверстия.


На боковых гранях кроме вентиляционных щелей ничего интересного. Верхняя крышка глухая.

Снизу четыре пластиковые черные ножки, к сожалению скользящие по столу, и откидывающаяся подставка для удобства.


Ножки потом, пожалуй, заменю нескользящими.
Вес генератора 542 грамма и большую часть видимо весит сам корпус.
Заглянем внутрь. Для этого откручиваем четыре длинных самореза снизу, отщелкиваем пластиковой картой переднюю панель, снимаем верхнюю часть корпуса и перед нами внутренний мир генератора.

Как и предполагал, места внутри предостаточно. Блок питания легко бы мог поместиться внутри корпуса, но видимо на его внешний вариант есть свои причины.
Платы соединены шлейфом, разъемы которого плотно сидят в гнездах.
Плата генератора чистая, будто и не пачкали флюсом.

При первом приближении на плате видим, что компонентов довольно много. Из выдающихся – чип мозговой деятельности фирмы Lattice, релюшки Omron, небольшой радиатор, логотип, наименование производителя и модели с ревизией – JDS6600Rev.11. Номер ревизии дает основание полагать, что производитель основательно занимается моделью, постоянно ее совершенствуя.

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

Остальное уберу под спойлер.











Чуть подробнее остановлюсь на компонентах скрытых под радиатором. Это пара высокоскоростных усилителей .

Радиатором их накрыли без термопасты, может и не критично, но при сборке ее добавил.
Плата управления вмещает куда меньше элементов. Следы флюса только в местах ручной пайки кнопки вкл/выкл, энкодера, шлейфа дисплея и разъема.


Кнопки тут вполне себе механические и должны служить долго.


Переходим к сути устройства.
Включение генератора сопровождается сообщением на экране о выборе языка – китайского или английского, процессе загрузки, модели, номере партии. Загрузка длится буквально 1-2 секунды.

Сразу после загрузки на экране появляется информация о предустановленных сигналах подаваемых на оба выхода генератора. Об активности выходов генератора свидетельствует надпись ON на экране и свечение зеленых светодиодов над разъемами выходов. Выключить оба выхода сразу можно нажатием кнопки ОК или по отдельности каждый канал кнопками СН1/2.
Информация о параметрах сигналов на каналах идентична для первого (верхнего) и второго (нижнего) каналов за исключением изображения формы сигнала.

В целом на освоение генератора уходит не так уж много времени, назначение и смысл кнопок интуитивно понятно. Описать словами так, чтобы было понятно читателям сложнее, чем пользоваться в реальности. Посему воспользуемся картинками из манула.
Еще раз о назначении органов управления, отображения информации.

Суть отображаемой информации и кнопок справа от экрана.

Назначение функциональных кнопок

После включения на двух выходах по умолчанию присутствует синусоидальный сигнал частотой 10 кГц, размахом 5 Вольт, заполнением 50%, смещением 0 Вольт и фазовым сдвигом между каналами 0 градусов. Серыми кнопками справа эти параметры меняются и рассказывать тут особо нечего. Выбрали нужный параметр, далее кнопками со стрелками выбрали разряд изменяемого параметра и энкодером меняем значение.
Наибольший интерес вызывают кнопки WAVE выбора вида генерируемого сигнала, MOD активации режима модуляции, SYS системных установок, MEAS выбора режима измерений.
При нажатии на кнопку WAVE на экране появляется следующее изображение и становится доступен выбор формы сигнала.

К серым кнопкам привязаны 4 основных сигнала (синусоида, меандр, импульс, треугольник) и произвольная форма, прописанная в первой ячейке памяти, зарезервированной для этого.
Гораздо большее количество сигналов можно выбрать, вращая ручку энкодера. Этот способ дает возможность выбрать:
17 предустановленных сигналов – Sine, Sguare, Pulse, Triangle, PartialSine, CMOS, DC, Half-Wave, Full-Wave, Pos-Ladder, Neg-Ladder, Noise, Exp-Rise, Exp-Decay, Multi-Tone, Sinc, Lorenz
и 15 произвольных сигналов Arbitrary. С завода эти 15 ячеек пустые, в них ничего не записано – на выходе 0 Вольт, 0 Герц. Их заполнение рассмотрим после установки ПО.
В мануале идет речь о амплитуде сигнала и ее регулировке от 0 до 20 Вольт. На самом деле о регулировке амплитуды можно говорить только для отдельных сигналов, в основном речь идет о размахе.

Синусоида размахом 5В (на генераторе ampl 5V, осциллограф показывает значение размаха, хоть и пишет про амплитуду).

Меандр 5В (на генераторе ampl 5V, осциллограф показывает значение размаха, но пишет про амплитуду).

Разницы между Sguare и Pulse на осциллограмме не заметил. Как был меандр, так и остается при переключении, поэтому скрин не выкладываю.
Исправлено благодаря qu1ck
До тех пор не видно разницы пока не начнешь менять коэффициент заполнения DUTY. DUTY меняется только в Pulse, в режиме меандр Sguare коэффициент заполнения меняется только на экране генератора - на осциллограмме это никак не отражается.

Треугольный сигнал (на генераторе ampl 5V, осциллограф показывает значение размаха, но пишет про амплитуду).

Следующий сигнал Partial Sine – частичный синус, но разницы с Sineна осциллограмме так же не заметил и скрин не выкладываю.
Исправлено благодаря qu1ck
Здесь ситуация, как и с сигналом Pulse, изменяем коэффициент заполнения и получаем изменения синусоиды. DUTY меняется только в Partial Sine, в режиме Sine коэффициент заполнения меняется только на экране генератора - на осциллограмме это никак не отражается.

Следующий сигнал CMOS.Здесь размах/амплитуда регулируется от 0,5 до 10 Вольт, несмотря на то что ручкой энкодера на экране выставляется до 20 Вольт.

Следующим идет сигнал DC, но на осциллограмме тишина.

Далее сигнал Half-Wave вот тут как раз мы видим амплитуду. Для сравнения на втором канале установил синусоиду. Хоть на генераторе указана амплитуда 5 вольт и осциллограф пишет ampl, но мы видим, что как раз измеряется размах синусоиды и амплитуда Half-Wave.

На Full-Wave так же видим измерение амплитуды и, при установленной частоте на генераторе 10 кГц, 20 кГц по осциллограмме.

Сигналы Pos-Ladder и Neg-Ladder задал на первом и втором каналах, соответственно. Снова видим размах.

Шумы на обоих каналах шумят независимо друг от друга с разными параметрами.

Снова для наглядности и экономии времени читателей сигналы Exp-Rise и Exp-Decay на разных каналах.

По той же схеме Multi-Tone и Sinc.

Сигналы Lorenz.

Что можно сказать исходя из вышеприведенных скринов предустановленных сигналов?
1. Есть треугольник, но нет пилы;
2. Измеряемая амплитуда/размах на разных сигналах даже на двух каналах одновременно отличается от установленных на генераторе 5 Вольт.
3. Не заметил разницы между Sguare и Pulse, Partial Sine и Sine

Следующая полезная функция прибора – функция измерения/счетчика. Прибор позволяет измерять сигнал частотой до 100 МГц. Активируется функция кнопкой Meas. Переключение между измерениями и счетчиком можно сделать тремя способами – кнопкой Funk, кнопками со стрелками и энкодером.

Кнопкой Coup выбираем открытый или закрытый вход, кнопкой Mode – частоту или периоды подсчета.
Обозреваемый JDS6600 позволяет измерять то, что он же и генерирует. Задаем параметры сигнала на выходе генератора и подключаем к измерительному входу.

Следующая функция модуляции. Активируется кнопкой MOD. Здесь доступны три режима: генератор качающейся частоты - Sweep Frequency, генератор импульсов – Pulse Generator и генератор пачки импульсов – Burst. Режимы выбираются кнопкой Func.
Свипирование возможно на двух каналах, но не одновременно - либо первый, либо второй.

Стрелками или энкодером выбираем канал, устанавливаем начальную и конечную частоту сигнала (форму сигнала выбираем заранее в режиме Wave), линейную или логарифмическую зависимость и включаем ON.
Логарифмическая.

Линейная

Режим Pulse Generator (только первый канал).


Режим генерации пачек импульсов Burst (первый канал).

Здесь можно задать количество импульсов в пачке от 1 до 1 048 575 и выбрать режимы
Две пачки импульсов

Сто пачек импульсов

471 пачка.

Обратите внимание на изменение Vmin, Vmax с ростом количества пачек. При малом их количестве импульсы имеют отрицательную полярность, дальше картина иная. Кто может объяснить, прошу прояснить в комментариях.
Исправлено благодаря qu1ck , который указал на ошибку в выборе режима AC coupling на осциллографе. При изменении на DC все встало на свои места, за что прошу отметиться в карме qu1ck.

В режиме Burst четыре вида синхронизации (Как я понял. Если ошибаюсь поправьте) – от второго канала генератора – CH2 Trig, внешняя синхронизация – Ext.Trig (AC) и Ext.Trig (DC) и Manual Trig – ручная.
Следующая функциональная кнопка – это кнопка SYS, открывающая доступ к установкам генератора. Возможно следовало описать эту часть в начале, но двигался по наибольшей востребованности функций.

Кроме включения/отключения звуковых сигналов при нажатии кнопок, регулировки яркости экрана, выбора языка (китайский, английский) и сброса до заводских настроек, здесь можно поменять количество отображаемых/вызываемых ячеек произвольных сигналов (с завода 15, можно установить все 60), загрузить/записать 100 ячеек памяти и синхронизировать каналы по форме сигнала, частоте, амплитуде (размаху), заполнению, смещению.

Суть 60 ячеек и 100 ячеек станет понятна чуть позже, после подключения к ПК.
Для подключения генератора к компьютеру необходимо с диска из комплекта установить ПО.
Распаковав архив, сначала нужно установить драйвер CH340Q из папки h340 drive (архив Ch340.rar), далее установить программый драйвер VISA из папки VISA (установщик setup.exe), а уже потом установщик управляющей программы из папки English\JDS6600 application\Setup.exe
При подключенном к компьютеру генераторе и запуске программы необходимо выбрать виртуальный СОМ, куда подключен прибор и кликнуть кнопку Connect. Если порт выбран правильно, то увидим такую картинку.

Оболочка интерфейса представлена четырьмя вкладками – первая Configuration для соединения c ПК.
Вторая вкладка – Control Panel – панель управления генератором. Здесь все тоже самое, что и при управлении с лицевой панели прибора, но гораздо удобнее.

Все опции собраны на одном экране и привычные манипуляции мышью очень облегчают манипуляции с генератором. Кроме того, на этой вкладке одновременно с операциями над сигналами доступна синхронизация каналом, что с лицевой панели генератора нужно было делать через системные настройки генератора.
Далее вкладка Extend Function – аналог действиям кнопок MEAS и MOD на лицевой панели прибора, только на одном экране. Но есть и разница – не нашлось места в виртуальной среде для функции Pulse Generator в режиме Modulation Mode (MOD). С лицевой панели в режиме MOD доступны три функции – качения частоты, генератор импульсов и генератор пачек импульсов. С компьютера доступны только Sweep Frequency и Burst.

И последняя вкладка Arbitrary позволяет создавать свои формы сигналов и записывать их в изначально пустые ячейки памяти генератора (60 штук).

Можно начать с чистого листа, как на скрине выше, а можно взять за основу предустановленный сигнал (17 штук) и изголяться над ним, а потом записать в одну из 60 ячеек произвольных сигналов.

Для наглядности записал в ячейку памяти Arbitrary 01 такой сигнал.

И на осциллограмме видим следующее:

Здесь можно поменять амплитуду, смещение, фазу, но почему-то нельзя изменить коэффициент заполнения.
Вот теперь хочу вернуться к 60 и 100 ячейкам. Методом научного тыка и сравнений результатов вычислил, что кнопкой SYS на панели генератора можно открыть и сделать доступными до 60 ячеек произвольных сигналов (с завода 15), которые можно создать с помощью ПО и записать их в эти 60 ячеек.
Таким образом, становится доступны с панели генератора и вкладки Control Panel 17 стандартных и 60 произвольных сигналов.
Но, если и этот набор не достаточен, если какие-то сигналы Вами востребованы, а каких-то нет вообще (как, например, отсутствие прямой и обратной пил) и их нельзя создать с помощью ПО (например, из-за невозможности манипуляций с коэффициентом заполнения из программной оболочки), то новый сигнал можно создать с панели генератора, изменив любой параметр. Далее нужно в меню SYS выбрать номер ячейки от 00 до 99 (те самые 100) и кнопкой SAVE записать сигнал в эту ячейку. Теперь, когда он Вам понадобится, заходим в SYS, выбираем номер ячейки с этим сигналом и кнопкой LOAD загружаем его из памяти.
Т.е. по факту можно использовать 177 сигналов!!! 17 предустановленных + 60 произвольных + 100 загружаемых из памяти, когда это требуется.

В завершающей части обзора посмотрим, до каких частот генератор сохраняет приличные формы сигнала.
Синусоида 100 кГц 5В и 1 МГц 5В.

Синусоида 6 МГц 5В и 10 МГц 5В

Как видим, имеет место снижение размаха сигнала и оно не зависит от величины нагрузки. Без нагрузки вовсе, 1 кОм, 10 кОм, 47 кОм – снижение размаха есть всегда, но всегда в районе 0,5 Вольта.
В районе 13 МГц размах снижается на 0,7 вольт, но далее, при установленных 5 Вольтах размаха, падение не увеличивается.

Синусоида 15 МГц 10 Вольт – тут снижение размаха уже больше. Но это уже 15 МГц.

Дальше была выявлена особенность генератора JDS6600-15M – заявленная амплитуда в 20 Вольт, касается только сигналов (любой формы) частотой до 10 МГц. Ожидаемо амплитуда/размах ниже установленных значений. Щуп 1/10.

В диапазоне 10-15 МГц максимально возможная амплитуда/размах составляет 10 Вольт. Энкодером или в программе устанавливаем 20 Вольт (на экране генератора видим установленные 20 Вольт), потом частоту выше 10 МГц и показания амплитуды на экране прибора переключаются на 10 Вольт. Соответственно на выходе 10 Вольт. Такая особенность.

С формой синусоиды будто бы все в порядке, посмотрим меандр.
10 кГц 5В и 100 кГц 5В.

1МГц 5В и 6 Мгц 5 В.

6МГц 10В и 6 МГц 20В.
Здесь уже видно, что на высоких частотах меандр стремится к синусоиде, что присуще многим генераторам.

Треугольник 100 кГц 5В и 1 МГц 5В.

С повышением частоты и амплитуды форма сигнала начинает изменяться.
5 МГц 5В и 5 МГц 12В.

Формы сигналов на больших частотах далеки от идеальных, но к этому был готов. Опытным людям цена прибора многое скажет, для не искушенных пользователей материал изложил – надеюсь, он будет полезен. В описании генератора присутствует маркетинг и я, наверняка изложил, не все, что можно выжать из прибора, но основное показал. Возможно, старшие модели в линейке 6600 грешат меньше, но и стоят они дороже. Предоставленный экземпляр можно охарактеризовать как, генератор начального, бюджетного уровня для своего круга задач – ознакомление, обучение, радиолюбительство, быть может, какое-то не особо сложное и требовательное производство.
Из минусов отмечу снижение амплитуды/размаха сигнала с ростом частоты, отсутствие пил (но можно самому сгенерировать, изменив коэффициент заполнения и записав в ячейку).
Разработчику хотелось бы пожелать не увлекаться маркетингом, допилить чуть ПО.
Из плюсов все таки широкий фукнционал, возможность редактировать сигналы, записывать их в ячейки памяти, интуитивно понятное управление, два независимых канала.
В завершении замена штатного блока питания и измерение тока потребления.

Ток потребления не превышает одного Ампера и можно питать генератор от Power bank, обзаведясь соответствующим шнуром.
Если чего то не показал, то формулируйте подробный вопрос - генератор на столе, проведу опыт.

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

Планирую купить +14 Добавить в избранное Обзор понравился +42 +55

Сегодня устройства прямого цифрового синтеза аналоговых сигналов - синтезаторы DDS-все шире применяются в радиоэлектронных системах, причем как для работы в высокочастотном диапазоне (до сотен мегагерц), так и на низких частотах, вплоть до единиц герц. Благодаря развитию электроники и технологии микросхемы-синтезаторы DDS становятся весьма недорогими компонентами, в то же время обеспечивающими высочайшее качество генерируемых сигналов. Фирма Analog Devices является одним из лидеров в данной области и выпускает широкую номенклатуру синтезаторов DDS. Предлагаем вашему вниманию перевод статьи о синтезаторах DDS из журнала Analog Dialogue. Журнал Analog Dialogue посвящен продукции фирмы Analog Devices, в нем публикуются материалы как прикладного, так и теоретического характера. Данный журнал бесплатно доступен на сайте www.analog.com, в настоящее время он выпускается только в электронном виде.

Что такое «прямой цифровой синтез»?

Прямой цифровой синтез (DDS) - метод, позволяющий получить аналоговый сигнал (обычно это синусоидальный сигнал) за счет генерации временной последовательности цифровых отсчетов и их дальнейшего преобразования в аналоговую форму посредством ЦАП. Так как сигнал сначала синтезируется в цифровой форме, такое устройство может обеспечить быстрое переключение частоты, высокое разрешение по сетке частот, работу в широком диапазоне частот. Благодаря развитию микросхемотехники и технологии на сегодняшний день синтезато- ры DDS представляют собой очень компактные микросхемы с низким энергопотреблением.

В каких случаях применяются синтезаторы DDS? Какие еще методы синтеза сигналов существуют?

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

Существует много способов синтеза сигналов - от генераторов на основе петли ФАПЧ (такой подход доминирует при синтезе сигналов высокой частоты) до динамического цифрового управления цифро-аналоговым преобразователем (при синтезе низкочастотных сигналов). Но технология DDS быстро завоевывает популярность в качестве средства синтеза сигналов как в телекоммуникационных, так и в низкочастотных промышленных системах благодаря тому, что стало возможным реализовать на одной микросхеме программируемый генератор с высоким разрешением по частоте и с высоким качеством сигнала.

Кроме того, непрерывное совершенствование технологии и схемотехники привело к тому, что стоимость микросхем и их энергопотребление снизились до величин, немыслимых в прошлом.

Например, программируемый генератор DDS AD9833 (рис. 1), при работе от источника питания 5,5 В и при частоте кварцевого резонатора 25 МГц, потребляет не более 20 мВт.

Рис. 1. Однокристальный DDS синтезатор AD9833

Какие основные преимущества дает применение DDS-синтезаторов?

Синтезаторы DDS, подобные вышеупомянутой ИС AD9833, управляются посредством быстродействующего последовательного порта SPI, при этом для генерации синусоидального сигнала требуется только тактовый сигнал. Доступные в настоящее время синтезаторы DDS способны генерировать сигнал на частотах от 1 Гц до 400 МГц (при тактовой частоте 1 ГГц). Преимущества, предоставляемые малым энергопотреблением, низкой стоимостью и малыми размерами корпусов, в сочетании с отличным качеством сигнала и возможностью цифрового управления, делают синтезаторы DDS чрезвычайно привлекательными приборами по сравнению с гораздо менее гибкими схемами на дискретных элементах.

Какие сигналы можно получить на выходе типичного синтезатора DDS?

Синтезаторы DDS способны генерировать не только синусоидальный сигнал. На рис. 2 показаны прямоугольный, треугольный и синусоидальный сигналы на выходе ИС AD9833.

Рис. 2. Прямоугольный, треугольный и синусоидальный сигналы на выходе синтезатора DDS

Каким образом устройство DDS генерирует синусоидальный сигнал?

На рис. 3 показана функциональная схема синтезатора DDS: его основными узлами являются накопитель значения фазы (аккумулятор фазы), средство преобразования значения фазы в амплитуду (обычно это ПЗУ с табличными значениями функции синуса) и ЦАП.

Рис. 3. Функциональная схема синтезатора DDS

Схема DDS генерирует синусоидальный сигнал с заданной частотой. Частота выходного сигнала определяется двумя параметрами: частотой тактового сигнала и двоичным числом, записанным в регистр частоты.

Это двоичное число, записанное в регистр частоты, подается на вход аккумулятора фазы. Если используется ПЗУ с табличными значениями синуса, то аккумулятор фазы вычисляет адрес (соответствующий мгновенному значению фазы) и подает его на вход ПЗУ, при этом на выходе ПЗУ мы получаем текущее значение амплитуды в цифровом виде. Далее ЦАП преобразует это цифровое значение в соответствующее значение напряжения или тока. Для генерации синусоиды с фиксированной частотой постоянная величина (приращение фазы, определяемое двоичным числом, записанным в регистр частоты) прибавляется к значению, хранящемуся в аккумуляторе фазы, с каждым импульсом тактового сигнала. Если значение приращения велико, аккумулятор фазы будет быстро пробегать всю таблицу синуса, хранящуюся в ПЗУ, и частота сигнала при этом будет высока. Если значение приращения фазы мало, аккумулятору фазы понадобится больше шагов, чтобы пройти всю таблицу ПЗУ, и соответственно частота сигнала на выходе будет низкой.

Что подразумевается под словами «интегральный DDS синтезатор»?

Цифро-аналоговый преобразователь (ЦАП), выполненный на одном кристалле со схемой генерации цифровых отсчетов (DDS) представляет собой законченный интегральный DDS-синтезатор. Таковыми являются все DDS-синтезаторы фирмы Analog Devices.

Подробнее о принципах работы аккумулятора фазы

Мгновенное значение фазы непрерывного синусоидального сигнала циклически изменяется в диапазоне от 0 до 2π. π Значение фазы генерируется в цифровом виде. Функция переноса, которой обладает счетчик, позволяет реализовать в синтезаторе DDS непрерывное циклическое изменение величины фазы.

Чтобы понять, каким образом осуществляется генерация, представьте себе синусоидальные колебания в виде вектора, вращающегося по окружности (рис. 4). Каждая точка на окружности соответствует определенной точке синусоиды. Вектор вращается по окружности, при этом величина синуса угла является выходным сигналом. Один оборот вектора с постоянной скоростью обеспечивает генерацию одного периода синусоиды. Аккумулятор фазы генерирует значения угла с одинаковыми приращениями, величина, находящаяся в аккумуляторе фазы, соответствует определенной точке окружности.

Рис. 4. Циклическое вычисление фазы

определенной точке окружности. Аккумулятор фазы представляет собой счетчик по модулю М, значение которого увеличивается с каждым приходом тактового импульса. Величина приращения задается двоичным числом М. Это число определяет величину приращения значения фазы с каждым тактовым импульсом, в сущности, этим числом определяется число пропущенных отсчетов при движении по окружности. Чем больше размер шага, тем быстрее происходит переполнение аккумулятора фазы и более коротким получается период синусоиды. Разрядностью аккумулятора фазы (n) определяется общее число возможных значений фазы, что в свою очередь обусловливает разрешение сетки частот синтезатора DDS. Для 28-разрядного аккумулятора фазы при М = 0000...0001 аккумулятор будет переполняться после 228 циклов (тактовых импульсов). При М = 0111...1111 аккумулятор фазы будет переполняться всего за 2 цикла (это минимальное число циклов, удовлетворяющее критерию Найквиста). Эти соотношения описываются следующей простой формулой:

f out = (М x f c)/2 n

где f out - частота выходного сигнала DDS; М- двоичное число, определяющее частоту сигнала; f c - частота сигнала тактирования; n- разрядность аккумулятора фазы.

При изменении значения М частота на выходе синтезатора меняется сразу и при этом сигнал не имеет разрывов. Здесь отсутствует переходный процесс захвата частоты, присущий генераторам с петлей ФАПЧ.

При увеличении выходной частоты число отсчетов на один цикл уменьшается. Так как теорема отсчетов требует наличия как минимум двух отсчетов на период для полного восстановления выходного сигнала, максимальная частота синтезируемого сигнала DDS будет составлять f c /2. Однако на практике частота синтезируемого сигнала ограничивается несколько меньшим значением, что способствует улучшению качества синтезируемого сигнала и облегчению его фильтрации.

При генерировании сигнала постоянной частоты код на выходе аккумулятора фазы увеличивается по линейному закону, что соответствует линейному пилообразному аналоговому сигналу.

Каким образом этот линейный сигнал преобразуется в синусоиду?

Для преобразования выходного кода аккумулятора фазы (в случае ИС AD9833 - это 28-разрядный код) в мгновенные значения амплитуды используется ПЗУ с табличными значениями отсчетов синуса. Младшие разряды 28-разрядного кода отбрасываются; на выходе табличного ПЗУ мы получаем 10-разрядный код, который подается на ЦАП. Так как синусоида обладает симметричностью, в синтезаторе DDS хранятся табличные данные только об 1/4 части синусоиды. Табличное ПЗУ генерирует полный цикл синусоиды за счет чтения данных сначала в прямом, затем в обратном порядке. Схематически принцип работы синтезатора проиллюстрирован на рис. 5.

Рис. 5. Сигналы в синтезаторе DDS

В каких областях применяются синтезаторы DDS?

Области применения синтезаторов DDS делятся на две категории: разработчикам теле-коммуникационных устройств требуются генераторы с мгновенной перестройкой частоты, с низким уровнем фазового шума и с низким уровнем гармоник и интермодуляционных составляющих. В таких случаях часто применяются синтезаторы DDS как обладающие хорошими характеристиками с точки зрения спектра выходного сигнала и высоким разрешением по частоте. В этих областях синтезаторы DDS применяются для модуляции сигнала, в качестве источников опорного сигнала для генераторов с петлей ФАПЧ, в качестве генераторов-гетеродинов, и даже для прямого синтеза радиосигнала.

Другая категория - это различные промышленные и медицинские системы, где синтезаторы DDS используются в качестве программируемых генераторов. Так как синтезатор DDS программируется с помощью цифрового сигнала, фазой и частотой сигнала легко управлять без переключения внешних компонентов, которое требовалось бы в случае применения аналоговых генераторов. Синтезатор DDS позволяет легко перестраивать частоту в реальном времени для настройки на резонансную частоту или для компенсации температурного дрейфа. Синтезаторы DDS применяются в подобных случаях для измерения импеданса (например, при работе с датчиками, у которых изменяется импеданс), для генерации импульсных сигналов для стимуляции, или для измерения затухания в локальных сетях или в телефонном кабеле.

Какие свойства синтезаторов DDS являются основными преимуществами с точки зрения проектировщика?

Современные недорогие, высокопроизводительные и высокоинтегрированные синтезаторы DDS становятся очень популярными как в коммуникационных системах, так и в устройствах с датчиками. Среди привлекательных для разработчика свойств можно отме- тить следующие:

  • Цифровая настройка частоты с точностью до микрогерц и фазы с точностью до долей градуса.
  • Чрезвычайно большая скорость перестройки частоты (или фазы) выходного сигнала; переключение частоты производится при непрерывной фазе сигнала без выбросов и без переходных процессов захвата частоты, присущих системам с ФАПЧ.
  • Цифровая архитектура синтезаторов DDS позволяет избавиться от элементов ручной настройки и от явлений, связанных с температурным и временным дрейфом, присущим аналоговым системам.
  • Цифровой интерфейс синтезаторов DDS позволяет без труда реализовать дистанционное управление синтезатором с помощью микропроцессора.

Каким образом использовать синтезатор DDS для FSK-модуляции?

Двоичная модуляция со сдвигом частоты (FSK, frequency-shift keying) является одним из простейших способов кодирования данных. Данные передаются за счет переключения не- сущей частоты между двумя различными зна- чениями. Одна частота - f 1 (предположим, та, которая выше) обозначает логическую еди- ницу, а другая - f 0 - логический ноль. На рис. 6 показан исходный двоичный сигнал и полученный модулированный сигнал.

Рис. 6. Модуляция FSK

Такой алгоритм кодирования легко реализовать при помощи синтезатора DDS. Для этого устанавливается двоичное число, определяющее частоту сигнала f0 или f1, соответствующую единице или нулю передаваемого кода. Пользователь задает соответствующие значения частот. В микросхеме AD9834 для пользователя доступны два регистра программирования частоты, что облегчает получение сигнала FSK. В данной микросхеме имеется специальный вход (FSELECT), на который можно подавать модулирующий сигнал и выбирать одно из двух значений частоты (точнее, один из двух регистров частоты). Функциональная схема на рис. 7 иллюстрирует процесс получения сигнала FSK.

Рис. 7. Генератор сигнала FSK на базе синтезатора DDS

А как получить сигнал с фазовой модуляцией PSK?

Кодирование со сдвигом фаз (PSK) - еще один простой способ кодирования. При модуляции PSK частота несущей остается постоянной, а фаза передаваемого сигнала меняется в соответствии с передаваемым кодом.

Из разновидностей модуляции PSK наиболее простой является двоичная импульсно-кодовая модуляция (BPSK) - в ней применяется только два значения фазы сигнала, 0° и 180°. Спомощью фазового сдвига 0° передается логическая единица, а при фазовом сдвиге 180° - логический ноль. Состояние каждого передаваемого разряда определяется по отношению к предыдущему разряду. Если фаза сигнала не меняется, это означает, что передаваемый сигнал находится постоянно в одном из логических состояний - 0 или 1. Если фаза изменилась на 180°, это значит, что состояние изменилось - с 0 на 1 или с 1 на 0.

Кодирование PSK легко реализовать с помощью микросхемы-синтезатора DDS. Большинство из них обладают отдельным регистром фазы, в который можно записать величину фазы. Эта величина прибавляется к фазе несущей частоты без изменения значения частоты. Изменение значения регистра фазы приводит к изменению фазы несущей частоты, таким образом, мы получаем сигнал с модуляцией PSK. Для тех случаев, где требуется модуляция с высокой скоростью, имеется ИС AD9834, в которой предусмотрены регистры, куда можно заранее записать величину фазы сигнала, а затем выбрать одно из двух значений фазы с помощью входа PSELECT, в результате чего мы получим требуемый сигнал с фазовой модуляцией.

Более сложные виды модуляции PSK подразумевают 4 или 8 различных значений фазы. При этом скорость передачи данных гораздо выше, чем при простейшей двоичной модуляции (BPSK). При модуляции с четырьмя значениями фазы (квадратурной модуляции, или QPSK) фаза может принимать значения 0°, +90°, –90° или 180°; таким образом, каждое значение фазы передает 2 бита информации. В микросхемах AD9830, AD9831, AD9832 и AD9835 имеется четыре регистра фазы, позволяющих реализовать сложные схемы модуляции за счет выбора одного из четырех значений сдвига фазы.

Рис. 8. Синхронизация синтезаторов DDS

Можно ли синхронизировать несколько синтезаторов DDS, например, для получения сигнала I-Q?

Можно применить два отдельных синтезатора DDS, работающих от одного источника тактирования, для получения двух выходных сигналов, фазы которых можно затем установить в соответствии с требуемой величиной. На рис. 8 две микросхемы AD9834 работают от общего источника тактовых импульсов и их входы сброса объединены. При такой конфигурации можно реализовать модуляцию I-Q.

Сигнал сброса должен быть подан на соответствующие входы микросхем после включения питания и до подачи данных на входы синтезаторов DDS. Этот сигнал установит синтезаторы DDS в исходное состояние с известной начальной фазой, что позволит синхронизировать несколько синтезаторов DDS. Когда в микросхемы одновременно загружаются новые данные, обеспечивается когерентность фаз выходных сигналов; соотношения фаз устанавливаются с помощью регистров сдвига фаз. Микросхемы AD9833 и AD9834 обладают 12-разрядными регистрами фазы, эффективная разрешающая способность составляет 0,1. Более детально синхронизация нескольких синтезаторов DDS описана в руководстве AN-605.

Какие параметры являются основными для синтезаторов DDS?

Это фазовый шум, дрожание фронтов (джиттер) и SFDR (динамический диапазон, свободный от гармоник). Фазовый шум (заданный в виде плотности dBc/Hz) является мерой нестабильности частоты генератора на коротких промежутках времени. Он измеряется в одной боковой полосе (в децибелах относительно основного сигнала, в полосе 1 Гц) при различной величине отстройки от основной частоты генерации. Этот параметр особенно важен для разработчиков телекоммуникационных систем.

Обладают ли синтезаторы DDS хорошими характеристикам с точки зрения фазового шума?

Шум в системе с дискретными данными зависит от многих факторов. Дрожание фазы (джиттер) тактового сигнала в системе DDS можно рассматривать как фазовый шум основного сигнала; кроме того, погрешность может вносить округление величины фазы, эта погрешность зависит от значения кода, задающего частоту сигнала. Если соотношение таково, что величина фазы точно равна величине после округления, то ошибка округления фазы отсутствует. Если величина фазы для точного выражения требует больше разрядов, чем имеется, то округление величины фазы будет проявляться в виде дополнительных пиков в спектре выходного сигнала. Величина этих пиков и их расположение зависит от заданного кода. Цифро-аналоговый преобразователь (ЦАП) также вносит дополнительные шумы в систему. Погрешности квантования и нелинейность ЦАП проявляются в виде шумов и гармоник в выходном сигнале. На рис. 9 показан спектр фазового шума, типичный для синтезатора DDS - в данном случае это ИС AD9834.

Рис. 9. Типичный спектр фазового шума выходного сигнала синтезатора DDS AD9834. Частота выходного сигнала 2 МГц, частота тактирования 50 МГц

А что насчет дрожания фронтов - джиттера?

Дрожание фронтов (джиттер) - это динамическое отклонение фронта сигнала от среднего положения фронта, измеренного за продолжительный период времени. Идеальный генератор обеспечивал бы абсолютно точное положение фронтов сигнала в определенные моменты времени, и это положение никогда бы не менялось. Такое, конечно, невозможно, и даже лучшие генераторы созданы из реальных элементов, обладающих шумами и другими несовершенствами. Высококачественный кварцевый генератор обладает величиной джиттера, не превышающей 35 пс.

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

Таким образом, некоторое дрожание фазы будет присутствовать в выходном сигнале синтезатора DDS. Так как любому источнику тактового сигнала присущ некоторый джиттер, для начала необходимо выбрать тактовый генератор с минимальным джиттером. Один из способов уменьшить величину джиттера - получать тактовый сигнал посредством деления частоты высокочастотного тактового сигнала. При делении частоты та же величина джиттера распределяется на больший период времени, что снижает относительную величину джиттера.

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

SFDR - динамический диапазон, свободный от гармоник, - представляет собой соотношение (в децибелах) между величиной основного сигнала и величиной максимального пика в спектре выходного сигнала, включая гармоники, интермодуляционные составляющие и продукты наложения спектров.

SFDR является важным параметром для многоканальных систем. Если передатчик обладает недостаточно низким уровнем гармоник, эти гармоники могут являться источником помех для соседних каналов.

Типичный спектр выходного сигнала ИС AD9834 (10-разрядный DDS) при частоте тактирования 50 МГц показан на рис. 10. На рис. 10а частота выходного сигнала составляет ровно 1/3 от частоты тактирования (MCLK). Поэтому в данном случае в полосе 25 МГц практически отсутствуют гармоники, эффекты наложения спектров минимальны и спектр выглядит превосходно; все максимумы в спектре как минимум на 80 дБ слабее сигнала (SFDR = 80 дБ). На рис. 10b показан спектр выходного сигнала при более низкой частоте на выходе; здесь на один период приходится большее число отсчетов (но недостаточное для того, чтобы получить по-настоящему чистую синусоиду) и спектр выходного сигнала гораздо дальше отстоит от идеального; максимальная гармоника - вторая - имеет величину –50 дБ относительно основного сигнала (SFDR = 50 дБ).

рис 10 Спектр выходного сигнала синтезатора AD9834 при частоте тактирования 50 МГц и выходной частоте f out = MCLK/3 = 16,667 МГц (a) и f out = 4,8 МГц (b)

Какие имеются средства автоматизации разработки систем на базе синтезаторов DDS?

Существует интерактивный помощник разработчика, доступный через веб-интерфейс, позволяющий рассчитать коды частоты и фазы при заданной частоте тактирования, частоте и фазе выходного сигнала. Программа показывает спектр выходного сигнала, помогающий рассчитать выходной восстанавливающий фильтр. Пример показан на рис. 11. Кроме того, программа выводит в виде таблицы перечень всех основных гармоник и продуктов наложения спектров и их значения.

Рис. 11. Программа помощник разработчика систем на базе DDS

Как могут эти программы помочь мне запрограммировать синтезатор DDS?

Все необходимые исходные данные - это требуемая частота выходного сигнала и частота источника тактового сигнала. Программа на основе этих данных выдаст все коды, необходимые для программирования синтезатора DDS. В примере, показанном на рис. 12, частота тактирования MCLK=25 МГц, требуемая частота выходного сигнала - 10 МГц. Нажав на кнопку, мы получаем строчку Init Sequence, полностью отображающую последовательность программирования синтезатора DDS.

Рис. 12. Получение кода для программирования синтезатора DDS

Каким образом можно на практике ознакомиться с работой синтезатора DDS?

Для каждой микросхемы-синтезатора DDS, выпускаемой фирмой Analog Devices, выпускается также соответствующая оценочная плата (Evaluation Board). По поводу приобретения продукции и оценочных плат обращайтесь к дистрибьюторам. К оценочным платам прилагается программное обеспечение, позволяющее инженеру ознакомиться с работой платы в течение считанных минут после получения комплекта. К плате прилагается также техническое описание, содержащее схему и рекомендации по проектированию устройства и разводке платы.

Главная страница, посвященная синтезаторам DDS: www.analog.com/dds.

Средства разработки: http://www.analog.com/Analog_Root/static/techSupport/interactiveTools/#dds.

Углубленный курс по изучению технологии DDS: http://www.analog.com/UploadedFiles/Tutorials/450968421DDS_Tutorial_rev12-2-99.pdf.

Руководство по применению AN-605 (упоминавшееся выше): http://www.analog.com/UploadedFiles/Application_Notes/3710928535190444148168447035AN605_0.pdf.

Руководство по выбору микросхемы DDS: http://www.analog.com/IST/SelectionTable/?selection_table_id=27

Вам также будет интересно:

Читы и консольные команды для Counter-Strike: Global Offensive Команда в кс го чтобы летать
В этой статье мы рассмотрим некоторые из наиболее полезных и забавных консольных команд в...
Arduino и четырехразрядный семисегментный индикатор Семисегментный индикатор 4 разряда распиновка
В сегодняшней статье поговорим о 7-сегментных индикаторах и о том, как их «подружить» с...
«Рабочие лошадки» Hi-Fi: собираем бюджетную систему Хороший бюджетный hi fi плеер
Выбор плеера - это сложный процесс, иногда человек желает получить не просто коробочку,...
Как правильно пользоваться сургучными печатями
На самом деле, сургуч - это смесь смол, окрашенная в определенный цвет. Если у вас на руках...
Лагает fallout 4 как снизить графику
10 ноября состоялся релиз долгожданной игры на ПК, PlayStation 4 и Xbox One, и постепенно...