CAN总线的过滤器与邮箱(四)

系列文章目录



前言

STM32提供两种过滤器模式供用户选择,屏蔽位模式(标识符屏蔽位模式)和标识符列表模式。


一、过滤器的作用

在这里插入图片描述

过滤器在接收时使用,在发送时不需配置过滤器!过滤器会根据标识符而决定节点要不要发送者发过来的报文。通俗一点:是我想要的,我就要;不是我想要的,我就不要。

二、可变的位宽

在这里插入图片描述

三、屏蔽位模式

在这里插入图片描述

四、标识符列表模式

在这里插入图片描述

五、过滤器组位宽和模式的设置

过滤器组可以通过相应的CAN_FMR寄存器配置。在配置一个过滤器组前,必须通过清除CAN_FAR寄存器的FACT位,把它设置为禁用状态。通过设置CAN_FS1R的相应FSCx位,可控制器局域网(bxCAN)

通过CAN_FMR的FBMx位,可以配置对应的屏蔽/标识符寄存器的标识符列表模式或屏蔽位模式
为了过滤出一组标识符,应该设置过滤器组工作在屏蔽位模式。
为了过滤出一个标识符,应该设置过滤器组工作在标识符列表模式
应用程序不用的过滤器组,应该保持在禁用状态。
过滤器组中的每个过滤器,都被编号为(叫做过滤器号)从0开始,到某个最大数值-取决于过滤器组的模式和位宽的设置
在这里插入图片描述
一旦收到的报文被存入FIFO,就可被应用程序访问。通常情况下,报文中的数据被拷贝到
SRAM中;为了把数据拷贝到合适的位置,应用程序需要根据报文的标识符来辨别不同的数
据。 bxCAN提供了过滤器匹配序号,以简化这一辨别过程。

六、过滤器优先级规则

根据过滤器的不同配置,有可能一个报文标识符能通过多个过滤器的过滤;在这种情况下,存放在接收邮箱中的过滤器匹配序号,根据下列优先级规则来确定:

  1. 位宽为32位的过滤器,优先级高于位宽为16位的过滤器
  2. 对于位宽相同的过滤器,标识符列表模式的优先级高于屏蔽位模式
  3. 位宽和模式都相同的过滤器,优先级由过滤器号决定,过滤器号小的优先级高

七、邮箱

邮箱是软件和硬件之间传递报文的接口。邮箱包含了所有跟报文有关的信息:标识符、数据、控制、状态和时间戳信息。

1.发送邮箱

软件需要在一个空的发送邮箱中,把待发送报文的各种信息设置好(然后再发出发送的请求)。发送的状态可通过查询CAN_TSR寄存器获知。
在这里插入图片描述

2.接收邮箱

在接收到一个报文后,软件就可以访问接收FIFO的输出邮箱来读取它。一旦软件处理了报文(如把它读出来),软件就应该对CAN_RFxR寄存器的RFOM位进行置’1’,来释放该报文,以便为后控制器局域网(bxCAN)
面收到的报文留出存储空间。过滤器匹配序号存放在CAN_RDTxR寄存器的FMI域中。 16位的时间戳存放在CAN_RDTxR寄存器的TIME[15:0]域中。
在这里插入图片描述

  • 6
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
TMS320F28335是德州仪器(Texas Instruments)推出的一款数字信号处理器(DSP)。CAN(Controller Area Network)是一种常用于汽车和工业控制领域的通信协议。TMS320F28335芯片支持CAN总线通信,并具有配置CAN过滤器的能力。 CAN过滤器配置是指通过设定CAN过滤器的设置,来过滤接收到的CAN消息,只接收特定标识符的消息。TMS320F28335的CAN接口提供了16个接收邮箱,每个邮箱都可以配置不同的过滤器过滤器的设置可以通过编程方式完成。 在配置CAN过滤器时,主要需要设置标识符、屏蔽字和过滤器的模式。标识符用于识别CAN消息的类型,是CAN消息的唯一标识。屏蔽字用于过滤出特定范围内的标识符。过滤器的模式决定了过滤器的工作方式,如仅匹配标识符、只接收远程帧或只接收数据帧等。 在TMS320F28335上,可以通过CAN控制器寄存器来配置过滤器。首先,需要选择要配置的邮箱,并将其配置为接收模式。然后,可以设置过滤器的标识符和屏蔽字。最后,可以选择过滤器的模式,并使能该过滤器。配置完成后,TMS320F28335会根据配置的过滤器,只接收符合条件的CAN消息。 通过配置CAN过滤器,TMS320F28335可以根据需要选择性地接收和处理特定类型的CAN消息,提高了系统的处理效率和可靠性。这对于需要处理大量CAN数据的应用,如汽车电子控制系统和工业自动化设备等,非常重要。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值