掌桥专利:专业的专利平台
掌桥专利
首页

一种PCI-E协议信号生成装置及方法

文献发布时间:2023-06-19 19:35:22


一种PCI-E协议信号生成装置及方法

技术领域

本发明涉及协议信号生成技术领域,尤其涉及一种PCI-E协议信号生成装置及方法。

背景技术

现代常见的个人计算机,工业领域使用的各种专业测试仪器设备等几乎都具备PCI-E(高速串行计算机扩展总线标准peripheralcomponent interconnectexpress)接口。

而在应用该高速串行总线协议时,必须要知晓其信号电气特性与协议规范。所以针对该高速协议信号的获取,传统获取方式可以通过PCIE协会定制的夹具,接插在PCIE设备上获取其内置的测试信号,也可以通过协议中继探头介入总线之中引出实时传输的PCIE数据流,还可以通过码型发生仪器等专业设备对外输出PCIE数据流。

但不管是上述哪种方式,都要求操作人员具备极高的专业素养,要求对复杂的PCIE协议规范具有很大程度上的了解,同时所提到的夹具,中继探头,码型发生仪器价格昂贵,操作极为繁琐。

发明内容

本发明所要解决的技术问题是针对现有技术存在的问题,提供一种PCI-E协议信号生成装置及方法,能在操作人员不了解复杂PCI-E协议规范的情况下快速产生涵盖多种类PCI-E数据包的高速串行比特流。

为解决上述技术问题,本发明实施例提供一种PCI-E协议信号生成装置,包括:PCI-E数据流生成模块和高速数字信号调理模块;PCI-E数据流产生模块用于根据用户设置的数据包内容模拟生成PCI-E数据流,通过GTX编码并发送PCI-E数据流中的数据链路层数据包、物理层数据包和事务层数据包;高速数字信号调理模块用于对PCI-E数据流进行信号调理,确保PCI-E数据流的电气特性满足PCI-E协议规范,并通过信号输出接口输出PCI-E数据流。

为解决上述技术问题,本发明还提供一种PCI-E协议信号生成方法,利用上述技术方案提供的PCI-E协议信号生成装置实现信号生成,包括:根据用户设置的数据包内容模拟生成PCI-E数据流,通过GTX编码并发送PCI-E数据流中的数据链路层数据包、物理层数据包和事务层数据包;对PCI-E数据流进行信号调理,确保PCI-E数据流的电气特性满足PCI-E协议规范,并通过信号输出接口输出所述PCI-E数据流。

本发明的有益效果是:本发明能够生成并发送符合PCIE-2.0协议规范的5Gbps的高速串行数据流,且能自由选择并自动装配出涵盖PCI-E协议规范中所有关键信息字段的PCI-E数据包类型;该装置具有生产成本低、可靠性强,操作简便,能大大降低操作人员对高速串行PCI-E协议规范内容的学习时间成本。

本发明附加的方面及其优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。

附图说明

图1为本发明实施例提供的PCI-E协议信号生成装置结构框图;

图2为本发明实施例提供的模拟生成并发送PCI-E数据流的流程图;

图3为本发明实施例提供的PCI-E协议信号生成方法流程图。

具体实施方式

以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。

图1为本发明实施例提供的PCI-E协议信号生成装置结构框图。如图1所示,该装置包括:PCI-E数据流生成模块和高速数字信号调理模块。

PCI-E数据流产生模块用于根据用户设置的数据包内容模拟生成PCI-E数据流,通过GTX编码并发送PCI-E数据流中的数据链路层数据包、物理层数据包和事务层数据包;高速数字信号调理模块用于对PCI-E数据流进行信号调理,确保PCI-E数据流的电气特性满足PCI-E协议规范,并通过信号输出接口输出所述PCI-E数据流。

本发明实施例通过PCI-E数据流产生模块用于根据用户设置的数据包内容模拟生成PCI-E数据流,通过高速数字信号调理模块对PCI-E数据流进行信号调理,确保所PCI-E数据流的电气特性满足PCI-E协议规范,通过信号质量验证模块验证PCI-E数据流的信号质量。本发明实施例能够发送符合PCIE-2.0协议规范的5Gbps的高速串行数据流,且能自由选择并自动装配出涵盖PCI-E协议规范中所有关键信息字段的PCI-E数据包类型;该装置具有生产成本低,可靠性强,操作简便,能大大降低操作人员对高速串行PCI-E协议规范内容的学习时间成本。

可选地,PCI-E数据流产生模块具体用于:根据用户设置的数据链路层数据包的包内容计算CRC(循环冗余校验CyclicRedundancyCheck)校验字段,并将CRC校验字段拼接在数据链路层数据包的包内容尾部;在数据链路层数据包的包头和包尾分别拼接第一控制字符和第二控制字符,生成完整的数据链路层数据包。第一控制字符可以采用“SDP”,第二控制字符可以采用“END”。

