STM32CAN过滤器学习精华STM32CAN过滤器学习精华.pdf

STM32CAN过滤器学习精华STM32CAN过滤器学习精华.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32CAN过滤器学习精华STM32CAN过滤器学习精华

STM32CAN STM32CAN SSTTMM3322CCAANN过滤器的学习精华 关于STM32的CAN 的过滤器 STM32普通型芯片的CAN 有14组过滤器组(互联型有28组过滤器组),用以对接收到 的帧进行过滤。每组过滤器包括了2个可配置的32位寄存器:CAN_FxR1和CAN_FxR2。对 于过滤器组,可以将其配置成屏蔽位模式,这样CAN_FxR1中保存的就是标识符匹配值, CAN_FxR2中保存的是屏蔽码,即CAN_FxR2中如果某一位为1,则CAN_FxR1中相应的位 必须与收到的帧的标志符中的相应位吻合才能通过过滤器;CAN_FxR2中为0的位表示 CAN_FxR1中的相应位可不必与收到的帧进行匹配。过滤器组还可以被配置成标识符列表模 式,此时CAN_FxR1和CAN_FxR2中的都是要匹配的标识符,收到的帧的标识符必须与其 中的一个吻合才能通过过滤。 注意:CAN_FilterIdHigh 是指高16位,CAN_FilterIdLow 是低16位,应该将需要得到的 帧的和过滤器的设置值左对齐。 一般我们用的都是普通型的,所以在本文中可以说STM32有14组过滤器组。 根据配置,每1组过滤器组可以有1个,2个或4个过滤器。 这些过滤器相当于关卡,每当收到一条报文时,CAN 要先将收到的报文从这些过滤器 上过一下,能通过的报文是有效报文,收进FIFO,不能通过的是无效报文(不是发给我 的报文),直接丢弃。 所有的过滤器是并联的,即一个报文只要通过了一个过滤器,就是算是有效的。 每组过滤器组有两种工作模式:标识符列表模式和标识符屏蔽位模式。 在标识符列表模式下,收到报文的标识符必须与过滤器的值完全相等才能通过。 在标识符屏蔽位模式下,可以指定标识符的哪些位为何值时就算通过。这其实就是限定 了处于某一范围的标识符能够通过。 在一组过滤器中,整组的过滤器都使用同一种工作模式。 另外,每组过滤器中的过滤器宽度是可变的,可以是32位或16位。 按工作模式和宽度,一个过滤器组可以变成以下几中形式之一: (1)1个32位的屏蔽位模式的过滤器。 (2)2个32位的列表模式的过滤器。 (3)2个16位的屏蔽位模式的过滤器。 (4)4个16位的列表模式的过滤器。 所有的过滤器是并联的,即一个报文只要通过了一个过滤器,就是算是有效的。 / / 北极星电子:hhttttpp::////sshhoopp110000883388006611..ttaaoobbaaoo..ccoomm// USBCAN/PCICAN/CAN CAN BUS USBCAN/PCICAN/CAN CAN BUS 提供UUSSBBCCAANN//PPCCIICCAANN//CCAANN 协议分析仪等CCAANN BBUUSS 相关产品 每组过滤器组有两个32位的寄存器用于存储过滤用的标准值,分别是FxR1,FxR2。 在32位的屏蔽位模式下: 有1个过滤器。 FxR2用于指定需要关心哪些位,FxR1用于指定这些位的标准值。 在32位的列表模式下: 有两个过滤器。 FxR1指定过滤器0的标准值,收到报文的标识符只有跟FxR1完全相同时,才算通过。 FxR2指定过滤器1的标准值。 在16位的屏蔽位模式下: 有2个过滤器。 FxR1配置过滤器0,其中,[31-16]位指定要关心的位,[15-0]位指定这些位的标准值。 FxR2配置过滤器1,其中,[31-16]位指定要关心的位,[15-0]位指定这些位的标准值。 在16位的列表模式下: 有4个过滤器。 FxR1的[15-0]位配置过滤器0,FxR1的[31-16]位配置过滤器1。 FxR2的[15-0]位配置过滤器2,FxR2的[31-16]位配置过滤器3。 STM32的CAN 有两个FIFO,分别是FIFO0和FIFO1。为了便于区分,下面FIFO0写作 FIFO_0,FIFO1写作FIFO_1。 每组过滤器组必须关联且只能关联一个FIFO。复位默认都关联到FIFO_0。 所谓“关联”是指假如收到的报文从某个过滤器通过了,那么该报文会被

文档评论(0)

vshoulrengb3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档