|
DMA и FreeRTOS |
|
|
|
 |
Ответов
|
Jun 1 2018, 16:05
|

Местный
  
Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264

|
Цитата(rudy_b @ Jun 1 2018, 15:16)  Можно чуть иначе. Это в случае, если подчиненное устройство допускает одну фазу CS для многих байт данных. Но многие (почти все) АЦП/ЦАП, работающие по SPI, должны дергать CS каждый байт/слово. А если это делать в прерываниях, это равносильно ручному дерганию (в прерывании все равно присутствует код переключения ножки). Это не есть комильфо, ведь цель не достигнута получается (от программного руления ножкой не избавились). В моем же случае все делается автоматически - главное успевай данные обрабатывать. Я оцифровывал на 10кГц, соответственно при программном управлении CS в прерывании мне надо было бы входить в прерывание 20 000 раз в секунду. Для меня, даже несмотря на 180МГц работающий CPU, это видится неприемлимым (не хочу насиловать МК такими частотами прерываний, особенно если от этого можно гибко увильнуть). Цитата я не понимаю. а почему нельзя опустить CS - запустить DMA - а в прерывании по окончанию транзакции DMA поднять CS. Я причину описал выше. Многим подчиненным смена CS жизненно важна для каждого передаваемого единичного объекта данных (байт, полуслово, слово и т.д.).
|
|
|
|
|
Jun 1 2018, 18:12
|
Частый гость
 
Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894

|
Цитата(Arlleex @ Jun 1 2018, 22:05)  Это в случае, если подчиненное устройство допускает одну фазу CS для многих байт данных. Но многие (почти все) АЦП/ЦАП, работающие по SPI, должны дергать CS каждый байт/слово. У spi есть два режима cs - Motorola и TI режим, и я их постоянно путаю. Один из них может активировать cs, но не может его снять - предназначен для работы с потоком. Второй дёргает ногу cs с каждой 4-16 битной одноразовой передачей данных. Размер данных задаётся отдельно. Меня другое волнует, они уже давно придумали fifo буфер и ещё кучу полезностей, но отчего-то размер данных ограничен в 16 бит...
|
|
|
|
Сообщений в этой теме
Jenya7 DMA и FreeRTOS May 31 2018, 04:55 Arlleex Цитата(Jenya7 @ May 31 2018, 07:55) Мне н... May 31 2018, 05:31 Jenya7 Цитата(Arlleex @ May 31 2018, 11:31) Он о... May 31 2018, 15:44  Arlleex Цитата(Jenya7 @ May 31 2018, 19:44) спаси... May 31 2018, 16:05 AVI-crak Цитата(Jenya7 @ May 31 2018, 10:55) Если ... May 31 2018, 16:40 haker_fox QUOTE (Jenya7 @ May 31 2018, 12:55) Если ... Jun 1 2018, 00:48 uriy Arlleex и haker_fox раскажите подробней как вы си... Jun 1 2018, 04:26 Arlleex Цитата(uriy @ Jun 1 2018, 08:26) Arlleex ... Jun 1 2018, 06:15 haker_fox QUOTE (uriy @ Jun 1 2018, 12:26) Arlleex ... Jun 1 2018, 14:10  nanorobot Цитата(Arlleex @ Jun 1 2018, 21:05) Я при... Jun 2 2018, 04:24 Jenya7 я не понимаю. а почему нельзя опустить CS - запуст... Jun 1 2018, 12:15
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|