在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

玩轉先楫CANFD外設系列之二:CAN外設的接收過濾器詳解

先楫半導體HPMicro ? 2023-08-24 08:20 ? 次閱讀

一、背景

在實際應用中,CAN總線上的數據,對于某些CAN節點來說,可能需要的數據并不多,希望收到的數據是自己關心的即可,不必要的數據過濾同時也可以減少中斷的次數,減輕CPU負荷,也可以節省數據記錄設備中的存儲空間。

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

本文闡述CAN外設,MCAN外設不在本文闡述范圍內。

CAN有16組獨立的篩選器,并沒有所謂的列表和掩碼模式的過濾器組。每個篩選器都是獨立,只要任意一組的篩濾器器滿足條件則能被接收。配置也極其簡單,只需要配置ID CODE和對應的匹配MASK位等寄存器則照樣可以實現所謂的列表和掩碼方式。

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

二、實現流程

對于篩選器來說,CAN可操作的寄存器很少,只需要三個寄存器即可實現篩選ID的效果。分別對應的名稱是ACF_XXX后綴。

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


(一)ID篩選

寄存器上主要操作ACFCTRL和ACF的CODE_MASK位(一共有29位,滿足標準幀和擴展幀)。

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

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


在can_set_filter這個API中,對于篩選器的選擇,可以這么參考。


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


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

需要注意的是:

在CAN外設當中,當MASK對應的位為0的時候,必須于IDCODE對應的位進行匹配比較,當為1的時候則忽視。

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

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

同樣在can_set_filter這個API也是這么操作。

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

需要注意的是:IDCODE和MASK的時候,必須是在CAN復位模式下才能設置。

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

在can的sample當中,注釋也特別提醒。

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


(二)標準幀和擴展幀篩選

每個篩選器還可以對標準幀和擴展幀進行篩選,主要是通過ACF寄存器的AIDEE和AIDE位進行配置。

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

AIDEE=0AIDE=x(不關心)接收標準幀和擴展幀

AIDEE=1 AIDE=0 只接收標準幀

AIDEE=1 AIDE=1 只接收擴展幀

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

在can_set_filter這個API中,也是通過判斷can_filter_id_mode_t枚舉進行判斷篩選。

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


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

在手冊中,每個篩選器都可以單獨啟用和禁用。主要通過ACF_EN配置。

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


(四)實現列表和掩碼模式效果

從上面的配置可知道:

列表模式:

IDCODE配置為需要接收的ID號,MASK配置為0,那么該篩選器就可以實現只接收一個ID的列表方式,比如:

標準幀下,IDCODE=0x21,MASK=0(全部比較)。那么該篩選器只能篩選ID為0x21這個ID。


掩碼模式:

DCODE配置為需要接收的ID號,MASK配置需要比較的位,那么該篩選器就可以實現只接收一個ID的掩碼方式,比如:

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

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


三、代碼實現

在hpm_sdk的can這個sample當中,有個測試項目就是篩選器測試,對應的是board_can_filter_test這個函數。這里使用的是內部環回模式,可以不用接外置PHY即可測試。

在函數的開頭注釋就說到兩個注意點,開發者在開發的時候需要注意。

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

1、CAN的篩選器只能在CAN復位模式下配置,建議使用can_init這個API,通過傳參代入篩選器參數,can_init這個API自動處理。否則需要需要調用can_set_filter這個API,則需要先調用can_reset進行復位。這時候也同樣需要重新設置下波特率。


2、can_filter_config_t結構體的mask成員,1代表在IDCODE對應的位忽視,0代表該位將于IDCODE比較匹配。

這個測試同樣實現了類似所謂掩碼模式和列表模式。


掩碼模式:

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

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

log可以看到:

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

列表模式:

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

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

同樣也是發送ID為0~2048的2048個消息幀,應該只能收到16個ID幀。分別是以下

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


四、總結

1、HPM6700/HPM6400/HPM6300系列產品的CAN長達16個過濾組,如果需要更多的過濾組,可以選擇HPM6200等是MCAN外設,比如hpm6200的MCAN,標準幀可以達到128個過濾組。


2、HPM6700/HPM6400/HPM6300系列產品的CAN過濾組設置相對簡單易用。


3、HPM6700/HPM6400/HPM6300系列產品的CAN過濾組的IDCODE和MASK只能在CAN復位模式下配置。建議每次配置過濾組直接調用can_init這個API。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5343

    瀏覽量

    120379
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2754

    瀏覽量

    463721
  • 總線
    +關注

    關注

    10

    文章

    2881

    瀏覽量

    88090
  • 過濾器
    +關注

    關注

    1

    文章

    429

    瀏覽量

    19614
