时间:2024/1/28来源:本站原创作者:佚名
前不久小怿介绍了一款高效CAN总线报文解析工具——Scope,不知道大家还记不记得呢?今天小怿接着为大家介绍经常与之配合进行ECU的CAN网络一致性测试的工具——VH。为了测试一个系统在信号干扰和失效的情况下是否仍能稳定工作,需要一种仪器用来面向对象再现CAN总线信号、总线物理属性和逻辑电位(隐形或显性)的干扰,VH的功能就是如此,因此它也有一个更通俗的名字——干扰仪。图1VHVH是将CAN/CANFD干扰硬件和CANoe网络接口卡集成在一起的一款设备,它是替代CANstress的高阶产品,允许为CAN/CANFD一致性进行简单的测试设置而无需额外的网络接口和专用线缆。它的主要功能是数字干扰和模拟干扰,可以自定义任意显性或隐性序列实现干扰,也可以实现CAN线对地或对电源短路以及CAN线高低之间的短路或者改变两者之间的电容值来进行干扰。当然,当我们不使用它的干扰功能时,它还可以被当作一个网络接口卡来使用。它的优点也显而易见,相对于CANstress,VH可以对CANFD进行干扰,它的干扰硬件和网络接口结合在一个紧凑的USB设备中,最突出的优点还是它能与CANoe无缝集成,通过编写CAPL脚本实现个性化测试。VH所有干扰功能都必须通过CAPL实现,不具备CAPL脚本编写能力的同学们看到这里是不是犯愁了?不用担心,要不我们怎么常说CANoe功能强大呢,CANoe里提供的示例工程已经把VH的功能集成好了,代码逻辑已经编译好,我们只需根据需求配置相关参数就行。下面我们就以bus-off测试为例来介绍如何实现VH的干扰功能。

01Bus-off测试背景

为避免某一通信节点故障而影响其他节点通信,CAN网络具有严格的错误处理机制,每个CAN控制器中有一个发送错误计数器(TEC)和一个接收错误计数器(REC),根据计数值不同,节点会处于不同的错误状态,并根据计数值的变化进行状态转换,状态转换及错误计数的详细规则总结如下图所示。图2状态转换及错误计数规则节点进入bus-off状态后,存在三种恢复情况:第一种是MCU开启了CAN控制器的自动恢复功能,节点只需检测到次11个连续的隐性位便可以恢复通信,这也是我们常说的快恢复。由此我们也可以得到快恢复最快的时间是在总线空闲时×11bit,最慢是在帧正常报文发送完成用时×bit;第二种恢复情况是MCU没有开启CAN控制器的子回复功能,也不敢与总线关闭错误,节点将一直无法主动恢复总线通信,只能通过重新上电的方式使节点恢复;第三种恢复情况是我们最常用的,MCU对CAN控制器的恢复过程进行编程处理,此时,节点的恢复行为由具体的编程逻辑决定,各厂家普遍采用先快恢复后慢恢复的恢复策略,恢复过程如下图,于是我们就需要对快恢复定义的时间、次数以及慢恢复时间进行验证。图3MCU实现总线关闭恢复流程

02测试准备

首先我们需要按示意图搭建好测试环境;图4连接示意图然后打开CANoe,找到示例工程Disturbance(CAN)打开;图5示例工程接着需要将VH的CAN通道分配给工程里的软件通道CAN1,有一点需要注意的是,使用到VH的干扰功能时需要在硬件配置里勾选Activate,如果没有勾选就只是一个普通的接口卡了。图6通道配置和使能勾选

03测试过程

图7MainConfigPanel通过Panel打开MainConfigPanel面板,点击面板中的TriggerConfiguration按钮打开对应的配置面板TriggerConfigurationPanel,如果是干扰所有报文,保持默认状态就行;如果是干扰单个ID的报文,则需将ID转换成二进制填到IDBase里。干扰位置可根据测试要求选择,一般我们选择特定极性位,如AckDEL位,这里需要注意的是面板中设置的干扰位是实际干扰位的前一位,我们想干扰AckDEL位那我们设置的就是AckSlot位,旁边的TriggerOffset可以帮助我们实现干扰某一位场中具体到某一字节。图8TriggerConfigurationPanel然后我们回到主面板,点击SequenceConfiguration按钮打开SequencePanel面板,配置波特率和插入序列片数,干扰极性根据需要设置,这里我们干扰AckDEL位就设置成显性Dominant,需要注意的是设置干扰成隐性需要选择RecessiveStress而不是Recessive,设置好后点击AddSegment。图9SequencePanel我们再回到主面板,确认通道信息,设置好干扰次数和循环次数,如图示,然后我们启动CANoe工程,在Trace窗口可以看到正常的报文。图9SequencePanel然后我们点击面板中的EnableOnDevice按钮就开始进行干扰了。图11设置干扰次数和循环次数实施干扰

04干扰结果及分析

在触发位后连续插入干扰序列,改变干扰位的显隐性特征,使其判定为错误帧,并发出错误帧,我们会在Trace窗口查看到错误帧,因为进入bus-off需要TEC计数大于,所以每32帧错误帧之后,节点会按设计进行快慢恢复逻辑,我们查看Trace窗口里报文时间差就能获取到快恢复时间及次数和慢恢复时间。图12快恢复查看图13慢恢复查看我们还可以接入CANoeScope来监测实施干扰前后的报文波形,具体怎么配置可以参照《CANoeScope—高效解析总线报文》,我们可以对比干扰前后的波形。图14正常报文AckDEL隐性图15干扰后报文AckDEL显性到这里我们就完成了整个bus-off测试,希望通过以上介绍大家能有所收获,更多关于VH的功能用途需要大家在实际应用中去解锁,我们下期见啦~
转载请注明原文网址:http://www.13801256026.com/pgst/pgst/7281.html
------分隔线----------------------------