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

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

Сообщение zi4rox »

Всем привет,

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

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

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

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

Сообщение tych »

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

Сообщение zi4rox »

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

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

Сообщение zi4rox »

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

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

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

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

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

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

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

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

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

Сообщение zi4rox »

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

Сообщение zi4rox »

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

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

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

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