PDA

Просмотр полной версии : Расчёт частоты в dds ad9851



R2RBN
15.10.2011, 20:01
Народ подскажите как расcчитать частоту в параллельном и последовательном включении ddsad9851.Извеняюсь может этот вопрос и детский, но я что-то заблудился читая даташит. Поясните если не трудно. Если можно пошагово. Заранее спасибо.

compromis
15.10.2011, 20:34
Народ подскажите как расcчитать частоту в параллельном и последовательном включении ddsad9851.Извеняюсь может этот вопрос и детский, но я что-то заблудился читая даташит. Поясните если не трудно. Если можно пошагово. Заранее спасибо.
Сашоок...частоту чего? Самого генератора, или частоту выходного ФНЧ?
C Уважением, Владимир.

R2RBN
15.10.2011, 20:50
Естественно генератора,ФНЧ я расчитаю.

compromis
15.10.2011, 21:10
Понятно...ну генератор ..по умолчанию.. в этой DDS устанавливаеться Fопорн кв генератора x на 6. Почитайте ветку AЧХ на AD9851, и найдете там много ответов на свои вопросы. На примере этого АЧХ.... 32.000Х6= 192000кгц.... в DDS она делиться на 2а и = 96МГЦ
а дальше....ФНЧ

73! С Уважением, Владимир. RA9SUY.

R2RBN
15.10.2011, 21:40
Это конечно всё хорошо,и понятно что частота опоры может умножаться и делится.Я не зря просил объяснить по шагово.А это я и в даташите вычетал.А читать ветку в 326 страниц это конечно хорошо но не для меня ,у вольте.Один раз объяснить помоему проще,чем месяц читать одну ветку.

R2RBN
15.10.2011, 22:52
Наверное не кто не знает или не хотят говорить.Секрет однако.Всевольш попросил объяснить на пальцах как это работает.

SergeyTT
15.10.2011, 22:59
Этот секрет расписан на стр.12 даташита: Fout = (FTW * Fclk)/2^32,отсюда выводите FTW и загоняете в чип толи в параллельном,толи в последовательном виде.

R2RBN
15.10.2011, 23:25
Там написано 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 МГц ровно тридцать).

DV
15.10.2011, 23:34
Сашоок,
А для каких целей?

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-и байт,которые нужно засунуть в чип для достижения требуемого результата.

UR4QBP
16.10.2011, 01:08
Я в своих софтах на Си для 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.

R2RBN
17.10.2011, 00:19
Всё разобрался, как считается частота, спасибо за подсказки. Я считал так.
Взял тактовую частоту 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).

R2RBN
17.10.2011, 13:14
Да с загрузкой уже разобрался, просто примеры смотрел программы получалось, что товарищ всё наоборот загружал со старшего байта, вот и переспросил по этому.


Если модяция не нужна,то и не трогайте их.

Т.е можно все первые 5 бит W0 установить в 0 или как в примере обязательно ставить в 11.25.Если не нужно так зачем они в примере их поставили?

SergeyTT
17.10.2011, 15:00
Т.е можно все первые 5 бит W0 установить в 0

Если модуляция не нужна,то "не можно,а нужно".


Если не нужно так зачем они в примере их поставили?

В качестве примера.;-)

R2RBN
17.10.2011, 16:22
Ясно, спасибо за разъяснения.

R2RBN
02.03.2013, 18:10
Что бы ни начинать новую тему, подниму старую.1.Вопрос как я понял что последние биты " W0 Phase–b4 (MSB) Phase–b3 Phase–b2 Phase–b1 Phase–b0 (LSB)" это биты для фазовой модуляции, в датащите там применяется спец микрухи AD1847 стерео кодек и dsp AD2181 ,а как правильнее применить их(биты) для осущевстления модуляции???подовая на ацп с микрофона сигнал, просто перевести звуковой спектр через ацп в 5 бит "модуляции" и забить их в микруху.???Может кто пробывал делать FM модуляции на ней.
2.Как понятно из "вкуривания" датащита вывод Rset управляемый внешним ЦАП ,может осущевствлять амплитудную модуляцию или фиксированную регулировку амплитуды выходного тока ЦАП.Т.е изменяя (вернее подовая зваковой сигнал) можно обеспечить АМ модуляцию.Не кто не пробывал это применять на этой микросхеме.????

R2RBN
02.03.2013, 20:10
Я понимаю, что вопрос больше к тем кто пишет.Но всётаки заманчиво иметь на 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

ur8us
02.03.2013, 21:08
Я понимаю, что вопрос больше к тем кто пишет.Но всётаки заманчиво иметь на 1 микросхеме и SSB,FM и AM.При несложном её включении.

Привыкать к халяве - это плохо. Читайте даташит.

R2RBN
03.03.2013, 06:47
Привыкать к халяве - это плохо. Читайте даташит.
Это вы к чему щас??? Если вы не заметили,я сам и пишу.Да и выкладываю всё с исходниками.Если вы привыкли на халяву жить ,так нечего других равнять под эту гребёнку.

ur8us
03.03.2013, 15:37
Это вы к чему щас??? Если вы не заметили,я сам и пишу.Да и выкладываю всё с исходниками.Если вы привыкли на халяву жить ,так нечего других равнять под эту гребёнку.

Я как раз про AD9851. Хоть и заманчиво сделать из нее одночиповый SSB-, и АМ- и ЧМ-генератор, но не получится. Вернее, получится, но с никуда не годными параметрами. Почему? Потому, что у нее нет встроенного интерполятора для вычисления промежуточных значений того параметра, который Вы хотите этой микросхеме периодически задавать.

UR5ZEB
11.07.2013, 15:22
Сашоок,
Покажите плиз свои исходники по работе с AD9851 и схему включения для последовательной загрузки через D7. Как я понял D2-D6 идут на землю, а на D0-D1 +5В через сопротивление или индуктивность. Правильно?