ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:212.38KB ,
资源ID:3668528      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3668528.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(高速视频信号的光纤传输系统设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

高速视频信号的光纤传输系统设计.docx

1、高速视频信号的光纤传输系统设计高速视频信号的光纤传输系统设计2007-10-17 14:36摘要:针对1000帧/秒高速摄影传输系统需实现数据输出速率600MBps的长距离传输难题,提出了采用CIMT编码方式的光纤数字化传输设计方案。整个系统主要包括数字信号的多路复用、解复用以及PCI数据传输卡三部分。详细阐述了系统的原理及硬软件实现方法,设计实现了两路高速视频数字化信号的15公里远距离传输和计算机实时显示。高帧频的视频信号不同于普通视频信号,如果采用模拟信号方式传输,它的模拟带宽达到了几十兆甚至一两百兆,这样很难实现远距离传输。而光纤传输容量大、质量高和不易受干扰等特点,在高速数字传输系统中

2、得到了广泛应用。目前国内外针对普通视频信号的光纤传输系统已相当多1,5,而对非标准的高帧频视频信号光纤传输系统少有报道,特别是两路或多路高帧频视频的单根光纤传输实现则未见报道。 在本文中需要实现两路256256像素每秒1000帧高速视频信号远距离传输。对于高帧频摄像机,由于它帧频很高,通常采用多路并行的信号输出方式降低数据率,最后通过复用合成为视频信号2。为实现远距离传输,文中提出采用数字光纤的复用、解复用和计算机PCI技术实现两路高帧频视频设备产生的15MBps40路数字信号的传输与视频信号的合成及计算机实时显示。 1 系统原理和结构 高速视频信号的光纤传输系统主要包括复用、光发射、光接收、

3、解复用、控制电路和PCI传输接口等部分。图1为系统光发射部分工作原理图。 从高速视频采集获得的40路15MBps的数据首先经过XC9572内的2:1复用,形成20路30MBps的二级复用数据提供给HDMP-1022,由其完成信道编码,转换成600MBps的PECL串行数据,驱动光发射模块,完成数据的光纤发射。图2为光接收部分原理图。 解复用芯片HDMP-1024从光纤接收模块接收到的600MBpsPECL数据中提取出20路的并行数据和30MHz的时钟信号,再由XC9572完成二级解复用,同时也为FIFO及PLX9052组成的PCI传输卡提供时序信号,计算机通过PCI总线获得实时高速视频采集数据

4、,并予以显示和处理。 2 硬件设计 系统的硬件设计主要包括光纤传输单元、PCI传输单元和控制单元三部分。 2.1 数字光纤传输单元设计 数字光纤传输单元主要完成串并行数据的复用与解复用功能。设计中采取数据通信中的CIMT(Conditional-Invert Master Transition)信道编码方式对数据进行编码。图3显示CIMT码的格式。 CIMT码有三种帧形式:数据帧、控制帧和填充帧。数据帧和控制帧的格式如图3(a)所示,可以发送任意需要传送的数据和控制信息,每一帧都以C-Field(Coding Field)开始,其后接着D-Field(Data Field)。其中D-Field

5、组成的数据位可以是十六位或二十位,本系统采用二十位数据;控制位(C-Field)由四位数据码组成,接收端可以此提取并锁定数据的类型与状态。填充帧是在发射端没有数据信号时以及发射端和接收端建立连接时产生。在三种帧的主瞬变点处是接收端恢复时钟信号的参考点。本系统中选用Aglient公司的HDMP-1022和HDMP-1024作为CIMT码的复用与解复用主要芯片,HFCT-5208作为光发射和光接收器来实现点对点的光纤传输设计。 在光发射端设计中采用HDMP-1022的Double-Frame模式实现40路数据的传输,通过二级复用扩展其并行数据的容量为40路。数据在同一时钟控制下同时被复用成一路的高

6、速信号,同时生成另一路按位取反的信号,最后通过其CIMT编码器输出推动光发射器。图4为以Double-Frame方式复用发射的时序图。其中CLOCK(15MHz)是单路数据采集时钟,FLAG表示奇偶场,CAV和DAV表示数据帧和控制帧的控制位,C0C39表示输入的40路信号,D0D19是CIMT码的D-Field数据,STRBOUT(30MHz)为芯片锁相后的倍频时钟。 在光接收端部分光接收器将获得的光信号转变为高速电信号并发送给HDMP-1024,由它解复用后提取参考时钟信号STRBOUT(30MHz)、数据信号C0C39,以及其他的状态控制信号和数据时钟RCLK(15MHz)。图5为Dou

7、ble-Frame光接收端时序图。 2.2 PCI传输单元设计 为实现高速视频信号的实时记录,设计中利用了PCI总线技术,PCI控制芯片采用PLX9052,它与FIFO相结合可以实现最高数据传输速率120MBps数字量输入。 PLX9052符合PCI2.1规范,支持低成本从属适配器。内部包括一个64字节的写FIFO和一个32字节的读FIFO,通过读写FIFOs,可实现高性能的突发式数据传输;其局部总线与PCI总线的时钟相互独立,局部总线的时钟频率范围为040MHz,PCI的时钟频率范围为033MHz;可以通过串行EEPROM提供PCI总线和局部总线的部分重要配置信息。PLX9052支持突发式内

8、存映射传输和单周期的内存或I/O映射传输,利用32字节的直接从设备读FIFO和64字节的直接从设备写FIFO,映射在PCI内存和I/O空间中的地址由PCI基址寄存器设置。而且,局部映射寄存/b器允许将PCI地址空间转换为局部地址空间。图6是PLX9052与FIFO相互连接的电路图,FIFO采用IDT公司的IDT72205。 2.3 控制单元设计 整个设计的时序控制单元均由CPLD完成,在光发射端主要提供40路信号的2?押1复用、数据的锁存及系统工作的时序信号;在光接收端主要为解复用、FIFO和PLX9052提供相应的时序逻辑。本设计选用Xilinx公司的XC9572作为控制单元的核心芯片,结合

9、它的在线编程功能,完成整个系统的时序调试与设计。 结合Verilog语言与原理图(sch)方法,较好地实现了整个系统时序的设计。以下是40路数字信号8?押1复用Verilog语言设计代码。 Module parrelserial (Data, clock, EN, OutData); input 0:8 Data ;input clock ;input EN; output OutData ;reg 0:8Data; reg 0:3count;reg OutData; always (posedge clock) begin if(EN) count=0; else begin OutData

10、=Datacount; count=count+1; if(count8)count=0; end end endmodule 3 软件设计 整个系统软件主要包括PCI传输单元的驱动程序和系统应用程序设计。 Windows下的PCI驱动程序不仅仅包括物理设备的驱动程序,也包括为文件系统等非物理设备编写的虚拟设备驱动程序。在设计中主要针对Windows2000下PCI驱动程序设计。由于Windows 2000禁止用户模式的程序访问I/O端口(Windows 95/98则允许用户程序直接访问I/O端口),直接控制物理设备的驱动程序均为内核模式。而本设计的PCI驱动程序要求对各种硬件资源访问,所以应

11、该选择工作在零级的驱动程序模式。 开发设备驱动采用的主要开发工具是JUNGO公司提供的软件包Windriver。这个软件包提供开发PLX9052有关设备的文档、编译需要的头文件和库文件、调试工具和程序范例。利用其内部定义的可以调用的系统底层服务,如DMA服务、中断服务、内存管理服务、可安装文件系统服务等,结合VC+完成整个PCI设备驱动程序。本设计包括以下几个方面: (1)PCI设备初始化 PCI设备驱动程序首先实现识别PLX9052器件、寻址PLX9052器件的资源和对PLX9052器件中断的服务。主要调用Windirver软件包内以下函数: WD_Open(hWD); PCI_Get_WD

12、_handle(&hWD); PLX_LocateAndOpenBoard(0x10b5, 0x9052, UseInt); (2)PCI端口地址操作 PCI总线是32位的总线标准,在进行I/O操作时通常要进行双字(DWORD)操作,而在Windows 2000下,系统不允许处于优先级3的用户程序和用户模式驱动程序直接使用I/O指令。任何对I/O的操作都需要借助内核模式驱动来完成。笔者主要调用Windirver软件包内两个函数来完成。 IO_ReadByteString(DWORD dwIOAddr, PBYTE pBuf, DWORD dwBytes); IO_WriteByteString

13、(DWORD dwIOAddr, PBYTE pBuf, DWORD dwBytes); (3)内存的读写 PLX9052与计算机进行数据通信主要采取DMA方式,在Windriver中提供了相应内存读取两个函数,通过对它的调用可实现PLX9052与计算机内存的数据交换。 IO_Read32BitRegister(DWORD dwAddr); IO_Write32BitRegister(DWORD dwAddr, DWORD dwData)?鸦 整个系统的应用程序研制都基于微软公司的VC+开发设计,可用于Windows 2000 操作系统下。 整个光纤传输系统利用复用、解复用,结合PCI技术实现

14、了高速视频数字化信号远距离传输及控制、实时显示等功能,传输距离15km,可记录数据量为128K字节。目前已将设计用到相关的测试项目中,并将进一步改进扩大数据的容量及稳定性。 参考文献1 Asada, Hideyuki Yamada, Takashi Rabou. Optical fiber digital transmission of multiplexed video and audio signals suitable for multimedia applicationsJ.IEEE Transactions on Consumer Electronics. 1998; 44(2):

15、2732792 P.A.Levine,D.J. Sauer,F.V.Shallcross et al. High Frame Rate Multi-Port CCD Imager and CameraJ.SPIE,1992; 1952:2572673 Aglient Technology Inc. Low Cost Gigabit Rate Transmit/Receive Chip Set With TTL I/OsM. 20024 PLX Technology Inc. PCI 9054 Data Book V2.0M.19995 刘 颖,王春悦. 数字通信原理与技术M.北京:北京邮电大学

16、出版社,20026 张宝富,刘忠英.现代光纤通信与网络教程M.北京:人民邮电出版社,2002雷达技术的不断发展,需要对大容量的数据进行实时的处理,这就对通信速率提出了很高的要求。本设计将作为一个大型雷达信号处理系统与外部的数据接口板,实现数据的高速记录与回放。板上集成的4个光口,有效数据传输率理论上可达到10Gbits,能够充分满足系统对通信速率的要求。ROCKET IO简介Rocket IO为Xilinx公司的Virtex II pro及Virtex IV系列FPGA中的一个内嵌模块。它是一种高速的串行收发器,采用两对差分对来进行数据的发送和接收,可以实现两个单工或一对全双工的数据传输。通信

17、码率可以达到600Mbits3.125Cbits。Rocket IO收发器发送和接收串行差分信号,工作于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位)与Roc

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

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

