Edit online

寄存器描述

27 May 2024
Read time: 13 minute(s)

0x000 CAN_MODE

默认值:0x00000001 CAN 模式寄存器 (CAN_MODE)
位域 类型 默认值 描述
31:5 - - -
4 R/W 0x0 SLEEP_MOD

休眠模式 (Sleep Mode)

  • 0x0:正常操作,控制器唤醒
  • 0x1:休眠模式,CAN 无总线活动和无中断发生
    注: 仅复位状态可写
3 R/W 0x0 FILTER_MOD

接收过滤器模式 (Acceptance Filter Mode)

  • 0x0:双过滤模式,使用两个过滤器
  • 0x1:单过滤模式,使用一个 4 字节过滤器
2 R/W 0x0 SELFTEST_MOD,。

自测模式 (Self Test Mode)

  • 0x0:正常操作,发送成功需有应答
  • 0x1:自测模式,在 SELF_REQ 自接收请求指令下,无需其它节点参与也能完成整个节点测试,发送成功无需应答
1 R/W 0x0 LISTEN_MOD。

只听模式 (Listen Only Mode)

  • 0x0:正常操作,错误计数停止于当前值
  • 0x1:只听模式,只接收总线上数据,不产生应答信号,也不更新接收错误计数
0 R/W 0x1 RST_MOD

复位模式 (Reset Mode)

  • 0x0:正常操作,控制器返回正常操作模式
  • 0x1:复位模式,发送或接收中止,控制器处于可配置状态

0x004 CAN_MCR

默认值:0x00000000 CAN 控制寄存器 (CAN_MCR)
位域 类型 默认值 描述
31:6 - - -
4 WO 0x0 SELF_REQ

自接收请求 (Self Reception Request )

  • 0x0:无动作
  • 0x1:允许发送数据的同时接收总线上的数据
3 WO 0x0 CLR_OVF_FLAG

清除溢出标志 (Clear Overflow Flag )

  • 0x0:无动作
  • 0x1:清除数据溢出标志位
2 WO 0x0 RXB_REL

释放接收缓冲器 (Release Receive Buffer)

  • 0x0:无动作
  • 0x1:释放,缓冲器中存放信息的内存空间被释放
1 WO 0x0 ABORT_REQ

中止发送 (Abort Transmission)

  • 0x0:无动作
  • 0x1:中止当前未开始的发送任务
0 WO 0x0 TX_REQ

发送请求 (Transmission Request)

  • 0x0:无动作
  • 0x1:信息被发送

0x008 CAN_STAT

默认值:0x0000003C CAN 状态寄存器 (CAN_STAT)
位域 类型 默认值 描述
31:8 - - -
7 RO 0x0 BUS_STAT

总线状态 (Bus Status)

  • 0x0:正常状态,控制器参与总线活动
  • 0x1:Bus Off 离线状态,控制器不参与总线活动。
6 RO 0x0 ERR_STAT

错误状态 (Error Status)

  • 0x0:所有错误计数器低于警报限制值
  • 0x1:至少一个错误计数器高于警报限制值
5 RO 0x1 TX_STAT

发送状态 (Transmit Status)

  • 0x0:无任何发送
  • 0x1:正在发送数据
4 RO 0x1 RX_STAT

接收状态 (Receive Status)

  • 0x0:无任何接收
  • 0x1:正在接收数据
3 RO 0x1 TXC_STAT

发送完成状态 (Transmission Complete Status)

  • 0x0:没有完成发送
  • 0x1:成功完成发送
2 RO 0x1 TXB_STAT

发送缓冲状态 (Transmit Buffer Status)

  • 0x0:发送缓冲不可用,发送缓冲已锁定,不可访问
  • 0x1:发送缓冲可用,发送缓冲已释放,可写入数据
1 RO 0x0 OVF_FLAG

溢出状态标志 (Overflow Flag)

  • 0x0:数据没有溢出
  • 0x1:数据溢出
0 RO 0x0 RXB_STAT