收藏 人收藏

    評論

    相關推薦

    CAN協議的軟件過濾和硬件過濾

    過濾器來只接收特定的消息。CAN過濾分為軟件過濾和硬件過濾。往期推薦:《CH32FV
    的頭像 發表于 12-26 19:33 ?55次閱讀
    <b class='flag-5'>CAN</b>協議的軟件<b class='flag-5'>過濾</b>和硬件<b class='flag-5'>過濾</b>

    英邁儀器在線過濾器:精準過濾,守護精密分析儀器

    在精密分析儀器的使用過程中,任何微小的顆粒干擾都可能對實驗結果產生重大影響,甚至導致設備損壞。為了確保分析的準確性和儀器的長期穩定運行,Instrumax(英邁儀器)精心研發了全新的在線過濾器,為
    的頭像 發表于 12-26 14:03 ?95次閱讀

    USB音頻過濾器驅動程序安裝

    電子發燒友網站提供《USB音頻過濾器驅動程序安裝.pdf》資料免費下載
    發表于 12-19 14:28 ?0次下載
    USB音頻<b class='flag-5'>過濾器</b>驅動程序安裝

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

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

    一文理解布隆過濾器和布谷鳥過濾器

    作者:京東保險 王奕龍 最近在大促中使用到了布隆過濾器,所以本次借著機會整理下相關內容,并了解了布谷鳥過濾器,希望對后續學習的同學有啟發~ 布隆過濾器 布隆過濾器是 概率性數據結構 ,
    的頭像 發表于 11-07 10:10 ?700次閱讀
    一文理解布隆<b class='flag-5'>過濾器</b>和布谷鳥<b class='flag-5'>過濾器</b>

    CH32FV系列CAN設備過濾器配置

    簡介CAN作為總線通信協議,在總線上可能會有大量的數據包同時傳輸,適當的過濾機制可以提升數據處理的效率,節省處理器的資源。通過配置CAN過濾器定義自己的數據
    的頭像 發表于 10-11 08:03 ?283次閱讀
    CH32FV<b class='flag-5'>系列</b><b class='flag-5'>CAN</b>設備<b class='flag-5'>過濾器</b>配置

    優化TPS62097 Output過濾器

    電子發燒友網站提供《優化TPS62097 Output過濾器.pdf》資料免費下載
    發表于 10-08 11:19 ?0次下載
    優化TPS62097 Output<b class='flag-5'>過濾器</b>

    PLC工業過濾器數據采集物聯網解決方案

    換熱器的銅管,降低換熱率,影響整個冷卻系統效果。 因此往往需要加裝工業過濾器以去除原料或產品中的雜質,確保產品質量。對此,物通博聯提供PLC工業過濾器數據采集系統,以實現過濾器的智能化監控與管理,及時發現
    的頭像 發表于 09-23 10:37 ?260次閱讀
    PLC工業<b class='flag-5'>過濾器</b>數據采集物聯網解決方案

    康謀分享 | ADTF過濾器全面解析:構建、配置與數據處理應用

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

    STM32F105基于RT-Thread can過濾器怎么設置才能對擴展幀報文有效?

    STM32F105基于RT-Thread can過濾器怎么設置才能對擴展幀報文有效
    發表于 07-05 06:50

    TSMaster 中不同總線報文消息過濾的操作方式

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

    信號分析和過濾器的作用

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

    RT-Thread驅動開發指南進階篇-動手驅動未適配的外設LCD

    經過上一篇的《《RT-Thread設備驅動開發指南》基礎篇--以bsp的hwtimer設備為例》闡述,可以大致了解到RT-thread設備驅動開發的方法步驟,開發指南中的進階篇外設主要是比基礎篇
    的頭像 發表于 02-25 11:04 ?2558次閱讀
    RT-Thread驅動開發指南進階篇-動手驅動<b class='flag-5'>先</b><b class='flag-5'>楫</b>未適配的<b class='flag-5'>外設</b>LCD

    康謀技術| 揭秘汽車功能的核心——深度解讀ADTF中的過濾器

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

    請問如何在CAN通信中的每個CAN消息對象中添加過濾器

    如何在CAN通信中的每個CAN消息對象中添加過濾器
    發表于 01-18 07:59
    主站蜘蛛池模板: 四虎永久免费地址| 欧美性精品videofree| 免费的日本网站| 一级大片免费看| 婷婷成人丁香五月综合激情| 中文字幕在线观看日剧网| 嫩草影院网站入口| 天堂网中文在线最新版| 欧美色图一区二区| 欧美freesex交| 日本加勒比黑人| 狠狠色噜狠狠狠狠| 久久永久免费| 福利久久| 婷婷色激情| 最近高清免费观看视频大全| 丁香六月激情综合| 三级毛片网站| 午夜精品视频在线看| 制服丝袜在线一区| 欧美色视频日本片免费高清| 天天操天天射天天舔| 国产亚洲精品免费| 黄 色 大 片 网站| 99自拍视频| 日本乱理论片免费看| 手机福利在线观看| 伊人精品视频在线| 97国产影院| 亚洲狠狠狠一区二区三区| 美女张开大腿让男人捅| 国产三片高清在线观看| 四虎在线观看免费视频| 午夜看片在线| 在线看视频你懂的| 中国一级特黄剌激爽毛片| 亚洲一区欧美日韩| 久久久夜色精品国产噜噜| 99热这里只有精品69| 日本黄色录像视频| 国产美女亚洲精品久久久综合|