20、on公司的synchronousDRAM MT48LC32M16A2,每片容量512Mh,共4片。4片SDRAM由4套独立的地址数据总线连入FPGA,从而可以实现4片SDRAM读写的独立工作。对于光口数据在SDRAM中的存放方式,可以通过FPGA中的代码灵活没置,因此大大增加了系统的通用性。PCI桥芯片采用Quick Logic的5064,可以在local bus端达到最高100MHz的时钟速率。本系统中应用66M64bit的PCI总线标准。该芯片带有PCI core可以在PCI总线端实现master和slave两种模式,而芯片的localbus部分是可编程的,可以实现与FPGA的无缝连接,本

21、设计中local bus部分采用80MHz的时钟。QL5064中的数据发送和接收FIFO可以对数据进行缓冲,从而匹配两端的速率。本系统的核心为Xilinx公司的Virtex II pro系列 FPGAXC2VP20。对FPGA型号的选择主要基于对user IO数量和RocketIO数目的考虑。该款FPGA带有8个Rocket IO,可以与光纤模块进行无缝连接。FPGA内部的功能模块包括SDRAM控制器,与QL5064交互的控制模块及两个与QL5064进行通信所用的FIFO(分别用于数据的发送和接收),3个Rocket IO控制器,每个RocketIO控制器中包括一个Rx FIFO和一个Tx F

