[uquote="DimKra",url="/forum/viewtopic.php?p=3674035#p3674035"]Прокомментирую вкратце некоторые идеи:
-К572ПА1 в качестве ЦАПа для DDS не годится, слишком медленный. Нужна скорость установления уровня не более нескольких единиц наносекунд.
-Встроенный ЦАП даже при условии разгона всё равно медленнее внешнего резисторного (~ 4,5Мсемпла/сек против ~5 Мегасемплов/сек на F103 && 72MHz)
- Кому-как, а лично мне паять корпуса с более мелким шагом чем у tqfp32 трудно физически.. и руки подводят и зрение.

Так что единственный вариант покупать готовую плату. Кстати платы аля BluePill, но с F303 уже есть в продаже, видел на Али по 300р, к сожалению ссылку не сохранил
-шутка про ассемблерные вставки понравилась

[/uquote]
ассемблерные вставки в ардуино под AVR, IDE это позволяет. частенько попадались кстати.
на STM гуру ваяющих в ассемблере в природе не встречал, но поговаривают, что такие существуют.
К572ПА1 я для примера привел, ессно нужны более современные.
если внешняя R2R то берите готовой дип сборкой, их еще продают, только с погрешностью не больше 1 %, не хорошо когда старший бит своим разбросом перекрывает все младшие с запасом, синусоиды потом надкусанные получаются
Добавлено after 25 minutes 10 seconds:
кстати вот примерчик показательный:
https://habr.com/ru/post/372453/
Логический анализатор
Самый быстрый режим. Примерно 20 MSPS на каждом канале. Самый быстрый код для этого режима выглядит так:
Код: Выделить всё
u32 i = 0;
dataBuffer.u8[i] = GPIOA->IDR;
dataBuffer.u8[++i] = GPIOA->IDR;
dataBuffer.u8[++i] = GPIOA->IDR;
dataBuffer.u8[++i] = GPIOA->IDR;
dataBuffer.u8[++i] = GPIOA->IDR;
dataBuffer.u8[++i] = GPIOA->IDR;
и так далее на весь буфер.
Значение переменной i в этом случае вычисляются на этапе компиляции и в итоге из dataBuffer.u8[++i] = GPIOA->IDR; получается всего 2 операции — загрузить данные в регистр из порта и сохранить данные в память по заранее посчитанному адресу. Никакими циклами такой производительности достичь не получилось.
тем же способом можно и на R2R семплы выплевывать, если мимо тормоза с DMA .