一种能够保证接收数据完整性的数据缓冲系统及方法技术方案

技术编号:23314907 阅读:24 留言:0更新日期:2020-02-11 17:43
本发明专利技术涉及一种能够保证接收数据完整性的数据缓冲系统及方法,系统包括缓冲区、带锁双缓冲处理模块、缓冲区切换模块及数据接收模块,带锁双缓冲处理模块与缓冲区切换模块双向连接,其均连接上层功能块及缓冲区;数据接收模块分别连接缓冲区、带锁双缓冲处理模块、缓冲区切换模块的输入端。该系统工作方法,包括六个工作状态:E:初始状态;RL:缓冲区数据有效且处于锁定状态;R:在缓冲区中存在一包有效数据;RLP:缓冲区数据有效且被锁定,另一缓冲区中未读取的有效数据即将被覆盖;EL:缓冲区为空数据且被锁定;ELP:缓冲区为空数据且被锁定,另一个缓冲区中未读取的有效数据即将被覆盖;本发明专利技术的优点是,保证了每个缓冲区的数据完整性。

A data buffer system and method to ensure the integrity of received data

【技术实现步骤摘要】
一种能够保证接收数据完整性的数据缓冲系统及方法
本专利技术属于信息
,具体涉及一种能够保证接收数据完整性的数据缓冲系统及方法。
技术介绍
在数字系统中,异步系统之间的数据传输非常常见。因为异步系统之间涉及到跨时钟域的数据传输问题,为了保证数据的正确接收,双缓冲区是一种安全可靠的接收方法。双缓冲区的存储空间在接收端,因为写入和读取是独立的两个区域,所有可以有效的避免跨时钟域带来的数据接收不稳定以及读写冲突问题。现有的双缓冲区控制技术可以在两个缓冲区之间轮流进行写入和读取操作,但是并没有一种有效的机制来保证写入的数据和读取的数据的完整性,也就是不能保证避免每一个数据缓冲区中的数据可能有一部份是最近接收到的新数据,而另一部分数据则是之前收到的旧数据。为了能在双缓冲区的使用中解决上述问题,本专利技术提出了一种可以保证接收数据完整性的数据缓冲系统及方法。
技术实现思路
本专利技术的目的是解决上述问题,提供一种能够保证接收数据完整性的数据缓冲系统及方法,以解决目前的数据缓冲控制技术不能保证每个缓冲区的数据完整性的问题。为实现上述目的,本专利技术提供如下技术方案:一种能够保证接收数据完整性的数据缓冲系统,包括上层功能块、缓冲区、带锁双缓冲处理模块、缓冲区切换模块及数据接收模块,所述缓冲区包括缓冲区0和缓冲区1,分别连接上层功能块的输入端和输出端;所述带锁双缓冲处理模块与缓冲区切换模块双向连接,其均连接上层功能块及缓冲区;所述数据接收模块分别连接缓冲区、带锁双缓冲处理模块、缓冲区切换模块的输入端。进一步的,所述数据缓冲系统的输入数据标识包括:开始接收标识get_buffer_e、数据接收完成标识commit_buffer_e、缓冲区锁定标识lock_buffer_e、缓冲区解锁标识unlock_buffer_e;输出数据标识包括:缓冲区选择信号buffer_sel、解锁响应信号buffer_locked、数据就绪标识data_ready及数据覆盖标识set_overwrite_flag_e。上述一种能够保证接收数据完整性的数据缓冲系统的工作方法,包括六个工作状态:E:初始状态;RL:一个缓冲区数据有效且处于锁定状态;R:在一个缓冲区中存在一包有效数据;RLP:一个缓冲区数据有效且被锁定,同时另一缓冲区中未读取的有效数据即将被覆盖;EL:一个缓冲区为空数据且被锁定;ELP:一个缓冲区为空数据且被锁定,同时另一个缓冲区中未读取的有效数据即将被覆盖;六个工作状态的转换方法为:A.系统初始状态在E工作状态,当接收数据完成标识有效后,置数据就绪标识有效、进行缓冲区切换并跳转至R状态;当接收数据完成标识有效且同时上层功能块发出锁定信号时,置数据就绪标识有效、进行缓冲区切换,同时将缓冲区锁定响应信号置有效,跳转至RL状态;当接收数据完成标识无效时,上层功能块发出锁定缓冲区信号,跳转至EL状态,同时置缓冲区锁定响应信号置有效;B.处于R工作状态时,当接收数据完成标识有效后,不进行状态跳转,但此时数据覆盖标识置为有效且同时进行数据缓冲区的切换,意味着切换后的缓冲区中的数据即将被接收到的新数据覆盖;当上层功能块发出锁定信号时,将缓冲区锁定响应信号置有效并跳转至RL状态;当接收数据完成标识和上层功能块发出锁定信号同时有效时,跳转至RLP状态,进行缓冲区切换并将缓冲区锁定响应信号置有效;C.处于RLP工作状态时,当数据开始接收标识有效时,跳转至RL状态且置数据覆盖标识位1;当上层功能块发出解锁信号时,将缓冲区锁定响应信号置无效、跳转至R状态并进行缓冲区切换;D.处于RL工作状态时,当数据接收完成标识有效时,跳转至RLP状态;当上层功能块发出解锁信号时,数据就绪标识置无效、将缓冲区锁定响应信号置无效、跳转至E状态并进行缓冲区切换;当上层功能块发出解锁信号的同时数据接收完成标识有效,跳转至R状态、进行缓冲区的切换并将缓冲区锁定响应信号置无效;E.处于EL工作状态时,当数据接收完成标识有效时,跳转至ELP状态;当上层功能块发出解锁信号时,跳转至E状态且进行缓冲区切换并将缓冲区锁定响应信号置无效;当上层功能块发出解锁信号的同时数据开始接收标识有效,跳转至R状态、进行缓冲区的切换、置数据就绪标识有效并将缓冲区锁定响应信号置无效;F.处于ELP工作状态时,数据开始接收标识有效时,跳转至EL状态且置数据覆盖标识位1;当上层功能块发出解锁信号时,跳转至R状态、进行缓冲区切换、置数据就绪标识有效并将缓冲区锁定响应信号置无效。进一步的,所述数据缓冲方法采用带锁双缓冲技术及缓冲区自动切换技术。与现有技术相比,本专利技术的有益效果在于:本专利技术解决了常规的数据缓冲技术在接收端与发送端没有采用握手同步时接收端收到的数据缓冲区中的数据的完整性无法得到保证的问题,即避免了数据缓冲区中的数据可能有一部份是最近接收到的新数据,而另一部分数据则是之前收到的旧数据。通过状态机的跳转来实现带锁双缓冲技术、缓冲区自动切换技术,通过接收数据模块提供的数据开始接收、接收完成这两个标识,以及上层功能块提供的锁定缓冲区以及解锁缓冲区这两个控制标识,配合带锁双缓冲技术、缓冲区自动切换技术来保证接收数据的完整性。使得在采用双缓冲区技术进行数据接收时的数据完整性得到了更进一步的保证,提高了系统的可靠性和稳定性。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是为了更清楚地说明本专利技术实施例或现有技术中的技术方案,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术系统各个模块及信号接口连接框图;图2为本专利技术具体的工作模式状态跳转图。具体实施方式为了使本领域技术人员更好地理解本专利技术的技术方案能予以实施,下面结合具体实施例对本专利技术作进一步说明,但所举实施例只作为对本专利技术的说明,不作为对本专利技术的限定。如图1所示的一种能够保证接收数据完整性的数据缓冲系统,包括上层功能块、缓冲区、带锁双缓冲处理模块、缓冲区切换模块及数据接收模块,所述缓冲区包括缓冲区0和缓冲区1,分别连接上层功能块的输入端和输出端;所述带锁双缓冲处理模块与缓冲区切换模块双向连接,其均连接上层功能块及缓冲区;所述数据接收模块分别连接缓冲区、带锁双缓冲处理模块、缓冲区切换模块的输入端。当缓冲区选择信号为低时,数据接收模块输出的数据写入缓冲区0,上层功能块只能对缓冲区1中的数据进行读取;当缓冲区选择信号为高时,数据接收模块输出的数据写入缓冲区1,上层功能块只能对缓冲区0中的数据进行读取。所述数据缓冲系统的输入数据标识包括:开始接收标识get_buffer_e、数据接收完成标识commit_buffer_e、缓冲区锁定标识lock_buffer_e、缓冲区解锁标识unlock_buffer_e;输出数据标识包括:缓冲区选本文档来自技高网...

