На склад поступили жидко-кристаллические индикаторы и дисплеи от KSE
РадиоЛоцман - Все об электронике

Вопросы выбора микроконтроллера для аудио приложений

Журнал РАДИОЛОЦМАН, июль 2012

Lee H. Goldberg, Electronic Products

Digi-Key

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

В настоящее время на микроконтроллерах разрабатывается множество потребительских устройств, и от встраиваемых систем теперь требуется поддержка различных функций обработки цифрового аудио. Эти функции должны выполняться цифровыми сигнальными процессорами (ЦСП) или специализированными чипами. К счастью, мощности и ассортимента периферии многих 16-разрядных микроконтроллеров часто бывает вполне достаточно для реализации основных функций обработки звука. Они могут выполнять задачи воспроизведения/записи аудио, преобразования аудио потока, а также поддерживать другие инновационные аудио приложения. Но как выбрать микроконтроллер, который обеспечит производительность, гибкость проекта, и не слишком увеличит цену конечного устройства. Ответ вы найдете в этой статье, а также познакомитесь с последними микроконтроллерами, отладочными модулями и наборами для разработки аудио приложений.

Характеристики звуковых сигналов

Тип и вычислительная мощность микроконтроллера, выбираемого вами для аудио приложения – это одна из нитей в паутине взаимосвязей между стоимостью решения, желаемым качеством звука и объемом доступной памяти. Хотя фактический размер выборки, используемой конкретным приложением, может составлять от 8 до 24 бит, мы ограничим рассмотрение диапазоном 12 … 16 бит. Так как частота дискретизации является основным параметром, определяющим качества звука, мы приведем полезную классификацию источников звука и соответствующих им частот дискретизации, обычно используемых для захвата или воспроизведения (Таблица 1).

Таблица 1. Особенности обычных источников звука.
Источник звука
Частоты
Типичная частота дискретизации
Тональный сигнал, зуммер
Обычно, синусоидальный сигнал с частотой
в диапазоне 3 кГц
В 2 или 4 раза выше частоты
тонального сигнала с наибольшей
частотой.
DTMF сигналы
Сумма двух синусоидальных сигналов со
стандартной частотой от 500 Гц до 3 кГц
7.2 кГц или выше
Сигнализация
Обычно, сигнал с частотой, изменяющейся во
времени в определенном диапазоне
В два раза больше самой высокой
частоты сигнала
Человеческая речь
Можно рассматривать как взвешенную сумму
сигналов с частотой от 300 Гц до 3.3 кГц.
Человеческий голос способен воспроизводить
эти частоты
8 кГц; 11.02 кГц; 16 кГц
Музыка, музыкальные
инструменты
Можно рассматривать как взвешенную сумму
сигналов в диапазоне частот от 20 Гц
до 20 кГц.
Человеческое ухо способно воспринимать эти
частоты
32 кГц (достаточно для
большинства музыкальных
инструментов);
44 кГц (качество CD диска);
48 кГц (звуковая плата ПК)

Микроконтроллеры для голосовых приложений

Поскольку объем памяти (и ширина полосы пропускания) для встраиваемых систем, как правило, имеют первостепенное значение, используются различные методы цифрового сжатия потока данных, приводящие к потере части информации, либо применяются более сложные алгоритмы кодирования для представления данных в более компактном виде. Кодирование/декодирование может осуществляться либо внешним аппаратным кодеком, либо с помощью программного кодека, использующего ресурсы ЦП. Рисунок 1 иллюстрирует сравнительную оценку соотношения качества/скорости передачи данных при сжатии цифрового потока 128 Кбит/с с помощью широко используемых алгоритмов ITU (G.7xx), а также программного кодека Speex с открытым исходным кодом. (Speex – это свободно распространяемый кодек для сжатия речевого сигнала, который может использоваться в приложениях «голос-через-интернет»).

 Вопросы выбора микроконтроллера для аудио приложений
Рисунок 1. Взаимосвязь качества звука и скорости цифрового потока для широко используемых кодеков (по данным компании Microchip Technology).

