Управление DDS (AD9832) на AVR

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
zi4rox
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср апр 16, 2008 21:13:04
Контактная информация:

Управление DDS (AD9832) на AVR

Сообщение zi4rox »

Всем привет,

Ребят помогите пожалуйста завести AD9832 управляемую компьютером через ATMega16. До этого с ддсками не работал - первый опыт так сказать.

Вобщем нужно чтобы с компьютера можно было задавать частоту и получать на выходе уже небходимый синус. Сопряжение с ПК через LPT - там SPI проэмулирую с мегой - тут думаю проблем не будет. А вот как уже осуществлять связь ATMega16-AD9832 не знаю. Может кто подскажет/поделиться примерами кода и т.п?

Составил схему - посмотрите плиз, все ли правильно? Может чего лишнего накрутил?

* Вобщем больше всего интересует как МК программировать, что он успешно ддской управлял =)
Вложения
scheme_generator.GIF
Схема: ATMega16+AD9832
(10.61 КБ) 1502 скачивания
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Re: Управление DDS (AD9832) на AVR

Сообщение tych »

zi4rox писал(а): Сопряжение с ПК через LPT

Может COM-порт хотябы ?

zi4rox писал(а): Может чего лишнего накрутил?

Недокрутил пожалуй - надо все VCC и GND подключить и подятнуть и RESET конденсатором зашунтировать.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
zi4rox
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср апр 16, 2008 21:13:04
Контактная информация:

Сообщение zi4rox »

Ок, понял. Да конечно лпт устарел морально уже - но просто с ним работал, все библиотеки и программные наработки уже имеются - так что думаю оставлю его все таки. А по программной части подскажешь плиз?

Может доки в сети кто видел какие? Как программировать контроллер на управление ддсиной?
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение 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
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
zi4rox
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср апр 16, 2008 21:13:04
Контактная информация:

Сообщение zi4rox »

Спасибо, буду читать и разбираться. Если у кого есть ещё что подсказать - буду премного благодарен
Аватара пользователя
Ватсон
Открыл глаза
Сообщения: 57
Зарегистрирован: Чт мар 06, 2008 06:09:00
Откуда: Москва
Контактная информация:

Re: Управление DDS (AD9832) на AVR

Сообщение Ватсон »

zi4rox писал(а):Всем привет,

Ребят помогите пожалуйста завести AD9832 управляемую компьютером через ATMega16. До этого с ддсками не работал - первый опыт так сказать.

Вобщем нужно чтобы с компьютера можно было задавать частоту и получать на выходе уже небходимый синус. Сопряжение с ПК через LPT - там SPI проэмулирую с мегой - тут думаю проблем не будет. А вот как уже осуществлять связь ATMega16-AD9832 не знаю. Может кто подскажет/поделиться примерами кода и т.п?

Составил схему - посмотрите плиз, все ли правильно? Может чего лишнего накрутил?

* Вобщем больше всего интересует как МК программировать, что он успешно ддской управлял =)

Сразу предупреждаю - если вдруг захотите получить на выходе ещё и меандр - сигнал будет с гигантским джиттером. Лучше получить его(меандр) путём дискретизации синуса компаратором (сами AD так рекомендуют)
Курильщик даташитов со стажем
Аватара пользователя
Шурила
Родился
Сообщения: 12
Зарегистрирован: Пн ноя 03, 2008 17:03:03
Откуда: Кишинев
Контактная информация:

Re: Управление DDS (AD9832) на AVR

Сообщение Шурила »

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.
zi4rox
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср апр 16, 2008 21:13:04
Контактная информация:

Сообщение zi4rox »

Супер, спасибо! Обязательно посмотрю.

Однако на мой взгляд Вы ее усложнили введя туда AVR


Просто это лишь блок генерации - установки, которую собираю. AVR будет ещё другие ф-ции выполнять. А так да конечно - напрямую бы можно было через буфер управлять.
zi4rox
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср апр 16, 2008 21:13:04
Контактная информация:

Сообщение zi4rox »

Вот ещё зародился такой вопрос:

Как с ПК передать байты (некую команду допустим) в МК по SPI я знаю. Загвоздка вот в чем:
подскажите плиз как запрограммировать сам МК, чтобы тот прочитал переданный байт и уже мог с ним работать? (Там получается что МК в режиме SLAVE)

* Любой пример рабочего кода, любой совет - за все огромное спасибо!
** Также сейчас осваиваю proteus - если есть какие нибудь шаблоны/модели интересные где с SPI можно поиграться - поделиться так же плиз
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»