色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

CAN外設(shè)的接收過濾器設(shè)置

331062281 ? 來源:先楫半導(dǎo)體HPMicro ? 2023-08-24 09:03 ? 次閱讀

一、背景

在實(shí)際應(yīng)用中,CAN總線上的數(shù)據(jù),對(duì)于某些CAN節(jié)點(diǎn)來說,可能需要的數(shù)據(jù)并不多,希望收到的數(shù)據(jù)是自己關(guān)心的即可,不必要的數(shù)據(jù)過濾同時(shí)也可以減少中斷的次數(shù),減輕CPU負(fù)荷,也可以節(jié)省數(shù)據(jù)記錄設(shè)備中的存儲(chǔ)空間。

從上篇文章《[玩轉(zhuǎn)先楫CANFD外設(shè)系列之一]輕松搞起CANFD》中可知道,先楫的CANFD包括了CAN和MCAN。其中HPM6700/HPM6400/HPM6300系列產(chǎn)品用的是CAN,而HPM6200系列使用的是MCAN。本文統(tǒng)稱HPM6700/HPM6400/HPM6300系列產(chǎn)品的CANFD為CAN。

本文闡述CAN外設(shè),MCAN外設(shè)不在本文闡述范圍內(nèi)。

CAN有16組獨(dú)立的篩選器,并沒有所謂的列表和掩碼模式的過濾器組。每個(gè)篩選器都是獨(dú)立,只要任意一組的篩濾器器滿足條件則能被接收。配置也極其簡(jiǎn)單,只需要配置ID CODE和對(duì)應(yīng)的匹配MASK位等寄存器則照樣可以實(shí)現(xiàn)所謂的列表和掩碼方式。

eaa69efe-4212-11ee-a2ef-92fbcf53809c.png

二、實(shí)現(xiàn)流程

對(duì)于篩選器來說,CAN可操作的寄存器很少,只需要三個(gè)寄存器即可實(shí)現(xiàn)篩選ID的效果。分別對(duì)應(yīng)的名稱是ACF_XXX后綴。

eaba7820-4212-11ee-a2ef-92fbcf53809c.png

(一)ID篩選

寄存器上主要操作ACFCTRL和ACF的CODE_MASK位(一共有29位,滿足標(biāo)準(zhǔn)幀和擴(kuò)展幀)。

接收匹配MASK的位基于IDCODE來進(jìn)行匹配。選擇哪個(gè)篩選器通過ACFCTRL寄存器的ACFADR配置,一共4bit,也就是16個(gè)篩選器。

eacfca68-4212-11ee-a2ef-92fbcf53809c.png

在can_set_filter這個(gè)API中,對(duì)于篩選器的選擇,可以這么參考。

eaf3dd0e-4212-11ee-a2ef-92fbcf53809c.png

由于IDCODE和MASK共用一個(gè)寄存器也就是ACF的CODE_MASK,在配置的時(shí)候需要選擇的是IDCODE還是MASK。這里需要用到ACFCTRL的SELMASK位。然后依次進(jìn)行對(duì)CODE_MASK賦值。

需要注意的是:

在CAN外設(shè)當(dāng)中,當(dāng)MASK對(duì)應(yīng)的位為0的時(shí)候,必須于IDCODE對(duì)應(yīng)的位進(jìn)行匹配比較,當(dāng)為1的時(shí)候則忽視。

eb16b54a-4212-11ee-a2ef-92fbcf53809c.png

eb32ce2e-4212-11ee-a2ef-92fbcf53809c.png

同樣在can_set_filter這個(gè)API也是這么操作。

eb57466e-4212-11ee-a2ef-92fbcf53809c.png

需要注意的是:IDCODE和MASK的時(shí)候,必須是在CAN復(fù)位模式下才能設(shè)置。

eb71034c-4212-11ee-a2ef-92fbcf53809c.png

在can的sample當(dāng)中,注釋也特別提醒。

eb978bb6-4212-11ee-a2ef-92fbcf53809c.png

(二)標(biāo)準(zhǔn)幀和擴(kuò)展幀篩選

每個(gè)篩選器還可以對(duì)標(biāo)準(zhǔn)幀和擴(kuò)展幀進(jìn)行篩選,主要是通過ACF寄存器的AIDEE和AIDE位進(jìn)行配置。

這里描述的大概可以這樣理解:

AIDEE=0AIDE=x(不關(guān)心)接收標(biāo)準(zhǔn)幀和擴(kuò)展幀

AIDEE=1 AIDE=0 只接收標(biāo)準(zhǔn)幀

AIDEE=1 AIDE=1 只接收擴(kuò)展幀

ebbdfe04-4212-11ee-a2ef-92fbcf53809c.png

