一种光纤通道协议通用仿真测试卡及其数据交互方法与流程

文档序号:11064660阅读:717来源:国知局
一种光纤通道协议通用仿真测试卡及其数据交互方法与制造工艺

本发明涉及高速串行总线通信与测试技术领域,尤指一种光纤通道协议通用仿真测试卡及其数据交互方法。



背景技术:

FC(Fibre Channel光纤通道协议)的制定开始于1988年,由美国国家标准委员会ANSI X3T11小组负责。目前已形成了一个庞大的协议族,并且还在不断地更新与完善。近年来,我国也开始大力研究FC协议相关高速互联技术,并连续发布了《GJB6410–2008光纤通道物理和信号接口FC-PH》、《GJB6411–2008光纤通道航空电子环境FC-AE》等一系列FC协议标准,并且已经广泛应用于多种型号的航空航天器内部电子通信网络系统中。

FC协议网络是综合计算机通道和数据网络概念提出的一个不同于传统的通道和网络结构的互连方案。是一种具有高实时性、可靠性、带宽、性价比的开放式通信技术,采用通道计数控制信号传输,使用交换或仲裁环拓扑处理介质访问冲突,采用信用策略控制网络流量。其主要特点如下:

1)采用全双工高速串行总线接口;

2)常用速率为1.0625/2.125/4.25Gbps,并可随着物理接口与传输介质的升级,能达到8/16Gbps的高带宽;

3)传输介质使用波长850nm的多模光纤或1310nm的单模光纤,无中继理论传输距离分别可达到500m与15km,具备超高抗电磁干扰能力;

4)误码率优于10-12,线路传输延时优于5us/km;

5)有效带宽比高,采用8B/10B编码,单帧数据包负载最大可达2112Byte,理论有效带宽优于端口速率的75%;

6)支持点到点,仲裁环,交换网等多种网络拓扑结构,组网灵活;

7)支持全网时钟同步,时钟同步精度优于0.1us;

8)高层协议种类丰富,定义完整。分布式网络协议代表为FC-AE-ASM(匿名签署消息传输协议),集中控制式网络协议代表为FC-AE-1553(MIL-STD-1553高层FC映射协议)。

目前,国内FC光纤通道协议的各种应用已逐渐展开,并呈热烈上升趋势。尤其是军用领域方面,航空航天系统都开始为下一代新型航天器考虑具备更高带宽、更高可靠性、更好抗辐噪性能、多上层协议并行使用的通讯主干网络。目前,以FC-AE-ASM、FC-AE-1553、FC-AV、ARINC818为代表的FC协议或类FC协议通讯设备,已经在各个航空航天及相关领域的研究所与供应商处出现非常频繁。

FC协议总线通信产品的增多,势必带来大量的协议一致性验证、智能通信模拟、通信性能评估、实时数据监控、通信过程记录与回放等诸多FC协议总线相关的仿真测试需求。



技术实现要素:

以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

本发明实施例提供了一种光纤通道协议通用仿真测试卡及其数据交互方法,能够满足与FC协议总线相关的仿真测试需求。

为了实现上述目的,本发明实施例提供了一种光纤通道协议通用仿真测试卡,与宿主计算机配合实现仿真测试功能,包括:

现场可编程门阵列FPGA单元,用于按照预设的应用需求实现控制逻辑功能;

光模块接口单元SFP,用于收发链路光信号,并将接收到的光信号转化为串行数字信号供FPGA单元处理,同时将来自FPGA单元的串行数字信号转化为光信号发送至光纤链路;

边沿连接器,一端连接测试卡所插入的宿主计算机背板的总线接口PCI-E插槽,另一端与FPGA单元连接,用于实现测试卡与测试卡所插入的宿主计算机之间的高速数据交换;

同步动态随机存储器SDRAM,固定的板上外部存储芯片,用于FPGA单元内部微处理器PowerPC的指令与数据存储;

配置电路,用于FPGA单元的上电加载配置,为非易失性闪存芯片;

闪存单元,用于FPGA单元内PowerPC的上电加载配置,为非易失性闪存芯片;

时钟单元,用于提供高精度有源时钟,生成供各个电路模块使用的时钟源;

联合测试工作组JTAG接口,用于供FPGA下载配置及用于PowerPC调试使用。

可选的,所述联合测试工作组JTAG接口共有3套,其中一套供FPGA下载配置专用,另外两套用于PowerPC调试使用。

可选的,所述时钟单元提供的高精度有源时钟为25MHz。

可选的,所述光纤通道协议通用仿真测试卡还包括以下模块的一种或者两种以上的组合:

双列直插式存储模块DIMM条式连接用插槽,用于FPGA单元的大容量外部数据存储;

前面板LED,用于提供双通道光口工作状态标识;

扩展接口单元,用于自定义多用接口,包括国际通用时间格式码IRIG-B信号、外部触发输入、触发输出信号。

可选的,所述FPGA单元包括以下子模块中的一种或者两种以上的任意组合:

第一编码模块GTX_0以及第二编码模块GTX_1,用于收发光信号,并实现光信号与串行数据信号之间的相互转换;

路由模块,为FPGA两个通道提供可变的对外数据流拓扑结构,可实现两个通道并行、交叉、内回环等类型的数据路由;

第一主逻辑模块Port_0或第二主逻辑模块Port_1,用于按照预设的应用需求实现控制逻辑功能,

PCI-E IP核模块,用于FGPA单元与上位机PCI-E总线连接的接口模块,直接用IP核例化;

通道数据缓冲及仲裁逻辑模块,用于调度第一主逻辑模块Port_0与第二主逻辑模块Port_1两个逻辑模块对PCI-E总线之间的数据流,解决多端口之间数据传输的冲突。

可选的,所述FPGA单元还包括:

扩展模块,用于预留给扩展功能模块及接口。

可选的,所述第一主逻辑模块Port_0或第二主逻辑模块Port_1包括以下子模块的任意组合:接收缓冲区、发送缓冲区、发送队列管理模块、国际通用时间格式码IRIG模块、寄存器组、直接内存存取DMA控制器、监控数据预处理模块、缓冲对缓冲BB信用缓冲区、端对端EE信用缓冲区、链路控制逻辑模块、帧建立模块、故障注入模块、发送队列管理模块、发送缓冲区、微处理器PPC中断控制器、同步动态随机存储器SDRAM控制器、双倍速率同步动态随机存储器DDR2控制器、通道数据缓冲区、本地自定义总线Local Bus、管道突发式缓存PLB;其中,

