一种基于FC的数据传输流量控制方法与流程

文档序号:15930454发布日期:2018-11-14 01:34阅读:731来源:国知局

本发明属于电子工程和计算机科学领域,具体涉及一种基于fc的数据传输流量控制方法。

背景技术

fc(fiberchannel,光纤通道)协议作为一种被欧美应用在f-22、f-35飞机上的机载总线协议,其传输速率、时延和误码率相比于传统的传输协议都具有很大优势,将fc总线技术应用在我国航空航天领域以代替传统的1553b总线将是一个必然趋势。同时,作为一种高效的传输技术,将其应用在智能制造底层大数据的传输上也是一种积极探索和趋势。

fc技术虽然具备传输速率、时延、误码率等方面的优势,但是也存在不足,以fc总线上数据收发的流量控制为例,所谓流量控制就是用来保证收发双方数据能够及时发送、及时处理,当接收方来不及处理时,发送方停止发送,当接收方有能力处理时,发送方立即发送,是收发双方的一种协作机制。但是传统fc协议下的流量控制机制存在弊端,当接收方接收到一个错误帧时(该帧可能由于校验码错误、传输过程中的乱码等原因造成),发送方无法收到回令,以及当fc总线由于异常导致从激活态变为不激活态时,收发双方都无法知晓总线状态,在上述情况下收发双方的流量控制协作机制失效。因此,本发明公开了一种基于fc的数据传输流量控制方法,该方法适用于fc总线上数据传输的双方,是对传统fc数据传输过程中出现的流量控制问题的创新,能够提高fc总线数据传输的效率。



技术实现要素:

本发明要解决的技术问题为:提供一种基于fc的数据传输流量控制方法,该方法适用于fc总线上数据传输的双方,是对传统fc数据传输过程中出现的流量控制问题的创新,能够提高fc总线数据传输的效率。

本发明解决其技术问题是采取以下技术方案实现的:一种基于fc的数据传输流量控制方法,包括:

(1)设计同步帧传输模块,包括1个同步帧发送单元、1个同步帧接收单元;设计流量控制模块,包括1个fc总线监测单元、1个fc总线激活单元、1个流量计数单元;

(2)同步帧发送单元负责同步帧的配置和发送,同步帧接收单元负责同步帧的接收和解析,同步帧的发送和接收相互独立;fc总线监测单元负责监测fc总线上是否有数据帧的发送,fc总线激活单元负责向fc总线发送激活指令,流量计数单元负责流量的初始化、计算、恢复,具体实现如下:

①同步帧格式的定义包括sof起始定界符、帧头、源地址、目标地址、同步字、流量计数字、流量控制字、校验码和eof结束定界符;

②fc总线初始化:同步帧发送单元发送同步帧,此时同步帧中源地址表示发送方的地址,目标地址、同步字、流量计数字、流量控制字为0;流量计数单元中设变量f表示发送方允许发送的数据帧个数,设变量f_cnt用来对发送方发送的数据帧进行计数,设计时器t用来对同步帧进行接收计时;

③同步帧接收单元接收同步帧并记录目标地址,fc总线初始化完成;

④当fc总线监测单元监测到fc总线上有1个数据帧发送时,流量计数单元控制变量f_cnt加1和计时器t启动,同步帧发送单元发送同步帧,此时同步帧中的源地址、目标地址分别表示发送方和接收方的地址,同步字为一个随机值,流量计数字为f_cnt,流量控制字为0;

⑤当同步帧接收单元接收到1个同步帧时,解析该同步帧,具体解析过程如下:

i:当接收到的同步帧中的同步字比发送的同步帧中的同步字大1时,流量计数单元控制计时器t复位,执行ii,否则抛弃接收到的同步帧,等待下一个同步帧;

ii:当接收到的同步帧中的流量计数字小于等于f_cnt时,流量计数单元控制计时器t复位,执行iii,否则抛弃接收到的同步帧,等待下一个同步帧;

iii:当接收到的同步帧中的流量控制字等于0时,表明接收方接收到一个正确的数据帧,流量计数单元控制变量f_cnt减1和计时器t复位;当接收到的同步帧中的流量控制字等于1时,表明接收方接收到一个错误的数据帧,流量计数单元控制变量f_cnt减1和计时器t复位;当计时器t达到最大计时值时,表明fc总线处于不激活状态,此时fc总线激活单元向fc总线发送激活指令,流量计数单元复位变量f_cnt和计时器t;

⑥当流量计数单元中的变量f_cnt大于等于变量f时,发送方停止发送数据帧。

本发明设计的一种基于fc的数据传输流量控制方法适用于fc总线上数据传输的发送方和接收方。

本发明与现有技术相比的优点在于:

(1)传统fc协议下的流量控制机制存在弊端,当接收方接收到一个错误帧时(该帧可能由于校验码错误、传输过程中的乱码等原因造成),发送方无法收到回令,以及当fc总线由于异常导致从激活态变为不激活态时,收发双方都无法知晓总线状态,在上述情况下,收发双方的流量控制协作机制失效。本发明公开的方法能够实现发送方、接收方、总线的彼此状态感知,实现流量在不同情况下的控制和恢复,进而提高fc总线数据传输的效率。

(2)本发明提出的方法适用于fc总线上数据传输的发送方和接收方,对于任一方而言,该方法都包含了发送、接收两个方面,同时该方法遵循传统fc传输协议、机制,具备很大的兼容性。

附图说明

图1为本发明的结构框图;

图2为本发明的同步帧格式定义。

具体实施方式

下面结合附图对本发明做进一步详细的描述。

本发明涉及一种基于fc的数据传输流量控制方法,适用于fc总线上数据传输的发送方和接收方。针对传统fc协议下的流量控制机制存在的弊端,即当接收方接收到一个错误帧(该帧可能由于校验码错误、传输过程中的乱码等原因造成)时,发送方无法收到回令,以及当fc总线由于异常导致从激活态变为不激活态时,收发双方都无法知晓总线状态,从而造成的收发双方的流量控制协作机制失效的问题,本发明公开的方法能够实现发送方、接收方、总线的彼此状态感知,实现流量在不同情况下的控制和恢复,进而提高fc总线数据传输的效率。

本发明的结构框图如图1所示、本发明的同步帧格式定义如图2所示,具体实施方式如下:

(1)图1中的同步帧传输模块1,包括1个同步帧发送单元、1个同步帧接收单元;图1中的流量控制模块2,包括1个fc总线监测单元、1个fc总线激活单元、1个流量计数单元;

(2)同步帧发送单元负责同步帧的配置和发送,同步帧接收单元负责同步帧的接收和解析,同步帧的发送和接收相互独立;fc总线监测单元负责监测fc总线上是否有数据帧的发送,fc总线激活单元负责向fc总线发送激活指令,流量计数单元负责流量的初始化、计算、恢复,具体实现如下:

①首先设计一个同步帧用来作为收发双方流量控制的媒介,同步帧的格式定义(如图2)如下:sof起始定界符、帧头、源地址、目标地址、同步字、流量计数字、流量控制字、校验码和eof结束定界符;同步帧的设计符合标准fc协议帧结构,同时定义了源地址、目标地址、同步字、流量计数字、流量控制字字段完成对收发双方流量控制的状态传递;

②fc总线初始化:同步帧发送单元发送同步帧,此时同步帧中源地址表示发送方的地址,目标地址、同步字、流量计数字、流量控制字为0;流量计数单元中设变量f表示发送方允许发送的数据帧个数,设变量f_cnt用来对发送方发送的数据帧进行计数,设计时器t用来对同步帧进行接收计时;

③同步帧接收单元接收同步帧并记录目标地址,此时对于收发双方而言,都保存了对方的地址,fc总线初始化完成;

④当fc总线监测单元监测到fc总线上有1个数据帧发送时,流量计数单元控制变量f_cnt加1和计时器t启动,同步帧发送单元发送同步帧,此时同步帧中的源地址、目标地址分别表示发送方和接收方的地址,同步字为一个随机值,流量计数字为f_cnt,流量控制字为0;

⑤当同步帧接收单元接收到1个同步帧时,解析该同步帧,具体解析过程如下:

i:当接收到的同步帧中的同步字比发送的同步帧中的同步字大1时,流量计数单元控制计时器t复位,执行ii,否则抛弃接收到的同步帧,等待下一个同步帧;

ii:当接收到的同步帧中的流量计数字小于等于f_cnt时,流量计数单元控制计时器t复位,执行iii,否则抛弃接收到的同步帧,等待下一个同步帧;

iii:当接收到的同步帧中的流量控制字等于0时,表明接收方接收到一个正确的数据帧,流量计数单元控制变量f_cnt减1和计时器t复位;当接收到的同步帧中的流量控制字等于1时,表明接收方接收到一个错误的数据帧,虽然接收方接收到一个错误的数据帧,但是对于发送方而言,其完成了一个数据帧发送的工作,所以流量计数单元控制变量f_cnt减1和计时器t复位;当计时器t达到最大计时值时,表明fc总线处于不激活状态,此时fc总线激活单元向fc总线发送激活指令,流量计数单元复位变量f_cnt和计时器t;

⑥当流量计数单元中的变量f_cnt大于等于变量f时,说明接收方对数据的接收能力慢于发送方,此时已达到接收方的最大接收能力,所以发送方需要停止发送数据帧。

综上所述,本发明公开了一种基于fc的数据传输流量控制方法,包括设计同步帧传输模块和流量控制模块,该方法适用于fc总线上数据传输的双方,是对传统fc数据传输过程中出现的流量控制问题的创新,能够提高fc总线数据传输的效率。

本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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