22、IFO。板内数据存储及流动方式光纤数据传输板可以工作于如下几种模式:光纤数据记录模式三个光口的数据经由FPGA和QL5064直接传送到PCI总线上,仔放到主机的存储空间上。三个光口之间可以独立工作。光纤数据回放模式主机将数据通过PCI总线传送到光纤板上,经过QL5064和FPGA,从三个光口发送出去。同样,三个光口是独市的。经过板内缓冲的数据记录模式光口数据先存储在板内的SDRAM中, 再经由FPGA和5064传送到PCI总线上,从而将数据存储到主机的存储空间中。三个光口可以同时工作,每个光口的最高波特率为2Gbits。经过板内缓冲的数据回放模式主机端发送来的数据通过PCI总线,经由5064和

23、FPGA存储到SDRAM上,再经由光口发送出去。三个光口可以同时工作,每个光口的最高波特率为2Gbits。以上四种工作模式,可以任选其中的一种或几种,因此该光纤数据传输板具有了较强的通用性,可以被灵活的应用于不同的场合。ROCKET IO的实现FPGA中的ROCKET IO控制模块在FPGA中实现对三个Rocket IO的控制,3个RocketIO可以独立工作。本设计中的Rocket IO在物理层之上采用aurora协议,在aurora协议中不采用channel绑定,每个rocketIO传送数据采用framing格式,工作于全双工模式,支持流控。Rocket IO接口采用交流耦合(ACcoup

24、ling)模式,单个Rocket IO控制模块的工作原理框图如图3所示。图3中的Rocket IO transceiver模块是由Xilinx公司的COREGenerator生成的一个IPCore,内部实现了Rocket IO收发器的功能以及上层协议aurora。该模块的功能包括8B10B编码,串并转换,时钟与数据流的绑定以及时钟恢复,CRC差错检测,流量控制等。发送接收通道各具有一个16K的FIFO,以便对发送或接收的数据进行缓冲,容量为一个数据包的大小,从而可以在PCI总线较长时间忙的情况下不至于造成数据的丢失。由于Rocket IO工作于2Gbits下,FIFO的设置可以防止数据的溢出,