所述接收缓冲区,用于接收来自路由模块的数据流并缓存,分别提供给监控数据预处理模块、BB信用缓冲区、故障注入模块,供监控数据通路、链路控制通路、故障注入通路使用;

所述发送缓冲区,用来缓存来自发送队列管理模块的数据流,对齐、整理并发送至路由模块;

所述IRIG模块,用于生成IRIG时标,还用于实现收发与处理外部同步信号;

所述寄存器组,具有与基址寄存器PCI-E BAR空间映射地址的寄存器集合;

所述DMA控制器,用于本地自定义总线Local Bus上各子模块之间的数据流控制;

所述监控数据预处理模块,用于接收和缓冲链路数据,经分类、压缩以及对齐处理,添加时标和附加信息之后,发送至DDR2内或直接发送至通道数据缓冲区;

所述BB信用缓冲区,用于接收具有帧结构的光纤通道协议FC报文和链路响应原语,进行缓冲区对缓冲区流控判断,并提示帧建立模块生成适当的链路响应原语;

所述EE信用缓冲区,用于接收具有帧结构的FC报文,进行端到端缓冲区流控判断,并提示帧建立模块生成适当的FC响应帧;

所述链路控制逻辑模块,用于根据链路上接收到的用于协议层链路控制的原语序列及帧报文,执行相应的链路复位或控制协议,并提示帧建立模块生成适当的FC响应原语序列或响应帧;

所述帧建立模块,用于根据BB信用缓冲区、EE信用缓冲区、链路控制逻辑模块发送的组帧或组原语请求,并根据对应状态寄存器的内容生成适当的FC报文,然后按约定的顺序发送至发送队列管理模块;

所述故障注入模块,用于根据简介触发器Trigger寄存器的匹配指示和故障注入策略寄存器的指示,对接收到的链路原始报文进行实时故障注入行为,然后将修改后的报文发送至发送队列管理模块;

所述发送队列管理模块,用于接收和缓冲来自多个模块的发送报文,并根据约定规则排序并发送至发送缓冲区,在故障注入模式下,还负责报文长度匹配机制的管理;

所述发送缓冲区,接收并缓冲来自发送队列管理模块的报文,然后发送至路由模块;

所述微处理器PPC中断控制器,用于管理作用于PowerPC的中断信号;

所述SDRAM控制器,用于提供访问FPGA外部SDRAM芯片的接口模块;

所述DDR2控制器,用于提供访问FPGA外部DDR2SDRAM芯片的接口模块;

所述通道数据缓冲区,用于管理和缓冲单个通道的主逻辑模块对于PCI-E总线接口模块的上行和下行数据流;

所述Local Bus,用于连接多个子模块的数据、地址以及控制信号的自定义内部总线;

所述PLB,用于连接PowerPC与其相关子模块的内部总线。

本发明实施例还提供了一种光纤通道协议通用仿真测试卡数据交互方法,用于进行上行数据交互,所述方法包括:

1)上电后上位机驱动申请内存Mem空间,并建立与之对应的地址表,包括上行地址表与下行地址表;

2)上位机驱动以寄存器映射访问BAR方式向FPGA单元分别写入上行地址表与下行地址表的物理地址和长度;

3)上位机驱动以BAR方式通知FPGA单元地址表生效;

4)FPGA单元以直接存储器访问DMA方式读取512B的地址表;

5)FPGA单元当判断到Mem地址的OwnerBit为1时,向该Mem地址入口写入数据,当判断到Mem地址的OwnerBit为0时,FPGA单元向上位机发中断,表示无可用Mem资源,直到上位机下发Mem资源可用通知;

6)FPGA以DMA方式更新地址表,包括修改已使用的Mem地址的地址表的OwnerBit信息;

7)FPGA向上位机发中断,表示一次上行数据访问完成;

8)上位机驱动以中断为信号,对更新过的地址表中OwnerBit为0的Mem地址空间进行读操作,读取数据并更新相应地址的OwnerBit,置1以释放空间;

9)FPGA地址指针指向上一次DMA结束后的下一个Mem地址入口,当继续有上传数据需求,且上一次申请的64个地址入口没有用完,则重复步骤5~8;当64个地址入口用完且仍有数据要传输,FPGA执行步骤4,然后执行步骤5~8。

本发明实施例还提供了一种光纤通道协议通用仿真测试卡数据交互方法,用于进行下行数据交互,所述方法包括:

1)上电后上位机驱动申请Mem空间,并建立与之对应的地址表,包括上行地址表与下行地址表;

2)上位机驱动以BAR方式向FPGA单元分别写入上行地址表与下行地址表的物理地址和长度;

3)上位机按地址表顺序向对应Mem空间写数据;

4)上位机置地址表对应的OwnerBit为0;

5)上位机驱动以BAR方式,通知FPGA单元有下行数据;

6)FPGA单元以DMA方式,读取512B的地址表;

7)FPGA单元根据地址表中OwnerBit为0的地址做定长DMA,读取对应Mem空间的数据;

8)FPGA单元以DMA方式,更新地址表,置上次所读取Mem空间地址的OwnerBit为1;

9)上位机判断到要使用的下一个地址入口OwnerBit为0时,暂时停止写数据并等待,间隔设定时间后再次查询地址入口的OwnerBit情况,直到OwnerBit为1,然后重复步骤3~8,或者超时报错。

与现有技术相比,本发明实施例提供了基于PCIe×8接口的高性能、双端口FC光纤通道协议通用仿真测试卡,作为一款多功能高智能的FC接口测试模块,可针对基于光纤通道协议的节点和交换通信测试和检验,提供数据生成、仿真和监视、以及分析功能。具体来说,本发明实施例提供的FC光纤通道协议通用仿真测试卡具备端口配置、数据生成和仿真、数据监视、FC-4层协议分析、视频接口扩展等多项功能。能够提供丰富的触发和过滤功能,方便用户对光纤通道接口进行仿真和测试,基于该通用仿真测试卡可为用户构建基于FC协议的通用开发、实验、测试、分析、监控平台,适于构建FC统一网络的仿真测试应用,可以满足用户的多种应用需求。

