« 電波時計を使ったSNTPサーバの製作 | トップページ | PIC16F84Aを使った精密時計 »

2009年2月 4日 (水)

VoIPインターフォンの実験

Voipinterphone1 トラ技2008年7月号の、「IP電話のしくみを使ったLAN専用VoIPインターフォン」を製作してみました。

dsPIC30F2012を使い、イーサネットコントローラENC28J60をLANアクセスに使ったインターフォンで、マイクから入力された音を、圧縮した後、UDPパケットとしてもう一台のVoIPインターフォンへ送ります。相手方から送られてきたUDPパケットは、伸張した後、DA変換器でスピーカをならします。

大きく分けて2つに分かれると思います。1つは、音声をデジタルに変換し、デジタルを音声に変換する部分、もうひとつは、デジタルを、UDPパケットとして、LANへ送り出し、受け取る部分です。

音声の部分は、トラ技2007年9月号を参考にしたと書いてあります。
UDPパケットを扱う部分は、マイクロチップの「TCP/IPプロトコルスタック」を使用して、ENC28J60がすべてを行なっています。「TCP/IPプロトコルスタック」は、これから利用しようとしていたものなので、その基礎となるような気がしていました。

初めdsPICには、筆者のホームページからダウンロードしたファイルの、HEXファイルを書き込んでいましたが、どうしてもうまく動作することが出来ず、仕方なしに、途中までうごいたところでLEDを点灯させるなどしてデバッグしようと、コンパイルしなおして書き込んだところ動作するようになりました。
なにも変更することなく、コンパイルしなおすだけでいいようです。
コンパイル後のHEXファイルを書き込んだものを動作させると、LEDが点滅を始めました。
2台用意して、その間を、クロスLANケーブルで接続すると、LANコネクタの緑色のLEDが点灯し、リンクされたことがわかります。また、オレンジ色のLEDが点滅して、データを送受信しているようです。

実は、初めに組み立てたときに、動作せず、LANコネクタの配線の違いなのかどうか確信が持てずに迷っていました。
他の回路(SNTPサーバ)を組み立ててみたところ、LANコネクタの配線は間違いがなく動作するはずだということがわかりましたので、上記のデバッグを始めたというわけです。

Voipinterphone iPODをつないで音を送ったままで、受信側を聴いていると、確かに音楽が聞こえます。
しかし、マイクアンプで発生していると思うノイズがかなり大きく聞こえています。

送り側のVoIPインターフォンを止めるとノイズは止まります。また、送り側のAD変換入力の配線をはずすとノイズはやみます。やはり、マイクアンプが原因であると推定されますが、どうしても押えることができませんでした。

VoIPインターフォンを、ハブにそれぞれ接続して、パソコンでWireSharkなどで見ると、UDPパケットが送られていることが確認できます。

イーサネットに接続した2つの機器間のLANデータの交換は問題ないようです。
目的は、LANへの接続できる機器の製作なので、一応目的は達したということにしたいと思います。

« 電波時計を使ったSNTPサーバの製作 | トップページ | PIC16F84Aを使った精密時計 »

製作」カテゴリの記事

コメント

笠木です。

進化については、メインからサブチャンに移りませんか?
直接のメールのやり取りのほうが、Webにアップよりもソフトもお送りしやすいと思います。

かさき

コメントを書く

(ウェブ上には掲載しません)

« 電波時計を使ったSNTPサーバの製作 | トップページ | PIC16F84Aを使った精密時計 »

フォト
無料ブログはココログ
2016年6月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

USBとマイコンの参考書購入