RS232C / RS422,485 のラインモニタ用小物  2006.01.05



・はじめに
 
USB 全盛の今、RS232C はもう過去の遺物で、COM ポート付きのノートパソコンが貴重品?になりつつある気がします。でも、工場とかちょっとした計測器などではまだまだ現役で頑張っている RS232C です。その「やりとり」の動作確認ですが、先日一緒だった若い方に聞くと市販の Tool(RS232Cラインモニタ)でモニタしているとか。でも、RS232C とか RS422/485 なら簡単なケーブルを作成するだけでノートパソコンでモニタが可能です。(そうしておられる方も多いと思います)

ただ、以下の Tool 類は「 RS232C の規格」を満たしていないものばかりで、全てのケースでの動作は望めません。あくまでエンジニアのテスト用 Tool としての用途を想定したものです。
( まっ、量産に使えるような回路で無いことだけは確かです…笑)

・RS232C のモニタ(盗聴?)ケーブル
  Rs232c盗聴ケーブル
ケーブルの実体はたったのこれだけです。このケーブルを実際の通信ラインへ挿入します。

通信ラインへ「寄生」してそのデータを「部外者」(モニタ用パソコン)に渡す・・・という事で、私は昔から「盗聴ケーブル」と呼んでいます。(あまりいい名前ではありませんね…笑)

パソコンに COM ポートが 2 チャネルあって、その両方が使えればラインの送受信を独立してモニタできるのですが、ここでは1ヶの COM ポートでモニタすることを考えていますので、拾ったデータが送信データか?受信データか?の区別が付かないという弱点があります。

まぁ実際には通信仕様が解っているので、このことがあまり問題にはならないかも知れませんが、困ったときのために「送受信のモニタ ON/OFF スイッチ」を付けたりしています。
  Rs232c盗聴ケーブル

スイッチ( 2P のディップスイッチ)とダイオードをコネクタ内へ実装すればスマートになります。
 
でも…、本当にこのケーブルで RS232C のラインがモニタできるのか?
副作用は無いのか?

最近はすっかり影の薄くなった規格ですから、昔から RS232C と付き合っておられる方は別にして、若い方は「この怪しいケーブル」に色々と疑問をいだかれることと思います。
実際、信号の振幅レベルはご存知でもレシーバ IC の内部回路とかはご存じない方が多いのではないでしょうか?

・RS232C ドライバ
 
大昔?は MC1488(ドランバ)と MC1489(レシーバ)が主流で、これらの IC のデータシートには「内部の等価回路」なるモノが載っていたのですが、Maxim 社から MAX232 という IC が出ると、このタイプ(昇圧回路などを内臓し、ドライバとレシーバを両方内臓)が一気に主流になるとともに、レシーバやドライバの内部等価回路にお目にかかる事もほとんど無くなってしまいました。
ただ、データシートを見ると多少の違いはあるものの基本的には以前のドライバ/レシーバの動作特性をほぼ引継いでいるようです。で、昔の IC の等価回路を少し見てみます。
MC1488出力回路
右の図が MC1488(昔の標準ドライバ)の出力回路概要です。
出力電流制限の 300 Ωは類似 IC の各メーカともに最小値としてギャランティーされていますが、どこのメーカも中心値と最大値は規定が無いようです。(普通に想像すれば最大値は最小値の2倍程度?)

MAX232 のデータシートを見ると、出力電圧は ±8V(Typ) で 出力ショート( 0V へ)時の電流は ±22mA(Typ) ですから、単純計算では出力抵抗が約 360 Ωで、ほぽ等価回路の通りの値ということになります。
  これで解ることは「けっこう電流が取り出せそうだ」という事です。
ありてい?に言えば、ラインのモニタ用に多少の電流を「おすそ分け」してもらっても大丈夫だろう…という事です。

・RS232C レシーバ
 
次はレシーバの等価回路を見て見ます。 MC1489等価回路

