BM83(Bluettothモジュール)の使い方メモ

2024年9月15日技術開発Bluetooth

概要

Microchip社の「BM83」というBluetoothオーディオ向けのモジュールについて、使い方の備忘録として記録しています。随時更新中。

実行環境

モジュール:BM83SM1(以降の型式は工場出荷時に書き込まれているファームウェアの違いでハードの差はない)
公式アプリ:IS2083_Turnkey_1.3.1

回路図

以下の回路で評価しました。こちらも機能検証に合わせて随時更新中。

ファームウェアの更新

公式ページからアプリとファームウェアをダウンロードします。

ダウンロードしたファイルを解凍し、以下の場所にある「isupdate.exe」を起動します。

アプリが起動したら以下の内容に設定し、基板とPCをUSBケーブルでつないで「Connect」をクリックします。
「image num」は「3」に設定します。
メッセージで「Connect failed」と出たときは「Connect」を何回かクリックしてみて、それでもダメな時は配線を確認してください。

基板と接続が出来たら、以下の「Browse」をクリックして書き込みたいファームウェアを指定します。

ファームウェアは以下の3つをまとめて選択します。

「update」をクリックするとファームウェア書き込みが始まります。
書き込み中に基板の電源が抜けたりして中断すると、BM83のファームウェアが壊れてしまい最悪の場合は二度と使えなくなるので注意してください。

以下のダイアログで「はい」を選ぶとペアリング情報が消されずに維持されます。

「End of Write Memory!」と出たら書き込み成功です。
※スクショを撮っていたので約89秒かかっていますが、実際は約46秒ほどで完了しました。

BM83の各種設定

設定ツールを開く

各種設定はBM83にHEXファイルを書き込むことで設定します。HEXファイルは公式の設定ツールで生成します。
まずは以下の場所にある「IS208x_Config_GUI_Tool v1.3.25.exe」を起動します。(ダウンロードしたバージョンによって末尾の数字が変わります)

以下の内容に設定して「Edit」をクリックします。
既に作成したHEXファイルがある場合は、「Load」で読み込んでから「Edit」をクリックすると設定内容が読み込まれた状態で編集画面が開きます。「Load」をしなかった場合は全ての設定がデフォルトの状態で編集画面が開きます。

1つ目の画面

基本的な設定になります。設定完了したら「Next」をクリックします。

Supported Profile

有効にしたいプロファイルにチェックを入れてください。

HFP/HSPハンズフリー機器のためのプロファイル。スピーカーやイヤホンだけでなく、マイクを付けたいときに使う。
A2DP高音質で音楽を聴くためのプロファイル。
AVRCPBluetoothリモコンのためのプロファイル。Bluetoothデバイスで曲名を表示させる等にもこのプロファイルを使う。
AVRCP Controller確認中
AVRCP Target確認中
SPPシリアル通信のように文字列を送受信するためのプロファイル。
PBAP確認中
iAP2確認中

Function Enable and GPIO Assignment

各機能のON/OFFとGPIO(P●_●と書かれたピン)の機能割り当てを設定します。

2つ目の画面

各機能について詳細な設定をします。完了したら「Finish」をクリックします。
※HelpをGoogle翻訳したものをそのまま貼り付けている項目もあるので、ところどころ日本語が怪しいです。
※項目数が多いため、内容を確認した項目のみ記載しています。

Sys. Setup1

Power Switch Setting
Power Switch Type電源投入時の挙動を設定。
Power On Directly・・・電源投入と同時に起動する。
MFB Power ON/OFF・・・MFBボタン長押しで電源をON/OFFする。

Sys. Setup2

Name Frag Segment
Device Nameデバイス名。スマホ等でBluetooth機器を検索した時にもこの名前が表示される。
Misc Option
Enable Inquiry Scan In Standbyスピーカーがスタンバイモードのときに、照会スキャンウィンドウを開きます。つまり、このオプションを有効にすると、スピーカーはペアリング モードだけでなくスタンバイ モードでも検出可能になります。
1: 有効、0: 無効
Enable Power On Enter Paringこのオプションが有効になっていて、スピーカーが以下の 2 つの条件を満たしている場合、電源投入時にペアリング モードになります。
条件1: スピーカーは電源投入時にCSBリンクを作成しようとしません
条件2: スピーカーは電源投入時にデバイスを削除するために再接続する必要はありません(ペアリングされたレコードや
ENABLE_POWER_ON_LINK_BACKが有効になっていない場合)

Sys. Setup3

Connection Setting
Power On Link Back Setting電源投入時にリンクバック機能を有効にします。
Search Paired Device Pattern Setting0: 最後のデバイスのみをリンクバックする
1: リンクの優先度とループに基づいてリンクをパワーオンする
Power On Link Back Profile Setting◆Last Device
SUPPORT_MULTILINK_MULTIPROFILE と ENABLE_LINK_BACK_BY_PRIORITY が有効かどうかに関係なく最後のデバイスにのみ再接続します
◆Hands-free Profile
HFP プロファイルを使用して最も優先度の高いデバイスに再接続します。優先度は HFP リンクによって順序付けられ、HFP リンクが作成されると、スピーカーは優先度を最高に更新します。
オプション ENABLE_LINK_BACK_BY_PRIORITY が有効になっている場合、スピーカーが最優先デバイスへの接続に失敗すると、次の優先順位のデバイスを試します。
オプション SUPPORT_MULTILINK_MULTIPROFILE が有効になっている場合は、2 番目のデバイスへの接続が試行されます。
◆A2DP Profile
A2DP プロファイルを使用して最も優先度の高いデバイスに再接続します。優先度は A2DP リンクによって順序付けられ、スピーカーは A2DP リンクが作成されると優先度を最高に更新します。
オプションENABLE_LINK_BACK_BY_PRIORITYが有効になっている場合は、次の優先順位のデバイスを試します。
スピーカーが最上位のデバイスに接続できない場合、オプション SUPPORT_MULTILINK_MULTIPROFILE が有効になっていると、2 番目のデバイスに接続しようとします。

CODEC Setup

Microphone Setting
ADC PathDSP文書を参照
ビット0〜3:ドルフィンDAC出力選択
10:なし(ADCオフ)
1: 予約済み
2: 予約済み
3: シングルチャネル(MIC2~L)。
4: デュアル チャネル (MIC2 から L、MIC1 から R)。
5:シングルチャンネル(MIC1~L)。
6: デュアル チャネル (MIC1 から L、MIC2 から R)。
17: コーデック バイパス: MIC1 を L チャネルに、MIC2 を R チャネルに。
8: コーデック バイパス: MIC2 を L チャネルに、MIC1 を R チャネルに。
ビット 4:ADC オフ。
ビット5: 0。
ビット6:マイクバイアス電流をオンにする
(デジタルマイクの場合は0に設定、アナログマイクの場合は1に設定)
ビット: 7: 0。
Analog Microphone Gain Levelマイクのゲインレベル。オプション項目「デジタル マイク」が「無効」に設定されている場合にのみ有効です。

HEXファイルの書き込み

書き込みはファームウェアと同じくisUpdateを使います。異なる点は以下の2点のみで、操作は全く同じです。

  • image numを「1」にする
  • 書き込むファイルを設定ツールで作成したHEXファイルを指定