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

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

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

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

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

簡(jiǎn)介

CAN作為總線通信協(xié)議,在總線上可能會(huì)有大量的數(shù)據(jù)包同時(shí)傳輸,適當(dāng)?shù)倪^(guò)濾機(jī)制可以提升數(shù)據(jù)處理的效率,節(jié)省處理器的資源。通過(guò)配置CAN過(guò)濾器定義自己的數(shù)據(jù)接收規(guī)則,只接收和處理符合規(guī)程的CAN數(shù)據(jù)幀,規(guī)則之外的數(shù)據(jù)直接丟棄,此過(guò)程外設(shè)自動(dòng)處理,盡量減少軟件對(duì)報(bào)文篩選的干預(yù)。

本文僅適用于采用CH32F2x、CH32V2x、CH32V3x微控制器系列的CAN設(shè)備過(guò)濾器說(shuō)明,其他微處理器也可參考本文學(xué)習(xí)。

以CH32V307為例,最多支持28組過(guò)濾器配置,可選16位或32位過(guò)濾模式,支持兩種方式過(guò)濾(屏蔽位或標(biāo)識(shí)符列表)。

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

表 16位列表模式

4ad97872-8764-11ef-bb4b-92fbcf53809c.png

RTR:1遠(yuǎn)程幀,0數(shù)據(jù)幀

IDE:1擴(kuò)展幀,0標(biāo)準(zhǔn)幀

STID:標(biāo)準(zhǔn)幀ID

EXID:擴(kuò)展幀ID

在16位標(biāo)識(shí)符列表模式下,寄存器組被拆分成四個(gè)寄存器,四個(gè)寄存器都用作標(biāo)識(shí)符寄存器。

標(biāo)準(zhǔn)ID對(duì)應(yīng)表(IDE=0)

4aff5664-8764-11ef-bb4b-92fbcf53809c.png

擴(kuò)展ID對(duì)應(yīng)表(IDE=1)

4b15a572-8764-11ef-bb4b-92fbcf53809c.png

將CAN_FxR1[15:0]、CAN_FxR1[31:16]、CAN_FxR2[15:0]、CAN_FxR2[31:16]分別配置為0xFFE0、0x0FF0、0x1009、0x101F。第一個(gè)寄存器代表僅接收ID為7FF的標(biāo)準(zhǔn)數(shù)據(jù)幀;第二個(gè)寄存器代表僅接收ID為7F的標(biāo)準(zhǔn)遠(yuǎn)程幀,第三個(gè)寄存器代表僅接收擴(kuò)展ID的28位、15位為高并且ID第27位到第16位為低的擴(kuò)展數(shù)據(jù)幀,第四個(gè)寄存器代表僅接收ID的28位、第17位到第15位為高并且第27位到第18位為低的擴(kuò)展遠(yuǎn)程幀。

4b408814-8764-11ef-bb4b-92fbcf53809c.png

按上圖配置CAN硬件過(guò)濾,僅可接收下述符合規(guī)則的CAN數(shù)據(jù)幀:

① ID為7FF的標(biāo)準(zhǔn)數(shù)據(jù)幀

② ID為7F的標(biāo)準(zhǔn)遠(yuǎn)程幀

③ ID為10008000到1000FFFF的擴(kuò)展數(shù)據(jù)幀

④ ID為10038000到1003FFFF的擴(kuò)展遠(yuǎn)程幀

16位屏蔽位模式

表 16位屏蔽位模式

4b4f69a6-8764-11ef-bb4b-92fbcf53809c.png

在16位模式下,寄存器組被拆分成四個(gè)寄存器,包含2組16位標(biāo)識(shí)符寄存器和16位屏蔽寄存器。

ID對(duì)應(yīng)關(guān)系與16位列表模式一致,只是高16位做MARK(掩碼),低16位做標(biāo)識(shí)符,掩碼位為高時(shí),代表接收CAN的幀對(duì)應(yīng)ID應(yīng)與標(biāo)識(shí)符寄存器對(duì)應(yīng)位一致(或幀格式一致),否則數(shù)據(jù)被過(guò)濾,反之不進(jìn)行該位驗(yàn)證。

以下圖為例:

4b68671c-8764-11ef-bb4b-92fbcf53809c.png

(1)將CAN_FxR1[15:0]配置位0x0020,CAN_FxR1[31:16]配置為0x0038,標(biāo)識(shí)符寄存器的IDE與RTR為低,Mark的IDE與RTR為高,代表僅接收標(biāo)準(zhǔn)數(shù)據(jù)幀。再看標(biāo)識(shí)符寄存器的STID的第0位為高,Mark也為高,代表接收奇數(shù)ID,綜合一下CAN_FxR1寄存器限制CAN僅接收ID為奇數(shù)標(biāo)準(zhǔn)數(shù)據(jù)幀。

