DMA、通道、仲裁

通道
DMA具有12个独立可编程的通道,其中DMA1有7个通道,DMA2有5个通道,每个通道对应不同的外设的DMA请求。虽然每个通道可以接收多个外设的请求,但是同一时间只能接收一个,不能同时接收多个。

仲裁器
当发生多个通道请求时,就意味着有先后响应处理的顺序问题,这就是由仲裁器来管理的。仲裁器管理DMA通道请求分为两个阶段。第一阶段属于软件阶段,可以在DMA_CCRx寄存器中设置,有4个等级:非常高、高、中和低四个优先级。第二阶段属于硬件阶段,如果两个或以上的DMA通道请求优先级一样的话,则它们优先级取决于通道编号,编号越低,优先级越高。比如通道0高于通道1,在大容量产品中DMA1控制器拥有高于DMA2控制器的优先级。

DMA主要特性
12个独立的可配置的通道(请求):DMA1有7个通道,DMA2有5个通道
每个通道都直接连接专用的硬件DMA请求,每个通道都同样支持软件触发。这些功能由软件来配置。
在同一个DMA模块上,多个请求间的优先级可以通过软件编程设置(共有四级:非常高、高、中和低),优先权设置相等时由硬件决定(请求0优于请求1,依此类推)
独立数据源和目标数据区的传输宽度(字节、半字、全字),模拟打包和拆包的过程。源和目标地址必须按数据传输宽度对齐。
支持循环的缓冲器管理
每个通道都有3个事件标志(DMA半传输、DMA传输完成和DMA传输出错),这三个事件标志逻辑或成为一个单独的中断请求。
存储器和存储器之间的传输
外设和存储器、存储器和外设之间的传输
内存、SRAM、外设的SRAM、APB1、APB2和AHB外设均可作为访问的源和目标
可编程的数据传输数目:最大为65535

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值