Решение на базе микроконтроллера со встроенным интерфейсом Alexa

В мире работает порядка 100 миллионов устройств, подключенных к Amazon Alexa. До недавнего времени для подключения к этому сервису требовался микропроцессор, что ограничивало область применения готовых решений. Но дизайн от NXP, основанный на контроллере с ядром Arm Cortex-M7 резко снижает порог входа на этот рынок
1294
В избранное

В январе 2019 года Дейв Лимп, один из руководителей Amazon, заявил в интервью The Verge что по всему миру были проданы более 100 миллионов устройств с подключением к Alexa Voice Service (AVS). Хотя это число очень незначительно по сравнению с количеством смартфонов, на которых предустановлены Siri или Google Voice Assistant (GVA), люди, которые покупают совместимые с Alexa устройства, часто делают явный выбор и активно используют Alexa, в отличие от пользователей смартфонов, которые могут никогда не воспользоваться предустановленными помощниками. Наличие встроенных голосовых помощников в телефоне - это приятная функция, но она не дает пользователям возможностей и удобства работы в режиме громкой связи, которые они получают на устройствах, подобных интеллектуальным динамикам Amazon Echo. По данным Amazon, кроме собственно динамиков Echo, эти 100 миллионов устройств Alexa также включают в себя множество изделий от более чем 4500 различных производителей, в том числе примерно 150 продуктов со встроенным интерфейсом Alexa и более 28000 устройств, использующих этот сервис.

Недавно анонсированное решение от NXP® Semiconductors существенно сокращает стоимость разработки и порог вхождения для продуктов со встроенным интерфейсом Alexa и, таким  образом, может привести к быстрому росту количества таких устройств. Это решение позволяет использовать недорогой микроконтроллерный блок (MCU) вместо дорогого прикладного процессора или микропроцессорного блока (MPU) для встраивания Alexa, что упрощает для производителей добавление функционала Alexa в свои дизайны и позволит использовать этот интерфейс в гораздо более широком спектре устройств. Это достигается за счет использования сервиса AVS для AWS IoT Core, запущенного Amazon 25 ноября, который позволяет встраивать Alexa в устройства IoT с микроконтроллером. В этой статье мы рассмотрим различия между решениями, которые работают с Alexa (work with Alexa), и со встроенным интерфейсом Alexa (Alexa built-in). Мы также рассмотрим различия между MCU и MPU, поскольку они являются ключом к пониманию того, почему использование интеграции AVS для AWS IoT Core позволит включить Alexa в решения для умного дома и интеллектуальные устройства.

Alexa-VS_1.png (5 KB)

Работает с Alexa или встроенный интерфейс Alexa

На сегодняшний день количество устройств «Работает с Alexa» примерно на два порядка больше по сравнению с продуктами со встроенным интерфейсом Alexa. Это связано с тем, что для производителя относительно просто добавить в интеллектуальное устройство совместимость с Alexa. Кроме того, возможность взаимодействия с Alexa может быть добавлена в прошивку даже после того, как устройство было продано и установлено. «Работа с Alexa» всего лишь означает, что устройство было сертифицировано Amazon для проверки возможности управления им с помощью голосовой службы Alexa, используя голосовые команды, передаваемые через такие устройства, как колонки Amazon Echo. Производители оборудования достигают этого, создавая собственные навыки Alexa или используя существующие навыки, такие как в Smart Home Skill API, позволяя пользователям управлять своими устройствами с помощью Alexa.

Устройства со встроенным интерфейсом Alexa оснащены микрофонами с возможностью активации по кодовому слову Alexa, после активации они передают команды в облако и воспроизводят ответы через динамик. Для работы в режиме громкой связи большинству таких устройств необходимо иметь функцию дальнего поля, которая позволит понимать голосовые команды из разных концов комнаты, как правило, на расстоянии до 5 м. Чтобы качественно извлечь речь из фонового шума, нужна хорошая реализация распознавания голоса в дальней зоне, что ставит непростые задачи при реализации внешнего аудио интерфейса (AFE) для подавления фонового шума, устранения эха, разрешения ввода (команды могут быть распознаны во время воспроизведения аудио) и формирования заданной диаграммы направленности из массива  микрофонов.

