一行标准标识符范围表格标准行的禁能位提供了一种动态开/关特定CAN标识符或标识符范围响应的方法。当验收滤波器功能被使能时,验收滤波器RAM中只有禁能位可通过软件来改变。通过向RAM中相应的字内写入32位0来使能对标准地址范围的响应,通过写入32位1(0xFFFF FFFF)来关闭该响应。在整个过程中只有禁能位被改变。

你可能想知道,如果这些禁能位的变化对系统性能有何影响?实际上,禁止行必须保存按升序排列的标识符,这样才能保证数据的有序处理。如果在应用中使用的是扩展标识符(29位),验收滤波器RAM其他2个表格中至少有1个必定不为空。扩展标识符表格扩展标识符范围表格必须含有偶数个行,其格式与单个扩展标识符表格相同。和单个扩展标识符的表格一样,扩展范围必须按升序排列。表中的第1行和第2行(第3和第4行……)形成一对,作为包括边界在内的扩展地址范围。

为了更好地理解这些表格如何影响CAN标识符,可以参考《MSCAN标识符接收滤波器配置讲解》《CAN标识符_过滤器_屏蔽器之间的关系》。这些资料详细解析了相关配置和关系。

这样,包含在地址范围内(含边界)的地址就一定能接收到。要求编写的软件必须保证表格由一对一对的字组成。使用FullCAN方法来接收扩展标识符信息实现起来并不容易。有5个地址寄存器指向验收滤波器RAM中表格之间的边界:FullCAN标准地址、标准单个地址、标准地址范围、扩展单个地址和扩展地址范围。这些表格在存储器中必须是连续的。后4个表格的起始地址分别是各自相邻的前一个表格的终止地址。扩展地址范围表格的结束地址在表格结束寄存器中给出。

如果一个表格的起始地址等于下一个表格的起始地址或表格结束寄存器的值,则该表格为空。当CAN控制器的接收方已接收到一个完整的标识符时,它将通知验收滤波器。验收滤波器响应这个信号,并读出控制器编号、标识符尺寸,以及来自控制器本身的标识符。然后,验收滤波器继续搜索RAM,以决定接收或忽略这个报文。

想深入了解不同标识符的处理方法和其复杂性,建议查阅《判断标识符》《标识符.pdf》,这些文件提供了更详细的技术说明和实例。

这些内容是否让你对CAN标识符和验收滤波器的操作有了更直观的理解?复杂的技术内容常常令人头疼,但你会发现其实并没有那么难懂!