在高功用雷达信号处理机研发中,高速串行总线正逐渐替代并行总线。业界广泛运用的Xilinx公司Virtex-6系列FPGA支撑多种高速串行通讯协议,本文针对其间较为常用的Aurora 8B/10B和PCI Express 2.0,Serial RapidIO 2.0三种协议进行了测验及比照剖析。首要建立了依据Virtex-6 FPGA的高速串行协议测验渠道;然后规划并别离完结了三种协议的高速数据通讯,测算了协议的实践传输速率;最终结合测验成果,从协议层次结构、链路数目、链道路速率、数据传输方法、协议开支、拓扑结构、设备寻址方法、运用领域等方面对三种协议进行了比较。本文研究作业可为三种协议的选用、测验和工程完结供给参阅。
1导言
跟着雷达带宽和AD采样率的进步,在高功用雷达信号处理机研发中,体系对数据传输带宽的要求不断增加,高速串行总线正逐渐替代传统的并行总线。
Xilinx公司推出的Virtex-6系列FPGA,在片上集成了固化的GTX模块,以供给高速串行通讯支撑。一起Xilinx公司供给有多种串行通讯协议IP核,便于用户进行开发。Aurora 8B/10B,PCI Express 2.0和Serial RapidIO 2.0是其间较为常用的三种协议。现在已有很多文献涉及到三种协议依据FPGA的完结计划。但是这些计划未能充分发挥协议功用,存在线速率较低(仅为2.5Gb/s)或未完结多通道绑定。针对上述问题,本文依据Virtex-6 FPGA,别离完结了三种协议在4x链路,5.0Gb/s线速率方式下的数据通讯,测得协议的实践传输速率,并对三种协议的特色与运用进行了比照剖析。
2测验渠道简介
本文以实验室自行开发规划的PCIe光纤接纳处理板(以下简称测验电路板)为测验渠道。测验电路板的结构图和实物图别离如图1,图2所示。其间,FPGA选用XC6VLX240T-2FF1156,该芯片含20个GTX收发器,链道路速率可达6.6Gb/s.DSP选用TMS320C6678,该芯片含有SRIO接口,支撑1x、2x和4x链路。光电转化模块选用FCBG410QB1C10,它包括4条链路,带宽可达40Gb/s.故而测验电路板的硬件规划契合本测验对数据传输速率的要求。
图1测验电路板模块结构和链路衔接图
图2测验电路板实物图
如图3所示,将测验电路板刺进服务器主板的PCIe插槽中,并将光纤接入测验电路板,完结测验渠道的建立。本测验中,PCI Express 2.0协议用于完结FPGA与服务器的数据通讯,Serial RapidIO 2.0协议用于完结FPGA与DSP的数据通讯,Aurora 8B/10B协议用于完结FPGA的光纤自发自收通讯。因为三种协议都在物理层进行8B/10B编码,故在本测验作业方式下,它们的极限速率均为
图3测验渠道建立
3 AURORA 8B/10B通讯测验
Aurora 8B/10B协议是Xilinx公司针对高速传输开发的一种可裁剪的轻量级链路层协议,经过一条或多条串行链路完结两设备间的数据传输。协议Aurora协议能够支撑流和帧两种数据传输方式,以及全双工、单工等数据通讯方法。
本测验中,Aurora 8B/10B IP核装备为双工、流方式,参阅时钟频率250MHz.
运用ChipScope软件调查FPGA相关信号如图4所示。调查RX_SRC_RDY_N能够发现,均匀每4992周期呈现7个周期的数据无效信号。因为接纳数据时钟频率为250MHz,数据位宽为64bit,故本测验中,Aurora 8B/10B协议单向传输速率为,
图4 Aurora 8B/10B协议通讯测验信号波形
下面剖析协议理论传输速率和实践通讯功率。该协议的帧格局比较简单,除2字节的开端标志,2字节中止标志和至多1字节的填装字符外,其他为数据部分。本测验选用的流方式是以无完毕的帧方法完结。故协议除8B/10B编码外,基本上不存在其他开支。故依据(1)式可得,协议的理论速率为2.0GB/s,协议的实践通讯功率为99.75%.
4 PCI Express 2.0通讯测验
PCI Express(简称PCIe)总线技能是替代PCI的第三代I/O技能。PCIe选用串行点对点互连,答应每个设备具有专属的一条衔接,不抢夺带宽资源,一起确保了数据的完整性。PCI Express 2.0协议的链道路速率到达5Gb/s,最高支撑32x链路。
本测验中,PCIe 2.0通讯测验经过FPGA对服务器内存的DMA读/写操作来完结。
服务器方面,本测验选用Windriver软件进行PCIe驱动程序的开发。运用该软件供给的PCIe驱动程序及用户接口函数,编写契合本测验功用需求的程序。
FPGA方面,本测验经过规划用户模块,完结对PCIe IP核的操控,完结DMA读/写操作。FPGA模块结构如图5所示。
图5 PCIe 2.0通讯测验FPGA模块结构 为便于服务器对测验电路板FPGA进行操控,在FPGA的PCIe存储空间模块中,界说了若干操控/状况寄存器,这些寄存器的效果有:DMA读/写初始化,操控DMA读/写的发动与中止,标志一次DMA传输是否完结,设置一次DMA传输的数据量等。
服务器经过PCIe接口对测验板FPGA操控/状况寄存器进行读/写操作,来操控DMA的进程。每次DMA完结后,处理板FPGA会向服务器CPU发送一次中止。服务器对测验电路板FPGA DMA传输的操控流程如图6所示。
图6 PCIe 2.0 DMA传输操控流程图
本测验将TLP包载荷数设为256Bytes(IP核答应的最大值),每次DMA传输的TLP包的数量为16384,故每次DMA传输的数据量为4MB.运用ChipScope软件调查FPGA内部的PCIe 2.0 DMA读/写相关信号,如图7,图8所示。本测验开发了PCIe读写功用测验软件,完结PCIe传输数据量和传输速率的实时显现。传输速率经过1s内DMA传输完结的次数来核算。测验成果如图9(a)、(b)所示。PCIe 2.0 DMA读的数据传输速率为1.770GB/s,DMA写的数据传输速率为1.820GB/s.
图7 PCIe 2.0 DMA读测验信号波形
图8 PCIe 2.0 DMA写测验信号波形
图9 PCIe 2.0 DMA读写速率测验成果(a)DMA读测验(b)DMA写测验
下面剖析并核算本测验条件下PCIe 2.0 DMA读/写的理论传输速率和实践通讯功率。
PCIe 2.0协议首要开支为8B/10B编码开支和数据包传送开支。PCIe总线以包的方式在不同器材之间交流信息。数据在进入处理层后会被封装一个包头,该包头长度在32bit地址下为12字节(本测验选用32bit地址)。当数据包进入数据链路层后,会增加2字节的序列号和4字节的LCRC字段。数据包进入物理层后,运用1字节的开端字符和1字节的完毕字符将其封装成帧。
在DMA写测验中,FPGA每发送一次存储器写报文(含256字节数据)会带来20字节的额定开支。在DMA读测验中,FPGA向服务器发送存储器读报文,并由服务器回来完结报文(含256字节数据)。每回来一次完结报文会带来20字节的额定开支。因为PCIe 2.0界说了流量操控缓存管理机制,答应服务器回来完结报文的一起接纳FPGA发来的存储器读报文,故DMA读测验中可疏忽FPGA发送存储器读报文带来的开支。
故PCIe 2.0 DMA读/写的理论速率相同,均为
5 Serial RapidIO 2.0通讯测验
RapidIO是针对嵌入式体系芯片间和板间互连而规划的一种开放式的依据包交流的高速串行规范,已在电信、国防等职业很多运用。
Serial RapidIO(简称SRIO)是物理层选用串行差分模拟信号传输的RapidIO规范。SRIO 2.0协议功用进一步增强,链道路速率可达6.25Gb/s,在电气层支撑热插拔,并新添了操控符号和闲暇方式功用。
本测验以测验电路板FPGA作为发起端,以测验电路板DSP作为方针端。经过FPGA向DSP发送SWRITE包,进行SRIO 2.0写测验,经过FPGA向DSP发送NREAD包,DSP向FPGA回来RESPONSE包,进行SRIO 2.0读测验。