я тоже собираюсь делать похожее на dds но както у меня по другому идея складывается..
1. заполняем dma буффер период высококачественного 12 битного синуса с числом отсчетов = 2байта * максимальный допустимый размер буфера под синус в вашей задачи
2. говорим DMA источник - буфер в памяти, назначение - ЦАП, режим циклический с инкрементом адреса
таким образом дма будет по кругу лазить по периоду синуса и заряжать цап его отсчетами.
3, теперь про период синуса - говрим dma что он тригируется от таймера - таким образом , dma будет выпонтяь выборку из таблицы и запись в цап по сигналу с таймера.
4, заряжаем таймер на время равное преиод требуемого синуса * число отсчетов в таблице.
все будет работать. у ST есть appnotes как это деать
http://www.st.com/internet/com/TECHNICAL_R.../CD00259245.pdfтут же можно разом делать с двух каналов ЦАП квадратуры
тутже на лету меня период таймера можно делать частотную модуляцию/манипуляцию, а фазовую только модуляцию
для фазовой манипуляции прйдется остановить dma , переставить счетк позиции чтения и заново включить.
квадратуры у меня генерятся но менять на непрерывно на лету частоту я не пробывал - могу поробывать
никаких прерываний ненадо! это если только более сложноая модуляция или вообще случайный сигнал - тогда - половинки буфера, с одной читается, другая апдейтится.
для генерации синуса цап еще както сам умеет его генерить - у него такой режим есть, тогда нада наверно только таймер для задания интервала отсчетов и сам цап без ДМА. но это нада проверять я не включал его так
товарищи которые рекомендуют tiny могут идти тудаже куда они арм послали... тоест в кружок пиоНЭров ! серьезных людей нечего баламутить. я даже более скажу - работал в коллективе где ВСЕ делали на мегах, неважно - по задаче инструмент или нет. в результате были монстры на 4-5 мегах + горы глюков и внутренней жизни. на вопрос что давайте поставим один мелкий армик
- неееетт!!!! мы не сможем проконтролировать что ты там сделал ! а если ты уйдеш от нас???
- ну дык давайте вместе со мной изучим новую элементную базу...
- !!???###%%% ...нах
в результате я ушел, а старые деды у котрых моск засох остались, задачи со временем меняются а методы работы и решения остались там прежние по сей день.