can通信的介绍

一、CAN通信的基本定义与发展背景

CAN(Controller Area Network,控制器局域网)是一种用于实时应用的串行通信协议总线,由德国博世(Bosch)公司于1980年代中期为汽车电子系统而开发。1986年,博世公司在SAE(汽车工程师学会)大会上正式发布了CAN协议,随后通过ISO标准(如ISO 11898和ISO 11519)在全球范围内推广,成为国际标准化的串行通信协议。CAN最初的设计目标是解决汽车内部电子控制装置之间日益复杂的通信需求——随着汽车中电子控制单元(ECU)数量不断增加,传统的点对点直接布线方式导致线束重量、空间需求和成本急剧上升,CAN以其简洁高效的网络结构成为理想的解决方案。

从协议分层角度看,CAN通信协议基于OSI七层模型,但仅包含物理层、数据链路层和应用层,通信接口集成了物理层和数据链路层功能,能够完成数据成帧处理,如位填充、CRC校验等。CAN规范本身仅定义了消息格式,而物理信号传输层则由系统设计师根据具体需求实现。值得注意的是,CAN协议具有相当的物理介质适应性,可使用双绞线、光纤等多种传输介质,信号采用差分电压传送,从而获得良好的抗干扰能力。

xxxxx

二、CAN通信的核心技术特点

CAN通信之所以在汽车电子和工业控制领域获得如此广泛的应用,与其一系列独特的技术特点密不可分。以下从多个维度对其技术特性进行详细分析:

1. 多主工作方式与灵活的网络结构

CAN采用多主方式工作,即总线上的所有节点地位平等,任何节点都可以在总线空闲时主动发送数据。这种工作方式彻底改变了传统主从式通信协议(如LIN)中依赖单一主节点调度的模式,避免了单点故障导致整个网络瘫痪的风险。CAN采用总线型拓扑结构,支持点对点、一点对多点及广播等多种通信方式,这意味着一个节点发送的消息可以被所有其他节点接收,每个节点根据消息标识符自行决定是否接收和处理该消息。

2. 非破坏性总线仲裁机制

CAN最具特色的技术之一是其非破坏性总线仲裁机制。当多个节点同时发送数据时,CAN通过逐位仲裁的方式解决冲突——每个节点在发送标识符(Identifier)的同时监测总线电平,如果发送的隐性位(逻辑1)与总线上的显性位(逻辑0)冲突,则该节点自动停止发送,转入接收状态。这种基于消息优先级(标识符数值越小优先级越高)的CSMA/CA(载波侦听多路访问/冲突避免)仲裁机制具有两个关键优势:一是高优先级的消息能够无延迟地继续传输,保证了实时性;二是仲裁过程不破坏任何数据,总线带宽得到有效利用。

3. 通信速率与传输距离的灵活性

CAN总线的通信速率可以根据实际需求灵活配置,数据传输速率与通信距离成反比关系。在标准CAN 2.0协议下,最高通信速率可达1 Mbps(此时总线长度约为25-40米);当信号传输距离延长至10公里时,CAN仍可提供高达50 kbps的数据传输速率。常见的通信速率配置包括1 Mbps、500 kbps、250 kbps等。高速CAN(High-Speed CAN)最大支持1 Mbps通信速度,而低速/容错CAN(Low-Speed/Fault-Tolerant CAN)最高支持125 kbps。这种速率-距离的可调特性使CAN能够适应从车载短距离高速通信到工业现场远程监控等多种应用场景。

4. 短帧结构与高效传输

CAN协议采用短帧结构,标准格式的数据帧净荷字节数为0至8字节,扩展格式CAN(CAN 2.0B)的标识符长度可达29位。短帧结构的优势体现在多个方面:首先,它保证了消息传输的低延迟特性,使CAN特别适合实时控制应用;其次,短帧减少了对总线带宽的占用,一帧标准报文约125比特,在500 kbps波特率下传输一帧仅需250微秒,通信负载很低。以车辆控制应用为例,发动机转速、节气门位置等周期性控制信号的数据量通常在8字节以内,短帧结构能够在确保实时性的同时最大化总线利用率。

