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