計測器・測定器玉手箱
RS-232Cの概要とシリアル転送
RS-232Cの概要とシリアル転送
パソコンなどでは、役目を終えた感のあるインタフェース規格ですが、計測や制御では、まだまだ現役です。
計測器や制御機器などを使って他の機器とデジタルデータのやりとりをする場合、接続のためのインタフェース規格としてRS-232Cという名前を聞いた経験を持つ人は多いでしょう。
RS-232Cはパソコンなどにも採用されているため、知らぬ間に使っている人もいるはずです。
最近のパソコンでは、USBなどの高速でユーザフレンドリーなインタフェースに置き換わりつつありますが、計測や制御の世界において、RS-232Cは、まだまだ現役です。
RS-232Cは、もともとモデム (MODEM:電話などのアナログ通信線を使ってデジタルデータを転送するための装置) を使った通信用に考案された規格です。
公的な規格として、1968年米国の電子工業協会(EIA:Electronic Industries Alliance)によって制定されています。
ただし、正式には規格ではなく「勧告」であり、コネクタやピン配列などは他の上位規格・勧告(ITU-T V.24 V.28や ISO2110など)に則っているので、厳密には規格という呼称は正しくないという指摘もあります。
RS-232Cは、その後、米国規格協会(ANSI:American National Standards Institute)で正式に認定され、 現在は ANSI/EIA232という名称になっています。
日本では、JIS X5101(データ回線終端装置とデータ端末装置のインタフェース)がこれに相当します。
ちなみに、RS-232Cの「RS」とは、Recommended Standardのことで、その232番目に当たるという意味です。
最後のCは、バージョンを表しています。
実は、ANSI/EIA232のバージョンは、Cからバージョンアップされており、ANSI/EIA 232Fなどを適用するのが妥当です。
しかしながら、現実の世界での呼び名としては、バージョンに関係なく、「 RS-232C 」であることが殆どです。
したがって、RS-232Cは俗称である、と言った方が正しいかも知れません。
この項では、以下もRS-232Cとします。
まず始めは、インタフェースの方式と分類上の位置づけについての話です。
一般に、機器間でデジタルデータのやりとりをするには、GPIBのように複数の伝送路で各ビットを一度に送るパラレル伝送と、USBのように一本の伝送路で上位(或いは下位)のビットから順に送るシリアル伝送があります。
RS-232Cは、シリアル伝送方式のインタフェースです(図1参照)。
また、RS-232Cは、下位のレイヤ(電気的・物理的な部分)について定めた規格であり、どんなデータを、どのようにして送るかという事には触れていません。
単に、機器間をつないでデジタル信号を受け渡しする方法が述べられているだけで、どんなデータをどんな形式で送るかはユーザに委ねられています。
その意味では、計測や制御などへ応用しやすいインタフェース規格だと言えます。
次に、機器間を接続して通信をする場合のパターンを考えます。
通常のパターンとしては、次の2通りが考えられます。(図2)
ひとつは、専用の周辺機器をコントロールする場合のように完全な一方通行です。
制御はできますが、相手からの信号は受け取れません。
通信というよりも、放送のイメージです。
もうひとつは、双方向の通信が可能なスタイルです。
一般にこのスタイルの通信を「二重通信」と言います。
ただ、双方向ではあっても、通信経路がひとつの場合も考えられます。
この場合は、どちらかが通信路を占有するので、双方とも送受を切り換えなければなりません。
これは、送受をスイッチで切り換えるトランシーバを使った通信と同じです。(図3)
この方式の通信は、「半二重通信」と呼ばれます。
これに対して、携帯電話の場合は、トランシーバと外観は似ていても送受を切り換える必要が無く、常に双方向の会話ができます。
(注:実際の携帯電話は厳密には送受を切り換えています)
このスタイルの通信は「全二重通信」と呼びます。
ちなみに、RS-232Cでは全二重通信が可能です。
したがって、データの伝送路は2本用意されています。
シリアル通信で伝送路が二つなら、信号線はグラウンドを含めて4本で済むはずです。
ではRS-232Cの信号線は4本かというと、実際は付加的な線がたくさん定義されています。
コネクタは標準で25ピン、省略セットでも9ピンを使うことになっています。
D-Subと呼ばれるれらのコネクタを、計測器やパソコンのリアパネルに見つけることができるでしょう。
(写真1及び2参照)
RS-232Cはかなり前に考案され、しかもモデムを想定した規格なので、最新のエレクトロニクスから見ると、やや前時代的な仕様になっています。
例えば、データの転送スピードは、伝送距離によって異なりますが、20kbps@15m程度、無理して使ったとしても100kbps程度が限界です。
したがって、動画の伝送などはできません。
とはいうものの、世の中のデータ転送というのは高速なものばかりではなく、この程度でも十分に実用性を有するアプリケーションはたくさんあります。
それが今でも多く使われている理由です。
電子回路的な仕様も、かなりクラシックです。
例えば、各端子の電圧(ロジックレベル)は、
+5 ≦Hi≦+15V、-15V≦Lo≦-5V (3k~7kΩ負荷)
となっています。
(データ判定の閾値は、+3Vまたは-3V)
最低でも10V、最大では30Vもスイングすることになります。
大雑把と言えば大雑把ですし、絶対値も、最近のデジタルデバイスと比べるとずいぶん大きな値です。
消費電力を小さくしたり高速転送を行うことよりも、確実性を目指した結果です。
このため、最近の低電圧なLSIの中にRS-232Cのインタフェースを盛り込むことができず、UART(Universal Asynchronous Receiver Transmitter)、SIO(Serial Input Output Adapter)、ラインレシーバ/トランスミッタなど、専用のICと電源が必要となるというデメリットも生じています。
RS-232Cは、モデムを使うことを前提としたため、図5のような応用が代表的です。
しかし、実際には、図6や図7の様に電話などの回線とは無関係に使われることも多くなっています。
この場合のコネクタ接続には注意が必要です。
RS-232Cは、パソコン対パソコンのように両者が対称な (対等に向き合う) システムではなく、パソコンとモデムというように非対称なシステム (DTEとDCEが対向するシステム 図5参照) を前提としており、ピン配列は非対称になっています。
したがって、パソコンとパソコンを接続するような対等な関係で機器を向き合わせて使用する場合は、信号線をクロスさせる必要があります。
このためのコネクタ付きケーブル(クロスケーブル)も市販されていますが、外見上はノーマル(クロスではない)ケーブルと見分けが付かないことがあるので注意してください。