什么是CAN總線?
CAN(Controller Area Network)總線是一種用于車輛電子設(shè)備之間通信的標(biāo)準(zhǔn)協(xié)議。CAN過(guò)濾器是用來(lái)過(guò)濾CAN總線上收到的消息,從而確保只處理特定的數(shù)據(jù)幀。在CAN通信中,過(guò)濾器的配置對(duì)于性能和消息處理的準(zhǔn)確性非常重要。
什么是CAN過(guò)濾器單過(guò)濾模式?
在使用ECAN-E02的單過(guò)濾模式前,我們需要知道CAN過(guò)濾器的單過(guò)濾模式(Single Filter Mode)指的是過(guò)濾器只設(shè)置一個(gè)過(guò)濾條件。這種模式下,CAN控制器會(huì)基于該單一條件來(lái)篩選接收到的CAN消息。符合過(guò)濾條件的消息將被接收并傳遞給上層應(yīng)用處理,而不符合條件的消息則被丟棄。
主要特點(diǎn):
? 簡(jiǎn)單易用:單過(guò)濾模式通常比較簡(jiǎn)單,適用于只關(guān)心某一類消息的場(chǎng)景。
? 過(guò)濾規(guī)則簡(jiǎn)單:只有一個(gè)過(guò)濾規(guī)則,用來(lái)匹配特定的標(biāo)識(shí)符(ID),這對(duì)于應(yīng)用程序來(lái)說(shuō)可以減少?gòu)?fù)雜性。
? 性能適中:因?yàn)橹挥幸粋€(gè)過(guò)濾條件,所以單過(guò)濾模式通常不會(huì)對(duì)系統(tǒng)性能產(chǎn)生過(guò)大的負(fù)擔(dān),適合低延遲要求的應(yīng)用。
ECAN-E02的單過(guò)濾器模式
首先觀察ECAN-E02的單過(guò)濾器模式UI界面:

? CodeHigh 代表的為16-31位的數(shù),CodeLow 代表的為0-15位的數(shù)。
? 同理,MaskHigh 代表的為16-31位的數(shù),MaskLow 代表的為0-15位的數(shù)。
? ECAN-E02的過(guò)濾界面,可以通過(guò)直接點(diǎn)擊Code,Mask進(jìn)行數(shù)據(jù)的配置,1其中,對(duì)于ST這一行,RTR代表的是遠(yuǎn)程幀,ID00-ID10代表的是標(biāo)準(zhǔn)幀ID的11位,DB1[0-7]代表的是數(shù)據(jù)幀第一個(gè)字節(jié)的8位,DB2[0-7]代表的則是數(shù)據(jù)幀第二個(gè)字節(jié)的8位(由高到低,從左到右,其中“XX”代表無(wú)需設(shè)置)。
? 對(duì)于ET這一行,RTR代表的是遠(yuǎn)程幀,ID00-ID28代表的是擴(kuò)展幀ID的29位(“XX”代表無(wú)需設(shè)置)。了解了基本的配置后,我們結(jié)合測(cè)試設(shè)置進(jìn)行分析。
我們要實(shí)現(xiàn)效果“使用網(wǎng)頁(yè)配置為單過(guò)濾模式CodeHigh (Hex)配置為0x0020,CodeLow (Hex)配置為0x0008,MaskHigh (Hex)配置為0xFFCF,MaskLow (Hex)配置為0xFFF3,保存參數(shù),重啟設(shè)備;使用網(wǎng)絡(luò)調(diào)試助手連接設(shè)備通道1服務(wù)器,使用CAN分析儀連接通道1CAN接口,網(wǎng)絡(luò)調(diào)試助手僅會(huì)收到ID為奇數(shù)并且第二個(gè)數(shù)據(jù)的第四位為高的標(biāo)準(zhǔn)數(shù)據(jù)幀(例如數(shù)據(jù)位為00 08 00 00 00 00 00 00可以被接收)與ID為奇數(shù)并且ID第十七位為0第十八位為1的擴(kuò)展數(shù)據(jù)幀(例如ID50001可以接收)”。先設(shè)置好Code與Mask的值后,進(jìn)行下一步;

首先觀察可以過(guò)濾的標(biāo)準(zhǔn)數(shù)據(jù)幀,觀察ST Code Mask這三行,可以發(fā)現(xiàn),幀ID該位可以為1,因此在該位上任何數(shù)加一均為奇數(shù),所以只能收到幀ID為奇數(shù)的標(biāo)準(zhǔn)幀,接下來(lái)再觀察數(shù)據(jù)DB部分;

此時(shí)ST DB2[3]對(duì)應(yīng)的Code為1,Mask為0,代表該位必須為高位,Mask判斷該位必須為Code值。所以能接收ID為奇數(shù)并且第二個(gè)數(shù)據(jù)的第四位為高的標(biāo)準(zhǔn)數(shù)據(jù)幀(例如數(shù)據(jù)位為00 08 00 00 00 00 00 00可以被接收)。

現(xiàn)在觀察可以過(guò)濾的擴(kuò)展數(shù)據(jù)幀格式,觀察ET Code Mask三行ID00-ID28分別代表29位的擴(kuò)展幀ID格式,RTR代表的是遠(yuǎn)程幀,“XX”代表不用配置。觀察格式,首先,ID00位必須滿足,該位必須為1,其次,觀察到17位,18位對(duì)應(yīng)的Mask,也必須滿足第17位為0,第18位為高位的格式,所以ID為奇數(shù)并且ID第十七位為0第十八位為1的擴(kuò)展數(shù)據(jù)幀(例如ID50001可以接收)。
-
CAN總線
+關(guān)注
關(guān)注
145文章
1987瀏覽量
132907 -
過(guò)濾器
+關(guān)注
關(guān)注
1文章
439瀏覽量
20404 -
CAN硬件
+關(guān)注
關(guān)注
0文章
3瀏覽量
946
發(fā)布評(píng)論請(qǐng)先 登錄
STM32之CAN ---CAN ID過(guò)濾器分析
CAN過(guò)濾器的配置
CAN的過(guò)濾器
對(duì)CAN通信的過(guò)濾器配置的理解
過(guò)濾組、過(guò)濾器編號(hào)介紹
STM32 CAN過(guò)濾組、過(guò)濾器編號(hào)介紹
CN過(guò)濾器原理
STM32單片機(jī)對(duì)CAN過(guò)濾器的設(shè)置方法

過(guò)濾器的作用
STM32 CAN應(yīng)用-過(guò)濾器設(shè)置

絲扣Y過(guò)濾器
絲扣Y過(guò)濾器及過(guò)濾器測(cè)試原理簡(jiǎn)介
CAN協(xié)議的軟件過(guò)濾和硬件過(guò)濾

評(píng)論