MPU и MCU

Микропроцессоры (MPU) работают под управлением сложной операционной системы (ОС), такой как Windows, MacOS, iOS, Android или Linux, для которой требуются гигабайты оперативной и флэш-памяти. Все эти операционные системы управляют пространствами виртуальной памяти, которые отображаются на физическую память процессора блоком управления памятью (MMU). Современные MPU обычно имеют два, четыре, восемь или более процессорных ядер и используются в мощных устройствах типа ноутбуков, смартфонов, планшетов и интеллектуальных экранов, игровых приставок, маршрутизаторов и роутеров. MPU, как правило, реализованы на ядрах серии Arm® Cortex®-A.

Микроконтроллеры (MCU), используемые во встроенных системах, в основном работают под управлением операционной системы реального времени (RTOS), такой как Amazon FreeRTOS. Эти реализации ОСРВ обычно требуют очень мало памяти, как правило, мегабайт (МБ) или меньше флэш-памяти и оперативной памяти, которая часто интегрирована на кристалле. Микроконтроллеры используются для управления приборами, электроинструментами, игрушками, автомобильными подсистемами (двигателем, тормозами, рулевым управлением и подвеской) и многими решениями для умного дома, включая выключатели света, интеллектуальные розетки, термостаты и детекторы дыма. Современные микроконтроллеры часто основаны на ядрах Arm® Cortex®-M.

Сложности реализации встроенного интерфейса Alexa

До появления решения NXP на основе i.MX RT106A для реализации Alexa Voice Service требовалось использование мощного MPU, работающего под управлением операционной системы Linux и способного обеспечивать производительность на уровне по меньшей мере 750 DMIPS, с более чем 50 МБ памяти. Кроме того, дополнительные ресурсы ЦП и памяти требуются еще для реализации обработки AFE, необходимой для обработки голоса в дальней зоне, часто реализуемой на отдельно выделенном DSP процессоре. Многие решения, в которые производители хотели бы встроить Alexa, управляются MCU, поэтому добавление MPU или даже замена MCU на MPU значительно увеличивает стоимость изделия. Кроме того, разработчики этих производителей могут быть не знакомы с написанием программ под Linux.

Решение на базе MCU от NXP позволяет легко встроить Alexa!

В феврале 2019 года на выставке Embedded World Show в Нюрнберге, Германия, NXP анонсировала первую в мире реализацию клиента Alexa на базе MCU на основе нового микроконтроллера i.MX. RT106A. Это решение впервые позволило OEM-производителям встроить интерфейс Alexa в продукты, используя недорогой, маломощный MCU, сравнимый с теми контроллерами, которое обычно уже работают в любом решении умного дома. В результате производители теперь могут добавлять голосовые функции к своим продуктам при очень низких дополнительных затратах, не намного превышающих стоимость микрофонов и динамиков. Работая под управлением Amazon FreeRTOS, новое решение AVS на базе микроконтроллера от NXP использует возможности интеграции AVS для веб-сервисов Amazon AWS IoT Core, чтобы минимизировать ресурсы, необходимые для встраивания Alexa в продукт.

