реклама на сайте
подробности

 
 
> STM32F4 управление DDS по DMA
romanetz
сообщение Jun 1 2015, 05:29
Сообщение #1





Группа: Участник
Сообщений: 8
Регистрация: 1-06-15
Пользователь №: 86 958



Для проекта софтверного FM-возбудителя со стереорежимом реализовал аппаратную передачу кода частоты в DDS. Скорость - 384к в секунду новых значений частоты в DDS.
Обвязка - 2 элемента или-не.
Генератор - 12288 кГц, от него тактируется I2S (PC7/PC9), таймер 4 (PB7) и таймер 3 через элемент или-не (PD2). На один вход или-не тактовая частота от генератора, на второй - I/O UPDATE с PB8. На таймер 3 также приходит I/O UPDATE с PB8 на PB4. Т.е. смысл такой: таймер 3 по началу I/O UPDATE сбрасывается, тянет в буфер dds_spi_buf новое значение из TIM2->CCR4 и на него тактовая не проходит все время, пока I/O UPDATE активен.
Таймер 4 в TIM2->CCR4 записывает через DMA выдернутое из большого кольцевого буфера значение FTW по сработке TIM4.CC1
Таймер 2 захватывает период SOF'ов в CCR1, а CCR4 используется как временный 32-х битный регистр, доступный для DMA1 (ни на что не влияет).
Таймер 4 также выдает "триггер" для ЦАПа (DAC2).
Проект для CooCox в аттаче.

Сообщение отредактировал romanetz - Jun 1 2015, 05:31
Прикрепленные файлы
Прикрепленный файл  my_audio_usb_26052015_2.zip ( 1.64 мегабайт ) Кол-во скачиваний: 39
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 21:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01348 секунд с 7
ELECTRONIX ©2004-2016