Entwicklung kostengünstiger Bluetooth-Audio-Anwendungen mit 32-Bit-Mikrocontrollern

Von Jack Shandle

Zur Verfügung gestellt von Electronic Products


Bluetooth und Audio-Anwendungen wurden praktisch füreinander entwickelt. Der Markterfolg von Bluetooth in den ersten zehn Jahren beruhte fast vollständig auf der Integration in Audio-Headsets. Als die Smartphones auf der Bildfläche erschienen, wurde Bluetooth zum selbstverständlichen Standard, der schon frühzeitig auf fast jedem Smartphone-Chipsatz Platz fand. Das Streamen von Musik auf dem Smartphone ist allseits beliebt.

Bluetooth und die Smartphone-Technologie entwickelten sich kontinuierlich weiter, während die Anwendungen kaum Schritt halten konnten – eigentlich ein Gegensatz zum üblichen Ablauf. Dieser Umstand beginnt sich nun jedoch zu ändern, da sich die Ära der Bluetooth-Mastergeräte, die mit einem einzigen Bluetooth-Slavegerät kommunizieren, ihrem Ende zuneigt.

Für Entwickler bedeutet dies: multiple Protokolle, multiple Verbindungen, multiple Geräte und eine völlig neue Welt der Audio-Anwendungen. Smartphone-Nutzer wünschen sich einen größeren Funktionsumfang und Bluetooth ist bereit.

Der Ausgangspunkt: A2DP

Das Bluetooth Advanced Audio Distribution Profile (A2DP) ermöglicht seit einem Jahrzehnt bequeme Drahtlos-Stereo-Audiofunktionen für eine große Bandbreite an Geräten. Viele Nutzer wünschen sich inzwischen jedoch neue Steuermöglichkeiten für Audio-Entertainment auf dem Smartphone, die ursprünglich in dieser Form nicht vorgesehen waren.

Durch die Integration von zusätzlichen Profilen wie AVRCP (Audio/Video Remote Control Profile) können Smartphones als Wireless-Fernbedienung für weitere Bluetooth-Audiogeräte im Haushalt verwendet werden. Auf diese Weise können wesentlich komplexere Anwendungen entstehen.

Für den Endnutzer sollen diese Anwendungen kaum wahrnehmbar interagieren. Die Konstrukteure stehen hingegen vor großen Herausforderungen im Bereich der Softwareentwicklung und -zertifizierung, insbesondere bei der Implementierung in Zubehörteilen, die innerhalb eines Systems kompatibel sein sollen.

Im Hinblick auf die Architektur stehen den Konstrukteuren zwei Optionen zur Auswahl. In den vergangenen zehn Jahren sah die übliche Architektur vor, dass das Modul die meisten Funktionen in der Hardware ausführte – Kopplung, Verbindung und Audio-Streaming. Mit anderen Worten: Das Bluetooth-Modul war ein Audiocodec, der für die Ausführung dieser Funktionen programmiert war. Die zweite Architekturoption ist die Ausführung praktisch aller Funktionen über Software. Hier kommen die 32-Bit-Mikrocontroller ins Spiel. Durch Implementierung des Bluetooth-Stacks in die Software wird die Funkkomponente zu einer sehr dünnen Schicht in der Architektur. Dadurch haben Konstrukteure die Möglichkeit, überall, jederzeit und für eine große Zahl von Konfigurationen auf den Datenstream zuzugreifen.

Die gleichzeitige Nutzung der Bluetooth-Profile SSP (Serial Port Profile) und A2DP (Advanced Audio Distribution Profile) ist mit herkömmlichen Bluetooth-Modulen nicht möglich. Durch Ermöglichung des Software-Zugriffs auf den Bluetooth-Protokoll-Stack können Konstrukteure Anwendungen erstellen, die mehrere Geräteverbindungen aufrechterhalten – mit dem Audiostream für die Wiedergabe sowie zur Steuerung des Datenstreams und anderer Aufgaben, die normalerweise nicht mit Audiofunktionen verbunden sind. Kurz gesagt: Ein Audiostream und ein Datensteuerungsstream arbeiten parallel, ohne sich gegenseitig zu unterbrechen.

