Обновить

Особенности разработки встраиваемого программного обеспечения. Часть 2

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.6K
Всего голосов 2: ↑2 и ↓0+2
Комментарии7

Комментарии 7

DMA конечно очень интересный периферийный модуль и очень хочется освоить его применение, но если совать его туда где он совершенно не нужен (прочитать семпл АЦП после ожидания) вряд ли это поможет достичь цели.

Прочитать семпл, скажем, с каждого из 8 каналов шириной 24 бита, частота клока SPI до 1 МГц, особенно для каких нибудь точных АЦП от TI. Тогда на чтение уйдёт 200 мкс. В контексте реального времени, блокировать поток на такое кол-во времени - просто преступление. Поэтому да, DMA поможет достичь цели...

все смешалось: АЦП от TI, SPI до 1 МГц, казалось бы, куда же тут без DMA?

Как вы вообще собираетесь АЦП семплы через SPI читать с восьми каналов, сколько-сколько у вас SPI слейвов-клиентов на шине убирается? Какое тут нафик ДМА?

Это вводные, а не смешалось. Я вам привел вполне реальный пример, в том числе из моей практики.

А ваш вопрос даёт представление о квалификации, не вижу смысла это продолжать...

Вопрос то там очень простой! Как это вы SPI слейвов по ДМА научились переключать? Ответ как раз даст представление о компетенции.

На некоторых архитектурах, теоретически(!) это возможно. Только ещё схемотехника должна быть правильно разведена...

А где шла речь о нескольких слейвах? Шла речь о 8 внешних каналах АЦП. Канал это несамостоятельная единица, он существует в рамках микросхемы АЦП, С 8 каналами...

Замечательно! Напишите как ДМА каналы переключает.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации