Création d'applications audio Bluetooth économiques à l'aide de microcontrôleurs 32 bits

Par Jack Shandle

Avec la contribution de Electronic Products


Le Bluetooth et les applications audio ont pratiquement été conçus pour fonctionner ensemble. Les dix premières années de réussite de la technologie Bluetooth sur le marché s'expliquent presque entièrement par son intégration dans des casques audio. Lorsque les smartphones sont apparus, la technologie Bluetooth est demeurée un choix naturel, et a tout de suite trouvé sa place dans les jeux de puces de pratiquement tous les smartphones. Les utilisateurs adorent diffuser de la musique à partir de leurs smartphones.

Cependant, le Bluetooth et les smartphones continuent d'évoluer, et, dans ce qui constitue une sorte d'inversion du cours normal des événements, les applications ont pris du retard. Cependant, un changement est en train de s'opérer puisque l'ère d'un dispositif maître Bluetooth communiquant avec un dispositif esclave Bluetooth est bientôt révolue.

Pour les ingénieurs de conception, cela se traduit par plusieurs protocoles, plusieurs connexions, plusieurs dispositifs et l'apparition d'un tout nouveau monde d'applications audio. Les utilisateurs de smartphones veulent davantage de choix. La technologie Bluetooth est prête.

Point de départ : l'A2DP

Le profil A2DP (Advanced Audio Distribution Profile, profil de distribution audio avancée) Bluetooth permet de transmettre en toute facilité des données audio stéréo sans fil vers une large gamme de dispositifs depuis plus d'une dizaine d'années. Cependant, les consommateurs actuels veulent utiliser leurs smartphones pour commander des applications de divertissement audio de façons qui n'étaient pas prévues à l'origine.

Combinés à d'autres profils, par exemple le profil de commande audio/vidéo à distance (AVRCP), les smartphones peuvent servir de télécommande sans fil pour d'autres dispositifs audio Bluetooth à la maison, et les applications peuvent devenir assez sophistiquées.

Conçues pour être pratiquement transparentes pour l'utilisateur final, ces applications posent aux ingénieurs de conception des défis considérables en termes de développement et de certification logiciels, notamment lorsqu'elles sont incluses dans des accessoires nécessitant une interopérabilité au sein d'un écosystème.

Deux choix d'architecture se présentent aux concepteurs. Ces dix dernières années, l'architecture dominante exigeait du module de réaliser la plus grande partie des fonctions, appairage, connexion et diffusion audio, dans le matériel. En d'autres mots, le module Bluetooth servait de codec audio câblé pour exécuter ces fonctions. L'autre choix architectural consiste à exécuter pratiquement toutes les fonctions au niveau logiciel. C'est là que le microcontrôleur 32 bits entre en jeu. L'implémentation de la pile Bluetooth dans le logiciel transforme la radio réelle en une couche très mince dans l'architecture. Cette caractéristique permet aux concepteurs d'accéder au flux de données partout, à tout moment et pour un grand nombre de configurations.

L'utilisation simultanée du profil de port série (SPP) Bluetooth et du profil A2DP est une opération impossible pour les modules Bluetooth conventionnels. En donnant l'accès logiciel à la pile de protocoles Bluetooth, les concepteurs peuvent créer des applications qui gèrent plusieurs connexions de dispositif au flux audio pour l'écouter, mais également pour contrôler le flux et effectuer d'autres fonctions normalement non associées à l'audio. En d'autres termes, un flux audio et un flux de données de commande fonctionnant simultanément sans que l'un ou l'autre ne s'interrompe.

Association de l'audio et de la commande de données

Un exemple concret est la combinaison d'une lampe de bureau et d'un système de haut-parleurs qui permettrait à des utilisateurs de commander les niveaux de lumière depuis leur smartphone tout en écoutant de la musique. Une extension sophistiquée de cette application permettrait de commander un système d'éclairage, c'est-à-dire la couleur, l'intensité, la réponse à la musique, etc., et de commander le flux audio, et ce, depuis un smartphone. L'ajout du concept « maison intelligente » à l'application élargit cette dimension de contrôle à la commande de thermostats, de cafetières, de systèmes d'ouverture de portes de garage et d'autres appareils Bluetooth en utilisant ce qui était auparavant un codec audio conventionnel.

