一种基于RocketIO高速接口变线速方法及系统

文档序号:1963667 发布日期:2021-12-14 浏览:4次 >En<

阅读说明:本技术 一种基于RocketIO高速接口变线速方法及系统 (High-speed interface line speed changing method and system based on RocktIO ) 是由 徐杰猛 于 2021-08-04 设计创作,主要内容包括:本发明提供一种基于RocketIO高速接口变线速方法,所述方法应用于RocketIO高速接口变线速系统;所述RocketIO高速接口变线速系统包括RocketIO接口板、PCIe背板和主控板;所述RocketIO接口板与PCIe主板相连;所述PCIe背板与主控板相连;安装RocketIO接口板是采用Xilinx FPGA的PCB板;所述的基于RocketIO高速接口变线速方法通过配置极简的寄存器列表实现RocketIO的变线速方法。本发明采用配置极简的寄存器列表方案实现RocketIO的变线速方案,此方式无需新增其它接口,具有较大的普适性。(The invention provides a high-speed interface line speed changing method based on a RockETIO, which is applied to a RockETIO high-speed interface line speed changing system; the RocktIO high-speed interface variable line speed system comprises a RocktIO interface board, a PCIe back board and a main control board; the RocktIO interface board is connected with a PCIe mainboard; the PCIe back plate is connected with the main control board; the installation RockIO interface board is a PCB board adopting Xilinx FPGA; the line speed changing method based on the RocktIO high-speed interface is realized by configuring a simple register list. The invention adopts a register list scheme with extremely simple configuration to realize the line speed changing scheme of the RocktIO, and the mode does not need to add other interfaces and has larger universality.)

一种基于RocketIO高速接口变线速方法及系统

技术领域

本发明涉及一种数据存储技术、高速数据传输技术领域,尤其涉及一种基于RocketIO高速接口变线速方法及系统。

背景技术

在信息存储领域,计算机存储结构通常采用PCIe总线结构。面对各种实际业务需求,我们需要把各种业务数据经过光纤接口转存到存储介质中,此过程要经过光纤接口信息采集、信息缓存、PCIe接口数据转存、数据或文件信息管理、数据存储等过程。光纤接口到PCIe接口数据转存过程,只涉及到接口转换任务,一般单独设计成接口板,以满足接口转换需求和板卡替换需求。

Xilinx的RocketIO高速串行transceiver收发接口,是Virtex2 pro以上系列FPGA中集成的可达到Gb/s传输速度的高速收发模块,适用于多种高速数据传输协议,比如:Aurora、PCIe、Interlaken、SRIO等。

RocketIO是赛灵思Gigabyte Transceiver(GT)系列高速收发器的统称,目前GT有多个系列,GTX、GTH、GTY、GTZ等。他们的速率范围都不一样,比如GTH目前的支持的线速为0.5Gb/s-16.375Gb/s,GTY支持的线速为0.5Gb/s-32.75Gb/s。其FPGA高速接口支持高度可配置,逻辑资源的紧密集成。内部结构框图主要由物理介质层(PMA Physical MediaAttachment)和物理控制层(PCS Physical Coding Sublayer)组成。物理介质层(PMA)主要包括串行器和解串器、发送和接收缓冲区、高速时钟产生器和线路时钟恢复单元。物理控制层(PCS)主要包括8B/10B或64B/66B编解码、comma检测和位对齐、PRBS伪随机码产生和校验、TX相位校正和相位校对控制、RX时钟矫正和通道绑定等;PMA主要功能为TX预增强、OOB(Out-of-Band)、LPM低功耗自动线性适配。

目前对于RocketIO的DRP动态配置主要有3种方式:

1)方式1,在FPGA内部设计逻辑配置状态机,依次配置变线速相关的寄存器;

2)方式2,利用SOC型的FPGA的PS端有ARM核,使用AXI的GP低速AXI-lite接口转化为DRP接口时序,软件配置变速相关的寄存器;

3)方式3,利用I2C、SPI、UART串口等低速接口转换为DRP接口时序,配置变速相关的寄存器。

当前利用上面3种方式实现RocketIO的动态配置变线速,存在如下的限制:

1)方式1,通过FPGA内部设计状态机一次配置DRP寄存器,灵活性很差,依赖于FPGA的设计;

2)方式2,通过SOC来软件配置DRP寄存器,灵活性很高。但是,局限于SOC芯片,非SOC芯片即不可用。

3)方式3,通常是先将I2C、SPI、UART串口等低速接口先转换为AXI-lite接口,再转换为DRP接口时序,这种方式也是比较灵活,有一定的市场,但是得新增低速配置接口。

另外,DRP所涉及的GTHE4_COMMON和GTHE4_CHANNEL寄存器,总共差不多有800个,寄存器数量比较多,减少需要配置的寄存器数量也是一个关键点。

发明内容

本发明的目的在于提供一种基于Xilinx的FPGA上RocketIO高速接口变线速方法及系统,以解决上述技术背景中提出的问题。

