SoftModemへ信号を送る…のですが
リモートブレインの夏休み:iPhoneロボット
今回のような可聴帯域のFSKの身近な応用には、ファクスがありますね。会社勤めをしている人なら、ピーヒョロヒョロヒョロ… という音に聞き覚えがあるでしょう。あれは音声用の電話線を使って、デジタル化した画像をFSKで送っている音です。
でも、僕にとってもっと身近だったのは、前に書いたようにカセットテープへのプログラムの記録でした。80年代のパソコンには、最も安価な外部記憶媒体として、ラジカセが使えるよう、FSKのオーディオインターフェイスが付いていました。懐かしい人も多いと思います。
僕はもう少し前の70年代後半に、ようやく出回り始めた8080で作ったコンピュータで、オーディオ記録を使いました。もっともFSKでは無く、単一周波数のトーンバーストでボーレートはテレタイプと同じ110bps、256バイトのセーブになんと25秒もかかりました。
その時の経験から言うと、再生より録音のレベル合わせがたいへんです。
なぜなら、再生はイヤホンなりヘッドホンなりを接続するので、どのテレコでも出力電圧やインピーダンスは似たようなものです。ですから、前回のようなレベルを固定した回路で、テレコの音量調整だけであわせ込みが出来ました。デジタル側にLEDを入れて、点滅具合を見て調整したのを覚えています。それくらい「だいたい」でよかったのですね。
しかし、録音の方はそうはいきません。当時のテレコは音の大小に関わらずうまく録音できるように、録音時に自動レベル調整が働くようになっていました。ところがこの特性がわからないので、ものすごく小さな音で録音されてしまったり、途中で音量が変わったりすることが「なんとなく」発生しました。このためちょうどいい信号レベルの設定がシビアで、回路設計や調整で苦労した人も多かったと思います。
そんなわけで、80年代に販売された「パソコン専用テレコ」には、録音レベルの手動調整が出来るものもありました。
SoftModemでは外部→iPhoneの関係がこの「録音」に相当します。iPhoneのマイク入力には当然、そういった自動レベル調整機能があるのでは?
ということで、アッテネータでマイクレベル(数十mVPP)に落としてみたりしたんですが、結果これでした。
下半分は前回の受信回路です。送信回路の部品は、なんとC1だけです。C1を挟んでiPhoneのマイク入力とPICの出力ポートが接続されているというわけです。この定数がデリケートで、5Vのときは1uF、3.3Vの時は0.1uFでないとうまく行きません。
しかも、波形を見てもうまく行く時と、ダメな時の違いがわからないときてます。だから、他の人がこの定数で作って、無調整で再現できるかどうかも不明です。困ったもんです。
あとで、もっとしっかり実験をしてみないといけません。
ともかく、ここまでの情報でPIC16F886を使ってモデムをこしらえました。マイコンはオーバースペックですが、190円ですからよしとしましょう。電源はcoronにあわせて3.3V(実験は電池2本)にしてあります。
例によって、マイコンで「HANAOKA 」という文字列を連続的に送り出しています。315bpsだとこのくらいのスピードです。
暫定の回路とPICのソースコード(ccsc)は近いうちに公開します。
« SoftModemからの信号を受信する | トップページ | iPhoneとのオーディオインターフェイスを再検討 »
「リモートブレインの夏休み」カテゴリの記事
- 周回遅れのiPhone開発(2011.08.21)
- 簡単にできる!インターネットリモコンロボの製作(1)(2010.10.21)
- softModemの試験運用は謎のマシーンで!(2010.10.19)
- Modem版への改造終了です(2010.10.12)
- SoftModem用インターフェイスのまとめ(2010.10.05)
« SoftModemからの信号を受信する | トップページ | iPhoneとのオーディオインターフェイスを再検討 »
コメント