寄存器描述
0x000 CAN_MODE
默认值:0x00000001 | CAN 模式寄存器 (CAN_MODE) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:5 | - | - | - |
4 | R/W | 0x0 | SLEEP_MOD 休眠模式 (Sleep Mode)
|
3 | R/W | 0x0 | FILTER_MOD 接收过滤器模式 (Acceptance Filter Mode)
|
2 | R/W | 0x0 | SELFTEST_MOD,。 自测模式 (Self Test Mode)
|
1 | R/W | 0x0 | LISTEN_MOD。 只听模式 (Listen Only Mode)
|
0 | R/W | 0x1 | RST_MOD 复位模式 (Reset Mode)
|
0x004 CAN_MCR
默认值:0x00000000 | CAN 控制寄存器 (CAN_MCR) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:6 | - | - | - |
4 | WO | 0x0 | SELF_REQ 自接收请求 (Self Reception Request )
|
3 | WO | 0x0 | CLR_OVF_FLAG 清除溢出标志 (Clear Overflow Flag )
|
2 | WO | 0x0 | RXB_REL 释放接收缓冲器 (Release Receive Buffer)
|
1 | WO | 0x0 | ABORT_REQ 中止发送 (Abort Transmission)
|
0 | WO | 0x0 | TX_REQ 发送请求 (Transmission Request)
|
0x008 CAN_STAT
默认值:0x0000003C | CAN 状态寄存器 (CAN_STAT) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7 | RO | 0x0 | BUS_STAT 总线状态 (Bus Status)
|
6 | RO | 0x0 | ERR_STAT 错误状态 (Error Status)
|
5 | RO | 0x1 | TX_STAT 发送状态 (Transmit Status)
|
4 | RO | 0x1 | RX_STAT 接收状态 (Receive Status)
|
3 | RO | 0x1 | TXC_STAT 发送完成状态 (Transmission Complete Status)
|
2 | RO | 0x1 | TXB_STAT 发送缓冲状态 (Transmit Buffer Status)
|
1 | RO | 0x0 | OVF_FLAG 溢出状态标志 (Overflow Flag)
|
0 | RO | 0x0 | RXB_STAT 接收缓冲状态 (Receive Buffer Status)
|
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)
注: 仅复位模式可写 |
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)
注: 仅复位模式可写 |
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 的位置
|
0x030 CAN_ERRCODE
默认值:0x00000000 | CAN 错误代码捕获寄存器 (CAN_ERRCODE) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:6 | RO | 0x0 | ERR_TYPE 错误类型 (Error Type)
|
5 | RO | 0x0 | ERR_DIR (Error Direction) 错误发生时数据传输方向
|
4:0 | RO | 0x00 | ERR_CODE 错误发生段代码 (Error Segment Code)
|
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),用于明确报文格式
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。
|
6 | R/W | 0x0 | RTR 远程发送请求位 (Remote Transmit Request)
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。
|
5:4 | - | - | - |
3:0 | R/W | 0x0 | DLC 数据长度代码 (Data Length Code)
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x044 CAN_BUF1
默认值:0x00000000 | CAN 缓冲 1 寄存器 (CAN_BUF1) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:0 | R/W | 0x0 | ID
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x048 CAN_BUF2
默认值:0x00000000 | CAN 缓冲 2 寄存器 (CAN_BUF2) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:5 | R/W | 0x0 | STID_EXID
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
4:0 | R/W | 0x0 | EXID
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x04C CAN_BUF3
默认值:0x00000000 | CAN 缓冲 3 寄存器 (CAN_BUF3) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:0 | R/W | 0x0 | STDATA1_EXID
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x050 CAN_BUF4
默认值:0x00000000 | CAN 缓冲 4 寄存器 (CAN_BUF4) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:3 | R/W | 0x0 | STDATA2_EXID
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
2:0 | R/W | 0x0 | STDATA2
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x054 CAN_BUF5
默认值:0x00000000 | CAN 缓冲 5 寄存器 (CAN_BUF5) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:0 | R/W | 0x0 | STDATA3_EXDATA1
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x058 CAN_BUF6
默认值:0x00000000 | CAN 缓冲 6 寄存器 (CAN_BUF6) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:0 | R/W | 0x0 | STDATA4_EXDATA2
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x05C CAN_BUF7
默认值:0x00000000 | CAN 缓冲 7 寄存器 (CAN_BUF7) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:0 | R/W | 0x0 | STDATA5_EXDATA3
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x060 CAN_BUF8
默认值:0x00000000 | CAN 缓冲 8 寄存器 (CAN_BUF8) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:0 | R/W | 0x0 | STDATA6_EXDATA4
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x064 CAN_BUF9
默认值:0x00000000 | CAN 缓冲 9 寄存器 (CAN_BUF9) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:0 | R/W | 0x0 | STDATA7_EXDATA5
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x068 CAN_BUF10
默认值:0x00000000 | CAN 缓冲 10 寄存器 (CAN_BUF10) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:0 | R/W | 0x0 | STDATA8_EXDATA6
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x06C CAN_BUF11
默认值:0x00000000 | CAN 缓冲 11 寄存器 (CAN_BUF11) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:0 | R/W | 0x0 | EXDATA7
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
0x070 CAN_BUF12
默认值:0x00000000 | CAN 缓冲 12 寄存器 (CAN_BUF12) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7:0 | R/W | 0x0 | EXDATA8
注: 对于接收缓冲只读,发送缓冲只写,复位模式时可读写。 |
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 |