32ビットMCUを使用した低コストのBluetoothオーディオアプリケーションの作成
Electronic Products の提供
2014-08-06
Bluetoothおよびオーディオアプリケーションは実際に、相互のために作成されました。 最初の10年間におけるBluetooth市場の成功はほとんど、オーディオヘッドセットへのその統合によりもたらされました。 スマートフォンが登場した時、Bluetoothは依然として自然な選択肢であり、ほぼすべてのスマートフォンチップセットで早期に使用されていました。 人々は、スマートフォンから音楽をストリーミングするのが大好きです。
Bluetoothとスマートフォンは進化を続けていますが、通常の一連事象の逆転で、アプリケーションは追いつくのが遅くなっています。 しかし、それは、1つのBluetoothマスターが1つのBluetoothスレーブデバイスに話しかけている時代が急速に終わりつつある中で、変化しています。
設計技術者にとって、これは、複数のプロトコル、複数の接続、複数のデバイス、そして素晴らしい新世界のオーディオアプリケーションの始まりを意味します。 スマートフォンユーザーは、より多くの選択肢を望み、Bluetoothの準備は整っています。
出発点:A2DP
BluetoothのAdvanced Audio Distribution Profile(A2DP)は、10年以上にわたって広範なデバイス向けに便利なワイヤレスステレオオーディオを実現しています。 しかし、消費者は現在、当初想像していなかった方法で、オーディオエンターテイメントを制御するためにスマートフォンを使用することを望んでいます。
Audio/Video Remote Control Profile(AVRCP)などの付加的なプロファイルと組み合わせると、スマートフォンは、ホームでの他のBluetoothオーディオデバイス用のワイヤレスリモート制御として使用することができ、そのアプリケーションは非常に高度なものとなることができます。
エンドユーザーにとって事実上シームレスであることを意図している一方で、これらのアプリケーションは、特に、エコシステム内での相互運用性を必要とするアクセサリでの実装時に、ソフトウェア開発および認証における大きな課題を設計技術者に示しています。
設計者は、アーキテクチャに関する2つの選択肢を有しています。 過去10年間、優勢なアーキテクチャでは、ハードウェアでペアリング、接続およびオーディオストリーミングなどのほとんどの機能をモジュールが行う必要がありました。 言い換えれば、Bluetoothモジュールは、これらの機能を実行するためにハードワイヤードされたオーディオコーデックでした。 アーキテクチャに関するもう1つの選択肢は、ソフトウェアでほぼすべての機能を実行することです。ここで、32ビットMCUが関わってきます。 ソフトウェアにおけるBluetoothスタックの実装により、実際の無線は、アーキテクチャでの非常に薄いレイヤに変換されます。 これにより、設計者は、いつでもどこでも、そして多くの構成用にデータストリームにアクセスすることができます。
BluetoothのSerial Port Profile(SPP)およびAdvanced Audio Distribution Profile(A2DP)を同時に使用することは、従来のBluetoothモジュールにとって可能ではありません。 Bluetoothプロトコルスタックへのソフトウェアアクセスを可能にすることで、設計者は、リスニング用のオーディオストリームとの複数のデバイス接続や、ストリームの制御用およびオーディオに通常関連しないその他機能の制御用の複数のデバイス接続を維持するアプリケーションを作成することができます。 言い換えれば、オーディオストリームおよび制御データストリームは、どちらかへの割り込みなしで同時に動作することができます。
オーディオをデータ制御と組み合わせる
分かりやすい例として、卓上灯とスピーカシステムの組み合わせがあります。この組み合わせにより、ユーザーは、音楽を聴きながらスマートフォンハンドセットから光レベルを制御できます。 このアプリケーションの高度な拡張により、スマートフォンハンドセットから、照明システムにおける色、強度、音楽への応答などを制御できるとともに、オーディオストリームを制御することが可能です。 「スマートホーム」の概念をアプリケーションに追加することで、かつては従来のオーディオコーデックだったものから、サーモスタット、コーヒーメーカー、ガレージドアオープナーや、その他のBluetooth対応器具の制御に制御の側面が拡大します。
Bluetooth制御には、これらのアプリケーションでセキュリティの利点があります。これは、モノのインターネット(IoT)から独立するようにデータストリームを構成できるためです。 ガレージドアオープナーを制御するシンプルなプロセスを、クラウドでの動作という不確実性にさらすことを望む人はほとんどいません。クラウドでの動作は、たとえば、Wi-Fiソリューションに最も当てはまります。
同時に動作する複数のプロファイルをすでに持つアプリケーションでオーディオとデータ制御を組み合わせると、新たなアプリケーションをさらにいっそう拡大することができます。 オーディオエンターテイメント領域において、「ブレークイン」と呼ばれるソフトウェア対応の概念により、複数のハンドセットは、同じオーディオストリームを制御することが可能です。 パーティで、人々は、同じBluetooth対応オーディオコンテンツライブラリから、お気に入りの音楽を交代で選択することができます。 「ジュークボックス」モードをイネーブルにすることで、エンドユーザーは、お気に入りの曲をプレイリストに追加することが可能です。 MCUソリューションにより、「ブレークイン」モードがイネーブルされ、最大7つのスマートフォンが、異なる独立したオーディオストリームおよび制御を備えた同じオーディオシステムを制御することができます。
オーディオを制御と結合する
Bluetooth SIGは、30を上回るプロファイルの作成および承認を行ってきましたが、Bluetoothオーディオおよび制御の新しいアプリケーション領域の初期の進化において次の4つが最も重要である可能性があります。
- Serial Port Profile(SPP) — ワイヤレスRS-232データ送信の標準代替。
- Advanced Audio Distribution Profile(A2DP) — マルチメディアオーディオのストリーミング用の最も一般的なプロファイル。 SBCコーデックを介してオーディオをストリーミングし、MPEGおよびAAC圧縮コーデックをサポート可能。
- Audio Video Remote Control Profile(AVRCP) — TV、ホームシアターなど向けの標準化されたリモート制御プロファイル。A2DPとともに使用されるのが一般的。 最近承認された機能はオーディオ同期で、これは、たとえば、ハンドセットで音量が変更されると、ハンドセットによって制御されているシステムの音量もそれぞれ調整されることを意味します。
- Hands-Free Profile(HFP) — リモート通話。
設計フェーズには、エミュレーション、テスト、および(Bluetoothでは忘れてはいけない)認証への準備が含まれる必要があります。 したがって、完全な開発システムは、オーディオをはるかに超え、ディスプレイ、ボタン、LED、マイクロフォン、および音楽を制御するための機能を統合するでしょう。 また、それには、オーディオ処理機能用のDSP機能が含まれるでしょう。 単に音楽そのものだけではなく、システムの制御の側面が、32ビットMCUを使用する説得力のある理由を作り出しています。
このタイプの機能を作成するための設計の基本事項を説明する開始点として、図1は、基本的なBluetoothオーディオシステムのデータ経路および主要な要素を示しています。
新しいセットのオーディオおよび制御アプリケーションの観点からこの図を見ると、ソース側は携帯電話で、この携帯電話は、暗号化される可能性がある符号化データ(オーディオおよび制御)をストリーミングします。 このデータは、最終的にベースバンドレイヤ(Bluetooth無線)に到達します。 データストリームは、シンク側のプロトコルスタックを上がり、これは、前述したどんなデバイス/スマート器具でも可能です。
ソフトウェアソリューションには、ソースコードで変更が可能なマルチプロファイルスタックとアプリケーションレイヤの両方が含まれます。 このスタックはプロファイル通信を扱い、オーディオデコーダ、デジタルフィルタリング、ソースレート変換、そして制御機能を含むさまざまな付加的アプリケーション要素とやりとりすることができます。 オーディオ向けに、SBC、AAC、およびMP3を含むBluetooth A2DPオーディオストリーミングをサポートする複数のデコーダが利用可能です。 このモジュラーソリューションにより、デバイスメーカーは、機能、制御、およびメモリコストに基づいて可能性のあるソリューションを差別化することができます。