Kombination von Audio- und Datensteuerungsfunktionen

Ein einfaches Beispiel wäre die Verbindung eines Beleuchtungssystems mit einem Lautsprechersystem. Der Nutzer könnte in diesem Fall die Lichtstärke über sein Smartphone steuern, während er Musik mit diesem hört. Mit einer komplexeren Erweiterung dieser Anwendung wäre die vollständige Steuerung des Beleuchtungssystems möglich – z. B. für die Farbe, Intensität und Reaktion auf die Musik bei gleichzeitiger Steuerung des Audiostreams über das Smartphone. Im Rahmen des „Smart Home“-Konzepts können die Steuermöglichkeiten auf Thermostate, Kaffeemaschinen, Garagentoröffner und andere Bluetooth-fähige Anwendungen erweitert werden – und das alles mit einer Komponente, die ursprünglich als konventioneller Audio-Codec konzipiert war.

Die Steuerung über Bluetooth bietet bei diesen Anwendungen einen wichtigen Sicherheitsvorteil, da der Datenstream so konfiguriert werden kann, dass er vom Internet der Dinge unabhängig bleibt. Wohl nur wenige Nutzer möchten den einfachen Vorgang der Steuerung ihres Garagentoröffners den Unsicherheiten eines Cloud-Betriebs überlassen, wie es z. B. bei einer WLAN-Lösung in der Regel der Fall wäre.

Durch die Kombination von Audio- und Datensteuerung in einer Anwendung, in der bereits mehrere Profile simultan arbeiten, werden die neuen Anwendungsmöglichkeiten zusätzlich erweitert. Im Bereich der Audiounterhaltung bietet das softwarebasierte Konzept „Break-in“ die Möglichkeit, denselben Audiostream über mehrere Mobilgeräte zu steuern. So könnten beispielsweise die Gäste auf einer Party abwechselnd ihre Lieblingsmusik aus einer einzigen Bluetooth-basierten Audiobibliothek wählen. Bei Verwendung eines „Jukebox-Modus“ könnten die Endnutzer ihre Lieblingsmusik einer Playlist hinzufügen. Im Break-in-Modus können mit der Mikrocontroller-Lösung bis zu sieben Smartphones dasselbe Audiosystem mit unterschiedlichen, unabhängigen Audiostreams und -steuerungen bedienen.

Audio und Steuerung in Verbindung

Die Bluetooth SIG hat mehr als 30 Profile entwickelt und bestätigt. Für die Entwicklung des neuen Anwendungsbereichs „Bluetooth Audio + Control“ sind zunächst jedoch in erster Linie die folgenden vier Profile von Bedeutung:
  • Serial Port Profile (SPP) – Standardersatz für drahtlose RS-232-Datenübertragung
  • Advanced Audio Distribution Profile (A2DP) – Gebräuchlichstes Profil für das Streamen von Multimedia-Audio. Streamt Audio über SBC-Codec und kann die Komprimierungscodecs MPEG und AAC unterstützen.
  • Audio Video Remote Control Profile (AVRCP) – Standardisiertes Fernbedienungsprofil für Fernseher, Heimkino usw. Üblicherweise in Verbindung mit A2DP genutzt. Eine kürzlich bestätigte Funktion ist Audio-Sync, womit beispielsweise bei Änderung der Lautstärke auf dem Mobilgerät auch die Lautstärke auf dem System angepasst werden kann, das mit dem Mobilgerät gesteuert wird.
  • Hands-Free Profile (HFP) – Profil für Telefonate über Freisprecheinrichtung
