реклама на сайте
подробности

 
 
> TI AM1808, вопросы по EDMA3
doom13
сообщение Sep 12 2014, 13:59
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Приветствую!
Начинаю разбираться с контроллером EDMA3 и есть вопросы (пока теория).
Вопрос 1.
В чём отличие DMA канала и QDMA канала и кто они такие (можно очень подробно)?
Основное ли это отличие:
Цитата
DMA channel - A channel that can be triggered by external, manual, and chained events. All DMA channels exist in the EDMA3CC.
QDMA channel - One of the 8 channels that can be triggered when writing to the trigger word (TRWORD) of a PaRAM set.

, или есть что-то ещё?
Вопрос 2.
Зачем в EDMA3_CC 128 128 parameter RAM (PaRAM) entries, если DMA каналов 32 + 8 QDMA, а согласно DMA Channel to PaRAM Mapping
Цитата
The mapping between the DMA channel numbers and the PaRAM sets is a fixed, one-to-one mapping
???
Для DMA каналов можно использовать первые 32 PaRAM, всё остальное для 8 QDMA каналов???
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 18)
SM
сообщение Sep 12 2014, 14:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Про размер памяти - там же цепочки задавать можно, на один канал вовсе не один набор параметров, а сколько надо, и закольцевать можно.

про QDMA - (по аналогии с C6xxx) - QDMA предназначен для быстрых внутренних пересылок данных, а EDMA - для общения с периферией. QDMA стартует сразу. А EDMA с задержкой, пока event пройдет.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 14 2014, 14:08
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(doom13 @ Sep 12 2014, 19:59) *
В чём отличие DMA канала и QDMA канала и кто они такие (можно очень подробно)?

