USBオシロスコープ の変更点


関連リンク [[Pinguinoで遊ぼう>Pinguino]] [[ブートローダーを作る>HIDBootX]] [[USB仮想シリアル>PIC32MX_USBCDC]] [[USBカスタムデバイス>USB_CUSTOM]] [[USBホスト>USB_HOST]] [[2013-02]] [[2013-03]]

*PIC32MXを使用したUSBオシロスコープの試作 [#lcd05ea8]

http://psp.dip.jp/web/jpg/PIC/picscope.png

~
~
*現在のステータス [#l27d010d]
-WinUSB.DLL経由にて、ファームウェアとWindowsパソコン間で連続したA/D変換サンプルデータの受け渡し
を行なっています。
-OpenGLを使用した波形表示ソフトが動作します。

~
出来ていないところ
-%%マルチチャネル対応%% --- 出来ました。
-%%時間軸の変更(な、なんだってーー(AA略)%% --- 出来ました。
-ドキュメント等

http://psp.dip.jp/web/jpg/PIC/picscope2.png


~

------
*■ 配線図         PIC32MX220F032B [#rb4a391f]

                3.3V
                 |
                 *------10Ω--------------+
                10k                       |
                 |       ___    ___       | 0.1u
   ラ   -->  ----*-MCLR [1  |__| 28] AVDD-*-||---GND
   イ   -->  --PGD3/RA0 [2       27] AVSS--------GND  LED
   ター -->  --PGC3/RA1 [3       26] RB15--1kΩ-------|>|--GND
   A/D変換入力----> RB0 [4       25] RB14
                    RB1 [5       24] RB13
               SDA2/RB2 [6       23] Vusb3v3--------3.3V
               SCL2/RB3 [7       22] usb D-
    Xtal     GND----Vss [8       21] usb D+   +10uF
 +-----------------OSC1 [9       20] Vcap------||---GND
 *--|□|--*--------OSC2 [10      19] Vss------------GND
 |  8MHz  |    U1TX/RB4 [11      18] RB9
 22pF    22pF  U1RX/RA4 [12      17] RB8
 |        |   3.3v--Vdd [13      16] RB7
 |        |         RB5 [14      15] Vbus-----------USB Vbus(5V)
 GND    GND              ~~~~~~~~~~
            
            
-A/D入力レンジは0V〜3.3Vです。
-A/D入力は%%最終的にはAN0〜AN3になる予定です。(現在はAN2を固定選択しています)%% -- AN0〜AN3の4chを使用します。


~

-ファーム書き込みはPicKit2やPicKit3で書き込んでもOKですし、
-[[HIDBoot.X>HIDBootX]]というHIDブートローダーから書き込んでもOKです。
--(このファームウェアHEXファイルはセルフブートとHID Bootloaderからのブートの両方に対応しています)

~
----------
*ダウンロード [#t5da7c85]

作りかけですが、公開しています。
--''ダウンロード:''[[PICscope.zip:http://psp.dip.jp/web/upload/PIC/PICscope.zip]]

~
PIC32MX用のファームウェアが必要です。こちらからダウンロード
--''ダウンロード:''[[pic32mon.zip:http://psp.dip.jp/web/upload/PIC/pic32mon.zip]]

~

''お詫び''
-2013-05-21以前の上記zipファイルにエンバグがありましたのでお詫び致します。
-05-22以降のzipでは修正されています。
-USB PIDがファーム側は0053であるのに対し、Windows側は0052になっていました。


~

-このファームウェアは[[USB簡易モニター>PIC32mon]]にA/D連続変換のコマンドを追加したものとなっています。
--USB簡易モニターの機能はすべて含んでいますので、pic32mon.exeを使用してファームウェアを対話的に操作可能です。
~
----------
*ビルド環境 [#ud3d0833]
-Windows(XP|Vista|7|8)側は、[[MinGW32:http://www.mingw.org/]] gccを使用します。(無償)

~
***ファームウェアを再ビルドされる場合は、 [#m1f85b98]
-MIPS32(PIC)側は、Pinguinoのmips-gccコンパイラを使用します。(無償)
-但し、MChipUSBフレームワークを使用する為、MPLAB IDE 8.89と、それに付属のPIC32 Cコンパイラ環境が必要です。(無料版でOKです)
-それからMChipUSBフレームワーク(microchip-application-libraries-v2012-10-15-windows-installer.exe)も必要です。(無償)
-それからMChipUSBフレームワーク(microchip-application-libraries-v2013-06-15-windows-installer.exe)も必要です。(無償)

~
-ビルド方法は、いずれの場合でも、Windows(32|64)のコマンドライン上からmakeを実行することで行います。

~
-WindowsXPへのWinUSBの導入は、MChipUSBフレームワークに含まれるサンプルソース(  USB/Device - WinUSB - High Bandwidth Demo/Driver and INF/MCHPWinUSBDevice_v2.inf )のドライバーを導入すると自動的にWinUSB.DLLが使用できるようになります。
-Windows Vista以降ではWinUSBはOSにバンドルされているようです。
-もし(万が一)Linuxやそれに類する(MACOSとか)環境からPIC32MXを叩きたい場合は、WinUSBの代わりにLibUSBを使用してください。USB周りのAPIが変わりますが、それほど本質的な違いはありません。