0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于CAN濾波器相關(guān)的內(nèi)容

我快閉嘴 ? 來源:玩轉(zhuǎn)嵌入式 ? 作者:玩轉(zhuǎn)嵌入式 ? 2022-09-08 09:39 ? 次閱讀
大家好,我是小舒,今天和大家分享一下CAN濾波器相關(guān)的內(nèi)容,濾波器主要用來設(shè)置CAN的接收ID,當CAN總線上所掛接的節(jié)點較多,數(shù)據(jù)量較大的話,對單節(jié)點的接收判斷可能造成較大的壓力、占用較多的資源。為了解決這個問題,可以通過設(shè)置濾波器實現(xiàn)只接收特定ID。ST系列單片機的濾波器設(shè)置非常繞,很容易把自己繞暈了,下面以STM8為例和大家分享一下。注意,此文需要看多遍。

前言

在CAN協(xié)議里,報文的標識符不代表節(jié)點的地址,而是跟報文的內(nèi)容相關(guān)的。因此,發(fā)送者以廣播的形式把報文發(fā)送給所有的接收者。節(jié)點在接收報文時,根據(jù)標識符的值決定軟件是否需要該報文;如果需要,就拷貝到RAM里;如果不需要,報文就被丟棄且無需軟件的干預(yù)。為滿足這一需求,beCAN為應(yīng)用程序提供了個可配置的、位寬可變的6個(0-5)過濾器組,用于只接收那些軟件需要的報文。硬件過濾的做法節(jié)省了CPU開銷,否則就必須由軟件進行過濾,從而占用一定的CPU資源。

濾波器設(shè)置

濾波器設(shè)置包括下面幾個寄存器:CAN濾波模式寄存器1 (CAN_FMR1)和CAN濾波模式寄存器2(CAN_FMR2)、CAN濾波配置寄存器1 (CAN_FCR1)、CAN濾波配置寄存器2 (CAN_FCR2)和CAN濾波配置寄存器3 (CAN_FCR3),CAN濾波組i寄存器x (CAN_FiRx) (i = 0 .. 5, x = 1 .. 8)。濾波模式寄存器用于設(shè)置濾波器為標識符列表模式和掩碼模式,濾波配置寄存器用于開啟或關(guān)閉濾波器和濾波器的寬度設(shè)置,濾波組用于具體濾波設(shè)置。6個可配置的位寬可變的過濾器組,通過FSCx0(x=1..6)和FSCx1(x=1..6)設(shè)置濾波寬度,046110fc-2f06-11ed-ba43-dac502259ad0.jpg就32位濾波器設(shè)置進行解讀,CAN報文分為標準幀和擴展幀,標準幀ID11位,擴展幀29位,ID與濾波配置映射關(guān)系如上表所示,如濾波模式設(shè)置可知可以分為兩個ID或者一個ID+Mask。當需要過濾某一段ID時,使用ID+Mask模式,當過濾具體ID時直接使用ID模式即可。

