CN101222433A - 一种控制数据流量的方法、系统和装置 - Google Patents
一种控制数据流量的方法、系统和装置 Download PDFInfo
- Publication number
- CN101222433A CN101222433A CNA2008100047214A CN200810004721A CN101222433A CN 101222433 A CN101222433 A CN 101222433A CN A2008100047214 A CNA2008100047214 A CN A2008100047214A CN 200810004721 A CN200810004721 A CN 200810004721A CN 101222433 A CN101222433 A CN 101222433A
- Authority
- CN
- China
- Prior art keywords
- entity
- clock signal
- channel associated
- fifo
- associated clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种控制数据流量的方法,具体包括以下步骤:第一实体向第二实体输出随路时钟信号,接收并缓存所述第二实体根据所述随路时钟信号的节拍发送的数据;所述第一实体判断所述第一实体的先入先出FIFO缓存空间是否已满或将要满;如果所述第一实体的FIFO缓存空间已满或将要满,则停止对所述第二实体输出随路时钟信号。本发明实施例通过对随路时钟信号的控制,解决了数据传输过程中丢帧的问题。
Description
技术领域
本发明涉及计算机网络技术领域,特别涉及一种控制数据流量的方法、系统和装置。
背景技术
在无线基站系统开发中,接口处理单元和CPU(Central Processing Unit,中央处理单元)处理单元是比较常见的两个组成部分。其中接口处理单元负责完成数据的组帧解帧、或者打包拆包的工作,而CPU处理单元负责完成信令的收发和处理。这两个单元内部都有一定的数据缓存空间。
CPRI(Common Public Radio Interface,通用公共无线接口)是无线基站系统中常见的设备间高速接口。CPRI采用分时复用的方式,分时传输业务面和控制面两部分信息。其中,控制面信息的数据流量比较小,且基于包的方式,用于设备间传送控制信令。
CPRI的控制面实际上是对HDLC(High level Data Link Control,高级数据链路控制)帧或以太网帧的封装。当选用HDLC作为控制面时,其速率可以达到3.84Mbps,而选用以太网作为控制面时,其速率可以达到84.48Mbps。当控制面信息流量较小时,可以选用HDLC作为控制面,否则,可以选用流量较大的以太网作为控制面。
当选用HDLC作为控制面时,接口处理单元和CPU处理单元之间采用SPI(Serial Peripheral Interface,串行外设接口)互连。其中,SPI接口和MII(MediaIndependent Interface,介质无关接口)的共同特点是:都是全双工接口,收发通道独立;每个接口在数据传送方向都配有同方向的随路时钟。CPRI支持级联,因此需要多个CPU共享CPRI传输通道的控制面,接口处理单元相当于一个交换机。这样对于一个CPU来说,它需要和许多其它的CPU共享带宽。因此,CPRI提供给它的实际带宽是小于接口(SPI或MII)带宽的。而在ASIC(Application Specific Integrated Circuit,专用集成电路)的设计中,由于成本的考虑,不可能为接口处理单元分配过多的缓存,而CPU处理单元可以外挂存储器,相对来说,缓存比较充足。由于接口处理单元缓存能力有限,这样就造成从CPU处理单元向接口处理单元传输数据时有可能丢帧。
目前解决CPU处理单元向接口处理单元传输数据时有可能丢帧的方案主要有两种,一种是以太网技术的采用暂停帧方案。例如,在有两个端站A、B的链路中,当A站的缓存已经没有再接收帧信号的空余位置时,B站以一定速率向A站发送一帧数据,将导致A站进入拥塞状态。这时,A站可以发送一个暂停帧到B站。B站将依据暂停帧内的控制暂停时间的取值推迟发送帧数据,直到暂停时间结束为止,这样避免了链路拥塞的出现。但是,B站由于处理暂停帧还需要一定的时间开销,因此相应地增加了A站的缓存,同时,这种机制只是降低了丢帧率,而不能彻底解决丢帧的问题。
另外一种可行的方案是丢帧重发,还以上述A站和B站为例,如果B站的流量过大,超过A站的传输能力,则A站丢帧。直到A站恢复传输能力。丢帧的检测工作交给数据链路层来实现,即由软件检测丢帧情况,再发起重传,直到B站的包正确的传送到站实体。但是,如果A站拥塞,造成B站发出的帧丢失,B站会发起重传,重传会造成A站拥塞的程度进一步加剧。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:现有技术提供的控制数据流量的方法不能完全解决数据传输中丢帧的问题。
发明内容
本发明实施例提供一种控制数据流量的方法、系统和装置,解决了数据传输中丢帧的缺陷。
为达到上述目的,本发明实施例一方面提供一种控制数据流量的方法,包括以下步骤:第一实体向第二实体输出随路时钟信号,接收并缓存所述第二实体根据所述随路时钟信号的节拍发送的数据;所述第一实体判断所述第一实体的先入先出FIFO缓存空间是否已满或将要满;如果所述第一实体的FIFO缓存空间已满或将要满,则停止对所述第二实体输出随路时钟信号。
另一方面,本发明实施例还提供一种控制数据流量的系统,包括:第一实体和第二实体,所述第一实体,用于向所述第二实体输出随路时钟信号,接收并缓存所述第二实体根据所述随路时钟信号的节拍发送的数据,并且在所述第一实体的缓存空间已满或将要满时,停止对所述第二实体输出随路时钟信号;所述第二实体,用于根据所述第一实体输出的随路时钟信号的节拍向所述第一实体发送数据。
再一方面,本发明实施例还提供一种装置,包括:时钟输出模块,用于输出随路时钟信号;FIFO缓存模块,用于缓存第二实体根据所述时钟输出模块输出的随路时钟信号的节拍发送的数据;第一判断模块,用于判断所述FIFO缓存模块的FIFO缓存空间是否已满或将要满;时钟停止模块,用于根据所述第一判断模块的判断结果决定是否停止对所述第二实体输出随路时钟信号。
再一方面,本发明实施例还提供另一种装置,包括:时钟接收模块,用于接收所述第一实体发送的随路时钟信号;数据发送模块,用于根据所述时钟接收模块接收的随路时钟信号的节拍将数据发送给所述第一实体。
本发明实施例通过对随路时钟信号的控制,解决了数据传输过程中丢帧的问题。
附图说明
图1为本发明实施例一的方法流程图;
图2为本发明实施例二的方法流程图;
图3为本发明实施例三的方法流程图;
图4为本发明实施例四的结构图;
图5为本发明实施例控制数据流量的逻辑结构示意图。
具体实施方式
如图1所示,为本发明实施例一的方法流程图,具体包括以下步骤:
步骤S101,第一实体向第二实体输出随路时钟信号,接收并缓存第二实体根据上述随路时钟信号的节拍发送的数据。
步骤S102,判断第一实体的FIFO缓存空间是否已满或将要满。如果第一实体的FIFO缓存空间已满或将要满,则执行步骤S103,否则执行步骤S101。
步骤S103,停止对第二实体输出随路时钟信号。第一实体停止对第二实体输出随路时钟信号,致使第二实体停止向第一实体发送数据,因此防止了第一实体的缓存拥塞和丢帧现象的出现。
如图2所示,为本发明实施例二的方法流程图,本发明实施例第一实体和第二实体之间采用SPI接口,选用HDLC作为控制面,具体包括以下步骤:
步骤S201,第一实体通过SPI接口向第二实体发送随路时钟信号。第一实体在FIFO缓存空间空闲时,通过SPI接口向第二实体发送随路时钟信号,频率可以为3.84Mbps。其中,第一实体为小缓存实体内部有分频时钟产生电路,第二实体为大缓存实体且内部无分频时钟产生电路。
步骤S202,第二实体通过SPI接口在上述随路时钟信号的上升沿向第一实体发送数据。第二实体根据第一实体提供的随路时钟信号在该时钟信号的上升沿通过SPI接口将本实体的FIFO缓存空间缓存的数据发送给第一实体。
步骤S203,第一实体缓存第二实体发送的数据,并根据本实体的FIFO的空满标志判断本实体的FIFO缓存空间是否已满或将要满。第一实体根据本实体的FIFO的读写地址的差异来判断本实体的FIFO缓存空间的空满情况,如果缓存已满或将要满则执行步骤S204,否则,执行步骤S201。
步骤S204,第一实体停止向第二实体发送随路时钟信号,第二实体中断对第一实体的数据发送。当第一实体的FIFO缓存空间已满或将要满时,第一实体通过停止向第二实体发送随路时钟信号通知第二实体中断对第一实体的数据发送,进入等待状态。
步骤S205,第一实体判断FIFO缓存空间是否已空或将要空。如果所述第一实体的FIFO缓存空间已空或将要空,则执行步骤S201,否则执行步骤S204。
如图3所示,为本发明实施例三的方法流程图,本发明实施例第一实体和第二实体之间采用MII接口,选用以太网作为控制面,具体包括以下步骤:
步骤S301,第一实体通过MII接口向第二实体发送随路时钟信号。第一实体在本实体的FIFO缓存空间空闲时,通过MII接口向第二实体发送随路时钟信号,频率可以为25Mbps。其中,第一实体为小缓存实体内部有分频时钟产生电路,第二实体为大缓存实体且内部无分频时钟产生电路。
步骤S302,第二实体通过MII接口在上述随路时钟信号的上升沿向第一实体发送数据。第二实体根据第一实体提供的随路时钟信号在该时钟信号的上升沿通过MII接口将本实体的FIFO缓存空间缓存的数据发送给第一实体。
步骤S303,第一实体缓存第二实体发送的数据,并根据本实体的FIFO的空满标志判断本实体的FIFO缓存空间是否已满或将要满。第一实体根据本实体的FIFO的读写地址的差异来判断本实体的FIFO缓存空间的空满情况,如果缓存已满或将要满则执行步骤S304,否则,执行步骤S301。
步骤S304,第一实体停止向第二实体发送随路时钟信号,第二实体中断对第一实体的数据发送。当第一实体的FIFO缓存空间已满或将要满时,第一实体通过停止向第二实体发送随路时钟信号通知第二实体中断对第一实体的数据发送,进入等待状态。
步骤S305,第一实体判断FIFO缓存空间是否已空或将要空。如果所述第一实体的FIFO缓存空间已空或将要空,则执行步骤S301,否则执行步骤S304。
如图4所示为本发明实施例四的结构图,具体包括:第一实体1、第二实体2。其中,第一实体1,用于向第二实体2输出随路时钟信号,接收并缓存所述第二实体2根据所述随路时钟信号的节拍发送的数据,并且在所述第一实体1的缓存空间已满或将要满时,停止对所述第二实体2输出随路时钟信号;第二实体2,用于根据第一实体1输出的随路时钟信号的节拍向第一实体1发送数据;所述控制数据流量的系统还可以包括全双工接口3,用于连接第一实体1和第二实体2,实现第一实体1和第二实体2之间的通信。
其中,第一实体1进一步包括:时钟输出模块11,用于输出随路时钟信号;FIFO缓存模块12,用于缓存第二实体2根据时钟输出模块11输出的随路时钟信号的节拍发送的数据;第一判断模块13,用于判断FIFO缓存模块12的FIFO缓存空间是否已满或将要满;时钟停止模块14,用于根据第一判断模块13的判断结果决定是否停止对第二实体2输出随路时钟信号。
其中,第一实体1还包括:第二判断模块15,用于在时钟停止模11块停止对第二实体2输出随路时钟信号之后,判断第一实体1的FIFO缓存空间是否已空或将要空,如果所述第一实体的FIFO缓存空间已空或将要空,则指示时钟输出模块恢复对第二实体2输出随路时钟信号。
其中,第二实体2进一步包括:时钟接收模块21,用于接收第一实体1发送的随路时钟信号;数据发送模块23,用于根据时钟接收模块21接收的随路时钟信号的节拍将数据发送给第一实体1。所述第二实体2还可以包括数据存储模块22,用于存储数据;
其中,上述第二实体2内部无时钟产生模块,其随路时钟信号由第一实体1的时钟产生模块提供,第二实体2根据该随路时钟信号的节拍向第一实体1发送数据。上述第一实体1为小缓存实体,包括但不限于接口处理单元,上述第二实体2为大缓存实体,包括但不限于CPU处理单元。上述全双工接口3包括但不限于SPI接口和MII接口。
如图5所示,本发明实施例控制数据流量的逻辑结构示意图,该逻辑示意图取消了第二实体内部的分频时钟电路,由第一实体产生分频时钟,提供给接口。检查第一实体内部的缓存的空满情况,如果FIFO将要“满”,则停止随路时钟的输出,如果FIFO“不满”,则发送随路时钟。
第二实体根据第一实体提供的时钟tx_clk,将FIFO中的数据锁存输出,第一实体用时钟tx_clk接收数据;这种逻辑结构,实际上是将第一实体和第二实体紧密地结合了起来,第一实体的缓存情况反映到时钟tx_clk上,第二实体再根据时钟tx_clk收发数据。
对于第一实体来说,它只需要根据接口时钟的节拍来传输数据,它是不知道第二是否停时钟的,第二实体内部,根据FIFO读写地址的差异来判断自己缓存的空满情况。如果快空了,通知CPU可以进一步传输;如果缓存太慢了,则通知CPU等待,相当于第一实体借用了第二实体的缓存空间将自己的缓存扩大了,把第一实体有机地融合到第二实体中。
本发明实施例通过第一实体向第二实体输出随路时钟信号,接收并缓存第二实体根据随路时钟信号的节拍发送的数据,在判断第一实体的FIFO缓存空间已满或将要满时,停止对第二实体输出随路时钟信号,因此,不需要很多的处理开销,在随路时钟信号的下一个时钟周期即可停止大缓存实体的数据发送,从而有效控制了大缓存实体向小缓存实体的数据发送,避免了小缓存实体的缓存拥塞,解决了丢帧问题,有效保证了发送数据的正确性和可靠性,而且本发明实施例的第一实体的缓存可以很小,甚至没有,而完全借用第二实体的缓存,另外本发明实施例结构简单,不需要过多的实现逻辑,如此以来在设计ASIC时,成本优势明显。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可通过硬件来实现,当然也可借助软件加必需的通用硬件平台的方式实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以硬件产品的形式体现出来。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1.一种控制数据流量的方法,其特征在于,包括:
第一实体向第二实体输出随路时钟信号,接收并缓存所述第二实体根据所述随路时钟信号的节拍发送的数据;
所述第一实体判断所述第一实体的先入先出FIFO缓存空间是否已满或将要满;
如果所述第一实体的FIFO缓存空间已满或将要满,则停止对所述第二实体输出随路时钟信号。
2.如权利要求1所述控制数据流量的方法,其特征在于,所述判断第一实体的FIFO缓存空间是否已满或将要满,包括:
根据所述第一实体的FIFO的空满标志判断所述第一实体的FIFO缓存空间是否已满或将要满。
3.如权利要求1所述控制数据流量的方法,其特征在于,还包括:
所述第一实体判断所述第一实体的FIFO缓存空间是否已空或将要空;
如果所述第一实体的FIFO缓存空间已空或将要空,则恢复对所述第二实体输出随路时钟信号。
4.如权利要求1所述控制数据流量的方法,其特征在于,还包括:
所述第一实体的FIFO缓存空间远小于所述第二实体的FIFO缓存空间或所述第一实体无FIFO缓存空间。
5.如权利要求1所述控制数据流量的方法,其特征在于,还包括:
所述第一实体和所述第二实体之间的接口为全双工接口,所述第一实体和所述第二实体之间通过所述全双工接口在同一芯片内或同一电路板上互连。
6.如权利要求5所述控制数据流量的方法,其特征在于,所述全双工接口包括串行外设接口SPI和介质无关接口MII。
7.一种控制数据流量的系统,其特征在于,包括:第一实体和第二实体,
所述第一实体,用于向所述第二实体输出随路时钟信号,接收并缓存所述第二实体根据所述随路时钟信号的节拍发送的数据,并且在所述第一实体的缓存空间已满或将要满时,停止对所述第二实体输出随路时钟信号;
所述第二实体,用于根据所述第一实体输出的随路时钟信号的节拍向所述第一实体发送数据。
8.如权利要求7所述控制数据流量的系统,其特征在于,所述第一实体进一步包括:
时钟输出模块,用于输出随路时钟信号;
FIFO缓存模块,用于缓存所述数据接收模块接收的数据;
第一判断模块,用于判断所述FIFO缓存模块的FIFO缓存空间是否已满或将要满;
时钟停止模块,用于根据所述第一判断模块的判断结果决定是否停止对所述第二实体输出随路时钟信号。
9.如权利要求8所述控制数据流量的系统,其特征在于,所述第一实体还包括:
第二判断模块,用于在所述时钟停止模块停止对第二实体输出随路时钟信号之后,判断所述第一实体的FIFO缓存空间是否已空或将要空,如果所述第一实体的FIFO缓存空间已空或将要空,则指示时钟输出模块恢复对所述第二实体输出随路时钟信号。
10.一种装置,其特征在于,包括:
时钟输出模块,用于输出随路时钟信号;
FIFO缓存模块,用于缓存第二实体根据所述时钟输出模块输出的随路时钟信号的节拍发送的数据;
第一判断模块,用于判断所述FIFO缓存模块的FIFO缓存空间是否已满或将要满;
时钟停止模块,用于根据所述第一判断模块的判断结果决定是否停止对所述第二实体输出随路时钟信号。
11.如权利要求10所述的装置,其特征在于,还包括:
第二判断模块,用于在所述时钟停止模块停止对第二实体输出随路时钟信号之后,判断所述第一实体的FIFO缓存空间是否已空或将要空,如果所述第一实体的FIFO缓存空间已空或将要空,则指示时钟输出模块恢复对所述第二实体输出随路时钟信号。
12.一种装置,其特征在于,包括:
时钟接收模块,用于接收所述第一实体发送的随路时钟信号;
数据发送模块,用于根据所述时钟接收模块接收的随路时钟信号的节拍将数据发送给所述第一实体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100047214A CN101222433A (zh) | 2008-01-23 | 2008-01-23 | 一种控制数据流量的方法、系统和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100047214A CN101222433A (zh) | 2008-01-23 | 2008-01-23 | 一种控制数据流量的方法、系统和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101222433A true CN101222433A (zh) | 2008-07-16 |
Family
ID=39632015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100047214A Pending CN101222433A (zh) | 2008-01-23 | 2008-01-23 | 一种控制数据流量的方法、系统和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101222433A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621573A (zh) * | 2009-08-10 | 2010-01-06 | 上海闻泰电子科技有限公司 | 一种应用于手机的播放视频文件的方法 |
CN102035733A (zh) * | 2010-11-29 | 2011-04-27 | 武汉微创光电股份有限公司 | 通过以太网建立串行数据透明传输通道的方法 |
CN111639043A (zh) * | 2020-06-05 | 2020-09-08 | 展讯通信(上海)有限公司 | 一种通信装置 |
CN111683252A (zh) * | 2020-06-11 | 2020-09-18 | 浪潮(北京)电子信息产业有限公司 | 一种服务器以及一种视频压缩图像的输出系统和方法 |
CN112506846A (zh) * | 2020-12-15 | 2021-03-16 | 深圳大普微电子科技有限公司 | 一种芯片内部模块间通信系统及方法 |
-
2008
- 2008-01-23 CN CNA2008100047214A patent/CN101222433A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621573A (zh) * | 2009-08-10 | 2010-01-06 | 上海闻泰电子科技有限公司 | 一种应用于手机的播放视频文件的方法 |
CN102035733A (zh) * | 2010-11-29 | 2011-04-27 | 武汉微创光电股份有限公司 | 通过以太网建立串行数据透明传输通道的方法 |
CN102035733B (zh) * | 2010-11-29 | 2013-04-10 | 武汉微创光电股份有限公司 | 通过以太网建立串行数据透明传输通道的方法 |
CN111639043A (zh) * | 2020-06-05 | 2020-09-08 | 展讯通信(上海)有限公司 | 一种通信装置 |
CN111683252A (zh) * | 2020-06-11 | 2020-09-18 | 浪潮(北京)电子信息产业有限公司 | 一种服务器以及一种视频压缩图像的输出系统和方法 |
CN111683252B (zh) * | 2020-06-11 | 2021-11-09 | 浪潮(北京)电子信息产业有限公司 | 一种服务器以及一种视频压缩图像的输出系统和方法 |
CN112506846A (zh) * | 2020-12-15 | 2021-03-16 | 深圳大普微电子科技有限公司 | 一种芯片内部模块间通信系统及方法 |
CN112506846B (zh) * | 2020-12-15 | 2023-12-19 | 深圳大普微电子科技有限公司 | 一种芯片内部模块间通信系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131091B (zh) | 一种面向片上网络的片间互连方法和系统 | |
KR920002900B1 (ko) | 통신회로망 장치 | |
US6222855B1 (en) | Method and apparatus for converting between differing data and command exchange protocols | |
CN107735985B (zh) | 电子装置、其无线通信方法及非暂时性计算机可读存储介质 | |
JP2009525625A (ja) | シリアル相互接続の多数レーン用の装置及びデスキュー | |
CN101222433A (zh) | 一种控制数据流量的方法、系统和装置 | |
JP3448241B2 (ja) | 通信デバイスのインタフェース装置 | |
US6728795B1 (en) | DMA channel for high-speed asynchronous data transfer | |
JP2001308926A (ja) | 受信機と送信機間でデータを伝送するための方法及びシステム | |
KR101588346B1 (ko) | 온-패키지 입/출력 아키텍처 | |
CN100375484C (zh) | Pos-phy总线与pci总线间的数据包转发的装置 | |
CN105897364A (zh) | 晶圆级封装及相关数据传输管理方法 | |
CN100479407C (zh) | 一种同步串行接口装置 | |
CN101286942A (zh) | 管理无限带宽通信链路的发送机、接收机和方法 | |
CN102902641A (zh) | Cpu连接电路、数据处理装置、算术处理设备及相应方法 | |
CN114297121A (zh) | 一种基于fpga片间双向高速数据传输的实现方法 | |
CN111130691B (zh) | 一种星载异步速率通信匹配装置 | |
CN101079815B (zh) | 报文转换方法、系统及装置 | |
CN101534259B (zh) | 异步通信控制器及其控制方法 | |
WO2020102037A1 (en) | Reducing latency on long distance point-to-point links | |
US6996106B2 (en) | High-speed interchip interface protocol | |
US20080205567A1 (en) | Methods and Receives of Data Transmission Using Clock Domains | |
EP1361777B1 (en) | A synchronous communication protocol for asynchronous devices | |
US8576704B2 (en) | Communication system, communication device, integrated circuit, and communication method | |
CN111884987A (zh) | 电子设备和用于电子设备的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20080716 |