下图是个例子,对同一个AHB layer的source和destination做P2P传输。Peri A用hw握手,Peri B用sw握手。外设存在数据不确定性,需要握手机制确认外设FIFO是否准备好。

下图是对两个不同AHB layer做P2M传输。

对source和destination在不同AHB layer的dma传输,可以配置dmac拥有多个master,每个AHB layer对应一个master,这样避免了总线竞争,总线利用率得到提高。这和AHB Lite上允许多个master同时访问不同layer是一个意思。多说点:每个layer拥有一个arbiter,仅当多个master想要同时访问相同layer时,arbiter才需要仲裁master的先后。这里layer可以包含一个或多个master或slave interface,内部可以继续做地址解析,但在AHB上看到的是独立的AHB通道。
回到上面这张图,source和destination作为两个独立的layer,分别拥有各自的arbiter。每个channel都拥有一套source FSM、destination FSM、FIFO这三样。接受arbiter的挑选。
未完待续……

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



