背景
随着车辆电子化水平的提高,车辆上各种ECU逐渐增多,他们通过总线进行通信,以实现车辆各个系统之间的协调与控制,但由于车辆电子系统的复杂性和总线通信的高频率,可能导致ECU总线干扰通信信号的丢失,影响各个控制单元之间的正常通信和数据传输,进而影响车辆系统的性能和功能,需要一款设备模拟干扰,VH6501由此诞生。
VH6501是一款CAN/CANFD总线干扰仪,将干扰硬件和网络接口卡集成在一起的一款设备,可以与CANoe进行无缝集成,通过CAPL脚本进行控制。主要功能是数字干扰和模拟干扰,可以通过自定义改变显性或隐性序列实现干扰,也可以实现CAN线对电源或地短路及CAN高低之间短路或者改变两者之间的电阻电容值来进行干扰。
它主要可以用来进行模拟干扰测试、Bus-off测试、采样点测试,观察被测控制器在故障状态下的网络行为、恢复策略及采样点是否满足相应需求;通过模拟真实的干扰场景,测试总线在干扰环境下的稳定性;提高总线的可靠性、检测总线抗干扰能力、保证正常通信。
下面将向大家介绍拿到设备后大家如何使用。
一、硬件连接
通过USB2.0接口与电脑端连接,此外VH6501 需要额外供电,选择Sync/Power(任选其一)经电源线供电,另一个用于通过同步线与Vector其他硬件产品实现硬件时钟同步;
CH1通道有两个DB9接口,公头male和母头female,两个DB9接口内部互联,且pin脚定义一致;通常情况下连接任意通道即可,如需进行CAN h与CAN l反接测试时,至少要连接母头。
通过CH1与被测DUT连接从而施加干扰
环境搭建
首先查看VH6501设备所支持CANoe的版本
安装VH6501硬件驱动
本次以上位机软件CANoe16.0 SP4为例,打开CANoe demo—Disturbance(CAN)工程,进行CAN总线干扰演示,
通道匹配
当我们用于总线干扰时,需要勾选active,否则只能用做网络接口卡使用。
若CANoe接入多个VH6501,则需设置DevicelD通过不同的DevicelD标识不同的VH6501设备。
三、测试过程
首先是数字干扰
打开MainConfigPanel面板
点击Trigger Configuration配置干扰报文及干扰位,如果是干扰所有报文,默认即可,如果干扰特定报文,填写干扰报文ID、干扰位置 注意这里的干扰位置是实际干扰的前一位,TriggerOffset表示偏移量,可以干扰某个字节的具体位。
以ID=0x100为例,干扰AckDEL位。即在IDBase中填标准帧11位二进制ID,如果不满11位,高位补零,凑齐11位,并将下方CurrTriggerField设置干扰前一位AckSlot位,Triggeroffset设置为0。
点击Sequence Configuration 设置干扰序列
在这里可以将干扰序列设置为显性Dominant、隐性Recessive、强制隐性RecessiveStress
当CANoe正常运行时,sequence Panel面板会自动识别总线波特率,并提供可选择的ticks长度,也可以用户自定义设置;最后点击Add Segment添加干扰。
注:在CAN FD通信过程中,如果干扰Ack Slot位,干扰结果是两个连续的显性位会被认为是有效的Ack应答,不会出现错误帧,导致这种方式无法干扰ACK slot位。
返回主面板,设置好干扰次数和循环次数
如果进行Bus off测试时,Cycles表示Bus off的次数,Repetition中填写固定干扰次数为32次(干扰一次,ECU的TEC累计次数+8,在连续干扰32次后,TEC的值为256,ECU便会进入Bus off状态)
注:如您想了解关于Bus off的详细内容,可以观看前期文章:《科普系列:CAN总线错误帧及排查方法简介》
最后点击Enable On Device激活使能干扰
打开trace窗口,最终效果如图所示
接下来是模拟干扰测试,可以进行CANH/L与电源/短路、CANH与CANL之间短路及增加电阻或电容、CANH与CANL之间反接。
运行工程后,打开Analog Control Panel面板进行操作,在R CAN 中,将Mode设置为VBat/GND,Vlaue值设置为0hm实现CAN h对电源或地短路。
注:CAN h或CAN l短接至电源时,需要将外部电源的VBat/GND分别连接公头的Pin9和Pin3引脚
打开trace窗口,总线进入buss off状态,结果如图所示
CAPL报文干扰相关函数介绍
VH6501主要通过CAPL脚本进行控制,我们也可以通过编写脚本实施干扰,下面将简单介绍相关函数及使用方法:
注:因为VH6501的FPGA晶振是160M的,所以一个 FPGA ticks 周期 T0 = 1/160M = 6.25 ns(纳秒);CAN总线是500kb/s速率,所以周期位T1 = 1/500K = 2000 ns (纳秒) ; 而320 * 6.25 =2000 ,也就是说需要320个 FPGA ticks才能刚好干扰一个CAN bit 位。
如果想进一步了解干扰函数的使用方法,可以打开help文档进行查看CAN Disturbance里面相关干扰函数,里面内容有详细的描述说明。
关于VH6501的基本应用就展示到这里啦!希望上述内容对大家有所收获。
北汇信息作为Vector中国的合作伙伴,始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案,为工程师在汽车领域提供“趁手装备”!我们不仅提供相应的工具和技术支持服务及培训,还针对不同的应用提供相应的解决方案,助力中国客户的研发效率提升。欢迎联系北汇信息,我们将根据不同需求为您提供针对性的高效、灵活、稳定的解决方案!