接收缓冲状态 (Receive Buffer Status)

  • 0x0:接收缓冲为空,无数据可读
  • 0x1:接收缓冲不为空,有数据可读

0x00C CAN_INTR

默认值:0x00000000 CAN 中断寄存器 (CAN_INTR)
位域 类型 默认值 描述
31:8 - - -
7 R/RC 0x0 ERRB_INT

总线错误中断 (Bus Error Interrupt)

节点检测到总线上发生了错误

读中断寄存器 CAN_INTR 任意位,清除该中断

6 R/RC 0x0 ARBLOST_INT

仲裁丢失中断 (Arbitration Lost Interrupt)

发送节点仲裁丢失

读中断寄存器 CAN_INTR 任意位,清除该中断

5 R/RC 0x0 ERRP_INT

被动错误中断 (Error Passive Interrupt)

节点在主动错误与被动错误状态间发生了切换,触发

读中断寄存器 CAN_INTR 任意位,清除该中断

4 RC 0x0 WAKEUP

唤醒中断 (Wake-Up Interrupt)

读中断寄存器 CAN_INTR 任意位,清除该中断

3 R/RC 0x0 OVF_INT

溢出中断 (Overflow Interrupt)

当前接收缓冲中存储的报文为溢出失效报文,触发

读中断寄存器 CAN_INTR 任意位,清除该中断

2 R/RC 0x0 ERRW_INT

错误报警中断 (Error Warning Interrupt)

错误状态和总线状态发生变化,触发

读中断寄存器 CAN_INTR 任意位,清除该中断

1 R/RC 0x0 TX_INT

发送中断 (Transmit Interrupt)

数据发送任务结束,可以执行新的数据发送任务,触发

读中断寄存器 CAN_INTR 任意位,清除该中断

0 R 0x0 RX_INT

接收中断 (Receive Interrupt)

RXB_STAT=1 接收缓冲不为空时触发,有数据待处理

对控制寄存器 CAN_MCR[2] 写 1,清除该中断

0x010 CAN_INTEN

默认值:0x00000000 CAN 中断使能寄存器 (CAN_INTEN)
位域 类型 默认值 描述
31:8 - - -
7 R/W 0x0 ERRB_EN

总线错误中断使能 (Bus Error Interrupt Enable)

6 R/W 0x0 ARBLOST_EN

仲裁丢失中断使能 (Arbitration Lost Interrupt Enable)

5 R/W 0x0 ERRP_EN

被动错误中断使能 (Error Passive Interrupt Enable)

4 R/W 0x0 WAKEUP_EN

唤醒中断使能 (Wake-Up Interrupt Enable)

3 R/W 0x0 OVF_EN

溢出中断使能 (Overflow Interrupt Enable)

2 R/W 0x0 ERRW_EN

错误报警中断使能 (Error Warning Interrupt Enable)

1 R/W 0x0 TXI_EN

发送中断使能 (Transmit Interrupt Enable)

0 R/W 0x0 RXI_EN

接收中断使能 (Receive Interrupt Enable)

0x018 CAN_BTR0

默认值:0x00000000 CAN 总线时序 0 寄存器 (CAN_BTR0)
位域 类型 默认值 描述
30:8 - - -
7:6 R/W 0x0 SJW
重新同步跳转宽度 (Synchronization Jump Width)
  • 0x0:1Tq
  • 0x1:2Tq
  • 0x2:3Tq
  • 0x3:4Tq
注: 仅复位模式可写
5:0 R/W 0x0 BRP

波特率预分频 (Baud Rate Prescaler),Tq = 2 × (BRP[5:0] + 1) × Tpclk

注: 仅复位模式可写

0x01C CAN_BTR1

默认值:0x00000000 CAN 总线时序 1 寄存器 (CAN_BTR1)
位域 类型 默认值 描述
30:24 - - -
7 R/W 0x0 SAM

采样次数 (Sample Time)

  • 0x0:采样 1 次,用于高速总线
  • 0x1:采样 3 次,用于低和中速总线。
