シリアル通信の基礎知識・用語解説 - RS-232C / RS-422A / 485

目次

シリアル通信とは

データを送受信するための伝送路を1本、または2本使用して、データを1ビットずつ連続的に送受信する通信方式です。少ない信号線での接続が可能であるため、線材や中継装置のコストが抑えられるなどのメリットがあります。

シリアル通信の規格には、RS-232C、RS-422A、RS-485があります。RS-232C・RS-422A・RS-485は、EIA(Electronic Industries Association:米国電子工業会)の通信規格です。中でもRS-232Cは、通信規格の中でも用途を問わず多く普及し、パソコンにも標準で搭載されおり、モデムやマウスの接続によく利用されています。センサやアクチュエータの中にも、これらのインターフェイスを持ち、通信により制御可能なものもが多く存在します。

送信側 送信側レジスタ 110011001 受信側 受信側レジスタ ・・・・11001

RS-232C

パソコンに標準で搭載されるなど、最も広く使われているシリアル通信規格です。「EIA-232」とも呼ばれます。各信号線の目的やタイミングのほか、接続コネクタも規定されています(D-SUB 25ピンまたはD-SUB 9ピン)。現在は信号線の追加などで規格が改訂され、正式名称は「ANSI/EIA-232-E」。しかし、現在でも一般には「RS-232C」と呼ばれています。

RS-422A

RS-232Cでは伝送距離が短い、伝送速度が遅いなどの欠点を改良してできた規格です。「EIA-422A」とも呼ばれます。各信号線の目的やタイミングは規定されていますが、接続コネクタの規定はありません。多くの対応製品では、D-SUB 25ピンまたはD-SUB 9ピンが主に採用されています。

RS-485

RS-422Aでは接続台数が少ないという点を改良してできた規格です。「EIA-485」とも呼ばれます。RS-485は、RS-422Aに対し上位互換の規格です。各信号線の目的やタイミングは規定されていますが、接続コネクタの規定はありません。多くの対応製品では、D-SUB 25ピンまたはD-SUB 9ピンが主に採用されています。

パラメータ RS-232C RS-422A RS-485
伝送モード シンプレックス マルチポイント
シンプレックス
マルチポイント
マルチプレックス
最大接続台数 1ドライバ
1レシーバ
1ドライバ
10レシーバ
32ドライバ
32レシーバ
最大伝送速度 20Kbps 10Mbps 10Mbps
最大ケーブル長 15m 1200m 1200m
動作モード シングルエンド(非平衡型) ディファレンシャル(平衡型) ディファレンシャル(平衡型)
接続イメージ
特長 短距離
全2重
1:1の接続
長距離
全2重 半2
1:Nの接続
長距離
全2重 半2重
N:Nの接続

信号配置とコネクタ

RS-232Cは、使用するコネクタや信号配置も規定され標準化されています。右の図は、D-SUB9ピンの信号配置と信号線の説明です。

1 (Data Carrier Detect)DCD 2 (Receive Data) RXD 3 (Transmit Data) TXD 4 (Data Terminal Ready) DTR 5 (信号グランド)SG 6 DSR(Data Set Ready) 7 RTS(Request to Send) 8 CTS(Clear to Send) 9 RI (Ring Indicator)

ピン番号 信号名 説明
1 DCD Date Carrier Detect キャリア検出
2 RxD Receive Data 受信データ
3 TxD Transmit Data 送信データ
4 DTR Data Terminal Ready データ端末レディ
5 SG Signal Ground 信号用接地または共通帰線
6 DSR Data Set Ready データセットレディ
7 RTS Request To Send 送信要求
8 CTS Clear To Send 送信許可
9 RI Ring Indicator 被呼表示
CASE FG Frame Ground 保守用接地またはアース

接続方法

RS-232Cは、コネクタや信号配置が規格化されているため、規格準拠のケーブルが数多く市販されています。ただし、装置には以下の種類があり、接続する装置によって、ストレートケーブルとクロス(リバース)ケーブルを使い分ける必要があります。

装置の種類

DCE

Data Communication Equipment(データ通信装置)。モデムやプリンタ、プロッタのように受動的に動作する装置を指します。

DTE

Data Terminal Equipment(端末装置)。パソコンのように能動的に動作する装置を指します。

クロスケーブル接続(1)

DCE ⇔ DCE (クロスケーブル)

クロスケーブル接続(2)

DCE ⇔ DCE (クロスケーブル)

ストレートケーブル接続

DCE ⇔ DTE (ストレートケーブル)

COMポートとチャネル番号

従来、COMポート番号は、OSの管理下で番号が割り付けられ、ポート番号の変更はデバイスマネージャから変更する必要がありました。
しかし、「COMポート番号設定ユーティリティ」を使用することにより、ポート番号とチャネル(ch)の割り付けの煩わしさが解消できます。
「CONTEC COMポート番号設定ユーティリティ」(要認証)をダウンロードしてご利用ください。

「CONTEC COMポート番号設定ユーティリティ」の特長

  • 「CONTEC COMポート番号設定ユーティリティ」を用いることで、ch番号とCOMポート番号が同時に確認できるため容易に関連付けることができます。
  • ボード単位でまとめてCOMポートの確認ができるため、COMポート番号をまとめて変更することができます。

「CONTEC COMポート番号設定ユーティリティ」の仕様

  • 対象製品型式:PCI 及び PCI Express のCONTEC 製シリアルボード
  • 対象OS:Windows 8.1 / 8 / 7 (各OS:32bit / 64bit 対応)
    • Windows 7 でご利用される場合は、「.NET Framework 4.0」が必要になります。
  • 要認証となっているファイルをダウンロードする場合は、ユーザIDとパスワードを入力してログインボタンを押してください。自動的にご希望のファイルのダウンロードがはじまります。

