如何操作,能確保CAN協(xié)議觸發(fā)正確進(jìn)行ID幀過濾?
使用CAN協(xié)議觸發(fā)進(jìn)行ID幀過濾的觸發(fā),需要確認(rèn)以下設(shè)置是否正確:
(1)觸發(fā)方式設(shè)置為【普通】。
若觸發(fā)方式為【自動(dòng)】,即使沒有符合條件的觸發(fā)事件出現(xiàn)也會(huì)采集并顯示波形。
(2)DLC的設(shè)置。
DLC不為0時(shí),需要指定具體的數(shù)據(jù)值,此時(shí)只有同時(shí)滿足幀ID和所有數(shù)據(jù)均匹配的情況下才能觸發(fā)。若只篩選幀ID,不需要篩選數(shù)據(jù)時(shí),不管該數(shù)據(jù)幀中有沒有數(shù)據(jù),將DLC設(shè)置為NONE,當(dāng)該數(shù)據(jù)幀中沒有數(shù)據(jù)時(shí),需設(shè)置DLC為0。
下面是一個(gè)設(shè)置錯(cuò)誤導(dǎo)致的CAN協(xié)議觸發(fā)無法進(jìn)行ID幀過濾的例子。
進(jìn)行CAN協(xié)議信號(hào)測試,發(fā)送多個(gè)不同ID的幀,500K波特率,標(biāo)準(zhǔn)幀,8個(gè)數(shù)據(jù)位。圖2.3顯示總線上多個(gè)不同ID幀,如0x280,0x320,0x288,0x588。圖2.4顯示幀ID篩選設(shè)置,希望只顯示0x280幀的數(shù)據(jù);圖2.5是顯示結(jié)果,可以發(fā)現(xiàn)實(shí)際顯示了0x288和0x588幀的數(shù)據(jù)。
圖2.3總線上多個(gè)不同ID幀
圖2.4幀ID篩選設(shè)置
圖2.5幀ID篩選顯示結(jié)果
從圖2.5右下角可以看出,觸發(fā)方式為【Auto】,即自動(dòng)觸發(fā),而且DLC設(shè)置為8。事實(shí)上,圖2.5中是【Auto】模式下超時(shí)后顯示的波形及其解碼數(shù)據(jù),而非真正觸發(fā)出來的波形,把觸發(fā)模式改為【Normal】模式后就看不到任何波形了。另外,當(dāng)DLC不為0時(shí),需要指定具體的數(shù)據(jù)值,只有同時(shí)滿足幀ID和所有數(shù)據(jù)均匹配的情況下才能觸發(fā)。圖2.4中設(shè)置DLC=8,而數(shù)據(jù)設(shè)置卻又是默認(rèn)的0,這樣即使設(shè)置為【Normal】模式,也觸發(fā)不了。