外设请求接口

上图展示了外设请求接口,由一个外设请求总线和一个DMAC确认总线组成,其中:
dr表示外设请求中线,da表示DMAC确认总线
两条总线都使用valid/ready握手机制(AXI协议所描述)。对于握手机制详细信息,请查看AMBA AXI Protocol v1.0 Specification
外设使用 drtype[1:0]:
- 请求单次传输
- 请求burst传输
- 确认一个flush请求
DMAC使用datype[1:0]:
- 当它完成了请求的单次传输后发起信号
- 当它完成了请求的burst传输后发起信号
- 发起一个flush请求
(关于burst,参考https://www.pianshen.com/article/2653254175/)
drlast让外设能够在最后一个DMA传输开始时通知DMAC
如果DMAC被配置为支持多个外设请求接口,每个接口要分配一个唯一的ID号_<x>.
映射到一个DMA channel
DMAC支持分配一个外设请求接口到任意的DMA channel。当一个DMA channel执行DMAWFP时,其中的peripheral[4:0]字段指定了这个channel所关联的外设。
握手规则
DMAC使用DMA握手规则(当一个DMA channel线程处于active状态,即非Stopped状态时)如下表所示:

外设长度管理
外设请求接口能够让一个外设控制一个DMA周期所包含的数据量,不需要让DMAC感知它包含多少数据传输数。外设通过:
drtype[1:0]选择是单次传输还是burst传输
drlast用来通知DMAC最后一次传输开始
DMAC长度管理
如果使用外设请求接口并且DMAC在控制一个DMA周期所包含的数据量,那么必须使用DMALDP<S|B>和DMASTP<S|B>指令。使用这些指令会让DMAC能够更新datype[1:0]来通知外设它完成了最后的DMA传输
外设请求接口时序图
Burst请求

| T1 |
DMAC检测到了一个burst传输请求 |

本文详细介绍了DMA控制器(DMAC)如何通过外设请求接口与外设进行通信,包括传输请求类型、握手机制、长度管理和异常处理。外设通过drtype请求单次或burst传输,而DMAC使用datype确认传输完成。DMAC支持多个外设请求接口,每个接口可通过ID映射到不同的DMA通道。此外,还讨论了事件、中断、flush请求以及abort处理流程,强调了中断和事件在DMA操作中的重要角色。
 - 外设请求接口,事件和中断,Abort&spm=1001.2101.3001.5002&articleId=124690201&d=1&t=3&u=090ece130f4548929b9d380199ca700a)
1723

被折叠的 条评论
为什么被折叠?



