RS-232、RS-422、RS-485インターフェースで信頼性の高い産業用長距離通信を実現するUART

著者 Art Pini

DigiKeyの北米担当編集者の提供

産業用のセンシングと制御は、通信バスに多くの課題を抱えています。たとえば、敷設されるケーブルの多くは数百フィートまたは数千フィートの長さに及びますが、過酷な状況の産業環境で運営されるのが一般的な認識です。そのような環境で産業用装置は幅広い温度、電源ラインとデータライン両方への強度の電気的ノイズ、さらに電磁干渉(EMI)、静電気放電(ESD)、または短絡などの障害事象にさらされる可能性があります。

これらの問題の解決策は、ユニバーサル非同期レシーバ/トランスミッタ(UART)(サプライヤによっては非同期通信エレメント(asynchronous communications element:ACE)とも呼ぶ)をベースにした堅牢なシリアルインターフェースを使用することです。UARTは、Texas InstrumentsTL16C752Dのようにスタンドアロンデバイスとして提供されているか、またはMicrochip TechnologyPIC16F688T-I/SLのようにマイクロコントローラに含まれています。

適切なラインドライバを使用することでUARTは長距離にわたって機能し、その長さはRS-232シリアルデータバスでは15m、RS-485またはRS-422インターフェースでは1000mに及びます。これら3種類のプロトコルはすべて、ファクトリオートメーションアプリケーションのリモートマシンやコントローラを制御するために機能し、最も厳しい状況設定でのEMIやESDの効果を最小限に抑えるように設計されています。

この記事では、一般的に使用されているこれらの産業用制御インターフェースプロトコルの背景と、それらをUARTとラインドライバを使用して実装する方法について説明します。

RS-232

RS-232シリアル通信規格は、現在EIA/TIA-232-Fとしても知られており、これは米国電子工業会/通信工業協会の規格です。Fの文字は最新のリビジョンを示します。この規格は、国際電気通信連合(ITU)規格V.24およびV.28と同じです。このインターフェースは、パーソナルコンピュータに使われるオリジナルのシリアルバスでした。元々はデータ端末装置(DTE)としてのコンピュータを、データ通信装置(DCE)としてのモデムに接続するために使用されました。

EIA/TIA-232-Fは物理層規格を定義しており、信号レベルおよびタイミング、制御信号、コネクタ、コネクタ配線などが含まれます。文字エンコーディング、フレーミング、および他のプロトコルレベルの側面は定義しません。一般的な非同期シリアルバスには、UARTまたはACE、ラインドライバ、コネクタ、およびケーブルが含まれます(図1)。

Texas Instrumentsの基本的なRS-232システムの図

図1:基本的なRS-232システムには、コンピュータなどのデータ端末装置(DTE)と、モデムなどのデータ通信装置(DCE)が含まれます。UART/ACEは、パラレルのコンピュータバックプレーンをシリアルRS-232インターフェースに接続します。(画像提供:Texas Instruments)

UART/ACEはコンピュータの内部パラレルバスをシリアルデータストリームに変換します。また入出力の先入れ先出し(FIFO)メモリバッファリング、インターフェースクロック(一般にボーレートジェネレータと呼ばれる)、さらにインターフェースタイミング信号とハンドシェイク信号も供給します。UART/ACEのアナログ入出力はラインドライバによってバッファできます。DTEの出力はトランスミッタ信号(TX)と呼ばれ、入力は受信信号(RX)と呼ばれます。インターフェースケーブルは最長15mに制限されています。ケーブルの長さによって、インターフェースバス上で信頼して使用できる最大データレートが決まります。

RS-232インターフェースは2台のデバイスを全二重接続で接続するので、それぞれのデバイスは同時に送受信できます。RS-232シリアルデータパケットは、スタートビット、5~8のデータビット、1/1.5/2のストップビット、およびパリティビットで構成されます(図2)。

RS-232データパケットの図(クリックして拡大)

図2:RS-232データパケットは、スタートビット、5~8のデータビット(表示では8)、パリティビット(オプション)、1、1.5または2のストップビットで構成されます。(画像提供:DigiKey)

RS-232の最小限のケーブル要件は、送信用、受信用、信号グランド用の3本のワイヤです。グランドは両方の信号導体のリターンです。

RS-232の特性の多くは、電気通信でのその本来の用途と結び付いています。RS-232は、スペースと呼ばれるハイの状態とマークと呼ばれるローの状態で負の論理を使用します。ニュートラルまたはレストの状態はハイなので、相互接続はリモートで検証できます。トランスミッタ側では、0状態またはスペースは、+5~+15Vの間の電圧です。論理1、またはマーク状態は、-5~-15Vの間の電圧です。受信末端では、3~15Vのレベルが0で、-3~-15Vは1を表します。

クロック信号は送信されないため、転送は非同期になります。RS-232は、特定のクロックまたはボーレート用に設定されているバスの両側に依存します。ボーレートは、1秒間に転送されるシンボル数の尺度となり、RS-232ではほぼクロックレートです。一般的なボーレートは300、600、1200、2400、4800、9600、19200、38400、57600、115200、230400、460800、921600ボーです。