在can_set_filter這個(gè)API中,也是通過判斷can_filter_id_mode_t枚舉進(jìn)行判斷篩選。

ebea0daa-4212-11ee-a2ef-92fbcf53809c.png

(三)篩選器組的啟用和禁用

在手冊(cè)中,每個(gè)篩選器都可以單獨(dú)啟用和禁用。主要通過ACF_EN配置。

ec1dda40-4212-11ee-a2ef-92fbcf53809c.png

(四)實(shí)現(xiàn)列表和掩碼模式效果

從上面的配置可知道:

列表模式:

IDCODE配置為需要接收的ID號(hào),MASK配置為0,那么該篩選器就可以實(shí)現(xiàn)只接收一個(gè)ID的列表方式,比如:

標(biāo)準(zhǔn)幀下,IDCODE=0x21,MASK=0(全部比較)。那么該篩選器只能篩選ID為0x21這個(gè)ID。

掩碼模式:

DCODE配置為需要接收的ID號(hào),MASK配置需要比較的位,那么該篩選器就可以實(shí)現(xiàn)只接收一個(gè)ID的掩碼方式,比如:

標(biāo)準(zhǔn)幀下,IDCODE=0x100,MASK=0x700。需要匹配的位是第十位到第八位,其他的位都不做關(guān)心,那么接收的ID范圍就是0x100~0x1ff

ec3e5ec8-4212-11ee-a2ef-92fbcf53809c.png

三、代碼實(shí)現(xiàn)

在hpm_sdk的can這個(gè)sample當(dāng)中,有個(gè)測(cè)試項(xiàng)目就是篩選器測(cè)試,對(duì)應(yīng)的是board_can_filter_test這個(gè)函數(shù)。這里使用的是內(nèi)部環(huán)回模式,可以不用接外置PHY即可測(cè)試。

在函數(shù)的開頭注釋就說到兩個(gè)注意點(diǎn),開發(fā)者在開發(fā)的時(shí)候需要注意。

ec4bc248-4212-11ee-a2ef-92fbcf53809c.png

1、CAN的篩選器只能在CAN復(fù)位模式下配置,建議使用can_init這個(gè)API,通過傳參代入篩選器參數(shù),can_init這個(gè)API自動(dòng)處理。否則需要需要調(diào)用can_set_filter這個(gè)API,則需要先調(diào)用can_reset進(jìn)行復(fù)位。這時(shí)候也同樣需要重新設(shè)置下波特率。

2、can_filter_config_t結(jié)構(gòu)體的mask成員,1代表在IDCODE對(duì)應(yīng)的位忽視,0代表該位將于IDCODE比較匹配。

這個(gè)測(cè)試同樣實(shí)現(xiàn)了類似所謂掩碼模式和列表模式。

掩碼模式:

ec753c40-4212-11ee-a2ef-92fbcf53809c.png

ecaa7e96-4212-11ee-a2ef-92fbcf53809c.png

log可以看到:

ecce965a-4212-11ee-a2ef-92fbcf53809c.png

列表模式:

在sample當(dāng)中,16個(gè)篩選器的mask都設(shè)置為0,也就是必須與idcode的所有位匹配才接收。

ecf41876-4212-11ee-a2ef-92fbcf53809c.png

同樣也是發(fā)送ID為0~2048的2048個(gè)消息幀,應(yīng)該只能收到16個(gè)ID幀。分別是以下

ed18b08c-4212-11ee-a2ef-92fbcf53809c.png

四、總結(jié)

1、HPM6700/HPM6400/HPM6300系列產(chǎn)品的CAN長(zhǎng)達(dá)16個(gè)過濾組,如果需要更多的過濾組,可以選擇HPM6200等是MCAN外設(shè),比如hpm6200的MCAN,標(biāo)準(zhǔn)幀可以達(dá)到128個(gè)過濾組。

2、HPM6700/HPM6400/HPM6300系列產(chǎn)品的CAN過濾組設(shè)置相對(duì)簡(jiǎn)單易用。

3、HPM6700/HPM6400/HPM6300系列產(chǎn)品的CAN過濾組的IDCODE和MASK只能在CAN復(fù)位模式下配置。建議每次配置過濾組直接調(diào)用can_init這個(gè)API。

審核編輯:彭菁

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

    關(guān)注

    146

    文章

    17847

    瀏覽量

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

    關(guān)注

    57

    文章

    2891

    瀏覽量

    466769
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1563

    瀏覽量

    63548
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4371

    瀏覽量

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

    關(guān)注

    1

    文章

    436

    瀏覽量

    20236
  • 先楫半導(dǎo)體
    +關(guān)注

    關(guān)注

    10

    文章

    249

    瀏覽量

    2576

