一种传输指令和数据的方法及装置与流程

文档序号:23090439发布日期:2020-11-27 12:42阅读:124来源:国知局
一种传输指令和数据的方法及装置与流程

本申请涉及光纤网络领域,具体涉及一种传输指令和数据的方法及装置。



背景技术:

传统的总线式网络协议包括基于同轴电缆的mil-std-1553b协议和基于光纤传输的fc-ae-1553协议。

一般地,mil-std-1553b协议标准速率为1mbps,其一次传输过程最多传输32个16bit的数据,传输速率太低,在工程应用中只能作为控制指令和状态的传输,而不能用于大数据量的传输,需要在各个设备之间增加专用线路进行大数据的传输。

fc-ae-1553协议为光纤传输介质,其最高传输速率可到达4.25gbps,在工程应用中可传输大数据,同时还可以传输指令和状态信息,但其工程应用中存在限制,在传输大数据时会占用较长时间的网络带宽,降低了指令控制的实时性。

因此,亟需一种同时解决mil-std-1553b协议速率太低和fc-ae-1553协议传输指令状态信息的实时性太低,影响数据和指令传输等问题的方法。



技术实现要素:

针对现有技术中mil-std-1553b协议速率太低和fc-ae-1553协议传输指令状态信息的实时性太低,严重影响了指令和数据的传输的问题,本申请提出了一种传输指令和数据的方法及装置。

本公开实施例一方面提供了一种传输指令和数据的方法,包括:

当在数据传输空闲时期收到指令传输请求时,立即执行指令传输,并依据接收到的指令传输状态结束指令传输;

当在数据传输过程中收到指令传输请求时,获取所述指令的优先级,依据预置的优先级调度机制对所述数据传输过程和指令传输过程进行自动处理,并依据接收到的指令传输状态结束指令传输。

在一些实施例中,所述方法具体包括:

当所述指令的优先级为最高优先级时,立即中断当前数据序列的传输,执行指令传输;

当所述指令的优先级为中等优先级时,等待当前数据序列传输完成后,执行指令传输;

当所述指令的优先级为低优先级时,等待当前数据传输完成后,执行指令传输。

在一些实施例中,当所述指令的优先级为最高优先级时,将所述当前数据序列分割为两个序列,保存状态信息,执行指令传输;

待所述指令传输完成后,根据保存的所述状态信息,将所述当前数据序列中未发送的数据序列重新发送。

在一些实施例中,所述方法还包括:根据所述状态信息对先后接收到的数据序列进行合并。

在一些实施例中,所述数据传输空闲时期具体包括消息间隔和/或数据序列间隔。

在一些实施例中,所述数据传输过程具体包括:发送命令序列、发送数据序列、协议响应、返回数据传输状态。

在一些实施例中,所述指令传输具体包括:发送命令序列、指令响应、返回指令传输状态。

在一些实施例中,所述数据传输和所述指令传输过程中采用相同的帧格式,但是两者的帧头组成内容不同。

在一些实施例中,所述数据传输具体采用fc-ae-1553协议传输数据;所述指令传输具体采用mil-std-1553b协议传输指令和指令传输状态。

本公开实施例另一方面提供了一种传输指令和数据的装置,包括:

接收模块,用于在数据传输空闲时期和/或在数据传输过程中接收指令传输请求;还用于接收指令传输状态;

执行模块,用于当所述接收模块在数据传输空闲时期接收到指令传输请求时,执行指令传输;还用于当所述接收模块在数据传输过程中收到指令传输请求时,获取所述指令的优先级,依据预置的优先级调度机制对所述数据传输过程和指令传输过程进行自动处理。

本公开实施例的有益效果为:根据指令的优先级对数据传输过程和指令传输过程自动进行处理,实现指令传输的可靠、有效、实时,提高控制精度,实现指令传输的实时性和数据传输的带宽利用率的有效平衡。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构和操作。

图1是本公开一些实施例所示的一种自动调度的指令传输和数据传输光纤总线协议的架构图;

图2是本公开一些实施例所示的一种协议层帧格式的示例图;