クロックレートが高いほど、ケーブル長が制限されます。たとえば、9600ボーでは、15mの最大ケーブル長を使用できます。ボーレートがさらに高いと、ケーブル長の上限は短くなります。

RS-232制御信号

RS-232には複数の指定された制御信号があります。それらの信号はDTEおよびDCEデバイスのステータスを報告するとともに、データの転送速度を整えるためにハードウェアベースのハンドシェイクを実装します(表1)。

信号名 ニーモニック 機能
Data Terminal Ready DTR データを送信できる状態で、DTEによりオンに設定される。このラインがオンでないと、DCEはDSRをオンにできない。
Data Set Ready DSR DCEによりオンに設定され、DCEがオンラインであることを示す。
Carrier Detect DCD リモートDCEからキャリヤを受信している状態で、DCEによりオンに設定される。
Ring Indicator RI リモートの電話回線が呼び出している状態で、DCEによりオンに設定される。
Request To Send RTS データを送信できる状態で、DTEによりオンに設定される。
Clear To Send CTS 受信したRTSコマンドに応答して、DCEによりオンに設定される。RTSがオフになり最後のデータビットが受信されるまで、オンが保持される。
Receive Data Line RX データを受信。
Transmit Data Line TX データを送信。

表1:RS-232制御およびハンドシェイク信号。(表提供:DigiKey)

ハードウェアハンドシェイクは、Request to Send(RTS)とClear to Send(CTS)フロー制御信号を使用して実装され、これにより両方のデバイスがデータを転送できる状態にあること、およびデータが受信デバイスによって受信されたことを確認します。ハードウェアハンドシェイクは、以下の動作により実装されます。

  1. データ端末機器がRTSラインを「1」または「マーク」状態に設定します。
  2. データ通信機器がCTSラインを「1」または「マーク」状態に設定します。
  3. データ転送の期間に、データ端末機器がData Terminal Ready(DTR)ラインを「1」または「マーク」状態に設定します。
  4. 転送の終わりに、データ端末機器がDTRおよびRTSラインを「0」または「スペース」状態に復元します。
  5. データ通信機器がCTSラインを「0」または「スペース」状態に復元します。

RS-232は、データストリームで送信されるXON(ASCII DC1、16進数11)およびXOFF(ASCII DC3、16進数13)文字(キャラクタ)が同様の転送データ同期を実行する場合には、ソフトウェアハンドシェイクを使用してデータフローを制御できます。

UART機能ブロック図

Texas InstrumentsのTL16C752DはデュアルUARTで、最大3Mbits/s(メガビット/秒)のデータレートが可能な64バイト送受信FIFOを備えています(図3)。

Texas InstrumentsのTL16C752D 3Mbit/sデュアルUARTの機能ブロック図

