RS-422とRS-485

RS-422とRS-485の規格の本質的な差は、ドライバ(送信器)が電気的に常時出力かトライステート出力かである。

ドライバが常時出力であるRS-422では、ドライバどうしを結線することは許されない。そのため1本のバスは必ず片方向通信になる。これに対し、ドライバがトライステート出力であるRS-485では、ドライバどうしを結線することができる。そのため1本のバスで双方向通信が可能となる。2線か4線か、片方向か全二重か半二重か、一対一か一対多か多対多かの組み合わせは、このドライバの電気的仕様から決まることである。

RS-422 4線全二重 一対一 (point-to-point) (1)
2線片方向 一対多 (multi-drop) (2)

RS-485
2線半二重 一対一 (point-to-point) (3)
2線半二重 多対多 (multi-point) (4)
4線半二重 一対多 (multi-drop) (5)

(1)は一対一の全二重通信。RS-422の典型的な形であり、UART通信をそのまま差動伝送に変換した形である。
f:id:licheng:20201202111216p:plain

(2)は一対多であるが、複数ドライバの結線は許されないので複数レシーバのみの片方向通信である。「RS-422は一対多の通信が可能」というのはあくまで片方向通信の話だという点に注意。
f:id:licheng:20201202111241p:plain

(3)は一対一の半二重通信。これは次に述べる多対多の半二重通信の特殊な形(N=1)といえる。
f:id:licheng:20201202111255p:plain

(4)は多対多の半二重通信。RS-485の典型的な形である。この形は電気的には全てのノードが対等である。しかし、通信プロトコル上はどれか一つのノードがマスターとなって実質的には一対多の通信をおこなうことが多い。
f:id:licheng:20201202111307p:plain

(5)は一対多の全二重通信。前述のようにRS-485では(4)の形で一対多通信をおこなうことが多く、この形をとることは少ない。
f:id:licheng:20201202111317p:plain

また、言うまでもないが、多対多で全二重などということは理屈上ありえない。