为实现上述目的,本发明采用以下技术方案:

本发明提供一种基于RocketIO高速接口变线速方法,所述方法应用于RocketIO高速接口变线速系统;所述RocketIO高速接口变线速系统包括RocketIO接口板、PCIe背板和主控板;所述RocketIO接口板与PCIe主板相连;所述PCIe背板与主控板相连;安装RocketIO接口板是采用Xilinx FPGA的PCB板;所述的基于RocketIO高速接口变线速方法包括:

步骤S1:目标线速IP生成:利用Xilinx的IP生成向导生成目标线速的IP核,IP0;

步骤S2:新线速IP生成:利用Xilinx的IP生成向导生成目标线速的IP核,IP1;

步骤S3:DRP配置寄存器所有参数提取:能够利用高级编程语言提取配置参数,包括:参数名、参数值,得到新的参数文件IP0_PARAM.txt、IP1_PARAM.txt;

步骤S4:寄存器差异参数比较和提取:利用文本比较工具,比较IP0_PARAM.txt、IP1_PARAM.txt文件的差别,并复制差异参数行;

步骤S5:极简寄存器列表文件生成:将复制的差异参数行粘贴在新的文本文件里面,生成极简寄存器配置文件diff_param.txt;因为新的线速IP1与原来的目标线速IP0,除线速值不一样,其它所有参数都一样,所以生成IP差异点都是与线速更新相关的时间参数,比如PLL配置参数;

步骤S6:配置寄存器列表文件生成:对照RocketIO的transceiver用户手册,查看DRP地址映射表,将diff_param.txt所列的寄存器参数名称和参数值,逐个转换成DRP对应寄存器地址的配置值,并生成配置寄存器列表文件cfg_param.txt;

步骤S7:编写配置程序:使用编写主控板需要的初始化配置文件,包含线速动态配置功能。

优选地,所述RocketIO接口板是安装RocketIO接口的Xilinx FPGA PCB板,利用Xilinx transceiver IP接口实现高速串行transceiver收发接口;所述Xilinx FPGA PCB板使用PCIe DMAEndpoint IP自带的AXI Master,通过AXI Master将DRP接口转化,配置RocketIO的DRP配置接口。

优选地,所述的RocketIO是Xilinx GTX高速收发器,主要由物理介质层PMA和物理控制层PCS组成;所述的物理介质层PMA主要包括串行器和解串器、发送和接收缓冲区、高速时钟产生器和线路时钟恢复单元;所述的物理控制层PCS主要包括8B/10B或64B/66B编解码、comma检测和位对齐、PRBS伪随机码产生和校验、TX相位校正和相位校对控制、RX时钟矫正和通道绑定等;PMA主要功能为TX预增强、OOB、LPM低功耗自动线性适配。

优选地,所述Xilinx transceiver IP接口主要包括GTX总线接口、DRP端口、应用层收发数据端口、状态调试监控端口四部分。

优选地,所述GTX总线接口为GTX物理光纤接口,支持单工和全双工模式;所述DRP端口为软件或处理器动态参数配置接口,通过配置寄存器方式改变RocketIO的工作模式和线速率;所述的应用层收发数据端口由发送数据和发送K码标志信号,接收数据和接收K码标志信号组成;所述状态调试监控端口包括时钟恢复端口、TX可配置驱动端口、RX均衡器(DFE/LPM)端口、RX极性控制端口、TX/RX 8B/10B编解码端口。

优选地,所述主控板板是安装了操作系统的计算机主板。

优选地,所述高级编程语言包括C语言、C++语言、tcl语言或python语言。

优选地,其特征在于,所述文本比较工具不限于BeyondCompare。

优选地,所述的基于RocketIO高速接口变线速方法,其特征在于具体流程如下:

A1:RocketIO系统初始化;

A2:根据权利要求1所述的基于RocketIO高速接口变线速方法配置RocketIO某条lane的DRP端口线速寄存器;

A3:配置软复位此条lane的收发通道复位信号;

A4:lane初始化成功,并linkup信号拉起;

A5:配置RocketIO其它lane的DRP端口线速寄存器;

A6:配置软复位其它lane的收发通道复位信号;

A7:lane初始化成功,并linkup信号拉起;

A8:当所有通道的配置线速完成后,收发数据;

A9:软件验证误码率验证是否配置成功。

本发明还提出一种RocketIO高速接口变线速系统,应用于上述任一项所述的基于RocketIO高速接口变线速系统方法;所述RocketIO高速接口变线速系统包括RocketIO接口板、PCIe背板和主控板;所述RocketIO接口板与PCIe主板相连;所述PCIe背板与主控板相连;安装RocketIO接口板是采用Xilinx FPGA的PCB板。

与现有技术相比,本发明的技术方案具有以下有益效果:

