引言
在某型雷达信号处理系统中,要求由上位机(普通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设计完成。