上述实施例中,通过控制字符将内容完整打包,使之成为一个完整的PCIE数据包,包内的CRC字段信息由程序根据用户设置的内容自行计算后进行拼接,大大简化了用户的工作量,省去了解学习CRC原理的时间成本。

可选地,PCI-E数据流产生模块还用于:根据用户设置的事务层数据包的包内容计算LCRC(链路循环冗余校验LinkCyclicRedundancyCheck)校验字段,并将LCRC校验字段拼接在事务层数据包的包内容尾部;在事务层数据包的包头和包尾分别拼接第一控制字符和第二控制字符,生成完整的事务层数据包。

上述实施例中,通过控制字符将内容完整打包,使之成为一个完整的PCIE数据包,包内的CRC字段信息由程序根据用户设置的内容自行计算后进行拼接,大大简化了用户的工作量,省去了解学习CRC原理的时间成本。

可选地,PCI-E数据流产生模块还用于:当事务层数据包还包括ECRC校验字段时,根据用户设置的事务层数据包的包内容计算ECRC(端到端循环冗余校验End-to-endCyclicRedundancyCheck)校验字段,并将ECRC校验字段拼接在事务层数据包的包内容尾部;根据用户设置的事务层数据包的包内容计算LCRC校验字段,并将LCRC校验字段拼接在ECRC校验字段后。

上述实施例中,通过控制字符将内容完整打包,使之成为一个完整的PCIE数据包,ECRC计算方法与LCRC计算方法完全一致,包内的CRC字段信息由程序根据用户设置的内容自行计算后进行拼接,大大简化了用户的工作量,省去了解学习CRC原理的时间成本。

可选地,如图1所示,PCI-E数据流产生模块可以包括:协议数据产生单元、CRC校验算法单元、数据包装配单元、时钟配置单元、外部参考时钟、GTX收发器和外部供电电路等。

上述实施例中,协议数据单元根据用户设置的数据包内容生成初始数据包;CRC校验算法单元对初始数据包进行CRC校验、LCRC校验或ECRC校验,获得CRC校验字段、LCRC校验字段或ECRC校验字段;通过数据包装配单元实现数据包装配;通过时钟配置单元配置时间信息,通过外部参考时钟提供参考时钟;通过GTX收发器实现数据流的发送和接收;通过外部供电电路提供电源供应。本发明实施例中,PCI-E数据流产生模块能够模拟产生出PCI-E数据,并且数据中携带的信息可以根据用户需求进行针对性设计和定制。

需要说明的是,本发明实施例中PCI-E数据流产生模块模拟生成PCI-E数据流可以包括五类事务层数据包、三类数据链路层数据包以及物理层数据包在内的所有类型格式。

可选地,本发明实施例提供的PCI-E协议信号生成装置还可以包括信号质量验证模块。信号质量验证模块包括信号回环单元、PRBS序列发生单元和误码率检测单元。信号回环单元用于接收高速数字信号调理模块输出的PCI-E数据流,并将PCI-E数据流输入至误码率检测单元;PRBS序列发生单元用于生成PRBS序列并将PRBS序列输入至误码率检测单元;误码率检查单元用于根据PRBS序列检测PCI-E数据流的误码率。本发明实施例中,信号回环单元可采用射频同轴电缆实现,通过射频同轴电缆连接高速数字信号调理模块的信号输出接口与FPGA中的GTX收发器。

上述实施例中,信号质量验证模块通过验证信号输出接口处的信号误码率从而对整个装置的原理图、PCB设计是否合理进行判定。

需要说明的是,协议数据产生单元、CRC校验算法单元、数据包装配单元、时钟配置单元、GTX收发器、PRBS序列发生单元和误码率检测单元可在FPGA中实现。

可选地,高速数字信号调理模块包括:数字信号调理单元、信号输出接口和电源模块。数字信号调理单元用于对PCI-E数据流进行信号调理,并将经信号调理的PCI-E数据流通过信号输出接口输出至装置外部和/或发送至信号质量验证模块。信号输出接口可采用SMA(SubMiniatureversionA)接口。

本发明实施例中,高速数字信号调理模块对接收到的PCI-E数据进行信号调理,以确保数据信号的电气特性满足PCI-E协议规范要求。