图3是本公开一些实施例所示的一种指令传输过程示例图;

图4是本公开一些实施例所示的一种数据传输过程示例图;

图5是本公开一些实施例所示的一种传输指令和数据的方法流程图;

图6是本公开一些实施例所示的在数据传输过程中需要传输最高优先级指令的示意图;

图7是本公开一些实施例所示的在数据传输过程中需要传输中等优先级指令的示意图;

图8是本公开一些实施例所示的在数据传输过程中需要传输低优先级指令的示意图;

图9是本公开一些实施例所示的一种传输指令和数据的装置结构示意图。

具体实施方式

在下面的详细描述中,通过示例阐述了本申请的许多具体细节,以便提供对相关披露的透彻理解。然而,对于本领域的普通技术人员来讲,本申请显而易见的可以在没有这些细节的情况下实施。应当理解的是,本申请中使用“系统”、“装置”、“单元”和/或“模块”术语,是用于区分在顺序排列中不同级别的不同部件、元件、部分或组件的一种方法。然而,如果其他表达式可以实现相同的目的,这些术语可以被其他表达式替换。

应当理解的是,当设备、单元或模块被称为“在……上”、“连接到”或“耦合到”另一设备、单元或模块时,其可以直接在另一设备、单元或模块上,连接或耦合到或与其他设备、单元或模块通信,或者可以存在中间设备、单元或模块,除非上下文明确提示例外情形。例如,本申请所使用的术语“和/或”包括一个或多个相关所列条目的任何一个和所有组合。

参看下面的说明以及附图,本申请的这些或其他特征和特点、操作方法、结构的相关元素的功能、部分的结合以及制造的经济性可以被更好地理解,其中说明和附图形成了说明书的一部分。然而,可以清楚地理解,附图仅用作说明和描述的目的,并不意在限定本申请的保护范围。可以理解的是,附图并非按比例绘制。

本申请中使用了多种结构图用来说明根据本申请的实施例的各种变形。应当理解的是,前面或下面的结构并不是用来限定本申请。本申请的保护范围以权利要求为准。

传统的总线式网络协议包括基于同轴电缆的mil-std-1553b协议和基于光纤传输的fc-ae-1553协议。

一般地,mil-std-1553b协议标准速率为1mbps,其一次传输过程最多传输32个16bit的数据,传输速率太低,在工程应用中只能作为控制指令和状态的传输,而不能用于大数据量的传输,需要在各个设备之间增加专用线路进行大数据的传输。

fc-ae-1553协议为光纤传输介质,其最高传输速率可到达4.25gbps,在工程应用中可传输大数据,同时还可以传输指令和状态信息,但其工程应用中存在限制,在传输大数据时会占用较长时间的网络带宽,降低了指令控制的实时性。

因此,亟需一种总线式协议解决mil-std-1553b协议速率太低和fc-ae-1553协议传输指令状态信息的实时性太低的问题。

本公开实施例公开了一种自动调度的指令传输和数据传输光纤总线协议,采用光纤作为传输介质,实现fc-ae-1553协议和mil-std-1553b协议的融合,采用fc-ae-1553协议传输大数据,采用mil-std-1553b协议升级版本传输指令和状态数据,并且设计协议自动调度控制模块保障指令传输具有更高的优先级,其数据传输和指令传输协议架构组成如图1所示,包含物理层、传输层、链路层和协议层,其中协议层包含指令传输协议和数据传输协议,链路层包含优先级调度控制。在实际工程应用中,指令传输协议采用mil-std-1553b协议,软件设计可保持继承性和兼容性,不需要重新设计控制软件,只需增加数据传输的软件设计部分。

本公开实施例公开了一种协议层帧格式的示例,具体如图2所示。其中,指令传输和数据传输采用相同的数据帧格式,数据帧格式包括帧起始界定符、帧内容、crc和帧结束界定符;其中,帧内容包括帧头和数据;需要说明的是,指令传输和数据传输两者的帧头不同,数据传输的帧头如表1所示,指令传输的帧头如表2所示。

