AVR-USB(10)

.07 2010 AVR-USB comment(2) trackback(0)
送信モジュールの動作確認。
受信の方は受信したデータをbufferに突っ込んでそれをLEDに表示していけばちゃんと受信できているかどうかは簡単に確認できます。
しかし、送信の方はどうやって確認すればいいのか一向に見当がつきません。(オシロスコープがあれば簡単ですね。)

そのため本当に送信できているか怪しいですが一日格闘した結果SETUPトランザクションのACK返送に成功している気配はあります。
というのはPCが送ってきたSETUP-DATA0に対してACKを返すとINトランザクションが開始されるはずで、もしそのINパケットが来たらACKは成功したと判断できるからです。
ACK送出後に受け取ったパケット:

INパケットの中身:01101001 00000000 00010000
/PID = 0110, PID = 1001 (=IN)
Address = 0000000
Endpoint = 0000
CRC-5 = 00010

何度か抜き差しを繰り返して確認しましたが、今のところ確実にSETUPの次のINパケットを捕捉できています。次はいよいよIN要求に対してDesciptorを送出する段階です。

データが8byte以上になるといくつかのパケットに分割しないといけないのでいろいろ面倒くさそうな感じです。続きはまた明日。
関連記事

ki_van
Winterを見て、このブログに来ました。

で、ちょっと見て思ったのですが、そもそもAVR-USBはなにをするものですか?
過去記事の探し方が甘くてすいません。
2010.03.10 19:54
Yuno
> ki_vanくん

AVR-USBはAVRを使ってUSBのパケットを処理してUSB機器を作るプロジェクトです。

こういうプロトコルの処理は本来H/W(Hardware)の階層でやるものなんだけどそこを敢えてS/W(Software)の階層でやるのがこのプロジェクトの特徴。

最終的にはAVRでUSB接続のAVRライタを作るのが目標です。

まだまだ先は長いけどお楽しみに~
2010.03.12 00:12

  • comment
  • secret
  • 管理者にだけ表示を許可する

trackbackURL:http://yuranos.blog11.fc2.com/tb.php/45-7bcd7dbe