зачем так мрачно. попробуйте две задачи с ДМА. а может у Вас как раз все и получится........durimar_13 писал(а): ↑02 сен 2026, 09:44
В общем, разочаровал он меня, этот ВГ1Т. Мне не подходит.
Возвращаюсь к старому проекту на ВГ015. Там еще есть что улучшать и расширять.![]()
Описание DMA в РП К1921ВГ1Т
Модераторы: ea, dav, bkolbov, Alis, pip, _sva_
Re: Описание DMA в РП К1921ВГ1Т
-
RabidRabbit
- Сообщения: 254
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: Описание DMA в РП К1921ВГ1Т
Кстати да, SPI-DMA заработало вполне норм. Но документация всё рано ужасная 
-
RabidRabbit
- Сообщения: 254
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: Описание DMA в РП К1921ВГ1Т
Попробуйте включить обоим каналам JOINT_MODE (в CONTROL и STATIC2), два канала на передачу так не зависают.Мерседес писал(а): ↑02 сен 2026, 05:13 Добрый день. кто ни будь пробовал выполнение нескольких независимых функций с каналами дма запускаемыми одновременно?
Запустил две задачи, - АЦП, сбор данных в буфер и ЦАП, передача из буфера. (буферы разные). обе с запуском из основного цикла по флагам готовности устанавливаемых в прерываниях. покрутившись немного (несколько десятков или сотен раз) все останавливается. приоритеты это не меняют.
Re: Описание DMA в РП К1921ВГ1Т
попробую, но в документации написано - Этот режим наиболее эффективен, когда:RabidRabbit писал(а): ↑02 сен 2026, 13:14Попробуйте включить обоим каналам JOINT_MODE (в CONTROL и STATIC2), два канала на передачу так не зависают.Мерседес писал(а): ↑02 сен 2026, 05:13 Добрый день. кто ни будь пробовал выполнение нескольких независимых функций с каналами дма запускаемыми одновременно?
Запустил две задачи, - АЦП, сбор данных в буфер и ЦАП, передача из буфера. (буферы разные). обе с запуском из основного цикла по флагам готовности устанавливаемых в прерываниях. покрутившись немного (несколько десятков или сотен раз) все останавливается. приоритеты это не меняют.
- ведомые устройства на шине AXI чтения и записи работают пакетами одинакового размера (обязательно).
- у ведомого устройства на шине AXI нет большой задержки в выполнении доступов (циклы ожидания на шине чтения останавливают шину записи и наоборот).
- необходимо передать большой объем данных.
Совместный режим не подходит для обслуживания периферийных устройств. и еще где то написано что скорости должны быть одинаковы.
-
RabidRabbit
- Сообщения: 254
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: Описание DMA в РП К1921ВГ1Т
Я тоже читал РП. Но вот оно так заработало. Один пишет в SPI, второй в ЦАП.
-
RabidRabbit
- Сообщения: 254
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: Описание DMA в РП К1921ВГ1Т
Видимо, поторопился. Повторить не получается, два канала зависают, хоть в JOINT_MODE, хоть нет.
-
RabidRabbit
- Сообщения: 254
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: Описание DMA в РП К1921ВГ1Т
Подскажите, пожалуйста, ЦАП у Вас работает, на выходе именно то, что нужно? У меня в ВГ7Т при переключении вывода GPIOB.14 (на AF1 которого повешен ЦАП) и включении ЦАП никак не удаётся получить на выходе что-нибудь кроме нуля.
Re: Описание DMA в РП К1921ВГ1Т
инициализация во вложении. проблем не было, источник опорного напряжения внутренний или внешний. под внешним понимается напряжение питания которое в этом контроллере имеет внутреннее соединение. программный запуск хорошо работает. DAC0->DATA12 = 2000; сначала записать значение напряжение в регистр, потом DAC0->SWTRIG_bit.SWTRIG = 1; // Запустить преобразование . после 10 сентября поддержка обещала подготовить и выложить пример передачи из буфера в цап через дма.
- Вложения
-
- DAC_Init.docx
- (11.81 КБ) 17 скачиваний
-
RabidRabbit
- Сообщения: 254
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: Описание DMA в РП К1921ВГ1Т
У меня так:
И далее в цикле занос значений в DATA12 и установка бита SWTRIG.
Т.е. в отличие от ВГ1Т выделенной ноги под ЦАП нет, а значит скорее всего в ВГ7Т накосячили с коммутатором.
GPIOB включен, т.е. если GPIOB.14 настроить как двухтактный выход и переключать состояние - то состояние вывода меняется.
Код: Выделить всё
// GPIOB.14
GPIOB->PULLMODE_bit.PIN14 = 0;
GPIOB->ALTFUNCNUM_bit.PIN14 = GPIO_ALTFUNCNUM_PIN14_AF1;
GPIOB->ALTFUNCSET = GPIO_PIN_MASK(14);
// DAC
RCU->CGCFGAPB_bit.DACEN = 1;
RCU->RSTDISAPB_bit.DACEN = 1;
DAC->CONTROL = DAC_CONTROL_BUF_EN_Msk;
Т.е. в отличие от ВГ1Т выделенной ноги под ЦАП нет, а значит скорее всего в ВГ7Т накосячили с коммутатором.
GPIOB включен, т.е. если GPIOB.14 настроить как двухтактный выход и переключать состояние - то состояние вывода меняется.
Re: Описание DMA в РП К1921ВГ1Т
у меня такого контроллера не было, но согласно тех. описания ИИ выдала инициализацию. (во вложении). вроде похоже на правду.
- Вложения
-
- DAC_Init2.docx
- (18.99 КБ) 16 скачиваний