Для каждого конкретного кодека требуется различная вычислительная мощность микроконтроллера (измеряемая в MIPS – миллионов операций в секунду), находящаяся в грубой пропорции к степени сжатия и качеству звука, которое он обеспечивает (Таблица 2). К счастью, даже недорогой 16-разрядный микроконтроллер общего назначения может легко поддерживать простые программные кодеки, используемые для обработки голоса, такие как ADPCM (Adaptive Differential Pulse Code Modulation – адаптивная дифференциальная импульсно-кодовая модуляция) или более примитивный G.7xx. Алгоритм G.711 требует примерно 1 MIPS для конвертирования человеческой речи со средним качеством при степени сжатия 2:1. Широкополосный алгоритм G.722 обеспечивает лучшее качество звука и степень сжатия 4:1, при этом для его выполнения хватит производительности всего лишь 5 MIPS. Для полноценного функционирования обоих кодеков вполне достаточно 16-разрядных микроконтроллеров, например серии HC12 компании Freescale, семейств PIC24F/PIC24H компании Microchip или семейства MSP430 компании Texas Instruments, с резервом памяти, необходимым для размещения кода супервизора и реализации других функций. В дополнение к приложениям обычной телефонии или VoIP (интернет телефония), эти недорогие методы могут использовать избыток вычислительной мощности микроконтроллера для генерирования звуковых сигналов (или даже для синтеза речи) в детекторах дыма, системах сигнализации и промышленном оборудовании.

Таблица 2. Требования к вычислительной мощности микроконтроллеров при использовании различных программных голосовых кодеков.
Алгоритм
G.711
G.726A
Speex
MIPS
1
13
20
Требуемый объем Flash, Кбайт
3.5
6
30
Требуемый объем ОЗУ, Кбайт
3.5
4
7
Память, требуемая для хранения 1 секунды
кодированного звука, Кбайт
8
2, 3, 4
или 5
1

Микроконтроллеры для воспроизведения музыки

Требования к памяти и вычислительной мощности при декодировании потоков MP3/MP4, используемых в самых популярных медиа-плеерах, значительно выше, чем для голосовых приложений, о которых шла речь выше. Для качества звука, сравнимого с CD, стандартом определены разрешение 16 бит и частота дискретизации 44.1 кГц, но многие приложения используют 24 битное разрешение с частотами дискретизации 96 кГц или выше. Часто приложения должны также поддерживать декодирование Microsoft WMA и Apple AAC, а для этого нужна еще бóльшая производительность. В результате, экономически более эффективной зачастую оказывается реализация этих сложных схем кодирования/декодирования с помощью специальных аудио декодеров, к примеру, BU9475KV компании ROHM, или таких декодеров, как CS4720 компании Cirrus Logic и UDA1341TS компании NXP, которые отправляют последовательный PCM поток данных на интегрированный цифро-аналоговый преобразователь или внешний аудио кодек.

Тем не менее, дешевые микроконтроллеры все же могут играть важную роль в бытовых аудио устройствах. Обычно они применяются для управления потоком цифровой музыки в аудио аксессуарах, таких как док-станции и многоканальные акустические системы (Рисунок 2). В этих приложениях по одному из каналов коммуникационных интерфейсов процессора SPI/I2C каждую 1 мс приходит кадр PCM аудио данных, заключенных в формат класса USB Audio. Формат класса USB Audio также позволяет управлять громкостью, тембром, усилением и эквалайзером.
В зависимости от источника, звуковой поток может поступать в одном из нескольких форматов (например, выровненный вправо, выровненный влево, I2S и др.), и некоторые дешевые варианты кодеков могут принимать только один определенный формат. В этих случаях микроконтроллер должен убедиться, что данные перед передачей их кодеку выровнены правильно. Так как источники могут использовать различные частоты дискретизации, кодек должен либо подстраивать под них собственную частоту, либо полагаться на микроконтроллер, который преобразует поток цифровых данных под общую скорость передачи данных. В подобных случаях, если используются самые простые кодеки, им обычно не хватает объема собственного буфера, и потоком должен управлять микроконтроллер, чтобы не допускать возникновения условий, которые могут привести к потере данных и ухудшению качества звучания, проявляющемуся в форме замираний, щелчков и пропадания сигнала.

Вопросы выбора микроконтроллера для аудио приложений
Рисунок 2. В звуковой док-станции дешевый микроконтроллер может использоваться для выполнения преобразования формата, адаптации частоты дискретизации и управления потоком, наряду с поддержкой пользовательского интерфейса док-станции.

Управлять потоком, буферизацией и преобразованиями формата могут многие 16-разрядные и почти все 32-разрядные микроконтроллеры с производительностью в 40 MIPS и более. Некоторые изготовители, например Microchip, добавили в свои микроконтроллеры специальные функции, снижающие стоимость реализации устройства. Так, в некоторых процессорах семейства MX2 для подобных приложений имеется специальная область памяти и выход опорной тактовой частоты I2C. Это позволяет использовать микроконтроллер в качестве источника частоты дискретизации (задающего генератора), и дает возможность заменить дорогой кодек со встроенной или внешней схемой ФАПЧ на более дешевый.