【技术保护点】
1.一种能够保证接收数据完整性的数据缓冲系统,其特征在于,包括上层功能块、缓冲区、带锁双缓冲处理模块、缓冲区切换模块及数据接收模块,所述缓冲区包括缓冲区0和缓冲区1,分别连接上层功能块的输入端和输出端;所述带锁双缓冲处理模块与缓冲区切换模块双向连接,其均连接上层功能块及缓冲区;所述数据接收模块分别连接缓冲区、带锁双缓冲处理模块、缓冲区切换模块的输入端。/n

【技术特征摘要】
1.一种能够保证接收数据完整性的数据缓冲系统,其特征在于,包括上层功能块、缓冲区、带锁双缓冲处理模块、缓冲区切换模块及数据接收模块,所述缓冲区包括缓冲区0和缓冲区1,分别连接上层功能块的输入端和输出端;所述带锁双缓冲处理模块与缓冲区切换模块双向连接,其均连接上层功能块及缓冲区;所述数据接收模块分别连接缓冲区、带锁双缓冲处理模块、缓冲区切换模块的输入端。


2.根据权利要求1所述的一种能够保证接收数据完整性的数据缓冲系统,其特征在于,所述数据缓冲系统的输入数据标识包括:开始接收标识get_buffer_e、数据接收完成标识commit_buffer_e、缓冲区锁定标识lock_buffer_e、缓冲区解锁标识unlock_buffer_e;输出数据标识包括:缓冲区选择信号buffer_sel、解锁响应信号buffer_locked、数据就绪标识data_ready及数据覆盖标识set_overwrite_flag_e。


3.一种能够保证接收数据完整性的数据缓冲方法,其特征在于,包括六个工作状态:E:初始状态;
RL:一个缓冲区数据有效且处于锁定状态;
R:在一个缓冲区中存在一包有效数据;
RLP:一个缓冲区数据有效且被锁定,同时另一缓冲区中未读取的有效数据即将被覆盖;
EL:一个缓冲区为空数据且被锁定;
ELP:一个缓冲区为空数据且被锁定,同时另一个缓冲区中未读取的有效数据即将被覆盖;
六个工作状态的转换方法为:
A.系统初始状态在E工作状态,当接收数据完成标识有效后,置数据就绪标识有效、进行缓冲区切换并跳转至R状态;当接收数据完成标识有效且同时上层功能块发出锁定信号时,置数据就绪标识有效、进行缓冲区切换,同时将缓冲区锁定响应信号置有效,跳转至RL状态;当接收数据完成标识无...

【专利技术属性】
技术研发人员:吴小光李威力
申请(专利权)人:西安极光航空航天科技有限公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1