Не поможите с идеей как на STM32 с помощью встроенного DAC и возможно DMA организовать DDS. Нужно получить синусоиду с плавно перестраиваемой частотой в диапозоне от 5 до 20000 Гц. Частота дискретизации предпологается быть фиксированной и равняться 200 кГц. Частота ядра 20 МГц (0 wait state).
Если решать задачу в лоб без применения DMA с таблицей значений DAC, то для формировании нового номера ячейки этой таблицы в прерывании таймера уйдет достаточно большое время. Прерывание таймера будут каждые 100 тактов из них 24 это вход и выход из прерывания плюс какие-то действия в нем. Если с DMA, то непонятно как должна быть организована таблица. Если ее формировать в после принятия команды смены частоты и переключать DMA на нее, то в худшем случе при требуемой частоте синуса в 5 Гц надо будет 40000 байт (для 8-ми битного ЦАП), а у меня нет столько памяти.
Нужет какой-то хитрый приемчик.
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|