Цепочка STM32f437->DMA->SPI1->DAC->Аналоговая схема->ADC0; ADC1->SPI5; SPI4->DMA->STM32F437

Все о микроконтроллерах: AVR, PIC, STM8, STM32, Arduino, Altera, Xilinx, все что угодно. Этот раздел для всего что клацает байтиками.
BUTEX
Сообщения: 2

Сообщение BUTEX » 11 дек 2017, 13:57

Здравствуйте, уважаемые эмбеддеры!

На МК STM32f437 хочу реализовать следующую схему обработки данных:
1. Создаются данные в виде массива, объемом 2560 Байт (1280 слов для 16-битных ЦАП и АЦП).
2. Далее подключается DMA и передает данные по SPI в ЦАП. Скорость передачи не больше 5 Mbit/s. В результате частота следования импульса, созданного из 1280 отсчётов должна быть 100 Гц.
3. Сигнал с ЦАП проходит через 2 аналоговых тракта, где его встречают 2 последовательных АЦП и тоже 16-битных.
4. Естественно, одновременно с передачей хочу данные принимать от АЦП и записывать результат в массивы для дальнейшей обработки. И делать это через DMA.

Сейчас есть уже первая работающая плата. Там ЦАП висит на SPI1, а 2 АЦП на SPI4 и SPI5. Все 3 SPI обслуживаются одним DMA2:
SPI1_TX: DMA2, Str3, Ch3
SPI4_RX: DMA2, Str0, Ch4
SPI5_RX: DMA2, Str5, Ch7

Можно ли настроить DMA так, чтобы он работал и на передачу по одному каналу и на прием двух каналов или лучше подключить первый DMA или использовать вообще просто прерывания (чего не хотелось бы)?
Пока только проверял без DMA: работает ли вообще аналоговая часть? Работает и неплохо.

Qic
Сообщения: 985

Сообщение Qic » 11 дек 2017, 19:20

.
Последний раз редактировалось Qic 19 май 2019, 19:37, всего редактировалось 1 раз.

skameykin22
Сообщения: 1
Откуда: Санкт-Петербург

Сообщение skameykin22 » 14 дек 2017, 18:04

Что же так резко?

BUTEX
Сообщения: 2

Сообщение BUTEX » 14 дек 2017, 18:48

Вот я и хочу узнать, можно ли одновременно с передачей через DMA, принимать через него же данные. Судя по ответу-вопросу, можно.

Вернуться в «Микроконтроллеры и ПЛИС»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей