Генератор на AD9850, AD9851

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01 май 2016, 01:04
Откуда: Коломна
Имя: Станислав
Контактная информация:

Генератор на AD9850, AD9851

Сообщение Boroda »

AVGN, все ясно, в нашем деле вещь скорее бесполезная, а вот для настройки фазовых детекторов и радиотрактов и прочего радиоприема и дешифрации пойдет.
Последний раз редактировалось Boroda 02 мар 2017, 23:03, всего редактировалось 1 раз.
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Генератор на AD9850, AD9851

Сообщение AVGN »

Boroda писал(а):AVGN, все ясно, в нашем деле вещь скорее бесполезная, а вот для настройки фазовых детекторов и радиотрактов и прочего радиоприема и дешифрации пойдет.
Надо осмыслить. Пока не вижу применение PSK в генераторе сигналов.
В ходе изучения микросхем AD9850, AD9851 выяснилось что, используя 12 ножку микросхемы (вывод Rset) можно организовать регулировку амплитуды сигнала.

Кроме всего прочего в зависимости от применяемого кварцевого резонатора надо калибровать частоту AD9850 на выходе (Из общения с радиолюбителями).
Есть поле для исследований. В субботу займусь. Тем боле приехал еще один блок AD9851

Добавлено (08.03.2017, 19:11)
---------------------------------------------
Boroda, подключил AD9851.
Частоту выдает неправильно.
В пять раз меньше. На дисплее 10МГц на выходе AD9851 - 2МГц
Радиолюбители (программировали на PIC контроллере) сказали что в AD9851 надо по другому передавать завершающий байт последовательности.
И прислали код для Ардуино.
Не подскажите как его прикрутить в блок пользователя или может Ваш можно модифицировать для AD9851?

Вот код

СпойлерSPOILER_SHOW


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

// frequency calc from datasheet page 8 = <sys clock> * <frequency tuning word>/2^32
void sendFrequency(double frequency)
{  
  int32_t freq = frequency * 4294967295/125000000;  // note 125 MHz clock on 9850.  You can make 'slight' tuning variations here by adjusting the clock frequency.
  for (int b=0; b<4; b++, freq>>=8) {
    tfr_byte(freq & 0xFF);
  }
//************************************************************** 
 //tfr_byte(0x000);   // Final control byte, all 0 for 9850 chip
  tfr_byte(0x001);   // Final control byte, 1 for 9851 chip
//**************************************************************
  pulseHigh(FQ_UD);  // Done!  Should see output
}
// transfers a byte, a bit at a time, LSB first to the 9850 via serial DATA line
void tfr_byte(byte data)
{
  for (int i=0; i<8; i++, data>>=1) {
    digitalWrite(DATA, data & 0x01);
    pulseHigh(W_CLK);   //after each bit sent, CLK is pulsed high
  }
}
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01 май 2016, 01:04
Откуда: Коломна
Имя: Станислав
Контактная информация:

Генератор на AD9850, AD9851

Сообщение Boroda »

На днях посмотрю.
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Генератор на AD9850, AD9851

Сообщение AVGN »

Модифицировал чуток блок пользователя AD9850
Сделал выводы для устаноки значения кварца и калибровки. Т.к. китайские кварцы сильно пляшут в параметрах.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Mining
Сержант
Сообщения: 142
Зарегистрирован: 31 окт 2016, 15:01
Имя: Алексей

Генератор на AD9850, AD9851

Сообщение Mining »

AVGN писал(а):Boroda, подключил AD9851.Частоту выдает неправильно.
В пять раз меньше. На дисплее 10МГц на выходе AD9851 - 2МГц
Радиолюбители (программировали на PIC контроллере) сказали что в AD9851 надо по другому передавать завершающий байт последовательности.
И прислали код для Ардуино.
Не подскажите как его прикрутить в блок пользователя или может Ваш можно модифицировать для AD9851?
Для AD9851 надо включить множитель кварца на 6

В блоке пользователя откройте LoopSection и  замените
Control =  (Phase << 3);    // Регистр подстройки
На
Control =  (Phase << 3) | 1;    // Регистр подстройки
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Генератор на AD9850, AD9851

