CAN控制器详解:高性能通信协议实现

需积分: 0 84 下载量 167 浏览量 更新于2024-08-10 收藏 5.26MB PDF 举报
"CAN控制器-史上最直白的ica教程" 本文档主要介绍了CAN(Controller Area Network)控制器的基本概念和特性,特别针对LPC23XX系列微控制器中的CAN模块进行了详细阐述。CAN是一种高效、高安全性的串行通信协议,广泛应用于汽车、工业自动化、高速网络和低成本多路连接系统中,能够显著简化线缆布局并提供强大的诊断监控功能。 12.1 CAN控制器部分,提到CAN控制器是遵循CAN规范V2.0B和ISO 11898-1标准的实现,它允许在多个CAN总线间进行数据通信,比如作为网关、交换机或路由器。CAN模块由控制器和验收滤波器两部分构成,所有寄存器和RAM均以32位字进行访问。 12.2章节详细列举了CAN模块的通用特性: - 兼容CAN 2.0B规范,支持无破坏性的位仲裁,确保高优先级报文的及时传输。 - 支持11位和29位的报文标识符(ID),用于确定总线访问优先级。 - 可配置的传输速率,最高可达1Mbit/s,允许灵活适应不同应用需求。 - 提供多播和广播报文功能,数据长度可变,范围从0到8字节。 - 强大的错误处理机制,包括非归零(NRZ)编码/译码和位填充技术。 12.2.2章节详细描述了CAN控制器的特性: - 包含2个控制器和总线,支持独立操作或同步工作。 - 双重接收缓冲器提高接收效率,三态发送缓冲器允许灵活的发送管理。 - 可编程的错误报警界限和错误计数器,便于监测和诊断。 - 仲裁丢失和错误代码捕获功能,精确定位问题。 - 单次触发发送避免重复发送,以及只听模式和自接收请求,增强灵活性。 12.2.3章节讨论了接收滤波器的功能: - 硬件加速的搜索算法,支持大量CAN ID过滤。 - 全局验收滤波器能识别所有CAN总线上的11位和29位接收ID。 - 明确定义和分组定义两种方式,方便过滤和管理接收到的数据。 - 提供FullCAN-style自动接收功能,简化接收过程。 此外,文档还提供了LPC23XX系列微控制器的相关技术支持和服务信息,包括广州周立功单片机发展有限公司的联系方式,以便用户在遇到问题时获取帮助。 CAN控制器是实现CAN通信的核心部件,具有高度灵活性和可靠性,适用于多种实时控制场景。LPC23XX系列微控制器集成的CAN模块提供了丰富的功能,使得在设计中能够实现高效、安全的CAN网络通信。