In einer Software-Implementierung können mehrere Profile gleichzeitig aktiv sein, was dem Konstrukteur eine große Flexibilität für die Entwicklung neuer Anwendungen bietet. Anders formuliert: Durch Integration eines Datenstreams in den Audiostream wird die Entwicklung komplexerer Systeme möglich.

In der Entwicklungsphase ist der entsprechende Aufwand für die Emulation, das Testen und (bei Bluetooth unabdingbar) für die Zertifizierung zu berücksichtigen. Ein vollständiges Entwicklungssystem würde daher weit über Audio hinausgehen und Funktionen zur Steuerung von Displays, Tasten, LEDs, Mikrofonen und Musik integrieren. Es müsste auch DSP-Möglichkeiten für Audioverarbeitungsfunktionen umfassen. Der Steueraufwand für das System – im Unterschied zu Musikfunktionen allein – legt den Einsatz eines 32-Bit-Mikrocontrollers nahe.

Zur Erläuterung der Entwicklungsgrundlagen für diese Art von Funktionen sind in Abbildung 1 der Datenpfad und die primären Elemente eines einfachen Bluetooth-Audiosystems dargestellt.

Betrachtet man diese Abbildung aus der Perspektive der neuen „Audio + Control“-Anwendungen, wäre die Quellseite das Mobiltelefon, das codierte Daten (Audio und Steuerung) streamt, welche auch verschlüsselt sein können. Die Daten finden zunächst ihren Weg in die Baseband-Schicht (Bluetooth Radio). Anschließend steigt der Datenstream auf der Senkenseite durch den Protokollstapel auf. Bei der Senke kann es sich um eines der Geräte bzw. Smart Appliances handeln, die eingangs beschrieben wurden.

Zur Software-Lösung gehören der Multi-Profil-Stapel sowie eine Anwendungsschicht, die im Quellcode verändert werden kann. Der Stapel verwaltet die Profilkommunikation und kann mit einer Vielzahl zusätzlicher Anwendungselemente interagieren, wie Audio-Decodern, digitaler Filterung, Quellratenkonvertierung und Steuerfunktionen. Es sind mehrere Audio-Decoder verfügbar, die Bluetooth-A2DP-Audiostreaming unterstützen, z. B. SBC, AAC und MP3. Diese modulare Lösung bietet Geräteherstellern die Möglichkeit, ganz unterschiedliche Lösungen zu gestalten, je nach gewünschten Funktionen, Steuerungen und Speicherkosten.

Bild von Microchip: grundlegende Bluetooth-Kommunikation

Abbildung 1: Grundlegende Bluetooth-Kommunikation (Bild mit Genehmigung von Microchip Technology).

Entwicklungskits für Hersteller

Die Erstellung von Entwicklungs- und Starterkits für Systeme auf der Senkenseite der Kommunikationsverbindung ist kein einfaches Unterfangen. Zwar wird die Entwicklung von Anwendungen damit für Konstrukteure einfacher, doch die erforderlichen Kompatibilitäts- und Interoperabilitätstests sind für jeden MCU-Anbieter, der diese Kits verkauft, ein kritisch wichtiger Aspekt.

So bestehen bei den mobilen Betriebssystemen zahlreiche Optionen, wie Android, Apple iOS, Microsoft Embedded Windows und Blackberry – jeweils mit verschiedenen Betriebssystemversionen. Um ein voll funktionsfähiges Endnutzerprodukt gewährleisten zu können, muss der Anbieter Hunderte von Kompatibilitäts- und Interoperabilitätstests durchführen. Bei der Auswahl eines Kits sollten Konstrukteure vorrangig prüfen, inwiefern gewährleistet werden kann, dass das Design diese Tests mit minimalen oder sogar ganz ohne Änderungen besteht.

Microchip Technology ist einer der wichtigen Player in diesem Designbereich. Der Anbieter setzt derzeit die Komponenten PIC32MX3 und PIC32MX4 in seinen Bluetooth-Audio-Entwicklungskits ein. Abbildung 2 zeigt die grundlegende Hardware-Konfiguration.

