マイコン工作実験日記

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のインタフェースとなっており、デバイスを非活性化する際に使用されます。この使われ方については、次回記事で示す動作ログを見るとわかりやすいと思います。

W-SIM実験ボード Rev.2

2007-12-15 10:29:59 | W-SIM
購入したW-SIMソケットを使って、新たな実験ボードを作成しました。前回と同じくW-SIMとOLIMEXのヘッダボードSAM7S-H256を直結しただけの単純なものです。W-SIM部分はソケットだけになったので、今度はひとまわり小さい秋月の両面基板に載せてみました。

W-SIMソケットは端子が小さいのでUEWを使って配線しましたが、ほとんどチョン付けしかできていないような状態なので、後で接着剤でも使って固めておいた方が良さそうです。


W-SIMとSAM7-H256との接続は次のような対応になっています。
W-SIM       SAM7-H256
---------------------
TXD     <--- TXD1
RXD ---> RXD1 RTS <--- RTS1
CTS ---> CTS1 DTR <--- DTR1
DCD ---> DCD1 RI ---> RI1 INS ---> DSR1 VCC ---- 3.3V GND ---- GND PCMCLK ---> RK PCMSYNC ---> RF PCMIN ---> RD PCMOUT <--- TD
IFSEL ---- GND DISP1 ---- N/C DISP2 ---- N/C DISP3 ---- N/C

INS端子はW-SIMの装着状態を示しますが、Active Lowなので実質的にDSRと同じ機能とみなせます。

DISPの各端子は未使用です。当初IFSELはオープンにしていたのですが、その状態だと、TXDにATコマンドを送っても何の反応もありませんでした。どうやら、IFSEL端子は内部でプルアップされており、Lにしないとモデムは非選択状態でATコマンドに応答してくれないようです。しばらくこれに気がつかず悩んでしまいました。

電源にはパスコンすら入れていませんが、とりあえず問題無く動作するようです。ただし、電源を入れた状態でW-SIMを挿入すると突入電流の影響でBODリセットがかかってしまいます。活線挿抜を考慮すれば本来はインダクタをつなげておくべきですが、しょせんは実験目的ですので、対処しないことにします。