首页 理论教育CAN总线的节点数和标识符多样,通信介质灵活保护免受干扰

CAN总线的节点数和标识符多样,通信介质灵活保护免受干扰

【摘要】:CAN 上的节点数主要取决于总线驱动电路,目前可达110 个;标识符可达2 032种,而扩展标准的标识符几乎不受限制。CAN 的通信介质包括双绞线、同轴电缆或光纤,可灵活选择。通过这种办法,CAN 总线得到保护而免受外界电磁场干扰,同时CAN 总线向外辐射保持中性,即无辐射。控制单元向CAN 控制器提供数据并用于传输。所有与CAN 数据总线一起构成网络的控制单元称为接收器。

CAN 即控制器局域网络,属多路传输系统的一种,是德国BOSCH 公司在20 世纪80年代初为了解决现代汽车中众多控制与诊断仪器之间的数据交换而开发的一种串行数据通信协议。

CAN 总线分为高速和低速两种,高速CAN 总线速率为250 kb/s~1 Mb/s,低速CAN 总线速率为10~125 kb/s。高速CAN 总线应用于发动机、变速箱、ABS 等实时性要求较强的控制模块,低速CAN 总线运用于车身控制模块。

1.CAN 总线的特点

CAN 作为一种多主总线,支持分布式实时控制的通信网络,其通信介质可以是双绞线、同轴电缆或光纤。在汽车发动机的控制部件、传感器、防滑系统中应用总线的传输速率最高可达1 Mb/s,CAN 总线属于总线式串行通信网络,由于其采用了许多新技术及独特的设计,故与一般的通信总线相比,CAN 总线的数据通信具有突出的可靠性、实时性和灵活性。其特点如下:

(1)CAN 为多主工作方式,网络上的每个节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从。其通信方式灵活,且无须站地址等节点信息。

(2)CAN 网络上的节点信息分成不同的优先级,可满足不同的实时要求,高优先级的数据最多可在134 μs 内得到传输。

(3)CAN 采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而最高优先级的节点可不受影响继续传输数据,从而大大节省了总线冲突仲裁时间,在大负荷下表现出良好的性能。

(4)CAN 只需通过报文的标识符滤波即可实现点对点、一点对多点及全局广播等几种方式传送、接收数据,无须专门的“调度”。

(5)CAN 采用NRZ 编码,直接通信距离最远可达10 km (速率为5 kb/s),其通信速率最高可达1 Mb/s (此时通信距离最长为40 m)。

(6)CAN 上的节点数主要取决于总线驱动电路,目前可达110 个;标识符可达2 032种,而扩展标准的标识符几乎不受限制。

(7)CAN 采用短帧结构传输,每帧有效字节为8 个,传输时间短,受干扰的概率低,并且每帧信息均有CRC 检验和其他检验措施,数据出错率极低。当节点发生严重错误时,具有自动关闭功能,但总线上的其他节点不受影响。

(8)CAN 的通信介质包括双绞线、同轴电缆或光纤,可灵活选择。

2.CAN 数据传输系统的构成

CAN 数据传输系统如图9-3所示,由一个CAN 控制器、一个CAN 收发器、两个数据传输终端及以及两条数据总线组成。

图9-3 CAN 数据传输系统

(1)CAN 控制器用于接收控制单元中微处理器发出的数据,处理数据并传给CAN 收发器。同时,CAN 控制器也接收收发器收到的数据,处理数据并传给微处理器。

(2)CAN 收发器是一个发送器和接收器的组合,它将CAN 控制器提供的数据转化成电信号并通过数据总线发送出去,同时,它也接收总线数据,并将数据传到CAN 控制器。

(3)数据传递终端实际上是一个电阻器,其作用是避免数据传输终了又反射回来,产生反射波而使数据遭到破坏。

(4)CAN 数据总线用来传输数据的双向数据线分为CAN 高位(CAN-H)和低位(CAN-L)数据线。数据设有指定接收器,通过数据总线发送给各控制单元,各控制单元接收后进行计算。为了防止外界电磁波干扰和向外辐射,CAN 总线采用两条线缠绕在一起,如图9-4所示,两条线上的电位是相反的,如果一条线的电压是5 V,另一条线的电压就是0 V,两条线的电压和等于常值。通过这种办法,CAN 总线得到保护而免受外界电磁场干扰,同时CAN 总线向外辐射保持中性,即无辐射。

3.CAN 数据总线的基本传输原理和过程

CAN 数据总线的基本传输原理在很大程度上与电话会议的方式相似。一个用户控制单元向网络中“说出”数据,而其他用户“收听”这些数据。一些控制单元认为这些数据对它有用,它就接收并且应用这些数据,而其他控制单元也许不会理会这些数据。故数据总线中的数据并没有指定的接收者,而是被所有的控制单元接收并计算。数据的具体传输过程如图9-5所示。

图9-4 CAN 数据总线传输线

图9-5 数据传输过程

(1)提供数据。

控制单元向CAN 控制器提供数据并用于传输。

(2)发出数据。

CAN 收发器从CAN 控制器处接收数据,将其转化为电信号发出。

(3)接收数据。

所有与CAN 数据总线一起构成网络的控制单元称为接收器。

(4)检验数据。

控制单元对接收到的数据进行检验,判断是否为功能所需。

(5)认可数据。

如果所接收的数据是重要的,它将被认可及处理,反之将其忽略。