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

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

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

【教程】講解CH32FV系列32位CAN硬件過濾

億佰特物聯(lián)網(wǎng)應(yīng)用專家 ? 2024-11-08 01:05 ? 次閱讀

簡介

32位硬件過濾器與16位硬件過濾器一樣具有兩種模式32位標(biāo)識符模式與32位屏蔽位模式。

32位和16位在使用規(guī)則上沒有太大的區(qū)別,唯一存在區(qū)別的是寄存器的ID映射區(qū)域不同,下文根據(jù)不同模式分別進(jìn)行32位硬件過濾器實(shí)例分析。

32位標(biāo)識符列表

73948956-9d2a-11ef-8084-92fbcf53809c.png

32位標(biāo)識符模式較16位更好理解,一個CAN_FxRx寄存器不再拆分,這樣就可以更完整的過濾ID,比如16位寄存器無法的擴(kuò)展ID的第14位到第0位進(jìn)行規(guī)則匹配,而32位就可以完整限制ID過濾規(guī)則,比如下圖列舉的過濾規(guī)則:將CAN_FxR1[31:0]為0x200002,IDE為低,RTR為高,限制僅接收標(biāo)準(zhǔn)遠(yuǎn)程幀,由于為標(biāo)準(zhǔn)幀,ID通過CAN_FxR1[31:21]限制為1,綜合來看此規(guī)則訂閱CAN僅接收ID為1的標(biāo)準(zhǔn)遠(yuǎn)程幀。將CAN_FxR2[31:0]為0x400004,IDE為高,RTR為低,限制僅接收擴(kuò)展數(shù)據(jù)幀,由于為擴(kuò)展,ID通過CAN_FxR2[31:3]限制為0x80000,綜合來看此規(guī)則訂閱CAN僅接收ID為0x80000的擴(kuò)展數(shù)據(jù)幀。

73ac6b34-9d2a-11ef-8084-92fbcf53809c.png

32位屏蔽位模式

73b033a4-9d2a-11ef-8084-92fbcf53809c.png

與16位屏蔽位模式規(guī)則一致,標(biāo)識符寄存器用來存儲規(guī)則,屏蔽位寄存器用于是否開啟判斷,就不再贅述。
舉例說明:將標(biāo)識符寄存器CAN_FxR1[31:0]為0x200000,屏蔽位寄存器CAN_FxR2[31:0]為0x200000,屏蔽位寄存器CAN_FxR2的IDE與RTR均為低,代表可以通過標(biāo)準(zhǔn)幀、擴(kuò)展幀、數(shù)據(jù)幀、遠(yuǎn)程幀,由于標(biāo)準(zhǔn)與擴(kuò)展的ID判斷的映射區(qū)域不同,分開進(jìn)行分析。

? 標(biāo)準(zhǔn)幀解析過程:標(biāo)識符寄存器的CAN_FxR1[31:21]為1,并且屏蔽位寄存器的對應(yīng)位也為1,代表可以接收該bit位為1的標(biāo)準(zhǔn)幀ID(即僅接收標(biāo)準(zhǔn)ID為奇數(shù)的CAN幀),綜合前置調(diào)整,該配置可通過標(biāo)準(zhǔn)ID為奇數(shù)的遠(yuǎn)程幀與數(shù)據(jù)幀。

? 擴(kuò)展幀解析過程:標(biāo)識符寄存器的CAN_FxR1[31:3]為0x40000,并且屏蔽位寄存器的對應(yīng)位也為1,代表可以接收第20位bit為高的擴(kuò)展幀,比如ID為0x40000、0x4FFFF、0x7000等ID的擴(kuò)展遠(yuǎn)程幀和數(shù)據(jù)幀。

73c6bdfe-9d2a-11ef-8084-92fbcf53809c.png

