Выбор периферии микроконтроллера для высокопроизводительных DSP-проектов
Продолжение обзора характеристик микроконтроллеров, критически важных для задач цифровой обработки сигналов (DSP)
В данной статье рассматриваются атрибуты микроконтроллеров, необходимые для надежных приложений цифровой обработки сигналов (DSP).
Микроконтроллеры предоставляют удобный и экономичный способ внедрения DSP в носимые устройства, медицинское оборудование, аудиотехнику и другие системы. Однако они изначально проектируются для задач управления. Для раскрытия их полного DSP-потенциала критически важна грамотная выбор периферийных модулей.
Предыдущая статья охватывала такие характеристики ЦПУ, как разрядность, тактовая частота, циклы инструкций и поддержка плавающей точки. Здесь мы изучим периферийные модули и функции, повышающие пригодность МК для DSP-задач.
Поддержка процессором
Некоторые аппаратные модули находятся между ЦПУ и стандартной периферией (таймеры, компараторы) — например, аппаратный умножитель.
Аппаратное умножение
Наличие выделенного аппаратного умножителя может стать решающим фактором между системой DSP реального времени, достигшей целевых показателей производительности, и системой, не справившейся с задачей. Цифровая фильтрация, спектральный анализ и другие DSP-задачи требуют бесчисленных операций умножения, которые должны выполняться достаточно быстро для обработки входящих потоков данных.

Треугольники на схеме FIR-фильтра обозначают операции умножения.
Поскольку большинство приложений на МК не требуют сложного умножения внутри ядра, выделенный модуль умножения — прагматичный выбор. Он принимает операнды от ЦПУ, эффективно выполняет вычисление и возвращает результат.
Помимо простого умножения, DSP-алгоритмы часто используют операции «умножение-накопление» (MAC) — повторное умножение чисел и накопление произведений. Выделенный MAC-модуль может еще больше повысить производительность.

МК MAXQ615 от Maxim интегрирует знаковый/беззнаковый 16-битный умножитель, 16-битный MAC и 16-битный модуль умножения-вычитания.
Прямой доступ к памяти (DMA)
Мой первый опыт работы с DMA пришёлся на разработку программно-определяемого радио, требовавшего быструю декодировку оцифрованных базовых сигналов. Этот опыт наглядно показал ценность DMA для времени-критичных DSP-задач.
DMA-контроллер — это выделенный движок, перемещающий данные между памятью и периферией, освобождая ЦПУ для вычислительных задач. В приложениях, требующих интенсивной DSP-обработки в реальном времени, DMA-блок может кардинально увеличить пропускную способность.

DMA-контроллер SAM4S от Atmel позволил генерировать синусоиду без постоянных опросов ЦПУ для каждого сэмпла ЦАП.
Коммуникация
Эффективная DSP требует не только мощного процессора, но и надежных путей передачи данных. В большинстве случаев входные данные поступают извне МК, что делает передачу данных критическим звеном.
Параллельная передача данных
Параллельные интерфейсы, хоть и менее распространены, чем последовательные, могут обеспечивать более высокую эффективность за счет одновременной передачи 8 или 16 бит. Если ваша система допускает параллельную передачу, ищите микроконтроллеры с интерфейсом внешней памяти (EMI/EBI) или аналогичной периферией.
Последовательная передача данных
В то время как I²C ограничен по скорости, а UART обычно работает на умеренных частотах, высокопроизводительные DSP-системы выигрывают от периферии с поддержкой высоких максимальных тактовых частот и выделенного сигнала синхронизации. USART (синхронный UART) или эквивалентный многоканальный буферизованный последовательный порт могут обеспечить необходимую полосу пропускания для требовательных DSP-нагрузок.
Контроль ошибок
Надежное обнаружение ошибок критично для ответственных DSP-приложений. Аппаратные модули CRC вычисляют циклические избыточные коды «на лету», гарантируя целостность данных без нагрузки на ЦПУ.

МК EFM8 Laser Bee от Silicon Labs обладает аппаратным CRC-движком, принимающим поток байтов и выдающим 16-битный CRC по стандартному полиному.
Заключение
Во многих сценариях DSP низкой и средней интенсивности микроконтроллеры превосходят специализированные DSP-чипы по соотношению цена/интеграция. Выбирая правильную периферию — аппаратные умножители, DMA, высокоскоростные последовательные интерфейсы и CRC-модули — можно создавать надежные высокопроизводительные DSP-решения.
Предыдущие статьи серии «Введение в микроконтроллеры»:
- Что такое микроконтроллер? Введение в центральный компонент бесчисленных электронных устройств
- Как выбрать подходящий микроконтроллер для вашего приложения
- Как читать даташит микроконтроллера: введение и первые шаги
- Как читать даташит микроконтроллера: изучение аппаратной части
Промышленные технологии
- Как стать цифровым чемпионом в производстве: практическое руководство
- Выбор микроконтроллера для высокопроизводительной цифровой обработки сигналов
- Использование цифровых двойников в реальном времени для повышения эффективности логистики
- Ускорьте цифровую трансформацию цепочки поставок с облачной аналитикой
- Использование Индустрии 4.0: проверенные стратегии построения цифровой дорожной карты
- Использование аналитики для повышения клиентского опыта в производстве
- Выбор оптимального IIoT-решения для производителей тяжелого оборудования
- Выбор правильного датчика наполнения: точность, надежность и рентабельность
- Intel Edison для IoT: обзор, спецификации, breakout-платы, проекты и альтернативы
- Выбор правильного проекта автоматизации: стратегическое руководство