10.2.2仲裁器仲裁器根据通道请求的优先级启动外设/存储器的访问O优先权管理分两个阶段。1)软件:每个通道的优先权可以在DMACCRx寄存器中的PL[1:0」设置,有4个等级:最高优先级、高优先级、中等优先级、低优先级。2)硬件:如果两个请求有相同的软件优先级,则较低编号的通道比较高编号的通道有较高的优先权。例如,通道2优先于通道4。DMA1控制器的优先级高干DMA2控制器的优先级
仲裁器根据通道请求的优先级启动外设/存储器的访问 。 优先权管理分两个阶段。 1)软件:每个通道的优先权可以在DMA_CCRx寄存器 中的PL[1:0]设置,有4个等级:最高优先级、高优先级 、中等优先级、低优先级。 2)硬件:如果两个请求有相同的软件优先级,则较低 编号的通道比较高编号的通道有较高的优先权。例如,通道 2优先于通道4。 DMA1控制器的优先级高于DMA2控制器的优先级。 10.2.2 仲裁器
10.2.3DMA通道每个通道都可以在有固定地址的外设寄存器和存储器之间执行DMA传输。DMA传输的数据量是可编程的,最大为65535。数据项数量寄存器包含要传输的数据项数量,在每次传输后递减。1.可编程的数据量外设和存储器的传输数据量可以通过DMACCRx寄存器中的PSIZE和MSIZE位编程设置
每个通道都可以在有固定地址的外设寄存器和存储器之 间执行DMA传输。DMA传输的数据量是可编程的,最大为 65535。数据项数量寄存器包含要传输的数据项数量,在每 次传输后递减。 1.可编程的数据量 外设和存储器的传输数据量可以通过DMA_CCRx寄存 器中的PSIZE和MSIZE位编程设置。 10.2.3 DMA通道
2.指针增量通过设置DMACCRx寄存器中的PINC和MINC标志位,外设和存储器的指针在每次传输后可以有选择地完成自动增量。当设置为增量模式时,下一个要传输的地址将是前一个地址加上增量值,增量值取决于所选的数据宽度为1、2或4。第一个传输的地址存放在DMACPARx/DMACMARx寄存器中。在传输过程中,这些寄存器保持它们初始的数值,软件不能改变和读出当前正在传输的地址(它在内部的当前外设/存储器地址寄存器中)。当通道配置为非循环模式时,传输结束后(即传输计数变为O)将不再产生DMA操作。要开始新的DMA传输,需要在关闭DMA通道的情况下,在DMACNDTRx寄存器中重新写入传输数目
2. 指针增量 通过设置DMA_CCRx寄存器中的PINC和MINC标志位, 外设和存储器的指针在每次传输后可以有选择地完成自动增 量。当设置为增量模式时,下一个要传输的地址将是前一个 地址加上增量值,增量值取决于所选的数据宽度为1、2或4。 第一个传输的地址存放在DMA_CPARx/DMA_CMARx寄存器 中。在传输过程中,这些寄存器保持它们初始的数值,软件 不能改变和读出当前正在传输的地址(它在内部的当前外设 /存储器地址寄存 器中)。 当通道配置为非循环模式时,传输结束后(即传输计数 变为0)将不再产生DMA操作。要开始新的DMA传输,需要 在关闭DMA通道的情况下,在DMA_CNDTRx寄存器中重新 写入传输数目
在循环模式下,最后一次传输结束时,DMACNDTRx寄存器的内容会自动地被重新加载为其初始数值,内部的当前外设/存储器地址寄存器也被重新加载为DMACPARx/DMACMARx寄存器设定的初始基地址
在循环模式下,最后一次传输结束时,DMA_CNDTRx 寄存器的内容会自动地被重新加载为其初始数值,内部的当 前外设/存储器地址寄存器也被重新加载为 DMA_CPARx/DMA_CMARx寄存器设定的初始基地址
3.通道配置过程下面是配置DMA通道x的过程(x代表通道号):1)在DMACPARx寄存器中设置外设寄存器的地址。发生外设数据传输请求时,这个地址将是数据传输的源或目标。2)在DMACMARx寄存器中设置数据存储器的地址。发生存储器数据传输请求时,传输的数据将从这个地址读出或写入这个地址。3)在DMACNDTRx寄存器中设置要传输的数据量。在每个数据传输后,这个数值递减。4)在DMACCRx寄存器的PL11:01位中设置通道的优先级。5)在DMACCRx寄存器中设置数据传输的方向、循环模式、外设和存储器的增量模式、外设和存储器的数据宽度、传输一半产生中断或传输完成产生中断
3. 通道配置过程 下面是配置DMA通道x的过程(x代表通道号): 1)在DMA_CPARx寄存器中设置外设寄存器的地址。发 生外设数据传输请求时,这个地址将是数据传输的源或目标。 2)在DMA_CMARx寄存器中设置数据存储器的地址。 发生存储器数据传输请求时,传输的数据将从这个地址读出 或写入这个地址。 3)在DMA_CNDTRx寄存器中设置要传输的数据量。在 每个数据传输后,这个数值递减。 4)在DMA_CCRx寄存器的PL[1:0]位中设置通道的优 先级。 5)在DMA_CCRx寄存器中设置数据传输的方向、循环 模式、外设和存储器的增量模式、外设和存储器的数据宽度、 传输一半产生中断或传输完成产生中断