« 「椅子を蹴りにいらっしゃる」 | トップページ | R42が外せない(「エアーマンが倒せない」風に読んでください) »

2008年4月13日 (日曜日)

「第2章 USBインターフェースの基礎知識」を読む

VGAコネクタとRTC用クロックはまだ実装していないけどサンプルの動作確認はできたのでひとまず一段落としてます。さて、そろそろ本体のマイコンそのものとUSBの理解をしておかないと、ということで雑誌の記事&ネットで入手できるPDFなどに目を通します。

インターフェース2008年5月号の「第2章 USBインターフェースの基礎知識」ですが、P89のコントロール転送の手前までは理解。

んで、今回のボードに実装されているCPUはと、富士通の資料(リンク先のMB91F312Aのハードウェアマニュアルっつうやつ)を読むとUSBホストとしては

  • USB1.0仕様
  • OHCI対応(ただしレガシー関連未対応)

との事。Wikipediaを見るとUSB1.0と1.1の違いって「電源管理等について改善したもの」とあるけどフルスピード、ロースピードとか、使える転送モードの概念はUSB1.1と同じってことでいいのかな?まぁ、そうでなければUSB1.xという表記自体が疑問ではあるんだけど・・・。

というかこのマイコン、ホスト機能がUSB1.0でデバイス機能がUSB1.1と統一されていないようなんですがそれってなんでなんでしょ?コストの問題ですかね?

まぁそれはさておき、ここまで得られた知識によれば、USB1.x対応の機器で実際のUSB上での通信プロトコルさえ分かればこのボード上で動く各USB機器のデバイスドライバが書けて、それを使ったアプリが組めるという事になる(あくまで自分の見解)。

と、簡単に書くけどプロトコルがわからない機器の場合それが一番難しいわけですがね。特に手持ちのロジクールのQCamExpressなんかいじれるとうれしいんだけど実現はムリ(独り言を参照)かも・・・。

(独り言)

この頃のWebカムは仕様が独自仕様っぽいんだよな・・・。USBスチルイメージクラスとかUSBビデオデバイスクラスあたりに対応していれば何かしら情報はあるんだろうけど・・・。やっぱり別に買ったほうがすんなりできそう?

と、ちょっと横道に反れてしまったが、改めて具体的なUSB通信をもう少し知ろう、ということで読み進めてみるが、それ以降は記事の内容のみではどうもイメージが沸きにくい。これはちょっと別に図を書いて整理する必要があるなと感じた。でもここまでちゃんと説明された資料を読むのは初めてなので好感度はかなり高い。

惜しむらくはちょっと紙面の説明が不足しているかなという点。常連さんなら「知ってて当たり前」的な部分だとは思うがそういうのは最初はわからんのだ。

そういう点を以下、ピックアップ。

まず、P87の表2のPIDの種類だが、

PID[3:0]

の表示がここだけ読んでもわからなかった。P89の表3を読んでようやく

[3:0]→「とあるnビットのデータの0~3ビットを示す」

というのがわかった。16ビットのデータにたいして[7:0]とか[11:8]とか[15:12]とかの数パターンの記述が同時にされているならピンときたが、4ビットのデータについて[3:0]とだけ書かれてもわからなかったパターン。

あとはP87の図6のパケットのフォーマットの説明。ここもSYNCとADDRについての説明が無い。PIDは本文に説明あり、フレーム番号も説明あり、CRCは知ってる(サイクリック・リタンダンシー・チェック)。ENDPもこれまでの流れでなんとなく「エンドポイント」の略で、「エンドポイントNo.」が入りそうなのはわかる。

結果、SYNCは同期させるための情報が何か入るのだろうが具体的に何をセットするのかがわからず(なんでもいいから8ビット分データを乗せればいい?それならそう書いて欲しいところ)。ADDRも「アドレス」なんだろうが、何のアドレス?トークンパケットについての記述もあっさりしていて未記述。うーん、「今は気にしなくていいところ」という観点で省略されているのかもしれないが、B型なんでこーいうところ一旦気になるとダメなんだよなぁ。

まぁ、次号にUSBホスト機能のソースが載るらしいのでその解説記事とソースを読むのが一番よさげな感じですが、その時まで待っていられないのでもう少し自分なりに理解を深める事にします。

|

« 「椅子を蹴りにいらっしゃる」 | トップページ | R42が外せない(「エアーマンが倒せない」風に読んでください) »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2790/40862283

この記事へのトラックバック一覧です: 「第2章 USBインターフェースの基礎知識」を読む:

« 「椅子を蹴りにいらっしゃる」 | トップページ | R42が外せない(「エアーマンが倒せない」風に読んでください) »