首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于Virtex Ⅱ- PRO高速数据采集系统设计

基于Virtex Ⅱ- PRO高速数据采集系统设计

当前, 越来越多的通信系统工作在很宽的频带上, 对于保密和抗干扰有很高要求的无线军用通信更是如此。随着信号处理器件的处理速度越来越快,数据采样的速率也变得越来越高。在军事电子信息领域, 要求处理的频带要尽可能的宽、动态范围要尽可能的大, 以便得到更宽的频率搜索范围, 获取更多的信息量。因此, 通信系统对信号处理前端的A/D采样电路提出了更高的要求, 即希望A/D 转换速度快而采样精度高, 以便满足系统处理的要求。
目前, 可编程门阵列FPGA 的出现已经显著改变了数字系统的设计方式。应用可编程门阵列FPGA, 可使数字系统设计具有高度的灵活性, 因此可编程门阵列FPGA 的应用越来越广泛。而Virtex Ⅱ- PRO 的出现更是使FPGA 的功能更加强大, 但随之而来的是要求提高数据的传输速率。过去人们总是关心如何提高处理器运行速度, 而现在关心的是怎样才能更快地将数据从一个芯片传输到另一个芯片。因而, 高速数据采集系统的输入输出接口设计就显得尤为重要。
1 高速采集系统介绍
数据采集系统原理框图如图1 所示。输入的中频信号经A/D 采样电路采样后, 转换成LVDS( Low Voltage Differential Signaling) 信号送入FPGA 中, 或通过FPGA 的端口Rocket IO 从高速接口输出, 或通过FPGA 的端口LVDS 循环存储于高速缓存中,再由低速接口输出。其中, FPGA 主要完成对外接口管理、高速缓存的控制和管理。时钟控制电路对A/D 数据转换器和可编程门阵列FPGA 起同步和均衡作用。


2 I /O 接口设计
2.1 Vir tex Ⅱ- PRO 和MAX104A 接口介绍
Virtex Ⅱ- PRO 是在Virtex Ⅱ系列FPGA 的基础上, 嵌入了高速I/O 接口和IBM PowerPC 处理器。它能实现超高带宽的系统芯片设计, 支持LVDS、LVPECL 等多种差分接口, 适应性很强, 其中高速串行( MGT) 技术采用了RocketIO 技术。Virtex Ⅱ- PRO采用具有时钟恢复功能的全双工3.125 Gb/s 串行I/O 收发器, 可实现每通道带宽达到3.125 Gb/s 的不同协议设计。收发器支持高达每通道3.125 Gb/s的数据速率, 并可利用通道捆绑功能来满足各种应用不断增长的数据传输速率的要求。Virtex Ⅱ- PRO的收发模块由物理编码子层( PCS) 和物理介质接入( PMA) 构成, 其中物理编码子层提供与FPGA 逻辑内的数字接口, 其内部包括: 循环冗余码校验CRC,8B/10B 编解码器、先进先出缓冲器FIFO; 物理介质接入提供与外部媒体的模拟接口, 其中包括: 20 倍时钟倍频器、发送端时钟生成器、发送缓冲器、串化器、接收端的时钟恢复电路、接收缓冲器、解串器、可变速率的全双工收发器、可编程的五级差分输出幅度( 摆率) 控制和可编程的四级输出预加重模块。RocketIO 的原始设计是比较复杂的, 但如果利用Xilinx提供的大量成熟的和高效的IP( Intellectual Property) 核, 就会极大地缩短设计进度, 减少开发和调试时间。由于IP 核是根据Xilinx 的FPGA 器件的特点和结构设计的, 直接用Xilinx FPGA 底层硬件原语进行描述, 可充分地将FPGA 的性能开发出来, 在面积和速度上都能达到令人满意的效果。在可编程逻辑器件内嵌了具有速率3.125 Gb/s多端串行通信接口, 该技术包括千兆位以太网、10 千兆位以太网、3GIO、SerialATA、Infiniband 和Fibre Channel,为高性能的接口提供了完全的解决方案。

