首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于FPGA的LVDS高速差分板间接口应用
来源:本站整理  作者:佚名  2009-04-22 12:27:48



0 引言
   
随着ADC器件性能和DSP处理能力的提高,板间数据传输需要更高的带宽才能满足应用要求。以现在主流的工业CPCI总线为例,其传输带宽最高为4 Gbit/s,而采用FDPD以及最新FDPDII标准的工业总线,最大传输带宽也仅仅达到1.2 Gbit/s和3.2 Gbit/s,远远无法满足宽带接收机的传输接口带宽要求。因此,数字接收机内部的传输接口速率成为了有一个影响宽带数字接收机性能的瓶颈。
    近年来出现的LVDS具有高速、低功率、抗干扰性能好的特点,非常适合于作为板间数据传输接口的标准。
    本文基于图1实现了一种基于LVDS差分传输技术,采用DDR双倍数据率技术进一步提高了数据传输速率,使接口数据速率最高可达到18.4Gbit/s的板间传输接口,而总线宽度仅仅为23位。并且采用了速率可灵活调整的时钟产生电路,可实现200、400和800 MHz的DDR速率,完成了PCB布线及基于Xilinx Vertex2和Vertex4 FPGA的DDR收、发器综合设计。并成功应用在采用了55351—1259和54457-1258通用接插件的AD9218 ADC采集板与4处理器ADSP TS201数字信号处理板构成的通用信号处理系统上。


1 发送端与接收端系统设计
1.1 发送与接收系统框图

    传输接口原理图如图2。

    其中clkO和clkl80两路反相时钟由FPGA内部的DCM模块将板载时钟芯片产生的100 MHz时钟倍频产生,时钟可灵活配置为100、200和400 MHz从而满足不同速率ADC数据流量传输,关于DCM的配置方法下文有详细描述。
    两个FIFO为FPGA内部的blockRAM软FIFO,是为了缓存来自ADC采集的数据。
    传输控制逻辑是为了产生对FIFO、ODDR以及各个传输控制信号,其内部状态机状态转换图如图3。

    data-tx为INCMOS2.5标准的单端控制信号,由该信号控制数据的传输与中止;ODDR模块的作用是将来自于两个FIFO的两路SDR单速率信号,转换为一路DDR信号。其内部原理下文有专门介绍。
    DDR同步时钟clktx最高可由两级DCM倍频产生400MHz的数据传输始终,从而达到单路800 MHz的DDR数据速率。该时钟信号通过LVDS驱动器差分传输给接收端,作为接收同步时钟。
    板间接插器一共分配了24路LVDS差分传输通道,其中一路分配给同步时钟clktx,剩下的23对均可作为数据传输用,因此可以达到800 MHz×23×1 bit=18.4 Gbit/s的接口速率。接收端原理图如图4。

    接收端接收到由发送端传输来的DDR数据信号、DDR同步时钟clktx以及数据同步信号dma一tx。
    传输端控制逻辑根据dma tx信号使能DDR接收器IDDR以及后端的FIFO。
    DDR信号经过IDDR模块后生成两路普通数据信号D1out(9:0)和D2out(9:0),经过数据转换模块转换为32位浮点数,供给接收FIFO。
    后端的四片ADSP TS201 DSP芯片通过SDRAM接口或者64位通用总线访问接收FIFO,提取AD采集的浮点数据,完成快速测频或者快速傅立叶变换等各种通用算法。
1.2 DDR信号产生电路:ODDR逻辑
    DDR双倍数据传输模式相较于SDR(singledma rate)在不改变时钟信号前提下,可利用时钟的双沿(上升/下降沿)进行数据采集传输,从而获得接近于SDR两倍的数据传输率,所以DDR技术优势显而易见,既可以保持时钟信号不变及电路稳定性,又可较大幅度提高数据传输速率。
    在发送端模块中,核心部分为ODDR模块,该模块的作用在于将两路SDR的数据率信号转换为DDR信号,分别在上升沿和下降沿进行传输。
    ODDR模块由两个专用DDR寄存器和一个复用器组成,两个寄存器采用反相时钟输入,且复用器模块也由时钟驱动如图5(a)。

    系统接收端通过IDDR模块将DDR信号分解为两路普通速率信号输出,由于在本应用中传输的DDR信号,上升沿为一路AD采集的信号,下降沿为另外一路AD采集的信号,把数据分为虚实两部,并且在后端DSP进行并行处理,需要两路SDR数据输出具有相同的相位,采取如图5(b)所示结构。

1.3 LVDS输出端口配置
    Xilinx的Vertex系列FPGA均在IO端口集成了LVDS收发器。要采用LVDS差分标准传输信号,需要对FPGA的IO端口进行配置,从而使综合工具在FPGA布局布线流程中,将INDS驱动器结合到IO端口上。
    在发送端,应在IO端口配置OBUFDS模块(图6)。


[1] [2]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:77,679.69000 毫秒