[发明专利]一种DMA数据同步传输变异步传输的方法有效
申请号: | 201910230653.1 | 申请日: | 2019-03-26 |
公开(公告)号: | CN109857686B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 张志运 | 申请(专利权)人: | 北京简约纳电子有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 南京正联知识产权代理有限公司 32243 | 代理人: | 郭俊玲 |
地址: | 100088 北京市海淀区知*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 dma 数据 同步 传输 异步 方法 | ||
本发明公开了一种DMA数据同步传输变异步传输的方法,S1、将传输的当前数据包设置为高优先级任务,由CPU分配资源给所述当前是数据包;S2、在CPU给所述当前数据包分配好资源的传输过程中启动与所述当前数据包对应的DMA传输,将所述DMA传输转至低优先级任务;S3、释放高优先级任务占用的CPU资源,由CPU分配所述MDA传输所需的资源,完成所述DMA传输;S4、重复步骤S1~S3,实现下一数据包及其对应的DMA传输的数据传输操作;本发明可将数据传输过程中与数据包对应的DMA传输与数据包传输异步传输,提高数据包的传输效率,并提升CPU利用率。
技术领域
本发明属于DMA(DirectMemory Access,直接内存存取)数据的传输技术领域,具体涉及一种DMA数据同步传输变异步传输的方法。
背景技术
DMA数据传输是指数据搬移由另外单独的硬件系统独立于CPU去完成,不用CPU参与数据搬移;现有技术中,当数据搬移完成时,一般数据搬移硬件产生中断事件去通知CPU,数据搬移已经完成。但是,当遇到一些特殊情况,比如当搬移数据较少,或者中断开销产生的系统开销过大时,虽然采用CPU同步等待DMA数据传输结束的方式往往更有效率;但是,同步等待的方式需要占用CPU,从而出现CPU资源浪费的现象,且数据传输效率偏低。
发明内容
本发明的目的是提出一种DMA数据同步传输变异步传输的方法,用以解决现有的DMA数据同步传输过程中由于占用CPU资源出现的资源浪费现象,以及对应的数据传输效率低的问题,具体技术方案如下:
一种DMA数据同步传输变异步传输的方法,所述方法包括步骤:
S1、将传输的当前数据包设置为高优先级任务,由CPU分配资源给所述当前数据包;
S2、在CPU给所述当前数据包分配好资源的传输过程中启动与所述当前数据包对应的 DMA传输,将所述DMA传输转至低优先级任务;
S3、释放高优先级任务占用的CPU资源,由CPU分配所述MDA传输所需的资源,完成所述 DMA传输;
S4、重复步骤S1 ~ S3,实现所有需要传输的数据包及其对应的DMA传输的数据传输操作。
本发明的DMA数据同步传输变异步传输的方法,在数据传输过程中,将数据包部分设置为高优先级任务,与数据包对应的DMA传输设置为低优先级任务,首先由CPU给高优先级任务的数据包分配资源进行传输,并同时启动DMA传输,当前数据包传输完成后,释放对应CPU资源,并给DMA传输分配指定大小的资源进行DMA数据传输,实现数据包与DMA的异步传输;与现有技术相比,本发明可将数据包与DMA异步传输,提升数据传输效率以及CPU的利用率。
附图说明
图1是本发明实施例中所述DMA数据同步传输变异步传输的方法的流程图示意;
图2是本发明实施例中运用所述DMA数据同步传输变异步传输的方法过程中的CPU资源切换图示意。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明实施例中,提供了一种DMA数据同步传输变异步传输的方法,具体的,方法包括步骤如下:
步骤一、将传输的当前数据包设置为高优先级任务,由CPU分配资源给所述当前数据包。
步骤二、在CPU给所述当前数据包分配好资源的传输过程中启动与所述当前数据包对应的DMA传输,将所述DMA传输转至低优先级任务。步骤三、释放高优先级任务占用的CPU资源,由CPU分配所述MDA传输所需的资源,完成所述DMA传输。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京简约纳电子有限公司,未经北京简约纳电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910230653.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种MPU与FPGA扩展多串口的实现方法
- 下一篇:量测系统及数据传输接口
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置