在阅读并理解了附图和详细描述后,可以明白其他方面。

附图说明

附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。在附图中:

图1为本发明实施例提供的光纤通道协议通用仿真测试卡的结构示意图。

图2为本发明实施例提供的FPGA单元结构示意图。

图3为本发明实施例提供的FPGA单元所包括的第一主逻辑模块Port_0或者第二主逻辑模块Port_1内包含的子模块示意图。

图4为本发明实施例提供的上行数据交互流程图。

图5为本发明实施例提供的下行数据交互流程图。

图6为本发明实施例提供的FPGA内部数据流示意图。

图7为本发明实施例提供的ULP(Upper Level Protocol,高层协议)数据块的分割与重组示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

现在将参考附图描述实现本发明各个实施例的数据采集模块。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。

实施例1

图1为本发明实施例提供的光纤通道协议通用仿真测试卡结构示意图,如图1所示,本实施例提供的光纤通道协议通用仿真测试卡,包括:

FPGA(Field-Programmable Gate Array,即现场可编程门阵列)单元,用于按照预设的应用需求实现控制逻辑功能;

光模块接口单元SFP,用于收发链路光信号,并将接收到的光信号转化为串行数字信号供FPGA单元处理,同时将来自FPGA单元的串行数字信号转化为光信号发送至光纤链路;

边沿连接器,一端连接测试卡所插入的宿主计算机背板的PCI-E(总线接口)插槽,另一端与FPGA单元的编码模块GTX接口连接,用于实现测试卡与测试卡所插入的宿主计算机之间的高速数据交换。

所述边沿连接器为8通道PCI-E印制板边沿连接接口。

SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器),固定的板上外部存储芯片,用于FPGA内部位微处理器的指令与数据存储;两个通道。

配置电路,用于FPGA的上电加载配置,为非易失性闪存芯片;

闪存单元,用于FPGA内PowerPC的上电加载配置,为非易失性闪存芯片,

时钟单元:用于提供高精度有源时钟,并搭配PLL(Phase Locked Loop,锁相回路或锁相环)电路,生成供各个电路模块使用的时钟源。所述高精度有源时钟为25MHz。

JTAG(Joint Test Action Group,联合测试工作组)接口:3套JTAG接口。其中一套供FPGA下载配置专用,另外两套用于PowerPC调试使用。

在本实施例中,所述纤通道协议通用仿真测试卡还包括:

DIMM(Dual-Inline-Memory-Modules,即双列直插式存储模块)条式连接用插槽,用于FPGA的大容量外部数据存储;

可自由扩展内存条容量,两个通道。

在本实施例中,所述纤通道协议通用仿真测试卡还包括:

前面板LED:两套彩色LED指示灯,提供直观的双通道光口工作状态标识。

在本实施例中,所述纤通道协议通用仿真测试卡还包括:

扩展接口单元,用于自定义多用接口,包括IRIG-B(国际通用时间格式码)信号、外部触发输入、触发输出信号,对内与FPGA连接。

实施例2

参照图2所示,为本发明实施例提供的FPGA单元结构示意图。本发明实施例提供的FC通用仿真测试卡采用双光口双通道结构设计。因此,FPGA单元内部包含两套主逻辑模块,分别对应于两个通道,如图2所示,两套主逻辑模块分别为第一主逻辑模块Port_0和第二主逻辑模块Port_1,这两套主逻辑模块内部逻辑完全相同。除了以上两个主逻辑模块外,FPGA单元内还包括路由模块,以及PCI-E IP核模块,用于实现板卡硬件与宿主计算机之间的通信;还包括与PCI-E核对应的通道数据缓冲与仲裁逻辑模块;还包括充当FC通道编码层的两个GTX模块(第一编码模块GTX_0、第二编码模块GTX_1),用于实现板卡硬件对光纤传输介质的电-光信号编码与转化,还包括扩展模块。

参照图2所示,以下详细描述各个模块的功能。

首先需要说明的是,IP核例化是指将事先定义好的,能实现特定功能的FPGA代码,以特定的流程添加到使用者的设计方案中,并实现该特定功能的过程。

所述第一编码模块GTX_0以及第二编码模块GTX_1,第一编码模块GTX_0模块与第一光纤接口SFP_0和路由模块直接接口,第二编码模块GTX_1模块与第二光纤接口SFP_1和路由模块直接接口,是FPGA内部直接例化的IP核模块,用于对外连接实施例1中所述的光模块SFP接口单元,收发光信号,并实现光信号与串行数据信号之间的相互转换。另外实现FC通道的FC-1编码层功能,为主逻辑模块提供32位(或40位)的并行数据的收发功能;

路由模块,为FPGA两个通道提供可变的对外数据流拓扑结构。根据上层软件配置,可实现两个通道并行、交叉、内回环等类型的数据路由;

第一主逻辑模块Port_0(或第二主逻辑模块Port_1):按照预设的应用需求实现控制逻辑功能,包括部分FC-2层协议、故障注入、链路数据缓冲与预处理等子模块。同时,还包含对SDRAM、DDR2、Flash、JTAG、扩展接口等FPGA外部设备的接口子模块;

PCI-E IP核模块,用于FGPA与上位机PCI-E总线连接的接口模块,直接用IP核例化,使本发明实施例的测试卡可被上位机识别为一个PCI-E设备;

通道数据缓冲及仲裁逻辑模块,用于调度第一主逻辑模块Port_0与第二主逻辑模块Port_1两个逻辑模块对PCI-E总线之间的数据流,解决多端口之间数据传输的冲突问题;

扩展模块,用于预留给本发明实施例的通用仿真测试卡的扩展功能模块及接口。

实施例3

如上所述,第一主逻辑模块Port_0与第二主逻辑模块Port_1是FPGA功能实现的核心,所述模块内部包含了大量子模块来实现不同的逻辑或接口。下面将参照图3所示,详细描述一下第一主逻辑模块Port_0或者第二主逻辑模块Port_1内包含的子模块。

