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

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
radioandrei74
Нашел транзистор. Понюхал.
Сообщения: 194
Зарегистрирован: Чт авг 30, 2012 16:25:53
Контактная информация:

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

Сообщение radioandrei74 »

[uquote="DimKra",url="/forum/viewtopic.php?p=3637988#p3637988"]radioandrei74, этак можно всё купить. Интересно что-то создавать самому, своими руками.[/uquote]

дык я и сделал :))
https://yadi.sk/i/e0eN8wNvQon1Fg
индикатор tft 4.3 дюйма драйвер ssd1963, процесор stm32f103vet6, управляет платой генератора из китая, брал тут https://ru.aliexpress.com/item/AD9833-D ... 3c00rdfbtU
генерирует синусоиду, прямоугольник, и пилу... есть часы, управление энкодером
Аватара пользователя
Mizetsky
Вымогатель припоя
Сообщения: 564
Зарегистрирован: Чт окт 25, 2007 14:51:26
Откуда: KO59FV

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

Сообщение Mizetsky »

дык я и сделал :))
https://yadi.sk/i/e0eN8wNvQon1Fg
индикатор tft 4.3 дюйма драйвер ssd1963, процесор stm32f103vet6, управляет платой генератора из китая, брал тут https://ru.aliexpress.com/item/AD9833-D ... 3c00rdfbtU
генерирует синусоиду, прямоугольник, и пилу... есть часы, управление энкодером[/uquote]

А нафига такой здоровенный дисплюйчик?
Вот 0.96 IPS
ggg.jpg
(42.25 КБ) 806 скачиваний

А это 1.8
fm.jpg
(52.3 КБ) 716 скачиваний
Vovchik123
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Сб фев 09, 2019 13:37:55

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

Сообщение Vovchik123 »

Генераторов много не бывает :)) Mizetsky , а можете выложить архивом вот это-ggg.jpg для повторения ?
Аватара пользователя
Mizetsky
Вымогатель припоя
Сообщения: 564
Зарегистрирован: Чт окт 25, 2007 14:51:26
Откуда: KO59FV

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

Сообщение Mizetsky »

[uquote="Vovchik123",url="/forum/viewtopic.php?p=3643779#p3643779"]Генераторов много не бывает :)) Mizetsky , а можете выложить архивом вот это-ggg.jpg для повторения ?[/uquote]
Да не вопрос. Ловите. Единственное, что надо будет подправить - это координату Y - тот дисплей, что на фото, 80х160 -
у него обрезаны верхние и нижние 24 строки. У него верхняя левая точка 0 24 а нижняя 0 103.
Вложения
Gen9833.zip
(58.79 КБ) 447 скачиваний
Vovchik123
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Сб фев 09, 2019 13:37:55

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

Сообщение Vovchik123 »

Спасибо,смотрим еще здесь:
Спойлерhttp://www.vwlowen.co.uk/arduino/AD9833-waveform-generator/AD9833-waveform-generator.htm
кого интересует.
Аватара пользователя
Mizetsky
Вымогатель припоя
Сообщения: 564
Зарегистрирован: Чт окт 25, 2007 14:51:26
Откуда: KO59FV

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

Сообщение Mizetsky »

[uquote="horiz64",url="/forum/viewtopic.php?p=3640867#p3640867"]Tvics, по сути никакой, ограничить ток резистором.[/uquote]
Я тоже по 100 ом резисторы поставил на выходе

Добавлено after 13 minutes 32 seconds:
[uquote="Vovchik123",url="/forum/viewtopic.php?p=3643887#p3643887"]Спасибо,смотрим еще здесь:
Спойлерhttp://www.vwlowen.co.uk/arduino/AD9833-waveform-generator/AD9833-waveform-generator.htm
кого интересует.[/uquote]
Так это оно и есть, я только ссылку потерял, а файлики сохранились
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

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

Сообщение 240265 »

В теме http://arduino.ru/forum/proekty/generat ... ent-469906 есть интересные новости.
IVL ex UA6PJ
Аватара пользователя
Tvics
Нашел транзистор. Понюхал.
Сообщения: 175
Зарегистрирован: Вс май 20, 2018 03:47:25
Откуда: Иркутская обл.

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

Сообщение Tvics »

Спасибо, я уже видел. Хотел сделать на stm32f103ret6 под 8 битный дисплей, уже заказал одну, но Дима написал что с встроенным ЦАП ,ЦАП будет медленнее чем с сопротивлениями. Да и со скетчем будет много заморочек. Пока сижу голову ломаю, как это все переделать.
DimKra
Открыл глаза
Сообщения: 63
Зарегистрирован: Вс мар 24, 2013 17:21:28

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

Сообщение DimKra »

Tvics, ну разница в скорости вывода 4,5Ms/sec и 5MS/sec не такая уж принципиальная. Другое дело с дисплеем, если у вас что-то не заведётся, или заработает не так, как хотелось, то разбираться придётся самостоятельно..
Аватара пользователя
Tvics
Нашел транзистор. Понюхал.
Сообщения: 175
Зарегистрирован: Вс май 20, 2018 03:47:25
Откуда: Иркутская обл.

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

