Тема: AD9833
Показать сообщение отдельно
Непрочитано 17.09.2012, 12:20  
Алекс Василич
Прописка
 
Аватар для Алекс Василич
 
Регистрация: 14.06.2012
Сообщений: 263
Сказал спасибо: 2
Сказали Спасибо 129 раз(а) в 103 сообщении(ях)
Алекс Василич на пути к лучшему
По умолчанию Re: PIC+AD9833

(fMCLK/2^28 ) × FREQREG.
fMCKL = частота референского тактового сигнала. 2^28=268'435'456.
Пример такой:
(26'843'545,6 Гц / 268435456) * 1000000 = 100'000 Гц
(26'843'545,6 Гц / 268435456) * 1000001 = 100'000,1 Гц
(26'843'545,6 Гц / 268435456) * 1000002 = 100'000,2 Гц
Значение регистра привел в десятичном формате.
Частота тактового генератора должна быть очень точной, иначе получится погрешность.
Правда, максимальная частота мастер-клока определена в 25 МГц, а нам требуется точно 26,8435456 МГц. Но если в 10 раз ее снизить, тогда точность будет в 10 раз выше.

Главное, если хочешь получить сетку частот с точными-точными-преточными значениями в 0,1 Гц и без каких-либо округлений, тогда придется соблюдать точную-преточную мастер-частоту

Для частоты мастер-клока 2,5 МГц коэффициент частоты
составит
(2500000 / 2^28 ) = 0,0093132

Чтобы получить частоту 1000 Гц на выходе, значение регистра составит
1000 / 0,0093132 = 107345 (в десятичном формате!) или 0х1A351.
Точное значение частоты на выходе = 1000,007614 Гц

Аналогично, чтобы получить частоту 1000,1 Гц, нужно
1000,1 / 0,0093132 = 107385 (в десятичном формате) или 0x1A379.
Точное значение частоты на выходе = 1000,1007468 Гц

Таким образом, для изменения частоты на 0,1 Гц нужно изменять значение регистра на 40 (в десятичном формате) или 0x28 в гексаформате.

Принцип понятен теперь??

Последний раз редактировалось Алекс Василич; 17.09.2012 в 13:31.
Алекс Василич вне форума