4.6.3. 寄存器列表

表 4.6 DMA 寄存器地址映射表

Module Name

Mapping Size

Offset

DMA

1 KB

0x000

表 4.7 DMA 寄存器列表

Register Name

Offset

Description

DMA_IRQ_EN

0x000

DMA中断控制(DMA Interrupt Request Enable)

-

0x004~0x00C

-

DMA_IRQ_STA

0x010

DMA中断状态(DMA Interrupt States)

-

0x014~0x01C

-

DMA_MEM_CFG

0x020

DMA存储模块配置(DMA Memory Config)

-

0x024

-

DMA_GATE

0x028

DMA锁定配置(DMA GATE)

-

0x02C

-

DMA_CH_STA

0x030

DMA通道状态(DMA Channel State)

-

0x034~0x0FC

-

DMA_CH_EN

0x100+N*0x40(N=0~3)

DMA通道使能(DMA Channel Enable)

DMA_CH_PAUSE

0x104+N*0x40(N=0~3)

DMA通道暂定(DMA Channel Pause)

DMA_CH_TASK

0x108+N*0x40(N=0~3)

DMA通道任务地址(DMA Channel task Addr)

DMA_CH_CFG

0x10C+N*0x40(N=0~3)

DMA通道配置(DMA Channel Config)

DMA_SRC_ADDR

0x110+N*0x40(N=0~3)

DMA源端地址(DMA Source Addr)

DMA_SINK_ADDR

0x114+N*0x40(N=0~3)

DMA终端地址(DMA Sink Addr)

DMA_BCNT_LEFT

0x118+N*0x40(N=0~3)

DMA传输剩余字节(DMA Byte Counter Left)

DMA_MODE

0x128+N*0x40(N=0~3)

DMA模式(DMA Mode)

DMA_FDES_ADDR

0x12C+N*0x40(N=0~3)

DMA前一任务地址(DMA Former Descriptor Address)

DMA_PKG_NUM

0x130+N*0x40(N=0~3)

DMA已传任务数量(DMA Package Number)

DMA_MEM_SET

0x134+N*0x40(N=0~3)

DMA内存设置(DMA Memory Set)

4.6.4. 寄存器描述

4.6.4.1. 0x000 DMA_IRQ_EN

默认值:0x00000000

DMA中断控制(DMA Interrupt Request Enable)

位域

类型

默认值

描述

31:16

-

-

-

15

R/W

0x0

CH3_ADDR_REQ_ERR_EN
通道3地址请求错误中断使能
0: 关闭中断
1: 打开中断

14

R/W

0x0

CH3_ALL_FINISH_IRQ_EN
通道3完成全部任务中断使能
0: 关闭中断
1: 打开中断

13

R/W

0x0

CH3_TASK_FINISH_IRQ_EN
通道3完成一个任务中断使能
0: 关闭中断
1: 打开中断

12

R/W

0x0

CH3_TASK_HALF_IRQ_EN
通道3完成半个任务中断使能
0: 关闭中断
1: 打开中断

11

R/W

0x0

CH2_ADDR_REQ_ERR_EN
通道2地址请求错误中断使能
0: 关闭中断
1: 打开中断

10

R/W

0x0

CH2_ALL_FINISH_IRQ_EN
通道2完成全部任务中断使能
0: 关闭中断
1: 打开中断

9

R/W

0x0

CH2_TASK_FINISH_IRQ_EN
通道2完成一个任务中断使能
0: 关闭中断
1: 打开中断

8

R/W

0x0

CH2_TASK_HALF_IRQ_EN
通道2完成半个任务中断使能
0: 关闭中断
1: 打开中断

7

R/W

0x0

CH1_ADDR_REQ_ERR_EN
通道1地址请求错误中断使能
0: 关闭中断
1: 打开中断

6

R/W

0x0

CH1_ALL_FINISH_IRQ_EN
通道1完成全部任务中断使能
0: 关闭中断
1: 打开中断

5

R/W

0x0

CH1_TASK_FINISH_IRQ_EN
通道1完成一个任务中断使能
0: 关闭中断
1: 打开中断

4

R/W

0x0

CH1_TASK_HALF_IRQ_EN
通道1完成半个任务中断使能
0: 关闭中断
1: 打开中断

3

R/W

0x0

CH0_ADDR_REQ_ERR_EN
通道0地址请求错误中断使能
0: 关闭中断
1: 打开中断

2

R/W

0x0

CH0_ALL_FINISH_IRQ_EN
通道0完成全部任务中断使能
0: 关闭中断
1: 打开中断

1

R/W

0x0

CH0_TASK_FINISH_IRQ_EN
通道0完成一个任务中断使能
0: 关闭中断
1: 打开中断

0

R/W

