Edit online

寄存器描述

3 Mar 2025
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

默认值:0x00000000

CAN 版本寄存器 (VERSION)

位域

类型

默认值

描述

31:0

RO

0x00000000 Version

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