一种基于共享缓存的fc网络余度发送控制方法
【技术领域】
[0001 ]本发明涉及一种FC网络余度发送控制方法,特别涉及一种基于共享缓存的FC网络余度发送控制方法。
【背景技术】
[0002]在FC网络通信领域,往往会采用增加余度网络的方式来保证数据传输的可靠性,在这种情况下,发送设备会根据余度网络的数量增加相应的发送通道,并且会为每个发送通道设置单独的发送缓存,每条发送数据均会复制到每个发送通道的发送缓存中,当发送通道空闲时再将数据发出,这种方法虽然能使各发送通道独立工作,但却不能满足将数据同时发送到工作网络和余度网络上的要求。
【发明内容】
[0003]本发明的目的是提供一种共享缓存的FC网络余度发送控制方法,通过使各发送通道共享发送缓存,来达到控制余度发送模式且各余度网络中数据一致的目的。
[0004]为达到以上目的,本发明是采取如下技术方案予以实现的:
[0005]第一种技术方案:
[0006]—种基于共享缓存的FC网络余度发送控制系统,如图1,
[0007]包括发送缓存、控制状态机、通道同步单元、数据传输单元和Μ个同步超时检测计数器,Μ与发送通道数量相同;
[0008]所述发送缓存由多个大小相同的数据缓存单元组成,每个数据缓存单元存储待发送数据;
[0009]控制状态机包括30、31、32、33、34和35六种状态,状态间的跳转关系如图3,具体为:
[0010]1)状态机初始状态为S0状态;当处于S0状态时,若发送缓存非空指示有效则跳转到S1状态,否则保持S0状态;
[0011]2)当处于S1状态时,跳转到S2状态;
[0012]3)当处于S2状态时,若余度模式编码为0则跳转到S5状态,产生数据丢弃信号给数据传输单元,若余度模式编码不为0则跳转到S3状态;
[0013]4)当处于S3状态时,若同步失败则跳转到S5状态,产生数据丢弃信号给数据传输单元,若同步成功则跳转到S4状态,否则保持S3状态;
[0014]5)当处于S4状态时,若传输完成则跳转到S0状态,否则保持S4状态;
[0015]6)当处于S5状态时,跳转到S0状态;
[0016]同步超时检测计数器为自减计数器,用于判断相应的发送通道是否超时,并将超时结果反馈给通道同步单元;
[0017]通道同步单元在控制状态机的控制下检测各发送通道的同步状态,并反馈同步结果及可用发送通道编码;
[0018]数据传输单元在控制状态机的控制下将发送数据中的余度模式编码读出并传送给控制状态机和通道同步单元;当数据传输单元接收到启动传输信号,则根据通道同步单元反馈的可用发送通道编码将数据从发送缓存读出传输给对应的发送通道,并更新发送缓冲读指针;当数据传输单元接收到数据丢弃信号,则不发送数据,直接更新发送缓冲读指针。
[0019]上述通道同步单元在控制状态机的控制下检测各发送通道的同步状态的具体检测方法如下:
[0020]通道同步单元在控制状态机的控制下向各发送通道发出占用请求信号,并检测各发送通道的允许占用信号和同步超时信号,
[0021]当检测到允许占用信号时,表明该发送通道处于同步状态,当未检测到允许占用信号却检测到超时信号时,表明该发送通道处于超时状态,否则表明该发送通道处于检测状态,当所有的目标发送通道均不处于检测状态且至少有一个发送通道处于同步状态时,通道同步单元产生同步完成信号,并产生可用发送通道编码传送给数据传输单元,该编码为Μ位,每一位对应一个通道,置1表示对应发送通道处于同步状态,置0表示对应发送通道不可用,当所有的目标发送通道均处于超时状态,则产生同步失败信号。
[0022]上述同步超时检测计数器判断相应的发送通道是否超时的具体方法如下:
[0023]当通道同步单元向某一个发送通道发出占用请求时,启动对应的同步超时检测计数器,若在同步超时检测计数器自减到0之前接收到允许占用信号,则同步超时检测计数器停止计数并恢复到初始值,若在同步超时检测计数器自减到0时还未接收到允许占用信号,则输出对应的超时信号。
[0024]上述待发送数据格式如图2所示,在FC帧的S0F前增加两个32位的数据,第一个32位数据为余度模式编码,第二个32位数据为整个FC帧的长度值,其中余度模式编码的每一位对应一个发送通道,若需要使用某发送通道则将对应位置1,否则置0。
[0025]第二种技术方案
[0026]利用上述基于共享缓存的FC网络余度发送控制系统的FC网络余度发送控制方法,如图4,包括以下步骤:
[0027]1)检测发送缓存非空指示信号,此时,控制状态机处于S0状态,
[0028]2)当检测到发送缓存非空指示时,表示有数据需要发送,控制状态机跳转到S1状态,并向数据传输单元发出读余度编码信号;
[0029]当未检测到发送缓存非空指示时,转步骤1);
[0030]3)数据传输单元将发送数据中的余度模式编码读出并传送给控制状态机和通道同步单元;
[0031 ] 4)控制状态机跳转到S2状态,并检测余度模式编码;
[0032]5)当余度模式编码为0时,控制状态机跳转到S5状态并产生数据丢弃信号,数据传输单元检测到数据丢弃信号后,直接更新发送缓冲读指针,控制状态机跳转到S0状态;
[0033]当余度模式编码不为0时,启动通道同步单元,控制状态机跳转到S3状态;
[0034]6)通道同步单元根据余度模式编码向对应的发送通道发出请求占用信号,并启动对应的同步超时检测计数器;
[0035]7)通道同步单元检测允许占用信号和同步超时信号,当所有目标发送通道均处于超时状态时,产生同步失败信号,控制状态机检测到同步失败信号则跳转到S5状态并产生数据丢弃信号,当数据传输单元检测到数据丢弃信号后,直接更新发送缓冲读指针,控制状态机跳转到SO状态;
[0036]当所有目标发送通道均不处于检测状态和超时状态时,产生同步完成信号并将可用发送通道编码传送给数据传输单元,控制状态机检测到同步完成信号则跳转到S4状态并启动数据传输单元进行数据传输;
[0037]8)当数据传输完成后,数据传输单元产生传输完成信号,控制状态机检测到传输完成信号则跳转到S0状态。
[0038]本发明的有益效果是:
[0039]a)减少缓存使用。所有发送通道共享发送缓存,有效减少缓存的使用,提高缓存的利用率。
[0040]b)能够单独控制每条发送数据使用的发送通道。
[0041]c)仅需在发送数据前附加上余度模式编码即可,使用简单。
【附图说明】
[0042]图1是本发明的技术方案示意图;
[0043]图2是本发明发送缓存中数据格式示意图;
[0044]图3是本发明控制状态机状态转移示意图;
[0045]图4是本发明的流程不意图。
【具体实施方式】
[0046]本发明提出了一种共享缓存的FC网络余度发送控制系统及方法,采用各发送通道共享发送缓存的方式,在发送数据填入发送缓存时,将设置的余度模式编码附加在发送数据前,当检查到余度模式编码对应的发送通道均准备就绪时,再开始数据发送。本发明不仅能够灵活的控制余度发送模式,而且能够保证在各余度网络上的数据均完全相同。
[0047]下面结合附图及具体实例对本发明做进一步的详细说明。
[0048]如图1所示,本发明提出的一种基于共享缓存的FC网络余度发送控制系统,包括
[0049]1、发送缓存
[0050]由5个深1024、宽32b的缓存单元组成,每个数据缓冲单元能够存储一包完整的FC数据,发送数据依次循环写入各数据缓冲单元,通过读写指针进行管理,写入数据时写指针累加,读出数据时读指针累加,当读写指针不相等时输出非空指示信号,待发送数据需按照如图2所示格式组织好后再写入,其中余度模式编码的每一位对应一个发送通道,若需要使用某发送通道则将对应的位置1,否则置0;
[0051]2、控制状态机
[0052]控制状态机
控制各单元按照固定的时序工作,包括SO、S1、S2、S3、S4和S5六种状态,状态间的跳转关系如图3所示,具体为:
[0053]1)状态机初始状态为S0状态;当处于S0状态时,若发送缓存非空指示有效则跳转到S1状态,否则保持so状态;
[0054]2)当处于S1状态时,跳转到S2状态;
[0055]3)当处于S2状态时,若余度模式编码为0则跳转到S5状态,产生数据丢弃信号给数据传输单元,若余度模式编码不为0则跳转到S3状态;
[0056]4)当处于S3状态时,若同步失败则跳转到S5状态,产生数据丢弃信号给数据传输单元,若同步成功则跳转到S4状态,否则保持S3状态;
[0057]5)当处于S4状态时,若传输完成则跳转到S0状态,否则保持S4状态;
[0058]6)当处于S5状态时,跳转到S0状态;
[0059]3、通道同步单元
[0060]通道同步单元在控制状态机的控制下向各发送通道发出占用请求信号,并检测各发送通道的允许占用信号和同步超时信号,当检测到允许占用信号时,表明该发送通道处于同步状态,当未检测到允许占用信号却检测到超时信号时,表明该发送通道处于超时状态,否则表明该发送通道处于检测状态,当所有的目标通道均不处于检测状态且至少有一个发送通道处于同步状态时,通道同步单元产生同步完成信号,并产生可用发送通道编码传送给数据传输单元,具有两个发送通道时,该编码为2位,每一位对应一个通道,置1表示对应发送通道处于同步状态,置0表示因为未选择使用对应发送通道或选择使用但其处于超时状态而不可用,当2个目标通道均处于超时状态,则产生同步失败信号;
[0061]4、同步超时检测计数器
[0062]同步超时检测计数器为自减计数器,当通道同步单元向某一个通道发出占用请求时,启动对应的计数器,若在计数器自减到0之前接收到允许占用信号,则停止计数并恢复到初始值,若在计数器自减到0时还未接收到允许占用信号,则输出对应的超时信号;本例中共使用2个同步超时检测计数器,与2个发送通道一一对应。
[0063]5、数据传输单元
[0064]数据传输单元在控制状态机的控制下将发送数据中的余度模式编码读出并传送给控制状态机和通道同步单元,当数据传输单元接收到启动传输信号,则根据通道同步单元反馈的可用发送通道编码将数据从发送缓存读出并传输给对应的发送通道并更新发送缓冲读指针;当数据传输单元接收到数据丢弃信号,则不发送数据,直接更新发送缓冲读指针。
【主权项】
1.一种基于共享缓存的FC网络余度发送控制系统,其特征在于, 包括发送缓存、控制状态机、通道同步单元、数据传输单元和Μ个同步超时检测计数器,Μ与发送通道数量相同; 所述发送缓存由多个大小相同的数据缓存单元组成,每个数据缓存单元存储待发送数据; 控制状态机包括SO、S1、S2、S3、S4和S5六种状态,状态间的跳转关系具体为: 1)状态机初始状态为SO状态;当处于SO状态时,若发送缓存非空指示有效则跳转到S1状态,否则保持SO状态; 2)当处于S1状态时,跳转到S2状态; 3)当处于S2状态时,若余度模式编码为0则跳转到S5状态,产生数据丢弃信号给数据传输单元,若余度模式编码不为0则跳转到S3状态; 4)当处于S3状态时,若同步失败则跳转到S5状态,产生数据丢弃信号给数据传输单元,若同步成功则跳转到S4状态,否则保持S3状态; 5)当处于S4状态时,若传输完成则跳转到SO状态,否则保持S4状态; 6)当处于S5状态时,跳转到SO状态; 同步超时检测计数器为自减计数器,用于判断相应的发送通道是否超时,并将超时结果反馈给通道同步单元; 通道同步单元在控制状态机的控制下检测各发送通道的同步状态,并反馈同步结果及可用发送通道编码; 数据传输单元在控制状态机的控制下将发送数据中的余度模式编码读出并传送给控制状态机和通道同步单元;当数据传输单元接收到启动传输信号,则根据通道同步单元反馈的可用发送通道编码将数据从发送缓存读出传输给对应的发送通道,并更新发送缓冲读指针;当数据传输单元接收到数据丢弃信号,则不发送数据,直接更新发送缓冲读指针。2.根据权利要求1所述的基于共享缓存的FC网络余度发送控制系统,其特征在于, 通道同步单元在控制状态机的控制下检测各发送通道的同步状态的具体检测方法如下: 通道同步单元在控制状态机的控制下向各发送通道发出占用请求信号,并检测各发送通道的允许占用信号和同步超时信号, 当检测到允许占用信号时,表明该发送通道处于同步状态,当未检测到允许占用信号却检测到超时信号时,表明该发送通道处于超时状态,否则表明该发送通道处于检测状态,当所有的目标发送通道均不处于检测状态且至少有一个发送通道处于同步状态时,通道同步单元产生同步完成信号,并产生可用发送通道编码传送给数据传输单元,该编码为Μ位,每一位对应一个通道,置1表示对应发送通道处于同步状态,置0表示对应发送通道不可用,当所有的目标发送通道均处于超时状态,则产生同步失败信号。3.根据权利要求2所述的基于共享缓存的FC网络余度发送控制系统,其特征在于, 同步超时检测计数器判断相应的发送通道是否超时的具体方法如下: 当通道同步单元向某一个发送通道发出占用请求时,启动对应的同步超时检测计数器,若在同步超时检测计数器自减到0之前接收到允许占用信号,则同步超时检测计数器停止计数并恢复到初始值,若在同步超时检测计数器自减到0时还未接收到允许占用信号,则输出对应的超时信号。4.根据权利要求3所述的基于共享缓存的FC网络余度发送控制系统,其特征在于,待发送数据格式为在FC帧的SOF前增加两个32位的数据,第一个32位数据为余度模式编码,第二个32位数据为整个FC帧的长度值,其中余度模式编码的每一位对应一个发送通道,若需要使用某发送通道则将对应位置1,否则置0。5.利用权利要求1至4任一所述的基于共享缓存的FC网络余度发送控制系统的FC网络余度发送控制方法,其特征在于,包括以下步骤: 1)检测发送缓存非空指示信号,此时,控制状态机处于SO状态, 2)当检测到发送缓存非空指示时,控制状态机跳转到S1状态,并向数据传输单元发出读余度编码信号; 当未检测到发送缓存非空指示时,转步骤1); 3)数据传输单元将发送数据中的余度模式编码读出并传送给控制状态机和通道同步单元; 4)控制状态机跳转到S2状态,并检测余度模式编码; 5)当余度模式编码为0时,控制状态机跳转到S5状态并产生数据丢弃信号,数据传输单元检测到数据丢弃信号后,直接更新发送缓冲读指针,控制状态机跳转到SO状态; 当余度模式编码不为0时,启动通道同步单元,控制状态机跳转到S3状态; 6)通道同步单元根据余度模式编码向对应的发送通道发出请求占用信号,并启动对应的同步超时检测计数器; 7)通道同步单元检测允许占用信号和同步超时信号,当所有目标发送通道均处于超时状态时,产生同步失败信号,控制状态机检测到同步失败信号则跳转到S5状态并产生数据丢弃信号,当数据传输单元检测到数据丢弃信号后,直接更新发送缓冲读指针,控制状态机跳转到SO状态; 当所有目标发送通道均不处于检测状态和超时状态时,产生同步完成信号并将可用发送通道编码传送给数据传输单元,控制状态机检测到同步完成信号则跳转到S4状态并启动数据传输单元进行数据传输; 8)当数据传输完成后,数据传输单元产生传输完成信号,控制状态机检测到传输完成信号则跳转到SO状态。
【专利摘要】本发明属于FC网络通信领域,提出了一种共享缓存的FC网络余度发送控制方法,采用各发送通道共享发送缓存的方式,在发送数据填入发送缓存时,将设置的余度模式编码附件在发送数据前,当检查到余度模式编码对应的发送通道均准备就绪时,再开始数据发送。本发明不仅能够灵活的控制余度发送模式,而且能够保证在各余度网络上的数据均完全相同。
【IPC分类】H04L1/22, H04L12/861
【公开号】CN105490785
【申请号】CN201510896699
【发明人】蒲恺, 张利洲, 李大鹏, 李斌, 李玉发, 田园
【申请人】中国航空工业集团公司西安航空计算技术研究所
【公开日】2016年4月13日
【申请日】2015年12月8日