Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AD9833
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
Burner
Пытаюсь сделать на сабжевой микрухе синус переменной частоты.
Расскажите, кто знает - в каком порядке и какие байты нужно в нее загружать. Какой порядок критичен, а какой нет?
Сам метод вроде понятен - загрузку можно делать всегда словами по 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
Не, рано обрадовался.
Переставил синус в самый конец
Вначале - контрольный регистр, инициализация
Потом - 2 слова частоты
И в конце -
00100000:00000000 - типо контрольный регистр, синус.
Не помогло.
А амплитуда раз в 5 меньше максимальной.
Потом вычитал, что после контрольного регистра
сначала надо записывать младших 14 бит рег. частоты(но старшим битом вперед), а потом - старших 14 бит.
Ессно, все так же с ведущими 2 битами 01 (в начале). Вроде помогает.
В общем, частота рулится, но амплитуда маловата. От 200 мВ при 1 МГц падает до 50 мВ при 5 МГц. Мож., правда, из-за того, что на выход микросхемы поцеплен резисторный ФНЧ 100 Ом, 100 пФ.
Мастер клок - ок. 24,5 МГц. Я вот подумываю, может сделать 40 МГц? Вроде кто-то делал.
В общем, похоже, что при высокой частоте выходное напряжение просто проседает от ФНЧ. Причем сильно.
Кроме всего, у микросхемы выходное сопротивление ок. 300 Ом.
alexunder
так наверное повторитель/буфер придется ставить или активный ФНЧ.
С программированием разобрались? Я гонял ее от 20 МГц, всем доволен.
_Vova
при использовании данной имс с клоком 25Мгц нормально работает, размах на выходе около 600мВ.
Цитата
как регулировать амплитуду сигнала
амплитуда не изменяется, придется регулировать внешней схемой
Burner
С программированием вышло прикольно. Оказывается, если инициализацию сделать один раз, то частоту потом можно записывать сколько влезет. Только примерно в 40% случаев в момент записи частоты на выходе бывает посылка килогерц 50 на 50 мкс. Глюк. Дело, наверно, в структуре микросхемы.
А насчет регулировки амплитуды - вроде в ПДФ пишут, что для этого есть регистры. Но я с этим не разбирался. Хорошо бы сделать, но если не выйдет - так и будет.
А при 24,5 МГц выход 10 МГц даже с фильтром - ужасть. Амплитуда, естественно, скачет неслабо от периода к периоду.
Усложню фильтр.
alexunder
Эх, давно это было. Открыл свежий ПДФ на 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. Пишет, что именно я не могу такие файлы прикреплять. Вот так чудо форум!
Burner
Да, это типа биения. Просто 2,5 выборки на период, они попадают в разные места синуса. Токо фильтровать, и то особого толку не будет. Не ошибаетесь.
Плату развел вроде нормально. Под ней залил общей землей, куда и присоединил обе земляные ноги микросхемы. Плата утюжная, особые изыски не с руки. НЧ там в заметных дозах не наводится.
Спасибо за пример! Судя по счетчику скачиваний, он еще кем-то востребован sm.gif
Я не останавливал генератор, вероятно из-за этого
Цитата
Только примерно в 40% случаев в момент записи частоты на выходе бывает посылка килогерц 50 на 50 мкс.

Попробую останавливать. Буду смотреть.
Tanya
Цитата(alexunder @ Jul 4 2011, 16:09) *
P.S. Почему-то невозможно прикрепить файл с расширением *.ASM, *.A51 и даже *.A. Пишет, что именно я не могу такие файлы прикреплять. Вот так чудо форум!

Хороший тон - сжимать текстовые файлы.
Плохой - использование цвета или других "кричащих" выделений.
Тут так не принято делать.
Оставьте выделения модераторам. Это их единственная отрада в жизни...
alexunder
Burner,
успехов!

Цитата(Tanya @ Jul 11 2011, 14:03) *

Хороший тон - сжимать текстовые файлы.
Сжимать файл длиной 5,8 кБайт для получения 2,5 кБайт не вижу большого смысла.

Цитата(Tanya @ Jul 11 2011, 14:03) *

Плохой - использование цвета или других "кричащих" выделений
Это где-то оговорено в правилах что красный цвет является плохим тоном? Даже если это "кричащее выделение", то ничего дурного не вижу - был неприятно удивлён безосновательной фильтрацией *.ASM файлов.

Цитата(Tanya @ Jul 11 2011, 14:03) *

Оставьте выделения модераторам. Это их единственная отрада в жизни...
Да ради бога! Пусть выделяют и радуются.
Burner
sm.gif Спасибо. В общем, получилось. Исправил дурацкую опечатку, и появились меандр с треугольником.
Леонид Иванович
Цитата(Burner @ Jul 11 2011, 13:34) *
Да, это типа биения. Просто 2,5 выборки на период, они попадают в разные места синуса. Токо фильтровать, и то особого толку не будет.


Посмотреть, что будет на выходе DDS с разными фильтрами, можно в симуляторе от ADI: http://designtools.analog.com/dtDDSWeb/dtDDSMain.aspx

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