25、匹配RocketIO和SDRAM及PCI之间的速率差异。Poll模块负责FPGA内部各个模块的协同工作及相互之间的数据交互,此处POLL模块根据不同的操作要求进行Rocket IO与SDRAM或QL5064之间的数据传送。关于参考时钟,Rocket IO不能使用经过数字时钟管理(DCM)倍频的参考时钟,因为DCM倍频会引入过大的时钟抖动,在Rocket IO的高速数据传输条件下会引起不必要的错误。当RocketIO工作于2.5Gbits以上时,建议使用差分时钟(本设计虽然工作于2.5Gbits以下,但还是采用了差分时钟,以期获得更好的性能)。Rocket IO的时钟由差分时钟输入后,只经过一级

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

27、减少共模噪声和辐射,避免抖动和时序错误。尽量避免过长的走线,并增加差分对与其他信号线的距离以避免串扰。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,将F

28、IFO中的数据写入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) 主机将收到的数据与发送的数据比较,以确定Rocket IO是否能够正常的工作。测试了100MByte的数据,结果表明本设计中的Rocket IO能够准确无误的进行数据的传输。本文给出了一种基于RocketIO的光纤数据传输板的设计方案,通过PMC背板与主机交互,使用PCI协议。光口波特率最高可以达到2Gbits,可以实现三个光口数据的记录和同放,数据的流动方式可以在FPGA中灵活配置,在实践中Rocket IO可以稳定有效地工作

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1