数据流
每个DMA控制器有8个
数据流,每个数据流都能够提供源
和目标
之间的单向传输链路。
每个DMA控制器可以同时配置多个数据流,但在某一时刻只允许有一个数据流使用DMA控制器。当多个数据流同时请求时,由仲裁器决定哪一个数据流优先使用DMA控制器。
通道
每个数据流有8个
通道,每个通道映射
到不同外设,这有利于针对不同的产品配置不同的DMA外设请求。
每个数据流只能配置为映射到一个通道,无法配置为映射到多个通道。即,与数据流不同,每个DMA控制器可以同时配置多个数据流(因为有仲裁器),但每个数据流不能同时配置多个通道(因为只有选择器)。
仲裁器
仲裁器用于在多个数据流同时请求时,解决请求冲突的问题。在硬件上,数据流的编号越低,请求优先级越高,仲裁器优先响应编号低的数据流。
为实现更灵活的配置,数据流还可以设置软件优先级,软件优先级分为以下4个级别:
— 非常高优先级
— 高优先级
— 中优先级
— 低优先级
硬件:如果两个请求具有相同的软件优先级,则编号低的数据流优先于编号高的数据流