参展图3所示,所述第一主逻辑模块Port_0或者第二主逻辑模块Port_1包含以下子模块:接收缓冲区、发送缓冲区、发送队列管理模块、IRIG(国际通用时间格式码)模块、寄存器组、DMA(直接内存存取)控制器、监控数据预处理模块、BB(缓冲对缓冲)信用缓冲区、EE(端对端)信用缓冲区、链路控制逻辑模块、帧建立模块、故障注入模块、发送队列管理模块、发送缓冲区、PPC(PowerPC)中断控制器、SDRAM(同步动态随机存储器)控制器、DDR2(双倍速率同步动态随机存储器)控制器、通道数据缓冲区、Local Bus(本地自定义总线)、PLB管道突发式缓存,

接收缓冲区,用于接收来自路由模块的数据流并缓存,然后分别提供给监控数据预处理模块、BB信用缓冲区、故障注入模块,供监控数据通路、链路控制通路、故障注入通路使用;

发送缓冲区,用来缓存来自发送队列管理模块的数据流,对齐、整理并发送至路由模块;

IRIG模块:用于生成IRIG时标,还用于实现收发与处理外部同步信号。在需要时,为监控数据预处理模块提供64bit的实时时标。另外,还用于实现收发与处理外部同步信号,该信号通过扩展接口的专用端口与外部相关设备通讯;

寄存器组,具有与PCI-E BAR(基址寄存器)空间映射地址的寄存器集合。其中包括各个子模块的配置寄存器与状态寄存器、用于条件触发的简介触发器Trigger寄存器组、组合Trigger序列寄存器组、故障注入策略寄存器组等。由上位机对各个寄存器或寄存器组进行配置;

DMA(直接内存存取)控制器,用于本地自定义总线Local Bus上各子模块之间的数据流控制。具有突发访问模式和带有优先级的通道设置;

监控数据预处理模块,用于接收和缓冲链路数据,经分类、压缩以及对齐处理,添加时标和附加信息之后,发送至DDR2内或直接发送至通道数据缓冲区。该数据用于上位机实时监控和通讯使用;

BB信用缓冲区,用于接收具有帧结构的FC报文和链路响应原语,进行缓冲区对缓冲区流控判断,并提示帧建立模块生成适当的链路响应原语;

EE信用缓冲区,用于接收具有帧结构的FC报文,进行端到端缓冲区流控判断,并提示帧建立模块生成适当的FC响应帧;

链路控制逻辑模块,用于根据链路上接收到的用于协议层链路控制的原语序列及帧报文,执行相应的链路复位或控制协议,并提示帧建立模块生成适当的FC响应原语序列或响应帧;

帧建立模块,根据BB信用缓冲区、EE信用缓冲区、链路控制逻辑模块发送的组帧或组原语请求,并根据对应状态寄存器的内容生成适当的FC报文,然后按约定的顺序发送至发送队列管理模块;

故障注入模块,根据简介触发器Trigger寄存器的匹配指示和故障注入策略寄存器的指示,对接收到的链路原始报文进行实时故障注入行为,然后将修改后的报文发送至发送队列管理模块;

发送队列管理模块,用于接收和缓冲来自多个模块的发送报文,并根据约定规则排序并发送至发送缓冲区,在故障注入模式下,还负责报文长度匹配机制的管理;

发送缓冲区,接收并缓冲来自发送队列管理模块的报文,然后发送至路由模块;

PowerPC,例化的FPGA内部PowerPC 440的硬核;

PPC(PowerPC)中断控制器,用于管理作用于PowerPC的中断信号;

SDRAM(同步动态随机存储器)控制器,用于提供访问FPGA单元外部SDRAM芯片的接口模块;

DDR2控制器,用于提供访问FPGA外部DDR2SDRAM芯片的接口模块;

通道数据缓冲区,用于管理和缓冲单个通道的主逻辑模块对于PCI-E总线接口模块的上行和下行数据流;

Local Bus,单个通道的主逻辑模块内部,用于连接多个子模块的数据、地址以及控制信号的自定义内部总线;

PLB(管道突发式缓存),单个通道的主逻辑模块内部,用于连接PowerPC与其相关子模块的内部总线。

下面对FPGA单元所包括的各个子模块功能进行详细描述。

1、第一编码模块GTX_0、第二编码模块GTX_1模块

第一编码模块GTX_0与第二编码模块GTX_1模块是两个相同的功能模块,由FPGA单元的GTX IP核例化得到。分别通过FPGA单元的专用高速I/O连接板卡上的第一光纤接口SFP_0与第二光纤接口SFP_1。其主要功能是:

1)实现本发明实施例FC通用仿真测试卡板卡内部数据与光纤网络之间的数据传输;

2)实现与板卡上的光纤接口SFP输入/输出的串行数据流(1bit)至GTX模块内部的并行数据流(10bit)的相互转换;

3)实现至FPGA单元内部数据的8B/10B编/解码转换,并为FPGA单元内部相关模块提供对齐的32bit或40bit数据以及相关控制、状态信号,或者接收来自FPGA内部相关模块的32bit或40bit数据以及相关控制、状态信号;

4)接收通路逻辑根据接收到的串行数据流,使用恢复发送时钟,并以此时钟对接收数据进行可靠采样;

5)提供符合FC-1层规范的信号丢失、位同步、字同步状态判断机制,并为FPGA单元内部相关模块提供上述状态信号。

6)光纤接口SFP线路状态需要可查询。

第一编码模块GTX_0模块分别与第一光纤接口SFP_0和路由模块直接接口,第二编码模块GTX_1模块分别与第二光纤接口SFP_1和路由模块直接接口。

在一种实施方式中,第一编码模块GTX_0模块与第二编码模块GTX_1模块部分功能使能与配置需要上位机来管理,通过专用寄存器总线直接对其专用寄存器进行配置。为了实现该功能,第一编码模块GTX_0与第二编码模块GTX_1模块接口处需要挂载寄存器译码模块。

2、路由模块

路由模块为自定义逻辑模块,其目的是提供一种第一编码模块GTX_0、第二编码模块GTX_1信号至第一主逻辑模块Port_0、第二主逻辑模块Port_1之间的整体数据与控制信号的灵活路由机制。可以在用户不变动两个外部SFP光纤接口上光纤连线的情况下,方便的根据仿真测试卡的功能选择来实现所需的端口数据流向。其功能主要是实现如下五种线路路由:

1)平行式线路路由:第一编码模块GTX_0发送信号组(内)与第一主逻辑模块Port_0接收信号组相连,