Чтобы обеспечить возможность встраивания Alexa в решения на базе микроконтроллеров, вместо того, чтобы запускать полный комплект AVS Device SDK на физическом устройстве, запускается виртуальный клиент Alexa в облаке в качестве экземпляра службы контейнера в AWS IoT Core. В этой реализации весь трафик HTTP/2 передается только в облаке, и в результате клиент Alexa может быть реализован на недорогом MCU, использующем сообщения MQTT для обновления экземпляра службы в облаке. Помимо снижения затрат на аппаратную реализацию устройства, наличие клиента AVS, работающего в облаке, также позволяет производителям оборудования значительно сократить расходы на управление устройствами в течение всего срока их службы за счет уменьшения частоты и размера обновлений программного обеспечения для проданных устройств. Вместо обновления прошивки весом порядка 50 МБ, для каждого подключенного устройства Amazon обновляет все экземпляры службы виртуальных устройств AVS, работающие в облаке на AWS IoT Core абсолютно бесплатно для производителей электроники. Кроме того, поскольку образ прошивки для устройств на основе микроконтроллера более чем на два порядка меньше, чем на основе микропроцессоров, затраты производителей на обновление собственного программного обеспечения на физическом устройстве также значительно снижаются.

По сравнению с традиционными реализациями на MPU под управлением Linux, для которых требуются гигабайты оперативной памяти и флэш-памяти, для решения MCU NXP требуется менее нескольких сотен килобайт оперативной памяти на кристалле и всего несколько мегабайт флэш-памяти, что значительно снижает стоимость и размер решения с Alexa. (Кроме того, что микроконтроллеры обычно стоят дешевле микропроцессоров, снижение требований к памяти позволяет существенно снизить стоимость спецификации изделия.)

Микроконтроллер i.MX RT106A, лежащий в основе решения NXP AVS, реализован на ядре Arm Cortex-M7 с тактовой частотой 600 МГц, встроенной памятью SRAM 1 МБ и широким спектром коммуникационных и других периферийных интерфейсов. Он поставляется с лицензией на использование готового программного обеспечения NXP AVS, включая реализацию AFE с машинным обучением (ML), необходимую для удовлетворения требований Amazon к голосовой связи в дальней зоне. Это программное обеспечение работает на готовой к использованию аппаратной платформе, что позволяет производителям быстро и легко добавлять Alexa в свои продукты.

Комплект разработчика SLN-ALEXA-IOT

Рис. 1. Комплект разработчика SLN-ALEXA-IOT

Блок-схема реализации голосовой службы Alexa

Рис. 2. Блок-схема реализации голосовой службы Alexa

Устройство реализована на двух небольших платах размером 30 мм x 40 мм. Система на модуле (SoM) содержит процессор i.MX RT106A, память HyperFlash и модуль Wi-Fi/ Bluetooth. Аудиоплата использует два или три недорогих, высокоэффективных MEMS микрофона и подключается к динамику, управляемому интеллектуальным аудиоусилителем.

Блок-схема программного обеспечения i.MX RT для реализации голосового сервиса Alexa

Рис. 3. Блок-схема программного обеспечения i.MX RT для реализации голосового сервиса Alexa

Модуль поставляется с программным обеспечением, которое включает в себя все необходимое, чтобы разработчик мог подключиться к сервису Alexa Voice и сразу же приступить к созданию прототипа. Этот пакет программного обеспечения включает обработку голоса в дальней зоне (подавление шума, формирование диаграммы направленности, подавление эха и т.д.), Amazon Wake Word Engine и модели (WWE), клиентское приложение AVS, API и все необходимые драйверы. Все предоставляется в виде исходных кодов, за исключением AFE и WWE, что позволяет разработчикам легко переносить программное обеспечение из своего контроллера на i.MX RT 106A. Реализация NXP AVS оставляет достаточно ресурсов для разработчиков для запуска своего программного обеспечения.

Благодаря использованию возможностей Amazon FreeRTOS и AWS IoT Core, уникальное решение NXP на основе микроконтроллера для Alexa Voice Service обеспечивает минимальное время выхода на рынок с более низкой стоимостью реализации и поддержки на базе микроконтроллера, знакомого разработчикам встраиваемых систем.

Более подробную информацию о решении AVS на базе MCU i.MX RT106A от NXP и комплекте для разработки SLN-ALEXA-IOT можно найти по адресу www.nxp.com/mcu-avs.

Источник: https://blog.nxp.com/smart-home/

Сравнение позиций

  • ()