Da NXP la prima soluzione basata su MCU per Alexa Voice Service (AVS)

 

Soluzione vocale chiavi in ​​mano a basso costo basata su NXP i.MX RT riduce significativamente i costi e le barriere d’ingresso per i produttori e accelera il time to market.

Nel gennaio 2019, Dave Limp, Amazon’s Senior Vice President of Devices and Services, ha dichiarato in un’intervista a The Verge, che oltre 100 milioni di dispositivi Alexa Voice Service (AVS) erano stati venduti in tutto il mondo.

Mentre questo numero impallidisce rispetto al numero di smartphone preinstallati con Siri o Google Voice Assistant (GVA), le persone che acquistano dispositivi compatibili Alexa spesso fanno una scelta attiva per usare Alexa, a differenza di moltissimi utenti di smartphone che non usano mai i loro assistenti preinstallati.

La presenza di assistenti vocali nei telefoni è una funzione interessante, ma non offre agli utenti la potenza e la praticità del funzionamento a mani libere che è possibile sperimentare con dispositivi come gli altoparlanti intelligenti Echo di Amazon. Secondo Amazon, inoltre, oltre ai propri altoparlanti Echo, questi 100 milioni di dispositivi Alexa includono anche una vasta gamma di dispositivi di terze parti realizzati da oltre 4.500 produttori diversi, costituiti da oltre 150 prodotti con Alexa integrato e oltre 28mila differenti prodotti che operano con Alexa.

Riducendo i costi e appiattendo la curva di apprendimento, una soluzione recentemente annunciata da NXP Semiconductors è ora disponibile per facilitare la rapida crescita del numero di prodotti con capacità di integrare Alexa.

Per la prima volta, questa soluzione consente di utilizzare un’unità a microcontrollore (MCU) a basso costo per integrare Alexa in una gamma molto più ampia di dispositivi, eliminando la necessità di utilizzare un costoso processore di applicazioni o un’unità a microprocessore (MPU), rendendo molto più facile per molti produttori aggiungere Alexa ai loro progetti. Lo fa sfruttando AVS Integration for AWS IoT Core che Amazon ha lanciato il 25 novembre e che consente ad Alexa di essere integrata nei dispositivi IoT basati su MCU.

Di seguito esamineremo le differenze tra i prodotti che funzionano con Alexa e quelli che hanno Alexa integrato. Analizzeremo anche le differenze tra MCU e MPU, in quanto sono fondamentali per capire perché l’utilizzo di AVS Integration for AWS IoT Core consentirà la proliferazione di Alexa in prodotti intelligenti per la casa quali gli elettrodomestici.

Oggi ci sono circa duecento volte il numero di prodotti “Works with Alexa” rispetto ai prodotti con Alexa integrato. Questo perché è relativamente semplice per un produttore aggiungere a un dispositivo intelligente controllato da un’app la compatibilità Alexa Inoltre, funzionalità Alexa possono essere aggiunte a dispositivi intelligenti molto tempo dopo che sono stati venduti e installati. “Funziona con Alexa” significa che il dispositivo è stato certificato da Amazon per verificare che possa essere controllato da Alexa Voice Service, utilizzando i comandi vocali pronunciati in dispositivi come gli altoparlanti Echo di Amazon. I produttori di apparecchiature originali (OEM) ottengono questo risultato creando le proprie competenze Alexa o sfruttando le competenze Alexa esistenti come quelle all’interno dell’API Smart Home Skill, consentendo agli utenti di controllare i propri dispositivi con Alexa.

I prodotti Alexa incorporati dispongono di microfoni per ascoltare le frasi e quindi inoltrare i comandi al cloud e un altoparlante per riprodurre le risposte successive di Alexa. Per un vero funzionamento a mani libere, la maggior parte dei dispositivi integrati Alexa deve disporre di funzionalità di campo lontano, il che significa che debbono essere in grado di comprendere i comandi vocali dall’altra parte della stanza, in genere a distanze fino a 5 m (circa 20 piedi). Al fine di estrarre il parlato intelligibile da uno sfondo rumoroso, una buona implementazione vocale in campo lontano in genere ha una capacità di elaborazione audio front-end (AFE) per sopprimere il rumore di fondo, eliminare l’eco, consentire il barge-in (i comandi possono essere riconosciuti durante la riproduzione audio) ed eseguire il beamforming da un array multi-microfono.

MPU e MCU

