Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: Функциональный генератор на базе STM32F103

Вс авг 25, 2019 19:25:28

kloker, к сожалению сделать качающуюся частоту тут крайне проблематично, т.к. используемый метод DDS-синтеза съедает при работе 100% вычислительных ресурсов. Вообще особых планов по дальнейшему развитию проекта у меня нет, всё устраивает :)

c качением понятно, а белый шум?
ну ок, нет так нет.
это с DMA загрузка МК 100% ? я в код глубоко не вникал еще, все времени не хватает.

Re: Функциональный генератор на базе STM32F103

Вс авг 25, 2019 19:48:27

А через UART управлять этим генератором сложно переделать?

Re: Функциональный генератор на базе STM32F103

Вс авг 25, 2019 20:58:24

бегло просмотрел код, таки да, без DMA.

Добавлено after 1 hour 9 minutes 23 seconds:
по поводу HAL, HAL_LL и DMA STM в STM32duino, они там есть изначально
Код:
\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.6.1\cores\arduino\stm32

а вот как активировать и настраивать DMA надо курить мануалы по STM32duino. хотя напрямую через регистры быстрее выйдет.

есть вот еще один вариант ардуино порта - STM32GENERIC https://github.com/danieleff/STM32GENERIC, но не до конца допилен и вылизан, зато доступ к HAL прослойке не изолирован.
почитать по теме портирования Arduino <-> STM32 HAL https://habr.com/ru/post/357920/

автор проекта, я так подозреваю сознательно отказался от DMA при генерации DDS потока в GPIO порт, хотелось бы узнать причины на будущее, неужели c DMA вышло тормознее, чем ASM вкладкой напрямую с массива RAM в GPIO.

Re: Функциональный генератор на базе STM32F103

Вс авг 25, 2019 21:52:54

kloker, да без DMA вынуждено. Причина проста -каждый семпл не просто берётся из массива и оправляется в цап/порт, а берётся из массива, потом с ним проводится математическая операция, и только потом результат отправляется в порт. Т.е. использовать DMA в данном алгоритме невозможно.

Re: Функциональный генератор на базе STM32F103

Вс авг 25, 2019 22:22:43

А через UART управлять этим генератором сложно переделать?

http://arduino.ru/forum/proekty/generat ... ent-318857
Пост #27

Re: Функциональный генератор на базе STM32F103

Вс авг 25, 2019 22:43:31

kloker, да без DMA вынуждено. Причина проста -каждый семпл не просто берётся из массива и оправляется в цап/порт, а берётся из массива, потом с ним проводится математическая операция, и только потом результат отправляется в порт. Т.е. использовать DMA в данном алгоритме невозможно.

насколько я понял, матоперация введена для масштабирования синусоиды по частоте, заодно и от джиттера избавились на верхних границах диапазона.
а если для тактирования вывода выборок в порт настроить второй таймер, и по его такту писать в порт, тогда можно и через кольцевой режим DMA в порт вливать? похоже и этот вариант вы тоже пробовали. меня интересуют проблемы вывода при таком способе.

Re: Функциональный генератор на базе STM32F103

Пн авг 26, 2019 02:01:56

kloker, используемый алгоритм синтеза DDS хорош тем, что позволяет линейно генерить любые частоты с минимальным шагом перестройки частоты в единицы миллигерц. Если отказаться от этого способа в пользу тактирования от другого таймера, то генерить произвольную частоту уже не получится, всё будет привязано к сетке тактирования от таймера -чем меньше делитель частоты таймера, тем крупнее шаг при изменении частоты. В общем никакой линейности не получится. Ну и добавочная проблема -тактировать от таймера можно только встроенный в мк ЦАП, которого в bluepill нету.

Re: Функциональный генератор на базе STM32F103

Пн авг 26, 2019 05:04:55

А через UART управлять этим генератором сложно переделать?

http://arduino.ru/forum/proekty/generat ... ent-318857
Пост #27

Вот спасибо!я тот пост что-то упустил

Re: Функциональный генератор на базе STM32F103

Пн авг 26, 2019 07:32:10

А если ГКЧ сделать на SI5351? На звуковых частотах не очень прокатит, а для настройки фильтров ПЧ (сотни килогерц-десятки МГц) вполне. Правда, это уже получится помесь микроволновки с пылесосом :-)

Re: Функциональный генератор на базе STM32F103

Пн авг 26, 2019 12:02:55

Mizetsky, мне кажется для звуковых частот лучше звуковой карты компа ничего не придумать (учитывая широкой выбор готового П.О.). Для настройки фильтров и прочего желателен чистый синус. Я в своё время собрал приборчик NWT-7 , -отличный аппарат, хорошее П.О, доволен как слон. В частности этим же объясняется отсутствие мотивации делать в моём генераторе ГКЧ :-)

Re: Функциональный генератор на базе STM32F103

Пн авг 26, 2019 15:58:00

