ST意法半导体
直播中

1123127317

9年用户 1131经验值
擅长:制造/封装 接口/总线/驱动
私信 关注
[问答]

STM32G0B1VE芯片的CAN过滤器分为掩码模式和列表模式,在列表模式下,可过滤多少个ID呢?

STM32G0B1VE芯片的CAN过滤器分为掩码模式和列表模式,在列表模式下,可过滤多少个ID呢?芯片手册中未有详细说明

回帖(2)

李宇昂

2025-3-12 15:10:29
G0B1里的是FDCAN,STM32里的FDCAN的过滤大致分4种类型:


FDCAN_FILTER_RANGE   =》指定可以通过的过滤器的ID范围,比方从0x200~0x2ff;


FDCAN_FILTER_RANGE_NO_EIDM  ==》针对一定范围的ID实施过滤,但不适用扩展ID.


FDCAN_FILTER_DUAL  =>指定可以通过过滤器的2个ID号,比方ID1为0x100,ID2为0x200,那么ID为0x100或0x200的消息都会被过滤接收。


FDCAN_FILTER_MASK =》掩码型过滤器:使用FilterID1作为过滤ID,FilterID2作为掩码,适用于标准ID和扩展ID。
举报

陈丽

2025-3-13 17:55:44

在STM32G0B1VE芯片的CAN控制器中,过滤器可以配置为掩码模式(Mask Mode)或列表模式(List Mode)。在列表模式下,CAN过滤器的行为与掩码模式不同,它允许你指定一组精确的ID值来进行过滤。


根据STM32G0B1VE的参考手册(RM0454),CAN过滤器在列表模式下的具体配置取决于过滤器的位数和模式设置:




  1. 32位过滤器模式



    • 在32位列表模式下,每个过滤器可以配置为两个独立的16位ID值,或者一个32位ID值。

    • 如果配置为两个16位ID值,则每个过滤器可以匹配两个不同的ID。

    • 如果配置为一个32位ID值,则每个过滤器只能匹配一个ID。




  2. 16位过滤器模式



    • 在16位列表模式下,每个过滤器可以配置为一个16位ID值。

    • 因此,每个过滤器只能匹配一个ID。




CAN过滤器的数量取决于具体的CAN控制器配置。STM32G0B1VE芯片的CAN控制器通常支持多个过滤器组(Filter Bank),每个过滤器组可以配置为一个独立的过滤器。


假设你使用的是32位过滤器模式,并且每个过滤器配置为两个16位ID值,那么每个过滤器可以匹配2个ID。如果有N个过滤器组,则可以匹配的ID数量为2N。


具体可过滤的ID数量


STM32G0B1VE的CAN控制器通常支持14个过滤器组(具体数量请参考芯片手册)。因此:



  • 在32位列表模式下,每个过滤器组可以配置为2个ID,因此最多可以过滤 14 × 2 = 28个ID

  • 在16位列表模式下,每个过滤器组只能配置为1个ID,因此最多可以过滤 14 × 1 = 14个ID


注意事项



  • 实际可过滤的ID数量还取决于你的具体应用需求和过滤器的配置方式。

  • 如果同时使用掩码模式和列表模式,过滤器的行为会更加复杂,需要仔细配置。


建议查阅STM32G0B1VE的参考手册(RM0454)中关于CAN过滤器配置的章节,以获取更详细的信息和配置示例。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分