一种数据反压的处理方法和装置制造方法及图纸

技术编号:3541384 阅读:205 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种数据反压的处理方法和装置,该方法包括以下步骤:将从发送端接收的数据存储在先入先出队列中;接收端发生数据反压时,记录所述先入先出队列中下一个待发送数据的地址;所述接收端的数据反压结束时,根据所述下一个待发送数据的地址,从所述先入先出队列中依次读取数据并向所述接收端发送。本发明专利技术实施例将接收到的数据存储在先入先出队列中,当接收端数据反压时,记录下一个待发送数据的地址,数据反压结束后,从记录的地址开始依次读取数据向数据接收端发送,避免数据反压频繁时造成数据的丢失或出错等问题。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种数据反压的处理方法和装置
技术介绍
在逻辑设计过程中,数据从发送端到达数据接收端一般都要经过一个流水线过程。在数据传输过程中,接收端和发送端之间通常要建立一套握手机制来实现正常的数据传输。在数据传输过程中,接收端出现异常无法正常接收或者需要暂停接收数据时,就需要通过控制握手信号来通知数据发送端停止或暂停发送数据,接收端出现异常停止接收数据的现象称为数据反压。由于数据发送端和数据接收端之间存在时间上的延迟,因此处理数据反压时需要进行一定的特殊处理,不然就会导致丢失数据现象。处理数据反压,现有技术中一般是通过握手信号来控制寄存器缓存数据的方法。现有技术中,通过握手信号来控制两个或更多个中间数据信号,当产生数据反压时握手信号拉低,暂停取数据,对于已经取出来的数据使用中间寄存器缓存起来;当数据反压结束,握手信号重新置位时,再把缓存在中间寄存器中的数据和数据输入端的数据输出,从而实现数据反压过程的不丢数据。在实施本专利技术的过程中,专利技术人发现现有技术中至少存在以下缺点:数据反压频繁时,对数据传送的处理过程复杂,容易导致数据的丢失或出错。
技术实现思路
本专利技术实施例提供一种数据反压的处理方法和装置,以实现简化数据的接收和发送过程,从而避免数据反压频繁时导致数据丢失或出错。-->本专利技术实施例提供一种数据反压的处理方法,包括以下步骤:将从发送端接收的数据存储在先入先出队列中;接收端发生数据反压时,记录所述先入先出队列中下一个待发送数据的地址;所述接收端的数据反压结束时,根据所述下一个待发送数据的地址,从所述先入先出队列中依次读取数据并向所述接收端发送。本专利技术实施例提供一种数据反压的处理装置,包括一芯片和一先入先出队列,其中,所述芯片,用于接收端发生数据反压时,记录所述先入先出队列中下一个待发送数据的地址;所述先入先出队列,用于存储发送端发送的数据,并在所述接收端的数据反压结束时,根据所述芯片记录的下一个待发送数据的地址,依次读取数据并向所述接收端发送。本专利技术实施例提供一种逻辑控制器,包括写地址产生逻辑、先入先出队列和读地址产生逻辑,其中,所述写地址产生逻辑,用于接收发送端发送的写信号后,为待写入先入先出队列的数据分配在所述先入先出队列中的写入地址;所述先入先出队列,用于根据所述写地址产生逻辑分配的写入地址存储来自所述发送端的数据,并在接收端的数据反压结束时,根据所述读地址产生逻辑分配的读取地址,读取数据并向所述接收端发送;所述读地址产生逻辑,用于所述接收端发生数据反压时,根据记录的先入先出队列中下一个待发送数据的地址,分配所述先入先出队列中数据的读取地址,使所述先入先出队列根据所述读地址产生逻辑分配的读取地址读取数据并向所述接收端发送。由上可以看出,将接收到的数据存储在先入先出队列中,当接收端数据反压时,记录下一个待发送数据的地址,数据反压结束后,从记录的地址开始依次读取数据向数据接收端发送,避免数据反压频繁时数据的丢失或出错等问题。-->附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的方法的流程示意图;图2为本专利技术实施例提供的方法的详细流程示意图;图3为本专利技术实施例提供的逻辑控制器的结构示意图;图4为本专利技术实施例提供的装置的结构示意图;图5为本专利技术实施例提供的装置的详细结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种数据反压的处理方法,如图1所示,包括步骤:步骤s101,将从发送端接收的数据存储在先入先出队列中;步骤s102,接收端发生数据反压时,记录先入先出队列中下一个待发送数据的地址;步骤s103,接收端的数据反压结束时,根据下一个待发送数据的地址,从先入先出队列中依次读取数据向接收端发送。通过采用本专利技术实施例提供的方法,将接收到的数据存储在先入先出队列中,当接收端数据反压时,记录下一个待发送数据的地址,数据反压结束后,从记录的地址开始依次读取数据向数据接收端发送,避免频繁数据反-->压造成数据的丢失或出错等问题。下面结合具体应用场景对本专利技术进行进一步介绍。本专利技术实施例提供一种数据反压的处理方法,利用一种特殊结构的FIFO(First In First Out,先入先出)队列来避免数据反压频繁时数据丢失或出错的问题。利用该FIFO队列可以起到隔离接收端对数据的接收和发送端对数据的发送的作用,从而可以避免发送端数据中断对接收端的影响;同时更重要的是可以在出现数据反压,即数据接收端出现异常停止接收数据时,通过数据接收端和发送端的相对隔离,避免对发送端的影响。如图2所示,该数据反压的处理方法,包括:步骤s201,接收数据发送端发送的数据。接收到的数据被存储到FIFO队列中,该FIFO队列中包括N个单元Cell,每个Cell具有一地址高位,N个Cell的地址高位为0~N-1;每个Cell中还具有一定的地址低位,该地址低位最大为K-1,即每个Cell最多可以存储K个数据,K值根据数据发送端发送的每一帧数据的个数M设定,K值大于或等于M值。接收数据发送端发送数据的流程为:数据发送端首先检测是否收到满信号,当检测结果为否时,先后发出写信号以及要写入的一帧数据。收到写信号时,为数据在FIFO队列中分配地址高位,将随后的一帧数据存储到FIFO队列中该地址高位的Cell。数据发送端在该帧数据发送后、下一帧数据发送之前,发送写Eop信号。收到写Eop信号后则将FIFO队列中分配的地址高位转为下一Cell的地址高位,在下一Cell内存储下一帧写数据,已写入一帧数据的上一Cell状态为满。其中,为待写入的数据分配地址为:将FIFO队列中最新写入的地址的地址高位加1,作为下一帧数据存储的地址的地址高位;当最新写入的地址的地址高位为预设的最大值N-1时,下一帧数据存储的地址的地址高位为0。例如,若最新写入的地址的地址高位为N-1,则接收到数据发送端发送的写Eop信号后,将下一帧数据存储的地址的地址高位设为0,即将下一帧数据存储到地址高位为0的Cell内。数据在Cell内的存储可以为:该Cell-->内的地址低位不等于预设的最大值时,写入一数据后,写地址低位加1,作为下一数据在该Cell内存储的地址低位。上述为待写入的数据分配地址中,如果下一帧数据存储的地址的地址高位上的Cell存储状态为满,则向数据发送端发送满信号,通知数据发送端停止向FIFO队列发送数据。步骤s202,将存储的数据向数据接收端发送。具体的,向数据接收端发送数据为:数据接收端发送读信号,要求读取FIFO队列内的一帧数据;接收到数据接收端发送的读信号后,根据先入先出的规则选择FIFO队列内的地址的地址高位,读取选择的地址高位上的一帧数据向数据接收端本文档来自技高网...

