|
Рациональное применение DMA, Обращаюсь к коллективному разуму. |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 15)
|
Dec 20 2012, 05:14
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
Цитата(jcxz @ Dec 20 2012, 08:59)  115200/10/14 == 823Гц (TX IRQ ещё меньше) Откуда /14 ? И почему по TX должно быть меньше, чем по RX ?
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
Dec 20 2012, 09:56
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(SasaVitebsk @ Dec 20 2012, 00:17)  Не слишком ли много будет загрузки шины. Кстати, этот вопрос не имеет отношения к DMA, так как загрузка шины скорее зависит от объёма трафика, а не от способа его обработки. Ну и, как сказано выше, чтобы перегрузить шину, надо очень постараться. Обратите внимание, что там не просто шина, а Bus Matrix, то есть допускает одновременную передачу не пересекающихся потоков. Цитата(SasaVitebsk @ Dec 20 2012, 00:17)  Может при такой загрузке эфективность будет падать и выигрыш будет близкий к нулю, а расход памяти увеличится? Не нужно заниматься преждевременной оптимизацией: как известно, это всегда приводит к лишнему геморрою и почти никогда - к реальной пользе. Как уже сказали выше, сделайте на прерываниях: так проще, а существенный выигрыш от DMA тут не просматривается.
|
|
|
|
|
Dec 20 2012, 10:48
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(_Pasha @ Dec 20 2012, 12:45)  Но сказано жеж: модбас. Куда там фифо на приём? А в чём проблема? FIFO с модбас и на приём прекрасно работает. Цитата(scifi @ Dec 20 2012, 15:56)  Ну и, как сказано выше, чтобы перегрузить шину, надо очень постараться. Обратите внимание, что там не просто шина, а Bus Matrix, то есть допускает одновременную передачу не пересекающихся потоков. У меня шина на Cortex-M3 NXP изредка перегружается при 2-х параллельно работающих SSP через DMA (по 2 потока tx/rx), один SSP SCLK=20МГц, другой - SCLK=30МГц. Байтовый режим, пакетная передача, CPU_CLK==120МГц
|
|
|
|
|
Dec 20 2012, 11:37
|
Местный
  
Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797

|
Цитата(jcxz @ Dec 20 2012, 14:48)  У меня шина на Cortex-M3 NXP изредка перегружается... а как вы это определили?
|
|
|
|
|
Dec 20 2012, 19:27
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(jcxz @ Dec 20 2012, 07:59)  Вообще не понимаю зачем народ так упорно пытается юзать UART через DMA??? Нет, как раз и не пользовал. Вот и спрашивал, стоит ли начинать. Правда, на LPC fifo на 16 байт было иможно было пакетом обрабатывать. Там вообще не парился. Кстати здесь CRC зато есть. )) === Спасибо всем за советы. Так и поступлю. Программный UART. Если что, то потом перепишу. Лучше поупираюсь с at45db. Хотя там у меня тоже объёмы очень небольшие и смысла большого тоже не просматривается.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|