一文读懂CAN总线

时间: 2024-09-07 05:45:56 |   作者: 技术方案

  (Controller Area Network, CAN) 的简称,是由研制和出产轿车电子科技类产品著称的。近年来,其所具有的高可靠性和杰出的过错查验测验才能受到重视,被大范围的使用于轿车核算机控制办理体系和环境和温度恶劣、电磁辐射强和振荡大的工业环境。

  :界说了通讯速率为 10~125 kbps 的低速 CAN通讯规范,归于开环总线kbps时,总线米。CAN品种1)高速CAN:

  a.依据线Mbit/s的波特率。b.高速CAN网络在每个网络端点端接一个120欧姆的电阻。

  规范数据帧(汽油车、电机)、规范长途帧(罕见)、扩展数据帧(广阔柴油车、部分汽油车)、扩展长途帧(罕见)。2)帧ID:是CAN的一种“地址”。CAN有个特点是

  CAN的帧数据只要8个字节,即64个位,不会再多了。但CAN FD作为新式总线字节这样的一个问题。4)终端电阻:CAN和RS485相同,要在终端削减差分信号的反射,如不在两个终端加电阻,信号会反弹回来影响通讯。终端电阻在CAN总线欧姆,并联,最远的终端一边一个。假如有多个节点的话,终端电阻应适当加大。

  (物理层和数据链路层)和上层规范(使用层)两大类ISO 11898-1 – CAN协议

  ISO 11898-5 – “低功率形式高速介质存取单元” – 现在处于起草阶段

  ISO 14230 – “关键字协议2000” – 界说非CAN串行线路确诊的若干部分。

  ISO 15765 – CAN总线上界说确诊的规范 – 本质上是CAN总线 – 货车和客车范畴使用最广泛的依据CAN的高层协议,由SAE界说。J1939分红几个部分,描绘物理层、数据链路层、网络办理和很多预界说的报文。

  ISO 11783 – 与J1939类似,但用于农业范畴(比如拖拉机)

  NMEA 2000 – 依据J1939的协议,用于海事范畴。由NMEA委员会界说。

  默许是指ISO 11898-1界说的数据链路层协议和ISO 11898-2界说的物理层。

  CAN底层规范都根本相同,包含OSI模型中的物理层和数据链路层,与ISO/OSI模型的对应联系如下图所示:

  ISO 11898-1:数据链路层协议,描绘CAN总线的根本架构,界说不同CAN总线设备在数据链路层通讯方法

  IDE:(1 bit)标识符扩展位,0时表明为规范格局,1表明为扩展格局;扩展帧和规范帧格局不同,不能存在于同一can网络

  每个节点最多接连发送两条过载帧,过载帧由过载标志和过载界定符(8 个隐性位)构成。

  一切发送节点在发送数据的一起,也检测总线上的电平状况,逐位比照总线上电平与本身发送的电平。1)发 0 呈现 1 :报错。2)发 0 呈现 0 :持续。3)发 1 呈现 1: 持续。

  的,节点能够终究靠设置控制器中过滤码(Filter Code )和掩码(Mask Code),再查验总线上音讯的标识符,来判别是否接纳该音讯,关于掩码,“1”表明该位与本节点相关,“0”表明该位与本节点不相关。

  在帧内除了CRC界定符、ACK域和EOF外,其余部分均使用到位填充机制,在使用到位填充的域,检测到接连6个显性位或隐性位均视为报错。CAN过错查验CRC过错

  1)在发送音讯时,发送节点会依据特定的多项式核算出由数据帧SOF位到数据域最末位的Checksum值,并将该值放在数据帧的CRC域,跟着数据帧播送到总线)接纳节点在收到数据后,使用相同的多项式核算Checksum值,并与收到的Checksum值比照。假如两者共同,正常接纳;假如不共同,则放弃该音讯,并发送过错帧恳求发送节点重传音讯。

  接纳方会在收到音讯后在ack应对位给出一个显性电平,假如发送方检测到该位为隐性,则报错。

  检测出与固定格局的位段相反的格局时所检测到的过错,如检测crc界定符和ack界定符以及eof区域出没呈现显性位。

  比较输出电平缓总线电平(不含填充位),当两电平不相一起所检测到的过错。如发送显性位,但总线是隐性位就报错。

  1) 自动过错:正常状况,在此状况下,节点能够发送一切类型的帧,包含过错帧;发现过错后会很积极自动地上报过错。

  2)被迫过错:节点能够发送除过错帧以外的一切帧;TEC or REC 计数超越127就进入此状况;此刻,该节点发现过错后只会发送6个隐性位,不会把过错播送出去。而且,发送接连帧时,中心有必要距离8bit的推迟时刻。