首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

STM32之CAN(2)

STM32之CAN(2)

3 与过滤器相关的寄存器3.1 CAN 过滤器主控寄存器 (CAN_FMR)地址偏移量: 0x200
复位值: 0x2A1C 0E01
注: 该寄存器的非保留位完全由软件控制。

                                                                                                                   图4
位31:1保留位,强制为复位值。
位0FINIT : 过滤器初始化模式
针对所有过滤器组的初始化模式设置。
0: 过滤器组工作在正常模式;
1: 过滤器组工作在初始化模式。
3.2 CAN 过滤器模式寄存器 (CAN_FM1R)地址偏移量: 0x204
复位值: 0x0000 0000
注: 只有在设置CAN_FMR(FINIT=1),使过滤器处于初始化模式下,才能对该寄存器写入。

                                                                                                     图5
位31:14保留位,硬件强制为0
位13:0FBMx : 过滤器模式
过滤器组x的工作模式。
0: 过滤器组x的2个32位寄存器工作在标识符屏蔽位模式;
1: 过滤器组x的2个32位寄存器工作在标识符列表模式。
3.3 CAN 过滤器位宽寄存器 (CAN_FS1R)地址偏移量: 0x20C
复位值: 0x0000 0000
注: 只有在设置CAN_FMR(FINIT=1),使过滤器处于初始化模式下,才能对该寄存器写入。

                                                                                                              图6
位31:14保留位,硬件强制为0
位13:0FSCx : 过滤器位宽设置
过滤器组x(13~0)的位宽。
0:过滤器位宽为2个16位;
1:过滤器位宽为单个32位。
3.4 CAN 过滤器FIFO关联寄存器 (CAN_FFA1R)地址偏移量: 0x214
复位值: 0x0000 0000
注: 只有在设置CAN_FMR(FINIT=1),使过滤器处于初始化模式下,才能对该寄存器写入。

                                                                                                         图7
位31:14保留位,硬件强制为0。
位13:0FFAx : 过滤器位宽设置
报文在通过了某过滤器的过滤后,将被存放到其关联的FIFO中。
0:过滤器被关联到FIFO0;
1:过滤器被关联到FIFO1。
3.5 CAN 过滤器激活寄存器 (CAN_FA1R)地址偏移量: 0x21C
复位值: 0x0000 0000

                                                                                        图7
位31:14保留位,硬件强制为0。
位13:0FACTx : 过滤器激活
软件对某位设置1来激活相应的过滤器。只有对FACTx位清0,或对CAN_FMR寄存器的FINIT位设置1后,才能修改相应的过滤器寄存器x(CAN_FxR[0:1])。
0:过滤器被禁用;
1:过滤器被激活。
3.6 CAN 过滤器组x寄存器 (CAN_FiRx) (i=0..13,x=1..2)地址偏移量:0x240h..0x2AC
复位值:未定义位
注: 共有14组过滤器:i=0..13。每组过滤器由2个32位的寄存器,CAN_FiR[2:1]组成。只有在CAN_FaxR寄存器(CAN过滤器激活寄存器)相应的FACTx位清’0’,或CAN_FMR寄存器(CAN过滤器主控寄存器)的FINIT位为’1’时,才能修改相应的过滤器寄存器。

                                                                                 图8
位31:0FB[31:0] : 过滤器位
  • 当为标识符模式时:
             寄存器的每位对应于所期望的标识符的相应位的电平。
             0: 期望相应位为显性位;
             1: 期望相应位为隐性位。
  • 当为屏蔽位模式时:
             寄存器的每位指示是否对应的标识符寄存器位一定要与期望的标识符的相应位一致。
             0: 不关心,该位不用于比较;
             1: 必须匹配,到来的标识符位必须与滤波器对应的标识符寄存器位相一致。
注: 根据过滤器位宽和模式的不同设置,过滤器组中的两个寄存器的功能也不尽相同。。关于过滤器的映射,功能描述和屏蔽寄存器的关联,请参见2节标识符过滤。屏蔽位模式下的屏蔽/标识符寄存器,跟标识符列表模式下的寄存器位定义相同。
继承事业,薪火相传
返回列表