Автопортал || Авто - статьи

Сельскохозяйственная техника
Чтение RSS

Версія DDS генератора на мікросхемі AD9833 і микроконтроллере AT90USB162

Одним з важливих інструментів в радіоаматорського лабораторії є генератор сигналів. В розділі " схеми »порталу Радіолоцман опубліковано безліч схем і рішень з даного пристрою, на форумі користувачі діляться своїми варіантами конструкцій і додатковими матеріалами. Генератори заводського виготовлення досить дороги, і мало хто може дозволити собі його покупку. З іншого боку в радіоаматорського лабораторії / майстерні цілком достатньо генератора сигналів, який можна сконструювати самостійно. Пропонуємо вашій увазі ще один варіант конструкції DDS функціонального генератора. Його відмінною рисою є повне управління по інтерфейсу USB (Малюнок 1).

форумі

Малюнок 1.Зовнішній вигляд плати DDS генартора з встановленими компонентами.

Основою конструкції є поширена спеціалізована мікросхема AD9833 виробництва компанії Analog Devices , Що виконує функцію DDS синтезу. Прямий цифровий синтез (DDS) - метод, що дозволяє отримати аналоговий сигнал за рахунок генерації часовій послідовності цифрових відліків і їх подальшого перетворення в аналогову форму за допомогою цифро-аналогового перетворювача. Так як сигнал спочатку синтезується в цифровій формі, такий пристрій може забезпечити швидке переключення частоти, висока роздільна здатність по сітці частот, роботу в широкому діапазоні частот. На сьогоднішньому рівні розвитку схемотехніки DDS синтезатори є дуже компактні мікросхеми з низьким споживанням.

Для мікросхеми необхідний сигнал тактової частоти 25 МГц, вона має вбудовані схеми фазового автопідстроювання частоти, таблицю значень синуса і цифро-аналоговий перетворювач. Управління мікросхемою здійснюється по інтерфейсу SPI, користувач може встановити форму вихідного сигналу (синусоїда, трикутні або прямокутні імпульси), частоту в діапазоні 0.01 Гц - 3 МГц, зсув фази. Частоту вихідного сигналу можна збільшити до 7 МГц, однак вихідний синусоїдальний сигнал буде мати сильні спотворення.

Додатково, використовується мікроконтролер Atmel AVR AT90USB162 з вбудованим інтерфейсом USB і проста аналогова схема. Відразу варто відзначити, що аналогова частина генератора дуже проста, тому що не провадиться регулювання амплітуди і зсув вихідного аналогового сигналу, вихідний сигнал фіксований (0 - 4 В). Автор планує надалі модернізувати аналогову частину у вигляді додаткового блоку до генератора, але користувачі можуть самостійно експериментувати з аналогової частиною, спираючись на матеріали в мережі Інтерент і на сайті Радіолоцман (наприклад, стаття « Моделювання аналогової частини DDS генератора »).

Мікроконтролер, завдяки вбудованій підтримці інтерфейсу USB, реалізує віртуальний послідовний порт на персональному комп'ютері, здійснює прийом і інтерпретацію переданих команд і управління мікросхемою DDS.

Операційний підсилювач OPA357 в аналогової частини призначений для посилення вихідного сигналу мікросхеми AD9833, тому що її номінальна вихідна напруга складає 0.6 В з центром на рівні 0.3 В. Вибір даного ОУ пов'язаний з його можливістю працювати на високих частотах.

Принципова схема і друкована плата розроблялися в безкоштовній мультиплатформенной середовищі з відкритим кодом KiCad .

Пристрій може харчуватися від інтерфейсу USB або від зовнішнього стабілізованого джерела 5 В. В даному випадку застосований інтегральний регулятор напруги серії LM1117 (Малюнок 2). Два діода Шотткі виконують захисну функцію при подачі напруги живлення одночасно від двох джерел.

Схема аналогової частини зображена на рисунку 3. Блокувальні конденсатори і їх номінали взяті безпосередньо з технічного опису на мікросхему AD9833, вони повинні бути обов'язково встановлені. На схемі передбачено джампер вибору джерела тактових сигналів, тому тактовий сигнал може подаватися або від осцилятора встановленого на платі, або від зовнішнього джерела через коннектор BNC.

Вихідний сигнал мікросхеми AD9833 проходить через фільтр низьких частот і надходить на вхід ОУ. Резистор R10 опором 50 Ом призначений для узгодження. Контрольні точки, зазначені на схемі, використовувалися автором при тестуванні та налаштування аналогової частини генератора.

Повна принципова схема DDS генератора в PDF форматі.

Друкована плата генератора розроблена з урахуванням використання компонентів для поверхневого монтажу. 3D зображення друкованої плати показано на рисунку 4. На ній видно коннектор BNC для зовнішнього джерела тактових сигналів, але на друковану плату він не встановлювався.

Також слід враховувати, що плата розроблена під установку осцилятора 25 МГц в корпусі для поверхневого монтажу. Якщо такий відсутній, слід врахувати цей момент перед виготовленням друкованої плати, або використовувати навісний монтаж (Малюнок 5).

Для комунікації ПК з DDS генератором автор застосував простий спосіб передачі ASCII команд управління, що значно спростило тестування і налагодження програми мікроконтролера, яка написана на Сі в компіляторі WinAVR. Слід враховувати, що всі команди закінчуються символом повернення каретки і переведення рядка.

Набір команд:

  • sf1 [freq] - установка частоти 1 в Герцах
  • sf2 [freq] - установка частоти 2 в Герцах
  • sp1 [phase] - установка фази для частоти 1 в градусах
  • sp2 [phase] - установка фази для частоти 1 в градусах
  • sfo [1/2 / m (modulation)] - FSK модуляція вихідного сигналу
  • spo [1/2 / m (modulation)] - PSK модуляція вихідного сигналу
  • so [o (off) / s (sine) / t (triangle) / q (square)] - установка форми вихідного сигналу
  • sm [freq] - установка частоти модуляції

Наприклад, для установки першої вихідний частоти 100 Гц, необхідно відправити команду виду "sf1 100 [символ повернення каретки] [символ перекладу рядка]".

Робота мікроконтролера з інтерфейсом USB заснована на відомому і добре зарекомендували себе стеку для мікроконтролерів з відкритим вихідним кодом LUFA. Також автором був використаний готовий код обробки SPI інтерфейсу і щодо повна бібліотека функцій для роботи з мікросхемою AD9833.

Додаток для комп'ютера розроблено в середовищі Python3. Вид вікна керуючої програми DDS генератора зображений на рисунку 6. Логіка роботи програми дуже проста: при будь-яких змінах параметрів у програмі по послідовному інтерфейсу (віртуальний COM-порт) відправляються відповідні команди микроконтроллеру.

Демонстрація роботи DDS генератора

завантаження

Архів з файлами проекту (вихідні коди, опис протоколу комунікації, схема і друкована плата (KiCad)) - завантажити

Документація з програмного коду мікроконтролера

tuomasnylund.fi