ベンダー開発キット
通信リンクのシンク側でのシステム向けに開発およびスターターキットを作成することは、主要な作業です。 設計者によるアプリケーション開発をより容易にする一方で、互換性および相互運用性テストは、これらのキットを提供するすべてのMCUベンダーにとって非常に重要な問題です。
Android、AppleのIOS、MicrosoftのEmbedded Windows、およびBlackberryを含む多くのモバイルOSオプションがあり、各モバイルOSオプションには多くのOSバージョンがあります。 実行可能なエンドユーザー製品を確保するために、キットベンダーは、数百の互換性および相互運用性テストを実行する必要があります。 リワークを最小限に抑え、またはリワークなしで、設計がこれらのテストに合格するという保証は、キットを選択する際、設計者にとって質問リストの上位にあるはずです。
Microchip Technologyは、この設計領域における参加企業の1社です。 現在、同社のBluetoothオーディオ開発キットで同社のPIC32MX3およびPIC32MX4デバイスを利用しています。 図2は、基本的なハードウェア構成を示しています。

具体例として、同社のDV320032 Bluetoothオーディオ開発キットがあります。 この製品は、最大100個のI/Oおよび最大512KBのフラッシュ/最大128KのRAMを備えた100MHzミッドレンジ32ビットPICデバイスによって駆動されます。 この基本的なキットは、Cambridge Silicon RadioのCSR8811 Bluetoothトランシーバ(また、より低コストのモジュールが利用可能)をサポートするBluetooth HCIドーターボードを統合します。 また、DACドーターボードが含まれています。このDACドーターボードは、24ビット192kHzのDACおよびヘッドフォン出力、USBホストおよびデバイスインターフェース、2インチのカラーLCDディスプレイおよびボタン制御機能を備えています。 開発者のタスクをより容易にするために、このキットはまた、Apple認証アダプタオプション、デバッギングインターフェース、およびSPIフラッシュメモリなどの多くの機能を駆動します。
MCUの上部にあるプログラム可能インターフェースモジュール(PIM)は、貴重な設計時間を失うことなく、プロセッサそのものを取り換えるというオプションを開発者にもたらします。 これはまた、今後、より低コストまたはより高性能のデバイスと標準MCUを置き換える柔軟性を設計者に提供します。
ファームウェアの利用可能性は常に、開発キットの主要な問題です。 Microchipは、図3で示すファームウェアを提供します。

Microchipはまた、よりハイエンドのスターターキットを提供しています。このスターターキットは、同社の主要な32ビットMCUである、200MHz PIC32MZ2048ECH144をベースにしています。 DM320006 PIC32MZ組み込みコネクティビティスターターキットは、Bluetooth能力を実現するために、別のシステムと嵌合することができます。 マルチメディア拡張ボード2(DM320005-2)には、コントローラレスグラフィックスドライブ、4.3インチの WQVGAディスプレイ、マルチタッチ投影型静電容量式タッチ(PCAP)ボタン制御、VGAカメラ、Wi-Fi、Bluetooth HCIモジュール、AKM SemiconductorのAK4953をベースにする24ビットのステレオオーディオコーデック、3軸加速度計、および温度センサが含まれています。 Bluetoothデータおよびオーディオアプリケーションをサポートするために、MicrochipのMPLAB Harmonyソフトウェアフレームワークとともに動作するデモンストレーション能力が統合されています。
どのソリューションが適切か?
確かに、Bluetoothオーディオおよび制御アプリケーションの高度性や複雑さにより、開発者は、開発の開始方法について少し当惑したままとなる可能性があります。 もちろん、重要なデバイスはMCUそのものです。 前述したように、32ビットMCUおよびそれらの32ビット命令セットは、オーディオと制御を同時に組み合わせるのに理想的です。 どのキットを使用すべきかについて最初に選択するために、開発者は表1を参照することができます。この表には、アプリケーションと対応するメモリおよびMIPS要件が記載されています。
| 説明 | リソース要件 | ピークMIPS | |
| フラッシュ(KB) | RAM(KB) | ||
| Bluetoothスタック(A2DP+AVRSPP+SBC)とAndroid Open AccessoryオーディオタイプA USB接続サポート、およびmini-B USB接続サポートを備えたSamsungオーディオ。 | 271.734 | 38.8 | ~30 |
| Bluetoothスタック(A2DP+AVRCP+SPP+AACデコーダ)とグラフィックス。 このデモンストレーションは、SBCデコーダの代わりに、より高品質のAACオーディオデコーダを使用します。 | 251.5 | 34.9 | ~65 |
| Bluetoothデータスタック(SPPのみ)。 このデータのみの非オーディオデモンストレーションは、USBオーディオサポートを提供しません。 | 139.6 | 7.12 | ~8 |
| Bluetoothスタック(A2DP+AVRCP+SPP+SBCデコーダ)とグラフィックス。 | 190.58 | 34.6 | ~30 |
| Bluetoothスタック(A2DP+AVRCP+SPP+AAC)とAndroid Open AccessoryオーディオタイプA USB接続サポート、およびmini-B USB接続サポートを備えたSamsungオーディオ。 このデモンストレーションは、SBCデコーダの代わりに、より高品質のAACオーディオデコーダを使用します。 | 332.7 | 39.7 | ~65 |
表1:アプリケーション、Bluetoothスタック、およびグラフィカルディスプレイエレメントを含むアプリケーションリソース要件の例(Microchip Technologyの提供)。
最初の列(説明)は、どのBluetoothプロファイルおよびその他アプリケーションが実行しているかを示します。 それらは、デモンストレーションの目的での例にすぎませんが、グループとして、最もシンプルなアプリケーション(Bluetoothデータスタックのみ)から、最も要求の厳しいアプリケーション(複数のプロファイルおよび高品質のACCデコーダ)に至るまで、メモリおよびピークMIPSが大きく異なる可能性があることを明らかにしています。
結論
データ制御をオーディオと組み合わせる新時代のBluetooth開発は、同時にアクティブ化される複数のBluetoothプロファイル、複数の制御ポイント、および複数の接続を特長とする多くの新たなアプリケーションの成長を促進するでしょう。 これらのアプリケーションは、特に、Bluetooth相互運用性および互換性テストに合格する必要があるため、開発が困難となる可能性があります。 また、これらのアプリケーションの多くは、必ずしもデータの深さのためというわけではなく、命令セットのリソースのために32ビットMCUの利用が必要です。
シリコンベンダーが提供する開発キットおよびファームウェアソリューションは、エンジニアリングの労力を大幅に低減しますが、すべての用途に適したソリューションはありません。 開発者は、ファームウェアの利用可能性とハードウェア性能を考慮に入れて、アプリケーションに適したソリューションを入念に選択する必要があります。
この記事で扱っている部品の詳細については、このページにあるリンクを使用して、DigiKeyウェブサイトの製品ページにアクセスしてください。
(編集者の注釈:この記事は、Microchip TechnologyのMCU32部門のアプリケーションエンジニアリンググループリーダーであるMichael Skow氏によるプレゼンテーションに基づいています。 Skow氏のプレゼンテーションは、アリゾナ州フェニックスで8月に開かれたMicrochipの2014 MASTERs会議で行われました。)
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。