La commande Bluetooth présente un avantage en termes de sécurité dans ces applications, puisqu'il est possible de configurer le flux de données pour le rendre indépendant de l'Internet des objets (IoT). Peu de personnes ont envie d'exposer le simple processus de commande de l'ouverture de leur porte de garage aux incertitudes du fonctionnement dans le cloud, ce qui serait probablement le cas, par exemple, avec une solution Wi-Fi.

La combinaison de l'audio et de la commande de données dans une application comportant déjà plusieurs profils fonctionnant simultanément élargit davantage la nouvelle application. Dans le domaine du divertissement audio, un concept activé par logiciel appelé « break-in » permet de commander le même flux audio à partir de plusieurs appareils. Lors une fête, les invités pourraient choisir à tour de rôle leur musique préférée à partir de la même bibliothèque de contenu audio Bluetooth. La création d'un mode « juke-box » permettrait à des utilisateurs finaux d'ajouter leurs morceaux préférés à la liste de lecture. La solution de microcontrôleur permet au mode « break-in » d'autoriser jusqu'à sept smartphones à commander le même système audio avec différents flux et commandes audio indépendants.

Le mariage de l'audio et de la commande

Même si le groupe Bluetooth SIG a créé et ratifié plus de 30 profils, les quatre profils suivants sont probablement les plus importants dans les débuts du nouveau monde des applications de commande et audio Bluetooth.
  • Profil de port série (SPP) — Remplacement standard pour la transmission de données RS-232 sans fil
  • Profil de distribution audio avancée (A2DP) — Profil le plus fréquent pour diffuser de l'audio multimédia. Diffuse des données audio à l'aide d'un codec SBC et capable de prendre en charge des codecs de compression MPEG et AAC.
  • Profil de commande à distance audio/vidéo (AVRCP) — Profil de commande à distance standardisé pour les téléviseurs, le home cinéma, etc. Utilisé généralement en conjonction avec le profil A2DP. Une fonctionnalité récemment ratifiée est la synchronisation audio, qui signifie que lorsque, par exemple, le volume est modifié sur le combiné, il est également ajusté respectivement sur le système commandé par le combiné.
  • Profil mains libres (HFP) — Appels téléphoniques à distance
Dans une implémentation logicielle, il est possible d'activer simultanément plusieurs profils, ce qui donne au concepteur une flexibilité incomparable pour créer de nouvelles applications. En d'autres termes, l'intégration d'un flux de données au flux audio permet la création de systèmes avancés.

La phase de conception doit inclure des dispositions pour l'émulation, le test et la certification (à ne pas oublier pour Bluetooth). Par conséquent, un système de développement complet irait bien plus loin que l'audio et intégrerait des fonctionnalités pour commander des affichages, des boutons, des DEL, des microphones et de la musique. Il intégrerait également une capacité de traitement numérique des signaux (DSP) pour des fonctions de traitement audio. L'aspect de commande du système, et pas seulement la musique en elle-même, est un motif convainquant pour utiliser un microcontrôleur 32 bits.

Comme point de départ à une explication des éléments de base à considérer pour concevoir ce type de fonctionnalité, la Figure 1 illustre le chemin des données et les éléments principaux d'un système audio Bluetooth de base.

En regardant cette illustration du point de vue du nouvel ensemble d'applications audio + commande, le côté source est le téléphone mobile, qui diffuse des données encodées (audio et commande) pouvant être chiffrées. Les données trouvent finalement leur chemin vers la couche de bande de base (une radio Bluetooth). Le flux de données remonte la pile de protocoles côté récepteur, qui peut être l'un des dispositifs ou appareils intelligents décrits plus tôt.

La solution logicielle inclut à la fois la pile multi-profils et une couche d'applications qu'il est possible de modifier dans le code source. La pile gère la communication de profils, et peut interagir avec un certain nombre d'éléments d'application supplémentaires, notamment des décodeurs audio, le filtrage numérique, la conversion source-rapport et des fonctionnalités de commande. Plusieurs décodeurs sont disponibles pour l'audio, prenant en charge la diffusion audio Bluetooth A2DP, notamment SBC, AAC et MP3. Cette solution modulaire permet au fabricant de dispositifs de différencier les solutions potentielles selon les fonctionnalités, les commandes et les coûts mémoire.

