第一大类:和CAN控制器直接相关的寄存器类型
CAN寄存器主要有七大类:
1:CAN控制寄存器。控制寄存器用于改变CAN控制器的功能行为。通过置位或者清除这些位,可以控制CAN控制器的对应位的功能。微控制器可以对该寄存器进行读/写操作。自己的理解:CAN控制寄存器实际上就是用来设置CAN控制器特殊功能的,比如初始化CAN控制器,设置使能中断等等
位 | 符号 | 值 | 描述 | 复位值 | 访问 |
0 | INIT |
0 1 | 初始化 正常操作 启动初始化。 | 1 | R/W |
1 | IE |
0 1 | 模块中断使能 禁能CAN中断。中断电平为高电平 使能CAN中断。中断线被设置为低电平,并保持为低电平,直到所有挂起的中断被清楚 | 0 | R/W |
2 | SIE |
0 1 | 状态更改中断使能 禁能状态更改中断。不会产生状态更改中断 使能状态更改中断。当成功完成报文传输或检测到CAN总线错误时,产生状态更改中断 | 0 | R/W |
3 | EIE |
0 1 | 错误中断使能 禁能错误中断 使能错误中断。CANSTAT寄存器的BOFF或EWARN位发生改变时候会产生中断 | 0 | R/W |
4 | -- | -- | 保留 | 0 | -- |
5 | DAR |
0 1 | 禁能自动重发 使能被干扰报文的自动重发 禁能自动重发 | 0 | R/W |
6 | CCE |
0 1 | 配置更改使能 CPU不对位定时寄存器进行读写 CPU会在INIT位为1时对CANBT寄存器进行读写 | 0 | R/W |
7 | TEST |
0 1 | 测试模式使能 正常操作 测试模式 |
2:CAN状态寄存器。CAN状态寄存器通常是用来记录描述CAN总线数据发送接收是否成功、是否有位错误、总线状态等等。通常通过这些状态位从而获知系统状态。
3:CAN错误计数器。用来描述接收发送报文错误个数、已经是否达到总线消极的个数等
4:CAN位定时寄存器。用来设置采样时间、采样点之后时间段和采样点之前时间段、同步跳转宽度。
5:CAN中断寄存器。当出现消极错误,该寄存器使得总线处于中断状态。通过控制寄存器也可以设置CAN中断寄存器的状态
6:CAN测试寄存器。通过设置CAN控制器的测试位,可以对测试寄存器进行写访问
7:CAN波特率预分频扩展寄存器。
第二大类:报文借口寄存器。主要用于控制CPU对报文RAM的访问。主要由报文缓冲区寄存器和命令请求寄存器组成。
1、CAN报文借口命令请求寄存器。一旦CPU将报文编号写入到命令请求寄存器,报文传输启动
2、CAN报文接口命令屏蔽寄存器。用于设置传输方向。若为1,则为写传输;若为0,则为读传输;
3、报文缓存寄存器
第三大类:CAN报文处理程序寄存器。所有报文处理程序寄存器都是只读寄存器。
第四类:CAN时钟分频器寄存器