5. 强大的错误检测与容错机制

CAN具备完善的错误检测和处理机制,是其高可靠性的根本保障。CAN内置多种错误检测手段,包括CRC校验(Hamming距离为6)、位错误检测、填充错误检测、格式错误检测和应答错误检测,能够检测出几乎所有类型的错误,错误检出率接近100%。当节点检测到错误后,CAN会采取以下措施:一是发送错误帧通知所有节点;二是自动重发被破坏的数据,直至传输成功;三是错误严重的节点会自动退出总线,避免影响整个网络的通信。这种自我诊断和自我恢复能力使CAN能够在嘈杂的电磁环境中可靠工作,满足汽车、工业等恶劣环境下的通信需求。

6. 报文标识与优先级体系

CAN报文不包含源地址或目标地址,而是通过标识符(Identifier)来指示功能信息和优先级信息。所有节点监听总线上的所有报文,并通过本地过滤功能选择性接收与自己相关的消息。这种广播式通信配合标识符过滤机制带来了多个优势:新节点可以方便地加入网络而不需要修改现有节点的配置;支持一对多甚至广播通信;优先级仲裁机制确保高优先级消息(如安全关键的控制指令)总是能够优先传输,满足硬实时要求。

7. 低成本和极高的总线利用率

CAN协议具有较低的成本与极高的总线利用率。简洁的总线结构带来低硬件和布线成本;多主仲裁机制避免了令牌传递或轮询等机制带来的额外开销,使总线带宽得到充分利用。在汽车这样的成本敏感型大规模制造行业,CAN以可接受的成本实现了高可靠性的分布式控制网络,这也是其能够得到广泛应用的重要经济因素。

8. 网络节点数量

CAN总线的节点数量主要受限于CAN收发器的硬件能力而非协议本身,在使用中继器或特殊收发器时可支持超过30个甚至多达120个节点。这种良好的可扩展性使CAN能够适应从小型设备到大型工业控制网络的多种规模需求。

三、CAN通信的工作原理

1. 帧结构

CAN协议定义了四种不同的帧类型:数据帧、远程帧、错误帧和过载帧。其中数据帧用于节点间数据传输,包含帧起始(SOF)、仲裁场(标识符和RTR位)、控制场(IDE位、DLC数据长度代码)、数据场(0-8字节数据)、CRC场、ACK场和帧结束(EOF)等字段。标准CAN的标识符长度为11位,扩展格式CAN的标识符长度可达29位。

2. 通信过程

CAN的通信过程包括冲突检测与解决、数据传输及错误处理机制。当总线空闲时,任何节点都可以发起传输;当多个节点同时发起传输时,通过逐位仲裁确定优先级,高优先级消息继续传输,低优先级节点自动转为接收状态。接收节点根据标识符判断消息是否与自身相关,并通过ACK场对正确接收的消息进行确认。整个过程中,CAN控制器自动完成数据成帧、位填充、CRC计算、错误检测等底层任务,对上层应用透明。

四、CAN通信的主要应用场景

CAN通信因其高效、可靠的特点,从最初的汽车电子拓展到了众多工业领域,成为应用最为广泛的现场总线之一。可以说,凡是需要可靠、实时数据通信的场景,CAN几乎都能找到用武之地。

1. 汽车电子系统

CAN是现代汽车电子系统中的核心通信协议,是CAN应用最经典也最广泛的领域。现代汽车通常包含30-70个电子控制单元(ECU),这些ECU通过CAN网络实现高效、可靠的数据交换。CAN在汽车电子中的具体应用包括:发动机管理系统(EMS)、防抱死制动系统(ABS)、电子稳定程序(ESP)、安全气囊系统、车身控制模块(BCM)、电池管理系统(BMS)、车载信息娱乐系统等。CAN总线将车辆各个子系统紧密连接在一起,使它们能够实时共享传感器数据和控制指令,从而提升车辆的性能、安全性和功能丰富度。此外,CAN总线采用双绞线介质和差分信号传输,显著减少了线缆数量、降低了线束成本和布线复杂度,成为汽车电子网络化的核心技术。

2. 工业自动化

