マイコン工作実験日記

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

OKI CODEC - TONE生成機能を使う

2008-01-15 10:07:18 | W-SIM
ML7041は、トーン生成機能も持っています。DTMFを生成するだけでなく、着信音(RING)にも使えるようなトーンもいくつか持っています。これらのトーンは相手側に送ることもできますし、自分側で鳴らすこともできるようになっています。この機能を使って、着呼があると着信音を鳴らすようにしてみました。



かなり電話っぽい感じがしてきました。まぁ、最初からW-SIMは電話なわけですが。。。
W-SIMといえば近頃はAndoroidが話題のようですが、こうして自分でマイコンで制御するのも楽しいものです。

処理の手順は次のようにしています。
  1. 着呼が入ったことをRINGメッセージにより検知する。
    • 出力デバイスを一時的にスピーカに切り替え、スピーカアンプを入れる。
    • 着信音に対応するトーンを選択し、CODECを設定する。
    • 着信音鳴動タスクを起動する。

  2. 応答があったことをCONNECTメッセージにより検知する。
    • 着信音鳴動タスクを停止する。
    • 出力デバイスを元の選択に戻す

  3. 切断されたことをDISCメッセージにより検知する。着信音鳴動中であれば、応答の場合と同じ処理で着信音を止める。

ML7041のトーン生成機能は トーンを連続して生成するだけなので、着信音鳴動タスクにより「2秒鳴動、1秒休止」という鳴動サイクルを作成しています。

モニタ上での動作ログは次のようになります。応答操作はmodem answerというコマンドを入れることでおこなっています。ところが、しばらく応答操作をしないでいるとW-SIMが勝手に切断してしまいます。おそらくレジスタか何かを設定しないといけないのでしょうが、どうすればいいのかわかりません。