pixar писал(а): DMA работает только с инкрементом адреса , поэтому потребуется буфер на полный период. С буфером на четверть периода потребуется работа процессора для формирования синуса. Других ограничений нет.
Имеется в виду что DMA работает из буффера в RAM, который подпитывается по ходу дела. По прерываниям от DMA в середине и конце цикла.
Вычислять синусы каждый раз не за чем - при 12 бит 1/4 периода всего 1024 значения. Можно в флеше хранить. Или нет - памяти хватает. При 1 млн выборок в сек все 4096 дадут 244 Гц, так что уменьшим скорость до 409 КГц. Получится 100 Гц с хорошим спектром.
В принципе весь буффер 8К с копейками, можно и не делать подпитку - памяти достаточно.