不久前,小毅介绍了一款高效的产品CAN总线报文分析工具——Scope,你还记得吗?今天,小毅将经常与您合作介绍ECU的CAN网络一致性测试工具——VH6501。为了测试一个系统在信号干扰和故障的情况下是否仍能稳定工作,需要一个仪器来重现对象CAN干扰总线信号、总线物理属性和逻辑电位(隐形或显性),VH这是6501的功能,所以它也有一个更流行的名字——干扰仪。
图1VH6501
VH6501是将CAN/CAN FD干扰硬件和CANoe集成在网络接口卡上的设备是替代CANstress允许的高档产品为CAN/CAN FD在没有额外的网络接口和专用电缆的情况下,对一致性进行简单的测试设置。它的主要功能是数字干扰和模拟干扰,可以定制任何显性或隐性序列,也可以实现干扰CAN线对地或电源短路CAN干扰短路或改变两者之间的电容值。当然,当我们不使用它的干扰功能时,它也可以用作网络接口卡。
它的优点也很明显,相对于CANstress,VH6501可以对CAN FD干扰硬件与网络接口紧密结合USB在设备中,最突出的优点是它可以与之相匹配CANoe通过编写无缝集成CAPL脚本实现个性化测试。VH所有干扰功能必须通过6501CAPL实现,没有CAPL脚本写作能力的学生看到这里是不是很担心?别担心,不然我们怎么常说?CANoe功能强大,CANoe提供的示例项目已经提供了VH6501的功能集成好了,代码逻辑已经编译好,我们只需根据需求配置相关参数就行。下面我们就去吧bus-off例如,介绍如何实现测试VH干扰功能6501。
影响其他节点通信,以避免通信节点故障,CAN网络有严格的错误处理机制,每制CAN控制器中有一个错误的计数器(TEC)接收错误计数器(REC),根据不同的计数值,节点处于不同的错误状态,并根据计数值的变化进行状态转换。状态转换和错误计数的详细规则总结如下图所示。
图2状态转换和错误计数规则
节点进入bus-off状态后有三种恢复:一是MCU开启了CAN对于控制器的自动恢复功能,节点可以通过检测128次和11个连续隐藏位置来恢复通信,这通常被称为快速恢复。因此,我们也可以在总线空闲时间128获得最快的恢复时间×11bit,最慢的是128帧正常报纸的发送×133bit;第二种恢复是MCU没有开启CAN控制器的子回复功能不敢与总线关闭错误。节点将无法主动恢复总线通信,节点只能通过重新启动恢复;第三种恢复是我们最常用的,MCU对CAN编程控制器的恢复过程。此时,节点的恢复行为由具体的编程逻辑决定。制造商通常采用先快速恢复后慢速恢复的恢复策略。恢复过程如下图所示,因此我们需要验证快速恢复定义的时间、次数和慢速恢复时间。
图3MCU实现总线关闭恢复过程
首先我们需要按示意图搭建好测试环境;
图4连接示意图
然后打开CANoe,找到示例工程Disturbance(CAN)打开;
图5示例工程
接着需要将VH6501的CAN通道分配给工程中的软件通道CAN1.需要注意的是,使用它VH需要在硬件配置中检查6501的干扰功能Activate,如果没有勾选,那只是一张普通的接口卡。
图6通道配置和使能勾选
图7MainConfigPanel
通过Panel打开MainConfigPanel点击面板中的面板TriggerConfiguration按钮打开相应的配置面板TriggerConfigurationPanel,如果干扰所有报纸,保持默认状态;如果干扰单个报纸ID报文,需要将ID转换成二进制填充IDBase里。可根据试验要求选择干扰位置,一般选择特定的极性位置,如AckDEL这里需要注意的是,面板中设置的干扰位是实际干扰位的前者,我们想干扰AckDEL我们设置的位置是AckSlot位,旁边的TriggerOffset它可以帮助我们干扰场中特定的字节。
图8TriggerConfigurationPanel
然后我们回到主面板,点击Sequence Configuration按钮打开SequencePanel根据需要设置面板,配置波特率和插入序列片数,干扰极性AckDEL位置设置为显性Dominant,需要注意的是,需要选择将干扰设置为隐性RecessiveStress而不是Recessive,设置后点击Add Segment。
图9SequencePanel
回到主面板,确认通道信息,设置干扰次数和循环次数,如图所示CANoe工程,在Trace窗口可以看到正常的报纸。
图10干扰前Trace窗口
然后我们点击面板中的面板Enable On Device按钮开始干扰。
图11设置干扰次数和循环次数
干扰序列在触发位后连续插入,改变干扰位的显隐性特征,使其判断为错帧并发出错帧,我们将在Trace窗户看到了错误的帧,因为它进入了bus-off需要TEC计数大于255,所以每32帧错帧后,节点会根据设计快速恢复逻辑。让我们看看Trace快速恢复时间、次数和慢速恢复时间可以通过窗口报文的时差获得。
图12快恢复查看
图13慢恢复查看
我们也可以访问CANoeScope监测干扰前后的报纸波形,具体配置可参考《CANoe Scope—对总线报文进行高效分析,对比干扰前后的波形。
图14正常报文AckDEL隐性
图15干扰后报文AckDEL显性
到这里我们就完成了整个bus-off希望通过以上介绍,大家能有所收获,更多关于VH6501的功能用途需要在实际应用中解锁,下次见~