MPLAB Harmony Integrated Software Framework v2.06には、「\microchip\harmony\v2_06\apps\audio\usb_speaker」というUSBオーディオスピーカーを模擬するサンプル・ファームウェアがあります。ただ、このファームウェアは、USBケーブルを通して送られてくるパルス符号変調(PCM:Pluse Code Modulation)信号をDAC(デジタルアナログコンバーター)を通してアナログ音信号に変換して出力しています。
ここでは、USBオーディオスピーカーをもっと手軽に試すために、PCM信号をパルス幅変調(PWM:pulse width modulation)して、これをローパスフィルターを通してアナログ音信号に変換して出力しました。DACは不要になります。ファームウェアはaudio_speakerMX32.zipです。
用いたPIC回路は、PIC32MX270F256B-50I/SPに載せてあるものです。だた、パルス幅変調(PWM:pulse width modulation)された音楽信号はPICの6番ピン(右信号)と11番ピン(左信号)から出力されるので、復調のため、これらのピンにローパスフィルターを下図のように接続します。カットオフ周波数は約1600Hzとなります。ローパスフィルターのコンデンサーの両端から音楽信号をとりだし、ヘッドホーン(アンプが必要になるかも知れません)やスピーカー付きのアンプに接続します。常識でしょうが、コンデンサーのアース端はヘッドホーンのアースに接続することに気をつけてください。
1.PIC32MX270F256B-50I/SPに記載した、MHC環境を整えます。
2.audio_speakerMX32.zipを解凍して出てくるaudio_speakerMX32フォルダーを\microchip\harmony\v2_06\appsフォルダーの中にいれます。
3.XC32(v1.44)でコンパイルして、PICにファームウェアを書き込みます。
4.PIC回路をパーソナル・コンピューターとUSBケーブルで接続します。
5.パーソナル・コンピューター上で、たとえばWindows Media Playerで音楽を再生すれば、ヘッドホーンやアンプのスピーカーから音楽が流れます。高音はひずみますが、USBオーディオスピーカーが模擬できているということを確かめるには十分です。