Сообщение AVGN »

Mining писал(а):Для AD9851 надо включить множитель кварца на 6

В блоке пользователя откройте LoopSection и  замените
Control =  (Phase << 3);    // Регистр подстройки
На
Control =  (Phase << 3) | 1;    // Регистр подстройки
Спасибо!
Частоту выдает корректно.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Генератор на AD9850, AD9851

Сообщение AVGN »

Сделал проект генератора на AD9851
Информация выводится на дисплей Nokia 5110
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Генератор на AD9850, AD9851

Сообщение AVGN »

Генератор сигналов на AD9850
0 Гц - 9,99МГц
Шаг перестройки частоты:
1,0 МГц
100,0 КГц
10,0 КГц
1,0 КГц
100,0 Гц
10,0 Гц
1,0 Гц
0,1 Гц

Благодарность в помощи создания проекта на FLProg
форумчанину Boroda 
Чертил как мог AVGN 

Информация выводится на дисплей Nokia 5110


Добавлено (15.03.2017, 08:15)
---------------------------------------------

Коллеги радиолюбители дали ссылку на библиотеку для AD9850, где автор подключает блок к Ардуино по SPI.
Автор пишет:
"Эта библиотека использует интерфейс Serial Peripheral Interface (SPI) для ускорения обновления AD9850 с 700 мкс в программном коде до 90 мкс (54 мкс для расчета дельты фазы и 36 мкс для переноса) ."

Можно ли сделать пользовательский блок из его библиотеки?
https://github.com/F4GOJ/AD9850SPI
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось AVGN 15 мар 2017, 08:26, всего редактировалось 1 раз.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Генератор на AD9850, AD9851

Сообщение AVGN »

Непервоапрельская шутка

Генератор сигналов на AD9850
0 Гц - 9,99МГц
Блок сделан с бибилиотекой AD9850.h (AD9850-master)
Библиотеку взял отсюда https://github.com/F4GOJ/AD9850

Чертил как мог
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Генератор на AD9850, AD9851

Сообщение AVGN »

Генератор сигналов на AD9850
0 Гц - 9,99МГц
Блок сделал с библиотекой AD9850SPI.h (AD9850SPI-master)
Библиотеку взял отсюда https://github.com/F4GOJ/AD9850SPI .
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось AVGN 01 апр 2017, 17:47, всего редактировалось 1 раз.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Генератор на AD9850, AD9851

Сообщение AVGN »

Не смог залить в раздел "Блоки пользователей"
Оставлю здесь.
***************************************************************
Блок управления AD9850 с бибилотекой AD9850SPI.h (AD9850SPI-master)
Библиотека взята отсюда https://github.com/F4GOJ/AD9850SPI
Эта библиотека использует интерфейс Serial Peripheral Interface (SPI) для ускорения обновления AD9850 с 700 мкс в программном коде до 90 мкс (54 мкс для расчета дельтафазы и 36 мкс для передачи).
Входы блока:
ZQ_Freq - указать частоту кварцевого резонатора 125000000 . 124999000 -так измняя частоту кварца можно калибровать выходной сигнал AD9850.
freq - устанавливаем нужную частоту в пределах от 0 до 40000000 Гц.
phase - установка сдвиг фазы.

W_CLK : SPI SCK ножка 13 UNO/NANO, 52 - MEGA
FQ_UD : Обновление частоты, подключается любой вывод кроме 10 и 12 ножка UNO/NANO, 50 и 53 MEGA.
DATA/D7 подключается к выводу D11 arduino UNO/NANO, D51 MEGA
RESET : Reset подключается любой вывод кроме 10 и 12 ножка UNO/NANO, 50 и 53 MEGA.
Подключение китайской платы
HC-SR08 AD9850
D0 и D1 подать +5V
D2 замкнуть на GND
*********************************
Arduino nano -> AD9850
D8 -> FQ_UD
D11 -> DATA
D9 -> RESET
D13 -> W_CLK
DDS.begin(w_clk, fq_ud, reset)
DDS.begin(13, 8, 9);
***********************************************
Блок управления AD9850 с бибилотекой AD9850.h (AD9850-master)
Библиотека взята отсюда https://github.com/F4GOJ/AD9850
Блок работает по последовательному протоколу.
Входы блока:
ZQ_Freq - указать частоту кварцевого резонатора 125000000 . 124999000 -можно калибровать выходной сигнал AD9850 изменяя частоту кварца.
freq - устанавливаем нужную частоту в пределах от 0 до 40000000 Гц.
phase - установка сдвиг фазы.