Bild der Hardware-Konfiguration des Basiskits von Microchip

Abbildung 2: Hardware-Konfiguration des Basiskits von Microchip (mit Genehmigung von Microchip Technology).

Ein Beispiel ist das Bluetooth-Audio-Entwicklungskit DV320032 von Microchip. Es wird mit einem 100-MHz-32-Bit-PIC der Mittelklasse mit bis zu 100 E/A und 512 KB Flash/128 K RAM betrieben. Teil des Basiskits ist eine Bluetooth-HCI-Zusatzkarte, die den Bluetooth-Receiver CSR8811 von Cambridge Silicon Radio unterstützt (auch kostengünstigere Module sind erhältlich). Ebenfalls integriert sind eine DAC-Zusatzkarte mit einem 24-Bit-192-kHz-DAC und Kopfhörerausgang, USB-Host- und Komponentenschnittstellen, ein 2-Zoll-Farb-LCD-Display und Tastensteuerfunktionen. Um die Entwicklungsarbeit zu erleichtern, unterstützt das Kit auch zahlreiche Funktionen wie die Apple Authentication Adapter-Option, eine Debugging-Schnittstelle und einen SPI-Flash-Speicher.

Ein PIM (programmierbares Schnittstellenmodul) auf dem Mikrocontroller gibt dem Entwickler die Möglichkeit, den Prozessor auszutauschen, ohne wertvolle Designzeit zu verlieren. Es bietet zudem die Flexibilität, den Standard-Mikrocontroller zu einem späteren Zeitpunkt durch kostengünstigere oder leistungsstärkere Komponenten ersetzen zu können.

Die Firmware-Verfügbarkeit ist bei Entwicklungskits immer eine zentrale Frage. Microchip liefert die in Abbildung 3 angegebene Firmware.

Bild: Erhältliche Entwicklungskit-Firmware von Microchip

Abbildung 3: Erhältliche Entwicklungskit-Firmware von Microchip (mit Genehmigung von Microchip Technology).

Microchip liefert auch ein aufwendigeres Starterkit, das auf dem Flaggschiff-32-Bit-Mikrocontroller basiert: das PIC32MZ2048ECH144 mit 200 MHz. Das Embedded-Connectivity-Starterkit DM320006 PIC32MZ kann mit anderen Systemen kombiniert werden, um Bluetooth-Funktionen zu unterstützen. Das Multimedia Expansion Board 2 (DM320005-2) umfasst ein Grafiklaufwerk ohne Controller, 4,3-Zoll-WQVGA-Display, Multi-Touch-PCAP-Tastensteuerung (Projected Capacitive Touch), VGA-Kamera, Wi-Fi, Bluetooth HCI-Modul, 24-Bit-Stereo-Audio-Codec basierend auf dem AK4953 von AKM Semiconductor, einen 3-Achsen-Beschleunigungsmesser und einen Temperatursensor. Eine Demo-Möglichkeit für Microchips Software-Framework MPLAB Harmony wird integriert, um Bluetooth-Daten- und -Audioanwendungen zu unterstützen.

Welche Lösung ist die richtige?

Angesichts der Komplexität von Bluetooth-Audio- und -Steueranwendungen können Entwickler vor der Frage stehen, wie und an welcher Stelle die Entwicklung begonnen werden soll. Die kritische Komponente ist immer der Mikrocontroller selbst. Wie bereits erläutert, eignen sich 32-Bit-Mikrocontroller und ihre 32-Bit-Befehlssätze ideal für die gleichzeitige Verwendung von Audio und Steuerung. Um eine erste Entscheidung über das geeignete Kit zu treffen, können Entwickler Tabelle 1 zu Rate ziehen, in der die Anwendungen und die entsprechenden Speicher- und MIPS-Anforderungen beschrieben sind.

