LVDS的高速串行数据传输系统设计

LVDS的高速串行数据传输系统设计
引言
       在某型雷达信号处理系统中,要求由上位机(普通PC)实时监控雷达系统状态并采集信号处理机的关键变量,这就要求在处理机与上位机之间建立实时可靠的连接。同时,上位机也能对信号处理板进行控制,完成诸如处理机复位、DSP程序动态加载等功能。实验中,处理机和上位机之间的数据传输距离不小于8m。在这种前提下,计算机上现有的串口、并口显然不能满足要求,而USB2.0接口工作在高速模式时传输距离只有3m,其它诸如以太网传输的实时性难于满足要求,光纤通道传输的构建成本又太高。基于此,本文提出了一种采用LVDS高速串行总线技术的传输方案。
数据传输系统方案
       由于系统要求传输距离大于8m,需采用平衡电缆。对于两端LVDS接口,可以采用ASIC和FPGA两种方式实现。由于Xilinx公司生产的Virtex-II系列FPGA直接支持LVDS电平标准,本系统采用XC2V250实现,这不仅省去了专用LVDS电平转换芯片,节省了成本,而且可以将系统中其它控制逻辑集成在单个FPGA芯片内,从而降低了PCB设计的难度,提高了系统的集成度和可靠性。另外,收发接口逻辑采用FPGA,可以在使用过程中根据需要重新配置传
输方向,以动态地改变收发通道的数目,大大增强了系统的可重构能力。
       整个数据传输系统框图如图1所示。由于数据传输是双向的,信号处理板和PCI板都有并/串转换发送模块和串/并转换接收模块(均在FPGA内实现),两块板卡通过平衡电缆连接。此外,在信号处理板上,DSP处理机通过外部总线向FPGA发送缓存区内写入数据,FPGA通过DSP的主机口完成与DSP存储空间的数据交换。在PCI板上,FPGA通过PCI控制器和主机进行数据交换。系统工作原理可表述如下:DSP处理机将处理结果通过外部总线输出到FPGA缓冲存储器内,在FPGA内完成数据的并/串转换,并通过LVDS串行接口发送出去。数据通过平衡电缆传输至上位机接收卡。在上位机接收卡内,数据经串/并转换后,送至PCI接口控制电路。上位机输出数据到DSP处理板的过程则相反。由于系统要求数据传输上行数据率小于下行数据率,设计中上行数据传输通道数为1,下行数据通道数是4。在传输距离大于8m的情况下,实际单通道数据传输速率达到264Mbps。
LVDS并/串转换实现
       由于FPGA是通过DSP处理机的外部总线获得数据的,其数据形式是并行的,所以发送前应将其转换为串行比特流。FPGA内实现并/串转换和串行发送功能的模块HSTX的原理框图如图2所示。
 
       由图2可以看出,该模块有3个输入信号。分别为时钟输入CLK、帧同步信号TFR和并行数据TCH1[7:0]。其中,CLK频率为33MHz,经过数字时钟管理器(DCM)锁相倍频后得到串行模块内部时钟CLK1X(33MHz)、CLK4XR(33×4=132MHz)和CLK4XF(33×4=132MHz),其中CLK4XR与CLK4XF反相,与CLK1X同相。输出为三组差分信号,分别为串行数据TCH1[P:N]、串行时钟TCLK[P:N]和串行帧同步信号TFR[P:N]。输入时钟CLK信号上升沿有效,时钟上升沿时,若帧同步信号为高电平,则锁存输入数据TCH1[7:O],延时一个时钟周期开始发送。输出的发送时钟TCLK[P:N]为132MHz,双沿有效。输出串行数据采用小终端模式,数据低位LSB在前,帧同步信号TFR[P:N]输出比特序列11110000,用于供接收端同步。
       如图2所示,串行发送模块主要由LOAD_GEN、OUT_DATA、OUT_FR、OUT_CLK4个模块组成。LOAD_GEN模块用来产生并/串转换时加载数据的选通脉冲。OUT_DATA模块采用移位寄存器实现数据并/串转换。而OUT_FR和OUT_CLK模块分别用来产生串行帧同步信号和串行时钟信号。这些模块均使用硬件描述语言VHDL设计完成。
