USB_CUSTOM
PIC32MXでUSB高速カスタムデバイスを実装してみる。†
- MicroChipのUSBフレームワークの「USB Device - WinUSB - High Bandwidth 」を試してみます。
 
- これは、Windowsで規定されているどのクラスドライバーにも属さない、いわゆるバルクデバイスになります。
 - Windowsドライバーは標準のものが存在しないのでカスタムで作るしかないのですが、WinUSBというWindowsに用意されたDLLを呼び出すことで、LibUSBとほぼ同じように手軽にアプリケーションを書くことも出来ます。
 
- では、早速MX220F032Bに移植してみました。
 
ダウンロード
- 上記アーカイブは例によってブートローダー起動、PicKit2ライター直接書き込みの両対応HEXになっています。
 
- 書き込んだら、Windows_Infにあるドライバーを組み込んで、HighBandwidthWinUSB.exe を起動します。
 
- GUIのボタンを押すとスループットを計測してくれます。
 
- 毎秒1MBのスループットが実現できました。
 - FullSpeed USBの信号の変調速度は12M b.p.sなので、ほぼ理論値に近い転送が行なわれています。
- 実際にはUSBパケットのプリアンブルやチェックサムなどのオーバヘッドと、連続した1が並んだ場合のbit stuffingが行なわれますので、それを加味しても充分に速いといえます。
 
 



