これまでの試験ソフトでは、USBポートは電源の供給をしているだけでした。次の段階として、USBでオーディオデバイスとしてホストが利用できるようにしてみます。つまり、ホストで再生した音声をW-SIMで流せるようにします。また、相手の通話をマイク経由で録音できことを目指します。
AT91SAM7SのUDP(USB Device Port)は4つのEPをサポートできますが、オーディオデバイスで必要となるIsochronous転送はEP1とEP2でしか使えないので、おのずとEPの割り当ては次のようになります。
ほんとは、モデムのATコマンドの処理もCDCドライバにより仮想COMポート経由で操作できるようにしたいのですが、残りはEP3ひとつしかないので、入力か出力のどちらか片方しかサポートできないことになってしまいます。LPC2148は、物理EPとして32個もサポートできるのに比べて少なすぎますね。
AT91SAM7シリーズを調べてみると、AT91SAM7SEがEPを8つサポートできて良さそうです。内蔵SRAMは最大32KBですが、外部RAMをサポートできます。その代わりにピン数が増えてしまい128ピンになってしまいます。変換基板を使うとかなりデカくなりそうだし、配線するにも根気が要りそうです。プリント基板作った方がいいのでしょうが、プリント基板作成を最後にやったのはかれこれ30年近く前のことだし....
AT91SAM7SのUDP(USB Device Port)は4つのEPをサポートできますが、オーディオデバイスで必要となるIsochronous転送はEP1とEP2でしか使えないので、おのずとEPの割り当ては次のようになります。
EP0 | Control |
EP1 | Iso IN - Mic |
EP2 | Iso OUT - Speaker |
EP3 | 未使用 |
ほんとは、モデムのATコマンドの処理もCDCドライバにより仮想COMポート経由で操作できるようにしたいのですが、残りはEP3ひとつしかないので、入力か出力のどちらか片方しかサポートできないことになってしまいます。LPC2148は、物理EPとして32個もサポートできるのに比べて少なすぎますね。
AT91SAM7シリーズを調べてみると、AT91SAM7SEがEPを8つサポートできて良さそうです。内蔵SRAMは最大32KBですが、外部RAMをサポートできます。その代わりにピン数が増えてしまい128ピンになってしまいます。変換基板を使うとかなりデカくなりそうだし、配線するにも根気が要りそうです。プリント基板作った方がいいのでしょうが、プリント基板作成を最後にやったのはかれこれ30年近く前のことだし....