目录
概述
在STM32微控制器中,CAN过滤器可以配置为标识符屏蔽模式和标识符列表模式。标识符屏蔽模式通过设置标识符和屏蔽器来过滤CAN帧,而标识符列表模式则允许配置多个标识符来接收特定的CAN帧。通过配置CAN过滤器,可以实现复杂的CAN消息过滤需求,例如根据CAN帧的标识符、数据内容等条件来筛选需要的消息。在使用STM32的CAN过滤器时,需要了解具体微控制器型号的CAN过滤器配置方法和寄存器设置,以确保正确地配置CAN过滤器以满足所需的功能和性能要求。
一、CAN过滤器核心概念
1. 过滤器作用
-
消息过滤:仅接收符合特定ID规则的CAN帧,减少CPU中断负载
-
硬件加速:由CAN控制器硬件完成过滤,无需软件参与
-
灵活配置:支持标准帧(11位ID)和扩展帧(29位ID)
2. 过滤器组结构
-
组成单元:每个过滤器组包含两个32位寄存器(FilterBank)
-
工作模式:
模式 说明 应用场景 掩码模式 指定ID必须匹配的位 接收ID范围(如0x100-0x1FF) 列表模式 指定允许的精确ID列表 接收特定ID(如0x123和0x456)
3. 寄存器映射
typedef struct {
__IO uint32_t FR1; // 过滤器寄存器1(高32位)
__IO uint32_t FR2; // 过滤器寄存器2(低32位)
} CAN_FilterTypeDef;