CAN控制器解析:SJA1000及滤波器配置

需积分: 0 1 下载量 87 浏览量 更新于2024-08-19 收藏 1.75MB PPT 举报
本文档主要介绍了CAN控制器的相关知识,特别是SJA1000这款控制器,涉及了CAN控制器的基本功能、工作原理以及SJA1000的特性、寄存器配置等内容。 ### 1. CAN控制器作用 CAN控制器是微控制器与CAN总线之间的接口,它负责处理微控制器与总线之间的通信。微控制器通过写入发送数据并设置发送请求标志来启动发送过程,同时,控制器会读取接收状态标志以获取接收数据。在物理层,CAN控制器和CAN驱动器协同工作,将数据转换为CAN帧在总线上发送,并解码接收到的CAN帧。 ### 2. CAN总线结构 CAN总线由CAN控制器、CAN驱动器组成,它们完成逻辑电平到"显性"和"隐性"电平的转换。通信过程中,数据经过位处理、接受过滤和错误管理等步骤,从应用层经过链路层和物理层传输。 ### 3. SJA1000 CAN控制器 SJA1000是一款支持基本CAN协议(CAN2.0A)和扩展模式(CAN2.0B)的控制器,具备不同工作模式,如Intel模式和Motorola模式。其寄存器寻址方式允许对控制器进行详细配置。 ### 4. 模式寄存器 模式寄存器(CAN地址0)用于设定控制器的工作模式。例如,设置D7位为1可以进行复位操作,初始化控制器。 ### 5. 地址和电源 SJA1000的地址范围为0-255,其中0-127字节实际被使用。设备有三种电源:VDD1/VSS1为逻辑电源,VDD2/VSS2为输入模拟电源,VDD3/VSS3为输出模拟电源,每个电源都需要独立退耦后连接到系统电源。 ### 6. 输入/输出特性 SJA1000具有TX0和TX1两个输出端口,可以配置为不同的输出模式。RX1端口在CBP引脚的不同状态下,可以作为2.5V输入比较电压或接地。 ### 7. 寄存器分配 SJA1000的寄存器包括RX错误计数器、TX错误计数器、RX/TX缓冲器、RX报文计数器、接收FIFO等,这些寄存器用于监控和控制CAN通信的各个方面。 ### 8. 接收FIFO 接收FIFO(First-In-First-Out)用于存储接收到的CAN帧,提高了数据处理效率,其起始地址为00,并且有特定的寄存器用于管理和访问接收数据。 ### 9. TX缓冲器 TX缓冲器用于存储待发送的CAN帧,确保数据正确无误地发送到CAN总线。 ### 10. 多用途寄存器 除了常规功能寄存器,SJA1000还包含多用途寄存器,可以根据需求进行额外的配置。 CAN控制器,尤其是SJA1000,是实现CAN总线通信的关键组件,通过精确的寄存器配置和丰富的接口选项,它可以高效、可靠地处理总线上的数据传输。在设计和实施CAN网络时,理解这些基础知识至关重要。