STM32之CAN ---CAN ID过滤器分析.docxVIP

  • 16
  • 0
  • 约7.15万字
  • 约 11页
  • 2016-12-23 发布于贵州
  • 举报
前言在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的。因此,发送者以广播的形式把报文发送给所有的接收者。节点在接收报文时,根据标识符(CAN ID)的值决定软件是否需要该报文;如果需要,就拷贝到SRAM里;如果不需要,报文就被丢弃且无需软件的干预。为满足这一需求,bxCAN为应用程序提供了14个位宽可变的、可配置的过滤器组(13~0),以便只接收那些软件需要的报文。硬件过滤的做法节省了CPU开销,否则就必须由软件过滤从而占用一定的CPU开销。每个过滤器组x由2个32位寄存器,CAN_FxR0和CAN_FxR1组成。为了让大家了解STM32的bxCAN的接收过滤机制,首先大家需要了解几个概念。2 几个重要的概念2.1 过滤器组STM32总共提供14个过滤器组来处理CAN接收过滤问题,每个过滤器组包含两个32位寄存器CAN_FxR0和CAN_FxR1组成,在设置为屏蔽位模式下,其中一个作为标识符寄存器,另一个作为屏蔽码寄存器。过滤器组中的每个过滤器,编号(叫做过滤器号)从0开始,到某个最大数值(这时最大值并非13,而是取决于14个过滤器组的模式和位宽的设置,当全部配置为位宽为16,且为标识符列表模式时,最大编号为14*4-1=55)。2.2 过滤器的过滤模式STM32提供两种过滤模式供用户设置:屏蔽位模式和标识符列表模式。2.2.1 屏蔽位模式为了过滤出一组标识符,

文档评论(0)

1亿VIP精品文档

相关文档