第一编码模块GTX_0接收信号组(内)与第一主逻辑模块Port_0发送信号组相连,

第二编码模块GTX_1发送信号组(内)与第二主逻辑模块Port_1接收信号组相连,

第二编码模块GTX_1接收信号组(内)与第二主逻辑模块Port_1发送信号组相连;

2)交叉式线路路由第一编码模块:第一编码模块GTX_0发送信号组(内)与第一主逻辑模块Port_0接收信号组相连,

第一编码模块GTX_0接收信号组(内)与第二主逻辑模块Port_1发送信号组相连,

第二编码模块GTX_1发送信号组(内)与第二主逻辑模块Port_1接收信号组相连,

第二编码模块GTX_1接收信号组(内)与第一主逻辑模块Port_0发送信号组相连;

3)平行旁路式线路路由:第一编码模块GTX_0发送信号组(内)与第一主逻辑模块Port_0接收信号组相连,

第一编码模块GTX_0接收信号组(内)与第一编码模块GTX_0发送信号组相连,

第二编码模块GTX_1发送信号组(内)与第二主逻辑模块Port_1接收信号组相连,

第二编码模块GTX_1接收信号组(内)与第二编码模块GTX_1发送信号组相连;

4)双工旁路式线路路由:第一编码模块GTX_0发送信号组(内)与第一主逻辑模块Port_0接收信号组相连,

第一编码模块GTX_0接收信号组(内)与第一编码模块GTX_0发送信号组相连,

第一编码模块GTX_0接收信号组(内)与第二主逻辑模块Port_1接收信号组相连;

5)内回环式线路路由:第一主逻辑模块Port_0发送信号组与第一主逻辑模块Port_0接收信号组相连,

第二主逻辑模块Port_1发送信号组与第二主逻辑模块Port_1接收信号组相连。

路由模块一般认为只需要多路选择器结构,并不需要数据缓冲结构。

路由模块向外方向同时与第一编码模块GTX_0、第二编码模块GTX_1直接接口,向内方向与第一主逻辑模块Port_0、第二主逻辑模块Port_1直接接口。

路由模块的路由模式选择需要上位机通过专用寄存器总线对其专用配置寄存器进行配置管理,同时也需要专用状态寄存器供上位机查询。

3、监控数据预处理模块

监控数据预处理模块属于第一主逻辑模块Port_0或第二主逻辑模块Port_1的子模块之一。其接收来自路由模块向内方向的发送信号组信号,以及IRIG-B模块的时标信号,以此两路信号进行处理整合成约定格式的上行数据格式,然后发送给DMA逻辑模块。其主要功能包括:

1)缓冲FC原始链路报文,报文以32bit或40bit对齐(解码或非解码格式);

2)压缩帧间隙的连续同名原语或原语序列;

3)确定帧边界,并对帧内容进行32位CRC检查;

4)按照帧或原语包的格式分类整合原始链路报文;

5)按约定格式为分类报文包添加标记与时标;

6)将整合后的报文或经时钟域转换后发送至DMA逻辑模块或发送至对应DDR2。(直接发送至DMA逻辑模块的方式比较有效率,但要根据实际需要的缓冲区大小来决定)

监控数据预处理模块向外方向与路由模块直接接口,向内方向与DMA逻辑模块(或DDR2读写模块)与IRIG-B模块直接接口。与EE信用缓冲模块直接接口。

监控数据预处理模块需要上位机通过专用寄存器总线对其专用配置寄存器进行配置管理,同时也需要专用状态寄存器供上位机查询。

4、条件触发模块

条件触发模块属于第一主逻辑模块Port_0或第二主逻辑模块Port_1子模块之一。其目的是将原始链路报文与事先配置好的匹配报文进行比对,如果相同则输出约定的触发信号。除了报文匹配方式,还应具有时间匹配、触发次数匹配、组合条件匹配的高级附加功能。触发信号可做为报文捕获开关条件、报文捕获条件、故障注入条件使用。此外,还应可以将触发信号输出至另一通道或外部板卡使用,同样,也要支持另一通道或外部板卡的触发信号输入。其主要功能包括:

1)以偏移量和掩码为基准的报文匹配功能。对于原语,偏移量始终为零。对于帧,偏移量以SOF为起始地址。掩码可定位32bit或40bit的每一位;(偏移量以广义帧为标准)

2)可以将计时器设为单独的触发条件,或者基于(1)的组合触发条件;

3)可以基于(1)与计数器作为组合触发条件;

4)可以将由编码模块GTX模块、FC-2控制逻辑模块提供的FC-1层、FC-2层错误信号作为触发条件;

5)可以将另一通道条件触发输入和外部板卡条件输入作为本地触发条件之一;

6)基于(1)(2)(3)(4)(5)的多条件复合顺序触发机制;

7)基于(1)(2)(3)(4)(6)的条件触发信号输出,该信号可用于本通道、另一通道以及外部板卡。

条件触发模块向外方向与路由模块直接接口,向内方向与故障注入模块、FC-2控制逻辑模块直接接口,另外有指向另一通道的条件触发模块和扩展接口的外部触发条件输入输出信号。

条件触发模块需要上位机通过专用寄存器总线对其专用配置寄存器进行配置管理,同时也需要专用状态寄存器供上位机查询。此外,还具有用作触发条件的匹配寄存器组、用于复合触发条件的匹配寄存器序列组等。

5、IRIG-B模块

IRIG-B模块属于第一主逻辑模块Port_0或第二主逻辑模块Port_1的子模块之一。其目的是产生精确时标并提供给监控数据预处理模块使用。该时标由本地计时器产生,同时,该模块应支持来自外部板卡的时标同步信号,或向外部板卡输出时标同步信号。其主要功能包括:

1)提供两组32bit计数时标,高32bit计数器应包括D、H、M、S,低32bit计数器应包括m、u、n。分辨率不应低于1ns;(64bit连续计数器)

2)时标用于监控数据预处理模块,且数据包类型为原语时,时标标注的应是同名连续原语的首个原语位置;数据包类型为帧时,时标标注的应是该帧的SOF位置;

3)时标用于过滤模块时,时标对每个符合过滤条件的报文都应该添加时标;

