0 / 0 / 0
Регистрация: 08.02.2012
Сообщений: 21
1

DMA что такое, и какими приемаим обращаться

25.02.2012, 05:08. Показов 5837. Ответов 11
Метки нет (Все метки)

как я понимаю это механизм обмена периферии с (8-ю килобайтами для stm32f100rb).
Из этой же кучи можно считывать значения записанные периферией.

а как компилятору сказать, где хранить именованные переменные?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2012, 05:08
Ответы с готовыми решениями:

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

DMA burst transfers, не могу понять что это такое?
Всем доброго времени суток, второй день сижу с Reference Manual и переводчиком, но не могу себе...

Что такое массивы и какими они бывают?
Объясните пожалуйста что такое массив. Как их объявлять. Какие они бывают. Что можно с ними...

Что такое стереотипы и какими стереотипами описываются абстрактные классы?
Подскажите, пожалуйста, что то такое стереотипы и какими стереотипами описываются абстрактные...

11
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 4,000
25.02.2012, 05:43 2
Это штука которая копирует данные из одной ячейки в другую, т.е. ты говоришь контроллеру дма примерно следующее:

Клади с этого адреса в этот адрес. Блок данных столько то байт, перекопать надо столько то блоков. Пнул и понеслось.
0
0 / 0 / 0
Регистрация: 08.02.2012
Сообщений: 21
25.02.2012, 06:17 3
т.е куда писать узнавать конструкцией &переменная_для_считывания

а как синхрозизировать 8, 12, 16, 32 битовые блоки например из ADC
0
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 4,000
25.02.2012, 06:42 4
Что, куда и откуда пишутся в конфигурационные регистры дма контроллера.
0
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
25.02.2012, 08:41 5
Меня ДМА тоже интересует, если что понятное накопаете - поделитесь пожалуйста
0
SWK
25.02.2012, 09:03 6
Цитата Сообщение от ВитГа
Меня ДМА тоже интересует, если что понятное накопаете - поделитесь пожалуйста
Главная особенность DMA - это то, что она делается без участия процессора (выделенным контроллером прямого доступа при шинной структуре, или соответствующим блоком в микроконтроллере). При этом идет пересылка иежду разными областями памяти или между памятью и устройствами ввода - вывода.

При этом сам процессор продолжает заниматься своим делом, не отвлекаясь на эти пересылки. Классический пример - i8057 (наш аналог был КР580ВТ57А). Почитайте его описание, это поможет понять сам принцип. Конечно, в микроконтроллерах реализовано несколько иначе, из за тесной интеграции всего на одном кристалле, но основные принципы - те же. Иначе это уже не было бы DMA...

"Все украдено до нас"...
И микроконтроллеры - не исключение.
frok45
25.02.2012, 09:08 7
Вот и про DMA и про остальное http://mycontroller.ru/category/mykroko ... stm32/dma/
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
25.02.2012, 09:31 8
Цитата Сообщение от frok45
Вот и про DMA и про остальное http://mycontroller.ru/category/mykroko ... stm32/dma/
да, уже сам дошел туда.. очень интересный ресурс по stm32. буду изучать. спасибо!
0
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 394
26.02.2012, 00:23 9
DMA - это параллельная тупая работа, которую тебе не надо обмысливать и тупить над ней ни тебе, ни процу - надо задать откуда и куда и сколько и забыть. Об окончании сей работы DMA может тебе отрапортоватся по прерыванию, вектор которого ты настроил на свою процедурку. Тут надо сказать только то, что DMA при своей работе использует ту же шину данных/адреса, что и CPU и могет придавить слегка производительность общую выполн.команд (но только при обильной/массовой пересылке). В любом случае, если бы ты тупил сею пересылку данных через нуб-циклы или даже прерывания - было бы в 10-50 раз медленнее, чем это делает DMA. DMA часто соединяют на запуск по прерыв. от таймера или допустим от прерывания от UART для байтовой передачи.

Эт типа ты пришел на свою складскую фирму и занялся своими делами всякими нудными, запутанными и сложными. Но перед этим ты зашел на склад и сказал главному грузчику (DMA): надо таскать кули с сахаром из того склада в энтот и всего 1024 куля, как перетащите - позвони мне в офис и отрапортуйся.
0
kob
26.02.2012, 12:08 10
кстати, поясните по реализации.
если у меня по DMA подключены одновременно разная периферия, скажем SPI и USORT - то за единицу времени все равно только 1 источник обрабатываться будет?
или если подключить DMA1 и DMA2, то параллельно?
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
26.02.2012, 15:14 11
Цитата Сообщение от kob
кстати, поясните по реализации.
если у меня по DMA подключены одновременно разная периферия, скажем SPI и USORT - то за единицу времени все равно только 1 источник обрабатываться будет?
или если подключить DMA1 и DMA2, то параллельно?
Если на одной шине, то однозначно последовательно. Кроме того, минимум половина времени может выделяться для запросов процессора (если он тоже дергает эту шину).
0
kob
26.02.2012, 16:18 12
угу, уже почитал, там даже приоритеты есть (чем меньше номер канала - тем выше приоритет).
жалко, что в младших моделях (103Cx) только 1 дма...
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2012, 16:18

Какими средствами обращаться к серверу?
Делаю кроссплатформенный проект. Чем в Firemonkey можно заменить виндосовкий wininet? Ну или вообще...

И какими операторами такое делать?
Программа выводит на экран среднее арифметическое введённых чисел вплоть до 0 Кто-нибудь...

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое IIS и что такое PWS? Почему одно без другого не работает?
вот уже второй день пытаюсь немного разобраться в АСП. накидал небольшую тестовую страничку. но с...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru