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

 
 
> MSP430 USART + DMA, имеет ли смысл по надежности
k155la3
сообщение Nov 8 2016, 14:21
Сообщение #1


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

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Для обеспечения асинхронности передачи по USART
использую DMA (MSP430F5438A). Операционной системы нет.

Какие есть отзывы по этому режиму, если кто использует.
- удобстово работы
- надежность
- отсутствие глюков (в разрезе errata и прочих).
- использование DMA0, DMA1 для USART1, USART2 (т.е. одновременная работа на 2 каналах DMA)

ps-ps-ps
- работа с подключенным отладчиком (MSP430FET-UIF) - есть ли ограничения по конфликтности с DMA


Сообщение отредактировал k155la3 - Nov 8 2016, 14:58
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Obam
сообщение Nov 10 2016, 13:26
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Допустимо. Но работать будут согласно приоритету. "If two or three triggers happen
simultaneously or are pending, the channel with the highest priority completes its transfer (single, block, or
burst-block transfer) first, then the second priority channel, then the third priority channel. Transfers in
progress are not halted if a higher-priority channel is triggered. The higher-priority channel waits until the
transfer in progress completes before starting."

"Round Robin" нужен чтобы приоритет каналов "менялся" от высшего к низшему "по кругу" с каждым циклом обмена. Вам нужно?


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Nov 10 2016, 13:52
Сообщение #3


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

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(Obam @ Nov 10 2016, 17:26) *
Допустимо. Но работать будут согласно приоритету.
. . . .
"Round Robin" нужен чтобы приоритет каналов "менялся" от высшего к низшему "по кругу" с каждым циклом обмена. Вам нужно?

Спасибо за инф.

Я так понял, что пока не выполнится одна блочная передача, другая не запустится ?

Или надо включать Round Robin. Надо с этим заморачиваться или нет - пока не решил.

Хотелость бы "по максимуму" перебросить операции на периферию.
Пока на эксперименты времени нет. Разрулим на программном уровне, чтобы запуск DMA каналов не перекрывался.

ps - у меня запросы на DMA0 DMA1 шли полностью асинхронно, и гарантированно могли наложится.


Сообщение отредактировал k155la3 - Nov 10 2016, 13:54
Go to the top of the page
 
+Quote Post



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

 


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


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