マイコン工作実験日記

Microcontroller を用いての工作、実験記録

SetConfigurationまで動作

2008-03-05 23:26:54 | W-SIM
MAX3421Eを使ってのUSBホストのドライバを書き始めました。

改めためてデータシートを見てみると、現在のチップのリビジョンは3になっており、初期のバグがいくつか修正されているようです。REVISIONレジスタを読み出して確認してみましたが、わたしの手持ちのチップはレビジョン1でした。買ったのが2年ほど前なので、発売から日が浅かったということですね。ホスト側機能のバグは、ドライバで回避可能なようなので、それで対応することにしましょう。

APPLICATION NOTE 3936にホストドライバの基本部分についてのサンプルコードと説明がありましたので、こいつを拝借することにしました。AT91SAM7S用に書き換えて、SetConfigurationするところまで動かせるようになりました。まだ、割り込みにおかしいところがあるようで、ちゃんと動作してくれないこともあります。
電話機を挿した際には、Device Descriptorと Configuraiton Descriptorが読み込まれ、次のようなログが出力されます。



Config Descriptorの内容を整理すると、どうやら次のようにインタフェースが使われているようです。

InterfaceAlternateEP (転送方式)用途
00N/A音量制御
10N/Aマイク(非活性化時)
112 (Iso 入力)マイク(活性化時)
20N/Aスピーカ(非活性化時)
214 (Iso 出力)スピーカ(活性化時)
301 (Inter 入力)キーパッド


インタフェース番号3は、インタラプト転送で入力になっているので、キーパッド入力に使われると思われます。LCD表示制御用には独立したEPが用意されていないようなので、別途なんらかの仕掛けがあるはずです。この点については、Linuxのドライバを読んで調べることにします。



どうやら、USB P4-KはSetConfigurationを受けると、LCDにVOIP-PHONEと表示してくれるようです。マイコン側の制御で表示しているわけではありません。7セグメントでのアルファベット表示に郷愁を感じますねぇ。


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。