通過限制IDE位可實(shí)現(xiàn)標(biāo)準(zhǔn)ID與擴(kuò)展ID的限制,比如下面這個配置案例,限制IDE為低(標(biāo)識符寄存器的IDE映射位為低,屏蔽位寄存器的IDE映射位為高)達(dá)到限制可接受的ID類型為標(biāo)準(zhǔn)數(shù)據(jù)幀和標(biāo)準(zhǔn)遠(yuǎn)程幀兩種的效果,再加上標(biāo)準(zhǔn)幀ID的映射區(qū)數(shù)值為0x1,屏蔽位寄存器的ID映射區(qū)也為0x1,代表該限制僅接收標(biāo)準(zhǔn)ID為奇數(shù)的數(shù)據(jù)幀與遠(yuǎn)程幀。

73dd3ef8-9d2a-11ef-8084-92fbcf53809c.png

接下來的舉例限制可接收的數(shù)據(jù)幀為標(biāo)準(zhǔn)ID為奇數(shù)的數(shù)據(jù)幀。

73f2b5ee-9d2a-11ef-8084-92fbcf53809c.png

下圖的舉例將接收數(shù)據(jù)幀限定為擴(kuò)展ID(標(biāo)識符寄存器的IDE映射位為高,屏蔽位寄存器的IDE映射位為高),再加上擴(kuò)展幀ID的映射區(qū)數(shù)值為0x1,限定條件也為0x01,代表下圖配置僅接收擴(kuò)展ID為奇數(shù)的遠(yuǎn)程幀與數(shù)據(jù)幀。

74005a00-9d2a-11ef-8084-92fbcf53809c.png

下圖配置同時限制ID類型與幀類型,僅接收擴(kuò)展ID為奇數(shù)的數(shù)據(jù)幀。

7404025e-9d2a-11ef-8084-92fbcf53809c.png

過濾器優(yōu)先級

不少芯片支持多組CAN過濾器配置,比如CH32V307最多支持28組過濾器配置,若出現(xiàn)某個報文數(shù)據(jù)可以通過多個過濾器的過濾,則接收郵箱中存放的過濾器編號會根據(jù)過濾器的優(yōu)先級規(guī)則來決定存放哪個過濾器編號,過濾器的優(yōu)先級規(guī)則如下:①所有32位的過濾器優(yōu)先級均高于16位的過濾器;②對于同寬度的過濾器,標(biāo)識符列表的過濾器優(yōu)先級高于屏蔽位模式的過濾器;③寬度和模式都一致的過濾器,編號小的過濾器優(yōu)先級更高。

相關(guān)推薦

74188ad0-9d2a-11ef-8084-92fbcf53809c.png★ CAN總線 ? 串口服務(wù)器高性能CAN-Bus總線分析儀,兼容USB2.0總線全速規(guī)范,構(gòu)成現(xiàn)場總線、工業(yè)控制、汽車電子網(wǎng)絡(luò)等控制節(jié)點(diǎn)。串口服務(wù)器提供串口轉(zhuǎn)網(wǎng)絡(luò)功能,能夠?qū)⒋跀?shù)據(jù)轉(zhuǎn)換成TCP/IP協(xié)議數(shù)據(jù),實(shí)現(xiàn)串口與網(wǎng)絡(luò)的雙向透明傳輸。

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

    關(guān)注

    57

    文章

    2693

    瀏覽量

    463119
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3208

    瀏覽量

    66052
  • 過濾器
    +關(guān)注

    關(guān)注

    1

    文章

    427

    瀏覽量

    19513
