Просмотр полной версии : Расчёт частоты в dds ad9851
Народ подскажите как расcчитать частоту в параллельном и последовательном включении ddsad9851.Извеняюсь может этот вопрос и детский, но я что-то заблудился читая даташит. Поясните если не трудно. Если можно пошагово. Заранее спасибо.
compromis
15.10.2011, 20:34
Народ подскажите как расcчитать частоту в параллельном и последовательном включении ddsad9851.Извеняюсь может этот вопрос и детский, но я что-то заблудился читая даташит. Поясните если не трудно. Если можно пошагово. Заранее спасибо.
Сашоок...частоту чего? Самого генератора, или частоту выходного ФНЧ?
C Уважением, Владимир.
Естественно генератора,ФНЧ я расчитаю.
compromis
15.10.2011, 21:10
Понятно...ну генератор ..по умолчанию.. в этой DDS устанавливаеться Fопорн кв генератора x на 6. Почитайте ветку AЧХ на AD9851, и найдете там много ответов на свои вопросы. На примере этого АЧХ.... 32.000Х6= 192000кгц.... в DDS она делиться на 2а и = 96МГЦ
а дальше....ФНЧ
73! С Уважением, Владимир. RA9SUY.
Это конечно всё хорошо,и понятно что частота опоры может умножаться и делится.Я не зря просил объяснить по шагово.А это я и в даташите вычетал.А читать ветку в 326 страниц это конечно хорошо но не для меня ,у вольте.Один раз объяснить помоему проще,чем месяц читать одну ветку.
Наверное не кто не знает или не хотят говорить.Секрет однако.Всевольш попросил объяснить на пальцах как это работает.
SergeyTT
15.10.2011, 22:59
Этот секрет расписан на стр.12 даташита: Fout = (FTW * Fclk)/2^32,отсюда выводите FTW и загоняете в чип толи в параллельном,толи в последовательном виде.
Там написано fOUT = ( Phase System Clock)/2 32 (чего-то правильно не копируется).Т.е получается дельту фаз(разность фаз)умножить на опору и поделить на 2 в 32 степени.Отсуда вопрос?откуда беруться данные FTW и как понимать 2^32.
или вот
1. Phase set to 11.25°
2. 6 REFCLK multiplier engaged
3. Powered-up mode selected
4. Output = 10 MHz (for 180 MHz system clock)
In parallel mode, user would program the 40-bit control word
(composed of fi ve 8-bit loads) as follows:
W0 = 00001001
W1 = 00001110
W2 = 00111000
W3 = 11100011
W4 = 10001110
стр 14 даташита откуда это появилось.
Ещё раз прошу на пальцах объяснить.Извеняюсь может достал со своей простотой,но хотелось понять.Институтов не кончал,что сам из книжки вычетал и понял то запомнил.
Genadi Zawidowski
15.10.2011, 23:33
Упрощённо вот так:
/* функция преобразования требуемой частоты в FTW при заданной тактовой частоте DDS */
unsigned long
freq2ftw(unsigned long freq)
{
const uint_least64_t t = (uint_least64_t) freq << PHASE_RESOLUTION; /* сдвигаем на количество битов в FTW */
return t / dds1osc; // тактовая частота dds
}
По смыслу: Представьте, что старшие биты FTW выглядят так:
01000000....
При этом на выходе сигнал с частотой в четверть тактовой
00100000....
При этом на выходе сигнал с частотой в одну восьмую тактовой
при этом:
01100000....
Три восьмых (при 80 МГц ровно тридцать).
Сашоок,
А для каких целей?
SergeyTT
15.10.2011, 23:47
откуда беруться данные FTW
Преобразованием выражения Fout
и как понимать 2^32.
2 в 32 степени
или вот
1. Phase set to 11.25°
2. 6 REFCLK multiplier engaged
3. Powered-up mode selected
4. Output = 10 MHz (for 180 MHz system clock)
In parallel mode, user would program the 40-bit control word
(composed of fi ve 8-bit loads) as follows:
W0 = 00001001
W1 = 00001110
W2 = 00111000
W3 = 11100011
W4 = 10001110
Выбрали фазовую модуляцию сигнала,системная частота (Fclk) равна частоте внешней опоры,умноженной на 6,чип активен и генерит выходную частоту 10 МГц при тактовой 180 МГц(опора == 30 МГц * 6).
Дальше они дают значения 5-и байт,которые нужно засунуть в чип для достижения требуемого результата.
Я в своих софтах на Си для AD9851 делаю так:
void save_dds(unsigned long int fdds)
{ freq=(4294967296/(clk*6))*(fdds);
freq0 = (unsigned char) (freq >>0);
freq1 = (unsigned char) (freq >>8);
freq2 = (unsigned char) (freq >>16);
freq3 = (unsigned char) (freq >>24);
send_byte(freq0);
send_byte(freq1);
send_byte(freq2);
send_byte(freq3);
send_byte(0x00);
FQ_UD=1;
FQ_UD=0;
}
Это функция расчета последовательного слова для AD9851.
Всё разобрался, как считается частота, спасибо за подсказки. Я считал так.
Взял тактовую частоту 180 мгц (30 мгц опоры * 6) и посчитал некий коэффициент для частоты по формуле 2^32/180000000 получилось 23.8609294 и умножил на выходную частоту (10мгц) в котором потом убрал запятую для перевода в HEX и получилось как в примере один в один. Не знаю, может можно и по-другому посчитать до меня так дошло.
И ещё вопрос первые 5 бит управляют фазовой модуляцией в примере они стоят на 11.25
Для чего они нужны? Для осуществления FM модуляции и их можно не трогать оставлять как есть в примере? И в каком порядке отсылаются команды с младшего разряда w4?
SergeyTT
17.10.2011, 11:53
И ещё вопрос первые 5 бит управляют фазовой модуляцией в примере они стоят на 11.25
Для чего они нужны?Для осуществления FM модуляции и их можно не трогать оставлять как есть в примере?
Если модяция не нужна,то и не трогайте их.
И в каком порядке отсылаются команды с младшего разряда w4?
Режим загрузки FTW по умолчанию - параллельный, через шины D7-D0.На шине последовательно выставляются байты W0-W4,каждый стробируется сигналом W_CLK,затем подается сигнал FQ_UP и синтез получает полный набор информации (рис.13).
Для перевода чипа в режим последовательной загрузки через пин D7,нужно подать на D1,D0 лог.1,а на D2 - лог.0,выдать сигнал W_CLK,затем FQ_UP (рис.17). Далее надо загнать в чип 40 бит FTW начная с младшего бита младшего байта FTW,стробируя каждый бит сигналом W_CLK(рис.19).Загнав 40 бит слова в чип,делаем апдейт (FQ_UP).
Да с загрузкой уже разобрался, просто примеры смотрел программы получалось, что товарищ всё наоборот загружал со старшего байта, вот и переспросил по этому.
Если модяция не нужна,то и не трогайте их.
Т.е можно все первые 5 бит W0 установить в 0 или как в примере обязательно ставить в 11.25.Если не нужно так зачем они в примере их поставили?
SergeyTT
17.10.2011, 15:00
Т.е можно все первые 5 бит W0 установить в 0
Если модуляция не нужна,то "не можно,а нужно".
Если не нужно так зачем они в примере их поставили?
В качестве примера.;-)
Ясно, спасибо за разъяснения.
Что бы ни начинать новую тему, подниму старую.1.Вопрос как я понял что последние биты " W0 Phase–b4 (MSB) Phase–b3 Phase–b2 Phase–b1 Phase–b0 (LSB)" это биты для фазовой модуляции, в датащите там применяется спец микрухи AD1847 стерео кодек и dsp AD2181 ,а как правильнее применить их(биты) для осущевстления модуляции???подовая на ацп с микрофона сигнал, просто перевести звуковой спектр через ацп в 5 бит "модуляции" и забить их в микруху.???Может кто пробывал делать FM модуляции на ней.
2.Как понятно из "вкуривания" датащита вывод Rset управляемый внешним ЦАП ,может осущевствлять амплитудную модуляцию или фиксированную регулировку амплитуды выходного тока ЦАП.Т.е изменяя (вернее подовая зваковой сигнал) можно обеспечить АМ модуляцию.Не кто не пробывал это применять на этой микросхеме.????
Я понимаю, что вопрос больше к тем кто пишет.Но всётаки заманчиво иметь на 1 микросхеме и SSB,FM и AM.При несложном её включении.
Ivan_007
02.03.2013, 20:15
по поводу АМ модуляции АДшки было написано в каком то журнале, Електор-Електроникс вроди. Там же был опубликован ГСС на АД9851 с АМ-модулятором
это не то, но что то похожее http://webpages.charter.net/ekyle/DDS.html
вот обсуждение этого генератора http://pro-radio.ru/measure/8587/
вот исходник на баскоме http://www.liebl-net.de/hard/dds-generator/dds-gen.pdf
Я понимаю, что вопрос больше к тем кто пишет.Но всётаки заманчиво иметь на 1 микросхеме и SSB,FM и AM.При несложном её включении.
Привыкать к халяве - это плохо. Читайте даташит.
Привыкать к халяве - это плохо. Читайте даташит.
Это вы к чему щас??? Если вы не заметили,я сам и пишу.Да и выкладываю всё с исходниками.Если вы привыкли на халяву жить ,так нечего других равнять под эту гребёнку.
Это вы к чему щас??? Если вы не заметили,я сам и пишу.Да и выкладываю всё с исходниками.Если вы привыкли на халяву жить ,так нечего других равнять под эту гребёнку.
Я как раз про AD9851. Хоть и заманчиво сделать из нее одночиповый SSB-, и АМ- и ЧМ-генератор, но не получится. Вернее, получится, но с никуда не годными параметрами. Почему? Потому, что у нее нет встроенного интерполятора для вычисления промежуточных значений того параметра, который Вы хотите этой микросхеме периодически задавать.
Сашоок,
Покажите плиз свои исходники по работе с AD9851 и схему включения для последовательной загрузки через D7. Как я понял D2-D6 идут на землю, а на D0-D1 +5В через сопротивление или индуктивность. Правильно?
Powered by vBulletin® Version 4.1.12 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot