阎晶晶232-485-422-ETH-CAN 俗话总线通讯--湾湾的小城

    阎晶晶232/485/422/ETH/CAN 俗话总线通讯:-湾湾的小城

    阎晶晶
    两个电子设备之间的通讯,一个发送一个接收,就像通过一个管道一个说一个听。这是单向通讯,叫做单工。

    如果用两个管道做双向通讯,叫做全双工。比如RS232。

    如果听说共用一个管道,叫半双工。

    但是用同一个管道的问题是,两个不能同时说话,否则谁都听不清。于是必须规定两个人中只有一方(奴隶主)可以主动说话,另一方(奴隶)被动回答。比如RS485。
    当有3个或3个以上的设备进行通讯,可以两两直接采用全双工,就要用很多管道。如果管道被所有人公用,这就叫总线。

    同样的,总线上必须只有一个奴隶主(上方),其他都是奴隶(下方)。每个奴隶都有一个编号,奴隶主问哪个奴隶,哪个奴隶才能回答。奴隶和奴隶的通讯只能通过奴隶主来传递。
    总线也可以用全双工的方式来实现,奴隶主说一个管道,听一个管道。比如RS422。

    如果每个人都可以主动问任何其他人,人人平等。这就叫多主总线。

    最大的问题,还是如何防止多个人同时说话。一般采用边说边听的方式。
    如果我说出去的话和听的的话不一致,说明有人和我在同时说话,这样大家都闭嘴,隔一段时间再尝试。比如以太网。
    另一种方法是,大家商量好同时说,但特殊设计的管道能够让级别高的人说出去的话能淹没级别低的。如果我说出去的话和听的的话不一致,说明有级别高的人和我在同时说话,我就退出,等下次再说。这样总有一个级别高的人能说话。比如CAN总线。