図3:Texas InstrumentsのTL16C752D、3Mbit/sデュアルUARTの機能ブロック図には、64バイトのFIFOとインターフェースラインが示されています。(画像提供:Texas Instruments

UARTの各セクションには、ソフトウェア制御による独自のボーレートジェネレータがあります。データバスインターフェースは、パラレル-シリアルデータ変換を実行し、デュアルUARTの両セクションにフィードします。各セクションには独立した制御ラインがあります。TL16C752Dは、-40°C~85°Cの温度範囲で1.8V~5.5Vの電源電圧により動作します。

マイクロコントローラベースのUART

Microchip TechnologyのPIC16F688T-I/SLなど多くのマイクロコントローラには、モニタと通信するためのシリアルデータインターフェース、外付けA/Dコンバータ(ADC)およびD/Aコンバータ(DAC)、または他のマイクロコントローラが含まれています(図4)。

Microchip TechnologyのPIC16F688T-I/SL CMOSマイクロコントローラの図

図4:Microchip TechnologyのPIC16F688T-I/SL CMOSマイクロコントローラは、EUSART(Enhanced Universal Synchronous/Asynchronous Receiver/Transmitter)を使用したシリアルインターフェースを備えています。(画像提供:Microchip Technology)

EUSARTは、シリアル通信インターフェース(SCI)とも呼ばれ、全二重非同期または半二重同期のシリアルデータリンクとして構成できます。PIC16F688T-I/SLのEUSARTにはシフトレジスタ、クロックジェネレータ、データバッファがすべて含まれており、これらはマイクロコントローラプログラム実行からは独立して入出力シリアルデータ転送を実行するために必要なものです。またEUSARTには2キャラクタの受信バッファと1キャラクタの送信バッファがあります。全二重非同期インターフェースは、ディスプレイモニタ(マイクロコントローラでのこのインターフェースの主なアプリケーションでもある)などの外付けペリフェラルとの通信に便利です。

ラインドライバ

ラインドライバは、送受信信号をバッファすることでUARTの動作を強化します。ラインドライバは、RS-232のフル電圧レベル仕様で動作する面で有用です。このようなデバイスの一例として、Texas InstrumentsのMAX232DRデュアルRS-232/TIA/EIA-232-Fトランシーバがあります(図5)。

TL16C752DデュアルUARTのバッファ用のTexas Instruments MAX232DRデュアルドライバ/レシーバの図

図5:TL16C752DデュアルUARTのバッファ用にMAX232DRデュアルドライバ/レシーバを適用します。MAX232DRは最大±30Vの入力電圧に耐え、出力はグランドへの短絡から保護されます。(画像提供:Texas Instruments)

MAX232DRラインドライバ/レシーバは、より高い電圧を必要とする産業用アプリケーションに有利です。MAX232DRは最大±30Vの入力電圧に耐えられます。このデバイスは容量性電圧発生器を備えており、4つの外付けコンデンサを使用して5V単一電源からの出力で-5~-7Vおよび+5~+7VのRS-232電圧レベルを供給します。

差動シグナリング

RS-232は送受信ラインにシングルエンド接続を使用します。このようなシングルエンド接続では、信号電圧はラインからグランドで測定されます。産業環境では、RS-232信号ラインによりピックアップされる多くのノイズがあり、バス配線の長さが制限されます。この制限の古典的な回避方法は、差動シグナリングを使用することです。

差動バスは、信号ごとに2本の線で構成されており、2本の信号線間の電圧差で信号を測定します。ノイズとクロストークは一般的に両方の信号ラインで共通なので、電位差の測定ではこれらのほぼ同一の信号を差し引き、それらの振幅を大幅に低減します。さらに、差動ケーブルもシールドされて、ノイズと干渉のピックアップをさらに低減します。

差動信号ラインを使用する2つの一般的なデータバス規格として、RS-422(TIA/EIA-422)とRS-485(TIA/EIA-485)があり、特に後者は産業用シリアルバスとして最もよく見られます。これらの規格ではツイストペア伝送ラインが使用され、接続されたデバイス間の距離が1200m(4000フィート)にも及ぶこともあります。両方の規格ともデータレートは最大10Mbps/sです。3種類のシリアルバスの比較を以下に示します(表2)。

規格 RS-232 RS-422 RS-485
ライン構成 シングルエンド 差動 差動
転送タイプ 全二重 全二重 半二重(2本線)
全二重(4本線)
使用する信号 TX、RX、RTS、CTS、DTR、DSR、DCD、グランド TXA、TXB、RXA、RXB、グランド データA、データB、グランド
バストポロジ ポイントツーポイント ポイントツーポイント マルチポイント
最大接続デバイス数 1 10(受信モード) 32
最大長 9600bits/sで15m 100Kbits/sで1.2km 100Kbits/sで1.2km
最大データレート 1Mbit/s 10Mbits/s 10Mbits/s
レシーバ感度 ±3V ±200mV ±200mV

表2:RS-232、RS-422、およびRS-485規格の特性の比較。(表提供:DigiKey)

RS-422とRS-485の違いとしては、RS-485では最大32台のトランシーバに対応できる(バスエクステンダを使用してさらに台数を追加可能)一方、RS-422ではバス上の10台のレシーバに限られます。またRS-485の全二重モードで4本の線が必要なのに対して、半二重モードおよびRS-422では2本です(図6)。

RS-485インターフェースの全二重(左)と半二重トポロジの図

図6:RS-485インターフェースの全二重(左)と半二重トポロジ。コンピュータまたはマスターデバイスは赤で、他のデバイスは青で示されています。(画像提供:Texas Instruments

差動バス配線では、図のように、送信または受信信号線ごとに2本の導体を使用します。全二重モードには線が4本必要ですが、半二重モードには2本のみ必要です。RS-422とRS-485両方の高速性により、伝送ラインは両端で終端する必要があります。ツイストペアの場合、終端抵抗RTは120Ω(オーム)です。TL16C752DインターフェースICのデュアルUART構成からも推測されるように、TL16C752DにはRS-485モードがあります。そのため、多くのUARTおよび関連するラインドライバがデュアル構成を採用しています。

RS-422ではトランスミッタ側の電圧レベルは±6Vで、RS-485では電圧レベルは-7~+12Vです。レシーバでは、感度は両方の規格で±200mV(ミリボルト)です。

まとめ

3種類のシリアルインターフェースRS-232、RS-422、RS-485は、短距離と長距離の両方で堅牢なシリアル通信の幅広い選択肢を提供します。これら3種類の規格すべての基盤となるUARTによって、特に難しい産業環境でのさまざまな設計にシリアル通信を容易に追加できるようになります。

DigiKey logo

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

著者について

Image of Art Pini

Art Pini

Arthur(Art)PiniはDigiKeyの寄稿者です。ニューヨーク市立大学の電気工学学士号、ニューヨーク市立総合大学の電気工学修士号を取得しています。エレクトロニクス分野で50年以上の経験を持ち、Teledyne LeCroy、Summation、Wavetek、およびNicolet Scientificで重要なエンジニアリングとマーケティングの役割を担当してきました。オシロスコープ、スペクトラムアナライザ、任意波形発生器、デジタイザや、パワーメータなどの測定技術興味があり、豊富な経験を持っています。

出版者について

DigiKeyの北米担当編集者