Virtex Ⅱ- PRO 支持的接口LVDS 信号标准是一种小振幅差分信号技术, 如图2 所示。它使用非常低的幅度信号( 100~450 mV) , 通过一对平行的PCB 走线或平衡电缆传输数据。在两条平行的差分信号线上流经的电流方向相反, 噪声信号同时耦合到两条线上, 而接收端只关心两信号的差值, 于是噪声被抵消。由于两条信号线周围的电磁场也互相抵消, 故差分信号传输比单线信号传输电磁辐射小得多,从而提高了传输效率并降低了功耗。


在A/D 转换部份, 使用最新的A/D 芯片MAX104A, 该芯片是MAXIM 公司的最新产品, 采样速度可以达到1 GHz, 采样精度为8 位, 该芯片是PECL (Positive Emitter - Coupled Logic) 电平输出,PECL 信号的摆幅相对ECL 要小, 适合于高速数据的串行或并行连接。PECL 的输出电路结构如图3 所示。该电路结构包含一个差分对管和一对射随器。输出射随器工作在正电压范围内, 无信号时电流始终存在, 这样有利于提高开关速度。标准的输出负载是接50 " 电阻至VCCO- 2 V 的电平上, 如图3 所示。在这种负载条件下, OUT+与OUT- 的静态电平典型值为VCCO- 1.3 V, OUT+ 与OUT- 输出电流为14 mA。PECL 结构的输出阻抗很低, 典型值为4~5 ", 这表明它有很强的驱动能力, 但当负载与PECL 的输出端之间有一段传输线时, 低阻抗造成的失配将导致信号时域波形的振铃现象。


2.2 设计中应注意的几个问题
2.2.1 参考时钟
高性能的通信质量要求有高稳定性和高精度的时钟源。抖动和频偏是衡量时钟源的两个重要指标。频偏是指时钟标称频率与实际频率的偏差, 主要是受晶体精度的影响。由于RocketIO 模块内部将输入参考时钟20 倍频, 而RocketIO 模块可容忍的输人参考时钟抖动公差为40 ps, 可见参考时钟的抖动对其性能有直接影响, 所以我们必须选择性能优良的参考时钟。抖动一般是指一个实际情况下的周期信号每个周期的图样相对于该信号理想情况下一个周期图样的偏差。在Virtex Ⅱ - PRO 系列FPGA 中, RocketIO 模块集中分布在上、下4 个通道中。当RocketIO 工作在2.0Gbaud 以上时, 参考时钟应采用差分输入方式(如LVDS、LVPECL), 由上、下4 个通道的专用差分时钟引脚输入, 至相同或相邻通道中RocketIO 的BREFCLK 输入端, 以避免时钟信号引入不必要的抖动。在2.0Gbaud 速率以下应用时, 不要用FPGA 内的DCM 来生成RocketIO 的输入时钟, 因为经DCM 倍频的时钟会引入较大的抖动, 使RocketIO 的接收锁相环无法稳定地锁定发送时钟, 致使系统无法正常工作。

2.2.2 复位
在Virtex Ⅱ- PRO 系列FPGA 中, RocketIO 模块的复位引脚分为发送(TX_RESET) 和接收(RX_RESET)两部分。由于DCM 在输出时钟锁定在设定值前, 输出时钟处于不稳定状态, 不能用作内部逻辑电路时钟, 所以要在DCM 时钟输出锁定有效, 并经过适当延迟后才可将片内逻辑复位。RocketIO 模块要求复位输入至少保持两个USRCLK 时钟周期来完成内部FIFO 的初始化。

