USER GUIDE / DATA MOVEMENT & TIMERS / PDMA / DMA REQUESTS

DMA 请求

DMA 传输请求分为两种:自动请求和外设请求。对于任何通道 n,其传输请求类型由 DRTn 决定。

表 1 PDMA0转移请求类型
RT5-0说明
000000TPC shift 模式TX-fifo为空的传输请求
000001TPC dest 模式TX-fifo为空的传输请求
000010TPC Step Moto0 模式TX-fifo为空的传输请求
000011TPC Step Moto1 模式TX-fifo为空的传输请求
000100AES0 TX-fifo为空的传输请求
000101AES1 TX-fifo为空的传输请求
000110HASH TX-fifo为空的传输请求
001000自动请求(内存地址→内存地址)
001001UART2 TX-fifo为空的传输请求
001010UART2 RX-fifo为满的传输请求
001011UART3 TX-fifo为空的传输请求
001100UART3 RX-fifo为满的传输请求
001101UART4 TX-fifo为空的传输请求
001110UART4 RX-fifo为满的传输请求
001111UART5 TX-fifo为空的传输请求
010000UART5 RX-fifo为满的传输请求
010001UART6 TX-fifo为空的传输请求
010010UART6 RX-fifo为满的传输请求
010011UART7 TX-fifo为空的传输请求
010100UART7 RX-fifo为满的传输请求
010101SSI1 TX-fifo为空的传输请求
010110SSI1 RX-fifo为满的传输请求
010111SSI_SLV1 TX-fifo为空的传输请求
011000SSI_SLV1 RX-fifo为满的传输请求
011001CAN0 TX-fifo为空的传输请求
011010CAN0 RX-fifo为满的传输请求,4 word或1 word由rx_single信号决定
011011CAN1 TX-fifo为空的传输请求
011100CAN1 RX-fifo为满的传输请求,4 word或1 word由rx_single信号决定
011101I2C1 TX-fifo为空的传输请求
011110I2C1 RX-fifo为满的传输请求
011111I2C2 TX-fifo为空的传输请求
100000I2C2 RX-fifo为满的传输请求
100001PWMA TX-fifo为空的传输请求
101010ADC0 SEQ1 RX-fifo为满的传输请求
101011ADC0 SEQ2 RX-fifo为满的传输请求
101100ADC1 SEQ1 RX-fifo为满的传输请求
101101ADC1 SEQ2 RX-fifo为满的传输请求
表 2 PDMA1 Transfer Request Types
RT5-0说明
000100AIC TX-fifo为空的传输请求
000101AIC RX-fifo为满的传输请求
000110保留
000111AIC RX-fifo为满的传输请求(用于loopback)
001000自动请求(内存地址→内存地址)
100010UART0 TX-fifo为空的传输请求
100011UART0 RX-fifo为满的传输请求
100100UART1 TX-fifo为空的传输请求
100101UART1 RX-fifo为满的传输请求
100110SSI0 TX-fifo为空的传输请求
100111SSI0 RX-fifo为满的传输请求
101000SSI_SLV0 TX-fifo为空的传输请求
101001SSI_SLV0 RX-fifo为满的传输请求
101010保留
101011保留
101100保留
101101保留
101110I2C0 TX-fifo为空的传输请求
101111I2C0 RX-fifo为满的传输请求
110000保留
110001保留
110010保留
110011保留
110100保留
110101保留
110110保留
110111保留
111000保留
111001保留
111010保留
111011保留
111100保留
111101保留
111110保留
111111保留
表 3 可用的 RDIL
RDIL说明
0保留
1数据单位为 1 字节
2数据单位为 2 字节
3数据单位为 3 字节
4数据单元为 4 字节
5数据单元为 8字节
6数据单位为 16 字节
7数据单位为 32 字节
8数据单元为 64 字节
9数据单元为 128 字节
10~15保留
表 4 FIFO 详细说明
FIFO 形式最佳推荐 RDIL
8x8bits4(FIFO总容量的一半即 4 字节)
8x16bits5(FIFO总容量的一半即 8 字节)
32x8bits6(FIFO总容量的一半即 16 字节)
16x16bits6(FIFO总容量的一半即 16 字节)
64x8bits7(FIFO总容量的一半即 32 字节)
64x32bits9(FIFO总容量的一半即 128 字节)
128x16bits9(FIFO总容量的一半即 128 字节)
128x32bits9(因为最大数据单位为 128 字节)

自动请求

当没有明确的传输请求信号时,例如内存到内存的传输或内存到某些片上外设(如 GPIO)的传输,自动请求模式允许 DMA 在内部自动生成传输请求信号。因此,在 DMA 初始化完成后,一旦 DMAC.DMAE 和 DCSn.CTE 设置为 1,传输就会立即在 DRTn=0x8 的通道 n 中开始。

片上外设请求

在该模式下,传输请求信号来自片上外设甚至片外设备。当设备向其相应通道 n 发送外设请求时,请求传输单元字节数等于:

  1. DCMn.TSZ!=7 时,由 DCMn.TSZ 决定传输单元字节
  2. DCMn.TSZ== 7 时,由 RDIL 决定传输单元字节

请注意,上述数字不得超过设备的请求阈值,否则可能会出现 FIFO underrun 或 overrun。但是,如果传输单元字节比阈值太小,DMA 的总线效率就会变差。