如果我的擴展id是0x12345678 ;想只接收0x12xxxxxx的標識符號,該如何設(shè)置濾波器,此處采用32位濾波器0進行濾波配置,因此FSC00 = 1;FSC01 = 1;FMH0 = 0;FML0 = 0;擴展id為0x12345678 (0001,0010,0011,0100,0101,0110,0111,1000)將擴展幀ID填入CAN幀ID格式中048bd2ec-2f06-11ed-ba43-dac502259ad0.jpgRTR位我們設(shè)置為0表示數(shù)據(jù)幀,IDE位設(shè)置為1表示擴展ID,因為我們的ID是29位的,所以RTR = 0;IDE = 1;在濾波器中填充如下:04992190-2f06-11ed-ba43-dac502259ad0.jpg如果要關(guān)心到具體的某一個比特位置;如果要過濾讓它只接收0x12xxxxxx的表示符號;這時候要根據(jù)它實際在identify中的位置去修改idmask ; 前八個比特,對應(yīng)的就是黃色和綠色的部分,所以其他的顏色,可以都填0表示不需要關(guān)心,則這里填入:1 1 1 1 ,1 x x x,我們這里填0xF8 ;CAN_F0R1 = 0x91; CAN_F0R2 = 0x00; CAN_F0R3 = 0x00; CAN_F0R4 = 0x00;CAN_F0R5 = 0x91; CAN_F0R6 = 0x00; CAN_F0R7 = 0x00; CAN_F0R8 = 0x00;同理,對于下面的配置是只接收標準id= 0x321(0011,0010,0001)的ID(也是32位過濾器),因為也是數(shù)據(jù)幀,所以RTR = 0,標準的id,所以IDE = 0 ;所以填入到:04b23a40-2f06-11ed-ba43-dac502259ad0.jpgCAN_F0R1 = 0x64; CAN_F0R2 = 0x20; CAN_F0R3 = 0x00; CAN_F0R4 = 0x00;CAN_F0R5 = 0xFF; CAN_F0R6 = 0xE0; CAN_F0R7 = 0x00; CAN_F0R8 = 0x00;設(shè)置過濾器0只接收ID為0x1828A0EF和0x1828A0EE的數(shù)據(jù)幀。(工作在標識符列表模式)首先我們把這兩個ID寫成二進制:0x1828A0EF:0001 1000 0010 1000 1010 0000 1110 11110x1828A0EE:0001 1000 0010 1000 1010 0000 1110 1110然后我們將0x1828A0EF二進制的格數(shù)據(jù)組成如上圖mapping所示的格式Can_fxr1:1100 0001 0xc1Can _fxr2:0100 1001 0x49 //這里有個RTR位我們設(shè)置為0表示數(shù)據(jù)幀,IDE位設(shè)置為1表示擴展ID,Can _fxr3:0100 0001 0x41Can _fxr4:1101 1110 0xDE這時我們工作在標識符列表模式,identifier/Mask的寄存器相當于identifier使用。再將0x1828A0EE二進制的格數(shù)據(jù)組成如上圖mapping所示的格式Can _fxr5:1100 0001 0xc1Can _fxr6:0100 1001 0x49 //這里有個RTR位我們設(shè)置為零表示數(shù)據(jù)幀,IDE設(shè)置為1表示擴展IDCan _fxr7:0100 0001 0x41Can _fxr8:1101 1100 0xDC04bed3cc-2f06-11ed-ba43-dac502259ad0.jpg16位配置模式也經(jīng)常使用,如CAN網(wǎng)絡(luò)管理中往往涉及到網(wǎng)絡(luò)管理ID-0x4xx,因此需要利用ID和Mask模式,其余的采用ID模式,可以建立濾波器設(shè)置寄存器數(shù)組.
0x400網(wǎng)段,0x330,0x3200x400: 展開 0000 0100 0000 0000,采用標準幀數(shù)據(jù)幀格式0x330: 展開 0000 0011 0011 00000x320: 展開 0000 0011 0010 0000CAN_F0R1: 100 0000 0  0x80CAN_F0R2: 000 00 000  0x00CAN_F0R3: 111 0000 0  0xE0CAN_F0R4: 00000000   0x00CAN_F0R5: 011 0011 0  0x66CAN_F0R6: 00000000    0x00CAN_F0R7: 011 0010 0   0x64CAN_F0R8: 00000000    0x00FSC00 = 0; FSC01 = 1; FMH0 = 1; FML0 = 0; FACT0 = 1;
04cd21ca-2f06-11ed-ba43-dac502259ad0.jpg04e278a4-2f06-11ed-ba43-dac502259ad0.jpg在以往的項目中用過多個品牌的單片機,包括國產(chǎn)的,一直感覺ST的濾波器設(shè)置比較麻煩,每次用到的時候都要花較長時間去回憶。 審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635410
  • 濾波器
    +關(guān)注

    關(guān)注

    161

    文章

    7817

    瀏覽量

    178150
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2754

    瀏覽量

    463730

原文標題:STM8單片機CAN濾波器的設(shè)置

