### SJA1000 CAN控制器详析
#### 一、引言
SJA1000是一款由Philips Semiconductor开发的独立CAN(Controller Area Network)控制器,旨在为移动目标和工业环境中提供区域网络控制解决方案。它作为PCA82C200控制器的升级版,不仅保持了与前者的兼容性,还引入了PeliCAN模式,增强了CAN2.0B协议的支持,以及提供了更多的高级特性。
#### 二、特性概览
- **与PCA82C200的兼容性**:SJA1000在引脚布局、电气特性上与PCA82C200完全兼容,能够无缝替换。
- **基本CAN模式**:作为默认模式,它支持CAN2.0B标准,兼容PCA82C200的工作方式。
- **扩展接收缓冲器**:具备64字节的先进先出(FIFO)接收缓冲区,有效提升数据处理能力。
- **位速率支持**:最高可达1Mbits/s,满足高速通信需求。
- **PeliCAN模式**:此模式下,SJA1000提供了更多高级功能,如错误计数器的可读/写访问、可编程错误报警阈值、具体的错误类型中断等。
- **验收滤波器扩展**:支持4字节代码和屏蔽,增强识别码的筛选能力。
- **24MHz时钟频率**:确保高速数据传输的同时,维持系统的稳定性和精确性。
- **广泛接口兼容性**:适用于多种微处理器平台,提供灵活的应用选择。
- **可编程CAN输出驱动器配置**:用户可以根据实际需要调整输出特性,优化网络性能。
- **增强的温度适应范围**:在-40°C至+125°C之间稳定运行,适用于苛刻的工业环境。
#### 三、工作模式详解
**1. BasicCAN模式**
- **地址列表**:定义了控制器如何识别和处理不同的地址信息。
- **复位值**:提供了系统复位后的寄存器默认状态。
- **控制寄存器(CR)**:用于控制基本操作,如初始化、复位等。
- **命令寄存器(CMR)**:控制数据传输和接收过程。
- **状态寄存器(SR)**:反映当前控制器的状态。
- **中断寄存器(IR)**:指示哪些中断已发生。
- **发送缓冲器列表**:管理待发送的数据包。
- **接收缓冲器**:存储接收到的数据。
- **验收滤波器(ACF)**:根据预设规则过滤接收数据。
**2. PeliCAN模式**
- **地址列表**:扩展了识别码的长度,支持更复杂的数据分类。
- **模式寄存器(MOD)**:控制工作模式和某些特殊功能。
- **命令寄存器(CMR)**:在PeliCAN模式下,用于更精细的操作控制。
- **中断使能寄存器(IER)**:允许或禁止特定类型的中断。
- **仲裁丢失捕捉寄存器(ALC)**:记录仲裁过程中失去总线控制权的信息。
- **误码捕捉寄存器(ECC)**:保存最近发生的错误代码。
- **错误报警时序寄存器(EWLR)**:设定错误报警触发的条件。
- **RX/TX错误计数寄存器**:跟踪接收和发送过程中的错误数量。
- **RX信息计数器(RMC)**:统计接收数据包的数量。
- **RX缓冲器起始地址寄存器(RBSA)**:指定接收数据存储的起始位置。
#### 四、硬件特性与封装
SJA1000提供了两种主要的封装形式:
- **DIP28(塑质双列直插封装)**:28引脚封装,适合于传统电路板设计。
- **SO28(塑质小型线外封装)**:28引脚窄体封装,宽度仅为7.5mm,适用于空间受限的应用场景。
#### 五、总结
SJA1000 CAN控制器通过其强大的功能集、与PCA82C200的兼容性、以及PeliCAN模式下的创新特性,成为工业自动化、汽车电子等领域中不可或缺的核心组件。无论是从基础的网络控制到高级的数据管理,SJA1000都能提供卓越的性能和可靠性,是现代网络化系统设计的理想选择。