SJA1000独立CAN控制器详解及应用

需积分: 11 3 下载量 19 浏览量 更新于2024-07-26 收藏 714KB PDF 举报
"SJA1000独立CAN控制器是一款由飞思卡尔(现NXP)公司生产的专用通信控制器,设计用于实现控制器局域网络(CAN)协议。它具有高度集成的特点,广泛应用于汽车电子、自动化、工业控制等领域。本文档详细介绍了SJA1000的内部结构、功能特性和应用开发。” SJA1000的主要特性包括: 1. 兼容PCA82C200:SJA1000设计上兼容PCA82C200,这使得基于PCA82C200的系统可以轻松升级到SJA1000,提高性能和可靠性。 2. 支持两种工作模式:BasicCAN模式和PeliCAN模式。BasicCAN模式适合简单的CAN通信需求,而PeliCAN模式提供了更高级的特性,如扩展的错误处理和更多的过滤选项。 3. 强大的错误管理:SJA1000包含一个错误管理逻辑单元(EML),能够检测和报告总线错误,确保数据传输的正确性。 4. 高速通信能力:通过位流处理器(BSP)和位时序逻辑(BTL)实现高速CAN通信,最高可达1Mbps。 在应用开发中,用户需要了解以下几个关键部分: 1. 接口管理逻辑(IML):IML处理CAN总线接口,确保与物理总线的正确交互。 2. 发送缓冲器(TXB):SJA1000有两个发送缓冲区,用于存储待发送的数据帧,确保数据的高效发送。 3. 接收缓冲器(RXB):也有两个接收缓冲区,用于接收来自CAN总线的数据帧。 4. 验收滤波器(ACF):过滤接收到的CAN消息,只允许符合条件的数据进入接收缓冲区,提高系统的处理效率。 5. 控制和状态寄存器:如CR、CMR、SR和IR,这些寄存器用于设置控制器的工作模式、读取设备状态以及处理中断请求。 6. 错误管理:包括错误计数器(RXERR和TXERR)、错误报警时序寄存器(EWLR)等,用于监控CAN通信过程中的错误状况。 在BasicCAN模式下,主要关注地址列表、复位值、控制寄存器、命令寄存器、状态寄存器、中断寄存器和发送/接收缓冲器的使用。而在PeliCAN模式下,除了上述内容外,还有模式寄存器、仲裁丢失捕捉寄存器、误码捕捉寄存器等更复杂的特性。 此外,文档还包含了关于总线定时寄存器(BTR0和BTR1)的设置,用于调整CAN通信的波特率。输出控制寄存器(OCR)用于配置CAN接口的输出电平,而时钟分频寄存器(CDR)则用于设定内部时钟频率。 总结来说,SJA1000独立CAN控制器是一个强大的通信解决方案,提供了丰富的功能和高度的灵活性,适用于需要可靠CAN通信的各类应用。开发人员在使用时,需熟悉其内部结构、操作模式和寄存器配置,以实现高效、稳定的CAN网络通信。