簡(jiǎn)介
32位硬件過(guò)濾器與16位硬件過(guò)濾器一樣具有兩種模式32位標(biāo)識(shí)符模式與32位屏蔽位模式。
32位和16位在使用規(guī)則上沒(méi)有太大的區(qū)別,唯一存在區(qū)別的是寄存器的ID映射區(qū)域不同,下文根據(jù)不同模式分別進(jìn)行32位硬件過(guò)濾器實(shí)例分析。
32位標(biāo)識(shí)符列表
32位標(biāo)識(shí)符模式較16位更好理解,一個(gè)CAN_FxRx寄存器不再拆分,這樣就可以更完整的過(guò)濾ID,比如16位寄存器無(wú)法的擴(kuò)展ID的第14位到第0位進(jìn)行規(guī)則匹配,而32位就可以完整限制ID過(guò)濾規(guī)則,比如下圖列舉的過(guò)濾規(guī)則:將CAN_FxR1[31:0]為0x200002,IDE為低,RTR為高,限制僅接收標(biāo)準(zhǔn)遠(yuǎn)程幀,由于為標(biāo)準(zhǔn)幀,ID通過(guò)CAN_FxR1[31:21]限制為1,綜合來(lái)看此規(guī)則訂閱CAN僅接收ID為1的標(biāo)準(zhǔn)遠(yuǎn)程幀。將CAN_FxR2[31:0]為0x400004,IDE為高,RTR為低,限制僅接收擴(kuò)展數(shù)據(jù)幀,由于為擴(kuò)展,ID通過(guò)CAN_FxR2[31:3]限制為0x80000,綜合來(lái)看此規(guī)則訂閱CAN僅接收ID為0x80000的擴(kuò)展數(shù)據(jù)幀。
32位屏蔽位模式
與16位屏蔽位模式規(guī)則一致,標(biāo)識(shí)符寄存器用來(lái)存儲(chǔ)規(guī)則,屏蔽位寄存器用于是否開(kāi)啟判斷,就不再贅述。
舉例說(shuō)明:將標(biāo)識(shí)符寄存器CAN_FxR1[31:0]為0x200000,屏蔽位寄存器CAN_FxR2[31:0]為0x200000,屏蔽位寄存器CAN_FxR2的IDE與RTR均為低,代表可以通過(guò)標(biāo)準(zhǔn)幀、擴(kuò)展幀、數(shù)據(jù)幀、遠(yuǎn)程幀,由于標(biāo)準(zhǔn)與擴(kuò)展的ID判斷的映射區(qū)域不同,分開(kāi)進(jìn)行分析。
? 標(biāo)準(zhǔn)幀解析過(guò)程:標(biāo)識(shí)符寄存器的CAN_FxR1[31:21]為1,并且屏蔽位寄存器的對(duì)應(yīng)位也為1,代表可以接收該bit位為1的標(biāo)準(zhǔn)幀ID(即僅接收標(biāo)準(zhǔn)ID為奇數(shù)的CAN幀),綜合前置調(diào)整,該配置可通過(guò)標(biāo)準(zhǔn)ID為奇數(shù)的遠(yuǎn)程幀與數(shù)據(jù)幀。
? 擴(kuò)展幀解析過(guò)程:標(biāo)識(shí)符寄存器的CAN_FxR1[31:3]為0x40000,并且屏蔽位寄存器的對(duì)應(yīng)位也為1,代表可以接收第20位bit為高的擴(kuò)展幀,比如ID為0x40000、0x4FFFF、0x7000等ID的擴(kuò)展遠(yuǎn)程幀和數(shù)據(jù)幀。
通過(guò)限制IDE位可實(shí)現(xiàn)標(biāo)準(zhǔn)ID與擴(kuò)展ID的限制,比如下面這個(gè)配置案例,限制IDE為低(標(biāo)識(shí)符寄存器的IDE映射位為低,屏蔽位寄存器的IDE映射位為高)達(dá)到限制可接受的ID類型為標(biāo)準(zhǔn)數(shù)據(jù)幀和標(biāo)準(zhǔn)遠(yuǎn)程幀兩種的效果,再加上標(biāo)準(zhǔn)幀ID的映射區(qū)數(shù)值為0x1,屏蔽位寄存器的ID映射區(qū)也為0x1,代表該限制僅接收標(biāo)準(zhǔn)ID為奇數(shù)的數(shù)據(jù)幀與遠(yuǎn)程幀。
接下來(lái)的舉例限制可接收的數(shù)據(jù)幀為標(biāo)準(zhǔn)ID為奇數(shù)的數(shù)據(jù)幀。
下圖的舉例將接收數(shù)據(jù)幀限定為擴(kuò)展ID(標(biāo)識(shí)符寄存器的IDE映射位為高,屏蔽位寄存器的IDE映射位為高),再加上擴(kuò)展幀ID的映射區(qū)數(shù)值為0x1,限定條件也為0x01,代表下圖配置僅接收擴(kuò)展ID為奇數(shù)的遠(yuǎn)程幀與數(shù)據(jù)幀。
下圖配置同時(shí)限制ID類型與幀類型,僅接收擴(kuò)展ID為奇數(shù)的數(shù)據(jù)幀。
過(guò)濾器優(yōu)先級(jí)
不少芯片支持多組CAN過(guò)濾器配置,比如CH32V307最多支持28組過(guò)濾器配置,若出現(xiàn)某個(gè)報(bào)文數(shù)據(jù)可以通過(guò)多個(gè)過(guò)濾器的過(guò)濾,則接收郵箱中存放的過(guò)濾器編號(hào)會(huì)根據(jù)過(guò)濾器的優(yōu)先級(jí)規(guī)則來(lái)決定存放哪個(gè)過(guò)濾器編號(hào),過(guò)濾器的優(yōu)先級(jí)規(guī)則如下:①所有32位的過(guò)濾器優(yōu)先級(jí)均高于16位的過(guò)濾器;②對(duì)于同寬度的過(guò)濾器,標(biāo)識(shí)符列表的過(guò)濾器優(yōu)先級(jí)高于屏蔽位模式的過(guò)濾器;③寬度和模式都一致的過(guò)濾器,編號(hào)小的過(guò)濾器優(yōu)先級(jí)更高。
相關(guān)推薦
★ CAN總線 ? 串口服務(wù)器高性能CAN-Bus總線分析儀,兼容USB2.0總線全速規(guī)范,構(gòu)成現(xiàn)場(chǎng)總線、工業(yè)控制、汽車電子網(wǎng)絡(luò)等控制節(jié)點(diǎn)。串口服務(wù)器提供串口轉(zhuǎn)網(wǎng)絡(luò)功能,能夠?qū)⒋跀?shù)據(jù)轉(zhuǎn)換成TCP/IP協(xié)議數(shù)據(jù),實(shí)現(xiàn)串口與網(wǎng)絡(luò)的雙向透明傳輸。
-
CAN
+關(guān)注
關(guān)注
57文章
2754瀏覽量
463697 -
硬件
+關(guān)注
關(guān)注
11文章
3328瀏覽量
66218 -
過(guò)濾器
+關(guān)注
關(guān)注
1文章
429瀏覽量
19612
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論