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

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

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

#21

Сообщение Boroda » 02.03.2017{, 23:01}

AVGN, все ясно, в нашем деле вещь скорее бесполезная, а вот для настройки фазовых детекторов и радиотрактов и прочего радиоприема и дешифрации пойдет.
Последний раз редактировалось Boroda 02.03.2017{, 23:03}, всего редактировалось 1 раз.

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#22

Сообщение AVGN » 08.03.2017{, 19:11}

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

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

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

Вот код

СпойлерПоказать


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

// 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.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

#23

Сообщение Boroda » 08.03.2017{, 22:27}

На днях посмотрю.

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#24

Сообщение AVGN » 10.03.2017{, 13:16}

Модифицировал чуток блок пользователя AD9850
Сделал выводы для устаноки значения кварца и калибровки. Т.к. китайские кварцы сильно пляшут в параметрах.
Вложения
AD9850_unit.flp
(414.77 КБ) 132 скачивания
4305051.png
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Mining
Сержант
Сообщения: 148
Зарегистрирован: 31.10.2016{, 15:01}
Репутация: 4
Имя: Алексей

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

#25

Сообщение Mining » 10.03.2017{, 14:09}

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

В блоке пользователя откройте LoopSection и  замените
Control =  (Phase << 3);    // Регистр подстройки
На
Control =  (Phase << 3) | 1;    // Регистр подстройки

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#26

Сообщение AVGN » 10.03.2017{, 17:36}

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

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

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#27

Сообщение AVGN » 11.03.2017{, 13:35}

Сделал проект генератора на AD9851
Информация выводится на дисплей Nokia 5110
Вложения
AD9851_V11.rar
(652.76 КБ) 146 скачиваний
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#28

Сообщение AVGN » 15.03.2017{, 08:15}

Генератор сигналов на 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
Вложения
AD9850_V11.rar
(916.35 КБ) 128 скачиваний
1030721.png
Последний раз редактировалось AVGN 15.03.2017{, 08:26}, всего редактировалось 1 раз.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#29

Сообщение AVGN » 01.04.2017{, 13:13}

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

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

Чертил как мог
Вложения
AD9850-master.rar
(801.67 КБ) 127 скачиваний
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#30

Сообщение AVGN » 01.04.2017{, 17:47}

Генератор сигналов на AD9850
0 Гц - 9,99МГц
Блок сделал с библиотекой AD9850SPI.h (AD9850SPI-master)
Библиотеку взял отсюда https://github.com/F4GOJ/AD9850SPI .
Вложения
AD9850SPI-maste.rar
(1.11 МБ) 124 скачивания
Последний раз редактировалось AVGN 01.04.2017{, 17:47}, всего редактировалось 1 раз.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#31

Сообщение AVGN » 02.04.2017{, 18:23}

Не смог залить в раздел "Блоки пользователей"
Оставлю здесь.
***************************************************************
Блок управления 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
*********************************************************************
Вложения
AD9850.rar
(637.27 КБ) 165 скачиваний
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Mining
Сержант
Сообщения: 148
Зарегистрирован: 31.10.2016{, 15:01}
Репутация: 4
Имя: Алексей

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

#32

Сообщение Mining » 10.04.2017{, 09:23}

AVGN, ОТЛИЧНАЯ работа! Спасибо!

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

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

#33

Сообщение Ivan_Kornege » 01.06.2017{, 20:27}

AVGN
на макетке слоял Ваш проект.
Пахает. Библу 5110 только пришлось выкосить. Конфликт был с уже установленной.
Надо бы ее под другим именем сделать.

Halk
Рядовой
Сообщения: 3
Зарегистрирован: 05.06.2017{, 20:02}
Репутация: 0

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

#34

Сообщение Halk » 05.06.2017{, 20:08}

.
Последний раз редактировалось Halk 07.06.2017{, 20:40}, всего редактировалось 1 раз.

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

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

#35

Сообщение DerAlex » 21.06.2017{, 11:39}

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

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

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

#36

Сообщение DerAlex » 21.06.2017{, 12:11}

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

Добавлено (21.06.2017, 12:11)
---------------------------------------------
Оставил только генератор и ардуино нано. Все равно пишет - неверная библиотека .Где верную взять?
Вложения
6147457.jpg
аврора

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

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

#37

Сообщение DerAlex » 21.06.2017{, 13:01}

Вложения
3260344.png
аврора

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#38

Сообщение AVGN » 21.06.2017{, 13:26}

DerAlex, проект свой сюда бросайте. Иначе ничего сказать не можно.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#39

Сообщение rw6cm » 21.06.2017{, 14:32}

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

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

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

#40

Сообщение DerAlex » 21.06.2017{, 18:29}

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

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

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

Ответить

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