CAN控制器解析:时钟分频寄存器(CDR)配置与功能

需积分: 0 1 下载量 44 浏览量 更新于2024-08-19 收藏 1.75MB PPT 举报
本文主要介绍了时钟分频寄存器(CDR)在CAN控制器中的应用,以及CAN控制器的基本结构和特性,重点是SJA1000型号的CAN控制器。 时钟分频寄存器(CDR)是CAN控制器中一个关键的配置寄存器,用于设定CAN总线的工作频率。在基本模式下,CDR可以设置不同的分频系数来调整CAN控制器的时钟速度。这些系数包括fosc/2、fosc/4、fosc/6、fosc/8、fosc/10、fosc/12、fosc/14和fosc,其中fosc代表系统振荡器的频率。通过选择不同的CDR位组合,用户可以灵活地控制CAN通信的速度,以适应不同的系统需求。例如,当CD.2、CD1和CD.0分别为0、0和0时,时钟分频系数为fosc/2,而当它们全为1时,系数则为fosc本身。 CAN控制器的主要功能是处理CPU与CAN总线之间的数据传输。对于CPU,它可以写入发送数据并设置发送请求标志,然后由CAN控制器负责发送。同时,CPU可以从控制器读取接收状态标志并读取接收数据。在CAN总线方面,控制器负责将发送数据封装成符合CAN协议的帧进行发送,并接收来自总线的帧,将其解封装并交给CPU。 SJA1000是一款常见的CAN控制器,具有两种工作模式:BasicCAN(基本模式)和PeliCAN(扩展模式),分别对应CAN 2.0A和CAN 2.0B协议。该控制器包含位处理器、接受过滤、错误管理逻辑等组件,支持高达1Mbps的通信速率。其寄存器寻址使得用户可以通过特定的地址访问和配置控制器的各项参数。 此外,SJA1000还具备一些其他特性,如MODE引脚可以设置为Intel或Motorola模式,ALE引脚用于在数据线和地址线之间切换,TX0和TX1引脚可以配置为不同的输出模式。该控制器还有错误计数器、接收和发送缓冲器以及接收FIFO,用于管理和检测通信错误,确保数据的可靠传输。 SJA1000的地址空间从0到255,其中0-127字节用于实际使用。在硬件设计中,需要注意VDD1/VSS1、VDD2/VSS2和VDD3/VSS3这三组电源的正确连接和退耦,以确保数字、输入和输出信号的稳定供电。 总结来说,时钟分频寄存器(CDR)在CAN控制器中扮演着调节通信速率的角色,而SJA1000作为一款功能丰富的CAN控制器,提供了多种配置选项和高级功能,以满足不同应用环境下的需求。