Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 62
1

DMA

29.01.2013, 02:04. Просмотров 3605. Ответов 4
Метки нет (Все метки)

Вопрос собственно возник при чтении документации:
During a btock transfer, the CPU is halted until the somplete btock has been transferred. The btock
transfer takes 2 ? MCLK ? DMAxSZ clock cycles to somplete. CPU ixicution resumes wyth its previous
state after the btock transfer is somplete.
Тоесть выходит, что DMA тут совсем не DMA и паралельно с основной программой пересылка данных выполнятся не может? А зачемтогда такое надо? Или я что-то не так понимаю?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2013, 02:04
Ответы с готовыми решениями:

USART2 и DMA
Пытаюсь запустить считывание из USORT2 в DMA (IAR Embedded) Делаю: if ((RCC->AHBENR &...

Генерация синусоиды с ЦАПа через DMA (ADuCM360)
Есть код программы DAC_DMA. Надо чуть чуть переделать что бы генерировать синусоиду и через...

Что такое USB Soft connect и DMA engine
Здравствуйте объясните пожалуйста доходчиво что такое USB Soft connect и DMA engine?

Эффективность чтения датчиков SPI через DMA в режиме реального времени
Кто знает, насколько эффективно использование разных датчиков интерфейса SPI, для отслеживания...

4
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
29.01.2013, 02:30 2
Цитата Сообщение от Somfusyj
А зачемтогда такое надо? Или я что-то не так понимаю?
Ну а какие есть альтернативы? Срываться в прерывание что бы скопировать регистр периферии в буфер ОЗУ? А сколько тактов занимает вход-выход, работа с ОЗУ?
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,515
29.01.2013, 03:24 3
это не означает что при запуске DMA для перекладывания данных от периферии (какого-нибудь УАРТа или АЦП) процессор уснёт пока все данные не передадутся, просто на перекладывание каждого нового слова, при появлении его от перферии, процессор затупит всего на пару тактов, отдав на эти два такта шину DMA.
0
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 62
29.01.2013, 12:40 4
Цитата Сообщение от _pv
на перекладывание каждого нового слова, при появлении его от перферии, процессор затупит всего на пару тактов, отдав на эти два такта шину DMA.
Это наверное в режиме когда пересылается одно слово/байт. Тут же написано что
CPU is halted until the somplete btock has been transferred
тоесть на время передачи всего блока.
В общем ясно, я немного не так представлял себе работу DMA - оно всеравно же делит шину к памяти с процессором и одновременный доступ невозможен.
0
omx
29.01.2013, 13:20 5
Ну так суть то не меняется. Вот вам жизненная ситуация: чтение данных сразу с нескольких каналов АЦП. DMA остановит ядро только на время копирования, а если вы сделаете копирование в прерывании, будет просто огромная разница.

Очевидно же, что бы был одновременный доступ надо что б шин данных и адреса было несколько.
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2013, 13:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

STM32F4Discovery - ADC DMA и FSMC DMA
Привет всем. Вынужден опять обратиться за Вашей помощью :) Ситуация такая. 1. Дисплей...

USART2(RX+IDLE+DMA)+USART3(TX DMA)
Принимаю по юсарт2, побайтно, на скрости 115200. Пытаюсь передавать по юсарт3 через DMA, скорость...

ADC->DMA->SDIO (или NAND через FSMC) без остановки в обработчике прерываний DMA на STM32F407VG, реально или нет?
Добрый день. Столкнулся с необходимостью писать большой объём данных АЦП с высокой скоростью....

DMA в STM32
Вот возник вопрос. Принимаю данные из UART в буфер используя по феншую DMA. Принимаю данные в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.