欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: stm32 CAN濾波器設置教程 [打印本頁]

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


完整的Word格式文檔51黑下載地址:
STM32之CAN---CAN ID過濾器分析.docx (629.71 KB, 下載次數(shù): 80)



作者: wijop    時間: 2019-10-21 18:34
謝謝分享
作者: wijop    時間: 2019-10-21 18:34
謝謝樓主分享




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1