一种FC光接口数据及其相关数据监控与测试的方法与流程

文档序号:16096571发布日期:2018-11-27 23:39阅读:374来源:国知局

本发明涉及光接口领域,尤其涉及一种FC光接口数据及其相关数据监控与测试的方法。



背景技术:

FC(Fiber Channel)是由美国标准化委员会(ANSI)的提出的高速串行传输总线,由于其具备通道和网络双重优势,具备高带宽、高可靠性、高稳定性,抵抗电磁干扰等优点,能够提供非常稳定可靠的光纤连接,容易构建大型的数据传输和通信网络。FC-AE标准是一个FC应用到航空电子环境中的一组协议集,主要用于航空电子环境下各设备之间的数据通信,传输视频、指控、仪器仪表、传感器等数据,目前FC-AE网络在航电网络和军工设备中得到了广泛的应用。

随着社会的进步和发展,人们对数据稳定性和可靠性的要求越来越高,以往的以太网也因为自身的缺陷而无法满足日渐增长的需要,人们需要更加稳定可靠的网络来进行数据传输,特别是在舰载,机载等需要可靠高速传输控制指令和数据流的应用场合。而FC网络的稳定传输少不了FC光模块的支持。

FC光接口,即光模块,是起到光电转换作用的一种连接模块,其中发送端把电信号转换成光信号,通过光纤传送后,接收端再把光信号转换成电信号。由光电子器件、功能电路和光接口等组成,光电子器件包括发射和接收两部分。

在FC传输数据过程中,FC光接口的运行状况对于数据的正确传输是至关重要的,体现FC光接口运行状况的数据有FC光接口本身的硬件数据以及相关的一些数据,比如光纤时延、光纤长度、误码率,但目前为止在对于FC光接口的数据以及相关数据实时监控和测试还缺少方法,如果链路传输数据过程中出现故障,就无法快速、准确地判断是否是FC光接口引起的,并且计算整条链路的光纤长度测试复杂、光纤传输的误码率,排查故障时间较长,因此需要一种FC光接口监控与测试的方法,以实时监控FC光接口的数据和相关数据,以确定在FC传输过程的中的状况以及空闲时FC光接口的延时、误码等性能。



技术实现要素:

本发明的目的在于:为解决现有技术中FC光接口的数据和相关数据无法实时监控,导致无法确定在FC传输过程的中的状况以及空闲时FC光接口的延时性能与误码性能的问题,本发明提供钢一种FC光接口数据及其相关数据监控与测试的方法。

本发明采用的技术方案如下:

一种FC光接口数据及其相关数据监控与测试的方法,包括如下步骤:

步骤1:FPGA模块完成对光接口数据的获取;

步骤2:软件模块完成对硬件设备的识别,保存寄存器基地地址和光接口数据的寄存器基地址偏移量以得到所有的光接口数据的寄存器地址;

步骤3:在软件界面实时显示光接口数据;同时通过FC光接口和软件接口进行离线测试以获取相关数据;离线测试包括时延测试和误码测试;相关数据包括光纤时延、光纤长度、误码率;

步骤4:根据离线测试的数据更显软件界面的实时显示。

所述步骤3中,所述时延测试的步骤为:测试标准光纤进行数据包在接收端和发送端的一次往返过程中的总延时ΔT,标准光纤的时延为已知数据T3;再将标准光纤替换成待测光纤后,再测试数据包在接收端和发送端的一次往返过程中的总延时ΔT';最后根据ΔT、T3和ΔT'的值得到待测光纤的时延T3';

所述误码测试使用FC协议规定的标准数据模式进行光通道底层的误码率分析。

具体地,所述步骤1具体为:通过FPGA与光模块的串行接口读取FC光接口特定寄存器存放的温度、电压、发送/接收光功率等基础硬件信息,将这些信息存放于特定的寄存器以供软件读取。

具体地,所述步骤2包括如下步骤:

步骤2.1:在驱动层调用系统接口获取设备的配置空间信息;

步骤2.2:将获取的配置空间信息存储在设备特有的结构体中,并注册中断处理函数;

步骤2.3:调用系统接口完成物理地址和虚拟地址的映射,获取寄存器的基地址;

步骤2.4:根据约定的寄存器地址,通过系统接口完成对光接口数据寄存器的读操作。

