Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32 DMA
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
dimka76
Вопрос в том насколько высок приоритет DMA по отношению к другим мастерам на шине AHB ?

Воспрос связан с воспроизведением звука через I2S.
Например, если настал момент отправить очередной байт данных в I2S из памяти и тут ядро тоже решило обратиться к памяти
(ведь выполнение основной части программы не останавливается). Кому в этом случае будет отдан приоритет ?
DMA или ядру ?
Если ядру то из-за запоздалой отправки данных в I2S возникнут искажения в звуке.
_Артём_
Цитата(dimka76 @ Nov 28 2012, 15:47) *
Например, если настал момент отправить очередной байт данных в I2S из памяти и тут ядро тоже решило обратиться к памяти
(ведь выполнение основной части программы не останавливается). Кому в этом случае будет отдан приоритет ?
DMA или ядру ?

Приоритет такой вот:
Цитата
2.1.8 BusMatrix
The BusMatrix manages the access arbitration between masters. The arbitration uses a
round-robin algorithm

kan35
Я еще добавлю, что у STM32F2/4 у DMA есть FIFO и Burst фичи, при этом 16 битные данные вычитываются за раз по 2 слова. Так что со звуком будет все в порядке.
Мусатов Константин
Цитата
у STM32F2/4 у DMA есть FIFO и Burst фичи, при этом 16 битные данные вычитываются за раз по 2 слова

А вам удалось эти фичи запустить? А то что-то у меня не получается. Тут веточка по этому вопросу чуть ниже.

А по делу, даже если смотреть с отправкой по прерыванию, то времени хватит. Допустим у нас скорость предельная 192К. Посылать надо 4 раза за период, т.е. у нас есть 1,3 мкс на то, что бы скормить очередное слово, пока предыдущее сдивигается по регистру - это 218 тактов.
Но все равно хочется использовать DMA.
kan35
У меня не с I2S, а с SPI эти фичи работают..
SPI 8 битный, а DMA забирает/кладет по 32 бита за раз. FIFO включено.
dimka76
Спасибо за ответы.
Буду пытаться реализовывать.
Мусатов Константин
Если что, обращайся, у меня заработал I2S Receive in slave mode with DMA FIFO double buffer
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.