Подключение китайской платы
HC-SR08 AD9850
D0 и D1 подать +5V
D2 замкнуть на GND
*********************************
Arduino nano -> AD9850
D10 -> DATA
D11 -> FQ_UD
D12 -> W_CLK
D13 -> RESET

Или
15 -> W_CLK // Пин A1 Arduino - подключен к CLK
16 -> FQ_UD // Пин A2 Arduino - подключен к FQ (FU)
17 -> DATA // Пин A3 Arduino - подключен к DATA
18 -> RESET // Пин A4 Arduino - подключен к RST
*********************************************************************
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Mining
Сержант
Сообщения: 142
Зарегистрирован: 31 окт 2016, 15:01
Имя: Алексей

Генератор на AD9850, AD9851

Сообщение Mining »

AVGN, ОТЛИЧНАЯ работа! Спасибо!
Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 338
Зарегистрирован: 29 апр 2017, 08:24
Откуда: гАндурас
Имя: Ivan

Генератор на AD9850, AD9851

Сообщение Ivan_Kornege »

AVGN
на макетке слоял Ваш проект.
Пахает. Библу 5110 только пришлось выкосить. Конфликт был с уже установленной.
Надо бы ее под другим именем сделать.
Halk
Рядовой
Сообщения: 3
Зарегистрирован: 05 июн 2017, 20:02

Генератор на AD9850, AD9851

Сообщение Halk »

.
Последний раз редактировалось Halk 07 июн 2017, 20:40, всего редактировалось 1 раз.
Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06 сен 2015, 08:39
Откуда: Новосибирск

Генератор на AD9850, AD9851

Сообщение DerAlex »

Товарищи дорогие,не получается у меня блок запустить.При компиляции сообщает что найдена неверная библиотека.
аврора
Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06 сен 2015, 08:39
Откуда: Новосибирск

Генератор на AD9850, AD9851

Сообщение DerAlex »

Вот схема подключения .Хотел с другим дисплеем попробовать.

Добавлено (21.06.2017, 12:11)
---------------------------------------------
Оставил только генератор и ардуино нано. Все равно пишет - неверная библиотека .Где верную взять?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
аврора
Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06 сен 2015, 08:39
Откуда: Новосибирск

Генератор на AD9850, AD9851

Сообщение DerAlex »

У вас нет необходимых прав для просмотра вложений в этом сообщении.
аврора
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Генератор на AD9850, AD9851

Сообщение AVGN »

DerAlex, проект свой сюда бросайте. Иначе ничего сказать не можно.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
rw6cm
Полковник
Сообщения: 2299
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир

Генератор на AD9850, AD9851

Сообщение rw6cm »

DerAlex писал(а):При компиляции сообщает что найдена неверная библиотека.
Не обращайте внимание, это сообщение погоду не строит.
Просто в этой папки лежат кривые библиотеки, от какого то ПБ.
Можно зайти и удалить их.
Win10-64, FLProg (portable)
Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06 сен 2015, 08:39
Откуда: Новосибирск

Генератор на AD9850, AD9851

Сообщение DerAlex »

Удалил папку .Сначала звука с выхода прямоугольного сигнала не было.Подкрутил синий подстроечный резистор.Звук есть.

Добавлено (21.06.2017, 18:17)
---------------------------------------------
Что настраивает это резистор ?

Добавлено (21.06.2017, 18:28)
---------------------------------------------
Генератор работает и это очень радует. Планирую его использовать в качестве источника звука для синтезатора.
Последний раз редактировалось DerAlex 21 июн 2017, 18:30, всего редактировалось 1 раз.
аврора
Ответить

Вернуться в «Проекты различных устройств на Arduino»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей