USB Type-C付きBluetooth 5.0 DIPモジュール MZ-BM83A
ヘッドホン直結,DSP搭載,$\mathrm{I}^2\mathrm{S}$対応,ファームウェア書き換え可
|
|
写真1 2.54mmピッチのDIP基板に,Bluetooth5.0対応のワイヤレス・オーディオ・モジュールBM83を実装したキット MZ-BM83A
|
写真2 プリント基板を製作して,本キット(MZ-BM83A)を搭載したハンディBluetoothオーディオ
|
USB Type-Cから+5Vを給電すると,青色のステータスLEDが点灯して,ヘッドホンから音が出る.本キットだけで,Bluetoothオーディオが完成する
|
リモコン・ボタンで,スマートホンの音楽再生をコントロールできる.自社開発のプリント基板には独自のヘッドホン・アンプ回路を実装した
|
高完成度のBluetooth5.0対応!USB Type-C搭載で使いやすい
高品位のワイヤレス・オーディオも簡単製作
写真1に示すのは,Bluetooth組み込み用の定番モジュール BM83(マイクロチップ・テクノロジー製)を変換基板に実装したワイヤレス通信キット MZ-BM83Aです.Bluetooth5.0規格に準拠し,電源供給用とBM83のファームウェア書き込み用のUSB Type-Cを搭載しています.
キット(MZ-BM83A)は,BM83の主要な端子を外部に引き出しています.基板端には,ピン・ヘッダ挿入用のスルーホールと半円状の端面スルーホールを設けてあります.端面スルーホールを利用すれば,ピン・ヘッダを使わず,本基板を直接マザー基板にはんだで直付けできます.
完成度が高く多機能!定番のBluetoothモジュール BM83搭載
BM83は,オーディオ・コーデックを内蔵しています.USBコネクタ(USB Type-C)を通じてパソコンと接続し(図1),ヘッドホンやオーディオICを接続するだけで,Bluetooth5.0対応のオーディオ・システムが完成します(図2).DSP(Digital Signal Processor)も内蔵しているため,周波数特性(音質)を調整することも可能です.
外部からマイク音声を入力できるライン入力機能も備えています.$\mathrm{I}^2\mathrm{S}$対応の高性能なオーディオ・コーデックや,再生/停止/音量を調節するボタン類を外付けすることもできます.
|
図1 本キットとヘッドホンの接続
|
|
図2 本キットはCODEC(Coder/Decoder)とアンプを内蔵しているので,ヘッドホンを直結できる
|
7種の純正ファームウェアを書き込んで希望の動作を実現
USB Type-CでBM83のファームウェアを書き換えて希望の動作を実現
本キット(MZ-BM83A)上のUSB Type-Cコネクタとパソコンを接続すると,BM83内のファームウェアを更新できます.マイクロチップ・テクノロジは,ファームウェアと設定用ツールを用意しています.
図3に示すように,マイクロチップ製のビルド済みファームウェアをUSBやUART経由で書き込むことで,ユーザが希望する機能を実現できます.
|
図3 マイクロチップ・テクノロジ純正のBM83用ファームウェア
|
マイクロチップ・テクノロジ社のアプリケーション・ノート(AN3118 : IS2083/BM83 Bluetooth Applications Design Guide)より抜粋
|
図3の各プロファイルの意味を下記に示します.パソコン上でプロファイルの有効/無効化や動作を設定して,BM83モジュールに書き込みます.
-
A2DP(Advanced Audio Distribution Profile)プロファイル
高品質な音声データをオーディオ機器間で伝送するプロファイルです.スマートホンやパソコン,MP3プレーヤとBluetoothヘッドホンの間の通信で利用できます.
-
PBAP(Phone Book Access Profile)プロファイル
スマートホンなどの連絡先情報をvCard形式などで伝送できるプロファイルです.
-
iAP2(Interface(iPod) Accessory Protocol)プロファイル
曲名やアーティスト名を含む音楽や写真,ビデオのデータを伝送できるプロファイルです.
-
SPP(Serial Port Profile)プロファイル
RS-232Cのようなシリアル通信ができようになるプロファイルです.
-
MSPK(Multi SPeaKer)プロファイル
複数のBluetooth機器に音声データを配信できるプロファイルです.Microchip's Wireless Concert Technology(WCT)により実現されています.
-
AVCRP(Audio / Video Remote Control Profile)プロファイル
Bluetooth経由で,再生/停止/音量制御などのリモコン機能を実現できるプロファイルです.
-
Google Fast Pairプロファイル
Bluetooth機器スマートホンに近づけるとペアリング接続ができるプロファイルです.Android6.0以降のデバイスから利用できます.
ファームウェアが違う3つのBM83製品
BM83には3品種あり,違いは,出荷時に書き込まれる初期ファームウェアです(ハードウェアは同じ).前述のとおり,モジュール入手後にファームウェアを書き換えることにより動作を上書きすることができます.
-
BM83SM1-00AA
MSPK(Multi SPeaKer)機能を利用することを前提としたファームウェア(v.1.1)が書き込まれています.
-
BM83SM1-00AB
MSPK機能を利用することを前提としたファームウェア(v1.1,末尾AAよりも新しいファームウェア)が書き込まれています.
-
BM83SM1-00TA
オーディオ伝送主な利用として想定されたファームウェア(v1.0)が書き込まれています.
各ファームウェアの詳細は,マイクロチップ・テクノロジが提供するReleaseNoteを参照してください.
本キットの使い方
本キット(MZ-BM83A)は,ブレッドボードなどで利用するためのスルーホールと,ユニバーサル(蛇の目)基板や自作のプリント基板に直接実装できる,半円状の端面スルーホールを用意しています(図1).ブレッドボードで挿抜を繰り返す場合は,スルーホールを利用してピン・ヘッダを実装してください.
|
図4 本キット(MZ-BM83A)の端子機能とサイズ
|
ブレッドボードで使うときはスルーホールにピン・ヘッダを実装する.親基板に実装するときは,両端の半円状のスルーホールを使いはんだづけで直付けする.USB Type-Cコネクタの端子が基板の裏面に飛び出すことに留意
|
端面スルーホールを利用するときの留意点
プリント基板に直接実装する場合には,本キット(MZ-BM83A)の基板両端にある半円状のスルーホール(端面スルーホール)を利用してください.
ただし,USBコネクタ(CN1)の端子が,基板の裏面に飛び出していますので,受け側のマザー基板にこの端子の飛び出し部を避けるように穴を開けてください.端子の飛び出し長は,計算上約0.3mmですが,個体によって多少ばらつきます.
アンテナ・パターンの周辺に導体を置かない
BM83のアンテナ・パターンの近くに導体を配置すると,通信性能が劣化する可能性があります.BM83データシート(BM83 Bluetooth Stereo Audio Module Data Sheet)の Module Placement Guidelines項によれば,アンテナ・パターンから約15mmの範囲には導体を置かないように留意点として記載されています.
ヘッドホンを接続する
AOHPM端子(ピン7)は,ヘッドホンを駆動する内蔵アンプの動作基準です.0Vではありません.外部にアンプを設ける場合は,コンデンサで左右音声信号のDCバイアス電圧をカットしてください.
USBではなく,端子から+5Vを供給したいとき
USBコネクタではなく,ピン14とピン15から+5V電源を供給することも可能です.本キットを装置への組み込みに利用できるでしょう.
本キットをこのように利用する場合は,SB1のジャンパ接続をカットして,USB Type-Cの電源ピンを電気的に切り離してください.具体的には,はんだ吸い取り線などで,ショートしているはんだを除去します.
再生/停止ボタンやステータスLEDを外付けしたい場合
前述のように,AVCRPプロファイルを利用すれば,リモコンで再生/停止などの制御が可能になったり,LEDを外付けしてステータスを表示したりすることが可能になります(図5).キット上のLEDを無効にするときは,SB2とSB3をショートしているはんだを除去してください.
|
図5 再生/停止用のスイッチや外付けLEDを接続することもできる
|
LEDを外付けするときは,キット上のSB2/SB3のジャンパをカットする.各スイッチの機能はファームウェアで設定・変更できる
|
BM83のファームウェアの更新方法
入手方法
マイクロチップ・テクノロジのウェブサイトから,マイクロチップ純正のファームウェア(ビルド済み)と書き込み用ソフトウェアをダウンロードできます.
やってみよう
ここで,スマートホンとペアリングして,オーディオを再生するという,単純なBluetoothオーディオ機能を実現するファームウェアの設定方法を紹介します.
ステップ1
“S2083 Turnkey Software and Tools v1.2.0”をダウンロードして,Windowsパソコンで解凍します.
ステップ2
SPP(Serial Port Profile)ファームウェアを入手します.なお,BM83のシリアル・ポートは利用しません.ファームウェアは,さきほど入手した“S2083 Turnkey Software and Tools v1.2.0”の次のフォルダ格納されています(図6).
\IS2083 Turnkey_1.2.0\Software\IS2083 Image\MSPK2v1.3\SPP\Embedded Mode
|
図6 ここで利用するビルド済みファームウェア一式
|
ステップ3
SPPファームウェアといっしょに設定も一緒に書き込みます.
まず,“\IS2083 Turnkey_1.2.0\Tool\Config Tool\”下にある設定ツール“IS208x_Config_GUI_Toolv1.3.08.exe”を起動します.
設定項目「ICPackage」が[IS208x]に,設定項目「Project」が[MSPKv2_SPP]になっていることを確認します(図7).
ステップ4
設定画面が起動します(図8).項目がたくさんありますが,ここでは「スマートホンとペアリングして,オーディオを再生する」という単純な機能を実現してみます.
|
|
図7 ファームウェア設定ツール“IS208x_Config_GUI_Toolv1.3.08.exe”を起動する
|
図8 ファームウェアの設定ツールが起動したところ
|
「ICPackage」が[IS208x]に,設定項目「Project」が[MSPKv2_SPP]になっていることを確認する
|
まず,Bluetoothプロファイルを指定します.
スマートホンから音声を鳴らすには,“HFP/HSP(HeadPhone Profile/ Head Set Profile)およびA2DP(Advanced Audio Distribution Profile)”というファームウェアを利用します.
スイッチを外付けして制御したいときは,“AVRCP(Audio / Video Remote Control Profile)プロファイル(AVRCP Controller)”も有効にするとよいでしょう.
本器は組み込みモードで利用するため,[Embedded Mode]にチェックを入れておきます.
設定後,[Next]ボタンをクリックします.
ステップ5
次の画面の設定項目「Power Switch Setting」にて,[Power ON Directory(電源電圧投入とともに,電源ON)]を選択します(図9).これで,+5V電源が供給されたら即,BM83が起動します.
電源ON/OFF ボタン(MFB,Multi Function Button)を外付けして,押さない限り省電力状態スタンバイになる,ような設定も可能です.
|
図9 設定項目「Power Switch Setting」で[Power ON Directory]を選択
|
ステップ6
次の画面では,項目「Name Fragment」で,ホストからBluetooth機器が認識される際に表示される名前を設定します(図10).
|
図10 「Name Fragment」で,ホストからBluetooth機器が認識される際に表示される名前を設定する
|
ステップ7
設定項目「Enable Paring as Standby Mode」を[Enable]にすると,ペアリング時にスピーカ機能があることがホスト(スマートホンなど)に伝わります.[Disable]にすると,スマートホンからペアリングした際に音声出力デバイスとして認識さないことがあります.
ステップ8
設定項目「Enter Pairing Mode When Power On(電源ON時にペアリング・モードに入れるかどうか」を[Enable]にすると,+5V電源を供給されたらすぐに,BM83がペアリング・モードに入るようになります.
ステップ9
設定項目「Class of Device(デバイスの種類)」は,デフォルトの[0x04 Headset]でOKです.
ステップ10
次の画面の設定項目「Power On Link Back Setting(電源ON時にペアリングを復帰するかどうか」にて,[Enable]を選ぶと,ペアリングした接続機器の設定が復元されるようになります(図11).
|
図11 「Power On Link Back Setting」で[Enable]を選ぶ
|
設定項目「Search Paired Device Pattern Setting(復帰するペアリング機器)」は,[All Devices]を選びます.
ステップ11
バッテリ充電機能を搭載した機器に,BM83を組み込む場合の設定もありますが,ここでは充電機能は使いません.
設定項目「Charging Detect Enable(充電中の検出)」は[Disable]を選びます(図12).設定項目「Working Temperature(動作可能温度)」は[Disable]を選んで無効化します(図13).
|
図12 「Charging Detect Enable」で[Disable]を選ぶ
|
|
図13 「Working Temperature」で[Disable]を選ぶ
|
ステップ12
項目「CODEC Setup」で,使用するコーデックを設定します.
「Speaker Output」では,[Capless Speaker Output(音声出力端子にDCバイアス・カット用のコンデンサを使わないでヘッドホンを直結する)]を選びます(図14).
設定項目「CODEC Output Type」は,[Internal Codec(内蔵CODECを使う]を選びます.
これは,ディジタル・オーディオの通信規格 $\mathrm{I}^2\mathrm{S}$を備えるA-DコンバータやD-Aコンバータは使わない,という設定です.
|
図14 「Speaker Output」で[Capless Speaker Output]を選ぶ
|
ステップ13
以上の設定が完了したら[Finish]ボタンを押します.音声処理用のDSP設定画面が開きますが,今回は設定しないで画面を閉じます.
ステップ14
メイン画面「Config_GUI_Tool」で[Save]ボタンを押して設定を保存します(図15).設定は,hexファイルで保存されます.各種ファームウェアと同じように書き込んで使用します.
ステップ15
MZ-BM83AとパソコンをUSBケーブルで接続して,ファームウェア書き込みツール“isUpdateTool”を起動します(図16).
|
|
図15 メイン画面「Config_GUI_Tool」で[Save]ボタンを押して設定を保存
|
図16 本キット(MZ-BM83A)とパソコンをUSBケーブルで接続してファームウェア書き込みツール“isUpdateTool”を起動
|
ステップ16
項目「Access Port」にて,[port]-[USB HID]を選んで[Connect]ボタンを押します.「Image num」は“1”に設定します.接続に成功すると,下のコンソールに“USB HID is connected”と表示されます.
ステップ17
この状態で,Flash Update/Dumpから[Browse]ボタンをクリックして,
\IS2083 Turnkey_1.2.0\Software\IS2083 Image\MSPK2v1.3\SPP\Embedded Mode
に格納されている次の3つのファイルを順に書き込みます.
-
MSPKv2_1.03.0008_SPP.hex
-
MSPK2.0_DSP_FW_V1.04.0006.HEX
-
IS208x_UI_1.3.08_Demo_Package_Embedded_Mode_SPP.HEX
ステップ18
上記3つのファイルの書き込み処理が終わったら,前述に方法で作成した設定用hexファイルを書き込みます.
ステップ19
書き込みに成功したら,“isUpdateTool”を閉じます.これでファームウェアの更新は完了です.
ステップ20
ファームウェアが更新された本キット MZ-BM83Aは,USB Type-Cや端子から+5Vを供給すると,新しいファームウェアと設定で動き出し,LEDが点滅してヘッドホンから「ピポ」と音が出ます.
次に,スマートホンでBluetooth機器を探すと,さきほど付けた名前の本キットが見つかります(図17).
ペアリングすると,ヘッドホンから音楽が聞こえてきます.音がでないときは,CODECの設定が[Internal]になっていることを再確認してください.
|
図17 スマートホンでBluetooth機器を探すと本キットが見つかる
|
USB経由のファームウェア更新ができなくなったときは
BM83にファームウェアを書き込んでいる最中は,USBケーブルを抜いてはいけません.
抜いてしまうとBM83内のファームウェア・データが壊れて,パソコンがBM83を(HIDデバイスとして)認識できなくなり,USB経由でファームウェアを更新することができなくなります.こうなると,USB経由で普及する手段を失います.
このような状況に陥ったときは,UART経由でファームウェアを書き込んでみると復旧できる可能性があります.
ピン21(P3_4)を0V(グラウンド電位)にしてBM83に電源を投入するとテスト・モードで起動します(図18).続いて,書き込みソフトウェア“isUpdateTool”を使って,UART(UART_TXDピンとUART_RXDピン)経由でファームウェアを更新します.ファームウェアの書き込みに成功した後は,再び,USB経由でファームウェアを更新することができます.
なおBM83には,3.3Vのロジック電圧のUART信号を加えます.RS-232Cレベルの電圧は入力してはいけません.
|
図18 ファームウェアが壊れてUSB通信できなくなったときは,UART経由でファームウェアを書き込む
|
(c)2021 Kaoru Zenyouji All Right Reserved.