光纤数据传输板中ROCKETIO设计光纤数据传输板ROC_第1页
光纤数据传输板中ROCKETIO设计光纤数据传输板ROC_第2页
光纤数据传输板中ROCKETIO设计光纤数据传输板ROC_第3页
光纤数据传输板中ROCKETIO设计光纤数据传输板ROC_第4页
光纤数据传输板中ROCKETIO设计光纤数据传输板ROC_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、光纤数据传输板中ROCKETIO设计,光纤数据传输板,ROCKET,数据传输率    雷达技术的不断发展,需要对大容量的数据进行实时的处理,这就对通信速率提出了很高的要求。本设计将作为一个大型雷达信号处理系统与外部的数据接口板,实现数据的高速记录与回放。板上集成的4个光口,有效数据传输率理论上可达到10Gbits,能够充分满足系统对通信速率的要求。ROCKETIO简介RocketIO为Xilinx公司的VirtexIIpro及VirtexIV系列FPGA中的一个内嵌模块。它是一种高速的串行收发器,采用两对差分对来进行数据的发送和接雷达技术的不断发展,需要

2、对大容量的数据进行实时的处理,这就对通信速率提出了很高的要求。本设计将作为一个大型雷达信号处理系统与外部的数据接口板,实现数据的高速记录与回放。板上集成的4个光口,有效数据传输率理论上可达到10Gbits,能够充分满足系统对通信速率的要求。ROCKETIO简介Rocket IO为Xilinx公司的Virtex II pro及Virtex IV系列FPGA中的一个内嵌模块。它是一种高速的串行收发器,采用两对差分对来进行数据的发送和接收,可以实现两个单工或一对全双工的数据传输。通信码率可以达到600Mbits3.125Cbits。Rocket     IO收

3、发器发送和接收串行差分信号,工作于2.5V的直流电压下,采用CML(Current Mode Logic)模式,内部带有50或75的匹配电阻。Rocket     IO采用了预加重技术,可以补偿传播媒质中的高频损耗。Rocket IO包括PMA(PhysicalMedia Attachment)和PCS(PhysicalCoding Sublayer)两个子层。其中PMA子层中集成了SERDES,发送和接收缓冲,时钟发生器及时钟恢复电路。SERDES是一个串并转换器,负责FPGA中本地的32位并行数据(也可以是16位或8位)与Rocket &#

4、160;   IO接口的串行数据之间的转换。采用串行数据收发,可以在高频条件下很好的避免数据间的串扰。时钟发生器及时钟恢复电路用于将时钟与数据绑定发送及将时钟从接收到的数据流中恢复出来,从而避免了在高速传输条件下时钟与数据分开传输所带来的时钟抖动等问题。PCS子层负责8B10B编码解码和CRC校验,并集成了负责channel绑定和时钟修正的弹性缓冲。8B10B编码可以避免数据流中出现连0连1的情况,便于时钟的恢复。channel绑定通过在发送数据流中加入P字符来将几个RocketIO通道绑定成一个一致的并行通道,从而来提高数据的吞吐率。最多支持24个通道的绑定。弹性缓冲可以

5、解决恢复的时钟与本地时钟的不一致问题,并进行数据率的匹配,从而使得channel绑定成为可能。对Rocket     IO模块的配置,可以通过下面两种方式进行:静态特性可以通过HDL代码设置;动态特性可以通过Rocket IO的原语端口进行配置。Rocket IO收发器的框图1所示系统方案介绍该光纤数据传输板基于PCI总线规范和PMC接口规范。系统框图如图2所示。光纤数据传输板组成光纤数据传输板上集成3个光口,每个光口对应1个RockelIO收发器。另有一个Rocket IO连接到PMC的PN4上,以便通过母板提供与背板上其他设备进行高速串行通信的通道。

6、光口收发模块采用LNL-STllH。光纤数据传输板上的数据存储采用Micron公司的synchronousDRAM MT48LC32M16A2,每片容量512Mh,共4片。4片SDRAM由4套独立的地址数据总线连入FPGA,从而可以实现4片SDRAM读写的独立工作。对于光口数据在SDRAM中的存放方式,可以通过FPGA中的代码灵活没置,因此大大增加了系统的通用性。PCI桥芯片采用Quick Logic的5064,可以在local bus端达到最高100MHz的时钟速率。本系统中应用66M64bit的PCI总线标准。该芯片带有PCI     core可以在

7、PCI总线端实现master和slave两种模式,而芯片的localbus部分是可编程的,可以实现与FPGA的无缝连接,本设计中local     bus部分采用80MHz的时钟。QL5064中的数据发送和接收FIFO可以对数据进行缓冲,从而匹配两端的速率。本系统的核心为Xilinx公司的Virtex II pro系列 FPGAXC2VP20。对FPGA型号的选择主要基于对user     IO数量和RocketIO数目的考虑。该款FPGA带有8个Rocket IO,可以与光纤模块进行无缝连接。FPGA内部的功能模