0x0

CH0_TASK_HALF_IRQ_EN
通道0完成半个任务中断使能
0: 关闭中断
1: 打开中断

4.6.4.2. 0x010 DMA_IRQ_STA

默认值:0x00000000

DMA中断状态(DMA Interrupt States)

位域

类型

默认值

描述

31:16

-

-

-

15

R/W1C

0x0

CH3_ADDR_REQ_ERR_STA
通道3地址请求错误中断状态
0: 无中断
1: 有中断

14

R/W1C

0x0

CH3_ALL_FINISH_IRQ_STA
通道3完成全部任务中断状态
0: 无中断
1: 有中断

13

R/W1C

0x0

CH3_TASK_FINISH_IRQ_STA
通道3完成一个任务中断状态
0: 无中断
1: 有中断

12

R/W1C

0x0

CH3_TASK_HALF_IRQ_STA
通道3完成半个任务中断状态
0: 无中断
1: 有中断

11

R/W1C

0x0

CH2_ADDR_REQ_ERR_STA
通道2地址请求错误中断状态
0: 无中断
1: 有中断

10

R/W1C

0x0

CH2_ALL_FINISH_IRQ_STA
通道2完成全部任务中断状态
0: 无中断
1: 有中断

9

R/W1C

0x0

CH2_TASK_FINISH_IRQ_STA
通道2完成一个任务中断状态
0: 无中断
1: 有中断

8

R/W1C

0x0

CH2_TASK_HALF_IRQ_STA
通道2完成半个任务中断状态
0: 无中断
1: 有中断

7

R/W1C

0x0

CH1_ADDR_REQ_ERR_STA
通道1地址请求错误中断状态
0: 无中断
1: 有中断

6

R/W1C

0x0

CH1_ALL_FINISH_IRQ_STA
通道1完成全部任务中断状态
0: 无中断
1: 有中断

5

R/W1C

0x0

CH1_TASK_FINISH_IRQ_STA
通道1完成一个任务中断状态
0: 无中断
1: 有中断

4

R/W1C

0x0

CH1_TASK_HALF_IRQ_STA
通道1完成半个任务中断状态
0: 无中断
1: 有中断

3

R/W1C

0x0

CH0_ADDR_REQ_ERR_STA
通道0地址请求错误中断状态
0: 无中断
1: 有中断

2

R/W1C

0x0

CH0_ALL_FINISH_IRQ_STA
通道0完成全部任务中断状态
0: 无中断
1: 有中断

1

R/W1C

0x0

CH0_TASK_FINISH_IRQ_STA
通道0完成一个任务中断状态
0: 无中断
1: 有中断

0

R/W1C

0x0

CH0_TASK_HALF_IRQ_STA
通道0完成半个任务中断状态
0: 无中断
1: 有中断

4.6.4.3. 0x020 DMA_MEM_CFG

默认值:0x80000000

DMA存储模块配置(DMA Memory Config)

位域

类型

默认值

描述

31

R/W

0x1

MEM_BURST_SET
存储类型突发设置
0: BURST8
1: BURST16

30:0

_

_

_

4.6.4.4. 0x028 DMA_GATE

默认值:0x00000000

DMA锁定配置(DMA GATE)

位域

类型

默认值

描述

31:8

_

_

_

7:1

_

_

_

0

R/W

0x0

DMA_GATE_BYPASS
DMA 锁定解除
0: 关闭
1: 开启
一个通道对应1BIT

4.6.4.5. 0x030 DMA_CH_STA

默认值:0x00000000

DMA通道状态(DMA Channel State)

位域

类型

默认值

描述

31:4

_

_

_

3

R

0x0

DMA_CH3_STATUS
DMA通道3状态
0: 空闲中
1: 工作中

2

R

0x0

DMA_CH2_STATUS
DMA通道2状态
0: 空闲中
1: 工作中

1

R

0x0

DMA_CH1_STATUS
DMA通道1状态
0: 空闲中
1: 工作中

0

R

0x0

DMA_CH0_STATUS
DMA通道0状态
0: 空闲中
1: 工作中

4.6.4.6. 0x100+N*0x40(N=0~3) DMA_CH_EN

默认值:0x00000000

DMA通道使能(DMA Channel Enable)

位域

类型

默认值

描述

31:1

_

_

_

0

R/WAC

0x0

DMA_CH_EN
DMA通道使能
0: 关闭
1: 打开
注意DMA传输完成后,该位会自动清零,可以通过读取该位表示DMA
当前状态

4.6.4.7. 0x104+N*0x40(N=0~3) DMA_CH_PAUSE

默认值:0x00000000

DMA通道暂定(DMA Channel Pause)

位域

类型

默认值

描述

31:6

_

_

_

5