原文標(biāo)題:開發(fā)者分享:[玩轉(zhuǎn)先楫CANFD外設(shè)系列之二]CAN外設(shè)的接收過濾器詳解

文章出處:【微信號(hào):HPMicro,微信公眾號(hào):先楫半導(dǎo)體HPMicro】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    機(jī)制,首先大家需要了解幾個(gè)概念。2 幾個(gè)重要的概念2.1 過濾器組STM32總共提供14個(gè)過濾器組來處理CAN接收過濾問題,每個(gè)過濾器組包含
    發(fā)表于 03-16 14:14

    CAN過濾器的配置

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

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

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

    STM32普通型芯片的CAN過濾器

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

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

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

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

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

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

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

    stm8s208的can過濾器怎么設(shè)置?

    stm8s208 的 can 過濾器怎么設(shè)置?
    發(fā)表于 10-26 08:13

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

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

    STM32單片機(jī)對(duì)CAN過濾器設(shè)置方法

    在使用STM32的CAN控制器進(jìn)行數(shù)據(jù)收發(fā),當(dāng)用到位屏蔽模式的時(shí)候,就要設(shè)置過濾器了,這個(gè)關(guān)系到是否能夠接收到想要的數(shù)據(jù)。下面針對(duì)幾種不同情況對(duì)CA
    發(fā)表于 11-28 16:25 ?1.8w次閱讀
    STM32單片機(jī)對(duì)<b class='flag-5'>CAN</b><b class='flag-5'>過濾器</b>的<b class='flag-5'>設(shè)置</b>方法

    過濾器的作用

    本視頻主要詳細(xì)介紹了過濾器的作用,分別是濾速高、過濾效果好;強(qiáng)度高、耐腐蝕;靜電作用;過濾物質(zhì);攔截;其次介紹了水龍頭過濾器的作用,最后介紹了活性炭
    的頭像 發(fā)表于 12-12 16:23 ?4.7w次閱讀

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

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

    殺菌過濾器 滅菌過濾器 除菌過濾器

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

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

    簡(jiǎn)介CAN作為總線通信協(xié)議,在總線上可能會(huì)有大量的數(shù)據(jù)包同時(shí)傳輸,適當(dāng)?shù)?b class='flag-5'>過濾機(jī)制可以提升數(shù)據(jù)處理的效率,節(jié)省處理器的資源。通過配置CAN過濾器定義自己的數(shù)據(jù)
    的頭像 發(fā)表于 10-11 08:03 ?675次閱讀
    CH32FV系列<b class='flag-5'>CAN</b>設(shè)備<b class='flag-5'>過濾器</b>配置

    解析ECAN-E02單過濾器CAN硬件過濾

    什么是CAN總線?CAN(ControllerAreaNetwork)總線是一種用于車輛電子設(shè)備之間通信的標(biāo)準(zhǔn)協(xié)議。CAN過濾器是用來過濾
    的頭像 發(fā)表于 01-16 19:35 ?306次閱讀
    解析ECAN-E02單<b class='flag-5'>過濾器</b><b class='flag-5'>CAN</b>硬件<b class='flag-5'>過濾</b>
    主站蜘蛛池模板: 打开双腿狠狠蹂躏蜜桃臀 | av狼新人开放注册区 | 日日干夜夜啪蕉视频 | 国产自产视频在线观看香蕉 | 亚洲无人区码二码三码区别图 | 男男校园园bl文全肉高h寝室 | 日韩吃奶摸下AA片免费观看 | 国产午夜久久影院 | 欧美精品熟妇乱 | 精品国产在天天线在线麻豆 | 四虎永久免费 | 国产成人免费高清激情视频 | 中文字幕亚洲无限码 | 国产精品久久久久婷婷五月色婷婷 | 欧美精品XXXXBBBB | 久久热这里面只有精品 | 午夜在线观看免费完整直播网页 | 伊人综合在线影院 | 世界第一黄暴漫画家 | 国产喷水1区2区3区咪咪爱AV | 99久热这里精品免费 | 在线亚洲中文字幕36页 | 处破女免费播放 | 久久影院中文字幕 | 日本另类z0zxhd | 99riav9 精品香蕉免费大视频 | 拔萝卜在线高清观看视频 | 越南美女内射BBWXZ | 国产精品一区二区三区四区五区 | 粉色视频午夜网站入口 | 免费高清毛片 | 91热久久免费频精品99欧美 | 日日操天天操夜夜操 | my pico未删减在线观看 | 99久久免热在线观看6 | 亚洲AV无码A片在线观看蜜桃 | 男人电影天堂手机 | 99热在线精品视频 | 日韩男明星 | 久久艹伊人 | 亚洲精品中文字幕无码A片蜜桃 |

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品