HOME

 Atmel USBマウスデモ (WindowsXP SP2にて動作確認しました)

はじめに

 AT90USB162はUSB搭載のAVRマイコンです。マイクロファンという会社で扱いを始めたので気軽に購入できるようになりました。 ここでは、ATMEL STK526デモボードのプロジェクトファイルを使用してUSBマウスを試してみようとおもいます。

AT90USB162データシートより抜粋

USB 2.0 フルスピードデバイスモジュール (転送完了割り込みあり)

・ 完全コンパチなUSB2.0

・ 48 MHz PLL、フルスピードバスオペレーション(データ転送レート 12 Mbit/s)

・ 完全に独立した176バイトの USB DPRAM (エンドポイントメモリ割付)

・ エンドポイント0 コントロール転送 (8〜64バイト)

・ 4つのプログラマブルなエンドポイント

・ IN / Out 方向

・ バルク、インタラプト、アイソクロナス転送

・ プログラマブルな最大パケットサイズ(8〜64バイト)

・ プログラマブルなシングルまたはダブルバッファ

 

1.AT90USB162  基板の準備

ユユニバーサル基板を使用

 32pinQFPパッケージ(ピッチ0.8mm)なので、変換基板を使用しています。Aitem-Labさんから、比較的安価に購入できます。ピッチが広いので、細い半田を使えば楽に半田付けできるでしょう。なお、コテ先はあまり細いと熱が伝わらないので、標準の太さでいいとおもいます。

 以下に回路図を示します。UCAPのコンデンサはATMEL指定の1µのコンデンサがなかったので10µの表面実装セラミックコンデンサを使用しました。スイッチのRESETとHWBはブートローダー起動用なので必ずつけてください。なお、すzさんのサイトの回路図をもとにしています。参考にしてください。

AT90USB162 USBマウス実験 回路図

 電源は実験ではバスパワーを使用しましたが、外部電源も使用できるようにしました。

 今回の実験に際してISPの接続は不要です。FUSEビットは工場出荷時のままです。

 水晶8MHzでは、プログラムの修正なしですが、16MHzではソース修正して再コンパイルすると動作可能です。なお、プログラムは8MHzまたは16MHzだけ使用できます。

 今回使用したUSB用AVRマイコンは、USBブートローダーが工場出荷時に書き込まれていて、ライター装置無しに、プログラムを書き込むことができます。

 

参考リンク

すzさんのサイト(一番最先端をいっている研究記事)

マイクロファンのページ (AT90USB162を購入しました)

Aitem-Labのページ(変換基板 QFP32-P8(2) を購入しました 1組2個入り)

 

2.開発環境の準備

AVRStudio4.13(最新版)をダウンロードしてください(再コンパイルする場合、必須)

WinAVRの最新版 2007.5.27をダウンロードしてください(再コンパイルする場合、必須)

USB ブートローダーでのプログラミングツール FLIP3をダウンロードしてください(書き込みに必須)

  FLIP 3.2.2 for Windows (Java Runtime Environement included)  ←通常はこちらをダウンロード

 AtmelのAT90USB162の情報ページ  

情報ページにある USB DFU Bootloader Datasheet  はFLIP3について書かれています(必読)

 

3.マウスプログラムのダウンロードとコンパイル

AVR USB Software Packages (Atmelサイト)ここから以下のプログラムをダウンロード

   AT90USB162/82 HID Mouse project (1 MB, revision 1.0.1)

   解凍してできたAtmelフォルダーごとをC:\にコピーしてください。

   フォルダ構成は変更しないでください。

   例  c:\Atmel\at90usb162-mouse-1_0_1のようになります。

   上記のgccフォルダ内のmouse.apsをダブルクリックして、AVRStudio4を起動します。

C:\Atmel\at90usb162-mouse-1_0_1\at90usb162\demo\mouse_stk526\conf\config.hを開いて、

#define FOSC 8000

上記の記述は8MHzですが、水晶16MHzなら #define FOSC 16000 に変更する必要があります。このプログラムは8MHzまたは16MHzだけ選択できます。

 AVRStudio4にてBuildすると、gccフォルダにmouse.hexができます。

 8MHzのmouse.hex    16MHzのmouse.hex

 ご注意: mouse.hexは日本語が入ったフォルダに入れないでください。日本語フォルダはFLIPソフトで読み込めません。

 

4.FLIPのUSBドライバーのインストール

 FLIPはUSB経由で書き込みをおこなうソフトです。ですからライターを用意する必要はありません。 ハードが完成したらUSB接続してください。Windowsがドライバーを要求してくるので、ドライバーの場所を以下にしてFLIP用のUSBドライバーをインストールします。

  C:\Program Files\Atmel\FLIP 3.2.2\usb

 FLIPの使用方法は開発環境の準備で説明した USB DFU Bootloader Datasheet に詳細にかいてありますので、詳しく知りたいかたはご覧ください。

 

5.基板のUSBブートローダー起動手順

1.USBをPCに差し込み基板と接続します。

2.基板のHWBスイッチを押します。

3.基板のRESETスイッチを押します。

4.基板のRESETスイッチを離します。

5.基板のHWBスイッチを離します。

6.これにより基板のUSBブートローダーが起動されます。

 

  BootLoaderが起動したときのデバイスマネージャー

 

      LibUSB−Win32 Devices ・・・・・ AT90USB162と表示されます。

 

6.FLIPによる書き込み手順

準備.基板のUSBブートローダーを起動しておきます

1.FLIPソフトを起動します。

2.@アイコンにてデバイス選択します。→AT90USB162

3.AアイコンにてUSBポートをOPENします。

4.Bアイコンにてmouse.hexファイルをロードします。

5.Cボタンにて消去、書き込み、ベリファイをおこない、プログラムを転送します。

 

7.USBデバイスとして認識

 FLIPで書き込んだあと、一度USBを外してもう一度挿せば「HID準拠マウス」として認識されます。

 HIDとはヒューマンインターフェースデバイスのことで、特別なUSBドライバーなしで認識されるものです。では以下のポートをGNDに接続して動作を確認してください。

  ポートB4  をGNDに接続すると   マウスカーソルが左に動きます。

  ポートB5  をGNDに接続すると   マウスカーソルが上に動きます。

  ポートB6  をGNDに接続すると   マウスカーソルが右に動きます。

  ポートB7  をGNDに接続すると   マウスカーソルが下に動きます。

 

 

 

inserted by FC2 system