ZHCAD88 October 2023 TMS320F280039
过滤器元素是定义的结构,需要在消息 RAM 中对其进行配置,以确定要接收哪些帧以及需要将这些帧存储在消息 RAM 中的什么位置。
标准过滤器元素用于存储标准 ID 帧,模块可以配置为具有多达 128 个元素。扩展过滤器元素用于存储扩展 ID 帧,模块可以配置为具有多达 64 个元素。标准过滤器元素和扩展过滤器元素的结构相同,但消息 ID 类型除外。以下对于标准过滤器元素的描述也适用于扩展过滤器元素。
模块具有某些全局过滤器配置(在初始化期间在 MCAN_GFC 寄存器中设置),用于确定是要接受还是要拒绝远程帧和不匹配帧(对于标准 ID 和扩展 ID 使用独立的配置)。
每个接收到的帧都会按顺序与配置的过滤器元素列表进行比较(标准 ID 帧与标准过滤器元素进行比较,等等)。在获得匹配项时,将根据相应过滤器元素的配置接受或拒绝帧,并按照配置的方式将其存储在消息 RAM 中(如果接受)。
注意:
MCAN 有一个单独的寄存器 (MCAN_XIDAM),可用作与扩展 ID 进行“与”运算的掩码。默认情况下,寄存器(掩码)的所有位均设置为 1,这会禁用掩码。
然而,在初始化期间,启用掩码时,在执行过滤器列表之前,所有接收到的扩展 ID 都与该掩码进行“与”运算。该寄存器用于屏蔽 SAE J1939 中的 29 位 ID。
通过为特定扩展过滤器元素设置扩展过滤器类型 (eft) = 0x3,可以实现范围过滤器,从而不应用扩展 ID 和掩码的“与”运算。