[发明专利]一种用环形数据缓冲区读写批量数据的方法及装置有效
申请号: | 201110444367.9 | 申请日: | 2011-12-27 |
公开(公告)号: | CN102591815A | 公开(公告)日: | 2012-07-18 |
发明(设计)人: | 刘亚萍 | 申请(专利权)人: | TCL集团股份有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16 |
代理公司: | 深圳市君胜知识产权代理事务所 44268 | 代理人: | 王永文;杨宏 |
地址: | 516001 广东省惠州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 环形 数据 缓冲区 读写 批量 方法 装置 | ||
技术领域
本发明涉及图像数据处理领域,尤其涉及的是一种用环形数据缓冲区读写批量数据的方法及装置。
背景技术
在图像处理中,经常会需要采集批量数据或者及显示多幅图像的,保证数据的完整性是图像处理的基本要求,因此,在图像处理过程中数据的传输与通信就是关键。
通常,数据都是从外设数据缓冲到终端设备的内存后再进行处理的,然而不论是个人电脑(PC)还是其它嵌入式设备终端,内存总是有限的,一次性地申请一个内存来缓冲这些数据是比较困难的,所以就需要使用环形数据缓冲区的数据结构来解决这一难题。
环形缓冲区是一个先进先出的循环缓冲区,通常有一个读指针和一个写指针,程序中通过移动读指针和写指针就可以实现缓冲区的数据读取和写入,由于有时读指针与写指针是同时使用的,所以会使得缓冲区产生互斥问题,这会影响到数据传输的准确性及数据传输的效率。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种用环形数据缓冲区读写批量数据的方法及装置,使用环形缓冲区与队列控制相结合的方法来解决图像处理过程中在缓冲区产生读取数据与写入数据互斥的问题。
本发明解决技术问题所采用的技术方案如下:
一种用环形数据缓冲区读写批量数据的方法,包括步骤:
A、当有数据写请求时,写指针计算出在环形数据缓冲区当前要写入数据的起始位置,读取外设数据,从该起始位置开始向所述环形缓冲区写入数据,写完后所述写指针的数值加1;
B、当收到读数据请求时,读指针计算当前需要读取的数据所在的位置,从该位置开始读取数据,读完后所述读指针的数值加1;
C、当所述环形数据缓冲区出现异常,根据异常类型执行相应的操作,其中,所述异常的类型包括所述环形数据缓冲区溢出或为空。
优选地,所述步骤A之前还包括:
A1、定义多个缓冲区,其中,所述缓冲区的个数与所述环形数据缓冲区的个数相等;
A2、建立等待列队;
A3、申请至少一个缓冲区作为环形数据缓冲区,所述缓冲区的地址单元是连续的;
A4、初始化所述读指针、写指针的数值,使所述读指针、写指针的数值均为0;
所述步骤B之前还包括:
B1、判断是否收到唤醒信号,如果是,则转向步骤B2,否则返回等待唤醒信号;
B2、判断当前的读指针的绝对位置是否小于写指针的绝对位置,如果判断结果为是时,则进入步骤B,否则表示无数据可读,返回所述步骤B1。
优选地,所述步骤C具体包括:
C1、当所述写指针的相对位置超出或等于所述读指针的相对位置,并且所述写指针的绝对位置超出所述读指针的绝对位置,则所述环形缓冲区溢出,发出溢出信号,并进入步骤C3;
C2、当所述写指针的相对位置等于所述读指针的相对位置,并且所述写指针的绝对位置与所述读指针的绝对位置相等,则所述环形数据缓冲区为空,则返回所述环形数据缓冲区为空的信号,并进入步骤C4;
C3、调整所述读指针及所述写指针的绝对位置,使得所述写指针超前所述读指针;
C4、读指针进入等待状态。
优选地,所述步骤C3之后具体还包括:
当所述写指针的绝对位置等于或者超出所述读指针的绝对位置时,并且所述写指针的相对位置与所述读指针的相对位置相等时,分别重新对所述读指针及写指针进行调整,使得所述写指针超前所述读指针。
优选地,所述读指针的绝对位置是指所述读指针相对于所述环形数据缓冲区首地址零位置实际所表示的数值;所述写指针的绝对位置是指所述写指针相对于所述环形数据缓冲区首地址零位置实际所表示的数值;
所述读指针的相对位置是指所述读指针当前的位置相对于所述环形数据缓冲区首地址的距离,所述写指针的相对位置是指所述写指针当前的位置相对于所述环形数据缓冲区首地址的距离。
本发明还提供一种实现上述方法的装置:
一种用环形数据缓冲区读写批量数据的装置,包括:
写指针控制单元,当有数据写请求时,用于控制写指针计算出在环形数据缓冲区当前要写入数据的起始位置,读取外设数据,从该起始位置开始向所述环形缓冲区写入数据,写完后所述写指针的数值加1;
读指针控制单元,当收到读数据请求时,用于控制读指针计算当前需要读取的数据所在的位置,从该位置开始读取数据,读完后所述读指针的数值加1;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于TCL集团股份有限公司,未经TCL集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110444367.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:热熔对接焊机
- 下一篇:一种应用于针阀式热喷嘴的斜导槽式封针机构
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置