「CONTEC COMポート番号設定ユーティリティ」の設定画面

1. ハードウェアのセットアップ完了後、「CONTEC COMポート番号設定ユーティリティ」を起動した画面赤枠の「検索」ボタンの押下により、ハードウェアのセットアップが完了した製品が検出されます。

2. 名称欄に表示された製品型式を、ダブルクリックするとポート番号とch設定画面が表示されます。

以上の操作で、COMポート番号とケーブルのchと割り付けることができます。

「CONTEC COMポート番号設定ユーティリティ」の注意事項

「Windows 7」で以下の画面が表示された場合は、「.NET Framework 4.0」のインストールが必要です。マイクロソフト様のホームページより、「.NET Framework 4.0」をダウンロードしてインストールしてください。インストール手順はマイクロソフト様のホームページを参照ください。Windows 8.1および8の場合は、すでに.Net Framework がインストールされているため問題ありません。

.NET Frameworkの初期化エラー このアプリケーションを実行するには、最初に以下の.NET Framework バージョンのいずれかをインストールする必要があります。v4.0.30319 .NET Frameworkの適切なバージョンの取得方法に関しては、アプリケーション発行者に問い合わせてください。

半二重通信と全二重通信

全二重通信
送信と受信にそれぞれ伝送路があり、送受信を同時に行うことができる方式です。
半二重通信
1つの伝送路を用いて送信と受信を切り替えながら通信する方式です。そのため、同時に通信を行うことはできません。

非同期式通信と同期式通信

シリアル通信では、1本の信号線を用いてデータを1ビットずつ送信するため受信側で正確にデータを受信するために、送信側がどのような速度で1ビットずつ送信しているかを把握しておかなければなりません。RS-232Cでは、通信方式として「同期式通信」と「非同期(調歩同期)式通信」の規格が定められています。計測・制御で使用される周辺装置では、前述の全二重通信・非同期式通信が一般的に利用されています。

同期式通信
相手装置から発生するクロック、もしくは自分から発生したクロックに同期してデータの送受信を行う方式です。送信側から1ビット毎に付加された同期信号をもとに通信を行います。データの転送効率は良いですが、通信手順が複雑になるデメリットがあります。
非同期式通信・調歩同期式通信
互いに自ら発生したクロックに同期してデータの送受信を行う方式です。伝送速度の設定が一致していないと、正常な通信ができません。すなわち、送信側・受信側ともに1秒間に何ビットずつ通信するかを最初に取り決め、その通信速度にあった周波数の同期信号をそれぞれが作り出します。非同期通信では、1本のデータ線上で1ビットずつデータを送受信するため、最初にお互いの通信条件設定を合わせなければ正常に通信できません。周辺装置側の設定にパソコン(コントローラ)側の設定をあわせるのが通常の設定方法です。
通信速度
1秒間に送信するビット数を指定します。単位はbps(bit Per Second)で、300、600、1200、2400、4800、9600、19200などから選択します。設定とタイミングを合わせることでデータの区切りが一致し、正常にデータを送受信できるようになります。そのため、1データ(1バイト)毎にスタートビットを付加し、正しいタイミングを取得します。

3区切りの場合 101 2区切りの場合 11

ストップビット長
データの終端を表すビットの長さを設定する。通常は、1ビット、1.5ビット、2ビットから選択します。スタートビット長は、1ビットに固定されているため設定は不要です。
データビット長
ひとつのデータが何ビットで構成されているかを指定します。使用する機器にもよりますが、通常は英数字記号ならば7ビット、1バイトのバイナリデータの場合には8ビットを指定します。
パリティチェックの設定
データの誤り検出を行う機能で、「偶数パリティチェック(EVEN)」、「奇数パリティチェック(ODD)」、「パリティチェック無し(NONE)」から選択します。
パリティチェックの詳細
送信側でデータに"1"または"0"のパリティビットを付加しEVENならば、"1"を偶数に、ODDならば"1"を奇数に揃え送信します。受信側でEVENならばデータビットの"1"の数が偶数か、ODDならば奇数かを数えデータが正常かどうかの判断を行います。

10001 1を偶数に揃える 送信 10101 通信異常(ビット反転) 受信 10101 1ガ奇数=×

ハンドシェイク(フロー制御)
機器同士がデータの送受信を行う場合、受信側が受信状態でない場合にデータを送信するとデータが失われる可能性があるため、通信では、お互いの状態を確認することが重要です。ハンドシェイク(フロー制御は通信の信頼性を確保する機能で、送信側から受信側に「データ送信中」という信号を送り、受信側はその信号を受け、信号線からデータを読み込みます。そして送信側へ「データを受信しました」という返事をします。つまり、互いにデータの送受信を確認しあいつつデータを転送することができます。
ソフトウェアハンドシェイク(XON/XOFFフロー制御)
受信側の受信バッファ空き領域が残り少なくなると、送信側に『XOFFコード』を送信し、送信の一時中断を要求します。空き領域が十分になった時点でXONコード』を送信し、送信側へ送信の再開を要求する制御方法です。
ハードウェアハンドシェイク
ソフトウェアフロー制御のXON/XOFFコード送信の代わりに、コントロールライン(RTSまたはDTR)を自動的にON/OFFします。RTS信号とCTS信号または、DTR信号とDSR信号をそれぞれ相互に接続する必要があります。