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

需积分: 0 1 下载量 157 浏览量 更新于2024-08-19 收藏 1.75MB PPT 举报
本文主要介绍了CAN控制器的相关知识,特别是关于双滤波器配置以及SJA1000这款CAN控制器的特性和寄存器结构。 CAN(Controller Area Network)控制器是微控制器与CAN总线之间的桥梁,负责处理数据的发送和接收。在微控制器中,CAN控制器通常用于接收和发送数据到CAN总线。当CPU需要发送数据时,它会写入数据并设置发送请求标志,然后由CAN控制器将数据封装成CAN帧发送到总线。在接收数据时,CPU则会读取接收状态标志和接收到的数据。 CAN总线通信涉及物理层、链路层和应用层,CAN控制器主要工作在链路层,负责数据帧的格式转换。CAN驱动器则位于物理层,实现逻辑电平与CAN总线上的“显性”、“隐性”位的转换。 SJA1000是一种常见的CAN控制器,它支持两种模式:BasicCAN基本模式(CAN2.0A,标准格式,11位标识符)和PeliCAN扩展模式(CAN2.0B,支持标准和扩展格式)。SJA1000内部包含了接口管理逻辑、位处理器、接受过滤器、错误管理逻辑等模块,并有发送缓冲器、接收缓冲器以及FIFO来处理数据传输。 寄存器寻址是SJA1000的重要特性,例如,模式寄存器(CAN地址0)可以配置工作模式,如Intel模式或Motorola模式。此外,SJA1000还有其他功能寄存器,如RX错误计数器、TX错误计数器、接收FIFO、TX缓冲器等,这些寄存器对于监控和控制CAN通信至关重要。 在硬件连接上,SJA1000提供了TX0和TX1两个输出端口,可以组成不同的输出模式。RX1端口的CBP引脚用于设定输入比较电压或接地。SJA1000的地址范围是0-255,其中0-127字节可用。电源方面,有VDD1/VSS1、VDD2/VSS2和VDD3/VSS3三路电源,需要分别退耦后再接系统电源。 总体来说,双滤波器配置允许CAN控制器在接收到一个滤波器匹配的帧后即可接收数据,提高了系统的灵活性和效率。而SJA1000作为一款成熟的CAN控制器,其丰富的功能和灵活的配置选项使其在CAN网络中广泛应用。了解和掌握这些知识对于设计和调试CAN总线系统是至关重要的。