CN112073291B - 一种无抖动链路层消息插入装置及方法 - Google Patents
一种无抖动链路层消息插入装置及方法 Download PDFInfo
- Publication number
- CN112073291B CN112073291B CN201910500687.8A CN201910500687A CN112073291B CN 112073291 B CN112073291 B CN 112073291B CN 201910500687 A CN201910500687 A CN 201910500687A CN 112073291 B CN112073291 B CN 112073291B
- Authority
- CN
- China
- Prior art keywords
- data
- real
- module
- link layer
- sending
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种无抖动链路层消息插入装置及方法,在链路层数据正常发送且无实时消息数据发送需求时,链路层数据通过数据发送FIFO实现与发送端时钟的隔离。当数据边界检测模块检测到新的待发送数据帧边界后,将数据帧待发送状态信息发送至FIFO读取控制及发送模块,FIFO读取控制及发送模块向第一通道切换控制模块请求信道占用。如果信道空闲,将其分配给FIFO读取控制及发送模块,链路层数据直接从数据发送FIFO传输至FIFO读取控制及发送模块,再通过第一通道切换控制模块发送至物理层帧封装模块完成帧封装后经物理层链路对外发送。本发明能够解决TDM复用信道传输实时性和确定性要求高的信息时不确定性抖动的技术问题。
Description
技术领域
本发明涉及数据通讯技术领域,尤其是涉及一种应用于数据传输的无抖动链路层消息插入装置及方法。
背景技术
在当前的通讯系统中,高优先级消息在通过链路层向下层传递时,若链路层存在未完成数据帧,则需要挂起当前数据帧等待高优先级消息发送完成后重新传输被挂起的数据帧。这种方式常常会造成之前传送的数据丢失,而当被挂起的数据帧等待较长时,对通讯效率的影响会极其严重。现有链路层传输一般采用两种方式来响应实时消息发送:
第一种方式关注实时消息的实时性,采用抛弃现有帧,立即响应实时消息数据发送请求的方式,在实时消息数据发送完成后再整个帧从头开始重传的方式进行实时数据响应。这种方法将破坏正在发送的数据包,效率较低,尤其当信道正在发送较长帧数据时,如果在帧的最后阶段被实时消息打断时,数据重新传输带来的时间开销极大。
第二种方式则关注信道利用的效率,因而其采用了挂起实时消息请求,待现有数据帧发送完成后再响应的缓冲等待方式进行实时消息响应。这种方式影响了实时消息的确定性,当正在发送的数据帧长度较长时,这种等待对于系统往往是难以容忍的。
目前,在现有技术中,主要有以下技术方案与本发明申请相关:
现有技术1为中国航空工业集团公司西安航空计算技术研究所于2016年12月12日申请,并于2018年08月28日公开,公开号为CN108462654A的中国发明申请《增强型GJB289A总线通信管理和调度方法》。该发明申请公开了一种对传统GJB289A总线通信管理和调度策略的一种改进方法,在传统GJB289A总线通信管理的基础上,增加对突发事件或消息的传输处理和调度。该总线通信管理和调度方法设计了三种消息队列:突发消息管理队列、网络管理消息队列、应用任务消息队列,在三个队列中突发消息管理队列优先级最高,网络管理消息队列优先级次之,应用任务消息队列优先级最低。GJB289A总线为串行数据总线,所有消息均按照串行的顺序依次发送到总线。增强型GJB289A总线通信管理和调度方法要求对三条队列的所有消息按照优先级依次查询,并将满足发送条件的消息启动发送操作。增强的GJB289A通信管理和调度方法能够通过对突发消息采取实时管理和控制为总线负载的实时动态调节提供实现的依据;通过实时、动态地调整总线负载能够有效地减小传输延迟和积累抖动;对于大数据的拆分传输可确保数据的发送和接收顺序的一致性;能够为应用层软件处理突发事件提供有效的处理机制。
现有技术2为浙江工业大学于2016年07月08日申请,并于2016年11月16日公开,公开号为CN106130693A的中国发明申请《一种基于UDP的可靠传输方法》。该发明申请公开了一种基于UDP的可靠传输方法,可靠传输协议包括可靠传输、不可靠传输和乱序传输。可靠传输,用于在两个上层应用之间提供可靠的数据传输,接收的数据报需要进行确认,丢失的数据报需要进行重传,接收到的数据报按报文可靠序列号的顺序提交给上层应用。不可靠传输,用于在两个上层应用之间提供不可靠的数据传输,接收的数据报不需要进行确认,丢失的数据报不需要进行重传,接收到的数据报按报文不可靠序列号的顺序提交给上层应用。乱序传输,用于在两个上层应用之间提供乱序的数据传输,接收的数据报不需要进行确认,丢失的数据不需要进行重传,接收到的数据报直接按接收顺序提交给上层应用。
然而,上述现有技术1主要是关于GJB289A总线通过通信管理和调度以降低通讯传输抖动以降低关键数据传输的抖动和延迟的方法,而无法通过端到端的专用链路层设计来保证实时消息的无抖动插入。上述现有技术2则是建立在传输层上的一种基于UDP包协议的可靠性传输方法,主要用于以太网UDP包传输中可靠性包的差错控制,也无法实现基于链路层的关键消息实时性传输控制。
发明内容
有鉴于此,本发明的目的在于提供一种无抖动链路层消息插入装置及方法,以解决TDM(Time Division Multiplexing,时分复用的简称)复用信道传输实时性和确定性要求高的信息时不确定性抖动的技术问题。
为了实现上述发明目的,本发明具体提供了一种无抖动链路层消息插入装置的技术实现方案,无抖动链路层消息插入装置,包括发送端功能单元,所述发送端功能单元包括:数据发送FIFO、数据边界检测模块、FIFO读取控制及数据发送模块、第一通道切换控制模块及物理层帧封装模块。在链路层数据正常发送且无实时消息数据发送需求时,输出至数据边界检测模块的链路层数据通过数据发送FIFO实现与发送端时钟的隔离。当所述数据边界检测模块检测到新的待发送数据帧边界后,将数据帧待发送状态信息发送至FIFO读取控制及数据发送模块,所述FIFO读取控制及数据发送模块向第一通道切换控制模块请求信道占用。如果此时信道空闲,所述第一通道切换控制模块将信道分配给FIFO读取控制及数据发送模块,链路层数据直接从数据发送FIFO传输至FIFO读取控制及数据发送模块,再通过第一通道切换控制模块发送至物理层帧封装模块完成帧封装后经物理层链路对外发送。
进一步的,所述装置还包括实时消息接收及通道请求模块。当出现实时消息数据发送需求时,实时消息接收及通道请求模块直接向第一通道切换控制模块请求信道占用。所述第一通道切换控制模块通知FIFO读取控制及数据发送模块信道占用被暂时中止。所述FIFO读取控制及数据发送模块在接收到信道发送暂停消息后停止读取数据发送FIFO内的待发送数据,新的链路层数据通过所述数据发送FIFO实现缓存等待。在设定的若干个发送周期延迟后,所述FIFO读取控制及数据发送模块占用信道并通过第一通道切换控制模块发送消息数据至物理层帧封装模块。所述物理层帧封装模块对实时消息数据的帧头进行独立封装,使得数据接收方能在由连续链路层数据构成的连续数据流中检测到实时消息数据。
进一步的,所述装置还包括接收端功能单元,所述接收端功能单元包括:数据接收FIFO、数据帧边界插入模块、FIFO写入控制模块、第二通道切换控制模块、物理层帧解封模块及实时消息接收模块。来自解码子层的数据首先进入物理层帧解封模块,所述第二通道切换控制模块根据帧头控制符区分数据输出的信道并对数据流向进行切换选择。当数据为实时消息数据时,数据被切入实时消息接收模块,否则数据被导向FIFO写入控制模块用于写入数据接收FIFO。所述FIFO写入控制模块接收到的数据在写入数据接收FIFO之前经数据帧边界插入模块进行边界控制符插入,应用侧通过读取数据接收FIFO得到数据链路层数据并在上层做进一步解析。
进一步的,所述第一通道切换控制模块用于实现基于数据类型的优先级通道切换控制。所述第一通道切换控制模块在空闲状态下等待信道占用请求,如果此时实时消息数据发送请求有效,则所述第一通道切换控制模块优先进入实时消息数据发送状态。如果此时无实时消息数据发送请求且链路层数据发送请求有效,则所述第一通道切换控制模块开始发送链路层数据帧头。在链路层数据帧头发送状态下,如果无实时消息数据发送请求打断,则所述第一通道切换控制模块进入链路层数据发送状态。如果有实时消息数据发送请求,则发送实时消息数据。实时消息数据发送完成后,所述第一通道切换控制模块重新进入被打断前的链路层数据帧头发送状态,并继续发送链路层数据。
进一步的,所述第一通道切换控制模块在链路层数据发送状态下,当存在实时消息数据发送请求,则发送实时消息数据,待完成实时消息数据发送后重新进入链路层数据发送状态继续发送数据。当数据发送完成后,所述第一通道切换控制模块进入链路层数据帧尾发送状态,当有实时消息数据发送请求时,所述第一通道切换控制模块直接进入实时消息数据发送状态。无实时消息数据发送请求时,所述第一通道切换控制模块进入空闲状态。如果所述第一通道切换控制模块进入实时消息数据发送状态,实时消息数据发送完成后直接进入空闲状态。
本发明还另外具体提供了一种无抖动链路层消息插入方法的技术实现方案,无抖动链路层消息插入方法,所述方法包括数据发送过程,该过程包括以下步骤:
S101)在链路层数据正常发送且无实时消息数据发送需求时,输出至数据边界检测模块的链路层数据通过数据发送FIFO实现与发送端时钟的隔离;
S102)当所述数据边界检测模块检测到新的待发送数据帧边界后,将数据帧待发送状态信息发送至FIFO读取控制及数据发送模块,所述FIFO读取控制及数据发送模块向第一通道切换控制模块请求信道占用;
S103)如果此时信道空闲,所述第一通道切换控制模块将信道分配给FIFO读取控制及数据发送模块,链路层数据直接从数据发送FIFO传输至FIFO读取控制及数据发送模块,再通过第一通道切换控制模块发送至物理层帧封装模块完成帧封装后经物理层链路对外发送。
进一步的,所述方法包括以下步骤:
S201)当出现实时消息数据发送需求时,实时消息接收及通道请求模块直接向第一通道切换控制模块请求信道占用;
S202)所述第一通道切换控制模块通知FIFO读取控制及数据发送模块信道占用被暂时中止;
S203)所述FIFO读取控制及数据发送模块在接收到信道发送暂停消息后停止读取数据发送FIFO内的待发送数据,新的链路层数据通过所述数据发送FIFO实现缓存等待;
S204)在设定的若干个发送周期延迟后,所述FIFO读取控制及数据发送模块占用信道并通过第一通道切换控制模块发送消息数据至物理层帧封装模块;
S205)所述物理层帧封装模块对实时消息数据的帧头进行独立封装,使得数据接收方能在由连续链路层数据构成的连续数据流中检测到实时消息数据。
进一步的,所述方法包括数据接收过程,该过程包括以下步骤:
S301)来自解码子层的数据首先进入物理层帧解封模块,所述第二通道切换控制模块根据帧头控制符区分数据输出的信道并对数据流向进行切换选择;
S302)当数据为实时消息数据时,数据被切入实时消息接收模块,否则数据被导向FIFO写入控制模块用于写入数据接收FIFO;
S303)所述FIFO写入控制模块接收到的数据在写入数据接收FIFO之前经数据帧边界插入模块进行边界控制符插入,应用侧通过读取数据接收FIFO得到数据链路层数据并在上层做进一步解析。
进一步的,所述数据发送过程包括以下步骤:
所述第一通道切换控制模块在空闲状态下等待信道占用请求,如果此时实时消息数据发送请求有效,则所述第一通道切换控制模块优先进入实时消息数据发送状态。如果此时无实时消息数据发送请求且链路层数据发送请求有效,则所述第一通道切换控制模块开始发送链路层数据帧头。在链路层数据帧头发送状态下,如果无实时消息数据发送请求打断,则所述第一通道切换控制模块进入链路层数据发送状态。如果有实时消息数据发送请求,则发送实时消息数据;实时消息数据发送完成后,所述第一通道切换控制模块重新进入被打断前的链路层数据帧头发送状态,并继续发送链路层数据。
进一步的,所述数据发送过程包括以下步骤:
所述第一通道切换控制模块在链路层数据发送状态下,当存在实时消息数据发送请求,则发送实时消息数据,待完成实时消息数据发送后重新进入链路层数据发送状态继续发送数据。当数据发送完成后,所述第一通道切换控制模块进入链路层数据帧尾发送状态,当有实时消息数据发送请求时,所述第一通道切换控制模块直接进入实时消息数据发送状态。无实时消息数据发送请求时,所述第一通道切换控制模块进入空闲状态。如果所述第一通道切换控制模块进入实时消息数据发送状态,实时消息数据发送完成后直接进入空闲状态。
通过实施上述本发明提供的无抖动链路层消息插入装置及方法的技术方案,具有如下有益效果:
本发明无抖动链路层消息插入装置及方法,相对于传统的信道切换控制方式,可以在有实时消息发送请求时直接中断正在进行的数据发送流程,在固定延迟后立即发送实时消息数据,并在消息发送完成后继续发送之前被中断的未完成数据。本发明能够在保证实时消息无抖动传输的同时确保挂起帧通讯能在消息传输完成后重新续传,这种方式不但避免了破坏正在发送的数据包,提高了链路通信效率,减小了数据重新传输带来的时间开销,而且不会影响实时消息的确定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的实施例。
图1是本发明无抖动链路层消息插入装置一种具体实施例中发送端功能单元的结构组成示意框图;
图2是本发明无抖动链路层消息插入装置一种具体实施例中发送端功能单元的链路分层结构示意图;
图3是本发明无抖动链路层消息插入装置一种具体实施例中接收端功能单元的结构组成示意框图;
图4是本发明无抖动链路层消息插入装置一种具体实施例中接收端功能单元的链路分层结构示意图;
图5是本发明无抖动链路层消息插入装置一种具体实施例中第一通道切换控制模块的状态跳转示意图;
图6是本发明无抖动链路层消息插入方式一种具体实施例数据发送过程的程序流程图;
图7是本发明无抖动链路层消息插入方式一种具体实施例数据接收过程的程序流程图;
图中:1-发送端功能单元,2-接收端功能单元,11-数据发送FIFO,12-数据边界检测模块,13-FIFO读取控制及数据发送模块,14-第一通道切换控制模块,15-物理层帧封装模块,16-实时消息接收及通道请求模块,21-数据接收FIFO,22-数据帧边界插入模块,23-FIFO写入控制模块,24-第二通道切换控制模块,25-物理层帧解封模块,26-实时消息接收模块。
具体实施方式
为了引用和清楚起见,将下文中使用的技术名词、简写或缩写记载如下:
FIFO:First Input First Output,先进先出型存储器的简称;
PCS:物理编码子层,位于协调子层和物理介质接入层子层之间;
8B/10B:一种均衡型信道编码方法,可实现信道的DC均衡;8B/10B编码是1983年由IBM公司的Al Widmer和PeterFranaszek所提出的数据传输编码标准,目前已经被广泛应用到高速串行总线;8B/10B编码将待发送的8位数据转换成10位代码组,其目的是保证直流平衡,以及足够密集的电平转换;线路编码机制将输入原始数据转变为接收器可接收的数据格式,同时保证数据流中有足够的时钟信息提供给接收端的时钟恢复电路;
链路层:OSI-ISO标准模型中的倒数第二层,通常用于实现帧封装控制、接入控制等功能。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如附图1至附图7所示,给出了本发明无抖动链路层消息插入装置及方法的具体实施例,下面结合附图和具体实施例对本发明作进一步说明。
实施例1
如附图1和附图3所示,一种本发明无抖动链路层消息插入装置的实施例,具体包括发送端功能单元1,发送端功能单元1进一步包括:数据发送FIFO 11、数据边界检测模块12、FIFO读取控制及数据发送模块13、第一通道切换控制模块14及物理层帧封装模块15。其中,第一通道切换控制模块14为基于数据类型的优先级通道切换控制模块。在链路层数据正常发送且无实时消息数据发送需求时,输出至数据边界检测模块12的链路层数据通过数据发送FIFO 11实现与发送端时钟的隔离(FIFO两端可以允许数据从一个时钟域传递至另一个时钟域,其本身就是一个时钟域隔离同步器件,FIFO具有数据缓冲功能,输入和输出可以工作在不同的时钟域)。当数据边界检测模块12检测到新的待发送数据帧边界后,将数据帧待发送状态信息发送至FIFO读取控制及数据发送模块13,FIFO读取控制及数据发送模块13向第一通道切换控制模块14请求信道占用。如果此时信道空闲,第一通道切换控制模块14将信道分配给FIFO读取控制及数据发送模块13,链路层数据直接从数据发送FIFO 11传输至FIFO读取控制及数据发送模块13,再通过第一通道切换控制模块14发送至物理层帧封装模块15,完成帧封装后发送至编码模块PCS再通过物理层链路对外发送。
无抖动链路层消息插入装置还包括实时消息接收及通道请求模块16。当出现实时消息数据发送需求时,实时消息接收及通道请求模块16直接向第一通道切换控制模块14请求信道占用。第一通道切换控制模块14通知FIFO读取控制及数据发送模块13信道占用被暂时中止。FIFO读取控制及数据发送模块13在接收到第一通道切换控制模块14发出的信道发送暂停消息后停止读取数据发送FIFO 11内的待发送数据,新的链路层数据通过数据发送FIFO 11实现缓存等待。在设定的若干个发送周期延迟(如:可设置为固定三个发送周期延迟)后,FIFO读取控制及数据发送模块13占用信道并通过第一通道切换控制模块14发送消息数据至物理层帧封装模块15。物理层帧封装模块15对实时消息数据的帧头进行独立封装,使得数据接收方能在由连续链路层数据构成的连续数据流中检测到实时消息数据。
如附图2和附图4所示,无抖动链路层消息插入装置还包括接收端功能单元2,接收端功能单元2进一步包括:数据接收FIFO 21、数据帧边界插入模块22、FIFO写入控制模块23、第二通道切换控制模块24、物理层帧解封模块25及实时消息接收模块26。其中,第一通道切换控制模块14为基于帧类型的优先级通道切换控制模块。来自解码子层的数据首先进入物理层帧解封模块25,第二通道切换控制模块24根据帧头控制符区分数据输出的信道并对数据流向进行切换选择。当数据为实时消息数据时,数据被切入实时消息接收模块26,否则数据被导向FIFO写入控制模块23用于写入数据接收FIFO 21。FIFO写入控制模块23接收到的数据在写入数据接收FIFO 21之前经数据帧边界插入模块22进行边界控制符插入,应用侧通过读取数据接收FIFO 21得到数据链路层数据并在上层做进一步解析。
基于数据类型的优先级通道切换控制功能单元(即第一通道切换控制模块14)负责根据实时消息数据发送需求和当前数据发送状态对数据发送信道占用进行切换,实现快速信道切换响应。如附图5所示,第一通道切换控制模块14的控制状态机包括以下几个状态:1)空闲状态、2)链路层数据帧头发送状态、3)链路层数据发送状态、4)链路层数据帧尾发送状态、5)实时消息数据发送状态。
第一通道切换控制模块14在空闲状态(即状态1)下等待信道占用请求,如果此时实时消息数据发送请求有效,则第一通道切换控制模块14优先跳转至实时消息数据发送状态(即状态5)。如果此时无实时消息数据发送请求且链路层数据发送请求有效,则第一通道切换控制模块14进入状态2开始发送链路层数据帧头。在链路层数据帧头发送状态(即状态2)下,如果无实时消息数据发送请求打断,则第一通道切换控制模块14进入链路层数据发送状态(即状态3)。如果有实时消息数据发送请求,则跳转至状态5发送实时消息数据。实时消息数据发送完成后,第一通道切换控制模块14重新跳转至被打断前的链路层数据帧头发送状态(即状态2),并继续发送链路层数据。第一通道切换控制模块14在链路层数据发送状态(即状态3)下,当存在实时消息数据发送请求,则跳转至状态5发送实时消息数据,待完成实时消息数据发送(即状态5)后重新跳转回链路层数据发送状态(即状态3)继续发送数据。当数据发送完成后,第一通道切换控制模块14跳转至链路层数据帧尾发送状态(即状态4),当有实时消息数据发送请求时,第一通道切换控制模块14直接跳转至实时消息数据发送状态(即状态5)。无实时消息数据发送请求时,第一通道切换控制模块14直接跳转至空闲状态(即状态1)。如果第一通道切换控制模块14跳转至实时消息数据发送状态(即状态5),实时消息数据发送完成后直接跳转回空闲状态(即状态1)。
实施例1描述的无抖动链路层消息插入装置,具备FIFO,采用8B10B编码方案,并通过新型的链路层透传分层结构设计实现了被挂起数据帧的内容续传。这种新型的链路层透传分层结构设计主要包括以下功能:
1)通过链路层入口FIFO实现挂起任务的连续缓冲,向上游端口提供透明数据传输服务;
2)提供独立的实时短消息通道用于实现从链路层输入侧直接到达编码层的独立通道;
3)为用户帧和实时消息通道提供优先级切换选择模块,用于高优先级通道响应和低优先级帧传输的暂时中断。
实施例1描述的无抖动链路层消息插入装置在保证实时消息无抖动传输的同时有效地保证了挂起帧通讯能在消息传输完成后重新续传,从而大幅提高了链路效率。
实施例2
如附图6所示,一种本发明无抖动链路层消息插入方法的实施例,具体包括数据发送过程,该过程进一步包括以下步骤:
S101)在链路层数据正常发送且无实时消息数据发送需求时,输出至数据边界检测模块12的链路层数据通过数据发送FIFO 11实现与发送端时钟的隔离;
S102)当数据边界检测模块12检测到新的待发送数据帧边界后,将数据帧待发送状态信息发送至FIFO读取控制及数据发送模块13,FIFO读取控制及数据发送模块13向第一通道切换控制模块14请求信道占用;
S103)如果此时信道空闲,第一通道切换控制模块14将信道分配给FIFO读取控制及数据发送模块13,链路层数据直接从数据发送FIFO 11传输至FIFO读取控制及数据发送模块13,再通过第一通道切换控制模块14发送至物理层帧封装模块15完成帧封装后经物理层链路对外发送。
无抖动链路层消息插入方法进一步包括以下步骤:
S201)当出现实时消息数据发送需求时,实时消息接收及通道请求模块16直接向第一通道切换控制模块14请求信道占用;
S202)第一通道切换控制模块14通知FIFO读取控制及数据发送模块13信道占用被暂时中止;
S203)FIFO读取控制及数据发送模块13在接收到信道发送暂停消息后停止读取数据发送FIFO 11内的待发送数据,新的链路层数据通过数据发送FIFO 11实现缓存等待;
S204)在设定的若干个发送周期延迟后,FIFO读取控制及数据发送模块13占用信道并通过第一通道切换控制模块14发送消息数据至物理层帧封装模块15;
S205)物理层帧封装模块15对实时消息数据的帧头进行独立封装,使得数据接收方能在由连续链路层数据构成的连续数据流中检测到实时消息数据。
如附图7所示,无抖动链路层消息插入方法包括数据接收过程,该过程进一步包括以下步骤:
S301)来自解码子层的数据首先进入物理层帧解封模块25,第二通道切换控制模块24根据帧头控制符区分数据输出的信道并对数据流向进行切换选择;
S302)当数据为实时消息数据时,数据被切入实时消息接收模块26,否则数据被导向FIFO写入控制模块23用于写入数据接收FIFO 21;
S303)FIFO写入控制模块23接收到的数据在写入数据接收FIFO 21之前经数据帧边界插入模块22进行边界控制符插入,应用侧通过读取数据接收FIFO 21得到数据链路层数据并在上层做进一步解析。
数据发送过程进一步包括以下步骤:
第一通道切换控制模块14在空闲状态下等待信道占用请求,如果此时实时消息数据发送请求有效,则第一通道切换控制模块14优先进入实时消息数据发送状态。如果此时无实时消息数据发送请求且链路层数据发送请求有效,则第一通道切换控制模块14开始发送链路层数据帧头。在链路层数据帧头发送状态下,如果无实时消息数据发送请求打断,则第一通道切换控制模块14进入链路层数据发送状态。如果有实时消息数据发送请求,则发送实时消息数据。实时消息数据发送完成后,第一通道切换控制模块14重新进入被打断前的链路层数据帧头发送状态,并继续发送链路层数据。
第一通道切换控制模块14在链路层数据发送状态下,当存在实时消息数据发送请求,则发送实时消息数据,待完成实时消息数据发送后重新进入链路层数据发送状态继续发送数据。当数据发送完成后,第一通道切换控制模块14进入链路层数据帧尾发送状态,当有实时消息数据发送请求时,第一通道切换控制模块14直接进入实时消息数据发送状态。无实时消息数据发送请求时,第一通道切换控制模块14进入空闲状态。如果第一通道切换控制模块14进入实时消息数据发送状态,实时消息数据发送完成后直接进入空闲状态。
通过实施本发明具体实施例描述的无抖动链路层消息插入装置及方法的技术方案,能够产生如下技术效果:
本发明具体实施例描述的无抖动链路层消息插入装置及方法,相对于传统的信道切换控制方式,可以在有实时消息发送请求时直接中断正在进行的数据发送流程,在固定延迟后立即发送实时消息数据,并在消息发送完成后继续发送之前被中断的未完成数据。本发明能够在保证实时消息无抖动传输的同时确保挂起帧通讯能在消息传输完成后重新续传,这种方式不但避免了破坏正在发送的数据包,提高了链路通信效率,减小了数据重新传输带来的时间开销,而且不会影响实时消息的确定性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明的精神实质和技术方案的情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同替换、等效变化及修饰,均仍属于本发明技术方案保护的范围。
Claims (8)
1.一种无抖动链路层消息插入装置,其特征在于,包括发送端功能单元(1),所述发送端功能单元(1)包括:数据发送FIFO(11)、数据边界检测模块(12)、FIFO读取控制及数据发送模块(13)、第一通道切换控制模块(14)及物理层帧封装模块(15);在链路层数据正常发送且无实时消息数据发送需求时,输出至数据边界检测模块(12)的链路层数据通过数据发送FIFO(11)实现与发送端时钟的隔离;当所述数据边界检测模块(12)检测到新的待发送数据帧边界后,将数据帧待发送状态信息发送至FIFO读取控制及数据发送模块(13),所述FIFO读取控制及数据发送模块(13)向第一通道切换控制模块(14)请求信道占用;如果此时信道空闲,所述第一通道切换控制模块(14)将信道分配给FIFO读取控制及数据发送模块(13),链路层数据直接从数据发送FIFO(11)传输至FIFO读取控制及数据发送模块(13),再通过第一通道切换控制模块(14)发送至物理层帧封装模块(15)完成帧封装后经物理层链路对外发送;所述装置还包括实时消息接收及通道请求模块(16);当出现实时消息数据发送需求时,实时消息接收及通道请求模块(16)直接向第一通道切换控制模块(14)请求信道占用;所述第一通道切换控制模块(14)通知FIFO读取控制及数据发送模块(13)信道占用被暂时中止;所述FIFO读取控制及数据发送模块(13)在接收到信道发送暂停消息后停止读取数据发送FIFO(11)内的待发送数据,新的链路层数据通过所述数据发送FIFO(11)实现缓存等待;在设定的若干个发送周期延迟后,所述FIFO读取控制及数据发送模块(13)占用信道并通过第一通道切换控制模块(14)发送消息数据至物理层帧封装模块(15);所述物理层帧封装模块(15)对实时消息数据的帧头进行独立封装,使得数据接收方能在由连续链路层数据构成的连续数据流中检测到实时消息数据。
2.根据权利要求1所述的无抖动链路层消息插入装置,其特征在于,所述装置还包括接收端功能单元(2),所述接收端功能单元(2)包括:数据接收FIFO(21)、数据帧边界插入模块(22)、FIFO写入控制模块(23)、第二通道切换控制模块(24)、物理层帧解封模块(25)及实时消息接收模块(26);来自解码子层的数据首先进入物理层帧解封模块(25),所述第二通道切换控制模块(24)根据帧头控制符区分数据输出的信道并对数据流向进行切换选择;当数据为实时消息数据时,数据被切入实时消息接收模块(26),否则数据被导向FIFO写入控制模块(23)用于写入数据接收FIFO(21);所述FIFO写入控制模块(23)接收到的数据在写入数据接收FIFO(21)之前经数据帧边界插入模块(22)进行边界控制符插入,应用侧通过读取数据接收FIFO(21)得到数据链路层数据并在上层做进一步解析。
3.根据权利要求1或2所述的无抖动链路层消息插入装置,其特征在于:所述第一通道切换控制模块(14)用于实现基于数据类型的优先级通道切换控制;所述第一通道切换控制模块(14)在空闲状态下等待信道占用请求,如果此时实时消息数据发送请求有效,则所述第一通道切换控制模块(14)优先进入实时消息数据发送状态;如果此时无实时消息数据发送请求且链路层数据发送请求有效,则所述第一通道切换控制模块(14)开始发送链路层数据帧头;在链路层数据帧头发送状态下,如果无实时消息数据发送请求打断,则所述第一通道切换控制模块(14)进入链路层数据发送状态;如果有实时消息数据发送请求,则发送实时消息数据;实时消息数据发送完成后,所述第一通道切换控制模块(14)重新进入被打断前的链路层数据帧头发送状态,并继续发送链路层数据。
4.根据权利要求3所述的无抖动链路层消息插入装置,其特征在于:所述第一通道切换控制模块(14)在链路层数据发送状态下,当存在实时消息数据发送请求,则发送实时消息数据,待完成实时消息数据发送后重新进入链路层数据发送状态继续发送数据;当数据发送完成后,所述第一通道切换控制模块(14)进入链路层数据帧尾发送状态,当有实时消息数据发送请求时,所述第一通道切换控制模块(14)直接进入实时消息数据发送状态;无实时消息数据发送请求时,所述第一通道切换控制模块(14)进入空闲状态;如果所述第一通道切换控制模块(14)进入实时消息数据发送状态,实时消息数据发送完成后直接进入空闲状态。
5.一种无抖动链路层消息插入方法,其特征在于,所述方法包括数据发送过程,该过程包括以下步骤:
S101)在链路层数据正常发送且无实时消息数据发送需求时,输出至数据边界检测模块(12)的链路层数据通过数据发送FIFO(11)实现与发送端时钟的隔离;
S102)当所述数据边界检测模块(12)检测到新的待发送数据帧边界后,将数据帧待发送状态信息发送至FIFO读取控制及数据发送模块(13),所述FIFO读取控制及数据发送模块(13)向第一通道切换控制模块(14)请求信道占用;
S103)如果此时信道空闲,所述第一通道切换控制模块(14)将信道分配给FIFO读取控制及数据发送模块(13),链路层数据直接从数据发送FIFO(11)传输至FIFO读取控制及数据发送模块(13),再通过第一通道切换控制模块(14)发送至物理层帧封装模块(15)完成帧封装后经物理层链路对外发送;
所述方法进一步包括以下步骤:
S201)当出现实时消息数据发送需求时,实时消息接收及通道请求模块(16)直接向第一通道切换控制模块(14)请求信道占用;
S202)所述第一通道切换控制模块(14)通知FIFO读取控制及数据发送模块(13)信道占用被暂时中止;
S203)所述FIFO读取控制及数据发送模块(13)在接收到信道发送暂停消息后停止读取数据发送FIFO(11)内的待发送数据,新的链路层数据通过所述数据发送FIFO(11)实现缓存等待;
S204)在设定的若干个发送周期延迟后,所述FIFO读取控制及数据发送模块(13)占用信道并通过第一通道切换控制模块(14)发送消息数据至物理层帧封装模块(15);
S205)所述物理层帧封装模块(15)对实时消息数据的帧头进行独立封装,使得数据接收方能在由连续链路层数据构成的连续数据流中检测到实时消息数据。
6.根据权利要求5所述的无抖动链路层消息插入方法,其特征在于,所述方法包括数据接收过程,该过程包括以下步骤:
S301)来自解码子层的数据首先进入物理层帧解封模块(25),第二通道切换控制模块(24)根据帧头控制符区分数据输出的信道并对数据流向进行切换选择;
S302)当数据为实时消息数据时,数据被切入实时消息接收模块(26),否则数据被导向FIFO写入控制模块(23)用于写入数据接收FIFO(21);
S303)所述FIFO写入控制模块(23)接收到的数据在写入数据接收FIFO(21)之前经数据帧边界插入模块(22)进行边界控制符插入,应用侧通过读取数据接收FIFO(21)得到数据链路层数据并在上层做进一步解析。
7.根据权利要求5或6所述的无抖动链路层消息插入方法,其特征在于,所述数据发送过程进一步包括以下步骤:
所述第一通道切换控制模块(14)在空闲状态下等待信道占用请求,如果此时实时消息数据发送请求有效,则所述第一通道切换控制模块(14)优先进入实时消息数据发送状态;如果此时无实时消息数据发送请求且链路层数据发送请求有效,则所述第一通道切换控制模块(14)开始发送链路层数据帧头;在链路层数据帧头发送状态下,如果无实时消息数据发送请求打断,则所述第一通道切换控制模块(14)进入链路层数据发送状态;如果有实时消息数据发送请求,则发送实时消息数据;实时消息数据发送完成后,所述第一通道切换控制模块(14)重新进入被打断前的链路层数据帧头发送状态,并继续发送链路层数据。
8.根据权利要求7所述的无抖动链路层消息插入方法,其特征在于,所述数据发送过程进一步包括以下步骤:
所述第一通道切换控制模块(14)在链路层数据发送状态下,当存在实时消息数据发送请求,则发送实时消息数据,待完成实时消息数据发送后重新进入链路层数据发送状态继续发送数据;当数据发送完成后,所述第一通道切换控制模块(14)进入链路层数据帧尾发送状态,当有实时消息数据发送请求时,所述第一通道切换控制模块(14)直接进入实时消息数据发送状态;无实时消息数据发送请求时,所述第一通道切换控制模块(14)进入空闲状态;如果所述第一通道切换控制模块(14)进入实时消息数据发送状态,实时消息数据发送完成后直接进入空闲状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910500687.8A CN112073291B (zh) | 2019-06-11 | 2019-06-11 | 一种无抖动链路层消息插入装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910500687.8A CN112073291B (zh) | 2019-06-11 | 2019-06-11 | 一种无抖动链路层消息插入装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112073291A CN112073291A (zh) | 2020-12-11 |
CN112073291B true CN112073291B (zh) | 2022-06-14 |
Family
ID=73658266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910500687.8A Active CN112073291B (zh) | 2019-06-11 | 2019-06-11 | 一种无抖动链路层消息插入装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112073291B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004059447A2 (en) * | 2002-12-24 | 2004-07-15 | Simdesk Technologies, Inc. | Internet-based messaging system |
CN101075945B (zh) * | 2006-05-19 | 2011-06-08 | 中国科学院沈阳自动化研究所 | 实时以太网确定性通信方法 |
CN101917316B (zh) * | 2010-09-13 | 2012-12-12 | 北京航空航天大学 | 一种高速实时工业以太网的通信方法及装置 |
CN105243037B (zh) * | 2015-09-25 | 2018-07-03 | 中国船舶重工集团公司第七二六研究所 | 基于fpga的多通道数据记录与回放方法 |
CN105376129B (zh) * | 2015-12-09 | 2018-09-21 | 中国航空工业集团公司西安航空计算技术研究所 | 一种1394总线事务层-链路层数据包发送电路及方法 |
CN107248963B (zh) * | 2017-05-19 | 2020-05-22 | 闫晓峰 | 基于以太网的多通道交换机、通道仲裁方法和通讯方法 |
-
2019
- 2019-06-11 CN CN201910500687.8A patent/CN112073291B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112073291A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4616535B2 (ja) | パケットスケジューリングを用いるネットワーク交換方法 | |
US5229993A (en) | Control of access through local carrier sensing for high data rate networks and control of access of synchronous messages through circulating reservation packets | |
US9030936B2 (en) | Flow control with reduced buffer usage for network devices | |
US20030026267A1 (en) | Virtual channels in a network switch | |
US6766464B2 (en) | Method and apparatus for deskewing multiple incoming signals | |
US6205486B1 (en) | Inter-network bridge connector provided for dynamically prioritizing frame transmission adaptive to current network transmission-state | |
TWI227080B (en) | Network switch providing congestion control and method thereof | |
CN101322357A (zh) | 千兆比特/10千兆比特以太网系统中的显式流控制 | |
JP2005124210A (ja) | 高帯域幅チャネル内に低帯域幅チャネルを生成する方法および装置 | |
CN105337895B (zh) | 一种网络设备主机单元、网络设备子卡以及网络设备 | |
US20190166058A1 (en) | Packet processing method and router | |
KR20060085672A (ko) | 낮은 대기시간의 인터럽트 및 제어 신호, 핫플러그 에러검출 및 복구, 그리고 대역폭 할당을 하는 통신 버스 | |
US8908510B2 (en) | Communication link with intra-packet flow control | |
EP3032785B1 (en) | Transport method in a communication network | |
CN108614792B (zh) | 1394事务层数据包存储管理方法及电路 | |
US6646991B1 (en) | Multi-link extensions and bundle skew management | |
JP4652314B2 (ja) | イーサoamスイッチ装置 | |
JP3691654B2 (ja) | ネットワークトラフィック優先順位決定方法 | |
US6028837A (en) | Ether ring architecture for local area networks | |
CN112073291B (zh) | 一种无抖动链路层消息插入装置及方法 | |
US6687840B1 (en) | Multi-link extensions and bundle skew management | |
Ichikawa et al. | High-speed packet switching systems for multimedia communications | |
CN114845340B (zh) | 对视频业务优化tt时隙分配方法、系统、介质及终端 | |
US20140207948A1 (en) | Network interface on a chip with an adaptive system to trigger data forwarding | |
CN116346720A (zh) | 一种传输信息的装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |