Найдено 29 результатов

bobr25
Чт ноя 21, 2013 22:06:25
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

Спасибо за осциллограммы и видео.
bobr25
Сб ноя 16, 2013 17:39:30
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

Спасибо за осциллограммы, а то у меня возникли сомнения в пригодности этих модулей для моих целей.
Мне от них нужен синус до 20 МГц.
bobr25
Сб ноя 16, 2013 13:36:25
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

Я про питание и про отключение прямоугольника заговорил потому, что искажения на синусе идут сразу после фронта и спада на прямоугольнике. Было бы интересно посмотреть на осциллограмму при частоте 10 - 15 МГц с отключенным прямоугольником.
bobr25
Сб ноя 16, 2013 08:36:56
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

У меня осциллограф старенький, одноканальный, и частоты выше 2 МГц посмотреть не могу.
Но на частотах ниже 2 МГц синус был чистый.
Не должно таких искажений быть.

Попробуйте увернут подстроечник до пропадания прямоугольника.

Чем питаете?
Может поможет пара конденсаторов с VCC на GND 0.1 - 1 мкФ ...
bobr25
Пт ноя 15, 2013 21:50:10
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

с отключенной D2 по идее не должны загружаться данные в DDSку в последовательном режиме.

по поводу потребления вот кусок из даташита

AD9850_Power_supply.png
(45.62 КБ) 1048 скачиваний
bobr25
Пт ноя 15, 2013 20:43:56
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

ZOUT - синус
QOUT - прямоугольник

Подстроечник регулирует скважность прямоугольника.

D0 - D6, data, reset , остаются свободными?....
И не понял про какую перемычку, было написано у продавца в информации.
D2 нужно соединить с GND (для последовательного режима передачи данных) остальное все на ...
bobr25
Пт ноя 15, 2013 18:10:42
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

работа с массивом в 5 слов
Это не совсем массив, хотя и массив тоже.

union un_dataword это объединение (или смесь) размером 5 байт т.е. 5*8=40 бит.
размер определяет самый большой элемент входящий в объединение,
в данном случае массив unsigned char dataword_byte[5] .
Еще в union un_dataword ...
bobr25
Чт ноя 14, 2013 17:03:40
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

"чужой код потемки"
Если что-то в моем коде непонятно, спрашивайте поясню.

Вот так я представляю, что можно работать с переменной freq

Вроде правильно все, только мне непонятно для чего в основном цикле непрерывно вливать данные в DDSку?
Или это только для примера?

что будет если freq ...
bobr25
Ср ноя 13, 2013 22:45:23
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

Посмотрите мои сообщения от Пн июн 03, 2013 21:58:33 там код по управлению AD9850 с комментариями,
от Чт июн 13, 2013 16:03:25 там подключение меги к DDS модулю и полностью проект для CodeVisionAVR (AD9850_test.rar) Проверен на таком же точно модуле.
В этом проекте частота задается однократно и ...
bobr25
Ср ноя 13, 2013 21:41:20
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

Я свою пока не доделал, отложил из за отсутствия времени.
Готовых проектов в сети много, со схемами и прошивками, под разные цели.
Или возьмите мой проект (выкладывал выше) и доделайте под свои цели,
там осталось только дисплей с кнопками или валкодером прикрутить, управление ДДС полностью ...
bobr25
Пт авг 23, 2013 09:19:40
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

Попробуйте получить еще несколько других частот (например 100Гц 1000Гц 10000Гц)
и напишите что получили на выходе DDS.

Подозреваю что при передаче в чип DDS управляющее слово сдвинуто на 1 байт.
bobr25
Ср июл 03, 2013 08:42:31
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

Модель протеусную еще выложите.
Если вечером время будет посмотрю подробнее.

перетащил из вашего файла в тестовый проект вот это

unsigned long fraq = 28850000;

char fraq_char[10];



sprintf(fraq_char,"%+5u.%03u",fraq/1000,fraq%1000);
lcd_gotoxy(5,0);
lcd_puts(fraq_char);

Все работает ...
bobr25
Вт июл 02, 2013 22:33:39
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

Не заметил сразу
Gef79 писал(а):Переменная freq у меня float.
, поэтому и не работает.
Зачем она float?
Если по моему коду делали она должна быть unsigned long.
bobr25
Вт июл 02, 2013 22:21:56
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

В чем выражается не работа?
stdio.h подключена?
На каких значениях freq проверяли?

Перед тем как это выражение выкладывать, я его проверял, у меня оно работает.
bobr25
Вт июл 02, 2013 14:32:04
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

это форматирование вывода
+ - выравнивание в право
5 - пять символов
u - без знаковое целое

03 - три символа, если символов меньше дополняются нулями слева

чтобы разобраться, поищите примеры использования функций printf и sprintf
bobr25
Вт июл 02, 2013 12:37:13
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

можно вот так

Код: Выделить всё


#include <stdio.h>
/*****/

char fraq_char[10]; 
/****/

sprintf(fraq_char,"%+5u.%03u",freq/1000,freq%1000); 
bobr25
Сб июн 22, 2013 13:27:14
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

Понятно, в строку преобразуете.
32 байта строка, наверно, здесь не нужна.
Вы собираетесь выводить строку из 9 символов, значит достаточно строки в 10 байт.

Попробуйте для начала убрать деление на 1000 , сделайте вывод на LCD в герцах (временно).
Вам потребуется строка длиной 9 байт и вместо функции ...
bobr25
Пт июн 21, 2013 12:34:05
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

По настройкам компилятора не подскажу, попробуйте сформулировать и задать вопрос в теме про CVAVR

Как вы преобразуете
переменная long затем преобразовывается в char
?
Куда деваете не влезающие в Char данные?
bobr25
Пт июн 21, 2013 08:27:50
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

Трудно сказать что происходит, не видя кода .
Залейте для пробы этот проект.
Формирует попеременно три частоты 1000000, 9999999 и 11000000 Гц каждую по 5 секунд (при тактовой 8МГц).
Работает? Ищите ошибки в коде где формируется значение переменной содержащей частоту в герцах, или где формируется ...
bobr25
Пт июн 14, 2013 19:35:09
Форум: AVR
Тема: Atmega8+DDS AD9850
Ответы: 68
Просмотры: 35350

Re: Atmega8+DDS AD9850

Уровень на выходе (Sin) зависит от нагрузки. у меня около 0,5 вольта было (если память не подводит). Частотомер должен без проблем брать.
Если пины SPI заняты можно программно реализовать, посмотрите выше Yusff код выкладывал.

Перейти к расширенному поиску