Описание DMA в РП К1921ВГ1Т

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: ea, dav, bkolbov, Alis, pip, _sva_

durimar_13
Сообщения: 111
Зарегистрирован: 26 фев 2025, 13:06
Предприятие: Radioamateur
Откуда: Свердловская обл.

Re: Описание DMA в РП К1921ВГ1Т

Сообщение durimar_13 »

Приятная новость.
Коллеги из Техподдержки исправили код обработчика прерывания в примере adc_tmr_dma.
Теперь это работает как надо!
Код в репозитории.
С уважением, Виктор.
Салим
Сообщения: 18
Зарегистрирован: 04 май 2026, 16:52
Предприятие: Work

Re: Описание DMA в РП К1921ВГ1Т

Сообщение Салим »

Подскажите, есть ли возможность связать DMA с интерфейсом I2S? В SDK в файле K1921VG1T.h нет описания наподобие I2S0_DMA_REQUESTOR_IDX. В РП не нашел тоже про это. И пример работы с I2S из SDK выполнен просто с заполнением FIFO I2S. Это так задумано или я не там ищу, и есть все таки возможность состыковать DMA c I2S?
RabidRabbit
Сообщения: 254
Зарегистрирован: 10 июн 2025, 12:11
Предприятие: HomeWork

Re: Описание DMA в РП К1921ВГ1Т

Сообщение RabidRabbit »

В РП от 25.08.2026 для I2S не указана возможность работать с DMA.
Скорее всего Вам придётся дергать канал DMA таймером, если хотите DMA.
Мерседес
Сообщения: 37
Зарегистрирован: 05 авг 2026, 12:53
Предприятие: Каскад

Re: Описание DMA в РП К1921ВГ1Т

Сообщение Мерседес »

конечно возможность есть. тактировать таймером там наверное не надо, все тактирования задаются при настройке скорости самого интерфейса. мне И И подсказало так : Источник запроса: Когда внутренний буфер передатчика I2S (I2STRANSDATA) опустошается (готов принять новые данные для отправки ), модуль I2S генерирует аппаратный запрос DMA .
Цепочка действий: Получив этот запрос, DMA забирает из буфера в памяти заранее подготовленный 32-битный сэмпл и автоматически записывает его в регистр I2STRANSDATA, освобождая его для отправки следующего бита звука .

Настройка: Для этой связки вы настраиваете DMA-канал так, чтобы он работал в режиме "память → периферия", где источником данных является ваш массив в ОЗУ, а приемником — регистр данных I2S.
durimar_13
Сообщения: 111
Зарегистрирован: 26 фев 2025, 13:06
Предприятие: Radioamateur
Откуда: Свердловская обл.

Re: Описание DMA в РП К1921ВГ1Т

Сообщение durimar_13 »

Мерседес писал(а): 29 авг 2026, 03:26 конечно возможность есть. ...... модуль I2S генерирует аппаратный запрос DMA .
.....
Как сказал уже rabidrabbit, такой возможности нет.
См. таблицу 14.1 РП.
Или мы ошибаемся? :)
С уважением, Виктор.
Мерседес
Сообщения: 37
Зарегистрирован: 05 авг 2026, 12:53
Предприятие: Каскад

Re: Описание DMA в РП К1921ВГ1Т

Сообщение Мерседес »

возможность просто обязана быть. хотя в таблице и не видно. возможны варианты, - например модуль I2S часто не выделен как отдельный модуль, и работает как один из режимов модуля SPI. здесь слабая документация, но думаю стоит задать вопрос в техподдержку.
RabidRabbit
Сообщения: 254
Зарегистрирован: 10 июн 2025, 12:11
Предприятие: HomeWork

Re: Описание DMA в РП К1921ВГ1Т

Сообщение RabidRabbit »

Судя по тому, что блок I2S наличиствует исключительно в ВГ1Т, складывается впечатление, что его туда запихнули в последний момент "чтобы было".
как один из режимов модуля SPI
- это Вы (или ЫЫ) видимо киваете в сторону STM32, но там регистры у блоков имеют пересечения по функциям и расположены единой группой; здесь же даже группы регистров расположены в разных 4K "страницах".
Мерседес
Сообщения: 37
Зарегистрирован: 05 авг 2026, 12:53
Предприятие: Каскад

Re: Описание DMA в РП К1921ВГ1Т

Сообщение Мерседес »

RabidRabbit писал(а): 29 авг 2026, 12:33 Судя по тому, что блок I2S наличиствует исключительно в ВГ1Т, складывается впечатление, что его туда запихнули в последний момент "чтобы было".
как один из режимов модуля SPI
- это Вы (или ЫЫ) видимо киваете в сторону STM32, но там регистры у блоков имеют пересечения по функциям и расположены единой группой; здесь же даже группы регистров расположены в разных 4K "страницах".
да, в сторону STM32. вообще перечитал эти разделы еще раз, ДМА не разглядел. но не верю что эта возможность не реализована. скорее всего Вы правы - "запихнули в последний момент" и либо он и правда ущербный, либо работа над документацией ведется. недавно было очередной вариант описания от от 29.07.2026
RabidRabbit
Сообщения: 254
Зарегистрирован: 10 июн 2025, 12:11
Предприятие: HomeWork

Re: Описание DMA в РП К1921ВГ1Т

Сообщение RabidRabbit »

Мерседес писал(а): 29 авг 2026, 12:43 недавно было очередной вариант описания от от 29.07.2026
В РП от 25.08.2026 для I2S не указана возможность работать с DMA :)
Салим
Сообщения: 18
Зарегистрирован: 04 май 2026, 16:52
Предприятие: Work

Re: Описание DMA в РП К1921ВГ1Т

Сообщение Салим »

RabidRabbit писал(а): 29 авг 2026, 12:54
Мерседес писал(а): 29 авг 2026, 12:43 недавно было очередной вариант описания от от 29.07.2026
В РП от 25.08.2026 для I2S не указана возможность работать с DMA :)
Там, если вчитываться в РП, то есть все таки слабая надежда, что прикрутить можно. Например, в 4.1 "Блок коммутации микроконтроллера" показана связь DMA с I2S. Потом, в описании "STATIC4 – регистр статической конфигурации канала" для RD_PER_NUM указано, что: "Номер аппаратного источника запроса чтения (RX). Установите 0, если канал считывает данные из памяти или считывает данные с периферийного устройства, которое не использует периферийное управление запросом". Как бы напрашивается установить ноль, но вот что дальше делать не понятно. Но другой стороны, вчитываешься и возникают еще больше вопросы к качеству РП. Например почему в РП указано, что для записи в RD_PER_NUM используется 5 бит (32 значения), когда источников периферии 70 (при этом в K1921VG1T.h 7 бит). В общем, наверное, верный путь это тех.поддержка.
Ответить

Вернуться в «32-разрядные микроконтроллеры»