表1数据传输帧头格式

数据传输协议序列包含命令序列、数据序列和状态序列,在传输数量大于2kb时数据序列将分割为多个数据序列。

表2指令传输的帧头

指令传输数据量不超过64字节,包括命令序列和状态序列,数据内容包含在命令序列和状态序列中。

本公开实施例中,指令传输和数据传输中的序列管理使用到如表3、表4所示的字段:

表3序列管理字段

表4序列标识字段定义

数据传输协议中数据序列有多个数据帧组成,根据帧计数字段,一个序列中可包含65536个帧,每个帧有效数据最大2048b,因此每条消息长度可达到65536*2kb的数据量。

本公开实施例还公开了协议传输的过程,具体如图3、图4所示,其中,指令传输过程如图3所示,以网络控制器(以下简称nc,networkcontroller)给网络终端(以下简称nt,networkterminal)发送数据为例,整个过程包括nc发送命令序列、nt指令响应时间和nt状态发送时间。

其中,指令传输的命令序列和状态序列最长数据包为:

sof(4byte)+帧头(24byte)+数据内容(64byte)+crc(4byte)+eof(4byte)=100byte。

当在光纤总线选择2.5gbps时,指令传输的命令序列和状态序列按照最大数据长度计算,传输时间分别为400ns。

nt指令响应时间不超过4us(协议保障),即整个指令传输过程时间为4.8us。

数据传输过程如图4所示,以nc给nt发送数据为例,整个过程包括nc发送命令序列、nc发送数据序列、nt指令响应时间和nt状态发送时间。

其中,数据传输过程中,单个序列最大长度为2112byte,在传输64kb的数据过程中,整个数据被分割为32个序列,在单个序列间插入10个空闲码用于光纤链路两端时间精度不一致时的弹性缓冲控制,单个序列在光纤总线选择2.5gbps时,传输时间总长为8.448us。

nt数据传输响应时间不超过4us(协议保障),即整个指令传输过程时间为4.8us。

数据传输nt状态返回最大长度为48byte,传输时间为192ns。

一条nc发送64kb数据到nt的时间总长为279.488us:

8.448*32us+31*10*16ns+4us+192ns=279.488us。

在本公开实施例中,总线式指令传输与数据传输的融合协议采用同一个光纤通道进行数据传输,通过优先级调度机制,保障指令传输和数据传输获取光纤链路的控制权。

在光纤总线链路空闲时,指令传输可立即传输,在数据传输过程中,指令传输与数据传输的融合协议中指令传输可以配置不同的优先级,如表5所示:

表5指令传输优先级策略

相应地,本公开实施例还公开了一种传输指令和数据的方法,如图5所示,具体包括:

当在数据传输的间隔时期收到指令传输请求时,立即执行指令传输,并依据接收到的指令状态结束指令传输;

当在数据传输过程中收到指令传输请求时,获取所述指令的优先级,依据预置的优先级调度机制对所述数据传输过程和指令传输过程进行自动处理,并依据接收到的指令状态序列结束指令传输。

在一些实施例中,所述方法具体包括:

当所述指令的优先级为最高优先级时,立即中断当前数据序列的传输,执行指令传输;

当所述指令的优先级为中等优先级时,等待当前数据序列传输完成后,执行指令传输;

当所述指令的优先级为低优先级时,等待当前数据传输完成后,执行指令传输。

在一些实施例中,当所述指令的优先级为最高优先级时,将所述当前数据序列分割为两个序列,保存状态信息,执行指令传输;

待所述指令传输完成后,根据保存的所述状态信息,将所述当前数据序列中未发送的数据序列重新发送。

在一些实施例中,所述方法还包括:根据所述状态信息对接收到的两包数据序列进行合并。

具体地,如图6所示,展示了在数据传输过程中需要传输最高优先级指令的过程,其中链路控制的具体过程如下:

1)链路控制模块在消息间隔和/或数据序列间隔收到指令传输请求,立即执行指令传输,即立即发送指令的命令序列,接收到nt返回的状态序列后才允许下一条数据传输;同时所有nt节点接收到指令的命令序列后不再响应nc状态,等待指令消息传输完成后继续传输;

