USER GUIDE / DATA MOVEMENT & TIMERS / PDMA / REGISTER DESCRIPTION
寄存器描述
DMA 源地址(DSAn,0x00,n = 0 ~ 31)
DSAnBASE + 0x00+ n*0x20
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | SA | 通道 n 的源地址。 | RW |
DMA 目的地址 (DTAn,0x04,n = 0 ~ 31)
DTAnBASE + 0x04+ n*0x20
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | TA | 通道 n 的目的地址。 | RW |
DMA 传输计数 (DTCn,0x08,n = 0 ~ 31)
DTCnBASE + 0x08+ n*0x20
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:24 | Reserved | 写入无影响,读取为零。 | R |
| 23:0 | TC | TC 为传输长度,即描述符链表模式的单节点传输长度或非描述符模式的传 输总长度; 此外,启用跨步传输模式时,TC 由两部分组成:低 16 位为子 数据块传输长度,高 8 位为子数据块长度。 TC在传输结束时自动计为 0, 并触发传输结束中断。 当TSZ为RDIL模式时,TC的单位为Byte,非RDIL模式,单位为TSZ。 | RW |
DMA 请求类型 (DRTn,0x0C,n = 0 ~ 31)
DRTnBASE + 0x0C +n*0x20
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:6 | Reserved | 写入无影响,读取为零。 | R |
| 5:0 | RT | 传输请求类型。 | RW |
DMA通道控制/状态 (DCSn,0x10,n = 0 ~ 31)
DCSnBASE + 0x10+ n*0x20
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | NDES | 描述符传输配置。 0:描述符传输。 1:非描述符传输。 | RW |
| 30 | DES8 | 描述符长度配置。 0:4字描述符。 1:8字描述符。 | RW |
DMA 通道命令 (DCMn,0x14,n = 0 ~ 31)
DCMnBASE + 0x14+ n*0x20
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:24 | Reserved | 写入无影响,读取为零。 | R |
| 23 | SAI | 源地址递增设置。 0:源地址不递增; 1:源地址每传一个数就递增一次。 源设备为外设时源地址不递增; 源设备为存储器时源地址递增。 | RW |
| 22 | DAI | 目的地址递增设置。 0:目的地址不递增; 1:目的地址每传一个数就递增一次。 目的设备为外设时目的地址不递增; 目的设备为存储器时目的地址递增。 | RW |
| 21 | SAIW | 源地址wrap传输设置; 0:源地址禁能wrap传输; 1:源地址使能wrap传输,当传输完最后一个地址后返回全局SACIDX地址 寄存器。 注意:SAI,SAIW不能同时使能。 | RW |
| 20 | DAIW | 目的地址wrap传输设置; 0:目的地址禁能wrap传输; 1:目的地址使能wrap传输,在传输完最后一个地址后返回全局DACIDX地 址寄存器 例如:4word 传输:传输地址0x40,44,48,4C ,然后返回0x40 注意:DAI,DAIW不能同时使能。 | RW |
| 19:16 | RDIL | 自主的传输数据单元大小(单位:字节),用于在TSZ为自主时触发设备的 DMA 请求。 | RW |
| 15:14 | SP | 源数据宽度。 00:32 bit 01:8bit 10:16 bit 11:保留 | RW |
DMA 描述符地址 (DDAn,0x18,n = 0 ~ 31)
DDAnBASE + 0x18+ n*0x20
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:12 | DBA | 描述符基地址。 | RW |
| 11:4 | DOA | 描述符偏移地址。 | RW |
| 3:0 | Reserved | 保留 | R |
DMA 地址 stride (DSDn,0x1C,n = 0 ~ 31)
DSDnBASE + 0x1C +n*0x20
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | TSD | 目的地址Stride。 (下一个子块的起始地址 - 当前子块的终止地址 -1), 取值范围为 -32768 ~ 32767 | RW |
| 15:0 | SSD | 源地址Stride(下一个子块的起始地址 - 当前子块的结束地址 -1),取值 范围为 -32768 ~ 32767 | RW |
DMA控制(DMAC,0x1000)
DMACBASE + 0x1000
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | Reserved | 写入无影响,读取为零。 | RW |
| 30 | FSSI | SSI 快速模式配置。 0:APB上的SSI的数据/时钟=0.5。 1:APB上的SSI的数据/时钟=1。 | RW |
| 29 | Reserved | 写入无影响,读取为零。 | R |
| 28 | FUART or FDMIC | UART快速模式配置。 0:APB上UART的数据/时钟=0.5。 1:APB上UART的数据/时钟=1。 | RW |
| 27 | FAIC | AIC快速模式配置。 0:APB上AIC的数据/时钟=0.5。 1:APB上AIC的数据/时钟=1。 | RW |
| 26:5 | Reserved | 写入无影响,读取为零。 | R |
| 4 | PBURST_EN | apbburst传输控制位: 0:禁止apbburst传输 1:使能apbburst传输 | RW |
| 3 | HLT | 全局DMA停止状态,硬件将其设置为 1,然后软件必须将其清除为 0。 0:无异常情况 1:一个或多个通道传输过程出现异常情况。 | RWC |
| 2 | AR | 全局地址错误状态,任何通道发生地址错误,硬件将其设置为 1,软件 将其清除为 0。 0:无地址错误。 1:发生地址错误。 | RWC |
| 1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | DMAE | 全局 DMA 使能控制。 当写该寄存器,控制当前通道的运行: 0:DMA禁能; | RW |
DMA 中断等待 (DIRQP,0x1004)
DIRQPBASE + 0x1004
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | IRQn | IRQn 表示对应通道等待向CPU发出的 IRQ。 0:正在进行正常的 DMA 传输或通道处于空闲状态。 1:发生地址错误(仅适用于 UARTn)或正常 DMA 传输已完成; 硬件只能将其设置为 1,CPU只能将其设置为 0。 | RW |
DMA 门铃 (DDB,0x1008)
DDBBASE + 0x1008
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | DBn | DMA 门铃。 软件将其设置为 1,硬件将其清除为 0。 0:禁止DMA控制器获取第一个描述符,或者 DMA 控制器在开始获取描 述符时将其清除为 0 1:向 DDS 的 DBSn 位写入 1 将把相应的 DBn 位设置为 1,使 DMA 控制器能够获取第一个描述符。 例如,向 DDS 写入 0x00000001,DB0位设为 1,使 DMA 通道 0 能够 获取其第一个描述符。 | RWS |
DMA 门铃设置(DDBS,0x100C)
DDBSBASE + 0x100C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | DBSn | 通道的 DMA门铃设置。 读取时为 0,写入: 0:忽略,向 DDS 写 0 无意义 1:将相应的 DBn 位设为 1 | W |
DMA 描述符中断挂起(DIP,0x1010)
DIPBASE + 0x1010
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | DIPn | 描述符中断挂起,在任意的描述符中设置TIE,对应的bit位在该描述符传输 结束后会拉起,该功能提供了更灵活的功能控制长描述符链 | R |
DMA 描述符中断清除 (DIC,0x1014)
DICBASE + 0x1014
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | DICn | 描述符模式中断清除 1:无影响 0:清除DIPn bit | W |
DMA 通道源地址 INDEX0(SACIDX0,0x1060)
SACIDX0BASE + 0x1060
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | RW |
| 15:0 | START | wrap传输源地址起始地址,只有can0控制器使用 | RW |
DMA 通道源地址 INDEX1(SACIDX1,0x1064)
SACIDX1BASE + 0x1064
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | RW |
| 15:0 | START | wrap传输源地址起始地址,只有can1控制器使用 | RW |
DMA 通道目的地址 INDEX 0 ( DACIDX0,0x1068)
DACIDX0BASE + 0x1068
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | RW |
| 15:0 | START | wrap传输目的地址起始地址,只有can0控制器使用 | RW |
DMA 通道目的地址 INDEX 1 ( DACIDX1,0x106C)
DACIDX1BASE + 0x106c
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | RW |
| 15:0 | START | wrap传输目的地址起始地址,只有can1控制器使用 | RW |