专栏名称: 谦益行
ECU研发快10年,有系统,硬件和软件内容输出,也有汽车人的成长故事,经验分享和行业洞见
目录
相关文章推荐
人民网舆情数据中心  ·  广西百色教师被举报性侵学生事件引发的涉教育领 ... ·  22 小时前  
人民网舆情数据中心  ·  广西百色一中学教师被举报性侵学生、丽江机场“ ... ·  昨天  
网络舆情和危机公关  ·  各地盲目“对标”杭州,要警惕发展误入歧途 ·  2 天前  
人民网舆情数据中心  ·  舆论场观察丨山西大同“破门亮灯”风波中的三大 ... ·  2 天前  
51好读  ›  专栏  ›  谦益行

什么是CAN一致性测试?

谦益行  · 公众号  ·  · 2024-06-12 06:37

正文

一致性测试是指用来检验一个实体(元件、部件、系统)是否符合相关规范的测试流程。所以CAN一致性测试就是指测试CAN节点是否符合CAN的通讯协议规范!
CAN总线的开发设计有相应的一系列规范,如ISO 11898、ISO 14229、ISO 15765、OSEK、AUTOSAR网络管理规范等等。 为什么大家都按照统一的规范设计,还会出现偏差,还需要一致性测试呢?

首先,不同的工程师对规范的理解可能有差异,这些差异会导致设计问题。

另外,在产品的硬件设计过程中由于PCB上元器件的布局布线不同也会导致硬件参数偏差问题。

最后,软件的运行机制和硬件的电路特性,还会引入一些系统问题,比如时序不准。

软件时钟运算偏差+硬件电路的延迟=时序不准
这些问题轻的会导致总线出现偶发错误帧,重的会导致通信相关功能失效。为了消除安全隐患,保证产品的通信质量,缩小CAN网络中的节点差异,提高CAN网络的抗干扰能力,就需要在批量生产前进行CAN的一致性测试。

CAN的一致性测试按通信协议层次主要分为三层:物理层、数据链路层和应用层。

1.物理层
物理层的一致性测试主要是电阻、电容特性,电平值,阈值,边沿时间,容错性能等通信介质物理特性相关的测试,这部分对总线的影响很大,所以是一致性测试中最重要的部分。

比如输出电压测试,"隐性"状态下,总线差分电压范围应为-1~0.5V(典型值0V);"显性"状态下,总线差分电压范围应为0.9~5.0V(典型值2.0V)。如果“隐性”电平大于0.9V,会使总线误入持续的“显性”状态,导致总线故障;

假如实测“显性“电平为1.2V,说明该节点驱动能力较弱,虽然1.2V也在正常范围内,但是在强电磁干扰的环境下,共模干扰会串扰到CAN总线中使该电平变为0.9V以下,容易出现电平翻转(“显性”变“隐性”),进而导致该节点总线故障。

输出电压幅值引起错误

节点故障后会频繁发出错误帧,在CAN总线中,虽然错误帧不被接收,但是依然会占用总线的带宽,会导致其他正常节点发送延迟。

2.数据链路层
数据链路层的一致性测试主要是位时间,采样点,帧格式,DLC等关于通信介质中的数据排列和组织。

比如采样点的测试,采样点是CAN接收节点判断信号逻辑的位置,CAN通讯属于异步通讯,需要通过不断的重新同步才能保证接收节点的采样准确。

若采样点太靠前,则因为总线中寄生电容 《干货|CAN总线为什么要加终端电阻?》 的原因 《干货|CAN总线为什么要加终端电阻?》 ,容易发生采样错误;若采样点太靠后,则因为SJW原因,会引起接收节点同步跳转宽度的调整(调整自身时钟进行匹配),调整不好就容易出现错误;所以对采样点的测试很重要。
采样点是由CAN节点软件通过内部寄存器设置的,外部设备如何知道,或者说如何测试呢?

其实道理也很简单,那就是对1个位时间段中每个时间点分别施加干扰,如果某个时间点的干扰被CAN节点检测到了,就说明此时间点是采样点。

通过施加干扰信号测试采样点

通过测试设备设置偏移时间和持续时间,比如从位时间的10%开始施加干扰,每次递增1%,持续干扰到100%。

从位时间的10%施加干扰到100%

规范定义的采样点范围是75%≤采样点≤83.4%,所以实际采样点应该都设置在后半个位时间,有时为了节省时间,可以从位时间的中间(比如45%)位置开始施加干扰;施加干扰的过程中查看设备统计记录的错误报文,出现错误报文的干扰点就是采样点。

此外,CAN节点的采样值是否准确还与波特率(计算位时间)的误差范围有关,波特率的抖动范围不能过大。比如500k的波特率(位时间2us),如果抖动后,位时间变为1.8us或2.2us,将导致采样点的逻辑判断错误而出现总线故障。

波特率抖动

根据规范要求,每个节点的位时间误差范围应满足t=2us±3%。
3.应用层
应用层的一致性测试包含的内容比较多,基本项是报文周期和报文类型。此外还有网络管理、诊断、刷写和网关路由等。其中很多内容是主机厂自定义的。







请到「今天看啥」查看全文