CAN硬件過濾器簡介
32位CAN硬件過濾器與16位CAN硬件過濾器一樣具有兩種模式32位標(biāo)識符模式與32位屏蔽位模式。
32位和16位在使用規(guī)則上沒有太大的區(qū)別,唯一存在區(qū)別的是寄存器的ID映射區(qū)域不同,下文根據(jù)不同模式分別進(jìn)行32位硬件過濾器實(shí)例分析。
32位標(biāo)識符模式較16位更好理解,一個(gè)CAN_FxRx寄存器不在拆分,這樣就可以更完整的過濾ID,比如16位寄存器無法的擴(kuò)展ID的第14位到第0位進(jìn)行規(guī)則匹配,而32位就可以完整限制ID過濾規(guī)則,比如下圖列舉的過濾規(guī)則:
將CAN_FxR1[31:0]為0x200002,IDE為低,RTR為高,限制僅接收標(biāo)準(zhǔn)遠(yuǎn)程幀,由于為標(biāo)準(zhǔn)幀,ID通過CAN_FxR1[31:21]限制為1,綜合來看此規(guī)則訂閱CAN僅接收ID為1的標(biāo)準(zhǔn)遠(yuǎn)程幀;
將CAN_FxR2[31:0]為0x400004,IDE為高,RTR為低,限制僅接收擴(kuò)展數(shù)據(jù)幀,由于為擴(kuò)展,ID通過CAN_FxR2[31:3]限制為0x80000,綜合來看此規(guī)則訂閱CAN僅接收ID為0x80000的擴(kuò)展數(shù)據(jù)幀;
與16位屏蔽位模式規(guī)則一致,標(biāo)識符寄存器用來存儲規(guī)則,屏蔽位寄存器用于是否開啟判斷,就不再贅述。
舉例一:
將標(biāo)識符寄存器CAN_FxR1[31:0]為0x200000,屏蔽位寄存器CAN_FxR2[31:0]為0x200000,屏蔽位寄存器CAN_FxR2的IDE與RTR均為低,代表可以通過標(biāo)準(zhǔn)幀、擴(kuò)展幀、數(shù)據(jù)幀、遠(yuǎn)程幀,由于標(biāo)準(zhǔn)與擴(kuò)展的ID判斷的映射區(qū)域不同,分開進(jìn)行分析;
1. 標(biāo)準(zhǔn)幀解析過程:標(biāo)識符寄存器的CAN_FxR1[31:21]為1,并且屏蔽位寄存器的對應(yīng)位也為1,代表可以接收該bit位為1的標(biāo)準(zhǔn)幀ID(即僅接收標(biāo)準(zhǔn)ID為奇數(shù)的CAN幀),綜合前置調(diào)整,該配置可通過標(biāo)準(zhǔn)ID為奇數(shù)的遠(yuǎn)程幀與數(shù)據(jù)幀;
2. 擴(kuò)展幀解析過程:標(biāo)識符寄存器的CAN_FxR1[31:3]為0x40000,并且屏蔽位寄存器的對應(yīng)位也為1,代表可以接收第20位bit為高的擴(kuò)展幀,比如ID為0x40000、0x4FFFF、0x7000等ID的擴(kuò)展遠(yuǎn)程幀和數(shù)據(jù)幀;
通過限制IDE位可實(shí)現(xiàn)標(biāo)準(zhǔn)ID與擴(kuò)展ID的限制,比如下面這個(gè)配置案例,限制IDE為低(標(biāo)識符寄存器的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)程幀;
接下來的舉例限制可接收的數(shù)據(jù)幀為標(biāo)準(zhǔn)ID為奇數(shù)的數(shù)據(jù)幀;
下圖的舉例將接收數(shù)據(jù)幀限定為擴(kuò)展ID(標(biāo)識符寄存器的IDE映射位為高,屏蔽位寄存器的IDE映射位為高),在加上擴(kuò)展幀ID的映射區(qū)數(shù)值為0x1,限定條件也為0x01,代表下圖配置僅接收擴(kuò)展ID為奇數(shù)的遠(yuǎn)程幀與數(shù)據(jù)幀;
下圖配置同時(shí)限制ID類型與幀類型,僅接收擴(kuò)展ID為奇數(shù)的數(shù)據(jù)幀;
不少芯片支持多組CAN過濾器配置,比如CH32V307最多支持28組過濾器配置,若出現(xiàn)某個(gè)報(bào)文數(shù)據(jù)可以通過多個(gè)過濾器的過濾,則接收郵箱中存放的過濾器編號會根據(jù)過濾器的優(yōu)先級規(guī)則來決定存放那個(gè)過濾器編號,過濾器的優(yōu)先級規(guī)則如下:
1、所有32位的過濾器優(yōu)先級均高于16位的過濾器;
2、對于同寬度的過濾器,標(biāo)識符列表的過濾器優(yōu)先級高于屏蔽位模式的過濾器;
3、寬度和模式都一致的過濾器,編號小的過濾器優(yōu)先級更高;
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多CAN總線模組產(chǎn)品以及CAN總線技術(shù)資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!
相關(guān)閱讀:
1、【教程】利用ECAN-401實(shí)現(xiàn)CAN報(bào)文自定義協(xié)議轉(zhuǎn)發(fā)
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機(jī):028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號-3