具体地,所述步骤3包括如下步骤:

步骤3.1:在驱动层实现系统上层应用的IO Control系统调用的响应函数,使得在驱动层能够对上层调用输入特定控制码的情况下进行响应;

步骤3.2:根据上层应用输入的控制码完成对对应寄存器的读操作,并将读取的数据放入到待返回的上层应用数据缓冲区;

步骤3.3:上层应用缓冲区将数据返回到上层应用中,上层应用获取数据之后将数据进行格式转换,并显示到对应的显示界面控件之中。

具体地,所述步骤3中时延测试的具体步骤如下:

(1)在发送时延测试Tx模块发送带有时间戳的数据,经过标准光纤,到达接收端的时延测试Rx模块;

(2)时延测试Rx模块接收到数据之后即刻返回此数据,发送时延测试Tx模块收到数据后,根据当前时间和数据中的时间戳的时间,计算出时间差值ΔT;此时间差值ΔT包含:编码和串并转换电路时延T1、光模块发送通道的时延T2、标准光纤线缆的时延T3、光模块接收通道的时延T4、串并转换和解码电路时延T5,T1+T2+T4+T5=ΔT-T3;

(3)将标准光纤替换为测试光纤,重复步骤(1)与步骤(2),得出待测试光纤的总时延ΔT',则待测光纤的时延T3'=ΔT'-(T1+T2+T4+T5)。

具体地,所述误码测试的具体步骤为:

(1):根据FC协议规定的标准数据模式CJTPAT、CSPAT或CRPAT生成特定循环的数据;

(2):软件开启测试后,寄存器0X310置0,发送标准数据模式并开启计时与发送bit数统计,在接收端接收并逐bit检测接收到额数据与标准数据是否一致,不一致则bit错误加1,寄存器0X310加1;

(3):软件停止测试,将发送bit统计数据存放到寄存器0X30C,软件读取寄存器0X30C数据A与0X310中的数据B,则误码率=B/A X 100%。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

(1)本发明设计了对FC光接口监控与测试的方法,可以实现对光模块在线工作时的监控,包括对温度、电压、收发光功率等数据,光模块的工作状况是FC数据稳定传输的基础,此方案方便了科研人员对光模块工作状况的直观了解与检察。

(2)本发明还设计了FC光接口处于离线状态时的时延测试。时延测试模块在接收到对端发送的测试数据后即刻将数据发送回去,发起端模块接收到数据后通过接收时本地时间减去数据包内的时标就可以得到数据包往返的时延,这样可以不用两端设备进行时间同步。采用标准长度的光纤用于校准电路和光模块引入的数据时延。在实际使用中将测试时延数据减去电路和光模块时延就可以得到光缆上的往返时延,从而可以求出中间光缆的长度。时延测试的结果可以用于对线路的接头脏污估计。根据时延结果得出的光纤长度可以计算出光功率的损耗,一端的发送光功率与另外一端的接收光功率从差值就是中间光纤和接头的损耗,如果超出门限就可以断定是接头脏了或连接有问题。

(3)本发明通过对光接口的数据的大量收集、存档与分析,日后采用专家系统和机器学习结合的实现方式,专家系统根据经验和规则对数据进行判别,易于对故障的快速判断,技术成熟。机器学习对于大数据、长期趋势总结判断和规则不能表达的复杂多变量问题具有更大的优势。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1是本发明的方法流程图;

图2是本发明的步骤3流程图;

图3是本发明的pci设备配置空间图;

图4是本发明的光纤时延测试计算示意图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本发明的一种FC光接口数据及其相关数据监控与测试的方法,如图1所示,具体包括以下步骤:

步骤1:FPGA模块完成对光接口数据获取,包括光接口的温度、电压、发送/接收光功率等FC光接口本身的运行数据;

步骤1.1:通过FPGA与光模块的串行接口读取光模块特定寄存器存放的温度、电压、发送/接收光功率等信息。

步骤1.2:将上述步骤获取的数据存放于特定的寄存器(0X2F0-0X300)以供软件读取。

步骤2:软件模块完成对硬件设备的识别,保存寄存器基地地址和光接口数据的寄存器基地址偏移量以得到所有的光接口数据的寄存器地址;

