USB_CUSTOM の変更点


[[PIC32MX_USBCDC]]


----
*PIC32MXでUSB高速カスタムデバイスを実装してみる。 [#p1a04499]
http://psp.dip.jp/web/jpg/pic32mx220.jpg


--MicroChipのUSBフレームワークの「USB Device - WinUSB - High Bandwidth 」を試してみます。
-これは、Windowsで規定されているどのクラスドライバーにも属さない、いわゆるバルクデバイスになります。
-Windowsドライバーは標準のものが存在しないのでカスタムで作るしかないのですが、WinUSBというWindowsに用意されたDLLを呼び出すことで、LibUSBとほぼ同じように手軽にアプリケーションを書くことも出来ます。

-では、早速MX220F032Bに移植してみました。

~


''ダウンロード''
-[[usbcustom.zip:http://psp.dip.jp/web/upload/PIC/usbcustom.zip]]

-上記アーカイブは例によってブートローダー起動、PicKit2ライター直接書き込みの両対応HEXになっています。

-書き込んだら、Windows_Infにあるドライバーを組み込んで、HighBandwidthWinUSB.exe を起動します。

-GUIのボタンを押すとスループットを計測してくれます。

http://psp.dip.jp/web/upload/PIC/winusb-bench.png

-毎秒1MBのスループットが実現できました。
-FullSpeed USBの信号の変調速度は12M b.p.sなので、ほぼ理論値に近い転送が行なわれています。
--実際にはUSBパケットのプリアンブルやチェックサムなどのオーバヘッドと、連続した1が並んだ場合のbit stuffingが行なわれますので、それを加味しても充分に速いといえます。