icon icon icon
首页 >媒体资讯>应用-方案 > 汽车CAN总线测试应用(一):总线解码分析

汽车CAN总线测试应用(一):总线解码分析

2021-07-07 来源: YIQIFUWU宜器服务网 阅读量 :

CAN总线为什么重要?





CAN是Controller Area Network (控制器局域网) 的缩写。在汽车工业中,各种电子控制系统之间通信的数据类型和可靠性要求是不同的。如果多条总线通信,线束的数量也会增加。为了满足 “减少线束” 和 “通过多个局域网进行大量数据高速通信” 的需要,德国电气公司博世公司,1986年开发了汽车CAN通信协议; 1993年,它被ISO认证为国际标准,并正式发布了CAN总线的标准文件ISO 11898。目前,CAN总线已成为世界上应用最广泛的现场总线之一。


  • 1983年,BOSCH开始着手开发CAN总线;

  • 1993年,ISO发布CAN总线标准(ISO 11898),随后该标准主要有三部分:

  • ISO 11898-1:数据链路层协议
    ISO 11898-2:高速CAN总线物理层协议
    ISO 11898-3:低速CAN总线物理层协议


注:ISO 11898-2和ISO 11898-3物理层协议不属于BOSCH CAN 2.0标准。

2012年,BOSCH发布 CAN FD 1.0 标准(CAN with Flexible Data-Rate),CANFD定义了仲裁后使用不同的数据框架结构,达到最高12Mbps数据传输速度。CANFD与CAN2.0协议兼容,可与传统CAN-2.0设备同网共存。




CAN总线的多主控模式


CAN总线的多主控模式




CAN总线带来的优化


  • 线束(电气信号线)的削減——低成本化、设计简单化

  • 轻量化——降低油耗

  • 差分电压——降低噪声影响(安全性)

  • 错误处理的充实——高可靠性

CAN总线带来的优化.png





CAN总线的主要应用场景


■ 汽车、卡车、巴士

  • 车身控制

  • 动力传动系统

  • ABS

  • 发动机控制

  • 汽车测试台架

  • 充电桩

■ 飞机、列车、船舶(客船、轮船) 

■ 自动化

  • 楼宇控制(电梯、自动扶梯)

  • FA (机器人、数控设备)

■ 医疗机器、农业机械、施工机械

  • MRI

■ 风电、光伏

  • 风力发电机控制系统

  • 分布式光伏发电设备监控系统



CAN总线协议及解码分析





CAN协议结构


CAN标准分为两类: 底层标准 (物理层和数据链路层) 和上层标准 (应用层)。CAN底层标准主要是ISO 11898系列的国际标准,也就是说,不同厂商在CAN总线的物理层和数据链路层的定义基本相同; 虽然高标准,不同的应用领域或制造商有不同的做法,所以在这方面没有统一的国际标准。


根据OSI参照机型,定义数据链路层与物理层。

CAN协议结构.png

OSI规格化以外,SAE J2284, J2411等规格也有类似分层。




CAN总线的网络


CAN网络的拓扑结构通常是线性的。线束最常用作非屏蔽双绞线 (UTP),它在线传输对称电平信号 (差分)。连接到CAN总线的设备称为节点设备 (CAN节点),“帧” 分组形式的信号流可以在任何节点传输,并且可以在任何节点接受。

CAN总线的网络.png




CAN总线的双绞线传输



CAN总线的双绞线传输.png

一般的串行公共汽车有两条信号线(理解的I2C总线有SDA、SCL)。CAN总线不同,有两条总线(CAN_H和CAN_L),但CAN_H和CAN_L两条线的电位差表示CAN信号:

两根总线的电压差=2V时;逻辑为0,为显性

两根总线的电压差=0V时;逻辑为1,为隐性

   

以ISO 11898中对高速CAN信号的定义为例:

高速CAN信号.png

高速CAN和低速CAN总线在物理层信号电平上定义有所不同,低速CAN,定义CAN_H和CAN_L电压相差5V(CANH=0V,CANL=5V)时为逻辑“1”,相差2.2V(CANH=3.6V,CANL=1.4V)时为逻辑“0”。在CAN总线上,逻辑 “0” 和 “1” 之间的显著电压差是总线可靠通信的保证。CAN总线的信号电平具有线路和特征,即显性电平 (0) 隐性电平 (1) 始终被屏蔽。如果不同节点同时发送显性和隐性电平,总线上表现出显性电平(0)。仅当总线上的所有节点发送隐性电平 (1) 时,总线才被隐藏。线路和特性是CAN总线仲裁的电路基础。




节点设备的构成



  • 用CAN_H/CAN_L的差距信号通信。

  • 可连接的节点数最多为30个。

  • 总线的两端必须增加终端电阻。

  • CAN的通信速度(波特率)以125kbps为界限,区分高速CAN和低速CAN。

  • 各节点通过CAN控制器、CAN收发器连接到CAN总线。


例如下图:高速CAN时,120Ω終端。

节点设备的构成.png




信号帧类型与作用



信号帧类型与作用.png

信号帧类型与作用1.png





