技術情報
産業用エッジコネクティビティ
![3f1932b9e4a35f2cc6dca19c0fc3b05624b93a066667a156698a0](https://www.ibsjapan.co.jp/resources/3f1932b9e4a35f2cc6dca19c0fc3b05624b93a066667a156698a0_s.jpg)
RS-422/485について
シリアル通信について
産業分野において、従来からRS-422/485インターフェースが多く使われています。その多くはPCにRS-422/485ボードを搭載し、産業用RS-422またはRS-485ネットワークに接続され、最大1.2kmまでの距離に対してデータを送信することができます。
RS-232Cが複数の信号線が共通のグランド線を共有し、送信信号、受信信号の電圧を変化させて信号を伝送する不平衡型といわれる方式に対して、RS-422/485は、+の信号線と-の信号線を使って信号を伝達します。+と-の信号は必ず逆の電気特性となります。例えば0~5Vの電圧を使用する場合、+側が5V出力している時は、-側は0Vが出力されます。反対に、+側が0V出力している時は、-側は5Vとなる差動信号を使います。従って、各信号線は必ず2本のペア線を使い、片方を正論理、もう片方を負論理として伝送する方式、即ち平衡型の伝送方式です。この差動信号を使うために雑音を打ち消し、高速の遠距離通信を可能としました。また、RS-485は、1対の信号線上に複数の装置を接続できるマルチドロップが可能です。
RS-422
差動信号による伝送方式
RS-422プロトコルは、シリアルバスの実用的な可能性を大きく拡大させました。そのメカニズムとして、シリアルインターフェースでありながら、最大10Mbpsのスピードで、最大1.2kmまでデータの伝送が可能です。1対の送信あるいは受信信号線をそれぞれ+、-の差動信号に分離することにより、ノイズを打ち消し、長距離の延長が可能となることから、工場のようなノイズが多い環境での使用に最適です。
![](/storage/RS422.gif)
特徴 | 全2重、Point to Point |
---|---|
オペレーションモード | 差動信号 |
ライン当たりのドライバ数 | 1 |
ライン当たりのレシーバ数 | 10 |
最大ケーブル長 | 1.2km |
最大速度 | 10Mbps |
RS-485
RS-422のアップグレード・バージョンで、1対の信号ライン上に最大32台の装置を芋づる式に接続できるマルチドロップによる通信方式です。ドライバ出力は、トライステートで、(制御信号によってロジック出力をデジタルHiレベル、デジタルLoレベルのロジックステートに加え、第3のハイインピーダンスHi-Z状態を作り出せるので、トライステートロジック回路と呼ばれます)1台の装置だけをドライブするための制御を行います。通常、この制御は、RTS/CTSを使ったプログラマブル・ハンドシェークハンドで行われますが、最近Moxaなどが、ハードウェアによる制御方式を組み込んでいます。例えば、MoxaのADDC(Automatic Data Direction Control)やB+B SmartWorxのSend Data Controlなどがあります。
![](/storage/RS485.gif)
特徴 | 半2重、マルチドロップ |
---|---|
オペレーションモード | 差動信号 |
ライン当たりのドライバ数 | 32 |
ライン当たりのレシーバ数 | 32 |
最大ケーブル長 | 1.2km |
最大速度 | 10Mbps |
ターミネ-ション(終端)
ターミネータ(終端抵抗)は、送信ノード、受信ノードの両側のインピーダンス・マッチングのために使用します。若し、インピーダンスがミスマッチの場合は、送信信号が負荷側に完全に吸収されず反射として送信側に戻ってきてしまい損失となります。若し、送信ラインと負荷側のインピーダンスが等しければ(マッチング)反射はなくなり損失のない通信が実行されます。インピーダンス・マッチングのためのターミネータ(抵抗値)は、ケーブルのインピーダンス特性により決定されますが、通常は120Ωが使われます。
![](/storage/Termination.gif)
ADDC(Automatic Data Direction Control)
(RS-485制御を実行するハードウェアによる制御方式)
- オペレーション :
-
- システムから送信のON/OFFスイッチングを実行する
- 1ノードだけが与えられた時間にスイッチングのON/OFFを実行する
- 従来の方法 : RTS信号を使い、ソフトウェアによる送信の制御を実行する
- ハードウェアによる新しい方法 : ADDC等のハードウェア制御
- 利点 : ADDCにより送信スイッチのON/OFFを正確に実行できる
- 結果 :
- ADDCを組み込んだ、マルチポート・シリアルボードやインターフェースコンバータなどの機器を使用することにより、RTS/CTSを使用した従来の複雑なハンドシェーク制御に代わり自動的にデータのセンシングとデータの方向を制御することができます。
アイソレーション(絶縁) : グランドループの解消
産業用アプリケーションで問題になることは、装置が異なる場所から電源供給を受け、装置間の接続が長い場合、電位差が生じます。そして、グランドラインを通じてグランドループが発生することにより、ノイズの発生による通信エラーや装置内部のレシーバやドライバを破壊することが考えられます。
この障害を無くすには、グランドループを切る必要があります。例えば、Moxaのマルチポート通信ボードやインターフェースコンバータのように、オプティカル・アイソレータを製品に組込まれていれば、電気信号が光に変換されることにより直接、物理的に電気信号が接続されないために2,000V程度までの高圧に耐えられます。
![](/storage/Isolation.gif)
RS-422/485ワイヤリング・トポロジー
- 4線式全2重(Point to Point) RS-422
- 2線式半2重(Point to Point) RS-485 2線式半2重 RS-485
- 2線式半2重(マルチポイント) RS-485
- 4線式全2重(マルチドロップ) RS-485
RS-485半2重通信の極意
RS-485は、差動の送信を利用することで信号が拾う各種ノイズ妨害の殆どを相殺しますので長距離シリアル通信に適しています。シンプルなRS-485ネットワークは、1つのマスターと最大で32のスレーブデバイスから成ります。RS-485は、半2重通信を使用しますので即ち、同じ2線(以下に示すD+とD-)が送信と受信の両方に使用されるために接続しているどちらのサイドが送信できるかを制御する方法がシステムに組み込まれる必要があります。この記事では、Moxaの特許であるADDC(Automatic Data Direction Control : データ転送方向自動制御)のコンセプトを説明しADDCがどのように動作するかを説明します。
![](/storage/RS-485_duplex01.gif)
(図1)RS-485半2重通信
送信(Tx)と受信(Rx)の方向を制御する最も一般的な方法は、UARTとRS-485半2重の書き込みの間のRTS信号を使用することです。シンプルなロジック回路(図2)を使用することによりRTSをオンまたは、オフにすることでTxとRxの方向を切り替えることができます。これは、即ち、データを送信するためにRTSをオンにすることまた、次に送信が終了したらオフにすることです。全体のコンセプトは、説明や理解することが容易ですが十分に役に立つレベルの精密なタイミングのメカニズムを考案することは、極めて大変です。
![](/storage/RS-485_duplex02.gif)
(図2)データの方向を制御するためのRTSの利用
殆どの場合、RS-485バスは、マスター・スレーブ型アーキテクチャを使用しますがRS-485バス上のそれぞれのデバイスは、ユニークなIDを持つ必要があります。マスターは、IDと共にコマンドを送り各スレーブにそれぞれ応答するように求めます。RTSのデフォルトのステータスは、オフですが全てのデバイスは、Rxの状態であり他のデバイスの1つからデータを受信(コマンド、または、コマンドへの応答のいずれか)するのを待っています。一般的な方法は、次の通りです :
- マスターは、Tx状態に切り替えデバイスに問合わせを行うためにコマンドを送信しそして次にRx状態に切り替えて応答を待ちます。
- マスターから問合わせを受けIDが一致したスレーブは、Tx状態に切り替え応答を返し次にRx状態に戻します。
もしマスターが非常にゆっくりとRx状態に戻る場合、マスターは、全ての応答を受け取れません。もしマスターの戻りが早すぎる場合、コマンドは、正しく送られません。タイミングを正しく制御するためには、いつデータの送信が終わったかを知る必要があります。
![](/storage/RS-485_duplex03.gif)
(図3)方向を制御するためのRTSの利用
UARTの保持とシフトレジスター(UART を直接制御するために)
送るべきデータがない場合、有効なUARTのTxINT(Transmitter Empty Interrupt : 送信機空割り込み)を使用してRTSをオフにすればOKと思うかも知れません。しかし、TxINTの値のチェックは、実際に付加バイトがシフトレジスターからまだ送信されている時にも保持レジスターが空であることだけを伝えます。UARTの送信シフトレジスターは、1ビットずつデータを送るのに使用されます。FIFOにデータを入れる度にUARTは、データをシフトレジスターに自動的に移動します。シフトレジスターが空であることを確認するためにLSR(Line Status Register : ラインステータス・レジスタ)を読みTHRE(Transmitter Holding Register Empty : 送信機保持レジスター空)ビットとTEMT(Transmitter Empty : 送信機空)ビットの両方がセットされているかまたは、されていないかをチェックする必要があります。両方がセットされている場合、RTSをオフにすることは安全です。
Win32とUNIX/Linuxアプリケーション(シリアルアプリケーションプログラマー向けに)
殆どの場合、UARTを手動で制御する必要がなく代わりにOSで提供されたAPIを使用するだけです。Win32システムには、WriteFile()をUNIX/Linuxシステムには、write()を使用することができます。Win32は、RTSを自動で動かすためにRTS_CONTROL_TOGGLE機能を提供します。もしSetCommState()をコールすることでDCB 構造の中でfRtsControlをこの値に設定する場合、ドライバーは、データを送る前にRTSを自動的にオンに終了する時に自動でRTSをオフにすべきです。このアプローチを使用する前にもしシリアルの拡張ソリューション(serial.sys、Windowsの組み込みシリアルポートドライバを使用していないことを意味します)を使用する予定の場合、最初にベンダーがサポートしていることを確認する必要があります。もしRTS_CONTROL_TOGGLEがサポートされていない場合、RTSを手動で制御することは、多くのタイミングの問題を引き起こし信頼性は、高くありません。
UNIX/Linuxの場合、POSIX tty APIは、RTSトグル機能をサポートしていませんのでRTSを手動で制御する必要があります。この場合、データが送られまで待つためにtcdrain()をコールしRTSをオフにするすることができます。問題は、ttyドライバーがドライバーバッファおよびUART保持レジスターをチェックするだけなのです。残念ながらシフトレジスターが空であることを確認する方法は、ありません。RTS制御を使用してUNIX/Linux でRS-485を本当に使用したい場合、ドライバーを修正するか、対応のためにメーカーに相談する必要があります。
仮想シリアルポートを使用する動作(シリアルアプリケーションプログラム向け)
もしもシリアルポートがUSB - シリアルまたは、イーサネット - シリアル変換製品のような仮想ポートの場合、ドライバーは、製品の中のファームウェアで動作する必要があり実際のUARTではないので全てのデータがいつ送り終わったかを知るのは、容易でありません。これは、性能に対しては、優れていますがRS-485 RTSの制御にとって良くありません。もし書き込み動作が終了した時にRTSを直ぐにオフにする場合、データは、まだ送信中でこれが問題を引き起こします。この場合Win32では、ドライバーでサポートされている場合、RTS_CONTROL_TOGGLEを使用することができます。サポートされていない場合、WriteFile()が返される前に全てのデータが送信完了であることを確認するためにドライバーが進化版オプション(MoxaのUPortとNPortのクラシカルモードの様な)をサポートしているかを確認する必要があります。仮想シリアルポートにとってRTS_CONTROL_TOGGLE、または、Windows/UNIX/Linuxでサポートされているクラシカルモード無しにRTSを手動で制御するのは、不可能です。
RTSの自動制御(全ての方に)
ソフトウェア(ドライバーまたは、アプリケーション)によるRTSの制御は、多くの問題を引き起こしますので多くのハードウェアベンダーは、方向を自動で制御することでこの問題を解決します。これは、Moxa特許のADDC(Automatic Data Direction Control : データ転送方向の自動制御)機能で行われているようなRS-485ハードウェアによるTx/Rxの方向を自動で切り替えることができることを意味します。これは、既存のソフトウェアとコンパチブルでもし、RS-485バス経由でコマンドを送信したい場合、RTS信号を制御することに悩むことなくただ送るだけです。ハードウェアは、アクションを検知しTx状態に自動的に切り替えます。いくつかのコンバーター製品は、ユーザに最初にボーレイトを設定するように求めていますので注意して下さい。詳細の情報については、製品のマニュアルを読んでください。
まとめ
RS-485の実装を単純化するための良い方法は、ADDCをサポートする製品を選ぶことです。ADDCの利用でタイミングを合わせるためのプログラムを修正する時間を浪費する必要がありません。既存のプログラムを現状のまま保持することができまた、ADDCの動作は、確実です。RTSをオンまたは、オフするプロセスの制御は、ADDCによって不要となり必要とする内容は、ハードウェアを適正に設定することだけです。
下記をクリックするとPDF版がダウンロードできます。
RS-485半2重通信の極意(PDFファイル)
RS-422/485 アプリケーションノート
![](/storage/69_img.jpg)
産業分野において従来からRS-422/485インターフェースが多く使われています。その多くはPCにRS-422/485ボードを搭載し産業用RS-422またはRS-485ネットワークに接続され最大1.2Kmまでの距離に対してディファレンシャル信号を用いてデータを送信できる、2線式、半二重、マルチポイントシリアル接続を特徴とするOSIモデルでいう物理層の電気的仕様である、などの特徴を備えていますがその詳しい技術的な説明を解説したガイドブックが最近では見当りません。確かにイーサネット、USBを始めとした新しい通信方式が多く使われてきているため何となく影が薄い存在になりつつありますが市場では相変わらずRS-232C、RS-422、RS-485などのシリアルインターフェースが活躍しています。このRS-422/485アプリケーションノートは、初心に帰りその技術の詳細、ケーブル、終端抵抗、過度電流保護、制御ソフトウェアを含め解説します。
アプリケーションノート / 第1章 概要
最初に
このアプリケーション・ノートの目的は、RS-422とRS-485の基本となる構成要素を示すことにあります。また技術的な詳細を十分に説明する予定ですので、システムデ・ザイナーは、データシステム設計の全ての重要な側面を熟考することになります。RS-422とRS-485の双方共に平衡型のディファレンシャル信号を使用するデータ送信システムですので、同じアプリケーション・ノートの中で両方のシステムを説明することが適切だと考えます。一般的な用語であるRS-422とRS-485は、このアプルケーション・ノートの中では、EIA/TIA-422 とEIA/TIA-485規格を示すものとして使用します。
データ送信信号
不平衡型ライン・ドライバ
不平衡型データ送信システムRS-232Cで送信される各信号は、信号グランドに対する電圧としてインタフェース・コネクタに出力されます。例えば、DTE(Data Terminal Equipment)装置からの送出データ(TD)は、DB-25コネクタ上の7番ピン(信号グランド)に対して2番ピン上に出力されます。データが±5~±15ボルトの振幅で送られる時、このラインがアイドルで負のレベルと正のレベルの間で交互であれば、この電圧は、負になります。通常RS-232Cレシーバは、(図1.1)に示されるように +3 ~ +12ボルトと -3 ~ -12ボルトの電圧の範囲で動作します。
![](/storage/figure1-1.gif)
(図1.1)RS-232Cインタフェース回路
平衡型ライン・ドライバ
平衡型のディファレンシャル・システムでは、ドライバで生成された電圧は、一つだけの信号を送信するペアーの信号ラインに出力されます。(図1.2)は、平衡型ライン・ドライバの図示シンボルと出力する電圧を示します。平衡型ライン・ドライバは、AとBの出力端子間で2~6ボルトの電圧を生成し、信号グランド(C)の接続を行います。信号グランドへの適切な接続は重要ですが、データ・ラインの論理状態を決める平衡型ライン・レシーバで使用されることはありません。平衡型ライン・ドライバは、また"Enable"信号と呼ばれる入力信号端子を持つことが出来ます。この信号の目的は、ドライバをその出力端子A、Bに接続することです。もし"Enable"信号が、OFFの場合、ドライバは送信ラインから切り離されていると考えることが出来ます。RS-485ドライバは、"Enable"信号端子を持たなければなりません。RS-422ドライバは、この信号端子を持つ事は可能ですが、必ずしも要求されません。ライン・ドライバの未接続または"ディゼーブル"状態は、通常ドライバの"トライステート"(注1)状態と呼ばれます。
(注1)用語"トライステート"は、"1"と"0"の出力状態に加えてRS-485ドライバの第三の出力状態であることから生まれました。
![](/storage/figure1-2.gif)
(図1.2)平衡型ディファレンシャル出力ライン・ドライバ
平衡型ライン・レシーバ
平衡型のディファレンシャル・ライン・レシーバは、二本の信号入力ラインA、B上の送信ラインからの電圧状態を検知します。これはまた、適切なインタフェース接続を行うのに必要とされる信号グランド(C)も持ちます。(図1.3)は、平衡型のディファレンシャル・ライン・レシーバの図示シンボルです。(図1.3)は、また平衡型ライン・レシーバに重要な電圧も示しています。もしディファレンシャル入力電圧Vabが、+200 mVよりも大きい場合、レシーバの出力端子は、特殊な論理状態になります。もし入力電圧が、-200 mV以下になっている場合、レシーバの出力端子は、反対の論理状態になります。平衡型ライン・レシーバが検知しなければならない入力電圧は、(図1.3)に示されます。200 mV ~ 6 Vの範囲は、送信ライン上に減衰が発生するために必要とされます。
![](/storage/figure1-3.gif)
(図1.3)平衡型ディファレンシャル入力ライン・レシーバ
EIA 規格 RS-422 データ送信
"平衡型電圧ディジタル・インタフェース回線の電気的特性"と呼ばれるEIA規格のRS-422は、RS-422インタフェース回線の特性を定義します。(図1.4)は、通常のRS-422の4線式インタフェースです。5本の導線が使用されている事に注意して下さい。各々の発生器またはドライバは、最大10のレシーバまで駆動出来ます。ラインの2つのシグナリング状態は、次の様に定義されます。
- ドライバのA端子がB端子に対して負の場合、ラインは、バイナリで1(マークまたはOFF)状態です。
- ドライバのA端子がB端子に対して正の場合、ラインは、バイナリで0(スペースまたはON)状態です。
![](/storage/figure1-4.gif)
(図1.4)一般的なRS-422 4線式ネットワーク
(図1.5)は、ラインが"アイドル"または"OFF"の状態の時のRS-232Cから RS-422への変換時の平衡型ラインの電圧状態を示します。またこれは、RS-422システムの"A"端子と"B"端子の関係と、沢山の種類の器機で使用されている"-"と"+"の端子のマークの関係を説明しています。(図1.5)に示されるのと同じような関係は、RS-485システムに対しても適用されます。RS-422は、±7ボルトのコモン・モード電圧(Vcm)に耐えることが出来ます。コモン・モード電圧は、信号グランドに対する"A"端子と"B"端子の平均電圧として定義されます。
(注1)"アイドル"状態では、どの端子が"A"で、どれが"B"であるかを決める事が出来ます。
![](/storage/figure1-5.gif)
(図1.5)RS-422またはRS-485装置上のEIA規格 "A"端子、"B"端子と、"+"、"-"識別との関係
EIA 規格の RS-485 データ送信
RS-485規格では、平衡型送信ラインが、共同回線やマルチドロップモードで共有使用することを認めています。ドライバ/レシーバの32のペアーがマルチドロップ・ネットワークで使用できます。ドライバとレシーバのほとんどの特性は、RS-422と同じですが、ドライバとレシーバが許容できるコモン・モード電圧Vcmの範囲は、+12ボルトから-7ボルトに拡張されます。ドライバは、ラインから切り離すことや、トライステートにすることが出来ますので、トライステート状態の間はこのコモン・モード電圧範囲に耐えることになります。トライステート機能を持つものの中でRS-422のドライバが、+12ボルトから-7ボルトの完全なVcm電圧の範囲に耐えないことがあります
(図1.6)は、一般的な2線式のマルチドロップ・ネットワークを示します。送信ラインは、ラインの両端で終端されていますが、ラインの中間であるドロップ・ポイントでは終端されていませんので注意が必要です。終端は、高速なデータ・レートの時や長いケーブルを使用する時にだけ行うべきです。終端に関しての詳細の説明は、このアプリケーション・ノートの第2章で行います。またレシーバが-7ボルトから +12ボルトの範囲内で受け入れる必要のあるコモン・モード電圧を保持するために、RS-485システムでは、信号グランド・ラインの使用が薦められます。グランドに関してのこれ以上の説明は、このアプリケーション・ノートの第3章で行います。
![](/storage/figure1-6.gif)
(図1.6)一般的なRS-485 を使用した2線式マルチドロップ・ネットワーク
RS-485ネットワークは、(図1.7)に示される様に4線式モードでも接続が可能です。4本のデータ線と追加の信号グランド線は、4線式接続で使用されますので注意して下さい。4線式ネットワークにおいて一つのノードが、マスター・ノードでその他の全てがスレーブ・ノードになる必要があります。このネットワークは、マスター・ノードが全てのスレーブと通信するように接続します。全てのスレーブ・ノードは、マスター・ノードとだけ通信を行います。このネットワークは、ミックスしたプロトコルでの通信に関して機器にいくつかの特徴があります。スレーブ・ノードは、マスターへのその他のスレーブの応答を見ていませんので、スレーブ・ノードは、その他のスレーブ・ノードへ間違って応答する事はありません。
![](/storage/figure1-7.gif)
(図1.7)一般的なRS-485 を使用した4線式マルチドロップ・ネットワーク
RTSを使用したRS-485装置のトライステート制御
前に説明したようにRS-485システムは、特定のノードが送信していない時に送信ラインから接続を切ることが出来るドライバを持つ必要があります。RS-232CからRS-485への変換器、またはRS-485シリアル・カードでは、RTS(Request to Send)信号を用いて行い、非同期のシリアルポートからRS-485ドライバをイネーブルにするのに使用します。RTSラインは、RTSラインをハイの状態(論理 1)にセットすることでRS-485のドライバを有効にするように、RS-485ドライバの"enable"に接続します。 RTSラインをロー(論理 0)にすることでドライバをトライステートにします。これにより実際にドライバをバスから切り離し、他のノードが同じペアー線を通して送信出来るようにします。(図1.8)は、一般的なRS-232CからRS-485へのコンバータのタイミング・チャートを示します。波形は、VRTS波形がデータVSDよりも狭い場合に何が起きるかを示します。これは通常の状態ではありませんが、データ波形の一部の欠落を説明するためにここに示されています。RTS制御が使用される場合、RTSはデータが送られる前に確実にハイにセットされることが重要です。またRTSラインは、最後のデータ・ビットが送られた後にローにセットされる必要があります。このタイミングは、シリアルポートを制御するために使用するソフトウェアで行われ、コンバータで行われる訳ではありません。
RS-485ネットワークが2線式マルチ・ドロップのライン・モードで接続される場合、それぞれのノードのレシーバは、ラインに接続されます(図1.6を参照)。レシーバは、自分の送信データのエコーを受信するように設定することが可能です。これは、システムによっては必要であり、別の場合には邪魔なために不要です。レシーバの"enable"機能をどのように接続するか決める場合は、コンバータのデータシートで確認して下さい。
(注1)ここに示す電圧は、ライン上のその他のデバイスにより決まります。
(注2)ピークの電圧は、全て概略の値です。
![](/storage/figure1-8.gif)
(図1.8)RS-485ドライバとレシーバのRTS制御を使用した
RS-232CからRS-485へのコンバータのタイミング・チャート
RS-485デバイスの送信データの制御
RS-232C から RS-485 へのコンバータやRS-485のシリアル・カードの多くは、特殊な回路を備えており、RS-485ドライバを有効にするためにデータ信号から起動されます。(図1.9)は、このタイプのコンバータを制御するために使用される、重要な信号のタイミング・チャートです。送信データ・ラインは、最後のビットの後に一定の時間、通常は1文字分の長さで無効になります。この時間が短すぎる場合には、送信されるそれぞれの文字の一部が欠落します。もしこの時間が、長すぎる場合には、ノード(送信データ・コンバータを使用して)がデータ受信の準備が出来る前に、システムは、送信から受信にデータ・ラインの向きを変えるように準備しようにします。このケースの場合に、応答の最初の所で一部(または完全な文字)を消失します。
(注2)ここに示す電圧は、ライン上のその他のデバイスにより決まります。
(注2)このタイミング時間は、タイミング回路の素子で決まります。この時間のスタートは、各々のデータ・ビットの先端で決まります。
(注3)ピークの電圧は、全て概略の値です。
![](/storage/figure1-9.gif)
(図1.9)RS-485ドライバとレシーバのSD(Send Data)制御を使用した
RS-232CからRS-485へのコンバータのタイミング・チャート
アプリケーションノート / 第2章 システムの構築
ネットワーク・トポロジ
ネットワーク構築に関しては、RS-422 や RS-485では定義されておりません。デザイナーは、大抵システムの物理的な仕様に最も適した構築を行います。
2線式、または4線式のシステム
RS-422システムには、各々の信号、送信のペアー、受信のペアー、およびそれぞれのハンドシェーク/制御信号(必要であれば)用に専用にペアーのケーブルが必要となります。RS-485のトライステート機能により、一つのペアー線で半二重通信として送信と受信の信号を共有することが可能です。この2線式の構築(追加のグランド線が使用されることに注意して下さい。)により、ケーブル配線の費用を抑えることが出来ます。RS-485デバイスは、2線式システムとして屋内、または屋外での構築に使用さされます。屋内に構築されるRS-485のデバイスは、単純にA、Bの接続(時には、"+"、"-"と表示される)を行います。
4線式通信のために構築されるデバイスは、送信と受信ペアーの双方に対してA、B接続を行います。ユーザは、2線式構築を行うために受信ラインに送信ラインを接続する事が出来ます。後半のタイプのデバイスは、システム・デザイナが構築を行うのに最も柔軟性にとんだものとなります。システムの中では、信号グランドも接続する必要がありますので注意して下さい。この接続は、安全な範囲内では、受信側でVcmコモン・モード・電圧を保持する事が必要です。インタフェース回路は、信号グランド接続無しでも動作しますが、信頼性、ノイズ耐性が弱くなります。(図2.1)(図2.2)は、4線式、2線式システムの接続を示します。
![](/storage/figure2-2.gif)
(図2.2)通常のRS-485 2線式マルチドロップの構築
終端
終端は、使用される送信ラインのインピーダンスにノードのインピーダンスを合わせるのに使用されます。インピーダンスが合わない時には、送信された信号は負荷に完全には吸収されずに、一部は送信ラインに反射されます。ソース、送信ライン、負荷のインピーダンスが同じ場合、これらの反射は、発生しません。しかし終端にも不都合な面があります。終端することで、ドライバーの負荷やインストレーションの複雑さが増やし、バイアスの仕様変更が必要となり、またシステムの修正が困難になります。
終端を使用するかどうかの決定は、システムで使用されるケーブルの長さとデータ転送速度を基に考える必要があります。経験から言えば、データラインの伝搬遅延が1ビット幅より狭い場合、終端は必要ありません。このルールは、反射はデータラインを何回か行ったり来たりして減衰することを仮定しています。受信しているUARTは、ビットの中間でデータをサンプリングしますので、信号のレベルはそのポイントで決められると言うことが重要です。例えば、2,000フィートのデータラインを使用するシステムでは、伝搬遅延は、ケーブルの伝搬速度に基づいてケーブル長を増やすようにして計算することが出来ます。通常ケーブルメーカーでは、光のスピード(C)の66%~75%の値を使用しています。
例として往復で4,000フィートのケーブルを使用するとします。0.66 x Cの伝搬遅延を使用すれば、一往復で約6.16μsになります。もしも反射がケーブル長を3往復行ったり来たりして減衰するとすれば、信号はビット先端の後ろ18.5μsが安定に保つようになります。9,600ボーで1ビットは、104μsの幅です。反射は、ビット中央の後で大きく減衰しますので、終端の必要がありません。
データラインの終端には、いくつかの方法があります。B+B SmartWorxで推奨する方法は、パラレルの終端です。ケーブルのメーカー(120オームが一般的な値)で規定されているデータラインの特性インピーダンスに合わせるように、抵抗はレシーバのA、Bラインにパラレルに追加します。この値は、送信ラインの固有のインピーダンスを現し、線長による相関的な要素ではありません。90オーム以下の終端抵抗は、使うべきではありません。終端抵抗は、データラインの最も端にだけ置く必要があり、2カ所以上の終端は、リピータを使用しないシステムでは置くべきではありません。このタイプの終端は、システムに対して明らかに重いDC負荷を与え、RS-232CからRS-485への変換に電源を供給しているポートへ過大な電源消費を発生させます。別のタイプの終端であるACを組み合わせた終端は、DC負荷の影響を排除するために終端抵抗にシリーズに小さなコンデンサを追加します。この方法は、DC負荷を排除しますが、コンデンサの選択はシステムの特性に大きく依存します。AC終端に興味あるシステム・デザイナで、もっと詳細の情報を見たい場合には、ナショナル・セミコンダクター・アプリケーション・ノート903(注2)を読んで下さい。(図2.3)には、RS-485 2線式ノードに関してパラレル終端とAC終端の両方の終端を示します。4線式のシステムでは、終端をノードのレシーバ部分に置きます。
(注2)ナショナル・セミコンダクター・アプリケーション・ノートに関する情報は、7章を参照して下さい
![](/storage/figure2-3.gif)
(図2.3)パラレル終端とAC終端
RS-485ネットワークのバイアス
RS-485ネットワークがアイドル状態の時に、全てのノードはリスン(レシーブ)モードになります。この状態では、ネットワーク上にアクティブな装置はありません。全てのドライバーは、トライステートになります。ネットワークをドライブするものが何もない状況では、ラインの状態は不明です。レシーバAとBの入力端電圧レベルが、±200mV以下の場合には、レシーバの出力端での論理レベルは、最後に受信したビットの値になります。特定のアイドル電圧状態を維持する目的で、データラインをアイドル状態にするためには、バイアス抵抗を使用する必要があります。 バイアス抵抗は、データBライン上では、プルアップ抵抗(通常5ボルトへ)であり、データAラインではプルダウン抵抗(グランドへ)です。(図2.4)は、2線式システムでのトランシーバのバイアス抵抗の配置を示します。4線式システムでのバイアス抵抗は、レシーバ・ライン上に置く必要があるので注意が必要です。バイアス抵抗の値は、システムでの終端とノードの数に依存します。目的は、BとAのデータライン間で200mVの最小値を維持するためにネットワークの中で十分なDCバイアス電流を流すことです。バイアス抵抗の計算に関して、次の2つのサンプルを考えてみて下さい。
![](/storage/figure2-4.gif)
(図2.4)バイアス抵抗を用いたトランシーバ
例1.120オームの2つの終端を使用した10ノード、RS-485ネットワーク
それぞれのRS-485ノードは、12KΩの負荷インピーダンスを持っています。パラレルで10ノードでは、1200Ωの負荷になります。それに加えて120Ωの2つの終端抵抗により別の60Ωの負荷が加わることになり、合計では57Ωの負荷となります。負荷の大半は、終端抵抗になることは明らかです。BとAライン間を少なくとも200mVになるように維持するには、負荷に3.5mAのバイアス電流を流す必要があります。5V供給からこのバイアスを得るためには、合計で1,428Ωかこれ以下のシリアル抵抗が必要となります。負荷の一部である57Ωを引くと、1,371Ωが残ります。5Vへのプルアップとしてこの値の半分を使用し、グランドへのプルダウンとして半分を使用すると2つのバイアス抵抗のそれぞれに対して685Ωの最大バイアス抵抗値となります。
例2.終端を使用しない32ノード、RS-485ネットワーク
RS-485ノードのそれぞれは、12KΩの負荷インピーダンスを持ちますので、32ノードのパラレルでは、合計の負荷が375Ωになります。375Ωを使用して少なくとも200mVを維持するためには、0.53mAの電流が必要です。5V供給からこの電流を得る為には、合計で最大9,375Ωの抵抗が必要です。この合計375Ωはレシーバの負荷ですので、バイアス抵抗は9KΩかこれ以下を付加する必要があります。終端なしのシステムでの必要なバイアス電流は、非常に小さくなりますので注意して下さい。
バイアス抵抗は、ネットワークの中でどこに置いても構いませんし、複数のノードで分割する事も可能です。システムの中での全てのバイアス抵抗のパラレル結合値は、計算上のバイアス値より小さいか同等です。一般には、全てのRS-485製品の中に4.7KΩのバイアス抵抗を使用します。この値は、終端無しのほとんどのシステムに適合します。システム・デザイナは、ネットワークのバイアス値を常に計算する必要があります。低いバイアスの場合の症状は、範囲がノイズ耐性の減少からデータの完全な破壊にまでおよびます。過剰なバイアスは、システム上で効果がなく、またほとんどの場合結果としてドライバーの負荷を増やすことになます。RS-232C から RS-485への変換に電源を供給しているポートを使用しているシステムは、過剰なバイアスの影響を受け易くなります。
仕様の拡張
システムによっては、RS-422 や RS-485でサポートされている仕様より多くのノードや、長い距離が必要になる場合があります。これらの障壁を克服するために、一般的にはリピータを使用します。負荷を複数セグメントに分割する目的で、B+B SmartWorxの485OPのような RS-485のリピータをシステムの中に配置することが可能です。それぞれの"リフレッシュ"信号により、更に4000フィートのケーブルと、追加で31のRS-485ノードを駆動する能力があります。
RS-485ノードの数を増やすその他の方法は、低負荷タイプのRS-485レシーバを使用する事です。これらのレシーバは、RS-485ドライバー上の負荷を減らして合計のノード数を増やすために、高入力インピーダンスを使用します。
現在は、負荷を半分、1/4にするICを使用したレシーバが可能で、合計ノード数を64から128に拡張可能です。
アプリケーションノート / 第3章 RS-422とRS-485のケーブルの選び方
RS-422 と RS-485 システムのケーブルの選び方に関しては、ほとんどの場合考慮されていません。選ぶ過程でいくつかの細かい点に注意すれば、何千フィートものケーブルを再度配線する様な余分な経費を削減することが出来ます。
導線の数
ケーブルを発注する時に、信号グランドの導線は、見過ごされがちです。特殊なツイストペアーは、信号グランドをとるために十分な導通を持つように明記する必要があります。2線のシステムは、2組のツイストペアーを必要とし、4線のシステムは、3組のツイストペアーを必要とします。
シールド
実際にシールドケーブルが必要か必要でないかを見極めるのは大変な事です。しかしシールドケーブルの追加コストは、通常それほどかかりませんので、最初に設置するだけの価値はあります。
ケーブルの特性
RS-422 またはRS-485用の送信ケーブルを選ぶ時には、システムで必要とするケーブルの長さとデータレートを見極める必要があります。EIA RS-422-A標準の付録は、24 AWGツイストペアー電話線のケーブル長とデータレートに関わる経験的なカーブを現しており、電話線は、16pF/ftの並列容量を持ち、100Ωで終端されています(図3.1を参照)。 このカーブは、以下の信号品質の仕様をベースにしています。
- 使用される変調レートでの半分の間隔に等しいか、またはそれ以下の信号の立ち上がりと立ち下がり時間
- ドライバーと負荷間で6dBの最大電圧損失
![](/storage/figure3-1.gif)
(図3.1)24 AWG ツイストペアーケーブルを使用したバランス型の
インターフェースでのデータ通信レート対ケーブル長
送信ケーブルの損失は、AC損失(スキン効果)、DC導通損失、リーケージ、絶縁体の中のAC損失分の全体です。高品質なケーブルでの導体損失と絶縁体損失は、大きさでは同じレベルです。図3.2では、異なるケーブルの性能は、大きく差があることを示すためにこのアプリケーション・ノートに入れてあります。このチャートは、3つの異なるBeldenケーブルに対する損失対周波数を示します。ポリエチレンケーブルは、PVCケーブルよりも損失がかなり小さいので注目して下さい。
(注1)上記の損失データは、Belden Wire and Cable 社の好意により提供されました。
(注2)Dataleneは、Belden Wire and Cable 社の登録商標です。またDataleneは、発泡気孔ポリエチレン絶縁体の型式です。
![](/storage/figure3-2.gif)
(図3.2)各種ケーブルに対する損失対周波数
送信ケーブルを選ぶ場合のその他のアプローチは、E-GRADE Programで、これはAnixter Bros. Incで確立されました。Anixter は、世界的なワイヤリングシステム製品のディストリビュータの1つです。このプログラムを元にAnixterは、データインタフェースケーブルを以下の様に4つのカテゴリーに分類しています。
- E-GRADE 1 限定された長さ
- E-GRADE 2 標準の長さ
- E-GRADE 3 拡張された長さ
- E-GRADE 4 最大の長さ
単純なチャートにより、ユーザがケーブルのパラメータを技術的に理解していなくても適切なケーブルを選択することが可能です。このプログラムは、使用カテゴリーをEIA-232-D、EIA-422-A、EIA-423-Aに分類します。この資料を使用する時には、RS-485ケーブルを選択する場合EIA-422-Aチャートを使用して下さい。
国内では、アイ・ビー・エスジャパンが供給するCC27シリーズ長距離伝送ケーブルがこれらに該当します。
長距離伝送ケーブル
アプリケーションノート / 第4章 RS-422およびRS-485システムの過渡電流保護
過渡電流(トランジェント)からRS-422 または RS-485システムを保護するための最初のステップは、防ごうとしているエネルギーの性質を理解することにあります。過渡電流エネルギーは、いろいろな根源、典型的な環境状況で、または大きなインダクティブな負荷を切り替えることで誘発されることに起因します。
サージは、どのようなものか
サージの詳細説明
過渡電流は、必ずしも産業用の細目と同じ訳ではありませんが、IEEE(Institute of Electrical and Electronics Engineers)およびIEC(International Electrotechnical Commission)の両方で、サージに強い電気的、電子的な機器の評価に使用する過渡電流モデルを開発してきました。これらのモデルは、システムの損傷を防ぐ必要のあるエネルギーのタイプに踏み込んだ内容を提供しています。
IEC 1000-4-5: 1995 "サージ防止試験" および IEEE C62.41-1991 "低電圧AC電源回路のサージ電圧に関してIEEE が推奨する方法" は、オープン回路での電圧立ち上がりが、1.2µsの時間で50µsの消滅時間を持つ"1.2/50µs ~ 8/20µsの複合波形" サージを定義しています。記載のある電流波形は、ショートに対して8μsの立ち上がり時間で20μsの消滅時間を持っています。ある環境の元では20kVの高電圧が適用されますが、正と負の両方の極性において1~6kVのオープンな電圧レベルが、一般的に使用されます。(図4.1)と(図4.2)は、複合波形の特性を示しています。更にIEEE C62.41では、100 kHzの"リンギング"試験を説明しています。リンギング波形は、0.5μsの立ち上がり時間と、(図4.3)に示されるように12Ωのソースインピーダンスを持ち100kHzの減衰発振を持ちます。100kHzのリンギング波形の通常の振幅は、1~6kVの範囲です。
- (図4.1)複合波の電圧波形
- (図4.2)複合波の電流波形
- (図4.3)100 kHz のリンギング波
コモンモードとディファレンシャルモード
システムを脅かすようなサージのタイプを識別する事は、過渡電流防止のための適切なレベルとその方法を選ぶ為の重要な要素です。データ転送ケーブルの中の導体のそれぞれが、同じ物理的な空間を通って伝わりますが、環境に起因する過渡電流または、"コモンモード"(これは全てのデータ上、またはデータケーブル内のグランド導体上に現れる)電流の切り替えを予想する事は理にかなっています。設置によっては、考慮すべき不要なエネルギーの別の根源が存在する可能性があります。データ通信ケーブルの近くを通る高電圧のケーブルがあれば、絶縁不良や設置者による不注意な接触により、異常な状況発生の可能性があります。このタイプのサージは、データ機器に対して"ディファレンシャル"サージを示しながら、データ通信ケーブル内の導体の何本かを接触させる可能性があります。このタイプのサージに関連する電圧と電流は、ANSIやIECによってモデル化されているサージのタイプよりもかなり低くなりますが、これらはそれ自身特別に破壊的な性質を持っています。数ミリセカンド以内に消失するにもかかわらず、データ通信ネットワーク上でしっかりとしたままの状態で存在します。
グランドはグランドではない
過渡電流エネルギーが、性質上高い周波数になり得ることを実感することにより、ある種の混乱を引き起こす事に気づかされます。この高さの周波数では、2点間の経路にインダクタンスがあるために2点間で低インピーダンスとなる電気的な接続を実現するのは難しくなります。グランドを取っているシステム間で経路が、何フィートのケーブルかまたは何千フィートのアースであるかによって、過渡電流が発生している間は、異なるグランド間で何百ボルトまたは何千ボルトの電圧になる可能性があります。配線により接続されている2点が、同じ電圧であると想定する事が出来なくなります。システムデザイナーにとって、これは RS-422/485が、5Vのディファレンシャルシグナリングを使用しているにもかかわらず、そのリモートノードのローカルグランドに関して、リモートノードは、5V信号を何百または何千ボルトの過渡電流に乗っていると見ることを意味します。一般的に"信号グランド"と呼ばれるものを一つの"信号の基準"として言及する事で、直感的で理解し易くなります。
グランド間にこれらの大きなポテンシャルの違いが存在する事を知った上で、我々はどのようにシステムノードを接続しましょうか。保護をうまく行う最初のステップは、リターンをサーチしながらサージ電流に対してデバイスを経由する経路を排除して、システムの中の各々のデバイスが、ただ一つのグランドに関係している事を確定する事です。このような単純なグランドの状態を作り出すのに2つのアプローチ法があります。最初のアプローチは、ホストデバイスのグランドからデータグランドを分離する事で、これは(図4.4)に示される様に通常トランス、または光アイソレーターを使用して行われます。二番目のアプローチは、(図4.5)に示す様に低いインピーダンス接続を使用してデバイス上で一緒に(通常電源のグランドとデータ通信のグランド)グランドの各々を結ぶ事です。これらの2つの技術は、過渡電流保護のための2つの基本的な方法です。
![](/storage/figure4-4.gif)
(図4.4)分離されたRS-485デバイス
![](/storage/figure4-5.gif)
(図4.5)シャーシグランドに信号グランドを接続したRS-485デバイス
アイソレーションを用いる過渡電流の保護
アイソレーションの原理
過渡電流保護に対する最も一般的なアプローチは、ホストデバイス回路からデータポートを直流的に分離する事です。この方法は、固定されたグランドから信号との関連性を分離します。光アイソレーター、トランス、光ファイバーは、ホストデバイスからI/O回路を分離するためにデータ通信ネットワークで一般的に使用される各種の方式です。RS-422 や RS-485のアプリケーションでは、光アイソレーターが最も一般的です。光アイソレーターは、電気的な連続性をなくして、電気的な信号を光に、または逆に変換する、一つにまとまった回路です。分離されたポートを使用することで、全ての分離された回路の構成部分が、データ通信の崩壊無しに過渡電流のレベルに浮き上がります。回路構成部分のフローティングレベルがアイソレーター破壊の使用限度(通常1000~2500ボルト)を超えない限り、ポートは、損傷を受けることはありません。このタイプの保護は、過剰なエネルギーを吸収したり、分流する事はしませんので、過渡電流が持続する長さに影響されることはありません。連続的な電圧の大きな変化も、分離されたデバイスに害を与えることはありません。アイソレーターはコモンモードの過渡電流上で動作しますが、例えばデータ通信回路と電源回路間のショートによる等、データ通信ケーブルの各導体間での大きな電位差に対しては保護出来ない事に注意する必要があります。
アイソレーションデバイス
光アイソレーションは、色々な方法で組み込むことが可能です。もしRS-232C をRS-422または RS-485に変換する場合には、光によるアイソレーション変換が可能です。光アイソレーション付のPCIバスシリアルカードなどは、PCシステムの既存ポートの置き換えが可能です。既存のRS-232C、RS-422 または RS-485 ポートを使用しているシステムに対しては、光アイソレーション・リピーターのインストールが可能です。
分流(シャント)を使用する過渡電流保護
分流の原理
ホストデバイス側で一つのコモングランドを作ることにより、電圧の基準にサージ抑圧デバイスを関連づけるのと同じようにサージエネルギーを迂回する安全な場所を備える事が出来ます。害のある電流がデータポートに届く前にこれらの電流をグランドに分流するのは、TVS(Transient Voltage Surge:商標名Tranzorbでしばしば引き合いに出される)、MOV(Metal Oxide Varistor:金属酸化物バリスタ)、またはガス放電器(Gas discharge tubes)の様な装置(素子)の役割です。これら全ての装置は、設定された電圧でクランプする様に動作し、クランプ電圧を一度超えると装置は、端末間で低インピーダンスの接続になります。 このタイプの装置は、非常に大きなエネルギーを分流しますので、長い時間、または連続的な過渡電流に耐える事は出来ません。電流分流装置は、ほとんどの場合にそれぞれのデータラインからローカルのアースグランドまでの間に設置され、上記のシステム上で可能な限り通常の通信レベルに近い電圧で電流を流し始めるように選ぶ必要があります。RS-422 と RS-485にとって、選択される定格電圧は、通常6~8ボルトです。また通常これらの装置は、データラインにキャパシタンス負荷も加えます。これは、システムを設計する時に考える必要があり、追加された負荷の補整の為にトータルのラインの長さを減ずることにより補整を行う事が出来ます。通常数百フィートが適当です。
これらのタイプの製品を正しく使用する為には、可能な限り保護されるべきポートにインストールする必要があり、ユーザは、プロテクトされるユニットのローカルのアースグランドへの接続インピーダンスを極力低くする必要があります。このグランド接続は、分流デバイスの動作を適切にするためには非常に重要です。グラウンド接続は、出来る限り太い線で行う必要がありますし、可能な限り短く保つ必要があります。もしケーブルが1m以上の場合、効率を上げるためには、保護デバイス用にグランドの目的に向く銅線または撚り線を使用すべきです。過渡電流の高周波である性質に加えて、極端に大きな電流が存在し得ます。ANSIとIECの仕様において、複合波試験の方法では、通常数百アンペアの結果が得られています。
信号グランドの接続
分流タイプの保護を採用した場合それぞれのノードでは、ローカルのグランド接続が要求されますので、リモートグランドを一緒に接続する事を考える必要があります。過渡電流が流れている間、リモートグランド間で高い電圧が発生する可能性があります。グランド同士を接続する線のインピーダンスだけが、この電圧が原因となる電流を押さえる事が出来ます。RS-422 と RS-485両仕様では、グランド電流を制限するためにグランドに対してシリアルの経路に100オームの抵抗を入れるように薦めています。(図4.6)は、この説明の中で推奨されるグランド接続を示します。
![](/storage/figure4-6.gif)
(図4.6)100オームの抵抗を使用した2つのノード間での信号グランド接続
分流装置
分流装置には、2つのタイプがあります。最も安価なタイプは、一階層のものでこれは、通常それぞれのラインに一つのTVSデバイスで構成します。三段階のデバイスの構成も可能です。三段階デバイスの最初は、ガス放電器で、これは非常に大きい電流を処理しますが、高いスレッシュホール電圧を持ち、固体素子回路を保護するには効き目が緩慢すぎます。第二段階は、電流を制限する小さなシリアルインピーダンスで、最初と第三段階の間の電圧ドロップを促します。最終段階は、TVSデバイスで個体素子回路を保護するのに十分なスピードを持ち、データ通信回路に対して安全なレベルに電圧を下げる効果をもたらします。
アイソレーションと分流の複合方法
両方の保護方法をインストールすることで、システムに対し最高の信頼性を提供することが出来ます。(図4.7)と4.8は、この保護レベルを組み込む2つの方法を示します。
![](/storage/figure4-7.gif)
(図4.7)アースグランドへの分流保護を用いた分離ノード
![](/storage/figure4-8.gif)
(図4.8)グランド無しの分流保護を用いた分離ポート
(図4.7)に示す方法は、分離する事でアースグランド接続時に電圧ドロップから回路を保護するケースです。分流デバイスは、ケーブル上の色々な種類のサージ電圧を扱うと同時に、サージがアイソレーション素子のブレークダウン電圧を超えないように防ぎます。(図4.8)は、アースグランド接続を行う方法が無いケースに対して推奨される方法を示します。ここでの分流デバイスの機能は、種々のサージからポートを保護することであり、各種のサージは、分流デバイスにより導体間でバランスが取られ、コモンモードに変換されます。アイソレーション素子は、コモンモードの過渡電流の残り分からの保護を行います。
フォールト状態に対する特別な考慮
電源線に対してショートにさらされる可能性のあるデータシステムは、特別な保護の手段が必要となります。この場合には、(図4.9)に示す様に、分流タイプの抑制に加えてフューズタイプのデバイスの追加が推奨されます。ショートが発生すると、分流抑制は導通を始めますが、分流それ自体は、このタイプのサージのはっきりした状態の電流に耐える事が出来ません。小さな値のフューズが使用されるべきで、このフューズは、分流デバイスが破壊する前にオープンになります。通常125mAの値のフューズが使用されます。
![](/storage/figure4-9.gif)
(図4.9)フューズを使用したポートの保護
システムに合った正しい保護法の選び方
システムにとってどのタイプまたどのレベルのアイソレーションが正しいかを予測するのは困難ですが、しっかりと理解をした上で電気的な環境、物理的な状況、システムダウン時の損失コスト、修理コストをベースにした推測を行う必要があります。 ビル間、事務所と工場のフロア、または長距離をカバーするシステムのような2種類の電源間で接続されるシステムは、それなりのレベルの過渡電流の保護が必要となります。表4.1は、過渡電流保護技術の比較です。
(表4.1)保護技術の比較
光によるアイソレーション | 分流法 |
---|---|
グランドの基準は不要 | 低インピーダンスのグランド接続が必要 |
データラインへの負荷がない | データラインに容量性付加が加わる |
より複雑 | 能動素子を使用しないので比較的単純 |
コモンモードの過渡電流に効果的 | コモンモードとディファレンシャルモードの両方の過渡電流に効果的 |
インストールの品質に依存しない | ユーザによっては不適切にインストールされる可能性がある |
外部電源が必要 | 電源不要 |
長い時間または連続的な過渡電流にも影響を受けない | 長い時間の過渡電流による破損の可能性がある |
アプリケーションノート / 第5章 ソフトウェア
始めに
RS-422、RS-485は、ハードウェアの仕様書です。ソフトウェアのプロトコルは、どの仕様書にも説明はありません。システムに適するプロトコルを規定するのは、システム・デザイナに任されています。この章は、プロトコルの標準を作ろうとしている訳ではありませんが、ソフトウェアを開発するか、ソフトウェアを購入するか、システム・デザイナが考える必要のある問題点のいくつかを説明します。
RS-422 システム
RS-422システムのソフトウェアは、通常の一対一のRS-232C通信システムと少し異なります。RS-422は、RS-232Cの仕様を超えて単純にノード間の距離を延長するのに使用されます。RS-422は、またこの章の後で説明される4線式のマスター/スレーブ・ネットワークのマスター・ノードとしても使用可能です。RS-422システムのソフトウェアを選購入するか、ソフトウェアを開発する時に、デザイナーは、システムの中でハードウェアが使用する信号に通じている必要があります。多くのRS-422システムでは、長い距離に渡って追加導線を張るコストの事を考えて、RS-232Cのシステムで良く見られるハードウェアのハンドシェーク・ラインを組み込みません。
RS-485 のドライバー制御
RS-422 と RS-485の基本的な違いとして、RS-485ドライバーは、トライステート・モードのハイインピーダンスに出来ることで、これにより他のドライバーは、同じペアー線上に送信する事が可能です。RS-485ドライバーをトライステートにするのに二つの方式があります。最初の方式は、ドライバーをイネーブル、ディゼーブルにするために、通常RTSのハンドシェーク・ラインである制御ラインを使用します。これは、ドライバーをイネーブルにするために送信を始める前にホストソフトウェアが、RTSラインを上げ、次に送信が完了した後にRTSラインを下げることが必要です。ネットワーク上で一度に一つのRS-485ドライバーだけをイネーブルに出来ますが、二つのドライバーが同時にラインを制御しようとする、ライン競合と呼ばれる状態を防ぐためにドライバーは、送信後に出来るだけ早くディゼーブルになることが重要です。オペレーティング・システムによっては、タイムリーな方法でRTSを下げるのが困難な場合があり、このようなドライバーの方式は、完全に避ける必要があります。
RS-485ドライバー制御の2番目の方式は、自動送信データの制御です。このタイプの制御には、データが送信されている事を検知する特別な回路が必要で、送信終了の1文字長以内にドライバーをディゼーブルにするのと同様にドライバーを自動でイネーブルにします。これはソフトウェアのオーバーヘッド、プログラマーの潜在的な落とし穴を押さえますので、ドライバーの制御方式として好まれています。
RS-485 レシーバの制御
RS-485レシーバは、イネーブル信号を持っています。2線式のRS-485システムは、ドライバーをループバックの形でレシーバに接続しますので、この機能は大抵送信している間ローカルデータのエコーを止める為に、レシーバをディゼーブルにして使用します。その他のアプローチとして、RS-485のレシーバをイネーブルにしたままにし、そのラインに競合が起きた事を表示するエラーに対するループバックデータを監視します。良いループバック信号が、データの品質を補償する訳ではありませんが、エラー検出の度合いを示します。
マスター/スレーブ・システム
マスター/スレーブタイプのシステムは、スレーブ・ノードの各々にコマンドを発行し、レスポンスを処理するノードを一つ持っています。スレーブ・ノードは、通常マスター・ノードからの要求無しにデータを送信しません、またお互いに通信をすることもありません。それぞれのスレーブは、特定のアドレスを持つ必要があり、他のノードから独立してアドレスが振られます。このタイプのシステムは、2線式、4線式として構築する事が可能です。4線式システムは、システムの複雑さを回避するために大抵RS-422のマスター(ドライバーは、常にイネーブル)とRS-485のスレーブを使用します。
4線式 マスター/スレーブ・システム
このシステムは、ドライバーとレシーバが常にイネーブルですので、システムの中に2本の余分な導線を引く費用で、ホストでのソフトウェアの複雑性を防ぎます。マスター・ノードは、単純にスレーブのアドレスを使用してコマンドを発行します。ここでは、データ・エコーや折り返しの遅延を考慮する必要はありません。スレーブ送信機の各々は、同じペアー線を共有