4)外部时标同步信号,对于高32bit计数器,按约定编码格式修改该计数器的内容。对于低32bit计数器,直至使用复位信号复位。此外,同步信号需要按照约定算法计算线路间的延时并消除之;

5)该模块应具备向外部板卡的IRIG-B模块输出(4)所述同步信号的功能。

IRIG-B模块与监控数据预处理模块直接接口,与另一通道的IRIG-B模块有直接接口,与外部扩展接口有直接接口。

IRIG-B模块需要上位机通过专用寄存器总线对其专用配置寄存器进行配置管理,同时也需要专用状态寄存器供上位机查询。

6、BB信用缓冲模块

BB信用缓冲模块属于第一主逻辑模块Port_或第二主逻辑模块Port_1的子模块之一。其目的是用于缓冲链路报文,并对接收到的FC传输帧,进行FC-2协议层缓冲区对缓冲区级数据流控制。其主要功能包括:

1)接收并缓冲原始链路报文,并根据支持的服务类配置不相关的独立缓冲区,同时缓冲区个数与大小由上位机配置;

2)检查FC传输帧中的约定位置,认定其在BB信用方面的有效性(服务类型、帧定界符等);

3)如果一个FC传输帧在(2)中判定为有效帧,则将该帧存入对应缓冲区并立即通知EE缓冲区模块接收该帧,以及通知FC-2控制逻辑模块准备发送适当的响应帧或原语;

4)如果一个FC传输帧在(2)中判定为无效帧,则丢弃该帧并只通知FC-2控制逻辑模块准备发送适当的响应帧;

5)对于FC原语,该模块不做任何处理。

BB信用缓冲模块向外方向与路由模块直接接口(数据信号相关),向内方向与EE信用缓冲模块直接连接(数据信号相关),与FC-2控制逻辑模块直接接口(标志信号相关)。

BB信用缓冲模块需要上位机通过专用寄存器总线对其专用配置寄存器进行配置管理,同时也需要专用状态寄存器供上位机查询。

7、EE信用缓冲模块

EE信用缓冲模块属于第一主逻辑模块Port_0或第二主逻辑模块Port_1的子模块之一。其目的是用于缓冲链路报文,并对自BB信用缓冲模块接收到的FC数据帧,进行FC-2协议层端对端级数据流控制。其主要功能包括:

1)接收并缓冲BB信用缓冲模块发送的报文,并根据所支持的最大并发序列数预留FC数据帧缓冲区,该缓冲区个数与大小由上位机配置;

2)检查FC数据帧中的约定位置,认定其在EE信用方面的有效性(内容有效性、CRC检查等);

3)如果一个FC数据帧在(2)中判定为有效帧,则将该帧存入对应缓冲区并组包,以及通知FC-2控制逻辑模块准备发送适当的响应帧;

4)如果一个FC数据帧在(2)中判定为无效帧,则丢弃该帧并通知FC-2控制逻辑模块,由FC-2控制逻辑模块决定对该帧所属同名缓冲区内的所有数据帧的处理方式,并随后生成适当的响应帧;

5)对于FC原语和FC链路响应帧,该模块不做任何处理。

EE信用缓冲模块向外方向与BB缓冲模块直接接口(数据信号相关),与FC-2(链路控制逻辑模块)直接接口(标志信号相关)。

EE信用缓冲模块需要上位机通过专用寄存器总线对其专用配置寄存器进行配置管理,同时也需要专用状态寄存器供上位机查询。

8、FC-2(链路控制逻辑模块)

FC-2控制逻辑模块属于第一主逻辑模块Port_0或第二主逻辑模块Port_1的子模块之一。其目的是实现FC-2协议层大部分的数据流控制、自动应答、错误判断与恢复功能,同时也为上层(FC-3、FC-4以及FC-4以上层)协议提供可选的附加功能接口。此外,该模块还是帧建立模块的多种响应帧生成的指示标识产生源。其主要功能包括:

1)根据接收到的链路复位类原语序列(来自EE信用缓冲模块)、或根据接收到的编码模块GTX模块的约定标识,产生链路复位逻辑;

2)根据接收到的仲裁环类原语或原语序列,产生仲裁环链路仲裁逻辑;

3)可产生登陆和登出逻辑,判断端口拓扑结构,并维护登陆结果与参数;

4)根据接收到的响应帧或原语,统计通信发送方BB或EE信用值,并以此做出适当的数据流控制响应或动作;

5)对接收到的基础链路服务帧或扩展链路服务帧,根据内部寄存器的参数做出正确的响应或动作(每一种链路服务帧的响应动作,可能为不相关的独立逻辑);

6)根据(1)(2)(3)(4)(5)的情况,指示帧建立模块生成对应的帧或原语以及原语序列并发送;

7)可读写多个FC协议相关的内部模块的专用寄存器,例如BB信用缓冲模块、EE信用缓冲模块、编码模块GTX模块、帧建立模块等。

FC-2控制逻辑模块与EE信用缓冲模块有直接接口,信号多为原语、原语序列、链路控制帧、链路服务帧等,也包含标志位或寄存器读写接口;与BB信用缓冲模块、编码模块GTX模块(通过路由模块接口)有直接接口,信号多为标志位或寄存器读写接口;与帧建立模块有直接接口,其中包括标志位或寄存器读写接口,以及发送内容队列,一般认为是一种FIFO(先入先出)结构;与上位机或上层协议有直接接口,一般认为是通过专用寄存器的读写来实现。

FC-2控制逻辑模块的专用寄存器数量比较多,多用于各类参数的配置与维护,各类供上位机查询的状态寄存器等。

9、帧建立模块

帧建立模块属于第一主逻辑模块Port_0或第二主逻辑模块Port_1的子模块之一。其目的一是根据FC-2控制逻辑模块的指示,生成适当的响应帧或原语以及原语序列,并通过发送队列模块发送;另一个是接收来自上位机的指示,读取来自DDR2内的报文内容,并根据参数配置要求,控制帧间隙结构、CRC字段等的生成,并通过发送队列模块发送。其主要功能包括:

1)根据FC-2控制逻辑模块的指示,生成(2)~(6)类型的响应帧、原语或原语序列;

2)生成用于链路复位协议控制的原语或原语序列;

3)生成用于仲裁环链路仲裁的原语或原语序列;