注: 仅复位模式可写
6:4 R/W 0x0 TS2

缓冲时间段 2 的宽度

[0x0~0x7]:1~8Tq

注: 仅复位模式可写
3:0 R/W 0x0 TS1

缓冲时间段 1 的宽度

[0x0~0xF]:1~16Tq

注: 仅复位模式可写

0x02C CAN_ARBLOST

默认值:0x00000000 CAN 仲裁丢失捕获寄存器 (CAN_ARBLOST)
位域 类型 默认值 描述
31:5 - - -
4:0 RO 0x00 ARBLOST_CAP

仲裁丢失捕获 (Arbitration Lost Capture),记录丢失 bit 的位置

  • 0x00~0x0A:SFF ID10~ID0 或者 EFF ID28~ID18 仲裁丢失
  • 0x0B:SRTR 仲裁丢失
  • 0x0C:IDE 仲裁丢失
  • 0x0D~0x1E:EFF ID17~ID0 仲裁丢失
  • 0x1F:RTR 仲裁丢失

0x030 CAN_ERRCODE

默认值:0x00000000 CAN 错误代码捕获寄存器 (CAN_ERRCODE)
位域 类型 默认值 描述
31:8 - - -
7:6 RO 0x0 ERR_TYPE

错误类型 (Error Type)

  • 0x0:位错误
  • 0x1:格式错误
  • 0x2:填充错误
  • 0x3:其它类型错误
5 RO 0x0 ERR_DIR (Error Direction)

错误发生时数据传输方向

  • 0x0:错误发生于发送
  • 0x1:错误发生于接收
4:0 RO 0x00 ERR_CODE

错误发生段代码 (Error Segment Code)

  • 0x03:SOF,帧起始
  • 0x02:ID28~ID21,标识符
  • 0x06:ID20~ID18,标识符
  • 0x04:SRTR,代替远程发送请求位
  • 0x05:IDE,标识符扩展位
  • 0x07:ID17~ID13,标识符
  • 0x0F:ID12~ID5,标识符
  • 0x0E:ID4~ID0,标识符
  • 0x0C:RTR,远程发送请求位
  • 0x0D:R1,保留位
  • 0x09:R0,保留位
  • 0x0B:DLC,数据长度代码
  • 0x0A:数据场
  • 0x08:CRC,CRC 序列
  • 0x18:CRC 分界符
  • 0x19:ASK,应答槽
  • 0x1B:ASK 分界符
  • 0x1A:EOF,帧结尾
  • 0x12:间隔帧
  • 0x11:主动错误标志
  • 0x16:被动错误标志
  • 0x13:兼容显性位
  • 0x17:错误分界符
  • 0x1C:过载标志

0x034 CAN_ERRWT

默认值:0x00000060 CAN 错误报警阈值寄存器 (CAN_ERRWT)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x60 ERRWT

错误报警阈值 (Error Warning Threshold)

注: 正常模式为只读状态,复位模式下可读写。任一错误计数值超过该阈值,触发错误报警中断(使能信号有效情况下)

0x038 CAN_RXERR

默认值:0x00000000 CAN 接收错误计数寄存器 (CAN_RXERR)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 REC
接收错误计数 (Receive Error Counter)
注: 正常模式为只读状态,复位模式下可读写。

0x03C CAN_TXERR

默认值:0x00000000 CAN 发送错误计数寄存器 (CAN_TXERR)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 TEC
发送错误计数 (Transmit Error Counter)
注: 正常模式为只读状态,复位模式下可读写。

0x040 CAN_BUF0

默认值:0x00000000 CAN 缓冲 0 寄存器 (CAN_BUF0)
位域 类型 默认值 描述
31:8 - - -
7 R/W 0x0 IDE

标识符扩展位 (Identifier Extended),用于明确报文格式

  • 0x0:标准格式,SFF
  • 0x1:扩展格式,EFF
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。
6 R/W 0x0 RTR

