Шукати в цьому блозі

четвер, 24 травня 2012 р.

Design and synthesis high precision oscillators DDS (Direct digital synthesis) on CPLD from Altera


Розробка та синтез високоточних DDS генераторів(Direct digital synthesis) на CPLD фірми Altera.

Використані матеріали:

Download project file ->  dds_my.rar

Рис.1 Схема DDS функціональна
        Функціональна схема DDS (генератора прямого синтеза), показана на рис.1 основні елементи схеми це “Суматор”, “Регістр”, “Пам'ять (таблиця синусів)”, “Вхідний регістр” може і не використовуватись оскільки вхідний вектор частоти може задаватися напряму через входи (джампери). Розрахуємо розрядність в бітах усіх основних елементів схеми, і почнемо з тактової частоти, нехай Fclk = 12500000 Гц або 12,5 MHz. Основний елемент схеми “Суматор” буде сумувати значення “Регістр” із кроком в “Вхідний регістр” (він же буде індикатором вихідної частоти, тобто коли на вході буде 0000 0000 0000 0000 0000 0001, то частота виходу DDS буде 1 Гц і крок буде також 1 Гц). При такій умові в схемі потрібно проводити перевірку на виході “Регістра”, при переповненні значення більше ніж на число 12 500 000, потрібно записати в “Регістр” значення всіх розрядів в “0”. Для визначення розрядності елементів схеми переведемо 12 500 000(10) = 1011 1110 1011 1100 0010 0000(2), отримаємо 24 розряди(біти). Отже елементи “Суматор” та “Регістр” будуть 24 бітними, оскільки максимальне значення для 24 біт   (1111 1111 1111 1111 1111 1111 ) в десятковому форматі буде 16 777 215(10), саме тому ми ввели функцію запис в “Регістр” всіх 24 біт в “0”. Далі в “Пам'ять (таблиці синусів)” поступає кодове значення із 8 старших бітів “Регістра” які далі виділені 1011 1110 1011 1100 0010 0000(2) перевівши із двійкового 1011 1110(2) в десятковий формат отримаємо число 190 це і буде кількість кроків в повному періоді (2p) тобто дискретність. При збільшенні кодового слова на один біт, тобто взявши 9 старших біти “Регістра” 101111101, дискретність періоду збільшиться і буде складатись із 381-го кроку за повний період (2p). При необхідності дискретність можна збільшувати і далі, але при цьому слід пам’ятати, що буде збільшуватись і “Пам'ять (таблиці синусів)”. Скориставшись інформацією в джерелах [6],[7] побудуємо таблицю синусів (8x7 - тобто вхідні кодові (дискретні) комбінації 8 бітні, а вихідні квантові 7 бітні ) в Microsoft Excel (файл DDS_table.xls доданий до архіву проекту). Результат побудови графіка показано на рис.2 в якому Ряд1- результати без округлення, Ряд2- результати з округленням.
Рис.2 Графіки таблиці синусів
Після отриманих результатів розрахунку в Excel, створимо файл проекту в AlteraHDL коді за основу взявши методику [1] і розробку дешифраторів (decoder) в AlteraHDL. Отримаємо такий код в файлі functab7x6.tdf проекту:
Провівши всі необхідні розрахунки схеми спроектуємо схему в середовищі   Max+plusII Altera в графічному середовищі файл dds.gdf. Принципова схема генератора DDS відображена на рис.3.

Рис.3 Схема принципова DDS.


Результати симуляції схеми рис.4

Рис.4 Симуляція схеми.


Із схеми видно що був доданий ще один регістр out_ddf 7 біт, типу DFF на вихід для збереження вихідних результатів із таблиці синусів functab7x6.tdf. Він потрібен для того щоб зменшити шуми які виникають в наслідок затримок в середині CPLD і виводу їх на ЦАП (DAC). Нижче буде наведена схема без регістра і результати симуляції рис.5 схема без вихідного регістра, рис. 6 результати симуляції схеми.


Рис.5 Схема без вихідного регістра.
Рис.6 Результати симуляції схеми.

На наступних двох рисунках показано як перехідні процеси і затримки в схемі впливають на вихідні результати в збільшеному вигляді. І як вихідних регістр фільтрує результати. Відповідно рис.7 перехідні процеси в збільшеному вигляді з вихідним регістром ; рис.8 перехідні процеси в збільшеному вигляді без вихідного регістра.

Рис.7 Перехідні процеси в збільшеному вигляді з вихідним регістром.
Рис.8 Перехідні процеси в збільшеному вигляді без вихідного регістра.
 

Інформація про результати синтезу

Chip                                      Input    Output     Bidir             Shareable
POF          Device                  Pins      Pins        Pins    LCs  Expanders  % Utilized

dds   EPM9320LC84-15            22        32           0       167          83              52 % 

User Pins:                               22        32           0