R/WAC

0x0

MEM_BYTE_ENABLE
内存字节模式使能
0: 关闭
1: 打开
DMA完成之后自动清零

4

R/WAC

0x0

MEM_SET_ENABLE
内存设置使能
0: 关闭
1: 打开
DMA完成之后自动清零

3:1

_

_

_

0

R/W

0x0

DMA_CH_PAUSE
DMA通道暂停
0: 继续传输
1: 暂停传输

4.6.4.8. 0x108+N*0x40(N=0~3) DMA_CH_TASK

默认值:0x00000000

DMA通道任务地址(DMA Channel task Addr)

位域

类型

默认值

描述

31:0

R/W

0x0

DMA_TASK_ADDR
DMA任务地址

4.6.4.9. 0x10C+N*0x40(N=0~3) DMA_CH_CFG

默认值:0x00000000

DMA通道配置(DMA Channel Config)

位域

类型

默认值

描述

31:27

_

_

_

26:25

R

0x0

SNK_DATA_WIDTH
DMA终端数据位宽
0: 8位
1: 16位
2: 32位
3: 64位

24

R

0x0

SNK_ADDR_MODE
DMA终端地址模式
0: 递增
1: 保持

23:22

R

0x0

SNK_BURST
DMA终端突发数
0: 1
1: 4
2: 8
3: 16

21:16

R

0x0

SNK_DEV
DMA终端设备

15:11

_

_

_

10:9

R

0x0

SRC_DATA_WIDTH
DMA源端数据位宽(总线上有效数据的位宽)
0: 8位
1: 16位
2: 32位
3: 64位

8

R

0x0

SRC_ADDR_MODE
DMA源端地址模式
0: 递增
1: 保持

7:6

R

0x0

SRC_BURST (Device IO BURST 配置1)
DMA源端突发数
0: 1
1: 4
2: 8
3: 16

5:0

R

0x0

SRC_DEV
DMA源端设备

4.6.4.10. 0x110+N*0x40(N=0~3) DMA_SRC_ADDR

默认值:0x00000000

DMA源端地址(DMA Source Addr)

位域

类型

默认值

描述

31:0

R

0x0

DMA任务源端地址[2:0]=3’b000(8byte对齐)

4.6.4.11. 0x114+N*0x40(N=0~3) DMA_SINK_ADDR

默认值:0x00000000

DMA终端地址(DMA Sink Addr)

位域

类型

默认值

描述

31:0

R

0x0

DMA任务终端地址[2:0]=3’b000(8byte对齐)

4.6.4.12. 0x118+N*0x40(N=0~3) DMA_BCNT_LEFT

默认值:0x00000000

DMA传输剩余字节(DMA Byte Counter Left)

位域

类型

默认值

描述

31:25

_

_

_

24:0

R

0x0

DMA任务传输剩余字节
源端执行完成之后,剩余字节
终端可能未执行完成

4.6.4.13. 0x128+N*0x40(N=0~3) DMA_MODE

默认值:0x00000000

DMA模式(DMA Mode)

位域

类型

默认值

描述

31:7

_

_

_

6

R/W

0x0

SNK_HANDSHAKE_ENABLE
DMA终端使能
当终端模式为握手且DMA_CH_CFG寄存器中SNK_BURST不为1时需要使能该位
0: Bypass
1: Enable

5

R/W

0x0

SRC_HANDSHAKE_ENABLE
DMA源端使能
当源端模式为握手且DMA_CH_CFG寄存器中SRC_BURST不为1时需要使能该位
0: Bypass
1: Enable

4

_

_

_

3

R/W

0x0

DMA_SNK_MODE
DMA终端模式
0: 等待(储存推荐使用等待)
1: 握手(外设推荐使用握手)

2

R/W

0x0

DMA_SRC_MODE
DMA源端模式
0: 等待(储存推荐使用等待)
1: 握手(外设推荐使用握手)

1:0

_

_

_

4.6.4.14. 0x12C+N*0x40(N=0~3) DMA_FDES_ADDR

默认值:0x00000000

DMA前一任务地址(DMA Former Descriptor Address)

位域

类型

默认值

描述

31:0

R

0x0

DMA前一任务地址

4.6.4.15. 0x130+N*0x40(N=0~3) DMA_PKG_NUM

默认值:0x00000000

DMA已传任务数量(DMA Package Number)

位域

类型

默认值

描述

31:0

R

0x0

DMA已传任务数量

4.6.4.16. 0x134+N*0x40(N=0~3) DMA_MEM_SET

默认值:0x00000000

DMA内存设置(DMA Memory Set)

位域

类型

默认值

描述

31:0

R/W

0x0

存放内存设置具体信息,只有当DMA_CH_PAUSE[4]打开后有效