2.2.3 PCB 设计
在PCB 的设计中, 应使差分线对的长度相互匹配以减少信号扭曲。为使设计传输速率达到2.0Gbaud, 在差分线对内部每个走线区间内的实际布线公差应控制在5 mil 内。差分线对两条线之间的距离应尽可能小, 以使外部干扰为共模特征。差分线对间的距离应尽可能保持一致, 以降低差分阻抗分布的不连续性。采用电源层作为差分线的信号回路, 因为电源平面有最小的传输阻抗, 从而减小噪声。由于每个过孔可带来0.5~1.0 dB 的损耗,应尽量减少过孔数目。过孔的通孔和焊盘应有尽量小的物理尺寸, 并且在通孔穿越的未连接层不加焊盘。差分对内的过孔不仅在数量上要匹配, 而且在
放置的位置上也要接近, 以使阻抗分布尽量一致。避免导致阻抗不连续的90°走线, 而要用圆弧或45°折线来代替。走线时应使向左、向右折角的数量接近, 这样可减少信号经差分线传输引起的扭曲。

2.3 接口解决方案
在上文所介绍的高速采集系统中芯片间有两种接口: PECL 和LVDS。如何进行这两种接口互联就成为一个影响系统性能的关键因素。LVDS 的输入与输出都是内匹配的, 所以LVDS 间的连接可采用图4 所示的直接连接。在FPGA 内, 需对差分输入时钟缓冲器( IBUFDS) 、差分输入的全局时钟缓冲器( IBUFGDS) 和差分输出时钟缓冲器( OBUFDS)例化。在本项目的应用中, 发送及接收FIFO 的设计用了双口块内存( Block RAM) , 时钟倍频器用了延迟锁定环( DLL) 。帧解码器由30 位并行数据产生器、同步字检测阵列和接收状态机组成。


FPGA 内的部分代码如下:
component IBUFDS———差分输入时钟缓冲器
( IBUFDS)
port (O: out STD_ULOGIC;
I: in STD_ULOGIC;
IB: in STD_ULOGIC);
end component;
IBUFDS_INSTANCE_NAME: IBUFDS
Port map (O=>user_O, I=>user_I,IB=>user_IB);
PROCESS( RESET, CLK) ———帧编码器设计
IF RESET='1'THEN COUNT<=0;
ELSIF CLK'EVENT AND CLK ='1' THEN
COUNT<=( COUNT+1) MOD 256;
END PROCESS;
TC<='1'WHEN COUNT=255 ELSE '0' ;
TYPE STATE_TYPE IS( IDLE, PACK1, PACK2,
TRANSMIT) ;
SIGANL SREG: SETAT_TYPE;
……
PECL DRIVER 到PECL RECEIVER 的连接一般采用直流耦合。在直流耦合情况下, PECL 输出设计成驱动50 ! 负载至(VCC- 2 V), 电路如图5 所示。


FPGA 内的部分代码如下:
U1:OBUFDS_LVPECL———差分输出时钟缓冲器( OBUFDS)
port map (
I => data_in_P,
IB => data_in_N
O => data_in
);
……

经实际测试, 输入输出指标均符合系统要求。
在硬件电路设计中, 由于LVDS 信号的偏置电压为1.25 V, 电压摆幅只有350 mV, 传输速率≥100 Mb/s; 因此, 电路板制作至关重要, 要求至少使用四层板。为使干扰信号以共模方式加到差分线对上( 不影响数据正确性) , 要求差分线对间的距离尽可能小。电源方面, FPGA 芯片上电时要求有大于500 mA 的驱动电流, 同时, 由于多个输出引脚的电位快速变化, 要求每对电源和地引脚都应良好旁路。
3 结语
本文给出了基于Virtex- II Pro 的数据采集系统, 设计了高速传输系统中RocketIO 设计以及LVDS 接口、PECL 接口互连,通过验证, RocketIO 传输速度可以达到2.5 Gbaud, LVDS 总线上的传输速率可以达到120 Mb/s, 系统性能稳定, 具有较高实用价值。

来源:廖继旺, 孙洪淋
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表