STM32,CAN匯流排過濾器的設定詳細講解

2021-07-27 22:09:01 字數 1089 閱讀 6316

遮蔽位模式:

在遮蔽位模式下,識別符號暫存器和遮蔽暫存器一起,指定報文識別符號的任何一位,應該按照「必須匹配」和「不用關心」處理。
識別符號列表模式:

在識別符號列表模式下,遮蔽暫存器也被當做識別符號暫存器用。因此,不是採用乙個識別符號加乙個遮蔽位的方式,而是採用兩個識別符號暫存器。接收報文的每一位都必須跟過濾器識別符號相同。
stm32普通型晶元的 can 有14組過濾器組(互聯型有28組過濾器組) ,用以對接收到的

幀進行過濾。每組過濾器包括了2個可配置的32位暫存器:can_fxr0和 can_fxr1。

對於過濾器組, 可以將其配置成遮蔽位模式, 這樣 can_fxr0中儲存的就是識別符號匹配值,

can_fxr1中儲存的是遮蔽碼,即 can_fxr1中如果某一位為1,則 can_fxr0中相應

的位必須與收到的幀的標誌符中的相應位吻合才能通過過濾器; can_fxr1中為0的位表

示 can_fxr0中的相應位可不必與收到的幀進行匹配。 過濾器組還可以被配置成識別符號列

表模式,此時 can_fxr0和 can_fxr1中的都是要匹配的識別符號,收到的幀的識別符號必

須與其中的乙個吻合才能通過過濾。

一般我們用的都是普通型的,所以在本文中可以說 stm32有14組過濾器組。

根據配置,每1組過濾器組可以有1個,2個或4個過濾器。

這些過濾器相當於關卡,每當收到一條報文時,can 要先將收到的報文從這些過濾器上」

過」一下,能通過的報文是有效報文,收進 fifo,不能通過的是無效報文(不是發給」我」

的報文),直接丟棄。

所有的過濾器是併聯的,即乙個報文只要通過了乙個過濾器,就是算是有效的。

每組過濾器組有兩種工作模式:識別符號列表模式和識別符號遮蔽位模式。

每組過濾器組必須關聯且只能關聯乙個 fifo。復位預設都關聯到 fifo_0。

所謂「關聯」是指假如收到的報文從某個過濾器通過了,那麼該報文會被存到該過濾器相連

的 fifo。

從另一方面來說,每個 fifo 都關聯了一串的過濾器組,兩個 fifo 剛好瓜分了所有的過

濾器組。

stm32 CAN過濾器組

在互聯型產品中,can1和can2分享28個過濾器組 其它stm32f103xx系列產品中有14個過濾器組 位寬設定 四種配置方式 1個32位的遮蔽位模式 2個32位的識別符號列表模式,可以過濾2個識別符號id 2個16位的遮蔽位模式 4個16位的識別符號列表模式,可以過濾4個標準識別符號id 擴充...

STM32 CAN匯流排識別符號過濾器難點解析

can匯流排是目前應用非常多的一種匯流排,在汽車電子,航空航天中應用廣泛,博主用的是戰艦的stm32開發板。can的介紹和功能特點就不講了,書本上網上都有,請大家在閱讀本文前了解can匯流排協議的特點和功能。今天博主將和大家共同學習can匯流排識別符號過濾器的使用 非常重要!請認真讀這段話 來自st...

關於STM32 CAN的過濾器 濾波器

1.在設定cantxmsg.stdid時注意需要將其右移一位,比如如下濾波器配置 can filterinitstructure.can filternumber 0 can filterinitstructure.can filtermode can filtermode idmask can f...