8、块包括SDRAM控制器,与QL5064交互的控制模块及两个与QL5064进行通信所用的FIFO(分别用于数据的发送和接收),3个Rocket     IO控制器,每个RocketIO控制器中包括一个Rx FIFO和一个Tx FIFO。板内数据存储及流动方式光纤数据传输板可以工作于如下几种模式:光纤数据记录模式三个光口的数据经由FPGA和QL5064直接传送到PCI总线上,仔放到主机的存储空间上。三个光口之间可以独立工作。光纤数据回放模式主机将数据通过PCI总线传送到光纤板上,经过QL5064和FPGA,从三个光口发送出去。同样,三个光口是独市的。经过板内

9、缓冲的数据记录模式光口数据先存储在板内的SDRAM中, 再经由FPGA和5064传送到PCI总线上,从而将数据存储到主机的存储空间中。三个光口可以同时工作,每个光口的最高波特率为2Gbits。经过板内缓冲的数据回放模式主机端发送来的数据通过PCI总线,经由5064和FPGA存储到SDRAM上,再经由光口发送出去。三个光口可以同时工作,每个光口的最高波特率为2Gbits。以上四种工作模式,可以任选其中的一种或几种,因此该光纤数据传输板具有了较强的通用性,可以被灵活的应用于不同的场合。ROCKET IO的实现FPGA中的ROCKET IO控制模块在FPGA中实现对三个Rocket IO的控制,3个

10、RocketIO可以独立工作。本设计中的Rocket IO在物理层之上采用aurora协议,在aurora协议中不采用channel绑定,每个rocketIO传送数据采用framing格式,工作于全双工模式,支持流控。Rocket     IO接口采用交流耦合(ACcoupling)模式,单个Rocket IO控制模块的工作原理框图如图3所示。图3中的Rocket IO transceiver模块是由Xilinx公司的COREGenerator生成的一个IPCore,内部实现了Rocket     IO收发器的功能

11、以及上层协议aurora。该模块的功能包括8B10B编码,串并转换,时钟与数据流的绑定以及时钟恢复,CRC差错检测,流量控制等。发送接收通道各具有一个16K的FIFO,以便对发送或接收的数据进行缓冲,容量为一个数据包的大小,从而可以在PCI总线较长时间忙的情况下不至于造成数据的丢失。由于Rocket     IO工作于2Gbits下,FIFO的设置可以防止数据的溢出,匹配RocketIO和SDRAM及PCI之间的速率差异。Poll模块负责FPGA内部各个模块的协同工作及相互之间的数据交互,此处POLL模块根据不同的操作要求进行Rocket &#

12、160;   IO与SDRAM或QL5064之间的数据传送。关于参考时钟,Rocket IO不能使用经过数字时钟管理(DCM)倍频的参考时钟,因为DCM倍频会引入过大的时钟抖动,在Rocket     IO的高速数据传输条件下会引起不必要的错误。当RocketIO工作于2.5Gbits以上时,建议使用差分时钟(本设计虽然工作于2.5Gbits以下,但还是采用了差分时钟,以期获得更好的性能)。Rocket     IO的时钟由差分时钟输入后,只经过一级缓冲,然后直接连入到Rocket IO的参考时

13、钟引脚上。PCB设计中需要注意的问题为了使得Rocket IO能够稳定可靠的工作,在PCB设计中需要注意如下一些问题。电源每个Rocket IO有5个电源引脚,它们都对噪声敏感,因此需要良好的电源滤波网络。应选用线性电源模块,Rocket IO应使用独立的供电电源,从而避免和其他电路部分混用电源而引起的噪声。高速差分信号对的布线Rocket IO的发送和接收信号对之间的匹配电阻阻值是可编程的,为50或75(50用于芯片间互连,75用于电缆连接)。差分对应布线在中间层,两边由地层保护,避免过孔。每个差分对的长度应尽量相等(长度差异应<50mils),以减少共模噪声和辐射,避免抖动和

14、时序错误。尽量避免过长的走线,并增加差分对与其他信号线的距离以避免串扰。ROCKET IO性能测试为了测试该光纤板RocketIO的工作性能,测试中将两个Rocket IO用多模光纤互连,设置成全双工工作方式,带有流控,Rocket     IO工作于2Gbits的波特率,由于使用8B10B编码,实际有效数据率为1.6Gbits。RocketIO A发送数据,B接收。测试步骤如下:(1) 主机端将要发送的数据放到PCI总线上;(2) 光纤板的QL5064启动PCI端的DMA,将总线上的数据写入到QL5064内部的FIFO里;(3) 启动QL5064的LocalDMA,将FIFO中的数据写入FPGA;(4) FPGA将从QL5064接收到的数据放人SDRAM_A中;(5) FPGA将SDRAM_A中的数据通过Rocket IO A连续发送出去,同时Rocket IO B对这批数据进行接收,接收到的数据写入到SDRAM_B中;(6) 通过启动QL5064的Local DMA,FPGA将SDRAM_B的数据发送到QL5064的FIFO中;(7) QL5064启动PCI端的DMA,将数据送给主机;(8) 主机将收到的数据与发送的数据比较,以确定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论