CAN总线和Ethernet以太网的接线对比

物理层主要特性对比:

CAN总线 单信道

两芯

差分信号

CAN_H

CAN_L

半双工

CSMA/CA 

载波侦听多路访问 / 冲突避免

遇到冲突,高优先级继续发送,低优先级退出
Ethernet 双信道

四芯

差分信号

TX+、RX+

TX- 、RX-

半双工、全双工

CSMA/CD 

载波侦听多路访问 / 冲突检测

遇到冲突,都退出发送,推迟随机时间再发

 

 

 

 

本人实践过程中为了方便,经常将几路CAN星型连接,直接用手拧在一起,再裹上绝缘胶布。只要通信距离不是太长,一般都没啥问题。

那以太网呢?两根线对接没啥问题,很多人直接把两根断了的网线按颜色把线拧在一起,延长网线。

那三根或更多网线呢?能星型连接直接拧在一起吗?按下图这样接么?

CAN总线和Ethernet以太网的接线对比_第1张图片

很显然,这样接只能工作在半双工模式(如果两个设备同时发送,也会同时静默,发送失败)。

在半双工模式下,每一设备都要监听自己接收端,如果有数据发过来,也就是其他设备在发送数据,此时自己则不能发送数据。因此按上图的接法,还需解决的关键问题在于设备不应收到自己发送的数据。

如何解决呢?

在网上找到一个无源集线器的电路很巧妙的解决了该问题。源自http://www.zen22142.zen.co.uk/Circuits/Interface/pethhub.htm

CAN总线和Ethernet以太网的接线对比_第2张图片

关于该电路的解释:

以太网使用±0.85V信号,因此信号只能“激活”一对二极管。因此,任何传输都只有机会到达两个相邻的节点。计算机A的Tx线路连接计算机B和C的Rx线路,并且在环路的远端有自己的Rx线路。这样避免了接收到自己发送的数据,因为它会触发碰撞检测算法。计算机B和C可以类推。

局限性:

它只适用于3台设备。二极管会使信号严重衰减,因此通信距离较长可能不会工作。

 

你可能感兴趣的:(CAN总线和Ethernet以太网的接线对比)