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

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

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

Мерседес
Сообщения: 37
Зарегистрирован: 05 авг 2026, 12:53
Предприятие: Каскад

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

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

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

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

Сообщение durimar_13 »

RabidRabbit писал(а): 14 авг 2026, 22:30 ........
Да, мегакостыль :) Но должно сработать.
Действительно, мега.
Мне вот нужно один раз 1000 выборок, другой 10 000, а когда и 50 000 не помешало бы.
Не... надо какой то другой подход. Неужели его нет? Неужели ВГ1Т не годится для построения осциллографа?
С уважением, Виктор.
RabidRabbit
Сообщения: 254
Зарегистрирован: 10 июн 2025, 12:11
Предприятие: HomeWork

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

Сообщение RabidRabbit »

durimar_13 писал(а): 15 авг 2026, 13:19 Неужели ВГ1Т не годится для построения осциллографа?
Возможно, техподдержка чего сообразит :) Где-нибудь какая-нибудь настройка. Но на передачу более чем 1023 *байтов* на одном дескрипторе можно не расчитывать :) Даже в ВГ015 было 1024 *элемента* (1, 2 или 4 байта) для передачи на одном дескрипторе.
durimar_13
Сообщения: 111
Зарегистрирован: 26 фев 2025, 13:06
Предприятие: Radioamateur
Откуда: Свердловская обл.

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

Сообщение durimar_13 »

На ВГ015 1000 выборок у меня получилось с ходу. Тему "больше этого" оставил продумывать на потом. Скоро вернусь. :D
С уважением, Виктор.
durimar_13
Сообщения: 111
Зарегистрирован: 26 фев 2025, 13:06
Предприятие: Radioamateur
Откуда: Свердловская обл.

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

Сообщение durimar_13 »

RabidRabbit писал(а): 15 авг 2026, 19:25 Даже в ВГ015 было 1024 *элемента* (1, 2 или 4 байта) для передачи на одном дескрипторе.
А Вы начали собирать примеры для ВГ7Т! И как всегда - "без излишеств". И это здорово!
Правда я, по неопытности, думаю, что отладка из командной строки - это не удобно все же.
С уважением, Виктор.
RabidRabbit
Сообщения: 254
Зарегистрирован: 10 июн 2025, 12:11
Предприятие: HomeWork

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

Сообщение RabidRabbit »

durimar_13 писал(а): 17 авг 2026, 20:28 Правда я, по неопытности, думаю, что отладка из командной строки - это не удобно все же.
Подумайте хотя бы над тем, что чтение некоторых регистров может изменить состояние периферийного блока, и потом вспомните портянку из всех регистров оборудования, которую услужливо пытается показать Вам IDE :)
durimar_13
Сообщения: 111
Зарегистрирован: 26 фев 2025, 13:06
Предприятие: Radioamateur
Откуда: Свердловская обл.

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

Сообщение durimar_13 »

RabidRabbit писал(а): 18 авг 2026, 00:38 .... и потом вспомните портянку из всех регистров оборудования, которую услужливо пытается показать Вам IDE :)
Ну да, места на мониторе мне определенно маловато. Подумываю видеокарту прикупить и монитор 4K. :D
Будет два монитора - будет где развернуться...
С уважением, Виктор.
durimar_13
Сообщения: 111
Зарегистрирован: 26 фев 2025, 13:06
Предприятие: Radioamateur
Откуда: Свердловская обл.

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

Сообщение durimar_13 »

Приветствую всех!
Продолжаю рыть тему связки ADC - DMA
В заголовочном файле k1921vg1t.h
Есть определение типа DMA_Channel_TypeDef
В начале этого определения объявлены две переменные

typedef struct
{
__IO uint32_t SRC_DATA_END_PTR; /*!< Source data end pointer */
__IO uint32_t DST_DATA_END_PTR; /*!< Destination data end pointer */
.......................
} DMA_Channel_TypeDef;


Судя по всему - это адреса концов источника и приемника.
И я не нашел в РП как это можно использовать.
Я один не нашел этого?
С уважением, Виктор.
RabidRabbit
Сообщения: 254
Зарегистрирован: 10 июн 2025, 12:11
Предприятие: HomeWork

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

Сообщение RabidRabbit »

durimar_13 писал(а): 23 авг 2026, 23:46 __IO uint32_t SRC_DATA_END_PTR; /*!< Source data end pointer */
__IO uint32_t DST_DATA_END_PTR; /*!< Destination data end pointer */
Это просто копипаста из ВГ015. Здесь поля должны называться SRC_PTR и DST_PTR с соответствующими комментариями :)
durimar_13
Сообщения: 111
Зарегистрирован: 26 фев 2025, 13:06
Предприятие: Radioamateur
Откуда: Свердловская обл.

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

Сообщение durimar_13 »

Вот это прикол...
Теперь понятно, почему в примере так прописано:

// Настраиваем последующие элементы списка команд канала DMA через массив списка DMA_Channel_List[]
while(size_adc_res)
{
DMA_Channel_List[dma_list_num].SRC_DATA_END_PTR = ((uint32_t) & (ADC->SEQ[0].SFIFO));
DMA_Channel_List[dma_list_num].DST_DATA_END_PTR = dma_dst_ptr;
....
.

А то я был в полном недоумении.
Спасибо!
С уважением, Виктор.
Ответить

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