远程发送请求位 (Remote Transmit Request)

  • 0x0:数据帧
  • 0x1:远程帧
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。
5:4 - - -
3:0 R/W 0x0 DLC
数据长度代码 (Data Length Code)
  • 0x0:无数据内容
  • 0x1~0x8:数据内容
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x044 CAN_BUF1

默认值:0x00000000 CAN 缓冲 1 寄存器 (CAN_BUF1)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 ID
  • 标准格式标识符 [10:3]
  • 扩展格式标识符[28:21]
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x048 CAN_BUF2

默认值:0x00000000 CAN 缓冲 2 寄存器 (CAN_BUF2)
位域 类型 默认值 描述
31:8 - - -
7:5 R/W 0x0 STID_EXID
  • 标准格式标识 [2:0]
  • 扩展格式标识符[20:18]
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。
4:0 R/W 0x0 EXID
  • 扩展格式标识符[17:13]
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x04C CAN_BUF3

默认值:0x00000000 CAN 缓冲 3 寄存器 (CAN_BUF3)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 STDATA1_EXID
  • EXID[12:5],扩展格式标识符[12:5]
  • STDATA1[7:0],标准格式数据字节 1
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x050 CAN_BUF4

默认值:0x00000000 CAN 缓冲 4 寄存器 (CAN_BUF4)
位域 类型 默认值 描述
31:8 - - -
7:3 R/W 0x0 STDATA2_EXID
  • EXID[4:0],扩展格式标识符[4:0]
  • STDATA2[7:3] ,标准格式数据字节 2[7:3]
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。
2:0 R/W 0x0 STDATA2
  • STDATA2[2:0],标准格式数据字节 2[2:0]
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x054 CAN_BUF5

默认值:0x00000000 CAN 缓冲 5 寄存器 (CAN_BUF5)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 STDATA3_EXDATA1
  • STDATA3[7:0],标准格式数据字节 3
  • EXDATA1[7:0],扩展格式数据字节 1
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x058 CAN_BUF6

默认值:0x00000000 CAN 缓冲 6 寄存器 (CAN_BUF6)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 STDATA4_EXDATA2
  • STDATA4[7:0],标准格式数据字节 4
  • EXDATA2[7:0],扩展格式数据字节 2
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x05C CAN_BUF7

默认值:0x00000000 CAN 缓冲 7 寄存器 (CAN_BUF7)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 STDATA5_EXDATA3
  • STDATA5[7:0],标准格式数据字节 5
  • EXDATA3[7:0],扩展格式数据字节 3
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x060 CAN_BUF8

默认值:0x00000000 CAN 缓冲 8 寄存器 (CAN_BUF8)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 STDATA6_EXDATA4
  • STDATA6[7:0],标准格式数据字节 6
  • EXDATA4[7:0],扩展格式数据字节 4
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x064 CAN_BUF9

默认值:0x00000000 CAN 缓冲 9 寄存器 (CAN_BUF9)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 STDATA7_EXDATA5
  • STDATA7[7:0],标准格式数据字节 7
  • EXDATA5[7:0],扩展格式数据字节 5
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x068 CAN_BUF10

默认值:0x00000000 CAN 缓冲 10 寄存器 (CAN_BUF10)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 STDATA8_EXDATA6
  • STDATA8[7:0],标准格式数据字节 8
  • EXDATA6[7:0],扩展格式数据字节 6
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x06C CAN_BUF11

默认值:0x00000000 CAN 缓冲 11 寄存器 (CAN_BUF11)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 EXDATA7
  • EXDATA7[7:0],扩展格式数据字节 7
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x070 CAN_BUF12

默认值:0x00000000 CAN 缓冲 12 寄存器 (CAN_BUF12)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 EXDATA8
  • EXDATA8[7:0],扩展格式数据字节 8
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。

0x040 CAN_RXCODE0

默认值:0x00000000 CAN 接收代码 0 寄存器 (CAN_RXCODE0)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 RXCODE0

接收过滤代码 0 (Acceptance Code0),详细描述见 接收过滤器

