本发明属于fc总线测试技术领域,尤其涉及的是一种基于fc总线的比特误码测试方法及系统。
背景技术:
随着fc总线的发展,其速率从最早的1.0625gb/s、2.125gb/s、4.25gb/s已经发展到8.5gb/s甚至更高。虽然fc总线具有较高的稳定性,然而仍不能保证总线传输过程中不出现误码。比特误码测试可以在数据传输过程中主动插入比特误码,模拟传输过程中产生比特误码的情形,以此评判总线的传输性能以及被测系统对出现比特误码的响应处理能力。误码测试的原理为发送方产生测试数据,装载入标准测试帧中,发送给被测系统,被测系统将收到的数据进行解码,取出测试数据,与预存的标准数据按比特进行对比,同步之后统计出两组数据不同的比特数,得出误码率。现有的支持比特误码测试的fc总线测试仪器产品速率多为4.25gb/s及以下,还没有最高测试速率能够达到8.5gb/s并且向下兼容多种速率,同时还能够支持比特误码测试的fc总线测试仪器产品。
因此,现有技术存在缺陷,需要改进。
技术实现要素:
本发明所要解决的技术问题是针对现有技术的不足,提供一种基于fc总线的比特误码测试方法及系统。
本发明的技术方案如下:
一种基于fc总线的比特误码测试系统,其中,包括测试数据发生模块、比特误码测试模块、数据发送模块及数据接收模块相互连接及相互通讯;其中测试数据发生模块,用于将测试数据存放于fc数据帧的净荷区中,根据当前测试速率判断是否需要扰码;比特误码测试模块,根据测试速率判断是否需要解扰,然后可判断是否同步、是否有比特误码,并计算出比特误码率;数据发送模块,将测试数据发生模块生成的fc数据帧进行发送;数据接收模块,用于对数据帧进行接收捕获和存储。
进一步而言,所述测试数据发生模块,用于产生符合fc协议标准的fc数据帧帧长度可设,测试数据包括伪随机二进制序列、全0、全1或者任意自定义的数据,将测试数据存放于fc数据帧的净荷区中,根据当前测试速率判断是否需要扰码。
进一步而言,所述比特误码测试模块的测试图形与测试数据发生模块相同,包含伪随机二进制序列、全0、全1或者任意自定义的数据。
进一步而言,所述数据发送模块的发送过程要符合fc协议。
进一步而言,所述数据接收模块:还用于对捕获的数据进行fc协议解码。
一种基于fc总线的比特误码测试系统的测试方法,包括以下步骤:
步骤101:测试数据发生模块产生测试数据,将测试数据存放于fc数据
帧的净荷区,同时比特误码测试模块设置相同的测试数据作为预存数据;
步骤102:测试数据发生模块对当前测试速率进行判断;
步骤103:若速率为8.5gb/s及以上,则进入步骤104;若速率为4.25gb/s
及以下,则不进行扰码,进入步骤105;
步骤104:将数据帧进行扰码;
步骤105:然后由数据发送模块按照fc协议将数据帧发送出去;此时被
测系统应设置为直通模式,即需要将收到的数据再发送给比特误码测试
模块;
步骤106:数据接收模块对数据帧进行捕获;
步骤107:比特误码测试模块对当前测试速率进行判断;
步骤108:若速率为8.5gb/s及以上,则进入步骤109;若速率为4.25gb/s及以下,则进入步骤110;
步骤109:对捕获的数据帧进行解扰;
步骤110:数据接收模块按照fc协议对数据帧进行解码,将帧头进行剥离,将净荷区数据取出;
步骤111:比特误码测试模块设定同步门限,将步骤110中剥离出的净荷区的数据和步骤101中的预存数据进行对比,判断是否同步,若同步不成功,则继续判断,直到同步成功为止;若同步成功,则进入步骤112;
步骤112:在同步成功以后,将净荷区的数据与预存数据按每比特逐个进行比较,统计出比特误码个数;
步骤113:计算出比特误码率,比特误码率的计算为统计出的比特误码的个数除以同步之后接收到的数据帧中净荷区数据的比特总个数。
采用上述方案,可以实现在一台最高速率达到8.5gb/s以上并兼容低速率的fc总线测试仪器上实现各种速率的比特误码测试。
附图说明
图1为本发明的实施例流程图之一。
图2为本发明的实施例流程图之二。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
实施例1
如图1所示,
本发明发送模块将测试数据存放于fc标准帧的净荷区中,根据当前测试速率进行判断,若为8.5gb/s及以上,则对发送数据帧进行扰码,否则直接发送数据帧;接收模块将相同的测试数据作为预存数据,接收数据后根据速率进行判断,若为8.5gb/s及以上则对接收的数据进行解扰。
本发明提出一种基于fc总线的比特误码测试系统,其至少包含如下功能模块:
1)测试数据发生模块:产生符合fc协议标准的fc数据帧帧长度可设(净荷区长度不能为0),测试数据包括伪随机二进制序列、全0、全1或者任意自定义的数据,将测试数据存放于fc数据帧的净荷区中,根据当前测试速率判断是否需要扰码。
2)比特误码测试模块:此模块根据测试速率判断是否需要解扰,然后可判断是否同步、是否有比特误码,并计算出比特误码率。比特误码测试模块的测试图形与测试数据发生模块相同,也包含伪随机二进制序列、全0、全1或者任意自定义的数据,经过比特误码测试模块处理后,可计算出比特误码率。
3)数据发送模块:将测试数据发生模块生成的fc数据帧进行发送,测试速率可设置,发送过程要符合fc协议。
4)数据接收模块:用于对数据帧进行接收捕获和存储,可以对捕获的数据进行fc协议解码。
本发明提出的基于fc总线的比特误码测试方法,如图1及如图2所示:
步骤101:测试数据发生模块产生测试数据,将测试数据存放于fc数据帧的净荷区,同时比特误码测试模块设置相同的测试数据作为预存数据;
步骤102:测试数据发生模块对当前测试速率进行判断;
步骤103:若速率为8.5gb/s及以上,则进入步骤104;若速率为4.25gb/s及以下,则不进行扰码,进入步骤105;
步骤104:将数据帧进行扰码;
步骤105:然后由数据发送模块按照fc协议将数据帧发送出去;此时被测系统应设置为直通模式,即需要将收到的数据再发送给比特误码测试模块;
步骤106:数据接收模块对数据帧进行捕获;
步骤107:比特误码测试模块对当前测试速率进行判断;
步骤108:若速率为8.5gb/s及以上,则进入步骤109;若速率为4.25gb/s及以下,则进入步骤110;
步骤109:对捕获的数据帧进行解扰;
步骤110:数据接收模块按照fc协议对数据帧进行解码,将帧头进行剥离,将净荷区数据取出;
步骤111:比特误码测试模块设定同步门限,将步骤110中剥离出的净荷区的数据和步骤101中的预存数据进行对比,判断是否同步,若同步不成功,则继续判断,直到同步成功为止;若同步成功,则进入步骤112;
步骤112:在同步成功以后,将净荷区的数据与预存数据按每比特逐个进行比较,统计出比特误码个数;
步骤113:计算出比特误码率,比特误码率的计算为统计出的比特误码的个数除以同步之后接收到的数据帧中净荷区数据的比特总个数。
采用上述方案,可以实现在一台最高速率达到8.5gb/s以上并兼容低速率的fc总线测试仪器上实现各种速率的比特误码测试。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。