文章出處:【微信號:玩轉(zhuǎn)嵌入式,微信公眾號:玩轉(zhuǎn)嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    低通濾波器設(shè)計

    低通濾波器設(shè)計內(nèi)容有:低通濾波器的基本電路和方程,低通勃脫華濾波器,二階低通勃脫華斯濾波器,低通契比雪夫
    發(fā)表于 12-01 12:39 ?85次下載
    低通<b class='flag-5'>濾波器</b>設(shè)計

    高通濾波器設(shè)計

    高通濾波器設(shè)計內(nèi)容有:高通濾波器的基本電路和方程,二階高通勃脫華斯濾波器,四階高通濾波器,二階高通濾波器
    發(fā)表于 12-01 12:42 ?103次下載
    高通<b class='flag-5'>濾波器</b>設(shè)計

    帶通濾波器設(shè)計

    帶通濾波器設(shè)計內(nèi)容有:二階帶通濾波器的基本電路和方程,二階VCVS帶通濾波器,二階多路所饋帶通濾波器,二階正反饋帶通
    發(fā)表于 12-01 12:45 ?1047次下載
    帶通<b class='flag-5'>濾波器</b>設(shè)計

    濾波器相關(guān)常識

    濾波器相關(guān)常識1、額定電壓額定電壓是指在規(guī)定頻率及工作溫度范圍內(nèi)可以連續(xù)施加在濾波器上的最高電壓值。2、 額定電流額定電流是指在規(guī)定頻率及電壓下,環(huán)境溫
    發(fā)表于 05-14 00:47 ?24次下載

    濾波器基本知識

    教學(xué)用ppt介紹關(guān)于濾波器的基本知識以及常用濾波器!
    發(fā)表于 12-31 10:54 ?0次下載

    關(guān)于濾波器的作用相關(guān)知識概述

    濾波器,顧名思義,是一種對波進行過濾的器件,但濾波器多種多樣,每一種濾波器各自都有什么作用呢,今天文章就帶你走進“你所不知的濾波器的作用”這個世界。
    發(fā)表于 04-29 16:10 ?1.6w次閱讀

    關(guān)于聲波濾波器集成化的講義,聲波濾波器如何集成

    聲波濾波器如何集成?我們今天一起來學(xué)習(xí)一篇關(guān)于聲波濾波器集成化的講義——《SiP/SoC Integration of RF SAW/BAW Filters》。
    發(fā)表于 09-26 12:41 ?1093次閱讀

    帶通濾波器的概念及相關(guān)介紹

    帶通濾波器的概念及相關(guān)介紹,信號處理中的帶阻濾波器(英語:Band-stopfilter或band-rejection filter)是指能通過大多數(shù)頻率分量、但將某些范圍的頻率分量衰減到極低
    發(fā)表于 01-29 09:27 ?4次下載

    高斯響應(yīng)濾波器設(shè)計

    這是一篇關(guān)于模擬高斯濾波器設(shè)計的經(jīng)典文章,發(fā)表于1959年1月的《電氣通信》雜志上。此篇文章引用度比較高,而且內(nèi)容非常詳實,包含了高斯濾波器綜合和實現(xiàn)的整個過程,文章中也討論了有限Q值
    的頭像 發(fā)表于 05-11 11:54 ?1818次閱讀
    高斯響應(yīng)<b class='flag-5'>濾波器</b>設(shè)計

    3端子濾波器&amp;共模濾波器相關(guān)推文

    (MEA系列) (ACM12系列) 原文標題:3端子濾波器&共模濾波器相關(guān)推文 文章出處:【微信公眾號:TDK中國】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
    的頭像 發(fā)表于 05-11 20:16 ?552次閱讀
    3端子<b class='flag-5'>濾波器</b>&amp;共模<b class='flag-5'>濾波器</b><b class='flag-5'>相關(guān)</b>推文

    最適合CAN FD的共模濾波器

    振鈴影響的CAN-FD應(yīng)用進行了優(yōu)化的產(chǎn)品。 關(guān)于振鈴 振鈴產(chǎn)生原因 最適合CAN FD的共模濾波器 支持CAN FD的CMC ACT121
    的頭像 發(fā)表于 08-22 11:37 ?2073次閱讀
    最適合<b class='flag-5'>CAN</b> FD的共模<b class='flag-5'>濾波器</b>

    STM8單片機CAN濾波器的設(shè)置

    STM8單片機CAN濾波器的設(shè)置
    的頭像 發(fā)表于 10-17 14:50 ?2451次閱讀
    STM8單片機<b class='flag-5'>CAN</b><b class='flag-5'>濾波器</b>的設(shè)置

    CAN濾波器

    CAN濾波器
    發(fā)表于 04-14 10:07 ?0次下載

    關(guān)于BAW與SAW RF濾波器

    關(guān)于BAW與SAW RF濾波器
    的頭像 發(fā)表于 11-24 14:31 ?1189次閱讀
    <b class='flag-5'>關(guān)于</b>BAW與SAW RF<b class='flag-5'>濾波器</b>

    陷波濾波器相關(guān)知識

    System)來簡單討論一下陷波濾波器(Notch Filter)和梳狀濾波器(Comb Filter),通過代碼的演示和輸出,我們可以比較一下這兩類濾波器的特點。在本文中我們先以陷波濾波器
    的頭像 發(fā)表于 06-13 10:16 ?1023次閱讀
    陷波<b class='flag-5'>濾波器</b>的<b class='flag-5'>相關(guān)</b>知識