マイコン工作実験日記

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

USB Audio - Mic

2007-12-15 20:12:21 | W-SIM
USB Speakerに続いて、USB Mic機能を追加しました。Config Descriptorには、マイク部分を追加すればいいわけで、それも構成としてはSpeakerと同じ要領で作成すればいいだけなのですが、それでもDescriptorの長さの計算を間違えて何度かBlue screenを見ることとなってしました。

Speaker/Micを構成するTerminal IDとUnit IDは次のように割り当てました。

IDDescriptor TypeTerminal TypeSource ID
Speaker1Input TerminalUSB streamingN/A
2Feature UnitN/A1
3Output TerminalSpeaker2
Mic4Input TerminalMicrophoneN/A
5Feature UnitN/A4
6Output TerminalUSB streaming5

Speaker/Micは、それぞれInput Terminal, Feature Unit, Output Terminalの3つの部分がつながって構成されています。Feature Unitは、ボリュームのように制御をおこなう機能部分です。Speakerの場合には、USBポートで受けた音声データを物理的なスピーカに出力することになるので、Input TerminalがUSB Stream, Output TerminalがSpeakerとなります。3つの部分のつながり方の順番はSource IDによって表現されています。

インターフェースについては、全部で3つあり、次のような構成となっています。
Interface NumberSubClassAlternate setting
0Audio ControlN/A
1Audio Streaming0
Audio Streaming1
2Audio Streaming0
Audio Streaming1

0番がFeature Unitを制御するためのインタフェース、1番がスピーカ、2番がマイクに対応するインタフェースとして定義しています。Alternate settingは、0番がバンド幅0のインタフェースとなっており、デバイスを非活性化する際に使用されます。この使われ方については、次回記事で示す動作ログを見るとわかりやすいと思います。

最新の画像もっと見る

コメントを投稿

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