Сообщение Tvics »

Да это понятно скорость хоть и медленнее, но все равно надо попробовать переделать. Главное проблема будет переделка в скетче.
kloker
Вымогатель припоя
Сообщения: 558
Зарегистрирован: Ср сен 09, 2015 13:09:15

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

Сообщение kloker »

начну с того что у STM с DAC на борту уже есть генераторы пилы и синусоиды, матрицы синуса вшиты,
если уже и делать на R2R, то покупайте готовые резисторные 1% R2R сборки. они на заводе откалиброваны, и шумят меньше рассыпухи.
а еще лучше нормальный 8-12 битный ЦАП прикрутить (К572ПА1-ПА2 например), там и регистр-защелка на входе-выходе, и R2R не так шумит при коммутации.

Добавлено after 19 minutes 21 second:
мда, с матрицами пилы и синусоиды погорячился немного, это в линейке F4 уже встроено в SYS-ROM на заводе, зато Timer1-8 Trigger Out есть

Добавлено after 19 minutes 4 seconds:
как вариант апгрейда своей BluePill))
https://www.instructables.com/id/5-STM3 ... ent-Board/
просто меняем чип F103C8 на F303CB, по цоколевке один в один, по возможностям ADC 5 MSPS, DAC, и DSP на 72 МГц

Вы также можете перейти на более дорогой STM32F303CCT6.
CC 256K флэш-памяти и 40K RAM,
CB 128K флэш-памяти и 32K RAM

переобуть чипы на BluePill намного дешевле покупки F303Discovery :)
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

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

Сообщение 240265 »

" переобуть чипы на BluePill намного дешевле покупки F303Discovery " Ты только родился что ли , давно так делают.
IVL ex UA6PJ
kloker
Вымогатель припоя
Сообщения: 558
Зарегистрирован: Ср сен 09, 2015 13:09:15

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

Сообщение kloker »

"давно так делают" кто? по топику не заметно, что все так делают))

Добавлено after 7 minutes 56 seconds:
переделать скетч в IDE Arduino проще чем в ARM-GCC\IAR\Keil, особенно если на SPL наваяли с привязкой к железу.
в ардуине софт легко с AVR на ESP и STM переезжает, вместе с либами, если они фичи для ARM не юзают(DMA,interrupt,Timer,ADC-DAC,Pwr, PLL и подобные, которых на AVR8bit нет как класса, или иначе реализованы), и жестко не заточены под особенности железа. так что перепахать с STMF103 на STMF303, это заменить плату(чип) в "инструментах"

Добавлено after 7 minutes 41 second:
[uquote="Tvics",url="/forum/viewtopic.php?p=3672226#p3672226"]Спасибо, я уже видел. Хотел сделать на stm32f103ret6 под 8 битный дисплей, уже заказал одну, но Дима написал что с встроенным ЦАП ,ЦАП будет медленнее чем с сопротивлениями. Да и со скетчем будет много заморочек. Пока сижу голову ломаю, как это все переделать.[/uquote]

уже определились, что не медленнее, ссылку на апнот STM нашли с фиксом тормозов DMA-DAC.
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

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

Сообщение Novice user »

А есть ли крайняя схема?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

kloker писал(а):если они фичи для ARM не юзают
У STM32 мощная периферия до которой AVR очень далеко. Если ее не использовать, большой разницы по сравнению с AVR не будет.
Если вам нужны все преимущества STM32, используйте нормальную IDE и SPL, а не Arduino IDE.

kloker писал(а):переделать скетч в IDE Arduino проще чем в ARM-GCC\IAR\Keil, особенно если на SPL наваяли с привязкой к железу.
Не так все сложно как вы пишите.
Приведу такой пример. Начинал проект на M3, потом сделал упрощенную версию на M0. После потребовалось значительно доработать код и добавить много новых функций из-за чего перенес проект на M4. Использовались таймеры, DMA, АЦП, USART др. Не скажу что переносить было слишком сложно. Хватило нескольких часов на перенос и проверку в железе.
kloker
Вымогатель припоя
Сообщения: 558
Зарегистрирован: Ср сен 09, 2015 13:09:15

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

Сообщение kloker »

[uquote="Мурик",url="/forum/viewtopic.php?p=3673479#p3673479"]Не так все сложно как вы пишите.
.[/uquote]
я писал о переносе кода с платы на плату в ардуино.
в кейле тоже не так уж и сложно заменить кристал.

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

Добавлено after 10 minutes 17 seconds:
[uquote="Мурик",url="/forum/viewtopic.php?p=3673479#p3673479"]
kloker писал(а):если они фичи для ARM не юзают
У STM32 мощная периферия до которой AVR очень далеко. Если ее не использовать, большой разницы по сравнению с AVR не будет.[/uquote]
я о библиотеках Ардуино, оптимизированных под перифирию ARM писал. для дисплеев и АЦП есть к примеру с использованием DMA и таймеров под STM
и ESP8266/ESP32.
под STM попадались даже либы для USB c дескрипторами, конечными точками и обработчиками прерываний.