В случаях, когда требуется полностью программируемое решение, декодирование MP3/MP4, AAC или WMA можно выполнить с использованием универсальных микроконтроллеров (как правило, 16-разрядных), имеющих общую производительность RISC ядра не менее 40 MIPS. Прикладной код для этих приложений в типичном случае занимает 128 Кбайт Flash, а для его выполнения может потребоваться до 48 Кбайт ОЗУ. Кроме того, потребуется дополнительная память для реализации простого пользовательского интерфейса или графического отображения параметров на ЖК индикаторе. В качестве примера можно привести семейство микроконтроллеров Atmel AT32UC3, специально разработанное для разнообразных потребительских аудио приложений, включая док-станции, декодеры/системы воспроизведения и устройства класса USB Audio (Рисунок 3).

Вопросы выбора микроконтроллера для аудио приложений
Рисунок 3. Семейство универсальных микроконтроллеров AT32UC3 может использоваться в док-станциях, системах воспроизведения с поддержкой MP3, WMA и ACC форматов или в устройствах USB Audio.

Еще один вариант построения аудио приложений основан на использовании так называемых цифровых сигнальных контроллеров (DSC – digital signal controller), имеющих расширенный набор инструкций, поддерживающих умножение с накоплением (multiply-accumulate – MAC) и аппаратное ускорение, что придает им свойства цифровых сигнальных процессоров. Микроконтроллеры с дополнительными функциями ЦСП, такие как 56800/E от Freescale, dsPIC30 от Microchip, ST10 от STMicroelectronics, требуют меньше инструкций для выполнения кодирования/декодирования аудио, освобождая ресурсы для других важных задач – адаптации скорости выборки, реализации алгоритмов расширенной фильтрации и коррекции частотной характеристики.

Приступая к разработке

Чтобы облегчить начало работы над проектами цифрового аудио, большинство производителей микроконтроллеров предлагают специализированные комплекты разработчика, включающие в себя все необходимые аппаратные средства, программное обеспечение и средства отладки в одном удобном пакете. Примером может служить отладочный набор DM320013 для микроконтроллеров серий PIC32 MX1 и MX2 компании Microchip (Рисунок 4). Это гибкая, питающаяся от USB отладочная платформа, поставляемая с предустановленным демонстрационным ПО, реализующим аудио плеер с широкими возможностями, включая 24-битную запись и воспроизведение звука, поддержку цифрового USB аудио, декодирование MP3 и преобразование частоты дискретизации. Дополнительно на основе этой платформы можно вести разработку базовых пользовательских интерфейсов.

Вопросы выбора микроконтроллера для аудио приложений
Рисунок 4. Стартовый набор DM320013 для микроконтроллеров PIC32 MX1 и MX2 предназначен для разработки высококачественных аудио приложений и пользовательского интерфейса с сенсорными кнопками mTouch.

Компания Atmel также предлагает несколько специализированных отладочных наборов и модулей, включая EVK1104, в котором имеются все компоненты необходимые для высококачественного декодирования звука и реализации приложений для работы с потоковым аудио (Рисунок 5). Выполненная на базе 32-разрядного микроконтроллера AT32UC3A3256AU отладочная плата дополнительно содержит интерфейс USB OTG, два слота под карты памяти SD, память NAND Flash и 16-битный стерео ЦАП. В комплект включено ПО, необходимое для воспроизведения MP3 файлов с карты памяти и демонстрации сенсорного интерфейса QTouch. Для разработчиков док-станций компания предлагает набор EVK1105, содержащий все необходимые аппаратные и программные средства для управления и получения потокового аудио от iPod, iPhone и iPad устройств.

Вопросы выбора микроконтроллера для аудио приложений
Рисунок 5. Оценочный набор Atmel EVK1104.

Заключение

Существовавшая ранее строгая граница, отделявшая микроконтроллеры и цифровые сигнальные процессоры от их приложений, размылась, так как многие процессоры общего назначения теперь поддерживают расширенные наборы инструкций, включая умножение с накоплением, и другие возможности, специфические для ЦСП. Микроконтроллеры, способные выполнять эффективную обработку сигнала, позволяют легко организовать распознавание голоса, воспроизведение/запись аудио и выполнение других инновационных аудио функций, практически в любом устройстве. Для решения вопроса о том, как выбрать микроконтроллер для аудио приложений, мы рассмотрели размер выборки и частоты дискретизации, а также требования к производительности процессора, работающего с наиболее популярными кодеками, и затем представили микроконтроллеры, хорошо подходящие для обработки звука.

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Choosing the Right MCU for Your Audio Application

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя