自学工业控制网络之路1.4-典型的现场总线介绍CAN

返回 自学工业控制网络之路html

自学工业控制网络之路1.4-典型的现场总线介绍CAN

1991年3月,发布了CAN技术贵干v2.0,包含了A、B两部分。CAN2.0A给出报文标准格式,CAN2.0B给出了标准和扩展的两种格式。
1993年11月,国际标准ISO11898(高速应用)和ISO11519(低速应用)。数组

1. CAN特色

(1)它是一种多主总线,即每一个节点机都可成为主机,且节点机之间也可进行通讯。安全

(2)通讯介质能够是双绞线、同轴电缆或光导纤维,通讯速率可达1Mb/s(此时距离最长40m)。网络

(3)CAN总线通讯接口中集成了can协议的物理层和数据链路层功能,可完成对通讯数据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等项工做。post

(4)CAN协议的一个最大特色是废除了传统的站地址编码,雨代之以对通讯数据块进行编码。采用这种方法的优势是可以使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,所以能够定义211或229个不一样的数据块,这种数据块编码方式,还可以使不一样的节点同时接收到相同的数据,这一点在分步式控制中很是重要。性能

(5)短帧结构。数据段长度最多为8个字节,可知足一般工业领域中控制命令、工做状态及测试数据的通常要求。同时,8个字节不会占用总线时间过长,从而倮证了通讯的实时性。测试

(6)CAN协议采用crc检验并可提供相应的错误处理功能,保证了数据通讯的可靠性。can总线所具备的卓越性能、极高的可靠性和独特设计,特别适合工业设各测控单元互连。所以备受工业界的重视,并已公认为最有前途的现场总线之一。编码

(7)采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动中止数据发送,而优先级高的节点可不受影响地继续传送数据。spa

(8)节点数最多可达110个。设计

(9)CAN总线不能用于防爆区。

(10)节点在错误严重的状况下,具备自动关闭总线的功能,切断它与总线的联系,以使总线上的其余操做不受影响。

2. CAN原理

2.1 CAN 总线原理

CAN总线以广播的方式从一个节点向另外一个节点发送数据,当一个节点发送数据时,该节点的CPU把将要发送的数据和标识符发送给本节点的CAN芯片,并使其进入准备状态;一旦该CAN芯片收到总线分配,就变为发送报文状态,该CAN芯片将要发送的数据组成规定的报文格式发出。此时,网络中其余的节点都处于接收状态,全部节点都要先对其进行接收,经过检测来判断该报文是不是发给本身的。

因为CAN总线是面向内容的编址方案,所以容易构建控制系统对其灵活地进行配置,使其能够在不修改软硬件的状况下向CAN总线中加入新节点。

2.2 CAN 控制器原理

其中CAN核心模块根据CAN总线协议控制数据帧的发送和接收;
接口管理逻辑模块提供SJA1000与主微处理器或其它设备的链接,主微处理器能够经过数据/地址复用总线和读写控制逻辑访问SJA1000的全部寄存器;
发送缓冲区能够存储一个完整的标准或扩展的报文,当主微处理器要求SJA1000发送报文时,接口管理逻辑操纵CAN核心模块将发送缓冲区中的报文发送到CAN总线上;
当接收一个报文时,CAN核心模块首先将总线上的串行位流数据转换位并行数据,而后交给接收过虑模块进行识别,决定该报文是否为主微处理器所要求的报文类别,全部接收的报文能够存放在接收先进先出队列,根据不一样的工做模式和数据长度,该队列能够存放最多32个报文,而后用户能够灵活地对报文分为不一样地优先级和中断处理服务。

3. CAN现场总线体系结构

CAN分为物理层和数据链路层。

(1)物理层

规定了节点的所有电气特性,信号如何发送,于是涉及位定时、位编码和同步的描述。

(2)数据链路层

数据链路层分两个子层,逻辑链路控制子层LLC和媒体访问控制子层MAC。

