【技术实现步骤摘要】
一种带回退机制的FIFO存储器及读写方法、通信系统
[0001]本专利技术实施例涉及数据存储
,特别涉及一种带回退机制的FIFO存储器及读写方法、通信系统。
技术介绍
[0002]在通信系统的通信过程中,常需要收发各种报文。对于突发式报文的接收,一般会使用FIFO存储器作为数据缓冲器,先写入接收到的突发式报文,再按照需求读取出来,以便进行后续处理。但在传输过程中,报文有可能产生错误。一旦产生错误,即使立即中断传输,已存入FIFO存储器内的数据仍会造成存储空间的浪费,并且可能会影响报文的读取,但若清空FIFO存储器的存储空间,又会丢失在先接收的报文。并且,中断传输也会影响接收后续的突发式报文,造成新的报文丢失。
技术实现思路
[0003]基于现有FIFO存储器难以应对突发报文错误的问题,本专利技术实施例提供了一种带回退机制的FIFO存储器及读写方法、通信系统,能够在突发报文错误时,令写指针回退,覆盖错误的数据,重新写入正确的报文。
[0004]第一方面,本专利技术实施例提供了一种带回退机制的FIFO存储器读写方法,包括:
[0005]生成写指针、读指针和镜像指针;
[0006]获取控制指令;所述控制指令包括写入指令、读取指令和回退指令;
[0007]若获取到写入指令,则确定待写入的报文的帧头,并令所述镜像指针和写指针指向报文的帧头,再通过移动所述写指针,向存储单元中写入报文;
[0008]若获取到读取指令,则通过移动所述读指针,从所述存储单元中读取报文;r/>[0009]若获取到回退指令,则令所述写指针跳转到所述镜像指针指向的位置。
[0010]可选地,在读取报文的过程中,当所述读指针追上所述镜像指针,令所述镜像指针跟随所述读指针移动。
[0011]可选地,所述的方法还包括:
[0012]在所述获取控制指令之前,标记所有待写入的报文的首个数据单元;
[0013]所述确定待写入的报文的帧头,包括:对待写入的报文中的数据单元逐一进行判断,若数据单元中存在标记,则确定为报文的帧头。
[0014]可选地,所述确定待写入的报文的帧头,包括:
[0015]获取外部指示,基于所述外部指示,确定对应的数据单元为帧头。
[0016]第二方面,本专利技术实施例还提供了一种带回退机制的FIFO存储器,包括:
[0017]存储单元,用于存储报文;
[0018]写地址单元,与所述存储单元连接,用于基于写时钟生成写地址,并根据写地址将相应的报文存入所述存储单元;
[0019]读地址单元,与所述存储单元连接,用于基于读时钟生成读地址,并根据读地址读
取出所述存储单元中的报文;
[0020]读地址同步单元,与所述读地址单元连接,用于将读地址同步到写时钟下;
[0021]写地址同步单元,与所述写地址单元连接,用于将写地址同步到读时钟下;
[0022]满状态生成单元,与所述写地址单元和所述读地址同步单元连接,用于比对写地址和同步到写时钟下的读地址,生成写入状态标志;所述写入状态标志包括满、半满以及溢出错误;
[0023]空状态生成单元,与所述读地址单元和所述写地址同步单元连接,用于比对读地址和同步到读时钟下的写地址,生成读取状态标志;所述读取状态标志包括空、半空以及读空错误;
[0024]镜像地址生成单元,与所述写地址单元连接,用于响应外部输入的写入指令,基于报文的帧头对应的写地址生成镜像地址;所述写地址单元还用于响应外部输入的回退指令,基于所述镜像地址更新写地址。
[0025]可选地,所述镜像地址生成单元还与所述读地址同步单元连接;所述镜像地址生成单元还用于响应外部输入的读取指令,基于同步到写时钟下的读地址进行判定,当判定同步到写时钟下的读地址与所述镜像地址相同,则持续基于读地址更新所述镜像地址,直至读取结束。
[0026]可选地,所述的FIFO存储器还包括:
[0027]镜像地址判断单元,与所述镜像地址生成单元进行连接,用于接收外部输入的控制指令和待写入的报文,并确定报文的帧头;所述控制指令包括写入指令、读取指令和回退指令。
[0028]可选地,所述镜像地址判断单元确定报文的帧头,包括:基于报文中的数据单元是否存在帧头标记,判断输入的数据单元是否为报文的帧头。
[0029]可选地,所述镜像地址判断单元确定报文的帧头,包括:基于获取的外部指示,确定对应的数据单元为帧头。
[0030]第三方面,本专利技术实施例还提供了一种通信系统,采用如上述任一项所述的带回退机制的FIFO存储器作为数据缓冲器。
[0031]本专利技术提供了一种带回退机制的FIFO存储器及读写方法、通信系统,该FIFO存储器读写方法利用镜像指针指向写入报文的帧头,当出现报文错误,即可令写指针回退,跳转到镜像指针所指的帧头位置,重新写入正确的报文,覆盖错误的数据;本专利技术通过写指针回退,可以只修正存储单元中出现错误的报文,而不影响已经写入的正确报文,且不会延误后续报文的写入。
附图说明
[0032]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]图1是本专利技术一实施例提供的一种带回退机制的FIFO存储器读写方法流程图;
[0034]图2是本专利技术一实施例提供的FIFO存储器读写方法读写过程中,镜像指针的一种
指向位置示意图;
[0035]图3是本专利技术一实施例提供的FIFO存储器读写方法读写过程中,镜像指针的另一种指向位置示意图;
[0036]图4是本专利技术一实施例提供的一种带回退机制的FIFO存储器结构示意图。
具体实施方式
[0037]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0038]如前所述,在通信系统的通信过程中,常需要收发各种报文,且报文的长度可能不等。对于突发式报文的接收,一般会使用FIFO存储器作为数据缓冲器,先写入接收到的突发式报文,再按照需求读取出来,以便进行后续的数据处理。在传输过程中,FIFO存储器接收的报文可能来自不同设备,报文有可能产生错误。一旦产生错误,即使立即中断传输,已存入FIFO存储器内的数据仍会造成存储空间的浪费,并且可能会影响报文的读取,但若清空FIFO存储器的存储空间,又会丢失在先接收的、没有错误的报文。并且,中断传输也会影响接收后续的突发式报文,造成新的报文丢失。利用CPU等模块存储的软件在出现错误后进行调整,本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种带回退机制的FIFO存储器读写方法,其特征在于,包括:生成写指针、读指针和镜像指针;获取控制指令;所述控制指令包括写入指令、读取指令和回退指令;若获取到写入指令,则确定待写入的报文的帧头,并令所述镜像指针和写指针指向报文的帧头,再通过移动所述写指针,向存储单元中写入报文;若获取到读取指令,则通过移动所述读指针,从所述存储单元中读取报文;若获取到回退指令,则令所述写指针跳转到所述镜像指针指向的位置。2.根据权利要求1所述的方法,其特征在于,在读取报文的过程中,当所述读指针追上所述镜像指针,令所述镜像指针跟随所述读指针移动。3.根据权利要求1所述的方法,其特征在于,还包括:在所述获取控制指令之前,标记所有待写入的报文的首个数据单元;所述确定待写入的报文的帧头,包括:对待写入的报文中的数据单元逐一进行判断,若数据单元中存在标记,则确定为报文的帧头。4.根据权利要求1所述的方法,其特征在于,所述确定待写入的报文的帧头,包括:获取外部指示,基于所述外部指示,确定对应的数据单元为帧头。5.一种带回退机制的FIFO存储器,其特征在于,包括:存储单元,用于存储报文;写地址单元,与所述存储单元连接,用于基于写时钟生成写地址,并根据写地址将相应的报文存入所述存储单元;读地址单元,与所述存储单元连接,用于基于读时钟生成读地址,并根据读地址读取出所述存储单元中的报文;读地址同步单元,与所述读地址单元连接,用于将读地址同步到写时钟下;写地址同步单元,与所述写地址单元连接,用于将写地址同步到读时钟下;满状态生成单元,与所述写地址单元和所述读地址同步单元连接,用于比对写地址和同步到...
【专利技术属性】
技术研发人员:万昌盛,梁彦军,秦建军,乔龙,吴雪晴,
申请(专利权)人:斯凯瑞利北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。