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

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

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

3天內不再提示

CAN外設的接收過濾器設置

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

一、背景

在實際應用中,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位等寄存器則照樣可以實現所謂的列表和掩碼方式。

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

二、實現流程

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

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

(一)ID篩選

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

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

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

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

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

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

需要注意的是:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ec1dda40-4212-11ee-a2ef-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

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

三、代碼實現

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

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

ec4bc248-4212-11ee-a2ef-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比較匹配。

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

掩碼模式:

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

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

log可以看到:

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

列表模式:

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

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

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

ed18b08c-4212-11ee-a2ef-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。

審核編輯:彭菁

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

    關注

    146

    文章

    17123

    瀏覽量

    350982
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2744

    瀏覽量

    463615
  • API
    API
    +關注

    關注

    2

    文章

    1499

    瀏覽量

    61962
  • 函數
    +關注

    關注

    3

    文章

    4327

    瀏覽量

    62569
  • 過濾器
    +關注

    關注

    1

    文章

    428

    瀏覽量

    19593
  • 先楫半導體
    +關注

    關注

    10

    文章

    214

    瀏覽量

    2102

原文標題:開發者分享:[玩轉先楫CANFD外設系列之二]CAN外設的接收過濾器詳解

文章出處:【微信號:HPMicro,微信公眾號:先楫半導體HPMicro】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

    CAN過濾器的配置

    CAN過濾器的配置(f103 hal1.8 系列)can過濾器的配置是對can接收到的報文進行
    發表于 08-19 06:11

    CAN通信的過濾器配置的理解

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

    STM32普通型芯片的CAN過濾器

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

    過濾組、過濾器編號介紹

    一、過濾組、過濾器編號介紹 在STM32互聯型產品中,CAN1和CAN2分享28個過濾器組,其它STM32F103xx系列產品中有14個
    發表于 08-20 06:13

    STM32 CAN過濾組、過濾器編號介紹

    一、過濾組、過濾器編號介紹 在STM32互聯型產品中,CAN1和CAN2分享28個過濾器組,其它STM32F103xx系列產品中有14個
    發表于 08-23 06:51

    有人知道CAN過濾器要怎么設置才有效嗎

    有人知道can過濾器要怎么設置才有效,看了好久沒看明白,這個驅動有沒有問題,有誰調通過嗎
    發表于 09-22 10:02

    CAN—關于CAN過濾器的一些設置方法

    CAN過濾器配置以及常見問題總結過濾器組在具有兩個CAN的產品中,CAN1和CAN2分享28個
    發表于 03-08 10:23

    stm8s208的can過濾器怎么設置?

    stm8s208 的 can 過濾器怎么設置?
    發表于 10-26 08:13

    STM32_CAN發送和接收過濾原理

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

    STM32單片機對CAN過濾器設置方法

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

    過濾器的作用

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

    STM32 CAN應用-過濾器設置

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

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

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

    CH32FV系列CAN設備過濾器配置

    簡介CAN作為總線通信協議,在總線上可能會有大量的數據包同時傳輸,適當的過濾機制可以提升數據處理的效率,節省處理器的資源。通過配置CAN過濾器定義自己的數據
    的頭像 發表于 10-11 08:03 ?258次閱讀
    CH32FV系列<b class='flag-5'>CAN</b>設備<b class='flag-5'>過濾器</b>配置
    主站蜘蛛池模板: 欧美16一17sex性hd| 超碰97免费人妻| 亚洲野狼综合网站| 小蝌蚪视频在线观看免费观看WWW 小货SAO边洗澡边CAO你动漫 | 我的年轻漂亮继坶三级| 日本艳妓BBW高潮一19| 欧美一级情欲片在线| 女张腿男人桶羞羞漫画| 女人18毛片| 亲嘴扒胸摸屁股视频免费网站| 欧美激情一区二区三区四区| 暖暖日本 在线 高清| 免费视频亚洲| 欧美日本高清动作片www网站| 女教师跟黑人男朋友激情过后| 免费精品美女久久久久久久久久| 美国大臿蕉香蕉大视频| 男人插女人动态图| 欧美在线视频一区| 色综合伊人色综合网站| 无码观看AAAAAAAA片| 亚洲免费人成在线视频观看| 亚洲视频在线观| 中文字幕一区中文亚洲| 99精品久久精品一区二区| AV天堂午夜精品一区| 丰满少妇69激懒啪啪无码| 国产精品一区二区AV97| 狠狠色欧美亚洲狠狠色www| 九热这里只有精品| 免费成年人在线视频| 秋霞三级理伦免费观看| 无码一区二区在线欧洲| 亚洲人成在线播放无码| 最近更新2019中文字幕免费| av免费网站不卡观看| 国产精品99久久久久久动态图| 黑人性xxx| 女张腿男人桶羞羞漫画| 挺进老师的紧窄小肉六电影完整版| 亚洲日韩视频免费观看|