Beschreibung Ressourcenanforderung Spitzen-MIPS
Flash (KB) RAM (KB)
Bluetooth-Stack (A2DP+AVRSPP+SBC) + Android Open Accessory Audio Typ-A-USB-Verbindungsunterstützung und Samsung Audio mit Mini-B-USB-Verbindungsunterstützung. 271,734 38,8 ~30
Bluetooth-Stack (A2DP+AVRCP+SPP+AAC-Decoder) + Grafik. Diese Demonstration verwendet den hochwertigeren AAC-Audio-Decoder anstelle des SBC-Decoders. 251,5 34,9 ~65
Bluetooth Data Stack (nur SPP). Diese Daten-Demonstration ohne Audio bietet keinen USB-Audio-Support. 139,6 7,12 ~8
Bluetooth-Stack (A2DP+AVRCP+SPP+SBC-Decoder) + Grafik. 190,58 34,6 ~30
Bluetooth-Stack (A2DP+AVRCP+SPP+AAC) + Android Open Accessory Audio Typ-A-USB-Verbindungsunterstützung und Samsung Audio mit Mini-B-USB-Verbindungsunterstützung. Diese Demonstration verwendet den hochwertigeren AAC-Audio-Decoder anstelle des SBC-Decoders. 332,7 39,7 ~65

Tabelle 1: Beispiele für Anwendungsressourcen-Anforderungen einschließlich Anwendung, Bluetooth-Stack und grafischen Anzeigeelementen (mit Genehmigung von Microchip Technology).

Die erste Spalte (Beschreibung) gibt an, welche Bluetooth-Profile und anderen Anwendungen ausgeführt werden. Auch wenn es sich hier nur um Beispiele zu Demonstrationszwecken handelt, ist im Vergleich erkennbar, dass die Speicher- und Spitzen-MIPS-Anforderungen von der einfachsten Anwendung (nur Bluetooth Data Stack) bis hin zur anspruchsvollsten Anwendung (multiple Profile und hochwertiger ACC-Decoder) deutlich voneinander abweichen können.

Zusammenfassung

Eine neue Ära der Bluetooth-Entwicklung, in der Datensteuerungs- mit Audiofunktionen kombiniert werden, wird die Einführung zahlreicher neuer Anwendungen fördern, die mehrere gleichzeitig aktivierte Bluetooth-Profile, multiple Steuerpunkte und multiple Verbindungen einsetzen. Der Entwicklungsprozess für diese Anwendungen kann sich schwierig gestalten, da aufwendige Bluetooth-Interoperabilitäts- und Kompatibilitätstests nötig sind. Viele dieser Anwendungen erfordern auch den Einsatz eines 32-Bit-Mikrocontrollers, nicht unbedingt aufgrund der Datentiefe, sondern aufgrund der erforderlichen Befehlssatz-Ressourcen.

Entwicklungskits und Firmware-Lösungen, die von Halbleiterherstellern angeboten werden, reduzieren den Entwicklungsaufwand erheblich, doch es gibt keine Lösung für alle Fälle. Entwickler sollten die richtige Lösung für ihre Anwendung im Hinblick auf die Firmware-Verfügbarkeit sowie Hardware-Leistung sorgfältig auswählen.

Weitere Informationen zu den in diesem Artikel beschriebenen Produkten finden Sie über die angegebenen Links zu den Produktseiten auf der DigiKey-Website.

(Hinweis des Herausgebers: Dieser Artikel basiert auf einer Präsentation von Michael Skow, Applications Engineering Group Lead der MCU32-Abteilung von Microchip Technology. Die Präsentation von Michael Skow wird auf der 2014 MASTERs Conference von Microchip vorgetragen, die im August in Phoenix im US-Bundesstaat Arizona stattfinden wird.)

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Jack Shandle

Article authored by Jack Shandle of e-ContentWorks.

Über den Verlag

Electronic Products

Das Magazin "Electronic Products" und "ElectronicProducts.com" dienen Ingenieuren und technischen Führungskräften, die für die Entwicklung elektronischer Geräte und Systeme verantwortlich sind.