kloker, к сожалению сделать качающуюся частоту тут крайне проблематично, т.к. используемый метод DDS-синтеза съедает при работе 100% вычислительных ресурсов. Вообще особых планов по дальнейшему развитию проекта у меня нет, всё устраивает
c качением понятно, а белый шум? ну ок, нет так нет. это с DMA загрузка МК 100% ? я в код глубоко не вникал еще, все времени не хватает.
автор проекта, я так подозреваю сознательно отказался от DMA при генерации DDS потока в GPIO порт, хотелось бы узнать причины на будущее, неужели c DMA вышло тормознее, чем ASM вкладкой напрямую с массива RAM в GPIO.
Заголовок сообщения: Re: Функциональный генератор на базе STM32F103
Добавлено: Вс авг 25, 2019 21:52:54
Открыл глаза
Зарегистрирован: Вс мар 24, 2013 17:21:28 Сообщений: 63
Рейтинг сообщения:0
kloker, да без DMA вынуждено. Причина проста -каждый семпл не просто берётся из массива и оправляется в цап/порт, а берётся из массива, потом с ним проводится математическая операция, и только потом результат отправляется в порт. Т.е. использовать DMA в данном алгоритме невозможно.
kloker, да без DMA вынуждено. Причина проста -каждый семпл не просто берётся из массива и оправляется в цап/порт, а берётся из массива, потом с ним проводится математическая операция, и только потом результат отправляется в порт. Т.е. использовать DMA в данном алгоритме невозможно.
насколько я понял, матоперация введена для масштабирования синусоиды по частоте, заодно и от джиттера избавились на верхних границах диапазона. а если для тактирования вывода выборок в порт настроить второй таймер, и по его такту писать в порт, тогда можно и через кольцевой режим DMA в порт вливать? похоже и этот вариант вы тоже пробовали. меня интересуют проблемы вывода при таком способе.
Заголовок сообщения: Re: Функциональный генератор на базе STM32F103
Добавлено: Пн авг 26, 2019 02:01:56
Открыл глаза
Зарегистрирован: Вс мар 24, 2013 17:21:28 Сообщений: 63
Рейтинг сообщения:0
kloker, используемый алгоритм синтеза DDS хорош тем, что позволяет линейно генерить любые частоты с минимальным шагом перестройки частоты в единицы миллигерц. Если отказаться от этого способа в пользу тактирования от другого таймера, то генерить произвольную частоту уже не получится, всё будет привязано к сетке тактирования от таймера -чем меньше делитель частоты таймера, тем крупнее шаг при изменении частоты. В общем никакой линейности не получится. Ну и добавочная проблема -тактировать от таймера можно только встроенный в мк ЦАП, которого в bluepill нету.
А если ГКЧ сделать на SI5351? На звуковых частотах не очень прокатит, а для настройки фильтров ПЧ (сотни килогерц-десятки МГц) вполне. Правда, это уже получится помесь микроволновки с пылесосом
Заголовок сообщения: Re: Функциональный генератор на базе STM32F103
Добавлено: Пн авг 26, 2019 12:02:55
Открыл глаза
Зарегистрирован: Вс мар 24, 2013 17:21:28 Сообщений: 63
Рейтинг сообщения:0
Mizetsky, мне кажется для звуковых частот лучше звуковой карты компа ничего не придумать (учитывая широкой выбор готового П.О.). Для настройки фильтров и прочего желателен чистый синус. Я в своё время собрал приборчик NWT-7 , -отличный аппарат, хорошее П.О, доволен как слон. В частности этим же объясняется отсутствие мотивации делать в моём генераторе ГКЧ
К сентябрю будет версия 3.5 В частотометре можно будет вкл/откл делитель на 8. и ещё планирую новый режим - одновибратор. По нажатию кнопки будет генерировать импульс длительностью от одного такта мк (~13,8nS) и длиннее. А пока в отпуск собираюсь..
а до сентября версия 3.5 планируется? к одновибратору можно еще добавить генератор серии импульсов с синхрой через вход МК и от кнопки, для отладки последовательных протоколов, с редактированием семплов и битрейта. длину семпла можно ограничить 24 битами. только 2 выхода понадобится, синхро и данные(до 1 мгц вполне хватит).
А если ГКЧ сделать на SI5351? На звуковых частотах не очень прокатит, а для настройки фильтров ПЧ (сотни килогерц-десятки МГц) вполне. Правда, это уже получится помесь микроволновки с пылесосом
Простейший ГКЧ на AD9850 и Arduino Nano 328 https://radiokot.ru/forum/viewtopic.php ... 0&start=20 в проекте и график АЧХ на компе рисуется. если ГКЧ сделать на SI5351, то для графиков нужен еще и детектор, насколько я понял, который есть в AD9850.
а до сентября версия 3.5 планируется? к одновибратору можно еще добавить генератор серии импульсов с синхрой через вход МК и от кнопки, для отладки последовательных протоколов, с редактированием семплов и битрейта. длину семпла можно ограничить 24 битами. только 2 выхода понадобится, синхро и данные(до 1 мгц вполне хватит).
Уже не уверен что вообще будет. На данный момент написана только поддержка делителя /8 для частотометра. Делитель вкл/отк кнопкой энкодера и отображается его состояние на экране. На этом дело встало, энтузиазм закончился
Есть ли у кого слитый Flash Loader Demonstrator дамп версии 3.4 генератора. Скомпилировал hex в ардуино, прошил Flash Loader Demonstrator, а в ответ только свечение экрана и все. Экран рабочий 100%. Экран был голый переходную плату для него делал сам, а вот сигнал Cs не вывел.
Есть ли у кого слитый Flash Loader Demonstrator дамп версии 3.4 генератора. Скомпилировал hex в ардуино, прошил Flash Loader Demonstrator, а в ответ только свечение экрана и все. Экран рабочий 100%. Экран был голый переходную плату для него делал сам, а вот сигнал Cs не вывел.
"Скомпилировал hex в ардуино", Так оттуда и прошивайте - через эти лоадеры будет Вам народная индейская изба Вот здесь автор выложил всё готовенькое, только свой скетчик подсуньте. #60 http://arduino.ru/forum/proekty/generat ... ino?page=1
Спасибо, DimKra! Залил скетч из ARDUINO IDE через serial port - картинка появилась. На кнопку энкодера реагирует, а на вращение - нет. Или энкодер бракованный, или (как досмотрел) из-за того, что китаец прислал плату на процессоре cks32f103c8t6. Замен сейчас нет. На всякий случай слил дамп Flash Loader Demonstrator. Пере-прошивкой файл проверил.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения