跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1H系列
  4. 云途HA系列 接收140个ID离散的CANFD报文 filters配置

云途HA系列 接收140个ID离散的CANFD报文 filters配置

已定时 已固定 已锁定 已移动 YTM32B1H系列
can
10 帖子 2 发布者 339 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • gaoShengG 离线
    gaoShengG 离线
    gaoSheng
    写于 最后由 编辑
    #1

    如题,如果我需要使用如果我需要用HA接收140个ID不连续的CANFD报文。
    是不是可以把filterScheme设置成FLEXCAN_ENAHNCE_RXFIFO_FSCH_DOUBLE_FILTER(双ID过滤)
    num_id_filters设为FLEXCAN_RX_FIFO_ID_FILTERS_72
    fa53c55e-928f-45b1-82a3-0f3761f6df31-b0b47346997da3dc4bbd3e0aa64ea4e.png

    7e2fdabb-d4c9-4fbd-a7cb-81a9d4e40749-a5ff4e4f34c9383582778872c89cfbb.png 另外,还有别的需要注意的地方吗

    1 条回复 最后回复
    0
    • yt0069Y 离线
      yt0069Y 离线
      yt0069
      写于 最后由 编辑
      #2

      可以参考yct工具里的demo来修改:
      ce57a471-1659-43f4-a5bd-f3faf2ec8435-image.png
      当使能enhance fifo时,legacy fifo无效,enhance fifo和legacy fifo不能同时开启。
      即当.is_enhance_rx_fifo_needed = true时,.num_id_filters = FLEXCAN_RX_FIFO_ID_FILTERS_8参数无用途,enhance fifo的配置参数包含以下:

               bool is_enhance_rx_fifo_needed;                 /*!< 1 if needed; 0 if not. This controls whether the use legecy Rx FIFO or enhance Rx FIFO. */
               uint32_t num_enhance_rx_fifo_filters;           /*!< The number of enhance rx fifo filters needed */
               uint32_t num_enhance_rx_fifo_extid_filters;     /*!< The number of enhance rx fifo filters needed for extended id */  
               uint32_t num_enhance_rx_fifo_min_messages;~
      

      52fe6925-e613-4ea9-869d-6cdad3750914-image.png

      如果是140个不连续的标准帧ID,可以配置如下:

           .is_enhance_rx_fifo_needed=true,
          .num_enhance_rx_fifo_filters=140,
          .num_enhance_rx_fifo_extid_filters=0,
          .num_enhance_rx_fifo_min_messages=10,
      

      另外图片中的配置.max_num_mb有错误
      应该配置为.max_num_mb = 128,这里需要填写该路CAN具备的最大的mailbox个数

      gaoShengG 3 条回复 最后回复
      0
      • yt0069Y 离线
        yt0069Y 离线
        yt0069
        写于 最后由 编辑
        #3

        补充一下:在使用enhance fifo时注意勘误手册中的勘误信息E0017 FlexCAN,详细参考

        image.png
        5d9d0198-7a21-4436-9cdf-349f28181e36-image.png

        1 条回复 最后回复
        0
        • gaoShengG 离线
          gaoShengG 离线
          gaoSheng
          在 回复了 yt0069 最后由 编辑
          #4

          yt0069 谢谢大佬您的回复

          1 条回复 最后回复
          0
          • gaoShengG 离线
            gaoShengG 离线
            gaoSheng
            在 回复了 yt0069 最后由 编辑
            #5

            yt0069 大佬你好,请教一下。.num_enhance_rx_fifo_filters值设的140.这个filters的范围是什么。我看YCT工具中似乎只能设置成最大1289433af9d-ba38-4a3c-a18b-b0cbeceef6f0-image.png

            .num_enhance_rx_fifo_filters=140,
            

            还有如果我使用filters的值是140,是不是filterScheme可以直接选传统Filter+MASK组合FLEXCAN_ENAHNCE_RXFIFO_FSCH_FILTER_MASK
            即

               .filterScheme = FLEXCAN_ENAHNCE_RXFIFO_FSCH_FILTER_MASK,
            

            我的理解是.num_enhance_rx_fifo_filters是不是设为72.然后filterScheme选用两个固定的ID Fliter
            即

            .num_enhance_rx_fifo_filters=72,
            ~~~
             .filterScheme = FLEXCAN_ENAHNCE_RXFIFO_FSCH_DOUBLE_FILTER,
            

            还是说是我理解错了

            1 条回复 最后回复
            0
            • gaoShengG 离线
              gaoShengG 离线
              gaoSheng
              在 回复了 yt0069 最后由 编辑
              #6

              yt0069 a3367164-6cc5-4f99-9a6f-8b9a001ab5dd-image.png num_enhance_rx_fifo_filters对应的应该是这里的值。不过这个范围应该怎么判断呢

              1 条回复 最后回复
              0
              • yt0069Y 离线
                yt0069Y 离线
                yt0069
                写于 最后由 编辑
                #7

                num_enhance_rx_fifo_filters最大可以设置为128个标准帧id的滤波器或i64个扩展帧id的滤波器

                gaoShengG 1 条回复 最后回复
                0
                • gaoShengG 离线
                  gaoShengG 离线
                  gaoSheng
                  在 回复了 yt0069 最后由 编辑
                  #8

                  yt0069 大佬,我那是不是应该这样配置,用70个filters使用双ID模式接收140个ID不连续的CANFD报文

                  .num_enhance_rx_fifo_filters=70,
                  ~~~~~~~
                  .filterScheme = FLEXCAN_ENAHNCE_RXFIFO_FSCH_DOUBLE_FILTER,
                  
                  
                  1 条回复 最后回复
                  0
                  • yt0069Y 离线
                    yt0069Y 离线
                    yt0069
                    写于 最后由 yt0069 编辑
                    #9

                    对的,如果是70个标准帧id的话配置如下,采用双滤波器模式:
                    个数配置为35个,滤波器表格有70个元素,相当于一个滤波器配置可以滤掉2个id的报文

                    .num_enhance_rx_fifo_filters=35,
                    .............
                    .filterScheme = FLEXCAN_ENAHNCE_RXFIFO_FSCH_FILTER_MASK,
                    

                    之前帖子里面说的有误,.num_enhance_rx_fifo_filters=35才对,之前图片中有误

                    5e7abfd4-8fa9-42fa-b5d9-e97ebdd74324-image.png

                    gaoShengG 1 条回复 最后回复
                    0
                    • gaoShengG 离线
                      gaoShengG 离线
                      gaoSheng
                      在 回复了 yt0069 最后由 编辑
                      #10

                      yt0069 谢谢大佬的支持😊

                      1 条回复 最后回复
                      0

                    • 云途论坛规则/Yuntu Forum Rules

                      发帖前请查看

                    • YCT离线License申请流程

                      帮助没办法联网的电脑使用YCT

                    • YT CONFIG TOOL调查问卷

                      帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

                    • demo
                      12
                      can
                      9
                      lin stack
                      6
                      yt-link
                      5
                      vscode
                      3
                      adc模块
                      2
                      i2c
                      2
                      uuid
                      2
                      Online Users
                      • 登录

                      • 登录或注册以进行搜索。
                      • 第一个帖子
                        最后一个帖子
                      0
                      • 版块
                      • 最新
                      • 标签
                      • 热门