PCI-E协议要求以TLP(事务层数据包)、DLLP(数据链路层数据包)和PLP(物理层数据包)这三种形式的数据包来进行消息与事务的传递,而这三种数据包各有各自不同的内容与格式要求。为了使得生成装置产生的PCI-E数据信号内容信息完善且丰富,本发明实施例生成的PCI-E测试数据中包含5大类型TLP、3大类型DLLP以及PLP在内的所有类型格式,并正确设置这些数据包中的关键信息字段。用户可通过通用异步收发(UniversalAsynchronousReceiver/Transmitter)UART串口连接该装置,实时更新数据包内的内容信息从而改变PCIE数据流内容,也可直接在FPGA中烧录入固定的内容,做到上电自启动,使用灵活方便。为了在FPGA中产生出符合要求的数据包,整体逻辑设计如图2所示。

如图2所示,模拟生成并发送PCI-E数据流的具体流程如下:

接收用户设置的TLP、DLLP和PLP内容;

准备发送数据链路层数据包DLLP;

计算DLLP的CRC校验字段;

在DLLP后拼接CRC校验字段;

在DLLP的包头和包尾分别装配“SDP”与“END”标识;

通过GTX编码和发送装配完成的DLLP;

DLLP发送结束;

准备发送物理层数据包PLP;

通过GTX编码和发PLP;

PLP发送结束;

准备发送事务层数据包TLP;

判断TLP是否包含ECRC字段;

如包含,则计算TLP的ECRC校验字段并拼接在TLP之后;计算TLP的LCRC校验字段并拼接在ECRC校验字段之后;

如不包含,则直接计算TLP的LCRC校验字段并拼接在TLP之后;

在TLP的包头和包尾分别装配“SDP”与“END”标识;

通过GTX编码和发送装配完成的TLP;

TLP发送结束。

本发明实施例中,对于所有的DLLP,在FPGA内装配时根据其包内容计算CRC校验字段,并拼接在原数据尾部,在出站时在DLLP包头拼接上“SDP”,包尾拼接上“END”这两种特殊控制字符形成完整的一帧,该帧被8b/10b编码后以5Gsps的速率串行发送至传输线上。对于PLP来讲,其本身就是由特殊控制字符组成,不需要计算CRC。TLP的装配与DLLP类似,但其可选装ECRC字段。

本发明实施例还提供一种PCI-E协议信号生成方法,其利用上述实施例提供的PCI-E协议信号生成装置实现信号生成,包括:

S1,根据用户设置的数据包内容模拟生成PCI-E数据流,通过GTX编码并发送PCI-E数据流中的数据链路层数据包、物理层数据包和事务层数据包;

S2,对PCI-E数据流进行信号调理,确保PCI-E数据流的电气特性满足PCI-E协议规范,并通过信号输出接口输出所述PCI-E数据流。

可选地,根据用户设置的数据包内容模拟生成PCI-E数据流,通过GTX编码并发送PCI-E数据流中的数据链路层数据包、物理层数据包和事务层数据包可以包括:根据用户设置的数据链路层数据包的包内容计算CRC校验字段,并将CRC校验字段拼接在数据链路层数据包的包内容尾部;在数据链路层数据包的包头和包尾分别拼接第一控制字符和第二控制字符,生成完整的数据链路层数据包。第一控制字符可以采用“SDP”,第二控制字符可以采用“END”。

可选地,根据用户设置的数据包内容模拟生成PCI-E数据流,通过GTX编码并发送PCI-E数据流中的数据链路层数据包、物理层数据包和事务层数据包还可以包括:根据用户设置的事务层数据包的包内容计算LCRC校验字段,并将LCRC校验字段拼接在事务层数据包的包内容尾部;在事务层数据包的包头和包尾分别拼接第一控制字符和第二控制字符,生成完整的事务层数据包。

可选地,根据用户设置的数据包内容模拟生成PCI-E数据流,通过GTX编码并发送PCI-E数据流中的数据链路层数据包、物理层数据包和事务层数据包还可以包括:当事务层数据包包括ECRC字段时,根据用户设置的事务层数据包的包内容计算ECRC校验字段,并将ECRC校验字段拼接在事务层数据包的包内容尾部;根据用户设置的事务层数据包的包内容计算LCRC校验字段,并将LCRC校验字段拼接在ECRC校验字段后。

可选地,本发明实施例提供的PCI-E协议信号生成方法还包括:检验经信号调理的PCI-E数据流的误码率,以验证PCI-E数据流的信号质量的步骤。通过验证信号输出接口处的信号误码率从而对整个装置的原理图、PCB设计是否合理进行判定。

本发明实施例能够发送符合PCIE-2.0协议规范的5Gbps的高速串行数据流,且能自由选择并自动装配出涵盖PCI-E协议规范中所有关键信息字段的PCI-E数据包类型;该装置具有较强的可靠性,操作简便,能大大降低操作人员对高速串行PCI-E协议规范内容的学习时间成本。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120115960843