如何操作,能确保CAN协议触发正确进行ID帧过滤?

使用CAN协议触发进行ID帧过滤的触发,需要确认以下设置是否正确:

(1)触发方式设置为【普通】。

若触发方式为【自动】,即使没有符合条件的触发事件出现也会采集并显示波形。

(2)DLC的设置。

DLC不为0时,需要指定具体的数据值,此时只有同时满足帧ID和所有数据均匹配的情况下才能触发。若只筛选帧ID,不需要筛选数据时,不管该数据帧中有没有数据,将DLC设置为NONE,当该数据帧中没有数据时,需设置DLC为0。

下面是一个设置错误导致的CAN协议触发无法进行ID帧过滤的例子。

进行CAN协议信号测试,发送多个不同ID的帧,500K波特率,标准帧,8个数据位。图2.3显示总线上多个不同ID帧,如0x280,0x320,0x288,0x588。图2.4显示帧ID筛选设置,希望只显示0x280帧的数据;图2.5是显示结果,可以发现实际显示了0x288和0x588帧的数据。

图2.3总线上多个不同ID帧

图2.4帧ID筛选设置

图2.5帧ID筛选显示结果

从图2.5右下角可以看出,触发方式为【Auto】,即自动触发,而且DLC设置为8。事实上,图2.5中是【Auto】模式下超时后显示的波形及其解码数据,而非真正触发出来的波形,把触发模式改为【Normal】模式后就看不到任何波形了。另外,当DLC不为0时,需要指定具体的数据值,只有同时满足帧ID和所有数据均匹配的情况下才能触发。图2.4中设置DLC=8,而数据设置却又是默认的0,这样即使设置为【Normal】模式,也触发不了。