4. CAN现场总线的优势

  ● 具备实时性强、传输距离较远、抗电磁干扰能力强、成本低等优势;

  ● 采用双线串行通讯方式,检错能力强,可在高噪声干扰环境中工做;

  ● 具备优先权和仲裁功能,多个控制模块经过CAN 控制器挂到CAN-bus 上,造成多主机局部网络;

  ● 可根据报文的ID决定接收或屏蔽该报文;

  ● 可靠的错误处理和检错机制;

  ● 发送的信息遭到破坏后,可自动重发;

  ● 节点在错误严重的状况下具备自动退出总线的功能;

  ● 报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。

5. CAN现场总线的缺点

(1)不一致性

  CAN总线中有一个著名的Last-But-One-Bit 错误。CAN总线2 OA在信息认证(MessageValidaTIon)中规定: 发送器验错的范围可覆盖到帧结束,若是发现错误,之后就按优先权和状态的规定重发; 接 器验错的范围覆盖到帧结束的前一位。所以,若是因为空间干扰、电 源波动等缘由,对于帧的倒数第二位,一部分节点A认为无错,一 部分节点B 认为有错,即出现了所谓的ByzanTIne 错误。这时,根 EOF 应该是7 个隐性位,节点B 认为这是一种形式错误,因此就会启动错误帧,通知发送器重发,同时丢弃收到的帧。而认为设错的节点A 因为只查到倒数第二位,所以就会接收此帧。若是在发送器例行的下一次发送前B 通知的重发成功,A就会收到重复帧; 若是重发不成功,B 就丢了一帧。在转向和制动系统中,4 个轮子对命令的不一样理解,可能形成性能的降低或其余更严重的后果。

(2)不可预测性

  CAN总线将节点状态分为ErrorAcTIve、Error Passive 和Bus Off 三种,这三种状态在必定条件下能够互相转换。不一样状态中节点的发送有不一样的延迟。最高优先权的信息发送延迟有几种可能: 当节点状态为ErrorAcTIve 时,若总线空闲,则当即发送; 当节点状态为ErorActive时,若是其它帧正在发送,则需等正在发送的报文结束后,再过3 位后发送; 当节点状态为ErrorPassive 时,它有一个出错重发的要求,若没有其它帧要发送,等3 位传送(Intemission)和8 位挂起传送(Suspend Transmission)后重发; 当节点状态为Error Passive时,若总线空闲,出错后等别的信息发送完后再发,等待时间与其它帧的长度有关; 当节点状态为Bus Off 时,需等状态恢复到ErrorPassive 或ErrorActive 再发。

  当确认某节点的状态时,还有几个因素须要考虑: 首先,节点由最高优先权的信息和其余信息共用,所以,其余信息在传送过程当中出现的错误也会影响到节点状态; 其次,进入ErrorPassive 或BusOff 状态的条件是发送错误计数器与/或接收错误计数器的值,因为CAN 的原子广播特色,其它节点的发送错误或接收错误会开启一个错误帧,从而影响到该节点的接收错误计数器的值,进而影响节点状态。

  对于优先权较低的信息来讲,发送时间的离散程度更大。在反馈控制系统中,采样调节周期的大范围抖动至关于信号延迟后的变化,它有可能使系统性能降低或不稳定。在与安全相关的开环系统中,抖动可能形成动做顺序的混乱。

(3)信道出错堵塞

  节点有可能受干扰或其它缘由暂时或永久失效,出错的主机会命令CAN 收发器不断发送消息,即所谓的Babbling ldiot 错误。因为该信息的格式等均合法,所以CAN 没有相应的机制来处理这种状况。根据CAN 的优先权机制,比它优先权低的信息就被暂时或永久堵塞。因为CAN总线存在上述几种根本的缺陷,所以,在更为严格的控制系统中,它将会形成巨大的风险,没法知足安全、环保、节能的要求。CAN 的事件触发协议特色限制了ECU 的应用、开发与生产,不只用过的ECU 难于重用,并且还不利于改善和开发新的ECU。

相关文章
相关标签/搜索