Мне хватило обычных DMA-каналов на все нужды и зачем нужны QDMA я так и не понял (и не особо разбирался wink.gif

Цитата(doom13 @ Sep 12 2014, 19:59) *
Зачем в EDMA3_CC 128 128 parameter RAM (PaRAM) entries, если DMA каналов 32 + 8 QDMA, а согласно DMA Channel to PaRAM Mapping???

Первые 32 - физические каналы. Остальные - теневые каналы.
Т.е. - если вам нужна транзакция связным списком (или пинг-понг и т.п.), то физический канал программируете
на передачу первой порции данных, делаете в нём ссылку на первый теневой канал, в котором прописаны параметры для след. порции данных.
Далее - в первом теневом можете сделать ссылку на второй теневой, в котором параметры для 3-го блока. И так далее.
Или в одном из теневых каналов можно зациклить передачу на первый теневой канал.
Теневой канал - это набор значений регистров конфигурации DMA канала, которые грузятся в ссылающийся на него физический канал,
когда в физическом заканчивается очередной блок передачи.
Примерно так.

PS: Да, если что - моя информация из опыта с OMAP L137. Но думаю подходит.
Go to the top of the page
 
+Quote Post
doom13
сообщение Sep 15 2014, 09:08
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Спасибо, с PaRAM, вроде, стало понятно. Если работает канал DMA с номером N, то он всегда начинает обслуживать передачу с параметрами описанными в PaRAM с номером N, а далее либо по цепочке, либо пинг-понг, либо опять же PaRAM с этим номером при новой передаче. PaRAM с номером канала который не используется можно, как понял, использовать для других каналов (пинг-понг, связный список).

С QDMA-каналом пока остаются вопросы. Может можно и без них обойтись, но хотелось бы понять в каких случаях использовать QDMA предпочтительнее?
А что значит QDMA стартует сразу? Т.е. заполнили соответствующий PaRAM и оно погнало, а DMА типо будет ждать что кто-то
скажет "го"? Но ведь для DMA тоже можно запуск делать через запись регистра, т.е. практически тоже самое и настроить на перемещение данных из разных участков On-Chip memory.
А QDMA - это от "quad"?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 15 2014, 11:16
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(doom13 @ Sep 15 2014, 15:08) *
Спасибо, с PaRAM, вроде, стало понятно. Если работает канал DMA с номером N, то он всегда начинает обслуживать передачу с параметрами описанными в PaRAM с номером N, а далее либо по цепочке, либо пинг-понг, либо опять же PaRAM с этим номером при новой передаче. PaRAM с номером канала который не используется можно, как понял, использовать для других каналов (пинг-понг, связный список).

Не совсем точно.
Первые 32 - это физические каналы. Т.е. - собственно сами каналы.
И насколько я помню (хотя может ошибаюсь?) Вы не можете их использовать для хранения данных о следующих блоках пересылки.
Следующие блоки всегда хранятся в теневых каналах. Теневые каналы - это собственно просто регион памяти (массив ParamSET), который может использовать EDMA3 для подгрузки данных о новых блоках передачи.
Когда в физ. канале исчерпывается блок и в нём есть ссылка на один их теневых каналов, то данные о блоке загружаются из этого теневого канала в физический и начинают там выполняться.
И так далее по цепочке блоков.
В физическом канале счётчики декрементируются, адреса изменяются, а в теневом - нет.
Go to the top of the page
 
+Quote Post
doom13
сообщение Sep 15 2014, 11:47
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Т.е. работает, как на рисунке, в качестве LINK нельзя указывать адреса первых 32-х (в моём случае) каналов. Они железно приспособлены для задания параметров первой передачи. Так?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
SM
сообщение Sep 15 2014, 13:22
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(doom13 @ Sep 15 2014, 13:08) *
А QDMA - это от "quad"?

Нет, это "Quick" - используйте его для безусловных (не синхронизируемых извне) пересылок память-память - обычный memcpy, грубо говоря.
Go to the top of the page
 
+Quote Post
doom13
сообщение Sep 15 2014, 13:34
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(SM @ Sep 15 2014, 16:22) *
Нет, это "Quick" - используйте его для безусловных (не синхронизируемых извне) пересылок память-память - обычный memcpy, грубо говоря.

Ясно, как понимаю, этот "Quick" заключается только в том, что не надо устанавливать бит запуска в EVENT SET REGISTER.
Go to the top of the page
 
+Quote Post
SM
сообщение Sep 15 2014, 13:48
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(doom13 @ Sep 15 2014, 17:34) *
Ясно, как понимаю, этот "Quick" заключается только в том, что не надо устанавливать бит запуска в EVENT SET REGISTER.

Задержка не в том, что надо устанавливать этот бит, а, собственно, в пачке тактов на прохождение этого евента через арбитраж до собственно запуска самой передачи.
Go to the top of the page
 
+Quote Post
doom13
сообщение Sep 15 2014, 14:51
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Читаю далее. И вот что-то не могу понять, что такое shadow regions и что с ними делать? Написано что для каждого контроллера канала их 4 и ещё много всего, но что-то понимание того, что же это такое не приходит. Если можно, поясните, спасибо.
Go to the top of the page
 
+Quote Post
SM
сообщение Sep 16 2014, 05:39
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Это копии основного набора регистров, но ограниченные по доступу, в каждом из регионов можно задать список каналов, которые через него доступны, права доступа, и т.п. фигню, предназначенную для целей защиты доступа. Вам это вряд-ли надо вообще, это нужно для целей безопасности в многозадачных и многопользовательских окружениях.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 16 2014, 16:13
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(doom13 @ Sep 15 2014, 17:47) *
Т.е. работает, как на рисунке, в качестве LINK нельзя указывать адреса первых 32-х (в моём случае) каналов. Они железно приспособлены для задания параметров первой передачи. Так?

Ну да, насколько помню - инфа о след. блоках может грузиться только из памяти (теневых каналов), а из физических - не может.
Go to the top of the page
 
+Quote Post
SM
сообщение Sep 16 2014, 17:31
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(jcxz @ Sep 16 2014, 20:13) *
Ну да, насколько помню - инфа о след. блоках может грузиться только из памяти (теневых каналов), а из физических - не может.

А я вот не помню каких либо ограничений на использование PARAM для LINK-ов. Да и в доке написано:

Any PaRAM set in the PaRAM can be used as a link/reload parameter set.

Есть только мелкое ограничение, касающееся, что если набор параметров ассоциирован с евентом, то он может использоваться для линка, если этот евент запрещен.
Go to the top of the page
 
+Quote Post
doom13
сообщение Sep 17 2014, 06:52
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(SM @ Sep 16 2014, 20:31) *
А я вот не помню каких либо ограничений на использование PARAM для LINK-ов. Да и в доке написано:

Any PaRAM set in the PaRAM can be used as a link/reload parameter set.

Есть только мелкое ограничение, касающееся, что если набор параметров ассоциирован с евентом, то он может использоваться для линка, если этот евент запрещен.

Нашёл такое в доке, получается - любой PaRAM можно использовать в качестве линка. Но, наверное, первые 32 лучше не использовать, если только не хватает остальных.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 17 2014, 09:06
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Возможно у меня были какие-то проблемы с этим, возможно теневые наборы не грузились из физических PaRAM. Не помню уж.
Да и зачем их использовать если целый вагон теневых?
Go to the top of the page
 
+Quote Post
doom13
сообщение Sep 18 2014, 14:33
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Почему в CCS (v 5.5.0) в окне Registers отсутствуют регистры для EDMACC0ARM?
Go to the top of the page
 
+Quote Post
SM
сообщение Sep 18 2014, 14:35
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Вы бы лучше это спросили у TI, тут точно никто не знает sm.gif. Это все описывается кучей XML-файлов в папке targetdb.
Go to the top of the page
 
+Quote Post
doom13
сообщение Sep 18 2014, 14:44
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(SM @ Sep 18 2014, 17:35) *
Вы бы лучше это спросили у TI, тут точно никто не знает sm.gif. Это все описывается кучей XML-файлов в папке targetdb.

У TI уже попробовал спрашивать про проблему с подключением, пока пытались спихнуть всё на кривой софт, то ещё что-то там отвечали, потом вообще проигнорили sad.gif
Go to the top of the page
 
+Quote Post
Non-linear
сообщение Sep 19 2014, 12:14
Сообщение #19


Местный
***

Группа: Участник
Сообщений: 225
Регистрация: 15-11-09
Из: Москва
Пользователь №: 53 634



Цитата(doom13 @ Sep 17 2014, 10:52) *
Нашёл такое в доке, получается - любой PaRAM можно использовать в качестве линка. Но, наверное, первые 32 лучше не использовать, если только не хватает остальных.


Я нулевой дескриптор оставил на всякий случай, как "тупой" линк, все остальные использую произвольно.
Но надо следить, чтобы лишние каналы DMA/QDMA не были включены.

(это все на AM3352, но в AM18XX EDMA, вроде как, такой же)

Теневыми возможностями не пользуюсь - вся работа напрямую.

Сообщение отредактировал Non-linear - Sep 19 2014, 12:16


--------------------
Измерительные приборы б/у - http://rf-measurement.net84.net
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.0151 секунд с 7
ELECTRONIX ©2004-2016