CAN总线的特点



  • 差分信号出色的抗噪声性能

  • 多主控所有节点没有主从区别。如果总线空闲,则任何节点都可以向总线发送消息。

  • 非破坏性比特仲裁机制在信息中使用标识符ID来确定信息传输的优先级; 这种仲裁机制既不会导致发送数据的延迟,也不会损坏发送的数据。

  • 系统的灵活性CAN总线上的节点没有 “地址” 的概念,因此在总线上添加节点时,它不会影响总线和应用层上现有节点的软件和硬件。

  • 通信速度的设置可以根据网络规模和系统功能进行设置; 通信速度不同的两总线上的节点可以通过网关实现信息交互。

  • 高错误处理功能所有节点都可以检测到错误; 检测到错误的节点将立即通知总线上的所有其他节点; 正在发送消息的节点,如果检测到错误,当前发送将立即停止,同时重复发送消息,直到消息发送成功(错误恢复功能)。

  • 可以请求数据节点Node_A可以通过向总线发送远程控制帧来请求节点Node_B发送由远程控制帧指定的报文。




CAN分析工具



CAN分析工具.png




CAN总线解析,需要观测的问题



  • 系统噪音是否会影响公交车的传输。

  • 总线报告错误时是否是硬件问题。

  • 软件编程是否正确。

  • 如何同时观测多种串行总线。 




用示波器观测物理层信号波形



示波器观测到的“波形”反映CAN总线的电压信号的时间变化。

以DLM3000和DLM5000为例:

示波器观测物理层信号波形.png

隐性电位在DLM3000菜单中设定(选择)
无论哪种设定,逻辑值隐性=1、显性=0。

H: 隐性电位高于显性电位。

L: 隐性电位低于显性电位。


能够胜任CAN总线解析的示波器需要具备的功能:

  • 高速采样率可以清晰地捕获和显示串行模拟信号并观察物理特性。

  • 长存储长时间记录总线控制过程。

  • 丰富的触发功能和高波形采样率可以根据模拟波形的观察捕捉错误并查看问题的原因。

  • 同步显示解码结果和列表结果,便于观察总线数据信息。

  • 它具有逻辑分析功能,可满足多通道串行总线同时分析的需要。

CAN总线解析.png




横河示波器串行总线分析功能



横河DLM3000和DLM5000系列混合示波器具有强大的串行总线分析功能,支持多种主流串行总线: CAN/CAN FD/LIN/FlexRay/UART (RS232)/I2C/SPI/send/CXPI,串行总线通信已广泛应用于汽车等各个领域。从制动系统到车辆导航系统,这些公共汽车无处不在。。电子控制单元 (ECU) 、传感器和执行器之间的通信对于确保车辆的正常性能尤为重要。除了验证协议的数字逻辑外,这些系统的开发和验证还需要模拟物理层验证波形质量、噪声和传感器/执行器信号的同步测量。具有串行总线解码功能的DLM3000和DLM5000可以同时显示总线的解码数据和物理层波形,非常适合验证和故障排除。

DLM系列示波器独特的总线分析功能具有突出的优势:

■ 串行总线自动设置

串行总线分析通常需要许多设置,例如比特率、电压阈值、逻辑极性、采样点和触发条件。这些复杂的设置使得捕获数据变得困难,并且需要一个漫长的设置过程。横河YOKOGAWA独特的自动设置功能可以自动分析输入信号和比特率、阈值电平等复杂参数,并在几秒钟内选择最佳设置。此功能不仅节省了时间,而且在比特率和其他参数未知时提供了强大的调试功能。

硬件加速实时解码分析
硬件解码器,解码速度高于15次/秒、增大记录长度仍能保持较高的解码速度。

解码结果显示与列表显示
将所有帧的分析结果以列表的方式显示出来,解码总线上每一个帧信息,如地址、数据、标识符等,解码结果与列表实时更新列表选定项与解码放大窗口显示对应。

双总线触发

CAN、CAN FD及其他类型总线可以同时触发。

最多可同时快速分析4种速度不同的总线

最多可同时快速分析4个速度不同的总线。各种搜索功能增强了可用性,即使在非常庞大的内存中也可以搜索出特定数据。双缩放功能意味着可以观测不同的总线并执行相互调试。

速度不同的总线.png

CH1CH2 2CAN线分析结果
分析列表.png
CAN解码分析.png




CAN总线解析的实测案例



汽车控制系统测试案例

ECU (Electronic Control Unit) 电子控制单元,也被称为 “行车电脑” 、 “车载电脑” 等,在使用方面,它是一种专门用于汽车的微型计算机控制器。像普通计算机一样,它由微处理器 (MCU) 、存储器 (ROM、内存) 、输入/输出接口 (I/O) 、模数转换器 (A/D) 组成和整流器、驱动器和其他大规模集成电路。用一个简单的句子来描述 “ECU是汽车的大脑”。为了保证车辆的平稳运行,在车辆的开发和测试中,通常需要进行以下测试:

• 多路ECU控制信号的时序关系

• 多路转速、喷油脉冲、曲轴转角等传感器信号

• 进行CAN总线的解码分析

CAN总线解析的实测案例.png


在线留言