LVDS传输电路设计
       由于LVDS总线的传输速率达到264Mbps,对PCB布线等方面要求特别高。本文利用高速电路仿真分析工具——Mentor Graphics公司的HyperLynx,对LVDS传输电路进行了仿真设计,包含传输线阻抗设计、端接匹配、差分信号布线。同时考虑了接插件和传输电缆的选择对数据传输的影响。
       LVDS信号的电压摆幅只有350mV,为电流驱动的差分信号工作方式,最长的传输距离可以达到10m以上。为了确保信号在传输线中传播时,不受反射信号的影响,LVDS信号要求传输线阻抗受控,差分阻抗为100。本系统应用中,利用高速电路仿真分析工具,通过合理的设置层叠厚度和介质参数,调整走线的线宽和线间距,计算出单线和差分阻抗结果,来达到阻抗控制的目的。
       LVDS信号的拓扑可以是点到点单向,点到点双向或总线型(multi—drop)。无论哪种应用,都需要在接收端进行端接匹配。匹配阻抗值等于差分阻抗,典型值为100。匹配电阻在这里主要起到吸收负载反射信号的作用,因此,要求距离接收端尽量靠近。在本系统中,利用FPGA片内的数控阻抗(Digitally Controlled Impedance),直接配置FPGA内部端接阻抗值,在FPGA内部实现端接匹配。这样做不仅可以方便修改端接阻抗值大小,使端接电阻很好地匹配,而且端接电阻与接收端非常靠近。
       差分信号的布线是整个传输电路设计的难点。一般来说,按照阻抗设计规则进行差分信号布线,就可以确保LVDS信号质量。在实际布线当中,LVDS差分信号布线应遵循以下原则:
       1、差分对应该尽可能地短、走直线、减少布线中的过孔数,差分对内的信号线间距必须保持一致,避免差分对布线太长,出现太多的拐弯。
       2、差分对与差分对之间应该保证10倍以上的差分对间距,减少线间串扰。必要时,在差分对之间放置隔离用的接地过孔。毕业论文http://www.751com.cn/  论文网http://www.lwfree.com/
       3、LVDS差分信号不可以跨平面分割。尽管两根差分信号互为回流路径,跨分割不会割断信号的回流,但因为缺少参考平面而导致阻抗的不连续。
       4、尽量避免使用层间差分信号。在PCB板的实际加工过程中,由于层叠之间的层压对准精度大大低于同层蚀刻精度,以及层压过程中的介质流失,层间差分信号不能保证差分线之间间距等于介质厚度,因此会造成层间差分对的差分阻抗变化。因此建议尽量使用同层内的差分。
       5.在设计阻抗时,尽量设计成紧耦合方式,即差分对线间距小于或等于线宽。
       此外,在LVDS传输电路设计当中应当选用适合差分信号的高速接插件,一方面,接插件的特征参数能够与LVDS信号阻抗匹配,通过接插件的信号畸变很小;另一方面,能够提供足够的布线空间,设计PCB走线宽度和间距。例如AMP公司的Z—PACK HS3系列接插件,在电气性能方面,比较适合高速LVDS信号互连。
       本系统采用平衡电缆实现长距离传输,然而,由于LVDS特殊的阻抗匹配要求和极低的时序偏置要求,传统的电缆不能用于LVDS数据传输。试验证实双绞线电缆性能最优。短距离(大约0.5m)应用时CAT3平衡双绞线电缆效果最佳。而高于0.5m以及数据率大于500MHz时,CAT5平衡电缆效果最好。
结语
       本文实现的高速数据传输系统,已成功应用于某雷达信号处理机和上位机之间的数据传输,传输距离大于8m,单个通道数据传输速率达到264Mbps,5个数据通道传输速率总共达1.32GbpS,传输过程稳定
Xilinx FPGA 如何使用LVDS
无论使用HDL flow还是schematic flow,只需要例化IBUFDS,OBUFDS之类的差分缓冲器,就可以使用LVDS了。

例化之后,要定位Pin位置,使用PACE,在IO Standard中选择LVDS33或者LVDS25,还能选择有DCI的版本。定端口时,注意看Datasheet中Pin名字分P/N,这P也要对应buffer中的P,N也要对应N。而且注意同一个bank只能有一个电压标准。

如果用FPGA Editor观察布局布线后的情况,就会发现,FPGA Editor中没有IBUFDS这个Component,这个Buffer是藏在IOB里的,点击到Pin的图块中,可以看到里面有一个Buffer,就起到了IBUFDS这个作用。1226

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有