реклама на сайте
подробности

 
 
> AD9833, как ею правильно рулить?
Burner
сообщение Jun 29 2011, 09:47
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 068
Регистрация: 14-01-08
Из: Винница
Пользователь №: 34 083



Пытаюсь сделать на сабжевой микрухе синус переменной частоты.
Расскажите, кто знает - в каком порядке и какие байты нужно в нее загружать. Какой порядок критичен, а какой нет?
Сам метод вроде понятен - загрузку можно делать всегда словами по 2 байта, причем первые несколько бит - типа адресные.
Слова частоты - информационных бит 14, а первые 2 бита в каждом слове - 01, типа адресные.
Слово для контрольного регистра начинается с 001.
Слова передаются старшим битом вперед, перед началом каждого слова FSYNC:=0, после конца FSYNC:=1.
Каждый бит выставляется на SDATA, и прописывается в микросхему спадом SCLK.
Я сначала пишу 00100001:00000000 - типо контрольный регистр, инициализация.
Потом - 00100000:00000000 - типо контрольный регистр, синус.
Потом - 2 слова частоты с 01 в начале каждого. Начиная со старшего слова.
Насчет пересчета частоты в герцах в 28 бит, через тактовую частоту - в курсе. Сделал.
Писал типа 100 кГц и 1 МГц - все равно на выходе ок. 8+ МГц с амплитудой 20-40 мВ. То есть от записи слов частоты сигнал не изменяется.
Тактовая частота - ок. 24,5 МГц.
Что не так?
Интересно также, как регулировать амплитуду сигнала. После каких слов и что писать.
Здесь таких тем немало, я их прочел почти все, но так и не понял, в чем дело.

Сообщение отредактировал Burner - Jun 29 2011, 09:57
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Burner
сообщение Jul 3 2011, 01:33
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 068
Регистрация: 14-01-08
Из: Винница
Пользователь №: 34 083



С программированием вышло прикольно. Оказывается, если инициализацию сделать один раз, то частоту потом можно записывать сколько влезет. Только примерно в 40% случаев в момент записи частоты на выходе бывает посылка килогерц 50 на 50 мкс. Глюк. Дело, наверно, в структуре микросхемы.
А насчет регулировки амплитуды - вроде в ПДФ пишут, что для этого есть регистры. Но я с этим не разбирался. Хорошо бы сделать, но если не выйдет - так и будет.
А при 24,5 МГц выход 10 МГц даже с фильтром - ужасть. Амплитуда, естественно, скачет неслабо от периода к периоду.
Усложню фильтр.

Сообщение отредактировал Burner - Jul 3 2011, 17:23
Go to the top of the page
 
+Quote Post
alexunder
сообщение Jul 4 2011, 12:09
Сообщение #3


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Эх, давно это было. Открыл свежий ПДФ на AD9833...
Цитата(Burner @ Jul 3 2011, 05:33) *
А насчет регулировки амплитуды - вроде в ПДФ пишут, что для этого есть регистры.

Нет там такого! Вот что пишут на стр. 12: The DAC generates an output voltage of typically 0.6 V p-p. То есть размах выходного напряжения фиксирован.


Цитата(Burner @ Jul 3 2011, 05:33) *
С программированием вышло прикольно. Оказывается, если инициализацию сделать один раз, то частоту потом можно записывать сколько влезет.

Посмотрите мой модуль с процедурками для управления этой ИМС (ad9833_bit.txt). Из основной программы первым делом вызывается ad9833_init. Процедуры ad9833_start и ad9833_stop для старта и останова генератора соотв; ad9833_freq0_28 и ad9833_phase0 для программирования частоты и фазы. Перед каждым вызовом последних двух функций генератор предварительно останавливался, а после запускался снова. Но на лету наверное тоже должно работать. Код написан для 51.


Цитата(Burner @ Jul 3 2011, 05:33) *
Только примерно в 40% случаев в момент записи частоты на выходе бывает посылка килогерц 50 на 50 мкс.

Не могу подтвердить такое поведение выхода при перепрограммировании частоты, не припоминаю.


Цитата(Burner @ Jul 3 2011, 05:33) *
А при 24,5 МГц выход 10 МГц даже с фильтром - ужасть. Амплитуда, естественно, скачет неслабо от периода к периоду.

Скачки амплитуды - это часом не биения? Возможно у вас присутствует НЧ наводка на выходной сигнал. Как разводили плату под AD9833? Рекомендации из ПДФ приняли к сведению?
Вообще, думаю для 10 МГц вам лучше поискать другой DDS. Если не ошибаюсь, форма синуса на 10 МГц при тактировании от 25 МГц оставляла желать лучшего. В моей системе 9833 использовалась для генерации от 0 до 1 МГц.


P.S. Почему-то невозможно прикрепить файл с расширением *.ASM, *.A51 и даже *.A. Пишет, что именно я не могу такие файлы прикреплять. Вот так чудо форум!

Прикрепленные файлы
Прикрепленный файл  ad9833_bit.txt ( 5.81 килобайт ) Кол-во скачиваний: 233
 


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 03:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01594 секунд с 7
ELECTRONIX ©2004-2016