К сентябрю будет версия 3.5 :) В частотометре можно будет вкл/откл делитель на 8. и ещё планирую новый режим - одновибратор. По нажатию кнопки будет генерировать импульс длительностью от одного такта мк (~13,8nS) и длиннее. А пока в отпуск собираюсь.. :music:

а до сентября версия 3.5 планируется?
к одновибратору можно еще добавить генератор серии импульсов с синхрой через вход МК и от кнопки, для отладки последовательных протоколов, с редактированием семплов и битрейта.
длину семпла можно ограничить 24 битами. только 2 выхода понадобится, синхро и данные(до 1 мгц вполне хватит).

Добавлено after 56 minutes 42 seconds:
А если ГКЧ сделать на SI5351? На звуковых частотах не очень прокатит, а для настройки фильтров ПЧ (сотни килогерц-десятки МГц) вполне. Правда, это уже получится помесь микроволновки с пылесосом :-)


Простейший ГКЧ на AD9850 и Arduino Nano 328
https://radiokot.ru/forum/viewtopic.php ... 0&start=20
в проекте и график АЧХ на компе рисуется.
если ГКЧ сделать на SI5351, то для графиков нужен еще и детектор, насколько я понял, который есть в AD9850.

Re: Функциональный генератор на базе STM32F103

Пн авг 26, 2019 17:49:40

а до сентября версия 3.5 планируется?
к одновибратору можно еще добавить генератор серии импульсов с синхрой через вход МК и от кнопки, для отладки последовательных протоколов, с редактированием семплов и битрейта. длину семпла можно ограничить 24 битами. только 2 выхода понадобится, синхро и данные(до 1 мгц вполне хватит).


Уже не уверен что вообще будет. На данный момент написана только поддержка делителя /8 для частотометра. Делитель вкл/отк кнопкой энкодера и отображается его состояние на экране. На этом дело встало, энтузиазм закончился :sleep:

Re: Функциональный генератор на базе STM32F103

Пн авг 26, 2019 18:03:17

На этом дело встало, энтузиазм закончился :sleep:

та к это нормально, отпуск закончился, неделя лета и уже осень. :))
самому в сентябре на работу, неделя отпуска осталась..

Re: Функциональный генератор на базе STM32F103

Вт авг 27, 2019 13:20:15

Есть ли у кого слитый Flash Loader Demonstrator дамп версии 3.4 генератора. Скомпилировал hex в ардуино, прошил Flash Loader Demonstrator, а в ответ только свечение экрана и все. Экран рабочий 100%. Экран был голый переходную плату для него делал сам, а вот сигнал Cs не вывел.

Re: Функциональный генератор на базе STM32F103

Вт авг 27, 2019 13:46:56

Есть ли у кого слитый Flash Loader Demonstrator дамп версии 3.4 генератора. Скомпилировал hex в ардуино, прошил Flash Loader Demonstrator, а в ответ только свечение экрана и все. Экран рабочий 100%. Экран был голый переходную плату для него делал сам, а вот сигнал Cs не вывел.

"Скомпилировал hex в ардуино", Так оттуда и прошивайте - через эти лоадеры будет Вам народная индейская изба :))
Вот здесь автор выложил всё готовенькое, только свой скетчик подсуньте. #60
http://arduino.ru/forum/proekty/generat ... ino?page=1

Re: Функциональный генератор на базе STM32F103

Вт авг 27, 2019 13:55:03

В той ARDUINO IDE нет примера с версией 3.4. А когда сам скомпилировал вер.3.4, то при прошивке из IDE результат тот же.

Re: Функциональный генератор на базе STM32F103

Вт авг 27, 2019 14:00:54

Mizetsky, Flash Loader Demonstrator это программа от производителя МК STM32, :) а ArduinoIDE это как вы выразились "народная индейская изба". :)))

Re: Функциональный генератор на базе STM32F103

Вт авг 27, 2019 15:04:28

andrey_r, заархивировал текущую папку arduino, в которой писал версию 3.4. Попробуйте. https://yadi.sk/d/jw06d7G0Bir0JQ

Re: Функциональный генератор на базе STM32F103

Вт авг 27, 2019 17:31:04

Спасибо, DimKra! Залил скетч из ARDUINO IDE через serial port - картинка появилась. На кнопку энкодера реагирует, а на вращение - нет. Или энкодер бракованный, или (как досмотрел) из-за того, что китаец прислал плату на процессоре cks32f103c8t6. Замен сейчас нет. На всякий случай слил дамп Flash Loader Demonstrator. Пере-прошивкой файл проверил.
Вложения
gen_v3_4_cks32f103c8t6_STM32.rar
(40.53 KiB) Скачиваний: 308

Re: Функциональный генератор на базе STM32F103

Вт авг 27, 2019 17:35:41

andrey_r, энкодер нетрудно проверить тестером. Ломаться в нём в общем то нечему, так что скорее всего ошибка в подключении.
Ответить