在工业自动化领域,CAN被广泛应用于PLC(可编程逻辑控制器)、传感器、执行器和工业机器人之间的控制和监控通信。基于CAN的高层协议如CANopen和DeviceNet为工业设备的网络化和模块化控制提供了有力支持,使得不同厂商的设备能够无缝集成,提高了生产效率和灵活性。CAN的高实时性、强抗干扰能力和灵活的拓扑结构使其非常适合工业现场的恶劣环境。

3. 医疗设备

现代医疗设备广泛采用CAN协议进行数据传输和设备控制。手术机器人、病人监护仪、输液泵和成像设备等,都依赖于CAN总线实现高效、安全和实时的医疗服务。CAN的高可靠性和实时性确保了医疗设备的稳定性和准确性,而良好的扩展性也方便了医疗设备的功能升级和系统集成。

4. 机器人系统

机器人系统中常用CAN来实现传感器、伺服电机控制器和中央控制单元之间的高速、实时通信。CAN的广播通信特性和优先级仲裁机制使机器人的多关节协调控制、多传感器数据融合和实时运动规划得以高效实现。无论是工业机械臂还是移动机器人平台,CAN都是主流的内部通信总线选择。

5. 航空航天、船舶与其他领域

CAN的应用还涵盖了航空航天(飞行控制系统、飞机系统)、船舶控制、楼宇自动化(智能建筑、能源管理、安防系统)、通信设备以及新能源领域(电动汽车、充电桩、光伏逆变器)等。此外,在智能家居与物联网领域,CAN也因其可靠性被用于需要总线通信的场景。

五、CAN与其他车载总线协议的区别

在车载网络中,除了CAN之外,LIN(Local Interconnect Network,本地互联网络)和FlexRay也是两种重要的通信协议,三者各有特点、各有定位,在汽车电子系统中各司其职。

1. LIN协议

LIN是一种低成本、低速率的串行通信协议,主要用于非关键应用场景,如车窗控制、天窗、灯光传感器、门锁等车身电子系统。LIN采用单主多从的架构,使用轮询方式进行总线访问,最大数据传输速率仅为40 kbps。在成本方面,LIN协议成本最低(仅需一根电缆),但可靠性和实时性也相对较差。由于使用CAN控制器在这些非关键领域会显著增加成本,因此LIN成为了CAN的有力补充。

2. CAN协议

CAN在速率、可靠性和成本方面居中,通信速率最高1 Mbps,需要两根电缆。CAN广泛应用于动力总成系统(如发动机控制、变速箱控制)等中等实时性要求的场合,是目前汽车中使用最广泛的通信协议。CAN采用广播式通信,通过CSMA/CA机制进行仲裁,无主从概念,所有节点平等。

3. FlexRay协议

FlexRay是三者中性能最高但成本也最高的协议,支持最高10 Mbps的数据传输速率(每通道),采用时分多址(TDMA)机制,具有容错和确定性传输特点。FlexRay支持总线型、星型和混合型等多种拓扑结构,并支持双通道冗余通信以提高安全性。FlexRay主要用于安全关键应用,如主动安全系统(ABS、ESP)、动力总成、线控制动和自适应巡航等对实时性和可靠性要求极高的系统。但其开发和使用成本较高,当前主要应用于中高端车型。

4. 三者的比较与协同

从应用角度看,LIN用于传感器/执行器领域,CAN用于需要良好可靠性与成本平衡的控制系统,而FlexRay则用于实时性能比基于事件的通信更为重要的领域。值得注意的是,三者并非互相替代的关系,而是共存互补的关系。在实际车辆中,不同的应用场景会采用不同的通信协议,并安装网关来转换协议、将必要的信息传输到其他网络。例如,FlexRay可能在安全、底盘和动力总成领域部分取代CAN/CAN FD,但在车身和诊断领域则不具备优势;LIN则以最低的成本覆盖最简易的控制需求。这种异构组网方式既能满足各类应用对通信性能的差异化需求,又能实现成本的优化配置。

六、CAN通信协议的最新发展及面临的挑战

1. 传统CAN的技术瓶颈