收藏 人收藏

    評論

    相關(guān)推薦

    STM8 CAN 總線的 IdMask 模式的講解

    CAN_Filter 寄存器的任何一進(jìn)行匹配。2、過濾器完全有效 接收到的標(biāo)識符要跟據(jù) CAN_FilterMask 寄存器指定需要匹配的
    發(fā)表于 08-19 16:28

    STM32之CAN ---CAN ID過濾器分析

    : 0x0000 0000注: 只有在設(shè)置CAN_FMR(FINIT=1),使過濾器處于初始化模式下,才能對該寄存器寫入。圖5[tr=transparent]31:14保留,
    發(fā)表于 03-16 14:14

    CAN過濾器的配置

    CAN過濾器的配置(f103 hal1.8 系列can過濾器的配置是對can接收到的報文進(jìn)行
    發(fā)表于 08-19 06:11

    CAN通信的過濾器配置的理解

    總結(jié)一些最近做項(xiàng)目對CAN通信的過濾器配置的理解;這里我使用STM32F105系列的芯片,有2路CAN,我使用的是CAN2,
    發(fā)表于 08-20 07:14

    STM32普通型芯片的CAN過濾器組

    STM32普通型芯片的 CAN 有14組過濾器組(互聯(lián)型有28組過濾器組) ,用以對接收到的幀進(jìn)行過濾。每組過濾器包括了2個可配置的32
    發(fā)表于 08-20 08:27

    過濾組、過濾器編號介紹

    一、過濾組、過濾器編號介紹 在STM32互聯(lián)型產(chǎn)品中,CAN1和CAN2分享28個過濾器組,其它STM32F103xx
    發(fā)表于 08-20 06:13

    CAN1和CAN2的28個過濾器組

    過濾器組,其它STM32F103xx系列產(chǎn)品中有14個過濾器組,用以對接收到的幀進(jìn)行過濾。每組過濾器包括了2個可配置的32
    發(fā)表于 08-20 06:33

    STM32 CAN1和CAN2的過濾器組

    過濾器組,其它STM32F103xx系列產(chǎn)品中有14個過濾器組,用以對接收到的幀進(jìn)行過濾。每組過濾器包括了2個可配置的32
    發(fā)表于 08-23 08:44

    STM32 CAN過濾組、過濾器編號介紹

    一、過濾組、過濾器編號介紹 在STM32互聯(lián)型產(chǎn)品中,CAN1和CAN2分享28個過濾器組,其它STM32F103xx
    發(fā)表于 08-23 06:51

    CAN—關(guān)于CAN過濾器的一些設(shè)置方法

    CAN過濾器配置以及常見問題總結(jié)過濾器組在具有兩個CAN的產(chǎn)品中,CAN1和CAN2分享28個
    發(fā)表于 03-08 10:23

    如何設(shè)置AT32F4xx系列CAN過濾器?

    AT32F4系列CAN過濾器配置方法
    發(fā)表于 10-23 08:01

    AT32F系列CAN過濾器使用

    AT32F系列 CAN過濾器使用演示AT32F系列CAN過濾器的使用方法。
    發(fā)表于 10-27 06:44

    STM32_CAN發(fā)送和接收過濾原理

    STM32_CAN發(fā)送和接收過濾原理介紹。
    發(fā)表于 07-22 17:04 ?9次下載

    Coral3568如何軟硬件過濾can幀及優(yōu)化?

    CAN總線調(diào)試時,根據(jù)數(shù)據(jù)的重要性,接收端可以專注于接收重要消息,提高效率。CAN報文幀是用一個標(biāo)識符或一系列標(biāo)識符來過濾的??梢允褂?b class='flag-5'>CAN
    的頭像 發(fā)表于 12-08 15:52 ?560次閱讀
    Coral3568如何軟<b class='flag-5'>硬件</b><b class='flag-5'>過濾</b><b class='flag-5'>can</b>幀及優(yōu)化?

    CH32FV系列CAN設(shè)備過濾器配置

    幀,規(guī)則之外的數(shù)據(jù)直接丟棄,此過程外設(shè)自動處理,盡量減少軟件對報文篩選的干預(yù)。本文僅適用于采用CH32F2x、CH32V2x、CH32V3x微控制器系列
    的頭像 發(fā)表于 10-11 08:03 ?168次閱讀
    <b class='flag-5'>CH32FV</b><b class='flag-5'>系列</b><b class='flag-5'>CAN</b>設(shè)備<b class='flag-5'>過濾</b>器配置