I processori di applicazioni, detti anche microprocessori (MPU), eseguono un sistema operativo complesso (OS) come Windows, MacOS, iOS, Android o Linux, con la necessità di utilizzare banchi di memoria consistenti costituiti da gigabyte (GB) di memoria NAND Flash e  SDRAM. Il sistema operativo gestisce spazi di memoria  virtuale mappati alla memoria fisica dei processori da un’unità di gestione della memoria (MMU). Le MPU di oggi utilizzano in genere due, quattro, otto o più core di elaborazione e vengono utilizzate in potenti dispositivi che includono laptop, smartphone, tablet, display intelligenti, console per videogiochi, router e gateway. Le MPU si basano in genere sulle unità di elaborazione centrale (CPU) Arm Cortex-A; esempi sono l’Apple A13 Bionic utilizzato negli attuali  modelli di iPhone e il SoC Broadcom BCM2837B0 presente nell’ultima scheda Raspberry Pi.

I microcontrollori (MCU), utilizzati nei progetti embedded, utilizzano principalmente un sistema operativo in tempo reale (RTOS) come Amazon FreeRTOS. Queste implementazioni RTOS di solito richiedono pochissima memoria, in genere un megabyte (MB) o meno di Flash e RAM, memoria che spesso è già integrata su chip.

Gli MCU (microcontrollori) sono quasi sempre dispositivi con singola unità di elaborazione (CPU) e vengono utilizzati per il controllo embedded di prodotti come elettrodomestici, utensili elettrici, giocattoli, sottosistemi automobilistici come motori, freni, sterzo e sospensioni e molti prodotti smart per la casa tra cui interruttori, prese intelligenti, termostati e rilevatori di fumo. Oggi i microcontrollori sono spesso basati su CPU Arm Cortex-M, come i micro Kinetis NXP che alimentano i rilevatori di fumo Nest Protect. 

Difficoltà nell’aggiunta di Alexa build-in un prodotto

Prima dell’introduzione della soluzione i.MX RT106A di NXP per Alexa Voice Service, Alexa buil-in richiedeva agli OEM di utilizzare una potente MPU, che eseguiva il sistema operativo Linux e che fosse in grado di fornire almeno 750 DMIPS (Dhrystone milioni di istruzioni al secondo), con oltre 50 MB di memoria. Sono poi necessarie risorse e memoria CPU aggiuntive per implementare l’elaborazione AFE necessaria per la voce in campo remoto, spesso implementata su un processore DSP dedicato separato.

Molti dispositivi in cui gli OEM vorrebbero implementare Alexa non usano MPU, ma semplici MCU, quindi l’aggiunta di un MPU o persino la sostituzione dell’MCU con un MPU aumenterebbe notevolmente i costi. Inoltre, molti sviluppatori nella loro carriera hanno scritto codice solamente per MCU, magari utilizzando un RTOS, e non hanno familiarità con MPU e sistemi operativi come Linux.

La soluzione basata su MCU di NXP semplifica l’integrazione di Alexa!

Nel febbraio 2019, durante la passata edizione di Embedded World, NXP ha annunciato la prima implementazione al mondo basata su MCU di un client Alexa, basata su un nuovo membro della famosa famiglia di dispositivi di elaborazione crossover i.MX RT di NXP, il modello i.MX RT106A. Questa nuova soluzione, per la prima volta, ha consentito agli OEM di integrare Alexa utilizzando un micro a basso costo e bassa potenza, un dispositivo che in genere si trova già in qualsiasi prodotto connesso per smart home. Di conseguenza, gli OEM possono ora aggiungere Alexa ai loro prodotti a costi incrementali molto bassi, non molto più del costo dei microfoni e di un altoparlante. Con Amazon FreeRTOS, la nuova soluzione AVS basata su MCU di NXP sfrutta la potenza dell’integrazione AVS di Amazon Web Services per AWS IoT Core per ridurre al minimo le risorse di elaborazione necessarie per integrare Alexa in un prodotto.

Per consentire ad Alexa di essere integrato nei prodotti basati su MCU, anziché eseguire il completo AVS SDK sul dispositivo fisico, Amazon esegue invece un client Alexa virtuale nel cloud, come istanza di servizio container su AWS IoT Core. Con questa implementazione, tutto il traffico di comunicazione HTTP/2 è cloud-to-cloud e, di conseguenza, il client Alexa può essere implementato con un MCU a basso costo, utilizzando i messaggi MQTT per effettuare aggiornamenti all’istanza del servizio nel cloud.

