|
stm32CAN濾波器設(shè)置見附件。
1 前言
在CAN協(xié)議里,報(bào)文的標(biāo)識(shí)符不代表節(jié)點(diǎn)的地址,而是跟報(bào)文的內(nèi)容相關(guān)的。因此,發(fā)送者以廣播的形式把報(bào)文發(fā)送給所有的接收者。節(jié)點(diǎn)在接收?qǐng)?bào)文時(shí),根據(jù)標(biāo)識(shí)符(CAN ID)的值決定軟件是否需要該報(bào)文;如果需要,就拷貝到SRAM里;如果不需要,報(bào)文就被丟棄且無需軟件的干預(yù)。
為滿足這一需求,bxCAN為應(yīng)用程序提供了14個(gè)位寬可變的、可配置的過濾器組(13~0),以便只接收那些軟件需要的報(bào)文。硬件過濾的做法節(jié)省了CPU開銷,否則就必須由軟件過濾從而占用一定的CPU開銷。每個(gè)過濾器組x由2個(gè)32位寄存器,CAN_FxR0和CAN_FxR1組成。
為了讓大家了解STM32的bxCAN的接收過濾機(jī)制,首先大家需要了解幾個(gè)概念。
2 幾個(gè)重要的概念
2.1 過濾器組
STM32總共提供14個(gè)過濾器組來處理CAN接收過濾問題,每個(gè)過濾器組包含兩個(gè)32位寄存器CAN_FxR0和CAN_FxR1組成,在設(shè)置為屏蔽位模式下,其中一個(gè)作為標(biāo)識(shí)符寄存器,另一個(gè)作為屏蔽碼寄存器。過濾器組中的每個(gè)過濾器,編號(hào)(叫做過濾器號(hào))從0開始,到某個(gè)最大數(shù)值(這時(shí)最大值并非13,而是取決于14個(gè)過濾器組的模式和位寬的設(shè)置,當(dāng)全部配置為位寬為16,且為標(biāo)識(shí)符列表模式時(shí),最大編號(hào)為14*4-1=55)。
2.2 過濾器的過濾模式
STM32提供兩種過濾模式供用戶設(shè)置:屏蔽位模式和標(biāo)識(shí)符列表模式。
2.2.1 屏蔽位模式
為了過濾出一組標(biāo)識(shí)符,應(yīng)該設(shè)置過濾器組工作在屏蔽位模式。
在屏蔽位模式下,標(biāo)識(shí)符寄存器和屏蔽寄存器一起,指定報(bào)文標(biāo)識(shí)符的任何一位,應(yīng)該按照“必須匹配”或“不用關(guān)心”處理。
2.2.2 標(biāo)識(shí)符列表模式
為了過濾出一個(gè)標(biāo)識(shí)符,應(yīng)該設(shè)置過濾器組工作在標(biāo)識(shí)符列表模式。
在標(biāo)識(shí)符列表模式下,屏蔽寄存器也被當(dāng)作標(biāo)識(shí)符寄存器用。因此,不是采用一個(gè)標(biāo)識(shí)符加一個(gè)屏蔽位的方式,而是使用2個(gè)標(biāo)識(shí)符寄存器。接收?qǐng)?bào)文標(biāo)識(shí)符的每一位都必須跟過濾器標(biāo)識(shí)符相同。
2.3 過濾器的位寬
每個(gè)過濾器組的位寬都可以獨(dú)立配置,以滿足應(yīng)用程序的不同需求。根據(jù)位寬的不同,每個(gè)過濾器組可提供:
●1個(gè)32位過濾器,包括:STDID[10:0]、EXTID[17:0]、IDE和RTR位
●2個(gè)16位過濾器,包括:STDID[10:0]、IDE、RTR和EXTID[17:15]位
2.3 過濾器組的過濾模式和位寬設(shè)置
過濾器組可以通過相應(yīng)的CAN_FMR寄存器(CAN過濾器主控寄存器)配置。但是不是什么時(shí)候都可以直接配置,在配置一個(gè)過濾器組前,必須通過清除CAN_FAR寄存器(CAN過濾器激活寄存器)的FACT位,把它設(shè)置為禁用狀態(tài)。然后才能設(shè)置或設(shè)置過濾器組的配置。
• 通過設(shè)置CAN_FS1R(CAN過濾器位寬寄存器)的相應(yīng)FSCx位,可以配置一個(gè)過濾器組的位寬。
• 通過CAN_FM1R(CAN過濾器模式寄存器)的FBMx位,可以配置對(duì)應(yīng)的屏蔽/標(biāo)識(shí)符寄存器的標(biāo)識(shí)符列表模式或屏蔽位模式。(見后續(xù)3.2節(jié))
應(yīng)用程序不用的過濾器組,應(yīng)該保持在禁用狀態(tài)。
關(guān)于過濾器配置,可參見下圖:
0.png (168.2 KB, 下載次數(shù): 67)
下載附件
2018-7-19 02:16 上傳
完整的Word格式文檔51黑下載地址:
STM32之CAN---CAN ID過濾器分析.docx
(629.71 KB, 下載次數(shù): 80)
2018-7-18 19:22 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|