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

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

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

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

玩轉(zhuǎn)先楫CANFD外設(shè)系列之二:CAN外設(shè)的接收過(guò)濾器詳解

先楫半導(dǎo)體HPMicro ? 2023-08-24 08:20 ? 次閱讀

一、背景

在實(shí)際應(yīng)用中,CAN總線上的數(shù)據(jù),對(duì)于某些CAN節(jié)點(diǎn)來(lái)說(shuō),可能需要的數(shù)據(jù)并不多,希望收到的數(shù)據(jù)是自己關(guān)心的即可,不必要的數(shù)據(jù)過(guò)濾同時(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ú)立的篩選器,并沒(méi)有所謂的列表和掩碼模式的過(guò)濾器組。每個(gè)篩選器都是獨(dú)立,只要任意一組的篩濾器器滿足條件則能被接收。配置也極其簡(jiǎn)單,只需要配置ID CODE和對(duì)應(yīng)的匹配MASK位等寄存器則照樣可以實(shí)現(xiàn)所謂的列表和掩碼方式。

f57f33ee-4213-11ee-8e12-92fbcf53809c.png

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

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

f5994a72-4213-11ee-8e12-92fbcf53809c.png


(一)ID篩選

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

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

f5ada724-4213-11ee-8e12-92fbcf53809c.png


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


f5c6fa9e-4213-11ee-8e12-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í)候則忽視。

f5d96594-4213-11ee-8e12-92fbcf53809c.png

f60272b8-4213-11ee-8e12-92fbcf53809c.png

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

f631b2bc-4213-11ee-8e12-92fbcf53809c.png

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

f66368ac-4213-11ee-8e12-92fbcf53809c.png

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

f68c1c0c-4213-11ee-8e12-92fbcf53809c.png


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

每個(gè)篩選器還可以對(duì)標(biāo)準(zhǔn)幀和擴(kuò)展幀進(jìn)行篩選,主要是通過(guò)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ò)展幀

f6bc208c-4213-11ee-8e12-92fbcf53809c.png

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

f6ebafa0-4213-11ee-8e12-92fbcf53809c.png


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

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

f70189d8-4213-11ee-8e12-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

f732d04c-4213-11ee-8e12-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ù)的開(kāi)頭注釋就說(shuō)到兩個(gè)注意點(diǎn),開(kāi)發(fā)者在開(kāi)發(fā)的時(shí)候需要注意。

f74548f8-4213-11ee-8e12-92fbcf53809c.png

1、CAN的篩選器只能在CAN復(fù)位模式下配置,建議使用can_init這個(gè)API,通過(guò)傳參代入篩選器參數(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)了類(lèi)似所謂掩碼模式和列表模式。


掩碼模式:

f7894602-4213-11ee-8e12-92fbcf53809c.png

f7ced1cc-4213-11ee-8e12-92fbcf53809c.png

log可以看到:

f80ab7e6-4213-11ee-8e12-92fbcf53809c.png

列表模式:

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

f81a1538-4213-11ee-8e12-92fbcf53809c.png

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

f86a4bac-4213-11ee-8e12-92fbcf53809c.png


四、總結(jié)

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


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


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