Oltre a ridurre i costi dell’hardware del dispositivo, avere il client del dispositivo AVS in esecuzione nel cloud offre agli OEM una significativa riduzione dei costi di gestione dei dispositivi “a vita”, riducendo la frequenza e le dimensioni degli aggiornamenti software over-the-air ai dispositivi sul campo. Invece degli aggiornamenti che gli OEM debbano inviare ad ognuno dei loro dispositivi in ​​funzione sul campo, con questa configurazione è  Amazon che può aggiornare tutte le istanze del servizio di dispositivi virtuali AVS in esecuzione nel cloud su AWS IoT Core, a costo zero per gli OEM. Allo stesso modo, poiché l’immagine del software per i dispositivi basati su MCU è più piccola di due ordini di grandezza rispetto a una MPU, anche il costo per gli OEM di aggiornare il proprio software sul dispositivo fisico è significativamente ridotto.

Rispetto alle implementazioni MPU tradizionali che eseguono Linux, che richiedono gigabyte di RAM e Flash, la soluzione MCU di NXP richiede meno di qualche centinaio di kilobyte di RAM su chip e solo pochi megabyte di Flash, riducendo significativamente i costi e le dimensioni di un design Alexa build-in. Mentre gli MCU hanno in genere un prezzo inferiore rispetto alle MPU, è l’enorme riduzione dei requisiti di memoria che consente la maggior parte dei risparmi sui costi della distinta base (BOM) ottenuti con questa implementazione basata su MCU.

La MCU i.MX RT106A al centro della soluzione AVS di NXP integra un processore Arm Cortex-M7 a 600 MHz, con 1 MB di chip SRAM su chip e un’ampia varietà di comunicazioni e altre periferiche. Viene fornito con una licenza per utilizzare il software chiavi in ​​mano AVS di NXP, inclusa un’implementazione machine learning (ML) di AFE necessaria per soddisfare i requisiti vocali di campo lontano di Amazon. Questo software funziona su una piattaforma hardware pronta per la produzione, per consentire agli OEM di aggiungere rapidamente e facilmente Alexa ai loro progetti.

Figura 1 – SLN-ALEXA-IOT – Kit di sviluppo

 

La soluzione AVS basata su MCU i.MX RT106A di NXP (SLN-ALEX-IOT) è disponibile presso i distributori autorizzati di NXP come kit completo per valutazione, sviluppo e prototipazione, con un prezzo di rivendita suggerito di $ 149,00 (USA).

Figura 2 – Schema a blocchi hardware del micro i.MX RT per Alexa Voice Service.

L’hardware è costituito da due piccole schede da 30 mm x 40 mm (1,2 “x 1,6”). Il SoM (sistema su modulo) integra il processore i.MX RT106A, la memoria HyperFlash e un modulo Wi-Fi / Bluetooth. La scheda audio utilizza due o tre microfoni MEMS ad alte prestazioni a basso costo e si collega a un altoparlante pilotato da un amplificatore audio intelligente.

Figura 3 – Disposizione dei blocchi software interni del micro i.MX RT per Alexa Voice Service.

Il kit che include tutto il necessario per consentire a uno sviluppatore di connettersi immediatamente al servizio vocale Alexa e avviare immediatamente la prototipazione. Questo pacchetto software one-stop-shop include l’elaborazione AFE vocale in campo lontano (soppressione del rumore, beamforming, cancellazione dell’eco e barge-in), Amazon Wake Word Engine (WWE) con modelli, un’applicazione client AVS, API e tutti i driver necessari . Tutto è fornito nel codice sorgente, ad eccezione di AFE e WWE, per facilitare agli sviluppatori il trasferimento del software dalla MCU originale al micro i.MX RT 106A. Per consentire ciò, la soluzione AVS di NXP ha 300 kB di RAM su chip e almeno 120 MHz di CPU disponibili per gli sviluppatori per eseguire il proprio software, risorse più che sufficienti per la maggior parte delle applicazioni embedded.

Sfruttando la potenza di Amazon FreeRTOS e AWS IoT Core, l’esclusiva soluzione basata su MCU per Alexa Voice Service offre i vantaggi di un time-to-market più breve, con costi di distinta base  inferiori, il tutto su una piattaforma di micro famigliare agli sviluppatori embedded.

Maggiori dettagli sulla soluzione AVS basata su MCU di NXP, i.MX RT106A e kit di sviluppo SLN-ALEXA-IOT sono disponibili all’indirizzo www.nxp.com/mcu-avs

 

 

 

Post correlati

Commenta questo articolo