[发明专利]长时间连续DMA传输的缓冲区管理的软件实现方法有效

专利信息
申请号: 201210572379.4 申请日: 2012-12-25
公开(公告)号: CN103064679A 公开(公告)日: 2013-04-24
发明(设计)人: 张伟楠;许崴稚;邹璞;储艳丽;杨立杰;史雄伟 申请(专利权)人: 北京航天测控技术有限公司
主分类号: G06F9/44 分类号: G06F9/44;G06F12/08
代理公司: 北京理工大学专利中心 11120 代理人: 杨志兵;高燕燕
地址: 100041 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种长时间连续DMA传输的缓冲区管理方法,该方法支持缓冲区的读方和写方循环且长时间使用该缓冲区,不会产生数据覆盖或使用效率不高问题。将以写缓冲区方完成一次数据采集和处理操作周期T1为基础,开辟的缓冲区大小为10×T1;定义缓冲区的3个标志位,flag1为写数据的当前位置,flag2为读数据的当前位置,flag4为缓冲区的开始位置。写缓冲区方从flag4开始持续写缓冲区,写位置不能超过flag2;在读过程中,读缓冲区方定期查询缓冲区内当前可读的数据量,当根据flag1和flag2之间的差距判定缓冲区内未读数据已经达到Size,便从缓冲区中连续读取Size个数据。
搜索关键词: 长时间 连续 dma 传输 缓冲区 管理 软件 实现 方法
【主权项】:
一种长时间连续DMA传输的缓冲区管理方法,其特征在于,包括:首先定义如下参数:preDMA_sta为DMA传输过程中上一次写到的数据量,初始值为0;curDMA_sta为DMA传输过程中实际已写的数据量,初始值为0;curDMA_sta和preDMA_sta采用相同位数的无符号整形;DMAtemp为中间变量,初始值为0;LsLoop为缓冲区被循环的次数,初始值为0;当curDMA_sta溢出后,LsLoop被清零;Rtime为缓冲区被Size大小分块读的次数,初始值为0;当读操作跨越了缓冲区的首尾时,Rtime被清零;Max为curDMA_sta在不溢出情况下的最大值;Rtemp为中间变量,记录数据类型溢出时,缓冲区已被块读过的次数,初始值为0;Datatemp为中间变量,初始值为0,记录读操作跨越缓冲区首尾时,从缓冲区首部读取的数据量;flag2表示每次从缓冲区中读数据的起始位置;flag4为缓冲区的初始地址;设定缓冲区的大小为LSize,每次读数据的个数为Size,Size
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航天测控技术有限公司,未经北京航天测控技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201210572379.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

tel code back_top