CAN总线错误类型和故障界定
0 2022-11-29

  CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之一。在建立之初,CAN总线就定位于汽车内部的现场总线,具有传输速度快、可靠性高、灵活性强等优点。上世纪90年代CAN总线开始在汽车电子行业内逐步推广,目前已成为汽车电子行业首选的通信协议,并且在医疗设备、工业生产、楼宇设施、交通运输等领域中取得了广泛的应用。

  CAN总线错误检测

  CAN总线协议定义了 5种错误类型用于监测总线上的数据传输。这五种错误包括:


  1.位错误(Bit Error):

  CAN总线上的节点在发送数据的同时也在检测总线上的电平。如果在仲裁域之外,所发送的数据与节点监测到的数据不一致,则CAN总线产生了一次位错误。但是,如果在发送ACK段或者被动错误标志时,节点检测到总线上电平与发送值不一致,并不判定产生了位错误。

  2.填充规则错误(Stuff Error):

  在CAN总线传输中,报文的侦起始、仲裁域、控制域、数据域以及CRC校验部分只要连续出现五个相同的位就需要额外插入一个相反的位,这是CAN总线位填充的机制。在CAN总线通信中,如果一个节点检测到六个连续相同的电平就判断总线出现了位填充错误。

  3.CRC校验(CRCError):

  CAN总线的数据帧自带了CRC校验,在发送数据的同时也计算这一帧的CRC校验码,将校验码在数据帧的末尾部分发送。接收节点接收到数据帧后计算接收到的数据帧中数据域的CRC码,并与接收到的CRC校验码比较以确定接收到的数据是否准确,如果不正确,则出现了 一次CRC校验错误。

  4.格式错误(Form Error):

  在固定格式的位场中出现了非法位,比如,在本该是隐性位的CRC界定符中出现了显性电平,则监控节点判断出现了一次格式错误。

  5.应答错误(Acknowledgement Error ):

  在CAN总线传输中,发送节点发送的应答场为隐性位,接收节点需要在应答场中向总线发送显性位覆盖隐性位以表示接受完成。如果发送节点监测到帧的应答场仍然是隐性位,则表明出现了一次应答错误,没有节点接收到数据,发送失败。

  CAN总线错误界定


  当节点检测到一个错误之后,会向总线发送错误帧,同时本地错误计数器递增。在CAN总线上的每个节点都设有两个错误寄存器:接收错误计数器和发送错误计数器,分别用来计数接收和发送错误。检测到错误,相应的错误计数器递增;成功发送或者接收一愤消息,相应的错误计数器递减直到为0。当错误计数器小于127时,节点处于主动错误状态,错误计数器在127到255时,节点处于被动错误状态,错误计数器超过255时,节点进入离线状态,处于离线状态的节点将不再参与总线上的数据传输。

  CAN总线错误标定

  检测到错误条件的站通过发送错误标志指示错误。对于错误主动节点,错误信息为主动错误标志;对于错误被动的节点,错误信息为被动错误标志。站检测到的错误无论是位错误、填充错误、形势错误、还是应答错误,这个站都会在下一位时发送错误标志信息。检测到CRC错误时,错误标志的发送开始于ACK界定符之后的位,除非其他错误标志已经开始发送。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 工业
  • 安防
  • 航空
  • CAN
  • 地址总线数据总线及控制总线的定义

    总线:指能为多个部件服务的信息传送线,在微机系统中各个部件通过总线相互通信。地址总线(AB):地址总线是单向的,用于传送地址信息。地址总线的宽度为16位,因此基

    5小时前
  • 如何提高RS485接口芯片的通信质量

    RS-485接口芯片能担当起一种电平转化的角色,把TTL信号、COMS信号等转化为能在485总线上传输的差分信号,把接收到的485差分信号转化为MCU能够识别的

    5小时前
  • 模拟SPI接口I/O的定义及通信设计

    1.端口:P0.4,P0.5,P0.6,P0.72.调用delay_ms函数sbitspi_cs=P0^1;sbitspi_di=P0^2;sbitspi_cl

    昨天
  • 串口数据转换CAN帧格式的方法

    MCU没有CAN或CAN接口数量不够怎么办?目前市面上有串口转CAN的相关模块或设备,但大家知道串口转CAN是如何实现的吗?转换后的帧格式是如何的?本文将为大家

    昨天
  • IPMB接口的请求和应答协议

    lRequest/ResponseProtocol(请求/应答协议)IPMB使用“请求——应答”协议,发送一条请求消息给一个智能设备,该设备会返回一个独立的应答

    昨天
  • IPMB接口协议的实现目标和特征

    智能平台管理总线(IPMB)的设计是为了在mission-critical服务器平台支持“ServerPlatformManagement”(服务器平台管理)的

    昨天
  • 飞机加油系统中的PIC单片机应用

    一、引言当前,能源已成为制约很多国家发展的瓶颈,特别是广大发展中国家,能源紧缺现象逐步凸现,世界各国对石油资源的争夺不断加剧,甚至引发局部战争;作为最大的发展中

    昨天
  • 基于ARM7处理器实现USB接口与CAN总线

    为了更好的将USB的通用性和CAN的专业性结合起来,通过计算机的USB接口接入CAN专业网络,实现系统控制的便利性和应用的高效性,本文讲述了一种基于ARM7处理

    昨天
  • 嵌入式开发常用总线与接口

    任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化

    前天
  • 电机控制单电阻采样机制

    电机控制单电阻采样机制是在一个PWM波形内采集两相电流ADC数据,但某些扇区边界条件下只能获得一路电流ADC数据,需要对PWM波形进行变形用于构造电流采样区域。

    01-28
  • 共模电感用于总线的作用

    在CAN节点的设计中,我们通常为了总线的通讯更为可靠,为CAN接口增加各种器件,但实际并非所有应用都需要,过多防护不仅增加成本,而且器件的寄生参数必然影响信号质

    01-20
下载排行榜
更多
广告