2)链路控制模块在数据传输的过程中收到指令传输请求后,立即中断当前数据序列的传输,开始指令传输,具体过程如下:

a)链路控制模块结束当前数据序列,将当前数据序列分割为两个序列,并保存相关状态信息;

b)开始执行指令传输过程;

c)等待指令传输状态返回后,结束指令传输;

d)指令传输完成后,根据保存的状态信息,将未发送完成的数据序列重新发送;

3)接收端根据接收到两包数据序列,根据所述状态信息合并为一个数据序列传输给协议层,并继续后续数据序列的传输。

具体地,如图7所示,展示了在数据传输过程中需要传输中等优先级指令的过程,其中链路控制的具体过程如下:

1)链路控制模块在消息间隔或者数据序列间隔或序列间隔收到指令发送请求,立即执行指令传输,即立即发送指令的命令序列,接收到nt返回的状态序列后才允许下一条数据传输,同时所有nt节点接收到指令的命令序列后不再响应nc状态,等待指令消息传输完成后继续传输;

2)链路控制模块在数据序列传输的过程中收到中等优先级指令传输请求后,等待当前数据序列传输完成后,开始执行指令传输,最长等待时间为8.448us,具体过程如下:

a)等待数据序列传输结束,并保存相关状态信息;

b)开始执行指令传输过程;

c)等待指令传输状态返回后,结束指令传输;

3)指令消息传输完成后,根据当前状态信息继续发送数据序列或等待接收状态序列。

具体地,如图8所示,展示了在数据传输过程中需要传输低优先级指令的过程,其中链路控制的具体过程如下:

1)链路控制模块在消息间隔收到指令发送请求,则立即发送指令的命令序列,接收到nt返回的状态序列后才允许下一条数据传输,同时所有nt节点接收到指令的命令序列后不再响应nc状态,等待指令消息传输完成后继续传输;

2)链路控制模块在数据序列传输的过程中收到中等优先级指令传输请求后,等待当前数据消息传输完成后,在消息间隔开始指令传输,最长等待时间为279.488us,具体过程如下:

a)等待数据传输结束;

b)开始执行指令传输过程;

c)等待指令传输状态返回后,结束指令传输。

在一些实施例中,所述数据传输空闲时期具体包括消息间隔和/或数据序列间隔。

在一些实施例中,所述数据传输过程具体包括:发送命令序列、发送数据序列、协议响应、返回数据传输状态。

在一些实施例中,所述指令传输具体包括:发送命令序列、指令响应、返回指令传输状态。

在一些实施例中,所述数据传输和所述指令传输过程中采用相同的帧格式,但是两者的帧头组成内容不同。

在一些实施例中,所述数据传输具体采用fc-ae-1553协议传输数据;所述指令传输具体采用mil-std-1553b协议传输指令和指令传输状态。

本公开实施例还公开了一种传输指令和数据的装置200,如图9所示,具体包括:

接收模块201,用于在数据传输空闲时期和/或在数据传输过程中接收指令传输请求;还用于接收指令传输状态;

执行模块202,用于当所述接收模块在数据传输空闲时期接收到指令传输请求时,执行指令传输;还用于当所述接收模块在数据传输过程中收到指令传输请求时,获取所述指令的优先级,依据预置的优先级调度机制对所述数据传输过程和指令传输的执行过程进行自动处理。

本公开实施例具有以下优势:

1)在工程应用中,能够兼容传统mil-std-1553b指令状态控制软件设计,不需要重新设计;

2)在传输大数据时,能够根据指令的优先级自动进行链路控制,实现指令传输的可靠、有效、实时,提高控制精度;

3)融合协议能够实现指令传输实时性和数据传输的带宽利用率的有效平衡。

应当理解的是,本申请的上述具体实施方式仅仅用于示例性说明或解释本申请的原理,而不构成对本申请的限制。因此,在不偏离本申请的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。此外,本申请所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1