DMA笔记
1.全服务/单服务
全服务:a.状态3时,DMA原子操作一直被重复到计数器(CURR_TC)变成0.
b.计数器CURR_TC变成0,清除DMA ACK.
c.主状态机一直在状态3等待。
d.DMA ACK 在传输过程中一直有效,直到计数器CURR_TC为0.
e.DMA ACK 在传输区间被声明后进行原子操作当TC达到0时。
单服务:a.状态3时,DMA原子操作仅被执行一次,然后停止,再等待其他的DMA REQ。
b.原子操作完成清除DMA ACK.
c.如果另外DMA REQ到来,将重复三个状态。
d.每个原子传输过程中DMA ACK总是先有效再无效。
e.DMA ACK 被声明后进行每个原子操作。
任何服务,计数器CURR_TC为0时,中断请求信号INT_REQ发出。
请求/握手模式对比
请求 ----- 单方 ( 请求 )
握手 ----- 双方 ( 请求 ---- > 应答 )
请求模式
握手模式
只有XnXDACK无效(高电平)以后,XnXDREQ才能为有效(低电平)。
XnXDREQ无效,DMA在两个周期内将XnXDACK设无效。XnXDREQ有效则会一直等至XnXDREQ无效。
一个传输后,XnXDREQ先无效再有效方开始下一传输。
DMA检测两次XnXDREQ。
一个传输:单服务 --- 原子操作完成;
全服务 --- 原子操作重复到计数器(CURR_TC)变成0。
单服务原子操作完成、全服务计数器CURR_TC为0时都会清除DMA ACK.
在请求模式,直接至DMA ACK为无效。
不用理会DMA REQ,DMA REQ可以持续也可以变化?
在握手模式, 先致(或等至)DMA REQ无效,然后DMA ACK无效。
只有XnXDACK无效(高电平)以后,XnXDREQ才能为有效(低电平)。
摘S3C2440芯片手册:
两种模式的差异在其是否等待DACK无效。
在握手模式下,DMA控制器在开始一个新传输前等待无效DREQ。如果DREQ无效,其使得DACK无效并等待另外有效DREQ.
在请求模式下,DMA控制器不会等到DREQ无效,其仅将DACK置无效且如果DREQ有效则开始另一个传输。
传输大小:
阅读(588) | 评论(0) | 转发(0) |