右の図が MC1489(昔の標準レシーバ)の等価回路です。
MC1489 と MC1489A では入力のヒステリシス幅が異なっていますが、MAX232 タイプでのスレッショルド幅は約 0.5V 前後のようです。
入力抵抗は Min 3K Ω、Max 7KΩ となっています。(各メーカとも)
  これで解ることは 「入力のプラス側しか見ていない!」 という事です。
すなわち「+側のドライブだけで OK 」という事です。もちろんそれでは「 RS232C 規格」は満たせませんが、このレシーバ IC を駆動するには充分であり、マイナス側のドライブは必要無いわけです。RS232C の+側入力範囲は +3V 〜 +15V ですから、極論すれば 0 〜 +3V を入力すれば駆動できることになります。

入力抵抗 (3.8KΩ) と入力電圧範囲 ( +3V 〜 ) から計算すれば、入力電流は 1mA 弱で OK ですので、ドライバ IC の出力電流のごく一部で動作することが期待できます。

・RS232C 受信アイソレート
  Rs232c盗聴ケーブル
ラインで動いているコントローラのシリアル回線からデータが出力されている・・・それをモニタしたいが・・・アイソレートしないといけない・・・というケースで使っているヤツです。接続ケーブルの片方へ挿入すれば OK です。電源不要なので使い勝手はまぁまぁかな?と思っています。
  RS232C受信絶縁
制約として「モニタするパソコンから送信しない事!」があります。
スピードは 38400bps 程度が上限ですが、部品をチューニングすればもう少し行けそうです。
  単にホトカプラだけだと信号ディレーが大きくて 9600bps でさえ間に合わない程度のスピードになるため、追加したトランジスタをベース接地としてホトカプラの出力トランジスタが飽和動作になるのを防いでいます。動作の詳細は 「ホトカプラの動作」 をご覧下さい。

ホトカプラはシングルトランジスタのタイプを使ってください(ダーリントンタイプは遅くて実用になりません!)。東芝の TLP521 とかシャープの PC817 とかでいいと思います。トランジスタは東芝の 2SC1815 とか何でもいいと思います。ダイオードは小信号スイッチング用でいいでしょう。

CTR(電流伝達比 : 50% 〜 600% 程度のばらつきがある)の小さいホトカプラの場合、一次側の電流を増やす必要があり、3.3KΩを小さくする必要があるかも知れません。逆に CTR の大きいモノの場合、入力電流を減らさないと出力の L → H ディレーが大きくなります(ほとんどは許容範囲ですが…)。
  H→LスピードUP

出力信号の H → L が遅い場合、3.3KΩへスピードアップ・コンデンサ( 1K 〜 3.3KΩと 102 のコンデンサを直列にしたもの)を並列に接続すれば改善されます。(部品が増えますが…)
  受信 LED 追加

ホトカプラの一次側へ流れる電流とは反対向きの電流で LED を点灯させると受信の状態が目で確認できます。
 
チューニングの要点は、CTR の小さいホトカプラは避ける事、ホトカプラの一次側へ流す電流を必要以上に大きくしない事、などでしょうか。

完成後は、念のためオシロで動作波形を確認しておくのが安心です(信頼感の無い Tool なんて使えませんから!)。

・ RS422/485 受信アイソレート
 
今、手元には無い(ずっと前、他人にプレゼントしてしまった…)のですが、昔使っていたヤツです。 RS422絶縁

1mA 程度の電流を消費しますので、当然ながら通信回路への影響は避けられません。インピーダンス・マッチングにシビアなケースなどではリンギングの増大などに注意してください。コレを接続した状態での通信回線の波形をオシロで確認しておくのが安全です。

接続先の RS422/485 側の信号極性に注意して下さい。(逆につないでも波形は「それらしく」見えるので…)


電源を必要としない「普通のホトカプラ」の高速化についての考察は こちら です。


Top      戻る