マイコン工作実験日記

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

ナンバーディスプレイ信号を生成する -- シーケンス編

2015-12-09 21:31:04 | SLIC
Ag1171sを使っての電話機接続も、フック検出から始まって、着信音とダイアルトーンの生成までできました。ここで、ちょっと寄り道して、ナンバーディスプレイ信号を生成する実験をすることにします。生成できるトーンの周波数を2つ追加して、これまで組んできた処理を組み合わせてやれば、ナンバーディスプレイに必要な信号を生成できるからです。



まずはNTTの技術参考資料から上図に示したナンバーディスプレイのシーケンスを確認しておきましょう。ぎょうぎょうしいNTT用語が並んでいますが、情報受信端末信号は普通の着信鳴動と長さが違う呼び出し信号にすぎませんし、応答信号と受信完了信号は、それぞれオフフックとオンフックのことを示しているにすぎません。これらをAg1171sの信号名とその変化に読み替えてやれば、下図のようになります。



呼び出し信号のケーデンスを変更してやるだけで情報受信端末起動信号は生成できますので、追加でMODEM信号を生成して発信者番号情報を送ってやれば、ナンバーディスプレイ対応の電話機に表示ができることになります。ナンバーディスプレイで使われるモデム信号はV23の1200bpsと定められています。V23はFSK変調で送信データを変調して送信しますが、デジタル信号の変調ですので送信データのビット0に対して2100Hz, ビット1に対応して1300Hzのトーンを必要な長さだけ生成してやれば良いだけということになります。したがって、STM32のDACを使って簡単に生成することができます。