[发明专利]一种改进的DMA通信方法及装置有效
申请号: | 201110443550.7 | 申请日: | 2011-12-26 |
公开(公告)号: | CN103176931A | 公开(公告)日: | 2013-06-26 |
发明(设计)人: | 冷永春;胡胜发 | 申请(专利权)人: | 安凯(广州)微电子技术有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 张全文 |
地址: | 510663 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 改进 dma 通信 方法 装置 | ||
技术领域
本发明属于数据通信领域,尤其涉及一种改进的DMA通信方法及装置。
背景技术
DMA(直接存储访问)通信协议是数据传输领域的一个重要的通信协议,主要是通过让CPU暂时让出总线控制权,在专门的硬件(DMA控制器)控制下,实现IO外设和存储器之间自动成批交换数据,以代替原来通过CPU查询或中断来实现存储器和IO外设之间的数据传送,这样以硬件代替软件控制数据传送的方式不仅可以加快传送速率还可以暂时解放CPU,让CPU有时间去做其它任务,从整体上提高了设备的运行效率。例如,可以将现有PC机上的硬盘设备设置成DMA模式,这样可以加快硬盘和内存间的数据传输速率。
按照现有的DMA通信协议,DMA主设备(master)和从设备(slave)通过DMA总线实现相互间数据传输,该数据传输受DMA控制器(DMAC)控制,在该通信协议中与数据传输有关的信号包括:从设备发出的数据请求信号(dma_urd)、主设备向从设备发出的传输数据(dma_udata)和系统提供给主设备和从设备的同步时钟信号(CLK)。现有的DMA通信协议对数据传输方式的要求是:数据请求信号(dma_urd)为高的下一个时钟周期,传输数据(dma_udata)必须有效。为了便于理解,参照图1所示的数据传输方式的时序示例图,现有DMA通信协议的要求是:在同步时钟(CLK)的某个时钟上升沿(posedge_1)时刻且数据请求信号(dma_urd)为高,则在此时钟上升沿的下个时钟上升沿(posedge_2)时刻传输数据(dma_udata)必须为有效数据,因为在posedge_1时刻dma_urd为高,表明主设备开始更新数据,那么在posedge_2时刻,从设备接收到的dma_udata有效的前提是主设备数据已经更新完毕且已经传送到从设备,这样从设备在posedge_2时刻才能对有效数据进行后续操作。为了实现上述目的,参照图2所示的数据更新传输的时序图,这里我们将主设备请求更新dma_udata到dma_udata更新完毕的时间称为更新时间(t_update),dma_udata在DMA总线上传输所需时间称为传输时间(t_delay),同步时钟(CLK)的时钟周期用T表示,为了满足在posedge_2时刻从设备采集到的数据为有效数据,那么所述传输数据的更新时间与传输时间之和应小于或等于时钟周期T,即T≥(t_update+t_delay)那么同步时钟的最大时钟频率为1/(t_update+t_delay),这个技术瓶颈限制了同步时钟频率的进一步提高,间接限制了主从设备间的数据传输速率。
发明内容
鉴于上述问题,本发明所要解决的技术问题是:提供一种改进的DMA通信方法,旨在解决现有的DMA通信方法中的同步时钟频率受限、无法进一步提高数据传输速率的问题。
本发明是这样实现的,一种改进的DMA通信方法,该方法用于受一DMA控制器控制的主设备和从设备之间的数据传输,所述数据传输基于一同步时钟实现,所述方法包括下述步骤:
在所述同步时钟的每个时钟触发沿时刻监测所述的数据请求信号是否有效;
若在某个时钟触发沿时刻数据请求信号有效,则主设备开始更新传输数据,且在该时钟触发沿的下个时钟触发沿时刻,主设备将已完成更新后的有效传输数据保存在寄存器中;
所述有效的传输数据在DMA总线上传输一定时间后到达从设备,在主设备开始更新传输数据后的第二个时钟触发沿时刻,从设备开始采集所述有效传输数据。
进一步,所述主设备开始更新传输数据到传输数据更新完成所需的时间和所述有效数据在DMA总线上的传输时间均小于或等于所述同步时钟的时钟周期。
本发明的另一目的在于提供一种改进的DMA通信装置,所述通信装置包括:相互进行数据传输的主设备和从设备以及控制所述主设备、从设备数据传输的DMA控制器,所述DMA控制器连接有一同步时钟,所述的DMA控制器包括:
信号监测模块,用于在所述同步时钟的每个时钟触发沿时刻监测所述的数据请求信号是否有效;
数据暂存模块,用于若在某个时钟触发沿时刻数据请求信号有效,则主设备开始更新传输数据,且在该时钟触发沿的下个时钟触发沿时刻,主设备将已完成更新后的有效传输数据保存在寄存器中;
数据操作模块,用于所述有效的传输数据在DMA总线上传输一定时间后到达从设备,在主设备开始更新传输数据后的第二个时钟触发沿时刻,从设备开始采集所述有效传输数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安凯(广州)微电子技术有限公司,未经安凯(广州)微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110443550.7/2.html,转载请声明来源钻瓜专利网。