聲明:本文內(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5336

    瀏覽量

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

    關(guān)注

    57

    文章

    2744

    瀏覽量

    463614
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2878

    瀏覽量

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

    關(guān)注

    1

    文章

    428

    瀏覽量

    19593
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    USB音頻過(guò)濾器驅(qū)動(dòng)程序安裝

    電子發(fā)燒友網(wǎng)站提供《USB音頻過(guò)濾器驅(qū)動(dòng)程序安裝.pdf》資料免費(fèi)下載
    發(fā)表于 12-19 14:28 ?0次下載
    USB音頻<b class='flag-5'>過(guò)濾器</b>驅(qū)動(dòng)程序安裝

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

    32位硬件過(guò)濾器實(shí)例分析。推薦閱讀:《CH32FV系列CAN設(shè)備過(guò)濾器配置》32位標(biāo)識(shí)符列表32位標(biāo)識(shí)符模式較16位更好理解,一個(gè)CAN_F
    的頭像 發(fā)表于 11-08 01:05 ?232次閱讀
    【教程】講解CH32FV<b class='flag-5'>系列</b>32位<b class='flag-5'>CAN</b>硬件<b class='flag-5'>過(guò)濾</b>

    一文理解布隆過(guò)濾器和布谷鳥(niǎo)過(guò)濾器

    作者:京東保險(xiǎn) 王奕龍 最近在大促中使用到了布隆過(guò)濾器,所以本次借著機(jī)會(huì)整理下相關(guān)內(nèi)容,并了解了布谷鳥(niǎo)過(guò)濾器,希望對(duì)后續(xù)學(xué)習(xí)的同學(xué)有啟發(fā)~ 布隆過(guò)濾器 布隆過(guò)濾器是 概率性數(shù)據(jù)結(jié)構(gòu) ,
    的頭像 發(fā)表于 11-07 10:10 ?683次閱讀
    一文理解布隆<b class='flag-5'>過(guò)濾器</b>和布谷鳥(niǎo)<b class='flag-5'>過(guò)濾器</b>

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

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

    優(yōu)化TPS62097 Output過(guò)濾器

    電子發(fā)燒友網(wǎng)站提供《優(yōu)化TPS62097 Output過(guò)濾器.pdf》資料免費(fèi)下載
    發(fā)表于 10-08 11:19 ?0次下載
    優(yōu)化TPS62097 Output<b class='flag-5'>過(guò)濾器</b>

    PLC工業(yè)過(guò)濾器數(shù)據(jù)采集物聯(lián)網(wǎng)解決方案

    換熱器的銅管,降低換熱率,影響整個(gè)冷卻系統(tǒng)效果。 因此往往需要加裝工業(yè)過(guò)濾器以去除原料或產(chǎn)品中的雜質(zhì),確保產(chǎn)品質(zhì)量。對(duì)此,物通博聯(lián)提供PLC工業(yè)過(guò)濾器數(shù)據(jù)采集系統(tǒng),以實(shí)現(xiàn)過(guò)濾器的智能化監(jiān)控與管理,及時(shí)發(fā)現(xiàn)
    的頭像 發(fā)表于 09-23 10:37 ?248次閱讀
    PLC工業(yè)<b class='flag-5'>過(guò)濾器</b>數(shù)據(jù)采集物聯(lián)網(wǎng)解決方案

    康謀分享 | ADTF過(guò)濾器全面解析:構(gòu)建、配置與數(shù)據(jù)處理應(yīng)用

    在ADTF(AutomotiveDataandTime-TriggeredFramework)中,過(guò)濾器(Filter)扮演著數(shù)據(jù)處理的核心角色。過(guò)濾器是處理數(shù)據(jù)流的基本單元,它們接收、處理并發(fā)
    的頭像 發(fā)表于 09-18 09:42 ?2514次閱讀
    康謀分享 | ADTF<b class='flag-5'>過(guò)濾器</b>全面解析:構(gòu)建、配置與數(shù)據(jù)處理應(yīng)用

    STM32F105基于RT-Thread can過(guò)濾器怎么設(shè)置才能對(duì)擴(kuò)展幀報(bào)文有效?

    STM32F105基于RT-Thread can過(guò)濾器怎么設(shè)置才能對(duì)擴(kuò)展幀報(bào)文有效
    發(fā)表于 07-05 06:50

    TSMaster 中不同總線報(bào)文消息過(guò)濾的操作方式

    TSMaster軟件平臺(tái)支持對(duì)不同總線(CAN、LIN、FlexRay)報(bào)文和信號(hào)的過(guò)濾,包括全局接收過(guò)濾、數(shù)據(jù)流過(guò)濾、窗口過(guò)濾、字符串
    的頭像 發(fā)表于 06-22 08:21 ?1510次閱讀
    TSMaster 中不同總線報(bào)文消息<b class='flag-5'>過(guò)濾</b>的操作方式

    信號(hào)分析和過(guò)濾器的作用

    在通信、電子工程、計(jì)算機(jī)科學(xué)等多個(gè)領(lǐng)域,信號(hào)分析與過(guò)濾器扮演著舉足輕重的角色。信號(hào)分析不僅涉及信號(hào)的獲取、處理、分析和判斷,更是從復(fù)雜的信號(hào)中提取有用信息,進(jìn)行精確解讀的關(guān)鍵過(guò)程。而過(guò)濾器,作為一種特定的信號(hào)處理技術(shù),則在此過(guò)程中起到了不可或缺的作用。
    的頭像 發(fā)表于 05-16 17:20 ?701次閱讀

    RT-Thread驅(qū)動(dòng)開(kāi)發(fā)指南進(jìn)階篇-動(dòng)手驅(qū)動(dòng)未適配的外設(shè)LCD

    經(jīng)過(guò)上一篇的《《RT-Thread設(shè)備驅(qū)動(dòng)開(kāi)發(fā)指南》基礎(chǔ)篇--以bsp的hwtimer設(shè)備為例》闡述,可以大致了解到RT-thread設(shè)備驅(qū)動(dòng)開(kāi)發(fā)的方法步驟,開(kāi)發(fā)指南中的進(jìn)階篇外設(shè)主要是比基礎(chǔ)篇
    的頭像 發(fā)表于 02-25 11:04 ?2515次閱讀
    RT-Thread驅(qū)動(dòng)開(kāi)發(fā)指南進(jìn)階篇-動(dòng)手驅(qū)動(dòng)<b class='flag-5'>先</b><b class='flag-5'>楫</b>未適配的<b class='flag-5'>外設(shè)</b>LCD

    康謀技術(shù)| 揭秘汽車(chē)功能的核心——深度解讀ADTF中的過(guò)濾器

    和可視化。而在ADTF軟件中,過(guò)濾器圖(如圖1 Filter Graph所示)則是至關(guān)重要的,這也是我們理解和應(yīng)用ADTF的關(guān)鍵所在。下面就讓我們深入探索過(guò)濾器圖的奧秘,揭示它在汽車(chē)功能開(kāi)發(fā)中的核心作用
    的頭像 發(fā)表于 02-04 11:18 ?554次閱讀
    康謀技術(shù)| 揭秘汽車(chē)功能的核心——深度解讀ADTF中的<b class='flag-5'>過(guò)濾器</b>圖

    CAN模塊RxBuffer接收異常要怎么處理呢?

    大的RxBuffer Idx中的CAN消息,如RxBuffer Idx = 0 的一直都能收到,RxBuffer Idx = 15的異常后就接收不到)CAN ID 過(guò)濾器的消息無(wú)法
    發(fā)表于 02-01 08:10

    AN-B-099:DA14535 減少凈排放過(guò)濾器應(yīng)用說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《AN-B-099:DA14535 減少凈排放過(guò)濾器應(yīng)用說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 01-31 10:12 ?0次下載
    AN-B-099:DA14535 減少凈排放<b class='flag-5'>過(guò)濾器</b>應(yīng)用說(shuō)明

    請(qǐng)問(wèn)如何在CAN通信中的每個(gè)CAN消息對(duì)象中添加過(guò)濾器

    如何在CAN通信中的每個(gè)CAN消息對(duì)象中添加過(guò)濾器
    發(fā)表于 01-18 07:59
    主站蜘蛛池模板: 一个人视频日本在线观看| 吃奶摸下的激烈免费视频| 日本xxx在线观看免费播放| 国产视频a在线观看v| 91av欧美| 亚洲欧美日韩另类精品一区二区三区 | 西施打开双腿下面好紧| 老阿姨才是最有V味的直播| 国产成人精品免费视频下载| 在线精品国精品国产不卡| 午夜性爽视频男人的天堂在线| 墨西哥美女主播| 九九热国产视频| 国产精品久久久久久久久无码| 99国产精品成人免费视频| 亚洲一在线| 亚洲AV无码国产精品午夜久久| 强行撕开衣服捏胸黄文| 久久婷婷电影网| 婚后被调教当众高潮H喷水| 国产成人ae在线观看网站站| 99久久精品免费看国产免费| 一本大道手机在线看| 同桌上课把奶露出来给我玩| 热re99久久精品国99热| 男人吃奶摸下弄进去好爽| 久久久精品3d动漫一区二区三区| 国产三级在线观看视频| 菲律宾毛片| 东北真实仑乱| 扒开美女嫩bbb| pkf女尸studiosxnxx| 99国内精品| 99亚偷拍自图区亚洲| 最近2018年手机中文字幕| 一二三四在线观看高清电视剧 | 久久久大香菇| 久久高清内射无套| 久久 这里只精品 免费| 黄页免费观看| 精品综合久久久久久8888|