SJA1000 CAN控制器验收滤波器详解

需积分: 49 4 下载量 91 浏览量 更新于2024-10-22 收藏 175KB PDF 举报
"本文详细介绍了CAN控制器SJA1000的验收滤波器的原理与应用,适合于理解和使用SJA1000的工程师参考。" CAN控制器SJA1000是Philips公司生产的一款独立CAN控制器,兼容CAN2.0A和CAN2.0B标准,提供高性能、高可靠性的通信能力。相较于82C200,SJA1000在错误处理、超载能力和接收滤波方面有着显著提升。在工业数据总线领域,CAN总线作为一种重要的现场总线,广泛应用于各种自动化设备和控制系统中。 SJA1000的硬件结构包括CAN核心模块、接口管理逻辑、发送缓冲区、验收滤波器单元和接收FIFO缓冲区。CAN核心模块执行CAN协议,处理信息帧的发送和接收。接口管理逻辑提供与外部主控制器的交互,允许主控制器通过地址/数据总线访问SJA1000的各个寄存器。 发送缓冲区能够存储一个13字节的完整信息帧,主控制器将标识符和数据写入后,设置CMR寄存器的发送请求位TR启动发送过程。接收信息时,验收滤波器单元起关键作用。它根据预设的滤波条件过滤接收到的数据,只有满足条件且无错误的数据帧才会被送入64字节的接收FIFO缓冲区,并将接收缓冲区状态标志SR.0置位,表示有成功的接收信息帧。 验收滤波器是SJA1000的一大亮点,它可以灵活配置,实现多种过滤模式,如标准ID过滤、扩展ID过滤以及组合过滤。这使得用户可以根据实际需求设置不同的接收策略,比如只接收特定设备或服务的消息,从而提高系统的效率和安全性。 在实际应用中,了解和正确配置验收滤波器是确保CAN网络高效运行的关键。开发者需要根据系统需求设定滤波器的ID范围和屏蔽码,以确保只有预期的数据帧能被接收。同时,通过读取接收信息计数器RMC,可以监控接收帧的数量,帮助诊断网络状态。 SJA1000的验收滤波器功能强大,对于需要在CAN网络中实现精确数据过滤和高效通信的项目来说,是理想的控制器选择。通过深入理解SJA1000的滤波器工作原理和配置方法,工程师能够更好地设计和优化CAN总线系统。