【技术保护点】
一种数据反压的处理方法,其特征在于,包括: 将从发送端接收的数据存储在先入先出队列中; 接收端发生数据反压时,记录所述先入先出队列中下一个待发送数据的地址; 所述接收端的数据反压结束时,根据所述下一个待发送数据的地址,从所 述先入先出队列中依次读取数据并向所述接收端发送。

【技术特征摘要】
1、一种数据反压的处理方法,其特征在于,包括:将从发送端接收的数据存储在先入先出队列中;接收端发生数据反压时,记录所述先入先出队列中下一个待发送数据的地址;所述接收端的数据反压结束时,根据所述下一个待发送数据的地址,从所述先入先出队列中依次读取数据并向所述接收端发送。2、如权利要求1所述的方法,其特征在于,所述将从发送端接收的数据存储在先入先出队列前包括:为从所述发送端接收到的数据分配写入地址;所述地址包括地址高位和地址低位。3、如权利要求2所述的方法,其特征在于,所述为从所述发送端接收到的数据分配写入地址,包括:将所述先入先出队列中最新写入的地址的地址高位加1,作为下一帧数据写入的地址的地址高位;当所述最新写入的地址的地址高位为预设的最大值时,下一帧数据写入的地址的地址高位为0。4、如权利要求1所述的方法,其特征在于,所述从先入先出队列中依次读取数据并向所述接收端发送,包括:将所述先入先出队列中当前读取的地址的地址高位加1,作为下一读取数据的地址的地址高位;当所述当前读取的地址的地址高位为预设的最大值时,下一帧数据读取的地址的地址高位为0。5、如权利要求1所述的方法,其特征在于,还包括:当当前读取的地址与写入的地址相同,且读取的速率大于写入的速率时,判断数据的存储状态为空,向所述数据接收端发送空信号,通知数据接收端停止读取数据;当当前读取的地址与写入的地址相同,且写入的速率大于读取的速率时,判断数据的存储状态为满,向所述数据发送端发送满信号,通知数据发送端停止发送数据。6、一种数据反压的处理装置,其特征在于,包括芯片和先入先出队列,其中,所述芯片,用于接收端发生数据反压时,记录所述先入先出队列中下一个待发送数据的地址;所述先入先出队列,用于存储发送端发送的数据,并在所述接收端的数据反压结束时,根据所述芯片记录的下一个待发送数据的地址,读取数据并向所述接收端发送。7、如权利要求6所述的装置,其特征在于,所述芯片包括:写地址单元,用于为所述先入先出队列分配来自所述发送端的数据的写入地址,使所述先入先出队列根据所述写入地址存储发送端发送的数据。8、如权利要求7所述的装置,其...

【专利技术属性】
技术研发人员:徐长远梁剑丁亮张琴邢继元
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1