查看: 1536|回复: 1

[求助] MIMXRT1021CAG4B的CAN滤波异常

[复制链接]
  • TA的每日心情
    奋斗
    2024-9-18 11:25
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    4

    帖子

    0

    新手上路

    Rank: 1

    积分
    28
    最后登录
    2025-3-7
    发表于 2024-9-18 11:03:11 | 显示全部楼层 |阅读模式
    本帖最后由 eefocus_4041346 于 2024-9-18 11:08 编辑

            调试MIMXRT1021CAG4B的CAN异常
    CA CAN1、CAN2两个CAN口都启用时,两者CAN滤波表现情况不一致
    2.  CAN1、CAN2只启用其中一个CAN口时,CAN掩码寄存器bit0与其余bit采用逻辑不一致。
    举例:(以标准帧为例)
    FLEXCAN_SetRxIndividualMask(EXAMPLE_CAN, RX_MESSAGE_BUFFER_NUM,FLEXCAN_ID_STD(3));RX_MESSAGE_BUFFER_NUM为10
    FLEXCAN_SetRxIndividualMask(EXAMPLE_CAN2,CAN2_RX_MESSAGE_BUFFER_NUM,FLEXCAN_ID_STD(3));CAN2_RX_MESSAGE_BUFFER_NUM为2

    此时CAN1掩码寄存器为EXAMPLE_CAN->RXIMR[10] = 3。(二进制表示为000 0000 0011)
    此时CAN2掩码寄存器为EXAMPLE_CAN2->RXIMR[2] = 3。(二进制表示为000 0000 0011)
    设置完成后,实际上CAN1通过的ID以二进制表示为XXX XXXX XX01,即bit0使用与逻辑,bit1使用非逻辑。我测试下来除bit0外其余位用非逻辑
    CAN2通过的ID以二进制表示为XXX XXXX XX00。(X表示都通过)与CAN1通道的逻辑不一致。单独启用一个CAN口采用的逻辑为两个CAN都启用时CAN1表现的逻辑。


    基于SDK_2_12的FlexCAN 的loopback  ,配置没改动,只修改了几个参数,加了一个滤波
    用的开发板测试,目前开了一个CAN都有问题,给的掩码是0x0F,实际接收是0x03、0x13这种ID。
    图一 :实际使用的参数                                            图二:调用库函数使用的滤波功能

    实际使用的参数

    实际使用的参数

    调用库函数使用的滤波功能

    调用库函数使用的滤波功能
      

    还请大神帮忙指点一下,谢谢

    假后第一天干劲满满
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-9-18 11:25
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    4

    帖子

    0

    新手上路

    Rank: 1

    积分
    28
    最后登录
    2025-3-7
     楼主| 发表于 2024-9-23 15:48:46 | 显示全部楼层
    NXP 大神能帮忙看下吗?谢谢
    假后第一天干劲满满
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-10-9 03:25 , Processed in 0.080253 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表