マイコン工作実験日記

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

W-SIM 試験ソフトウェア-その1 -- Hello World

2007-12-10 15:52:58 | W-SIM
最初のソフトウェアとしては、あらかじめフラッシュに焼いてある音声ファイルを繰り返し再生するだけのものを作成してみました。再生する音声は、もちろん"Hello World"です。

W-SIMは着信応答後、音声通話が始まるとPCM信号の出力を開始します。通話状態でない場合には、PCMCLKやPCMSYNCは出力されませんので、じつは音声処理部分は呼制御部分の動作をまったく気にしなくても大丈夫なことになります。AT91SAM7SはPDCと呼ばれるDMA機能を持っています。送信したい音声データの先頭をPDCで転送を開始する先頭番地として設定しておけば、あとはPCMSYNC信号に同期して1オクテットずつ自動的に送信してくれます。音声ファイルの長さだけのDMA転送が終了すると、DMA完了割り込みが発生しますので、再度DMA開始アドレスを設定してやれば、音声の再生が繰り返されることになります。

しばらくSSCに対する適切なパラメータがわからずに試行を繰り返しましたが、わかってしまえば、ほんとうに設定だけの変更できれいな音声が流れるようになりました。

W-SIMが期待するPCM音声データはG.711 mu-Lawですので、あらかじめこれをconst char[ ] のデータとして用意してフラッシュに焼いておきます。AT91SAM7S256を使っていますので、フラッシュは256KBもあります。20秒くらいの音声を入れてもまだまだ余裕です。

このように、ソフトウェアといっても、SSC/PDCのドライバを書くだけで、ほとんどの処理はCPUが介在せずに再生処理がおこなえてしまいます。いまのところ、W-SIMのRXD/TXD信号は処理していませんので、DDのUSBポートをつないだ端末画面から、手動でATコマンドを叩いてモデムを設定したり、着呼に応答したりしてます。

なお、システム的にはTOPPERS JSPカーネルを使用しています。音声再生だけなら、カーネルなんて不要なのですが、もはやJSP最初から入れて使うのに慣れていますので。

最新の画像もっと見る

コメントを投稿

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