ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
在表模式 (DMAEM = 11b) 下,DMA 控制器从源执行 2 次读取,并向确定的目标执行 1 次写入。此特性可用于解释地址和数据表,并且使用 DMA 无需 CPU 干预即可将数据高效地编程到关联的地址。使用表模式可以解析地址和数据表,只需在一次块传输中配置外设存储器映射寄存器。
DMASRCWDTH 位字段应设置为“3”(64 位模式),DMADSTWDTH 位字段应设置为“2”(32 位模式)。DMASRCINCR 位字段可以设置为 10b 以递减传输后的源地址,设置为 11b 以递增源地址。DMASZ 设置为表示表中的条目数,对于块传输模式,DMATM 应设置为“01”。DMADAx 和 DMADSTINCR 在表模式中被忽略,可以视为“无关”值。
DMASAx 寄存器需要用表的起始地址进行编程,该地址需要与 64 位数据对齐(即 DMASAx[2:0] = "000")。存储在表中的地址需要位于 64 位数据的低位字上 (ADDR[2:0] = "000"),而数据需要位于 64 位数据的高位字上 (ADDR[2:0] = "100")。表 5-5 是存储器中与 DMA 表模式兼容的表示例。
| 表地址 | 表数据 |
|---|---|
| 0x0000 | 地址 0 |
| 0x0004 | 数据 0 |
| 0x0008 | 地址 1 |
| 0x000C | 数据 1 |