4)生成用于FC-3公用服务的原语或原语序列或链路服务帧;

5)生成链路控制帧的响应帧或原语;

6)生成链路服务帧的响应帧;

7)根据上位机请求与配置,发送对应的链路控制帧或链路服务帧;

8)为来自上位机的下行通讯报文自动添加帧间隙结构或CRC字段;

9)为来自上位机的下行仿真报文自动添加帧间隙结构或CRC字段;

10)将(1)~(9)产生的报文发送到发送队列管理模块。

帧建立模块与链路控制逻辑模块FC-2直接接口,为寄存器读写接口以及发送指示队列FIFO接口;与DDR2读写模块直接接口,用于读取DDR2内的报文内容;与发送队列管理模块直接接口,用于发送准备好的帧、原语或原语序列;一般认为与上位机的直接接口通过专用寄存器的读写来实现。

帧建立模块需要上位机通过专用寄存器总线对其专用配置寄存器进行配置管理,同时也需要专用状态寄存器供上位机查询。

10、发送队列管理模块

发送队列管理模块属于第一主逻辑模块Port_0或第二主逻辑模块Port_1的子模块之一。其目的是缓冲、管理并发送来自多个模块的发送报文;另外应管理优先级发送通道以及周期发送通道。其主要功能包括:

1)接收来自帧建立模块的发送报文并缓冲;

2)接收来自故障注入模块的发送报文并缓冲;

3)预取来自DDR2的周期报文并缓冲,一般认为该报文经由帧建立模块转发;

4)对来自(1)(2)(3)的报文按默认优先级或标识优先级进行排序后发送(一般认为部分类型不同的报文不会同时出现);

5)应具备应对故障注入报文可能出现的删除或添加IDLE(空闲信号)原语的请求。

发送队列管理模块与帧建立模块直接接口,数据类型为直接32bit或40bit对齐FC格式报文;与故障注入模块直接接口,数据类型为直接32bit或40bit对齐FC格式报文。

发送队列管理模块需要上位机通过专用寄存器总线对其专用配置寄存器进行配置管理,同时也需要专用状态寄存器供上位机查询。

11、故障注入模块

故障注入模块属于第一主逻辑模块Port_0或第二主逻辑模块Port_1的子模块之一。其目的是对接收到的原始链路报文根据事先约定的目标和策略进行修改、替换、插入、删除等多种类型的故障注入行为。其主要功能包括:

1)根据条件触发模块的事件触发来确定故障注入目标;

2)根据故障注入策略寄存器的配置对对应故障注入对象执行故障注入行为;

3)故障注入策略与条件触发策略类似,都是以偏移量和掩码为基准的定位方式;

4)修改类型故障注入,是指对目标报文的指定位置数据位进行修改,不改变对象的长度;

5)替换类型故障注入,是指删除目标报文,并在对象原本的队列位置处插入新的报文。完成后有可能增加或缩短原有报文队列的长度,需要发送队列管理模块进行干预;

6)插入类型故障注入,是指在目标报文的尾部添加新的约定报文,目标报文本身不受影响。完成后会增加原有报文队列的长度,需要发送队列管理模块进行干预;

7)删除类型故障注入,是指将目标报文直接从报文队列中删除。完成后会缩短原有报文队列长度,需要发送队列管理模块进行干预;

8)应对(4)(5)(6)(7)具有计划执行次数和实际执行次数以及未命中次数的管理功能。

故障注入模块与条件触发模块直接接口,用于接收事件触发信号;与路由模块直接接口,用于接收原始链路报文;与发送队列管理模块直接接口,用于发送执行故障注入后的报文队列,并发送报文队列长度干预请求。

发送队列管理模块需要上位机通过专用寄存器总线对其专用配置寄存器进行配置管理,以及故障注入策略寄存器组进行配置管理,同时也需要专用状态寄存器供上位机查询。

12、DDR2控制器IP模块

DDR2控制器IP模块属于第一主逻辑模块Port_0或第二主逻辑模块Port_1的子模块之一。其由DDR2控制器IP直接例化得到,其目的是提供对FPGA单元外的DDR2 SDRAM的直接访问接口。其主要功能包括:

1)提供对DDR2 SDRAM的访问接口;

2)与DDR2读写模块配合,提供本发明实施例仿真测试卡板卡与上位机间大部分数据的大容量缓存功能。

DDR2控制器IP模块向外方向直接与外部DDR2 SDRAM直接接口;向内方向与DDR2读写模块直接接口。

DDR2控制器IP模块需要上位机通过专用接口进行配置管理。

13、DDR2读写模块

DDR2读写模块属于第一主逻辑模块Port_0或第二主逻辑模块Port_1的子模块之一。其目的是提供一个自定义的多数据通路分时访问DDR2 SDRAM的仲裁逻辑。其主要功能包括:

1)协调多路上下行数据流之间分时访问DDR2 SDRAM。

DDR2读写模块向外方向与DDR2控制器IP模块直接接口;向内方向与帧建立模块以及DMA逻辑模块直接接口。

该模块不需要专用寄存器用于配置或状态查询。

参照图4所示,本发明实施例提供的上行数据交互流程图,图中示出了FPGA单元与上位机的通讯流程。本发明实施例的通用仿真测试卡是作为一个PCI-E设备,通过PCI-E总线来与上位机通讯的。FPGA单元内两个端口通道第一主逻辑模块Port_0与第二主逻辑模块Port_1的数据流,从逻辑上讲是不相关的,但通讯方式是完全相同的。两个端口通道的数据通过模块的分时复用逻辑,共同使用PCI-E总线资源与上位机通讯。

FPGA单元与上位机的上行数据交互:

FPGA单元通过PCI-E总线与上位机的上行数据交互如下所述:

1)上电后上位机驱动申请Mem(内存)空间,并建立与之对应的地址表(上行下行均有);

2)上位机驱动以BAR(寄存器映射访问)方式向FPGA单元分别写入上行地址表与下行地址表的物理地址和长度;

3)上位机驱动以BAR方式通知FPGA单元地址表生效;

4)FPGA单元以DMA(直接存储器访问)方式读取512B的地址表(一个地址表单位结构为64bit,其中32bit表示实际Mem物理地址,另外32bit包含OwnerBit、虚拟地址等信息。因此512B的地址表实际只包含64个Mem地址入口);