(2)將CAN_FxR2[15:0]配置位0xFFFF,CAN_FxR2[31:16]配置為0XFFFF,標(biāo)識(shí)符寄存器的IDE與RTR為高,Mark的IDE與RTR也為高,代表僅接收擴(kuò)展遠(yuǎn)程幀。CAN_FxR2[15:5]與CAN_FxR2[2:0]都為高,代表ID從15位開(kāi)始到28位全部為高,同時(shí)對(duì)應(yīng)的Mark也為高,代表ID在0x1FFF8000-1FFFFFFF才會(huì)被接收。

相關(guān)推薦

4b8dff5e-8764-11ef-bb4b-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)容及配圖由入駐作者撰寫或者入駐合作網(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

    文章

    2694

    瀏覽量

    463122
  • 設(shè)備
    +關(guān)注

    關(guān)注

    2

    文章

    4450

    瀏覽量

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

    關(guān)注

    1

    文章

    427

    瀏覽量

    19513
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    主控寄存器)配置。但是不是什么時(shí)候都可以直接配置,在配置一個(gè)過(guò)濾器組前,必須通過(guò)清除CAN_FAR寄存器(
    發(fā)表于 03-16 14:14

    CAN過(guò)濾器配置

    CAN過(guò)濾器配置(f103 hal1.8 系列can過(guò)濾器
    發(fā)表于 08-19 06:11

    CAN過(guò)濾器

    1.前言元旦嗨了幾天,今天回來(lái)補(bǔ)一下CAN過(guò)濾器。就使用而言,實(shí)際上CAN過(guò)濾器非常簡(jiǎn)單,只需要幾個(gè)簡(jiǎn)單的參數(shù)配置,不需要學(xué)習(xí)什么郵箱F
    發(fā)表于 08-19 07:19

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

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

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

    STM32普通型芯片的 CAN 有14組過(guò)濾器組(互聯(lián)型有28組過(guò)濾器組) ,用以對(duì)接收到的幀進(jìn)行過(guò)濾。每組過(guò)濾器包括了2個(gè)可
    發(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

    STM32F103xx系列過(guò)濾器

    下面內(nèi)容為轉(zhuǎn)載:一、在STM32互聯(lián)型產(chǎn)品中,CAN1和CAN2分享28個(gè)過(guò)濾器組,其它STM32F103xx系列產(chǎn)品中有14個(gè)過(guò)濾器組,用
    發(fā)表于 08-23 07:29

    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和
    發(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

    STM32 CAN應(yīng)用-過(guò)濾器設(shè)置

    在使用STM32的CAN控制器進(jìn)行數(shù)據(jù)收發(fā),當(dāng)用到位屏蔽模式的時(shí)候,就要設(shè)置過(guò)濾器了,這個(gè)關(guān)系到是否能夠接收到想要的數(shù)據(jù)。下面針對(duì)幾種不同情況對(duì)CAN過(guò)濾器(Filter)進(jìn)行設(shè)置。
    發(fā)表于 02-10 10:00 ?3次下載
    STM32 <b class='flag-5'>CAN</b>應(yīng)用-<b class='flag-5'>過(guò)濾器</b>設(shè)置

    漢克森過(guò)濾器系列介紹

    使用。進(jìn)口濾芯和過(guò)濾器為原裝進(jìn)口,有防偽標(biāo)志。我司長(zhǎng)期為國(guó)內(nèi)各大企業(yè)貼牌生產(chǎn)各種款式的壓縮空氣精密過(guò)濾器濾芯。歡迎來(lái)電咨詢! 杭州佳潔機(jī)電設(shè)備有限公司供應(yīng)漢克森過(guò)濾器 漢克森
    發(fā)表于 03-01 08:53 ?1072次閱讀
    漢克森<b class='flag-5'>過(guò)濾器</b><b class='flag-5'>系列</b>介紹

    殺菌過(guò)濾器 滅菌過(guò)濾器 除菌過(guò)濾器

    殺菌過(guò)濾器 滅菌過(guò)濾器 除菌過(guò)濾器
    的頭像 發(fā)表于 03-03 14:03 ?2497次閱讀
    殺菌<b class='flag-5'>過(guò)濾器</b> 滅菌<b class='flag-5'>過(guò)濾器</b> 除菌<b class='flag-5'>過(guò)濾器</b>

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

    32位硬件過(guò)濾器實(shí)例分析。推薦閱讀:《CH32FV系列CAN設(shè)備過(guò)濾器
    的頭像 發(fā)表于 11-08 01:05 ?22次閱讀
    【教程】講解<b class='flag-5'>CH32FV</b><b class='flag-5'>系列</b>32位<b class='flag-5'>CAN</b>硬件<b class='flag-5'>過(guò)濾</b>