Страница 1 из 1
Управление DDS (AD9832) на AVR
Добавлено: Сб ноя 01, 2008 12:58:26
zi4rox
Всем привет,
Ребят помогите пожалуйста завести AD9832 управляемую компьютером через ATMega16. До этого с ддсками не работал - первый опыт так сказать.
Вобщем нужно чтобы с компьютера можно было задавать частоту и получать на выходе уже небходимый синус. Сопряжение с ПК через LPT - там SPI проэмулирую с мегой - тут думаю проблем не будет. А вот как уже осуществлять связь ATMega16-AD9832 не знаю. Может кто подскажет/поделиться примерами кода и т.п?
Составил схему - посмотрите плиз, все ли правильно? Может чего лишнего накрутил?
* Вобщем больше всего интересует как МК программировать, что он успешно ддской управлял =)
Re: Управление DDS (AD9832) на AVR
Добавлено: Сб ноя 01, 2008 14:44:36
tych
zi4rox писал(а): Сопряжение с ПК через LPT
Может COM-порт хотябы ?
zi4rox писал(а): Может чего лишнего накрутил?
Недокрутил пожалуй - надо все VCC и GND подключить и подятнуть и RESET конденсатором зашунтировать.
Добавлено: Сб ноя 01, 2008 15:02:49
zi4rox
Ок, понял. Да конечно лпт устарел морально уже - но просто с ним работал, все библиотеки и программные наработки уже имеются - так что думаю оставлю его все таки. А по программной части подскажешь плиз?
Может доки в сети кто видел какие? Как программировать контроллер на управление ддсиной?
Добавлено: Сб ноя 01, 2008 16:20:58
tych
1) Синтезатор частот на основе DDS AD9850
М. Кислинский (RX9CBI)
2) Универсальный DDS на AD9850.
P. Halicky (OM3CPH)
http://www.cqham.ru/cons_trx.htm
==============
Ридико Л.И. Статья по DDS - прямой синтез сигналов
http://stream.ifolder.ru/8854997
==============
AVR 2006 конкурс
http://www.circuitcellar.com/AVR2006/winners/DE/DE.htm
Charles Kosina
DDS Function Generator
Добавлено: Сб ноя 01, 2008 20:24:12
zi4rox
Спасибо, буду читать и разбираться. Если у кого есть ещё что подсказать - буду премного благодарен
Re: Управление DDS (AD9832) на AVR
Добавлено: Пн ноя 03, 2008 05:50:30
Ватсон
zi4rox писал(а):Всем привет,
Ребят помогите пожалуйста завести AD9832 управляемую компьютером через ATMega16. До этого с ддсками не работал - первый опыт так сказать.
Вобщем нужно чтобы с компьютера можно было задавать частоту и получать на выходе уже небходимый синус. Сопряжение с ПК через LPT - там SPI проэмулирую с мегой - тут думаю проблем не будет. А вот как уже осуществлять связь ATMega16-AD9832 не знаю. Может кто подскажет/поделиться примерами кода и т.п?
Составил схему - посмотрите плиз, все ли правильно? Может чего лишнего накрутил?
* Вобщем больше всего интересует как МК программировать, что он успешно ддской управлял =)
Сразу предупреждаю - если вдруг захотите получить на выходе ещё и меандр - сигнал будет с гигантским джиттером. Лучше получить его(меандр) путём дискретизации синуса компаратором (сами AD так рекомендуют)
Re: Управление DDS (AD9832) на AVR
Добавлено: Пн ноя 03, 2008 17:39:59
Шурила
zi4rox писал(а):...помогите пожалуйста завести AD9832 ...
Схема как будто правильная.
Однако на мой взгляд Вы ее усложнили введя туда AVR.
Я бы подключил все управление от компьютера (через буфер), в том числе и FSELECT, PSEL0, PSEL1.
К стати говоря в Data Sheet на стр 15 они и показывают схему Using the AD9832 Evaluation Board с управлением от LPT.
Ну и MCLK повыше, в пределе 25МГц. По опыту приемлимый синус получается при превышении опорной частоты на 20. Т.е. при MCLK = 25МГц получим приемлимый выходной сигнал до 1 МГц.
А у меня на сайте
http://www.pocladov.narod.ru можно глянуть на генератор с использованием DDS AD9954.
Добавлено: Пн ноя 03, 2008 23:04:18
zi4rox
Супер, спасибо! Обязательно посмотрю.
Однако на мой взгляд Вы ее усложнили введя туда AVR
Просто это лишь блок генерации - установки, которую собираю. AVR будет ещё другие ф-ции выполнять. А так да конечно - напрямую бы можно было через буфер управлять.
Добавлено: Вс ноя 09, 2008 16:28:20
zi4rox
Вот ещё зародился такой вопрос:
Как с ПК передать байты (некую команду допустим) в МК по SPI я знаю. Загвоздка вот в чем:
подскажите плиз как запрограммировать сам МК, чтобы тот прочитал переданный байт и уже мог с ним работать? (Там получается что МК в режиме SLAVE)
* Любой пример рабочего кода, любой совет - за все огромное спасибо!
** Также сейчас осваиваю proteus - если есть какие нибудь шаблоны/модели интересные где с SPI можно поиграться - поделиться так же плиз