1、基于 FPGA 和 LVDS 技术的光缆传输技术 更新于2010-03-14 03:14:07 文章出处: 21IC 电子网 FPGA LVDS 光缆传输 来源:国外电子元器件 作者:张时华 任勇峰 李圣昆 刘鑫1 引言某飞行器发射前,需测试飞行器各项参数,参数测试是通过数据记录器记录飞行器数据并传至地面测试台。测试过程中,为了保证测试人员人身安全,飞行器和地面测试台间距需有 300 m,两者间采用长线数据传输。现有的技术有: RS 一 485 总线,在几百米时,传输速度较低;CAN 总线虽具有较高的可靠性,但传输速度也较低;而千兆以太网接口的传输速度很快,但以太网协议复杂,不适用。为此,这里
2、提出一种基于 FPGA 和 LVDS 接口器件的光缆传输技术。2 LVDS 简介低电压差分信号(Low Voltage Differential Signaling,简称 LVDS)是一种适应高速数据传输的通用点对点物理接口技术。它采用低摆幅差分信号技术,使其信号能在差分 PCB线对儿或平衡电缆上以几百 Mbs 的速度传输。其低摆幅和低电流驱动输出实现低噪声和低功耗。每个点到点连接的差分对儿由驱动器、互连器和接收器组成。驱动器和接收器主要完成 TTL 信号和 LVDS 信号之间的转换。互连器包含电缆、PCB 上差分线对儿以及匹配电阻。LVDS 驱动器由一个驱动差分线对儿的电流源组成,LVDS
3、接收器具有高输入阻抗,因此驱动器输出的电流大部分都流经 100 的匹配电阻,并在接收器的输入端产生约 350 mV 的电压。当驱动器翻转将改变流经电阻的电流方向,因此产生有效的逻辑 1 和逻辑 O 的低摆幅驱动信号实现高速操作并减小功耗,差分信号提供适当噪声边缘。不管使用的是 PCB 线对儿还是电缆,都必须防止反射,减少电磁干扰。LVDS 要求使用一只与介质相匹配的终端电阻,应将其尽可能地靠近接收器放置。LVDS 接收器可以承受 1 V 的驱动器与接收器间对接地的电压差。由于 LVDS 驱动器典型的偏置电压为 1.2 V,所以其电压差驱动器典型的偏置电压以及轻度耦合噪声之和范围为 0.22.2
4、 V.建议接收器的输入电压范围为 02.4 V.3 总体设计方案系统设计要求传输速度应在 116 Mbs 自动适应,传输距离不小于 300 m,且必须与其他系统电磁隔离,避免电磁干扰。因此,该系统设计采用集成的 LVDS 接口器件DS92LVl021,其数据传输速度是 1640 Mbs,10 位数据位。而 CLC001,CLC012 为专用长线电缆驱动器,与光模块相结合可将传输距离扩展 2 km,且外部电路简单,功耗低。FPGA 选用 Spartan 一 2 系列器件,其最高工作速度为 200 MHz,逻辑宏单元丰富,满足系统设计要求。因此,该系统设计选用 LVDS 接口器件实现 LVDS 长
5、线传输,而记录器、测试台和 LVDS 器件接口的时序匹配则选用 FPGA 实现。图 1 为系统设计的框图,测试台发送的 STATE、CTLl、CTL2 等状态及控制信号传送至记录器,并将记录器发送的数据及同步时钟传送至地面测试台。其中,记录器、LVDS发送端、LVDS 接收端的电源均由测试台提供,电压为+9 V.LVDS 长线传输模块分为 LVDS 发送电路和 LVDS 接收电路。LVDS 发送电路将从记录器接收到的并行数据进行速度匹配后转换成 LVDS 串行数据流,并通过双绞线发送。LVDS接收电路将接收到的 LVDS 串行数据流还原成并行数据进行速度匹配后送至测试台。4 硬件设计该系统设计
6、的关键部分为 LVDS 的接口设计,由于传输数据速度很高,因此应按照高速电路的要求进行设计,所有布线应尽量短,传输线路阻抗匹配。传输模块发送端工作时首先由 FPGA 给 DS92LV1021 的使能端 DEN 及 TCLK-RF 触发沿选择高电平,并向 TCLK引脚输出 20 MHz 的工作时钟,接着 DS92LV1021 将从 FPGA 处接收到的 TTL 并行信号转换为 LVDS 标准的串行信号,再由 Do 一及 Do+输出至 CLC001 驱动器,经电光转换后,由光缆传输至接收板电路,并由接收电路的光电转换器送至 CLC012,从而补偿已衰减的信号,再由 DS92LV1212 解串器还原
7、出 10 位并行数据及 l 位时钟位。图 2 为发送电路原理图。传输模块接收端主要由 CLC012 均衡器及 DS92LV1212 解串器组成。DS92LV1212 的D00D09 将还原出的并行数据输出,RCLK 为还原出的同步时钟,REFCLK 为解串器的工作时钟,由 FPGA 给出。5 软件设计系统上电后,测试台先向采编器发出读数命令,采编器接到命令后,以 l Mbs 的速度输出 8 位并行数据,而 LVDS 传输器件最低工作速度为 16 Mbs,为了实现速度匹配与自适应,该系统设计采用了 Soatan-2E 型 FPGA 内部双口 RAM 实现 FIFO,其时钟最高工作频率为 200
8、MHz,满足要求,当采编器以 1 M bs 速度输出数据时,首先进入 FPGA 内部 FIFO,FPGA 内部对数据计数,当存满 512 个数后,FPGA 以 20 Mbs 的速度输出 8 位并行数据,为了保证 DS92LVl021 一直处于工作状态,FPGA 在两次发送数据的间歇所输出的无效数,有效数和无效数通过 LVDS 传输器件的 lO 位数据位的高 2 位数据位作为标志位进行区分,在接收端 FPGA 通过判断标志位来识别有效数或无效数,舍弃无效数,保证数据正确传输。FPGA 在整个系统中起数据缓冲作用,由于采用 FIFO 作为外部数据接口,所以可实现对外部数据的自适应要求。整个程序用 VHDL 语言编写,流程图如图 3 所示。6 试验结果为了测试最终效果,在发送电路和接收电路之间用不同长度的单模光纤连接,系统上电后,发送端发送数据速度为 20 Mbs ,使用示波器捕获接收端数据波形,并进行对比,实验结果记录如表 1 所列。图 4 和图 5 分别给出 100 m 和 300 m 光缆的数据波形。由数据波形图知,在传输过程中,波形畸变非常小,没有出现误码和丢数的现象,完全满足系统要求。7 结语本文所述 LVDS 长线传输方案具有电路设计简单,传输速度快,传输距离远的优点,并且对传输速度能够自适应,在需远距离传输的环境中有广阔的应用前景