Image de communication Bluetooth de base Microchip

Figure 1 : Communication Bluetooth de base (avec l'autorisation de Microchip Technology).

Kits de développement de fournisseurs

La création de kits de démarrage et de développement pour des systèmes du côté récepteur du lien de communications est une entreprise majeure. S'ils permettent aux concepteurs de développer plus facilement leurs applications, les tests de compatibilité et d'interopérabilité représentent un problème crucial pour les fournisseurs de microcontrôleurs qui proposent ces kits.

Il existe de nombreuses options de systèmes d'exploitation mobiles, notamment Android, iOS d'Apple, Embedded Windows de Microsoft et BlackBerry, chacun dans de nombreuses versions. Pour garantir un produit fiable pour l'utilisateur final, le fournisseur de kit doit effectuer des centaines de tests de compatibilité et d'interopérabilité. L'assurance que la conception réussira ces tests avec peu ou pas de travail supplémentaire devrait être l'une des préoccupations majeures des concepteurs lors du choix d'un kit.

Microchip Technology est l'un des acteurs dans cet espace de conception. Microchip utilise actuellement ses dispositifs PIC32MX3 et PIC32MX4 dans ses kits de développement audio Bluetooth. L'illustration dans la Figure 2 présente la configuration matérielle de base.

Image de la configuration matérielle du kit de base de Microchip

Figure 2 : Configuration matérielle de kit de base Microchip (avec l'autorisation de Microchip Technology).

Le kit de développement audio Bluetooth DV320032 de la société est un exemple. Il est alimenté par un dispositif PIC 32 bits milieu de gamme 100 MHz avec jusqu'à 100 E/S et 512 Ko de mémoire Flash/128 Ko de RAM. Le kit de base intègre une carte fille Bluetooth HCI qui prend en charge l'émetteur-récepteur Bluetooth CSR8811 de Cambridge Silicon Radio (des modules plus économiques sont également disponibles). Sont également inclus une carte fille CNA avec un CNA 24 bits 192 kHz et une sortie casque, des interfaces USB hôte et périphérique, un écran LCD couleur de 2 pouces et des fonctions de commande de bouton. Pour faciliter la tâche du développeur, le kit permet également de nombreuses fonctions telles que l'option Apple Authentication Adapter, une interface de débogage et une mémoire Flash SPI.

Un module d'interface programmable (PIM) situé sur le dessus du microcontrôleur donne au développeur l'option de changer le processeur lui-même sans perdre un temps précieux. Il fournit également la flexibilité au concepteur de remplacer le microcontrôleur standard par des dispositifs à performances plus élevées ou plus économiques dans le futur.

La disponibilité du micrologiciel constitue toujours un problème clé pour les kits de développement. Microchip fournit le micrologiciel illustré à la Figure 3.

Image des micrologiciels de kit de développement Microchip disponibles

Figure 3 : Micrologiciels du kit de développement Microchip disponibles (avec l'autorisation de Microchip Technology).

Microchip propose également un kit de démarrage plus haut de gamme basé sur son produit phare, le microcontrôleur 32 bits, 200 MHz PIC32MZ2048ECH144. Le kit de démarrage de connectivité embarquée DM320006 PIC32MZ peut être connecté avec un autre système pour activer la capacité Bluetooth. La carte Multimedia Expansion Board 2 (DM320005-2) inclut un lecteur graphique sans contrôleur, un écran WQVGA de 4,3 pouces, la commande de bouton PCAP (Projected Capacitive Touch) multipoint, une caméra VGA, le Wi-Fi, un module Bluetooth HCI, un codec audio stéréo 24 bits basé sur le dispositif AK4953 d'AKM Semiconductor, un accéléromètre à 3 axes et un capteur de température. Une capacité de démonstration à fonctionner avec la structure logicielle MPLAB de Microchip est en cours d'intégration pour prendre en charge des applications audio et de données Bluetooth.

Quelle est la solution appropriée ?

Il faut reconnaître que la sophistication et la complexité des applications audio + commande Bluetooth peuvent rendre les développeurs perplexes sur la manière de démarrer le développement. Le dispositif stratégique, cela va sans dire, est le microcontrôleur lui-même. Comme mentionné précédemment, les microcontrôleurs 32 bits et leurs ensembles d'instruction 32 bits sont parfaits pour associer l'audio et la commande. Pour prendre une première décision sur le kit à utiliser, les développeurs peuvent se référer au Tableau 1, qui décrit les applications et leurs exigences MIPS et mémoire correspondantes.

Description Exigence de ressources MIPS crête
Flash (Ko) RAM (Ko)
Pile Bluetooth (A2DP+AVRSPP+SBC) + prise en charge de connexion USB audio type A Android Open Accessory et audio Samsung avec support de connexion USB mini-B. 271,734 38,8 ~30
Pile Bluetooth (A2DP+AVRCP+SPP+ décodeur AAC) + graphismes. Cette démonstration utilise le décodeur audio AAC de qualité supérieure à la place du décodeur SBC. 251,5 34,9 ~65
Pile de données Bluetooth (SPP uniquement). Cette démonstration non audio, données uniquement ne fournit pas de prise en charge audio USB. 139,6 7,12 ~8
Pile Bluetooth (A2DP+AVRCP+SPP+ décodeur SBC) + graphismes. 190,58 34,6 ~30
Pile Bluetooth (A2DP+AVRCP+SPP+AAC) + prise en charge de connexion USB type A audio Android Open Accessory et audio Samsung avec support de connexion USB mini-B. Cette démonstration utilise le décodeur audio AAC de qualité supérieure à la place du décodeur SBC. 332,7 39,7 ~65

Tableau 1 : Exemples d'exigences de ressources d'applications incluant des applications, une pile Bluetooth et des éléments d'affichage graphique (avec l'autorisation de Microchip Technology).

La première colonne (Description) indique les profils Bluetooth et les autres applications en cours d'exécution. Il ne s'agit que d'exemples à des fins de démonstration, mais quand ils sont associés, ils indiquent que la mémoire et les MIPS de crête peuvent varier considérablement entre l'application la plus simple (pile de données Bluetooth uniquement) et les applications les plus exigeantes (plusieurs profils et décodeur ACC haute qualité).

Conclusion

Une nouvelle ère de développement Bluetooth qui combine l'audio et la commande de données va encourager le développement d'un grand nombre de nouvelles applications avec plusieurs profils Bluetooth activés simultanément, plusieurs points de commande et plusieurs connexions. Ces applications peuvent être difficiles à développer, en particulier parce qu'elles doivent réussir des tests de compatibilité et d'interopérabilité Bluetooth. Plusieurs de ces applications rendent également indispensable l'utilisation d'un microcontrôleur 32 bits, pas nécessairement pour la profondeur des données, mais pour les ressources d'ensemble d'instructions.

Les kits de développement et les solutions micrologicielles proposés par les fournisseurs de puces réduisent considérablement les efforts d'ingénierie, mais il n'existe aucune solution adaptée à tous les besoins. Les développeurs doivent faire preuve d'attention pour choisir la solution la plus appropriée à leur application avec une considération pour la disponibilité des micrologiciels ainsi que les performances matérielles.

Pour plus d'informations sur les composants mentionnés dans cet article, cliquez sur les liens fournis pour accéder aux pages produits sur le site Web de DigiKey.

(Note de l'éditeur : cet article est basé sur une présentation réalisée par Michael Skow, Responsable du groupe d'ingénierie des applications de la division MCU32 de Microchip Technology. La présentation de Michael Skow s'est déroulée lors de la conférence MASTERs 2014 de Microchip au mois d'août 2014 à Phoenix, Arizona.)

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.

À propos de l'auteur

Jack Shandle

Article authored by Jack Shandle of e-ContentWorks.

À propos de l'éditeur

Electronic Products

Le magazine Electronic Products et le site ElectronicProducts.com s'adressent aux ingénieurs et aux directeurs de l'ingénierie responsables de la conception de systèmes et d'équipements électroniques.