в Кейл прикрутить USB Audio Speaker + CDC на STM32f103c8 к примеру задачка еще та))
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

kloker писал(а):не так уж и сложно заменить кристал.
Я писал про МК с разными ядрами и с разным набором периферии.

kloker писал(а):но автор топика пишет именно скетчами в ардуино, с проекцией на железо через IDE. критичные модули с ассемблерными вставками.
Писать под ARM в ArduinoIDE и использовать асм. вставки? :shock: Это не очень логично. Ардуина с ее прослойками и подходом к разработке, не позволит получить преимущество от асма.

kloker писал(а):есть энтузиасты, которые и SPL не юзают, напрямую в регистры пишут. но переносить сие между кристаллами еще тот квест.
Не сказал бы что сильно сложно. Конечно если речь идет о переносе с STM32F103, на STM32H7, нужно будет потратить некоторое время. В остальных случаях, обычно сложностей не возникает. Нужно всего лишь выяснить различия ядер и периферии и внести соответствующие правки в код.

kloker писал(а):я о библиотеках Ардуино, оптимизированных под перифирию ARM писал
И какие же библиотеки под это оптимизированы?

kloker писал(а):под STM попадались даже либы для USB c дескрипторами, конечными точками и обработчиками прерываний.
Эти? https://www.st.com/en/embedded-software ... 32121.html
https://www.st.com/en/embedded-software ... 32046.html
Только какое они имеют отношение к ардуино?

kloker писал(а):в Кейл прикрутить USB Audio Speaker + CDC на STM32f103c8 к примеру задачка еще та))
Задачка касается исключительно USB и к МК не имеет отношения. Нужно в дескрипторах указать что это композитное устройство соответствующих классов, проинициализировать конечные точки и принимать/передавать через них.

Ответьте на такой вопрос. Допустим нужно генерировать синус (представим что в МК есть ЦАП). Как вы это сделаете на STM32?
kloker
Вымогатель припоя
Сообщения: 558
Зарегистрирован: Ср сен 09, 2015 13:09:15

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

Сообщение kloker »

[uquote="Мурик",url="/forum/viewtopic.php?p=3673865#p3673865"]Ответьте на такой вопрос. Допустим нужно генерировать синус (представим что в МК есть ЦАП). Как вы это сделаете на STM32?[/uquote]
или вычислив каждую точку синусоиды, или из массива с заранее заготовленными отсчетами, как это автор топика делает.
или вы про инициализацию и тактирование ЦАП сейчас?

по либам для SPI дисплея с DMA STM, вот например
https://github.com/rogerclarkmelbourne/ ... LI9341_STM
https://github.com/anothermist/LIBRARIE ... _ST7735_AS

Добавлено after 8 minutes 49 seconds:
[uquote="Мурик",url="/forum/viewtopic.php?p=3673865#p3673865"]Эти? https://www.st.com/en/embedded-software ... 32121.html
https://www.st.com/en/embedded-software ... 32046.html
Только какое они имеют отношение к ардуино?[/uquote]
охренеть, на сайте STM уже либы для ардуино постят? :))

это апноты с примерами реализации. как 2 в одном сделать, нигде не описывается.

напишите свой вариант генератора и выложите в топик, Мурик, а мы за вас порадуемся.
DimKra
Открыл глаза
Сообщения: 63
Зарегистрирован: Вс мар 24, 2013 17:21:28

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

Сообщение DimKra »

Прокомментирую вкратце некоторые идеи:
-К572ПА1 в качестве ЦАПа для DDS не годится, слишком медленный. Нужна скорость установления уровня не более нескольких единиц наносекунд.
-Встроенный ЦАП даже при условии разгона всё равно медленнее внешнего резисторного (~ 4,5Мсемпла/сек против ~5 Мегасемплов/сек на F103 && 72MHz)
- Кому-как, а лично мне паять корпуса с более мелким шагом чем у tqfp32 трудно физически.. и руки подводят и зрение. :cry: Так что единственный вариант покупать готовую плату. Кстати платы аля BluePill, но с F303 уже есть в продаже, видел на Али по 300р, к сожалению ссылку не сохранил :facepalm:
-шутка про ассемблерные вставки понравилась :)))
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

kloker писал(а):по либам для SPI дисплея с DMA STM, вот например
Вы писали.
kloker писал(а):переделать скетч в IDE Arduino проще чем в ARM-GCC\IAR\Keil, особенно если на SPL наваяли с привязкой к железу.
По вашему эти библиотеки не привязаны к STM32 и их легко можно использовать например с Arduino Uno? Иначе в чем преимущество ардуины, ведь библиотеки платформозависимы?
А недостатков больше чем вы думаете, отсутствие отладки к примеру.

kloker писал(а):как 2 в одном сделать, нигде не описывается.
В STM32_USB-FS-Device_Lib есть пример композитного устройства "флешка и HID".
В STM32_USB-Host-Device_Lib два примера композитных устройств - "флешка и HID" и "COM порт и HID".

kloker писал(а):или вы про инициализацию и тактирование ЦАП сейчас?
Именно это. Как настроите периферию и будете выводить данные в ЦАП?
Ответить

Вернуться в «ARM»