注: 正常模式只读,复位模式时可读写。

0x044 CAN_RXCODE1

默认值:0x00000000 CAN 接收代码 1 寄存器 (CAN_RXCODE1)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 RXCODE1

接收过滤代码 1 (Acceptance Code1),详细描述见 接收过滤器

注: 正常模式只读,复位模式时可读写。

0x048 CAN_RXCODE2

默认值:0x00000000 CAN 接收代码 2 寄存器 (CAN_RXCODE2)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 RXCODE2

接收过滤代码 2 (Acceptance Code2),详细描述见 接收过滤器

注: 正常模式只读,复位模式时可读写。

0x04C CAN_RXCODE3

默认值:0x00000000 CAN 接收代码 3 寄存器 (CAN_RXCODE3)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 RXCODE3
接收过滤代码 3 (Acceptance Code3),详细描述见 接收过滤器
注: 正常模式只读,复位模式时可读写。

0x050 CAN_RXMASK0

默认值:0x00000000 CAN 接收屏蔽 0 寄存器 (CAN_RXMASK0)
位域 类型 默认值 描述
7:0 R/W 0x0 RXMASK0
接收屏蔽 0 (Acceptance Mask0),详细描述见 接收过滤器
注: 正常模式只读,复位模式时可读写。

0x054 CAN_RXMASK1

默认值:0x00000000 CAN 接收屏蔽 1 寄存器 (CAN_RXMASK1)
位域 类型 默认值 描述
7:0 R/W 0x0 RXMASK1
接收屏蔽 1 (Acceptance Mask1),详细描述见 接收过滤器
注: 正常模式只读,复位模式时可读写。

0x058 CAN_RXMASK2

默认值:0x00000000 CAN 接收屏蔽 2 寄存器 (CAN_RXMASK2)
位域 类型 默认值 描述
7:0 R/W 0x0 RXMASK2
接收屏蔽 2 (Acceptance Mask2),详细描述见 接收过滤器
注: 正常模式只读,复位模式时可读写。

0x05C CAN_RXMASK3

默认值:0x00000000 CAN 接收屏蔽 3 寄存器 (CAN_RXMASK3)
位域 类型 默认值 描述
7:0 R/W 0x0 RXMASK3
接收屏蔽 3 (Acceptance Mask3),详细描述见接收过滤器
注: 正常模式只读,复位模式时可读写。

0x074 CAN_RXC

默认值:0x00000000 CAN 接收数据计数寄存器 (CAN_RXC)
位域 类型 默认值 描述
31:8 - - -
7:0 RO 0x0 RXC

接收数据计数 (Receive Message Counter),存储接收缓冲中数据包个数

0x078 CAN_RSADDR

默认值:0x00000000 CAN 接收缓冲起始地址寄存器 (CAN_RSADDR)
位域 类型 默认值 描述
31:6 - - -
5:0 R/W 0x0 RSADDR
接收缓冲器起始地址 (Receive Buffer Start Address)
注: 正常模式只读,复位模式时可读写。

0x080 CAN_RXFIFO

默认值:0x00000000 CAN 接收 FIFO 寄存器 (RX FIFO)
位域 类型 默认值 描述
31:8 - - -
7:0 RO 0x0 RXFIFO
接收 FIFO (Receive FIFO),0x80~0x17C 共 64 bytes。
注: 正常模式只读,复位模式时可读写。

0x180 CAN_TXB_RO

默认值:0x00000000 CAN 发送缓冲只读寄存器 (TX Buffer Read Only)
位域 类型 默认值 描述
31:8 - - -
7:0 RO 0x0 TXB_RO

发送缓冲只读寄存器 (Transmit Buffer Read Only)

每个寄存器只有低 8 位可有效访问,其余高位被读时返回 0。

0xFFC CAN_VERSION

默认值:0x00000100 CAN 版本寄存器 (VERSION)
位域 类型 默认值 描述
31:0 RO 0x00000100 Version

版本号,采用 BCD 码显示,V1.0