Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32RB100 и DDS на AD9832
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
ASDFG123
Сделал плату на AD9832 в качестве МК у меня VL Discovery. В общем запустил в коде прописал команды на установку частоты (рассчитал просто биты через прогу от АД). Заработало сразу, но на выходе присутствует шум вч, я взял тактовую частоту с МК 24 МГц (там есть функция МСО) соединил РА8 со входом тактовой частоты AD9832. Фильтр выхода рассчитал примерно на 10-11 МГц, но он не полноценный всего 5 порядка Элептический, сначала хотел 11 но не нашел индукторов.
Теперь хочу улучшить работу схемки, по факту он у меня ничего не умеет только установил частоту и все. Хотелось бы сделать синтезатор, но я не знаю какой программный алгоритм нужен для синтезатора. Искал для AVR думал можно будет переделать но чет не нашел ниче понятного. Есть ли примеры на STM32 для синтезатора с перестройкой частоты и фазы ? Спасибо.
Genadi Zawidowski
Алгоритм здесь - https://188.134.5.254/browser/hfreceiver/tr...ynthcalcs.c#L66

Код
/* функция преобразования требуемой частоты в FTW при заданной тактовой частоте DDS */
/* divider - это делитель опорной частоты перед DDS, умноженный на делитель выходной частоты ЗА DDS. */
static ftw_t
freq2ftw(uint_fast32_t freq, uint_fast16_t divider, uint_fast64_t ddsosc)
{
    const uint_fast64_t d = (uint_fast64_t) divider << FTW_RESOLUTION;
    return (freq * d) / ddsosc;
}



Проект с управлением множеством плат тут https://188.134.5.254/browser/trunk
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.