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

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

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

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

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

簡(jiǎn)介

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

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

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

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

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

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

32位屏蔽位模式

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

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

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

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

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

通過(guò)限制IDE位可實(shí)現(xiàn)標(biāo)準(zhǔn)ID與擴(kuò)展ID的限制,比如下面這個(gè)配置案例,限制IDE為低(標(biāo)識(shí)符寄存器的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

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

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

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

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

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

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

過(guò)濾器優(yōu)先級(jí)

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

相關(guān)推薦

74188ad0-9d2a-11ef-8084-92fbcf53809c.png★ CAN總線 ? 串口服務(wù)器高性能CAN-Bus總線分析儀,兼容USB2.0總線全速規(guī)范,構(gòu)成現(xiàn)場(chǎng)總線、工業(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2754

    瀏覽量

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

    關(guān)注

    11

    文章

    3328

    瀏覽量

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

    關(guān)注

    1

    文章

    429

    瀏覽量

    19612
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM8 CAN 總線的 IdMask 模式的講解

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

    STM32之CAN ---CAN ID過(guò)濾器分析

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

    CAN過(guò)濾器的配置

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

    對(duì)CAN通信的過(guò)濾器配置的理解

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

    STM32普通型芯片的CAN過(guò)濾器組

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

    過(guò)濾組、過(guò)濾器編號(hào)介紹

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

    CAN1和CAN2的28個(gè)過(guò)濾器組

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

    STM32 CAN1和CAN2的過(guò)濾器組

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

    STM32 CAN過(guò)濾組、過(guò)濾器編號(hào)介紹

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

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

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

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

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

    AT32F系列CAN過(guò)濾器使用

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

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

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

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

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

    CAN協(xié)議的軟件過(guò)濾硬件過(guò)濾

    過(guò)濾器來(lái)只接收特定的消息。CAN過(guò)濾分為軟件過(guò)濾硬件過(guò)濾。往期推薦:《
    的頭像 發(fā)表于 12-26 19:33 ?40次閱讀
    <b class='flag-5'>CAN</b>協(xié)議的軟件<b class='flag-5'>過(guò)濾</b>和<b class='flag-5'>硬件</b><b class='flag-5'>過(guò)濾</b>