一种基于数字电路的fc网络帧头数据错误注入方法

文档序号:9787297阅读:852来源:国知局
一种基于数字电路的fc网络帧头数据错误注入方法
【技术领域】
[0001] 本发明涉及一种FC网络帧头数据错误注入方法,特别涉及一种基于数字电路的FC 网络帧头数据错误注入方法。
【背景技术】
[0002] 在计算机通信领域,FC网络因其高速、高可靠性、低延时、抗干扰能力强而得到广 泛应用,而能够正确的处理故障数据是网络健壮性的基本要求,因此注入故障数据就成为 FC网络必不可少的一种检验手段,在FC网络的测试验证阶段必不可少。现有的FC网络专用 测试设备提供此种功能,不过价格昂贵,而且使用较为繁琐。

【发明内容】

[0003] 本发明的目的是提供一种基于数字电路的FC网络帧头数据错误注入方法,通过在 底层对发送数据进行处理,直接发送包含错误FC帧头的数据,进而达到实现简单,使用灵 活,降低成本的目的。
[0004] 为达到以上目的,本发明是采取如下技术方案予以实现的:
[0005] -种基于数字电路的FC网络帧头数据错误注入方法,包括以下步骤
[0006] 1)主机写配置寄存器组;
[0007] 2)主机启动错误注入模块,错误注入模块包括错误注入控制状态机、计算单元、帧 头组织单元和多路选择单元;
[0008] 3)错误注入控制状态机检测发送缓冲是否未满,当发送缓冲未满时,则启动主机 数据传输;
[0009] 4)错误注入控制状态机启动计算单元和帧头组织单元,并控制多路选择单元选择 帧头输出到发送缓冲中、或选择主机数据输出到发送缓冲中;
[0010] 5)计算单元在数据输出完成后更新发送缓冲尾指针;
[0011] 6)发送模块根据发送缓冲头尾指针的值判断是否有数据需要发送,若有则将发送 缓冲中的数据读出并发送;
[0012] 7)发送模块在发送完成后更新发送缓冲头指针的值,等待下一次发送。
[0013] 上述配置寄存器组包括传输启动寄存器、主机数据长度寄存器、FC帧头模式选择 寄存器、DID注入值寄存器、SID注入值寄存器、TYPE注入值寄存器、OXID注入值寄存器、RXID 注入值寄存器、RCTL注入值寄存器和FCTL注入值寄存器。
[0014]上述传输启动寄存器主机写有效,每写一次表不启动一帧传输;主机数据长度寄 存器主机可读可写,存储主机发送数据的长度值;FC帧头模式选择寄存器主机可读可写,最 低位有效,〇表示主机数据中无 FC帧头,1表示主机数据中有FC帧头;DID注入值寄存器主机 可读可写,存储要注入到FC帧头中的DID值;SID注入值寄存器主机可读可写,存储要注入到 FC帧头中的SID值;TYTO注入值寄存器主机可读可写,存储要注入到FC帧头中的TYTO值; OXID注入值寄存器主机可读可写,存储要注入到FC帧头中的OXID值;RXID注入值寄存器主 机可读可写,存储要注入到FC帧头中的RXID值;RCTL注入值寄存器主机可读可写,存储要注 入到FC帧头中的RCTL值;FCTL注入值寄存器主机可读可写,存储要注入到FC帧头中的FCTL 值。
[0015] 上述错误注入控制状态机控制计算单元和多路选择单元的工作时序,包括5种状 态:空状态SO、主机数据传输状态Sl、帧头传输状态S2、帧尾传输状态S3和传输完成状态S4;
[0016] 错误注入控制状态机最初处于空状态SO,主机启动传输后就转移到主机数据传输 状态Sl,主机数据传输完毕后转移到帧头传输状态S2,帧头传输完毕后转移到帧尾传输状 态S3,传输结束后转移到完成状态S4,最后回到空状态SO。
[0017] 错误注入控制状态机的启动条件为传输启动寄存器的写操作。
[0018] 上述计算单元在错误注入控制状态机的控制下计算发送缓冲的写入地址和产生 写信号,同时计算传输的数据长度。
[0019] 计算单元的工作流程如下:
[0020] ①当错误注入控制状态机处于SO状态时,初始化主机数据长度计数器和帧头长度 计数器为〇;
[0021] ②当错误注入控制状态机处于Sl状态时,每个时钟周期将主机数据长度计数器的 值自增1,并将发送缓冲尾指针的值、加主机数据长度计数器的值、再加6的结果作为发送缓 冲写地址输出,同时产生写信号;
[0022] ③当主机数据长度计数器的值等于主机长度寄存器的值时,产生主机数据传输完 成信号;
[0023] ④当错误注入控制状态机处于S2状态时,每个时钟周期将帧头数据长度计数器的 值自增1,并将发送缓冲尾指针加帧头数据长度计数器的值作为发送缓冲写地址输出,同时 产生写信号;
[0024] ⑤当帧头数据长度计数器的值等于7时,产生帧头数据传输完成信号;
[0025] ⑥当错误注入控制状态机处于S3状态时,将发送缓冲尾指针的值、加主机数据长 度寄存器的值、再加7的结果作为发送缓冲写地址输出,同时产生写信号;
[0026]⑦当错误注入控制状态机处于S4状态时,将发送缓冲尾指针的值加1,跳回步骤 ①。
[0027] 帧头组织单元根据配置寄存器组中、各字段注入值寄存器的值组织帧头,并在错 误注入控制状态机转移到S2状态前完成,将组织的帧头保存在第一寄存器、第二寄存器、第 三寄存器、第四寄存器、第五寄存器、第六寄存器中。
[0028] 多路选择单元根据错误注入控制状态机所处的状态选择输出相应的数据,具体如 下:
[0029]①当错误注入控制状态机处于SO或S4状态时,多路选择单元输出全为0;
[0030] ②当错误注入控制状态机处于Sl状态时,多路选择单元选择输出主机数据;
[0031] ③当错误注入控制状态机处于S2状态且计算单元中帧头长度计数器的值为1时选 择输出主机数据;
[0032] ④当错误注入控制状态机处于S2状态且计算单元中帧头长度计数器的值为2时选 择输出第一寄存器的值;
[0033] ⑤当错误注入控制状态机处于S2状态且计算单元中帧头长度计数器的值为3时选 择输出第二寄存器的值;
[0034] ⑥当错误注入控制状态机处于S2状态且计算单元中帧头长度计数器的值为4时选 择输出第三寄存器的值;
[0035] ⑦当错误注入控制状态机处于S2状态且计算单元中帧头长度计数器的值为5时选 择输出第四寄存器的值;
[0036] ⑧当错误注入控制状态机处于S2状态且计算单元中帧头长度计数器的值为6时选 择输出第五寄存器的值;
[0037] ⑨当错误注入控制状态机处于S2状态且计算单元中帧头长度计数器的值为7时选 择输出第六寄存器的值;
[0038] ⑩当错误注入控制状态机处于S 3状态时选择输出主机数据。
[0039] 与现有方法相比,本发明的有益效果是:
[0040] a)支持FPGA等集成电路的使用,易于实现;
[0041] b)简单易行,使用方便;
[0042] c)操作灵活,成本较低。
【附图说明】
[0043]图1是本发明的技术方案示意图;
[0044]图2是本发明技术方案工作流程图;
[0045] 图3是错误注入控制状态机状态转移示意图;
[0046] 图4是错误注入模块计算单元工作流程图;
[0047] 图5是错误注入模块多路选择单元工作流程图;
[0048]图6是发送模块工作流程图。
【具体实施方式】
[0049] 本发明提出了一种基于数字电路的FC网络帧头数据错误注入方法,能够根据主机 的配置,控制每一个发送FC帧的帧头字段的填充值,从而直接产生并发送包含错误FC帧头 的数据。与现有方法相比,本发明在实现相同功能的情况下,具有成本低,使用灵活,易于实 现的特点。
[0050] 如图1所示,本发明包括配置寄存器组、错误注入模块、发送缓冲和发送模块。其 中,配置寄存器组用来储存控制信息和需要注入的帧头字段的值,由主机进行配置;错误注 入模块使用注入值寄存器中的值替换传输数据中相应字段,并将最终数据填入相应的发送 缓冲单元中;发送缓冲由M个Nbits的缓冲单元构成,采用环形队列方式管理。
[0051] 下面结合附图及具体实例对本发明做进一步的详细说明。
[0052] 如图1所示,一种基于数字电路的FC网络帧头数据错误注入方法,包括
[0053] 1)配置寄存器组
[0054]配置寄存器组的定义和说明如表1所示。
[0055] 表1配置寄存器组说明
[0056]
[0058] 2)错误注入t旲块
[0059] 错误注入模块包括错误注入控制状态机、计算单元、帧头组织单元和多路选择单 元四部分,其实现方式分别如下所述。
[0060] a)错误注入控制状态机
[0061] 错误注入控制状态机控制计算单元、多路选择单元的工作时序,确保两个单元能 够协调工作。状态转移关系如图3所示,设计了 5种状态:空状态S0、主机数据传输状态S1、帧 头传输状态S2、帧尾传输状态S3和传输完成状态S4。状态机最初处于空状态,一旦主机启动 传输就转移到主机数据传输状态,主机数据传输完毕后转移到帧头传输状态,帧头传输完 毕后转移到帧尾传输状态,传输结束后转移到完成状态,最后回到空状态。
[0062]错误注入控制状态机启动条件为fc_trans_en_reg的写操作。
[0063] b)计算单元
[0064] 计算单元在错误注入控制状态机的控制下计算发送缓冲的写入地址和产生写信 号,同时计算传输的数据长度,并在传输完成后更新发送缓冲尾指针。工作流程如图4所示, 具体说明如下:
[0065] ①当错误注入控制状态机处于SO状态时,初始化主机数据长度计数器和帧头长度 计数器为〇;
[0066] ②当错误注入控制状态机处于Sl状态时,每个时钟周期将主机数据长度计数器的 值自增I,并将发送缓冲尾指针加主机
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1