5)FPGA单元以DMA方式按地址表的Mem地址入口,如果一个Mem地址的OwnerBit为1,则向该Mem地址入口写入数据(写入的数据为512B的整数倍,不完整的部分使用填充,有效数据长度由数据内部帧头指示)。如果一个Mem地址的OwnerBit为0,FPGA单元则会向上位机发中断,表示已无可用Mem资源,直到上位机执行步骤3,下发Mem资源可用通知;

6)FPGA以DMA方式更新地址表,主要是修改已使用的Mem地址的地址表的OwnerBit等信息。此次DMA写为非定长;

7)FPGA向上位机发中断,表示一次上行数据访问完成;

8)上位机驱动以中断为信号,对更新过的地址表中OwnerBit为0的Mem地址空间进行读操作,读取数据并更新相应地址的OwnerBit,置1以释放空间;

9)FPGA会有地址指针指向上一次DMA结束后的下一个Mem地址入口,如果继续有上传数据需求,且上一次申请的64个地址入口没有用完,则重复步骤5~8。如果64个地址入口用完且仍有数据要传输,FPGA会优先执行步骤4,然后执行步骤5~8。

参照图5所示,为本发明实施例提供的下行数据交互流程图。图中示出了FPGA单元与上位机的下行数据交互过程。

FPGA单元通过PCI-E总线与上位机的下行数据交互可总结为:

1)上电后上位机驱动申请Mem空间,并建立与之对应的地址表(上行下行均有);

2)上位机驱动以BAR方式向FPGA单元分别写入上行地址表与下行地址表的物理地址和长度;

3)上位机按地址表顺序向对应Mem空间写数据;

4)上位机置地址表对应的OwnerBit为0;

5)上位机驱动以BAR方式,通知FPGA单元有下行数据;

6)FPGA单元以DMA方式,读取512B的地址表;

7)FPGA单元根据地址表中OwnerBit为0的地址做定长DMA,读取对应Mem空间的数据;

8)FPGA单元以DMA方式,更新地址表,置上次所读取Mem空间地址的OwnerBit为1。此DMA为非定长;

9)上位机如果遇到要使用的下一个地址入口OwnerBit为0的情况(即FPGA单元很长时间都没有把Mem的数据取走),则会暂时停止写数据并等待,一定时间后再次查询地址入口的OwnerBit情况。直到OwnerBit为1,然后重复步骤3~8,或者超时报错。

参照图6所示,为本发明实施例提供的FPGA内部数据流示意图。

参照图7所示,为本发明实施例提供的ULP数据块的分割与重组示意图。

FC-2层通讯协议中规定,FC-2层与ULP(Upper Level Protocol,高层协议,是FC协议中定义的一种协议层次)之间传输块的最小单位为“序列”。所谓“序列”就是指具有相同的Sequence I D(序列标识)的一个帧或多个帧的集合,一个包含n个帧的序列,会为每个帧按发送顺序,分配0~n-1的Sequence Counter(序列号)值。Sequence ID和Sequence Counter的值都会在每个帧的帧头对应位中体现。

在ULP向光口发送数据的过程中,ULP通过PCIE总线,将要发送的数据块和发送参数(服务类、传输策略、错误处理策略等)发送给FC-2层。FC-2层逻辑根据以上信息,将数据块按顺序拆分成大小合适的分段(一个或多个),然后将这些数据分段封装到FC帧的数据域中,并附加适当的SOF、EOF、帧头以及CRC(循环冗余校验)。这样就完成了一个数据块分解并组帧的过程。

同样,FC-2层逻辑经由光口接收到一个完整序列,会根据该序列中每个帧Sequence Counter,按顺序提取数据域内的内容并组装起来。这样就完成了一个帧解析并重组数据块的过程。之后会在适当的时机将该数据块经由PCIE总线上传至上位机。

在本发明实施例中,FC通用仿真测试卡产品功能与性能指标如下所述:

1)双光口通道,全双工通讯;

2)光口通讯速率支持1.0625Gbps或2.125Gbps,可配置;

3)支持点到点和交换拓扑结构;

4)满足FC-PI协议要求;

5)支持1、2、3类服务,支持自动BB信用控制;

6)支持FC-AE-ASM协议;

7)支持多种工作模式与线路拓扑模式的组合设置,可形成平行仿真、旁路监控、中继监控等组合模式;

8)支持工作全局信息的统计与实时显示,包括各个光口的接收帧总数、发送帧总数、错误帧总数、实时带宽等;

9)支持多页面实时监控,支持多组、多类型的监控显示过滤设置;

10)支持实时协议解析,用户选中的数据条目会在协议解析页面显示数据内容与帧头各区域的详解;

11)支持多组、多类型的接收触发条件设置,包括数据内容匹配、定时、定量等触发类型;

12)提供简捷的文本编辑脚本语言,支持用户编写发送数据,发送数据包括原语类型与帧类型,并提供多组、多类型预配置发送通道;

13)用户可以通过界面设置即时发送,或通过触发条件与预配置发送通道的组合设置按条件自动发送;

14)支持用户设置复杂状态机,实现多种触发条件的组合发送或自动循环发送体系;

15)支持接收数据存储,用户可指定数据存储位置与存储文件大小,连续存储时超过文件最大容量将会自动新建文件继续存储;

16)支持多组、多类型存储过滤条件设置,用户可以设置只存储关键数据以提高存储效率;

17)支持存储数据回放,支持连续存储文件的关联回放;

18)支持专用的FC-AE-ASM协议存储数据回放解析,为用户提供FC-AE-ASM协议的ULP层协议解析形式;

19)存储回放同样支持多组、多类型的显示过滤条件设置;

20)支持二次开发接口,以上功能用户均可以通过API接口实现,并扩展使用。

21)支持Windows32位系统;

22)PCIe x8接口,符合PCIe 1.0接口协议规范。

本发明实施例基于FPGA单元构造了光纤通道协议通用仿真测试卡,并且设置了所述FPGA单元的结构以及FPGA单元主逻辑模块的子模块结构,可以按照预设的应用需求实现控制逻辑功能,从而可以与上位机配合实现本发明实施例的仿真测试功能,可以满足用户的多种需求。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例中的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明实施例中包括的方法或者流程。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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