随着汽车智能化、网联化程度的快速提升,传统CAN总线正面临着前所未有的技术挑战。主要体现在以下几个方面:

带宽瓶颈:传统CAN 2.0标准的最大传输速率仅为1 Mbps,难以满足高清摄像头、激光雷达等传感器产生的海量数据传输需求。随着自动驾驶技术的发展,车载传感器数量和单帧数据量急剧增长,CAN的带宽限制成为突出问题。

实时性限制:在复杂的多节点网络环境中,CAN总线的仲裁机制可能导致低优先级消息的传输延迟增加,甚至错过允许的时间窗口,影响安全关键应用的响应时间。随着网络流量增长,总线过载现象愈发突出,低优先级消息的延迟问题更加严重。

净荷限制:经典CAN的数据帧最多仅能携带8字节的有效负载,对于现代汽车中动辄几十甚至上百字节的数据包传输需求而言,效率低下、分帧开销过大。

2. CAN FD(CAN with Flexible Data rate)

为突破传统CAN的限制,博世开发了CAN FD(灵活数据速率CAN)协议。CAN FD将数据字段从8字节扩展到64字节,并在数据段采用更高的传输速率(最高可达8 Mbps),显著提升了单帧有效数据的传输效率。CAN FD保持了与传统CAN的兼容性,能够在同一网络中混合运行,为汽车电子系统提供了平滑的升级路径。

3. CAN XL

CAN总线协议的最新发展是CAN XL,这是目前CAN家族中性能最强的一代。根据博世移动电子发布的信息,CAN XL符合ISO 11898-1:2024和ISO 11898-2:2024标准,支持高达20 Mbit/s的数据速率和2048字节的有效负载大小。CAN XL在保持CAN协议可靠性优势的同时,极大地扩展了数据传输能力,使其能够应对未来汽车和工业应用中对高带宽、大数据量传输的需求。博世推出的X_CAN IP模块还提供了包括CAN CC、CAN FD和CAN XL协议的支持、ASIL D功能安全认证、AXI接口等特性,体现了CAN协议持续演进的活力。

4. 安全挑战与解决方案

由于CAN协议在设计之初并未充分考虑信息安全问题,随着车辆与外界通信日益增多,CAN网络面临着越来越多的安全威胁。CAN采用广播通信方式,所有设备都能接收总线上传输的所有消息,这使得攻击者一旦物理接入总线,就能够监听甚至注入伪造消息。现有针对CAN的安全防护方案存在多种局限:一些方案不适合在汽车环境中实施(可扩展性限制),一些方案无法防止伪装攻击,一些方安依赖于可能被秘密断开的中央权威机构。研究人员近年来提出了多种增强CAN安全性的方法,如基于MAC(消息认证码)的消息认证方案、独特的帧间隔方案(如ZBCAN)以及本文介绍的CAIBA协议等,旨在确保消息的真实性、完整性和防伪装能力。CAN协议的安全问题已成为学术界和工业界共同关注的重要课题,也是CAN技术能否持续适应未来智能网联汽车需求的关键挑战。

七、总结与展望

综上所述,CAN通信协议凭借其多主工作方式、非破坏性总线仲裁、短帧结构、CRC校验等核心技术特性,成功解决了工业现场高实时性、高可靠性通信的核心需求。从1986年博世公司发布至今,CAN已经历了近四十年的发展历程,从最初的汽车电子扩展到工业自动化、医疗设备、航空航天、新能源等众多领域,成为应用最广泛的现场总线之一。与此同时,面对汽车智能化浪潮带来的带宽、实时性、安全性等新挑战,CAN也在不断演进——从中期看,CAN FD通过扩展数据长度和提升传输速率缓解了带宽压力;从长远看,CAN XL以20 Mbps的速率和2048字节的负载能力为CAN技术注入了新的生命力。此外,基于CAN的高层协议(如CANopen、DeviceNet)的成熟以及车载以太网等新技术的出现,也为车载网络架构的重构提供了更多选择。无论技术如何演变,CAN确立的高可靠性、低成本、灵活性的核心理念仍将是车载和工业通信系统的重要基石。

滚动至顶部