SJA1000独立CAN控制器技术手册

5星 · 超过95%的资源 需积分: 9 31 下载量 119 浏览量 更新于2024-07-30 1 收藏 719KB PDF 举报
"SJA1000中文资料" SJA1000是一款独立的CAN(Controller Area Network)控制器,由飞思卡尔(现NXP半导体)制造,用于实现汽车电子和其他工业领域的通信网络。这款控制器的设计目的是提供高效、可靠的CAN协议支持。 ### 特性 SJA1000的主要特性包括: 1. 兼容PCA82C200,使得设计者可以轻松地将现有系统升级到SJA1000。 2. 支持两种工作模式:BasicCAN和PeliCAN,满足不同复杂度的应用需求。 3. 高度集成的错误管理逻辑,能够检测和报告通信错误,确保数据的完整性。 4. 强大的验收滤波器,可以过滤无效或不相关的CAN消息,提高系统的处理效率。 5. 可配置的位时序逻辑,适应不同的总线速度和电气环境。 6. 提供中断机制,减少CPU的干预,提高系统响应速度。 ### 总体说明 SJA1000包含多个关键组件: - **接口管理逻辑 (IML)**:处理与微处理器的通信。 - **发送缓冲器 (TXB)**:存储待发送的数据帧。 - **接收缓冲器 (RXFIFO)**:接收并暂存从CAN总线上接收到的数据帧。 - **验收滤波器 (ACF)**:根据预设规则筛选接收的数据。 - **位流处理器 (BSP)**:负责CAN报文的编码和解码。 - **位时序逻辑 (BTL)**:控制CAN信号的发送和接收时序。 - **错误管理逻辑 (EML)**:监测总线错误,并更新错误状态。 ### 模式说明 - **BasicCAN模式**:适用于简单应用,提供了基本的CAN通信功能。 - **PeliCAN模式**:扩展了BasicCAN的功能,增加了错误处理能力,支持多个优先级和更复杂的过滤机制。 在两种模式下,SJA1000都有相应的寄存器来配置和监控其操作,如控制寄存器、命令寄存器、状态寄存器和中断寄存器等,这些寄存器在不同模式下有不同的作用和设置。 ### 寄存器细节 - **控制寄存器 (CR)**:设置工作模式和CAN控制器的其他基本参数。 - **命令寄存器 (CMR)**:启动发送、接收操作,清除错误标志等。 - **状态寄存器 (SR)**:显示当前的CAN控制器状态,如发送/接收缓冲区状态、错误状态等。 - **中断寄存器 (IR)**:显示当前发生的中断事件。 - **中断使能寄存器 (IER)**:允许或禁止特定中断的发生。 - **仲裁丢失捕捉寄存器 (ALC)**:记录仲裁丢失的详细信息。 - **误码捕捉寄存器 (ECC)**:存储总线上的错误信息。 - **错误报警时序寄存器 (EWLR)**:设置错误警告界限。 - **RX/TX错误计数寄存器**:跟踪接收和发送错误次数。 - **接收缓冲器起始地址寄存器 (RBSA)**:指定接收缓冲区的开始位置。 ### 总线定时寄存器 (BTR0, BTR1) 和时钟分频寄存器 (CDR) 这些寄存器用于配置CAN总线的波特率和时序参数,以适应不同速率的需求。 ### 封装和应用 SJA1000通常采用DIP或SOIC封装,适用于各种工业和汽车电子系统,特别是在生命支持系统中,其高可靠性和稳定性是至关重要的。 总结来说,SJA1000是面向CAN通信的高性能控制器,具备广泛的功能和高度的灵活性,能够在各种环境中实现稳定且高效的通信。其详细的文档资料使得开发者能够深入了解并充分利用其特性,构建强大的CAN网络系统。