CAN控制器验收滤波器模式与访问控制解析

需积分: 30 41 下载量 79 浏览量 更新于2024-08-06 收藏 13.01MB PDF 举报
"验收滤波器模式和访问控制-leetcode 参考 java版本" 在LPC17XX系列微控制器中,验收滤波器是CAN (Controller Area Network) 控制器的关键组成部分,用于筛选接收到的CAN总线报文,确保只有符合特定标识符的报文被接收。CAN总线是一种多主站通信协议,广泛应用于汽车电子系统和其他工业领域。 验收滤波器具有512个32位的存储单元,总计2KB的RAM空间,可以存储1到5个标识符表。这些表可以容纳1024个标准标识符(11位)、512个扩展标识符(29位),或者两者的组合。验收过滤的目的是确保微控制器只接收与其业务相关的数据,减少不必要的处理负担。 验收滤波器的模式可以通过设置AccOff、AccBP和eFCAN位来改变。这些模式包括: 1. 关闭模式:AccOff为1,AccBP为0。在这种模式下,验收滤波器被复位并停止工作,CPU可以直接读写其配置。 2. 旁路模式:AccOff任意,AccBP为1。同样停止工作,但所有报文都会被接收,CPU可读写配置。 3. 工作模式和FullCAN模式:AccOff和AccBP都为0。在这种模式下,硬件执行验收过滤,CPU只能读取配置,而不能修改,过滤规则由滤波器根据存储的标识符执行。 在不同的模式下,对ID查找表RAM和配置寄存器的访问权限也不同。例如,在关闭和旁路模式中,所有配置寄存器都可以被CPU写入,而在工作模式中,只能读取配置,不能修改,以确保过滤规则的稳定。 此外,CAN控制器的状态可以通过CAN1GSR和CAN2GSR寄存器中的位(如E1、E2、BS1、BS2)来监控,这些位反映了错误计数器的状态和总线活动情况。如果错误计数器达到预设界限,相应的E1或E2位会被置1;BS1和BS2位表示CAN1和CAN2是否正忙于处理总线事务。 总结来说,LPC17XX系列微控制器的验收滤波器和访问控制机制是其CAN通信的核心部分,通过灵活的配置模式和访问权限管理,实现高效、安全的数据接收。正确理解和使用这些功能对于构建可靠的CAN网络至关重要。