質問: aki-h8-usbについて 秋月のh8/3052fのusb開発キットを使っています。 1.usbケーブルを接続しても認識されません。不明なデバイスというのであればわかるのですが、接続自体認識していないようです。どういったことが原因なのでしょうか? 2.キットに入っている説明書をそれぞれ一通り読みましたが、結局訳が分からずどういった手順を踏めばきちんと動作するのかがいまいち飲み込めませんでした・・・ 本当に初歩的な質問で申し訳ありません。 どなたかaki-h8-usb開発キットを使ったことがある方は教えていただければ幸いです。
回答: 1.lcd表示等でダウンロードしたプログラムの動作確認は取れていますでしょうか。 2.キット購入直後からの流れは a.usbキット、3052ボードのパーツ実装。 b.サンプルプログラムダウンロード。 c.ホストpcにドライバをインストールし動作確認。 ここまで行ってボードに異常が無いかhwのテストを行います。 ココまで確認が取れないなら、usb開発以前の話です。 これ以降の話であれば、usbエニュメレーションに失敗してますので、 実装プログラムの検証ですね。サンプル動作プログラムからコンフィギュレーションディスクリプタを変更していたら変更内容の確認が必要かもしれません。 以下、簡易にusb接続後の流れです。 1-1.デバイスがd信号線をlowに引いて接続をホストに知らせる。 1-2.ホストはusbエニュメレーションを開始。 1-3.ホストはターゲットを識別し、レジストリ情報からドライバーをロード 以下、1-2について簡易にusbエニュメレーションの流れです。 ここはご存知の通りendpoint0を使用したコントロール転送で行われます。 2-1.ホストはターゲットに対しコンフィギュレーションディスクリプタを一部要求する。 2-2.ターゲットはコンフィギュレーションディスクリプタを一部返答する。 2-3.ホストはターゲットに対し、アドレスを指定する。 2-4.ターゲットは指定されたアドレスを取り入れる。 2-5.ホストはターゲットに対し必要なディスクリプタを全部要求する。 2-6.ターゲットは必要なディスクリプタを全部返答する。 ここまでできれば、ホストpcにドライバがロードされubsデバイスとして認識されます。症状から察するに、不明なデバイスとも表示されないのであれば、usbエニュメレーションが開始されていないものと思われます。 過去開発した実績のあるpcだった場合、ドライバ削除などでレジストリ情報に誤記があると何も起こらなかったりしますが、案外別ubsポートに接続するとあっさり認識したり。 usb習得時のコツですが、パケット単位のやりとりと、トランザクション単位のやりとりとの違いをしっかり意識して区別しないと混乱の元です。ターゲットの開発ではパケット単位のやりとりについてはusbデバイスが担当してくれますのでトランザクションだけ意識する必要があります。 素人のたわごとですが、ご参考まで。