歩き遍路 平成19年春(J1) 記録の準備
SPIでUSB(10) MAX3420のAn3936周辺機能を
           H8/3067で制御する

 SPIでUSB( 8) MAX3421のAn3936Host機能をH8/3067で制御するは、MAX3421のアプリケーションノート AN3936 に有るプログラムからUSBホスト機能を抽出してH8/3067用に修正しました。
 今回は、残りのUSBペリフェラル機能をH8/3067で制御しました。


●実験の構成と結果


 MAX3420のAN3936ターゲット機能の実験の構成と結果を次に示します。
 パソコンは、MAX3420のAN3936ターゲット機能からデータを読み込んでテキストエディタに表示します。
 下の場合は、ターゲット基板上のデータ発生用のスイッチを2回押下したので、2行のデータを表示しています。





次の写真は、MAX342x実装基板と制御用CPU実装基板の2枚の基板を連結したものです。
上の基板は、MAX342xを実装しています。左のMAX3420を今回使用しました。右はMAX3421でホスト機能を持っています。中央のICは5Vと3.3Vのレベル変換用です。MAX3420と接続しているUSBコネクタからパソコンへのケーブルが出ています。

下の基板は、制御用のCPUのH8/3067を実装しています。基板からはデバッグ用と電源用のケーブルが出ています。





●エニュメレーションの内容

 USBアナライザーで見たエニュメレーションの内容を次に示します。
 今回は、HID転送を使うのでHID転送フォーマット指定方法を解析します。
 HID転送フォーマット指定の部分を赤の丸でしまします。




 赤丸で示すHID転送フォーマットは、プログラムの HIDKB_enum_tables.h に記述されています。
 コメントを見ると Input(Data,Variable,Absolute) の様に Input の部分が3つ有り、それぞれが1バイトのファーマットを示しているのがわかります。




●データ転送の内容


 USBアナライザーで見たデータ転送の内容と関連データを次に示します。
 赤い四角で示す部分は、HID転送でデータ転送している処です。右側は、プログラムでのメッセージ記述部分と文字コードを定義している  HID Usage Tablesの一部分です。
 転送データは、上の転送フォーマットで説明した様に3バイト単位になっています。
 赤い四角で示す部分の3行目と4行目を見ます。


 3行目は、 T を送っています、先頭バイトが 02h になっているのはシフトキーも同時に押していることを示しています。
 4行目の全て 00h は、キーを解放したことを示しています。

 





ホームへ戻る