В статье рассматривается вопрос, о возможности использования микроконтроллеров (далее MCU) широкого применения, построенных на базе ядер Arm ® Cortex ® M, в сфере цифровой обработки сигнала (далее DSP). На примере устройства, обработки аналогово звукового сигнала, проведу анализ и сравнение с традиционным, узконаправленным цифровым сигнальным процессорам (далее ЦСП). Основной упор поставлен на целесообразность использования более доступных микроконтроллеров, в обучении и практике для студентов, изучающих DSP программирование.
Ключевые слова: микроконтроллер, цифровой сигнальный процессор, DSP программирование, обработка звукового сигнала, Arm ® Cortex ® M7.
Сегодня микропроцессорная архитектура ARM является доминирующей в производстве 32-битных и 64-битных ядер, используемая многими производителями микропроцессоров и микроконтроллеров. Главным преимуществом этих процессоров является высокая производительность и низкое энергопотребление, что служат основными критериями для выбора и широко применяются в мобильных устройства и встраиваемой технике. На данный момент используется несколько значимых семейств процессоров и самым популярным сейчас является новое семейство Cortex-M. Из этой линейки особый интерес вызывает платформа для MCU Cortex-M7, производителем она нацелена на использование во встраиваемых системах достаточно широкого диапазона применения, от автомобилей до промышленного оборудования. Поэтому процессор обладает очень высокой производительностью, также имеет у себя блок, производящий операции с плавающей запятой с поддержкой чисел одинарной и двойной точности, полный набор DSP инструкций, аппаратные умножение и деление. Ряд производителей микроэлектроники, например STMicroelectronics, являясь лицензиатом готовой топологии ядер ARM, разрабатывают микроконтроллеры, внося собственные изменения, комбинируя ядра, дополняя их периферийными интерфейсами и FLASH памятью.
На сегодняшний день технологии ЦОС внедрились во многие сферы деятельности человека, в которой используются свои собственные, глубоко проработанные направления, со своими алгоритмами, математическим аппаратом и специализированными методами [1], одно из направлений ЦОС, это обработка аудиосигнала в реальном времени, которое нашло применение в концертно-сценическом и студийном оборудовании (также существует VST формат, это зависимые от среды выполнения (native) плагины реального времени, в статье они не будут рассматриваться т. к. применяются только на ПК), для обработки голоса и инструментов. К ним относятся устройства динамической обработки или амплитудного преобразования (компрессор, овердрайв и. т.д), частотного преобразования (фильтры и эквалайзеры) и временного преобразования (эхо/дилэй, реверберация, хорус и т. д.), в их основе лежат фундаментальные концепции ЦОС, такие как аналого-цифровое (далее АЦП) и цифро-аналоговое (далее ЦАП) преобразование, конечная импульсная характеристика (далее FIR) и фильтрация с бесконечной импульсной характеристикой (далее IIR), преобразование Фурье и адаптивная фильтрация. Существуют приборы разных видов и классов, соответственно они имеют широкий ценовой диапазон, причиной этому служат основные факторы — качество/уникальность аудио эффекта, отказоустойчивость, функциональность и выходные характеристики (класс) прибора, которые в свою очередь напрямую зависят от используемых электронных компонентов (процессора, памяти, АЦП/ЦАП и др.), проработанной схемотехники и качества выполняющей программы.
Типичная работа алгоритмов ЦОС основана на быстром и многократном выполнении математических операций над серией выборок данных. С выхода АЦП непрерывно поступают цифровые данные в ЦСП, обрабатываются и затем следуют в ЦАП для возвращения в обратную форму (рисунок 1).
Рис. 1. Упрощённая схема устройства с ЦСП
В сравнении с микропроцессорами общего применения архитектура DSP имеет ряд особенностей, связанных с увеличением скорости выполнения типовых задач ЦОС, математически они выполняют поэлементное перемножение элементов многокомпонентных векторов действительных чисел, последующему суммированию произведений. Поэтому для увеличения быстродействия, вся оптимизация сводится к выполнению именно таких операций, следовательно у сигнальных процессоров все задачи сводятся, к многократному выполнению умножения с расчётом «на лету» адресов перемножаемых элементов массивов.
Многие компании имеют линейки интегральных микросхем решающих задачи по преобразованию сигналов, например Analog Devices у которой основное производство целиком на это нацелено. Она выпускает целое семейство DSP аудиопроцессоров SHARC и Blackfin, спроектированы на эффективное выполнение любых задач в аудио ЦОС. Именно их и выбираю производители аудиооборудования. Но в ходе разработки прототипа, возникнет потребность в оценке характеристик компонентов будущего устройства, для этой цели производители микроэлектроники предлагают комплекты оценочных и отладочных плат, на борту которых имеется вся необходимая периферия для тестов и отладки. У Analog Devices на всей линейки своих процессоров имеются платы «EZLITE» (рисунок 2, слева), но слишком высокая цена на свои устройства заставляет выбирать более доступные тестовые комплекты других производителей. Например, компания STMicroelectronics для испытания своих продуктов, обеспечивает пользователям более доступный и гибкий способ попробовать новые концепции, выпуская отладочные платы из серии STM32 Nucleo-144.
Рис. 2. Отладочные платы: слева — EVAL-21489-EZLITE ($495), справа — STM32 Nucleo-144 STM32H743ZI ($27)
В семействе STM32H7 на базе ядра ARM Cortex-M7 имеется отладочный вариант с микроконтроллером STM32H743VI (рисунок 2, справа), высокой производительностью 1027 DMIPS/2.14 DMIPS/MHz (Dhrystone 2.1), большим объёмом встроенной памяти и со всеми необходимыми блоками периферии. В сравнении с предыдущим семейством STM32F7, он имеет новую, усовершенствованную шинную архитектуру, изменённую систему тактирования и питания, что безусловно повлияло на его работу. В таблице 1 приведены краткие сравнительные характеристики процессора Analog Devices и MCU STM32.
Таблица 1
Сравнительные характеристики DSP процессора от AD и STM 32
Характеристики |
ADSP-21489 |
STM32H743 |
Частота, МГц |
450 |
480 |
L1 cache |
— |
16 Kbytes of data and 16 Kbytes of instruction cache |
FIR, IIR, FFT Accelerator |
+ |
- |
DMA |
DMA+ external port |
DMA, MDMA |
RAM |
5 Mbits |
1 Mbyte + 864 Kbytes of user SRAM |
Flash |
- |
2 Mbytes |
external memory interface |
16-bit SDR SDRAM |
32-bit SRAM, SDRAM, NOR Flash |
С помощью теста производительности бенчмарк можно провести сравнительную характеристику производительности процессоров, что и сделал Chin Beckmann [2]. Измерения проводились в программе Audio Weaver и в качестве тестов применялись 3 фильтра: FIR, IIR и Biquad. Размер блоков составлял 256 сэмплов, для анализа результатов выведен средний коэффициент (цикл/сэмпл/блок). В таблице 2 даны результаты, относительно нормализованного значения SHARC ADSP-21489, чем оно выше, тем лучше, в скобках указаны значения с учётом разницы скорости процессора.
Таблица 2
Тест на производительность
Cortex-M4 |
Cortex-M7 |
Blackfin 5xx |
Blackfin 70x |
SHARC21489 |
|
FIR |
0.21(0.09) |
0.33(0.29) |
0.26(0.40) |
0.49(0.44) |
1.00 |
Biquad |
0.16(0.07) |
0.28(0.25) |
0.15(0.23) |
0.20(0.18) |
1.00 |
FFT |
0.11(0.05) |
0.17(0.15) |
0.18(0.28) |
0.29(0.26) |
1.00 |
Полностью полагаться на тест бенчмарка нельзя, но предварительную оценку всё-таки можно провести. Если учитывать, что линейка Blackfin является DSP процессорами, то Cortex-M7 даёт очень хорошие результаты, из которых делается вывод о возможности применения этого микроконтроллера в аудиообработке. А также стоит рассматривать эту отладочную плату студентам, как хороший и недорогой прототип для моделирования и разработки своих проектов.
Литература:
- Смит, С. Цифровая обработка сигналов. Практическое руководство для инженеров и научных работников/ С. Смит; перевод с английского А. Ю. Линовича [и др.]. — Москва: Изд-во Додэка-ХХI, 2012. — 720 с.
- Beckmann, Chin. How to choose the best processor for your audio DSP application?: [презентация]: материалы конференции AES (Audio Engineering Society), Los-Angeles, 2014. — URL: https://community.arm.com/developer/ip-products/system/b/embedded-blog/posts/how-to-choose-the-best-processor-for-your-audio-dsp-application (дата обращения: 25.05.15).