PIC32MZ2048EFM064-I/PTでBluetoothドングルを制御し、Windows10(64ビット Professonal Ver.22H2)とHIDプロファイルBR/EDR接続しました。PIC32MX270F256B-50I/SPの場合と比べると、ハード面が変わっただけで、我々が用意すべきファームウェアは変わりません。
目次
回路図と実際の回路を以下に示します。5Vを掛けているのは、VBUS(33番ピン)とUSB-Aタイプコネクタの(1番ピン)だけです。 なお、IC2とR3とC10とで構成されているリセット回路ですが、立ち上がり時間が短い3.3V電源の場合は必要ありません。今回は、電源としてACアダプターを使用していて、その立ち上がり時間が長いようでPOR(パワー・オン・リセット)が掛ってくれません。そこで、マイクロチップ社のリセットIC(MCP121T-270E/LB(2.63V))を用いたリセット回路を付加しています。
回路図に中のピンヘッドJP2には、必要に応じて、「USB シリアル変換器」を接続します。デバック情報などをTera Termでモニターするために使用します。ファームウェアのデバックをしない場合には、このアダプタを作成する必要はありません。念のため、回路を以下に示します。
「USB シリアル変換器」の左側に、4ピンのピンヘッドがありますが、上から1,2,3,4番ピンと呼ぶことにします。「PIC回路」のピンヘッドJP2も1番ピンから4番ピンまであります。両ピンヘッドの1,2,4番ピンどうしを、それぞれ接続します。3番ピンはどこにも配線されていませんので、接続する必要はありません。
また、「USB シリアル変換器」の右側にUSBジャックがありますが、USBケーブルでPCと接続します。そして、PC側でTera Termを起動すると、その画面上にデバック情報を表示できるようになります。ボーレートは115200、データは8ビット、パリティなし、ストップビット1、フロー制御はなしです。
1.MPLAB Code Configurator(Harmony)の導入の節に従ってtestなるプロジェクトを作成します(以前に作成してあれば作成する必要はありません)。作成し終わったらプロジェクト削除してもかまいません。というのは、当面必要となるHarmony Frameworkパッケージがダウンロードできたからです。
2.MHC環境を整えます。Harmony Frameworkのパッケージを保存しておくためのフォルダーの場所を確認しておきます。私の場合はC:\Users\yts\Harmony3です。このフォルダーHarmony3の中にあるbsp、usbの2つのフォルダーをバックアップを取っておきます。
6.setup311EFM.zipをダウンロードして解凍して得られるbsp、usbの2つのフォルダーをHarmony3フォルダーの中で上書きします。これで、MHC環境が整います。
注意:以下のファームウェアを使用する前に、必ずMHC環境を(1度だけ)整える必要があります。
Windows10用のファームウェアは、Bluetooth1903EFM.zipです。解凍して出てきたフォルダーをHarmonyProjectsフォルダー(私の場合はC:\Users\yts\HarmonyProjects)の中に入れます。デバック情報を出力する場合は、app.cの中にある//#define DEBUG_MODEのコメント//を消してください。
接続方法は、PIC24FJ64GB002 (Bluetooth LE)の章に書いてある通りです。最初の接続は、PIC回路にて、タクトスイッチ(SW1)を押しながら、電源を入れます。ドングルのLEDが青く光るまでタクトスイッチを押し続けます。 その後、パーソナル・コンピュータから接続します。接続が完了すると、LED(D1)が点灯します。時によって、接続に時間が掛かります。2回目以降の接続は、タクトスイッチ(SW1)を離したまま、PIC回路の電源を入れるだけです。
パーソナル・コンピュータ用のアプリケーション・ソフトウェア(Visual Studio 2017)は、これも以前と同じですが、utilities2017B.zipを解凍すると得られます。VCフォルダーは[Visual C++用]で、CLRフォルダーは[Visual C++/CLI用]で、CSフォルダーは[C#用]です。PIC回路をパーソナル・コンピュータと接続したあと、それぞれのフォルダーの中にある実行ファイル(VC.exeかCLR.exeかCS.exe)を実行します。すると、2つのエディット・ボックスと1個の送信ボタンを持つダイアログ(対話)・ウィンドウが現れます。 例えば上のエディット・ボックスに123と入れて、送信ボタンをクリックすると、下のエディット・ボックスに223と現れれば、正常に動作しています。送信された文字列のうち、第1番目の文字だけが変わったもの(アスキーコードで1足されたもの)が、現れるはずです。
なお、Bluetooth1903EFMは、Harmony3\usb_apps_host\apps\cdc_basicを元に開発しました。