本方案基于PCIe总线配置极简的寄存器列表方案实现RocketIO的变线速方法,实现了多通道速率可独立配置,此方式无需新增其它接口,直接利用AXI通用的总线接口,具有更大的普适性。

附图说明

构成本申请的一部分附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本发明优选实施例的系统原理框图;

图2是本发明优选实施例的系统组成框图;

图3是本发明优选实施例的RocketIO内部结构图;

图4是本发明优选实施例的RocketIO IP接口框图;

图5是本发明优选实施例的DRP配置参数提取流程;

图6是本发明优选实施例的DRP线速配置过程。

具体实施方式

本发明提供一种基于RocketIO高速接口变线速方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的数据在适当情况下可以互换。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例:

本发明提供一种基于RocketIO高速接口变线速方法及系统,其原理框图如图1所示。

图2为一种基于RocketIO高速接口变线速系统实例,系统包括RocketIO接口板,网络接口板,交换板、存储板和主控板。

RocketIO接口板RocketIO内部结构如图3所示。主要由物理介质层PMA和物理控制层PCS组成;物理介质层PMA主要包括串行器和解串器、发送和接收缓冲区、高速时钟产生器和线路时钟恢复单元;物理控制层PCS主要包括8B/10B或64B/66B编解码、comma检测和位对齐、PRBS伪随机码产生和校验、TX相位校正和相位校对控制、RX时钟矫正和通道绑定等;PMA主要功能为TX预增强、OOB、LPM低功耗自动线性适配。

Xilinx transceiver IP接口如图4所示,主要包括GTX总线接口、DRP端口、应用层收发数据端口、状态调试监控端口四部分。GTX总线接口为GTX物理光纤接口,支持单工和全双工模式;DRP端口为软件或处理器动态参数配置接口,通过配置寄存器方式改变RocketIO的工作模式和线速率;应用层收发数据端口由发送数据和发送K码标志信号,接收数据和接收K码标志信号组成;状态调试监控端口包括时钟恢复端口、TX可配置驱动端口、RX均衡器(DFE/LPM)端口、RX极性控制端口、TX/RX 8B/10B编解码端口。

主控板使用麒麟操作系统。

DRP配置参数提取流程如图5所示,具体如下:

步骤S1:目标线速IP生成:利用Xilinx的IP生成向导生成目标线速的IP核,IP0;

步骤S2新线速IP生成:利用Xilinx的IP生成向导生成目标线速的IP核,IP1;

步骤S3:DRP配置寄存器所有参数提取:能够利用C语言提取配置参数,包括:参数名、参数值,得到新的参数文件IP0_PARAM.txt、IP1_PARAM.txt;

步骤S4:寄存器差异参数比较和提取:利用文本比较工具,比较IP0_PARAM.txt、IP1_PARAM.txt文件的差别,并复制差异参数行;

步骤S5:极简寄存器列表文件生成:将复制的差异参数行粘贴在新的文本文件里面,生成差异结果文件diff_param.txt,此文件为最少的需要配置的参数文件,称为极简寄存器配置文件;

步骤S6:配置寄存器列表文件生成:对照RocketIO的transceiver用户手册,查看DRP地址映射表,将diff_param.txt所列的寄存器参数名称和参数值,逐个转换成DRP对应寄存器地址的配置值,并生成配置寄存器列表文件cfg_param.txt;

步骤S7:编写配置程序:使用C语言编写主控板需要的初始化配置文件,包含线速动态配置功能。

控制信息的传输由以太网经过网络接口板、交换板传输给主控板;数据记录时,大流量数据由光口经RocketIO接口板做处理,再经过交换板传输给存储主控板做分布式信息存储;数据回放时,主控板从存储板读取大量数据,通知RocketIO接口板接力获取数据,RocketIO从主控板内存中读取帧数据,然后从光口发送出去,操作流程如图6所示,具体如下:

步骤1:RocketIO系统初始化成功;

步骤2:配置RocketIO第1条lane的DRP端口线速寄存器;

步骤3:配置软复位此条lane的收发通道复位信号;

步骤4:lane初始化成功,并linkup信号拉起;

步骤5:配置RocketIO其它lane的DRP端口线速寄存器;

步骤6:配置软复位其它lane的收发通道复位信号;

步骤7:lane初始化成功,并linkup信号拉起;

步骤8:当所有通道的配置线速完成后,收发数据;

步骤9:软件验证误码率验证是否配置成功。

通过本发明的线速配置过程,已经使RocketIO接口板实现了多通道速率可独立配置,如:10.3125G、8G、6.25G、5G、3.125G。

综上所述,采用基于RocketIO高速接口变线速方法收方法实现了多通道速率可独立配置,此方式无需新增其它接口,直接利用AXI通用的总线接口,具有较大的普适性。

以上对本发明的具体实施例进行了详细描述,但其只是作为范例,本发明并不限制于以上描述的具体实施例。对于本领域技术人员而言,任何对本发明进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:TYPE-C接口通信电路、方法、集成电路以及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!