長距離・高速伝送ができるRS485通信
図1は,RS485通信IC(LTC2862-1)を使用した,データ通信回路です.左側の測定機器と右側の制御機器でデータ通信を行います.ここで使用されている,RS485通信規格に対する説明として,適切なものは,(a)~(d)のどれでしょうか.
測定機器と制御機器でデータ通信を行う.
(a) 信号線Aと信号線Bを使用することで,機器間の同時双方向通信ができる
(b) 信号線Aと信号線Bによる差動信号を使用することで,ノイズ妨害を受けにくい
(c) 信号は,GNDを基準として,+3V以上を「0」,-3V以下を「1」と定義している
(d) 通信は1:1通信に限られ,複数の機器を同一信号線に接続することはできない
シリアル通信規格としては,RS232Cが有名ですが,そのRS232Cの課題を改良したものがRS485です.LTC2862-1の内部ブロック図と,RS232Cの課題を改良したものであるという点を踏まえて,考えてみてください.
図1のLTC2962-1の内部ブロック図をみると,信号線BのTX(出力)とRX(入力)共に「○印」が付いています.これは信号の反転を示すもので,信号線Aと信号線Bが差動信号となっていることを表しています.差動信号を使用することで,コモンモード・ノイズの影響を受けにくくなります.したがって正解は(b)になります.
信号線Aと信号線Bは,ペアで1つの信号として使用するため,(a)は不正解です.また,差動信号を使用しているため(c)の信号の定義も不正解です.RS232Cは1:1通信ですが,RS485は複数機器が接続できるように改良されています,そのため,(d)も不正解ということになります.
●シリアル通信の基本とRS232C
シリアル通信は,データをビット列に変換して1ビットずつ送信する方法です.図2のように"a"という文字を送信する場合は,"a"のアスキー・コードを2進数"01100001"に変換し,1ビットずつ順番に送信します.実際は,ここに,データの始まりを表すスタート・ビットと,終わりを示すストップ・ビットが追加されます.1秒間に転送できるデータ量(ビット数)をビット・レートと呼び,単位はbbsです.この数字が大きいほど高速にデータ転送できることになります.
シリアル通信は,データをビット列に変換して1ビットずつ送信する.
RS232Cでは,RX端子とTX端子を図3(a)のように接続し,データの送受信を行います.2本の信号線を使用することで,機器間の同時双方向通信ができます.
図3(b)は,TX端子から出力される信号の一例です.受信側では+3V以上を「0」また,-3V以下を「1」と判断するため,1のときに-10Vを出力し,0のときは+10Vを出力しています.
このように,信号の振幅が大きいため,ケーブルが長くなりケーブルの静電容量が大きくなると,出力段の負担が大きくなります.一般的には,RS232Cで使用できるケーブル長は15m以下で,通信速度は20kbps以下とされています.また,RS232Cは,2つの機器間で1:1通信を行うもので,複数の機器で同一の信号線を共有することはできません.
受信側では+3V以上を「0」,-3V以下を「1」と判断する.
●RS232Cの課題を解決した差動信号のRS485
RS232Cは,広く普及した規格でしたが,いくつか課題もあったため,その課題を改善したRS485が考えられました.RS485では図4(a)のように2本の信号線(ツイスト・ペア・ケーブル)を使用し,差動信号でデータを送受信します.AとBの2つの信号は,図4(b)のように逆位相になっています.受信側ではA,B間の差電圧が-200mV以下のときに「1」と判断し,差電圧が+200mV以上で「0」と判断します.信号振幅が小さいため,出力段の負担が軽く,高速通信が可能となります.また,差動信号とすることでコモン・モード・ノイズの影響を受けにくくなり,遠距離通信ができます.
RS485では通信ケーブルが短ければ,40Mbps以上の高速通信が可能です.また,通信速度は落ちますが,1200mといった長い通信ケーブルを使用することもできます.ただし,送信と受信に同じ信号線を使用しているため,同時送受信はできず,機器は交互に送受信を行うことになります.
2本の信号線を使用し差動信号でデータを送受信する.
また,RS485では,図5のように結線することで,3台以上の機器を同一信号線に接続できます.
3台以上の機器を同一信号線に接続できる.
●RS485通信の動作を確認する
図6は,RS485通信IC(LTC2862-1)の動作をシミュレーションする回路です.2つの LTC2862-1(U1,U2)で,交互にデータの送受信を行うシミュレーションをします.
VDI1でU1の入力データを作り,VDI2でU2の入力データを作っています.そして,VDE1が3.3Vになったときに,U1からA,B端子にデータが出力され,VDE2が3.3Vになると,U2からA,B端子にデータが出力されます.そして,U1が受信したデータがRO1に出力され,U2が受信したデータがRO2に出力されます.
2つのLTC2862-1(U1,U2)で交互にデータを送受信する.
図7は,図6のシミュレーション結果です.上段が送受信の制御信号で,中段がA端子およびB端子の波形です.A端子とB端子には,U1の出力とU2の出力が両方現れています.また,その出力信号は逆位相となっていることが分かります.
下段が,U1およびU2の受信データです.U1がデータを出力したときは,U2に受信データが現れ,U2データを出力したときは,U1受信データが現れています.このように,2つの LTC2862-1(U1,U2)で,交互にデータの送受信ができていることが分かります.
2つのLTC2862-1(U1,U2)で,交互にデータの送受信ができている.
●コモン・モード・ノイズがある場合
LTC2862-1の同相入力範囲は,±25Vと非常に大きくなっています.そのため,かなり大きなコモン・モード・ノイズがあっても,正常に動作できます.
図8は,コモン・モード・ノイズがあるときの動作をシミュレーションする回路です.図6のU2のGNDをGというノードに変更し,Gに対し,コモン・モード・ノイズとして40VPPで1MHzの正弦波を加えています.
コモン・モード・ノイズとして40VPPで1MHzの正弦波を加えている.
図9が図8のシミュレーション結果です.上から1段目は,送受信の制御信号です.
2段目は,GND基準のA端子およびB端子の波形です.これは,U1の入力波形を表しています.
3段目は,ノードGを基準とした,A端子およびB端子の波形です.これは,U2の入力波形を表しています.U1の入力波形とU2の入力波形,どちらにも,かなり大きなコモン・モード・ノイズが重畳しています.
4段目は,U1およびU2の受信データです.どちらも正常に受信できていることが分かります.
このように,LTC2862-1を使用したRS485通信回路は,巨大なコモン・モード・ノイズが重畳されても,正常に通信できることが分かります.
巨大なコモン・モード・ノイズが重畳されても,正常に通信できている.
以上,RS485通信IC(LTC2862-1)について解説しました.LTC2862-1の詳しい使用方法については,LTC2862シリーズのデータシートを参照してください.
◆参考・引用*文献
アナログデバイセズ:LT2862シリーズ・データシート
アナログデバイセズ:RS-485:今なお最も堅牢な通信
アナログデバイセズ:RS-232トランシーバの進化
解説に使用しました,LTspiceの回路をダウンロードできます.
LTspice10_031.zip
●データ・ファイル内容
LTC2862-1.asc:図6の回路
LTC2862-1.plt:図7のグラフを描画するためのPlot settinngsファイル
LTC2862-1_CN.asc:図8の回路
LTC2862-1_CN.plt:図9のグラフを描画するためのPlot settinngsファイル
■LTspice関連リンク先
(01) LTspice ダウンロード先
(02) LTspice Users Club
(03) LTspice メール・マガジン全アーカイブs
(04) ◆LTspice電子回路マラソン・アーカイブs
(05) ◆LTspiceアナログ電子回路入門アーカイブs
(06) ◆LTspice電源&アナログ回路入門アーカイブs
(07) ◆IoT時代のLTspiceアナログ回路入門アーカイブs
(08) ◆オームの法則から学ぶLTspiceアナログ回路入門アーカイブs
(09) ◆LTspiceエデュケーショナル・ファイルで学ぶアナログ回路アーカイブs
(10) ◆LTspiceドット・コマンドから学ぶアナログ回路アーカイブs
(11) ◆LTspiceで始める実用電子回路入門アーカイブs