TOP > MPLAB C18編(PIC18F4550) > USBでパソコンと通信(準備編)

USBでパソコンと通信(準備編)
(PIC18F4550)

更新日2009.12.13

パソコンにプリンタやハードディスクを接続する場合、USBケーブルで接続することが多いと思います。
これらの機器と同じように、PICをUSBでパソコンと接続して通信する実験を行います。

雛形となるサンプルプログラムがPIC側/PC側で提供されていますので、そのまま動かして動作を確認する事ができます。
まずは、必要なものをそろえる所から始めましょう。

このページの内容
・USBについて
・USB機能を内蔵したPIC
・マイクロチップテクノロジー社が提供するUSBフレームワーク
・USBフレームワークのダウンロード
・USBフレームワークのインストール
・インストールしたフォルダの内容


USBについて
・・
USB(Universal Serial Bus:汎用シリアルバス)は、ホスト機器(パソコンなど)にさまざまな周辺機器を接続するための規格です。

2000年代以前のパソコンは、接続する周辺機器ごとに専用のインタフェースで接続していました。
例えば
・プリンタ: パラレル
・モデム: RS−232C
・マウス: PS/2
・外付けHDDやCD: SCSI

1998年にUSB1.1が規格化されて、Windows98SEで標準サポートされてからUSBの普及が進み、今では上記例の周辺機器は全てUSB接続が主流になっています。
2000年にはUSB2.0が規格化されています。

現在は、USB1.1とUSB2.0の2種類が主に使われており、その特徴は下表の通りです。
USB2.0はUSB1.1を包含した規格になっています。

規格転送速度転送モードとパケット長
コントロールインタラプトバルクアイソクロナス
USB2.0USB1.1ロースピード1.5Mbps1〜81〜8
フルスピード12Mbps1〜641〜641〜641〜1023
ハイスピード480Mbps1〜641〜10241〜5121〜1024
  2008年11月に、USB3.0(スーパースピード:5Gbps)が規格化されました。
  2010〜2011年には、USB3.0搭載パソコンが出てくると思われます。


USB機能を内蔵したPIC

USB機能を内蔵したPICは、PIC18ファミリー/PIC24ファミリー/PIC32ファミリーで提供されています。
共通点は、USB2.0対応でフルスピードをサポートしている事です。

PIC18ファミリーの中でも、扱いやすいDIPパッケージで提供されている機種として以下のものがあります。
PIC18F4550(40ピン)
PIC18F2550(28ピン)
PIC18F14K50(20ピン)
このページでは、PIC18F4550を搭載したUSBボード使います。
(下の写真の左上,40ピンのDIPパッケージとピン互換)

上はPIC18F4550
 ・右は、DIPタイプ
 ・左は、USBコネクタなどを実装したUSBボード(秋月電子 \1,100)

真ん中はPIC18F2550
 ・右は、DIPタイプ
 ・左は、USBコネクタなどを実装したUSBボード(秋月電子 \1,000)
下はPIC18F14K50


マイクロチップテクノロジー社が提供するUSBフレームワーク
 
USBインタフェースは、RS−232Cなどと比べて規格が難しく敷居が高いのですが、マイクロチップ社が無償で提供するUSBフレームワークを使うと簡単にUSBアプリケーションが開発できます。

このUSBフレームワークには、パソコン側のドライバやサンプルプログラムなども含まれており、プログラムを変更せずにそのまま動作を確認できます。
USBの接続処理などの複雑なことはフレームワークに任せ、送受信部分にのみ手を加えればUSB通信プログラムを開発できます。

マイクロチップ社のUSBフレームワークがサポートするクラスには以下のものがあります。
バージョンアップする毎にサポート範囲も拡大しています。

HIDクラスHuman Interface Deviceクラス
マウス,キーボード,ジョイスティックなどの低速デバイスとして動作する
CDCクラスCommunication Device Class
USB接続上でRS−232Cをエミュレーションする
BOOTクラスBootloaderクラス(独自)
USB経由でのプログラマ機能
Mass StorageクラスMass Storageクラス
大容量記憶装置として動作する
AudioクラスAudioクラス
マイク、楽器、スピーカ、ヘッドセットなど
後のページで順に実験する予定です。

USBフレームワークのダウンロード
 
それでは早速USBフレームワークをダウンロードしてインストールしましょう。

まずは、マイクロチップテクノロジー社のサイトで、以下のようにUSBを選択します。
「Applications」→「Wired Connectivity」→「USB」
次に表示される以下のウィンドウで、「ソフトウェア/ツール」を選択します。
続いて、以下の吹き出し部を選択します。
2009年12月5日現在、「MCHPFSUSB Framework」のバージョンは、v2.6になっていました。
そして、以下のダウンロードページが表示されますので下にスクロールします。
スクロールすると「MCHPFSUSB Framework v2.6」の記述がありますが、さらに下にスクロールします。
ようやくダウンロードページにたどり着きました。
下の吹き出しで示したリンクをクリックするとダウンロードが開始されます。

USBフレームワークのインストール

ダウンロードしたファイルを解凍し、中のインストーラを起動します。
「Microchip Application Libraries v2009-11-18 Installer.exe」

セットアップウィンドウの記述で分かるように、目当ての「MCHPFSUSB v2.6」以外にいくつかのライブラリが同時にインストールされます。


「Next」をクリック

「I Agree」をクリック

「I Agree」をクリック

必要であれば、格納先フォルダを変更し、「Next」をクリック

「Install」をクリック

「Finish」をクリックしてインストールは完了です。


インストールしたフォルダの内容

インストールしたフォルダには以下のように多くのサブフォルダが作成されます。
この中で今後使うフォルダは、「Microchip」と「USB Device」で始まるフォルダです。

「Microchip」フォルダには、USBフレームワークのライブラリが格納されており、どのクラスを使う場合でも必要になります。
一方、「USB Device」で始まるフォルダは、各クラスの雛形が格納されています。PIC側/PC側両方のサンプルが提供されています。