[uquote="DimKra",url="/forum/viewtopic.php?p=3688907#p3688907"]kloker, к сожалению сделать качающуюся частоту тут крайне проблематично, т.к. используемый метод DDS-синтеза съедает при работе 100% вычислительных ресурсов. Вообще особых планов по дальнейшему развитию проекта у меня нет, всё устраивает [/uquote]
c качением понятно, а белый шум?
ну ок, нет так нет.
это с DMA загрузка МК 100% ? я в код глубоко не вникал еще, все времени не хватает.
автор проекта, я так подозреваю сознательно отказался от DMA при генерации DDS потока в GPIO порт, хотелось бы узнать причины на будущее, неужели c DMA вышло тормознее, чем ASM вкладкой напрямую с массива RAM в GPIO.
kloker, да без DMA вынуждено. Причина проста -каждый семпл не просто берётся из массива и оправляется в цап/порт, а берётся из массива, потом с ним проводится математическая операция, и только потом результат отправляется в порт. Т.е. использовать DMA в данном алгоритме невозможно.
[uquote="DimKra",url="/forum/viewtopic.php?p=3689013#p3689013"]kloker, да без DMA вынуждено. Причина проста -каждый семпл не просто берётся из массива и оправляется в цап/порт, а берётся из массива, потом с ним проводится математическая операция, и только потом результат отправляется в порт. Т.е. использовать DMA в данном алгоритме невозможно.[/uquote]
насколько я понял, матоперация введена для масштабирования синусоиды по частоте, заодно и от джиттера избавились на верхних границах диапазона.
а если для тактирования вывода выборок в порт настроить второй таймер, и по его такту писать в порт, тогда можно и через кольцевой режим DMA в порт вливать? похоже и этот вариант вы тоже пробовали. меня интересуют проблемы вывода при таком способе.
kloker, используемый алгоритм синтеза DDS хорош тем, что позволяет линейно генерить любые частоты с минимальным шагом перестройки частоты в единицы миллигерц. Если отказаться от этого способа в пользу тактирования от другого таймера, то генерить произвольную частоту уже не получится, всё будет привязано к сетке тактирования от таймера -чем меньше делитель частоты таймера, тем крупнее шаг при изменении частоты. В общем никакой линейности не получится. Ну и добавочная проблема -тактировать от таймера можно только встроенный в мк ЦАП, которого в bluepill нету.
[uquote="Mizetsky",url="/forum/viewtopic.php?p=3689028#p3689028"][uquote="Novice user",url="/forum/viewtopic.php?p=3688927#p3688927"]А через UART управлять этим генератором сложно переделать?[/uquote] http://arduino.ru/forum/proekty/generat ... ent-318857
Пост #27[/uquote]
Вот спасибо!я тот пост что-то упустил
А если ГКЧ сделать на SI5351? На звуковых частотах не очень прокатит, а для настройки фильтров ПЧ (сотни килогерц-десятки МГц) вполне. Правда, это уже получится помесь микроволновки с пылесосом
Mizetsky, мне кажется для звуковых частот лучше звуковой карты компа ничего не придумать (учитывая широкой выбор готового П.О.). Для настройки фильтров и прочего желателен чистый синус. Я в своё время собрал приборчик NWT-7 , -отличный аппарат, хорошее П.О, доволен как слон. В частности этим же объясняется отсутствие мотивации делать в моём генераторе ГКЧ
[uquote="DimKra",url="/forum/viewtopic.php?p=3675796#p3675796"]К сентябрю будет версия 3.5 В частотометре можно будет вкл/откл делитель на 8. и ещё планирую новый режим - одновибратор. По нажатию кнопки будет генерировать импульс длительностью от одного такта мк (~13,8nS) и длиннее. А пока в отпуск собираюсь.. [/uquote]
а до сентября версия 3.5 планируется?
к одновибратору можно еще добавить генератор серии импульсов с синхрой через вход МК и от кнопки, для отладки последовательных протоколов, с редактированием семплов и битрейта.
длину семпла можно ограничить 24 битами. только 2 выхода понадобится, синхро и данные(до 1 мгц вполне хватит).
Добавлено after 56 minutes 42 seconds:
[uquote="Mizetsky",url="/forum/viewtopic.php?p=3689084#p3689084"]А если ГКЧ сделать на SI5351? На звуковых частотах не очень прокатит, а для настройки фильтров ПЧ (сотни килогерц-десятки МГц) вполне. Правда, это уже получится помесь микроволновки с пылесосом [/uquote]
Простейший ГКЧ на AD9850 и Arduino Nano 328 https://radiokot.ru/forum/viewtopic.php ... 0&start=20
в проекте и график АЧХ на компе рисуется.
если ГКЧ сделать на SI5351, то для графиков нужен еще и детектор, насколько я понял, который есть в AD9850.
[uquote="kloker",url="/forum/viewtopic.php?p=3689276#p3689276"]а до сентября версия 3.5 планируется?
к одновибратору можно еще добавить генератор серии импульсов с синхрой через вход МК и от кнопки, для отладки последовательных протоколов, с редактированием семплов и битрейта. длину семпла можно ограничить 24 битами. только 2 выхода понадобится, синхро и данные(до 1 мгц вполне хватит).[/uquote]
Уже не уверен что вообще будет. На данный момент написана только поддержка делителя /8 для частотометра. Делитель вкл/отк кнопкой энкодера и отображается его состояние на экране. На этом дело встало, энтузиазм закончился
[uquote="DimKra",url="/forum/viewtopic.php?p=3689385#p3689385"]На этом дело встало, энтузиазм закончился [/uquote]
та к это нормально, отпуск закончился, неделя лета и уже осень.
самому в сентябре на работу, неделя отпуска осталась..
Есть ли у кого слитый Flash Loader Demonstrator дамп версии 3.4 генератора. Скомпилировал hex в ардуино, прошил Flash Loader Demonstrator, а в ответ только свечение экрана и все. Экран рабочий 100%. Экран был голый переходную плату для него делал сам, а вот сигнал Cs не вывел.
[uquote="andrey_r",url="/forum/viewtopic.php?p=3689779#p3689779"]Есть ли у кого слитый Flash Loader Demonstrator дамп версии 3.4 генератора. Скомпилировал hex в ардуино, прошил Flash Loader Demonstrator, а в ответ только свечение экрана и все. Экран рабочий 100%. Экран был голый переходную плату для него делал сам, а вот сигнал Cs не вывел.[/uquote]
"Скомпилировал hex в ардуино", Так оттуда и прошивайте - через эти лоадеры будет Вам народная индейская изба
Вот здесь автор выложил всё готовенькое, только свой скетчик подсуньте. #60 http://arduino.ru/forum/proekty/generat ... ino?page=1
Спасибо, DimKra! Залил скетч из ARDUINO IDE через serial port - картинка появилась. На кнопку энкодера реагирует, а на вращение - нет. Или энкодер бракованный, или (как досмотрел) из-за того, что китаец прислал плату на процессоре cks32f103c8t6. Замен сейчас нет. На всякий случай слил дамп Flash Loader Demonstrator. Пере-прошивкой файл проверил.