步骤2.1:硬件加电初始化后,系统统一为硬件分配了一个和其他设备互不冲突的地址,让他们的驱动程序可以向这些地址映射他们的寄存器,这些地址被BIOS写进了各个设备的配置空间。如图3所示,为一pci设备配置空间图。

步骤2.2:调用系统的函数接口对设备的配置空间进行提取,获取设备的寄存器基地址;

步骤2.3:调用系统接口完成物理地址与虚拟地址的映射,使得通过虚拟地址可以读写寄存器。

步骤2.4:根据以上三个步骤完成对硬件设备的识别,并获取寄存器的基地址以完成对关键寄存器的读操作,最终读入的FC光接口的寄存器地址如表1所示。

表1

步骤3:在软件界面实时显示光接口的温度、电压、发送/接收光功率、FC链路建立情况等数据;同时通过FC光接口和软件接口进行离线测试以获取相关数据;离线测试包括时延测试和误码测试;相关数据包括光纤时延、光纤长度、误码率;步骤3具体步骤如图2所示。

步骤3.1:在驱动层实现系统上层应用的IO Control系统调用的响应函数,通过与上层应用约定的控制码,进入对应的控制函数的case当中。

步骤3.2:上层应用调用系统接口,根据输入的参数:句柄和控制码进入对应驱动程序的对应控制函数中,驱动程序控制调用系统接口完成对对应寄存器的读取,并将读取的数据放入到待返回的上层应用数据缓冲区。

步骤3.3:上层应用缓冲区将数据返回到上层应用中,上层应用获取数据之后将数据进行格式转换。上层应用在初始化时开启定时器,定时器每个0.2s进行界面刷新,实时更新最新的监控数据。

步骤4:在软件界面实时显示光接口数据及其相关数据;同时,在软件界面开启离线测试,底层自动进行数据的发送并计算获得光纤时延及光纤长度。

步骤4.1:在发送时延测试Tx模块发送带有时间戳的数据,经过标准光纤,到达接收端的时延测试Rx模块。

步骤4.2:时延测试Rx模块接收到数据之后即刻返回此数据,发送时延测试Tx模块收到数据后,根据当前时间和数据中的时间戳的时间,计算出时间差值ΔT。

步骤4.3:如图4所示,此时间差值ΔT包含:编码和串并转换电路时延T1、光模块发送通道的时延T2、光纤线缆的时延T3、光模块接收通道的时延T4、串并转换和解码电路时延T5。由于是标准光纤,因此T3的时延是确定的。可知T1+T2+T4+T5=ΔT-T3。

步骤4.4:换上待测试光纤,重复4.1与4.2步骤,得出待测试光纤的总时延ΔT',则待测光纤线缆的时延T3'=ΔT'-(T1+T2+T4+T5)。将此数据存储到寄存器0X304,驱动程序读取数据后上报到软件上层予以显示。

步骤4.5:根据步骤4.4获得的T3',再根据光在光纤中传输速率2C/3,可以大概计算出光纤线缆长度L=2C/3 X T3',此数据存储到寄存器0X308,驱动程序读取数据后上报到软件上层予以显示。

同时,还可以开启软件开启误码率测试,底层自动进行标准数据发送与接收比对,计算出误码率。

步骤5.1:根据FC协议规定的标准数据模式:CJTPAT,CSPAT,CRPAT生成特定循环的数据。

步骤5.2:软件开启测试后,寄存器0X310置0,发送标准数据模式并开启计时与发送bit数统计,在接收端接收并逐bit检测接收到额数据与标准数据是否一致,不一致则bit错误加1(寄存器0X310加1)。

步骤5.3:软件停止测试,将发送bit统计数据存放到寄存器0X30C,软件读取寄存器0X30C数据A与0X310中的数据B,则误码率=B/A X 100%。

本发明通过发射和接收包含时间标志的数据帧,在已知时钟频率等情况下,计算出接口间的链路延时,并可以在求出中间光缆的长度,同时还可以监控实时温度、电压、发送端偏置电流和发送/接收光功率等信息,提供了一种对光接口的工作及离线时的监控方法,有助于对光接口的状况的全面了解;设置了发送和接收时标数据,可以通过标准光纤及光纤中光传播速率,算出待测试光纤损耗及长度;设置了三种标准数据模式,可以通过收发标准数据模式的方式测出误码率。

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