基于FPGA的LVDS接口应用

发布者:sdlg668最新更新时间:2013-06-26 来源: dzsc关键字:FPGA  LVDS接口  DAC系统 手机看文章 扫描二维码
随时随地手机看文章

  介绍了基于FPGA的LVDS模块的应用,实现了将数据通过FPGA(Ahera StratixII EP2S90)的LVDS发送模块的传输,以640 Mbit·s-1数据率送至DAC电路。

  1 LVDS技术简介

  LVDS,即Low-Voltage Differential Signaling低压差分信号,是由美国国家半导体公司于1994年提出的一种信号传输模式,在满足高数据传输率的同时降低了功耗,运用LVDS技术可使数据速率从几百Mbit·s-1到2 Gbit·s-1。

  LVDS传输方式的原理是用一对线传输一个信号,一条传输正信号,另一条传输相反电平并且在接收端相减,可以将走线上的共模噪声消除。因为两根信号的极性相反,所以对外辐射的电磁场可以相互抵消,耦合越紧密,互相抵消的磁力线越多,泄露到外界的电磁能量就越少。

  LVDS接口也称RS-644总线接口,运用LVDS传输技术,采用极低的电压摆幅高速差动传输数据,具有低功耗、低误码率、低串扰和低辐射等特点,可使用铜质PCB连线传输或平衡电缆。LVDS在对信号完整性、低抖动及共模特性要求较高的系统中的应用越来越广泛。目前LVDS技术规范有两个标准:一个是TIA/EIA的ANSI/TIA/EIA-644标准;另一个是IEEE1596.3标准。

  2 基于FPGA的LVDS接口发送模块

  采用Stratix II系列的EP2S90F1020C3FPGA,其支持高速LVDS接口,在Quartus II软件中可以调用其宏功能模块Altlvds_tx,即LVDS接口发送模块。此模块将以并行方式输入的TTL电平数据信号转换成串行的LVDS信号输出。

  2.1 Altlvds_tx发送模式

图1 Altlvds综合设置界面

  将LVDS模块设置为发送模式,即将左端输入的并行tx_in信号转化为串行的tx_out信号输出,并且设置通道数和串行化因子,在这里,通道数即为输出数据的位数,而串行化因子表示将输入数据分几次输出。例如输入为96位的并行数据,设置为24 channels×4,表示输出串行的24位数据,分4次输出,若输入数据时钟为160 MHz,则输出的数据率为4倍,即640 Mbit·s-1,并且可以输出640 MHz的数据时钟。在综合设置页面中,没有选中"Implement Serializer/Deserializer Circuitry In Logic Cells",就表示用到了LVDS Serdes硬核。图2所示数据率为640Mbit·s-1,输出时钟为640MHz.

图2 频率设置界面

  需要注意的是,Altlvds发送模块在对数据进行并转串输出时,会对输入数据的顺序进行重新排列,例如:输入8位并行数据,设置2 channels×4,则输入数据分为2组即2个通道,每组4 bit,如图3所示。

图3 Altivds_tx模块输出数据排列

  从图3可以看出,8位输人数据分为2个通道,每个通道4 bit,输出数据时,第一个输出的2 bit数为第一个通道的最高位和第二个通道的最高位分别作输出的高位和低位,第二个输出的数为第一个通道的次高位和第二个通道的次高位组合,以此类推。

  当设置的串行化因子为2时,Altivds_tx模块会自动变成DDR工作模式。[page]

2.2 AltlvdS_tx时钟模式

  Altlvds模块内部有一个PLL,可以得到所需要的输出数据时钟,在图1中可以看到选项Use External PLL,当选择此项时,表示使用外部时钟,则需要在FPGA中重新做一个PLL,并将输出时钟和LVDS模块进行相应的连接。

  当使用内部PLL时,如图2所示,What is the phase alignment of\'tx_in\'with respect to the rising edgeof\'tx_inclock\'?(in degrees)即可以调节tx_in输入数据和tx_inclock输入时钟的相位偏移,而Register\'tx_in\'input port using选项表示输入数据是用输入时钟tx_inclock控制还是用核时钟tx_coreclock控制,默认的是核时钟,而当使用tx_inclock时钟缓存输入数据时,可能会提示建立时间的问题,而对高速时钟来说,使用核时钟缓存时,会用最优的相位位置来缓存数据。

  如图4所示,发送器设置界面中What is the phasealignment of\'tx_outclock\'with respect to\'tx_out\'?选项可以设置输出数据和输出时钟的相位关系。当选择\'tx_coreclock\'输出时可选择核时钟的时钟源What isthe clock resource used for\'tx_coreclock\'?可选择Global Clock全局时钟或Regional Clock区域时钟,默认的是Auto Selection.,由编译时自动选择。

图4 发送器设置界面

  当使用外部时钟时,即在图1中选择Use ExternalPLL,此时新建一个PLL来提供时钟源,这时LVDS模块只能设置输出数据与时钟的相位关系,其余选项不可设置。

  3 Altlvds_tx模块在DAC系统中的应用实验

  3.1 系统硬件设计

  DAC系统原理框图如图5所示。

图5 基于FPGA的LVDS接口模块应用系统框图

  系统中DSP使用TigerSHARC处理器TS101,FPGA采用Aitera公司的StratixII系列EP2S90F1020C3,DAC芯片采用ADI公司的AD9735.

  AD9735为12 bit数模转换器,可以提供高达1 200 MS·s-1的采样速率,且设有一个SPI端口,可以对D/A内部参数进行设置,并回读状态寄存器。

  系统中由DSP将处理好的数据发送至FPGA,在FPGA内部先由双口RAM进行缓存,然后将读出的数据送至LVDS_TX模块,输出LVDS数据和数据时钟到AD9735.实验中数据率为640 Mbit·s-1,并且提供640 MHz的系统时钟给AD9735.由于接口时钟速率提高,传统系统同步方式的数据接口电路难以实现,则采用源同步的方式更加可行,要求时钟伴随数据输出,AD9735的数据输入接口就是按照源同步的模式设计,它要求保证时钟与数据的边沿对齐,即需要输入数据随路时钟与数据采用同样的机理产生。所以通过LVDS_TX模块产生所需的数据和640 MHz时钟送至AD9735.

  3.2 系统软件设计

  在FPGA中使用全局时钟100 MHz通过PLL产生160 MHz时钟来控制双口RAM的写地址计数器时钟,并作为LVDS_TX模块外部时钟PLL的输入时钟。如图6所示,DSP送来的24位波形数据,低12位为I路数据,高12位为Q路数据送至双口RAM,由DSP的60 MHz时钟写入,用LVDS模块的外部PLL产生的核时钟做读数时钟,一次读出96位,即4个点的数据。其中Rearrange模块功能为实现数据位重新排列,为后面的LVDS_TX模块数据做准备(如图3所示),使最终输出数据能够保证正确的数据顺序。

图6 双口RAM模块

[page]

LVDS_TX模块的设置如图7所示,这里使用外部时钟控制,即在LVDS模块外重新定制一个PLL,此PLL要设置在LVDS模式下,PLL类型会自动选择为Fast PLL.这时PLL会有3个输出c0,sclkout0,enable0.输入时钟inclk0设为160 MHz,LVDS数据率置为640 Mbit·s-1,则输出c0为核时钟,频率为160 MHz,输出sclkout0为串行化输出时钟640 MHz,输出enable0为LVDS输入使能信号。

图7 LVDS_TX模块

  在外部PLL设置中可以对输出的核时钟和高速串行化输出时钟的相位进行调节,因为FPGA的高速时钟由于内部布线等原因可能会产生一些相位偏斜,导致数据和时钟不能准确对齐,这时就需要对时钟的相位进行调节来对齐数据和时钟。本实验中设置c0的相偏为-45°,则sclkout0会默认产生-180°相偏,因为LVDS设置的是4倍抽取关系,即45×4=180,使用外部时钟时还可以根据需要分别调节两个时钟的相位。时钟相位关系如图8所示。

图8 时钟相位关系

  用PLL输出的核时钟即c0将rearrange模块输出的数据进行同步后送至LVDS_TX模块,时钟的连接方法如图7所示。在enable0信号有效时将数据输入至LVDS模块,LVDS_TX模块输出的24位数据输入给2个DA(I、Q),低12位为I路,高12位为Q路,并将输出640 MHz同步时钟送至DA.此时LVDS模块内仍可以调节输出数据和输出时钟的相位,但只剩下2个相位值可以调节,即0°和180°。

  4 实验结果及分析

  实验中由DSP分别发送100 MHz和225 MHz的正余弦波形数据至FPGA,经过双口RAM和LVDS_TX模块发送至AD9735,并从示波器上观察DA的输出波形。

  实验中c0相偏为-45°,sclkout0为-180°相偏。由DSP首先发送的是100 MHz的I、Q波形数据,AD9735的输出波形在示波器上显示如图9所示,其频谱如图10所示。

图9 D/A输出的100 MHz正余弦时域波形数据

图10 D/A输出的100 MHz正余弦波形频谱

  在100 MHz时,其杂散抑制可达-41.6 dB.

关键字:FPGA  LVDS接口  DAC系统 引用地址:基于FPGA的LVDS接口应用

上一篇:基于FPGA的SDX总线与Wishbone总线接口设计
下一篇:LVDS的接口电路设计

推荐阅读最新更新时间:2024-05-02 22:42

基于上位机与FPGA开发板的光纤通道接口适配器
     随着存储技术的迅速发展,存储容量得到了迅速的增长,存储系统的数据传输速度成为了主要的瓶颈。光纤的传输具有其速度上的优势,然而,在光纤传输要受到光纤通道接口的限制,因此光纤通道应用于高速数据传输的一个关键技术问题是接口的设计问题,本文对有效地解决高数据传输在接口处的瓶颈具有现实意义。   1 方案设计   完整的实现要包含PC机软件编程、Virtex-5开发板的底层链路实现。PC机的软件编写主要实现链路的创建注销控制、数据的组帧、数据的传输控制、传输过程中的显示;VirteX-5开发板主要实现数据的链路贯通、支持上位机所定义的帧结构的传输过程。   如图1所示,接口适配器功能实现过程主要包含协议的正确理解,按照
[嵌入式]
医疗成像算法的当前趋势及其可扩展平台
现场可编程门阵列为可扩展CPU平台提供数据采集和协处理支持,使得更复杂的成像成为可能。 医学成像    医学成像技术在医疗保健领域发挥的作用越来越重要。这是因为医疗保健行业正在努力检查出—甚至预测出—尚处在早期阶段的疾病并积极推行无创性治疗,并与此同时降低诊断和治疗成本。诊断成像模式的融合与成像算法开发方式及进展相结合是推动开发能实现上述目标的新仪器的主要因素。   为了提供能满足这些医疗保健行业目标所需要的功能,设备开发商正在转向可扩展的、商业现货供应(COTS)的中央处理单元(CPU)平台,这些平台支持现场可编程门阵列(FPGA)用于数据采集和协处理。要高效地开发灵活、可扩展的医疗影像设备,设备开发商必须考虑若干
[医疗电子]
一种基于FPGA的准单输入调变序列生成器设计
1.引言 随着集成电路复杂度越来越高,测试开销在电路和系统总开销中所占的比例不断上升,测试方法的研究显得非常突出。目前在测试源的划分上可以采用内建自测试或片外测试。内建自测试把测试源和被测电路都集成在芯片的内部,对于目前SOC级的芯片测试如果采用内建自测试则付出的硬件面积开销则是很大的,同时也增加了芯片设计的难度:因此片外测试便成为目前被普遍看好的方法。由于FPGA具有可重构的灵活性,利用FPGA来作为测试源实现片外测试就是一种非常有效的手段。 由于伪随机模式测试只需要有限个数的输入向量便可达到很高的故障覆盖率因而在作为测试源设计中得到了广泛应用,采用CPLD来实现伪随机测试序列生成器的设计 为提供了电子系统测试信号提供了一种
[应用]
基于FPGA的GPS+GSM双重车载定位系统设计
目前在车辆GPS导航系统中,主要是直接利用无差分、无SA误差的GPS定位数据来实现车辆在地图上的定位。考虑到定位信号存在一定的误差,5%概率下误差会超过15 m,同时城市中建筑物、桥梁以及树木等还对GPS信号形成遮挡,甚至会导致信号失效,从而进一步影响定位精度。而车在行进过程中进行导航时,尤其是在路口以及立交桥等特殊地点的导航时,系统往往需要更为精确的定位。为此,本设计充分利用了FPGA强大的逻辑控制功能和NiosⅡ处理器的多可配置标准外设接口功能,结合GPS和GSM功能模块,设计了一款双重定位系统。通常情况下用GPS进行定位,在特殊情况下可以开通GSM网络定位功能实现双定位,再通过GSM网络将定位信息、时间和终端特殊信息传送到
[汽车电子]
基于<font color='red'>FPGA</font>的GPS+GSM双重车载定位<font color='red'>系统</font>设计
基于FPGA的总线型LVDS通信系统设计
低压差分信号LVDS(Low Voltage Differential Signal)是由ANSI/TIA/EIA-644-1995定义的用于高速数据传输的物理层接口标准。它具有超高速(1.4Gb/s)、低功耗及低电磁辐射的特性,是在铜介质上实现千兆位级高速通信的优先方案;可用于服务器、可堆垒集线器、无线基站、ATM交换机及高分辨率显示等等,也可用于通信系统的设计。BLVDS(Bus LVDS)是LVDS技术在多点通信领域的扩展,要求附加总线仲裁设计、更大的驱动电流(10mA)和更好的阻抗匹配设计。 通常是LVDS电路设计使用各种专用芯片,如美国国家半导体公司的DS92LV16等。我们用FPGA芯片自行设计BLVDS内核及扩展
[嵌入式]
基于DSP+FPGA协处理架构的无线子系统设计
    您可以显著提高无线系统中信号处理功能的性能。怎样提高呢?有效方法是利用FPGA结构的灵活性和目前受益于并行处理的FPGA架构中的嵌入式DSP模块。 常见于无线应用中这类处理包括有限冲激响应(FIR)滤波、快速傅里叶变换(FFT)、数字上下变频和前向误差校正(FEC)。Xilinx? Virtex-4和Virtex-5架构提供多达512个并行嵌入式DSP乘法器,这些乘法器的工作频率高于500MHz,最高可提供256 GMAC的DSP性能。 将需要高速并行处理的工作卸载给FPGA,而将需要高速串行处理的工作留给处理器,这样即可在降低系统要求的同时优化整体系统的性价比。 子系统划分选择方案 FPGA可与DSP处理器一起使用
[嵌入式]
LabVIEW助力工程师超越传统嵌入式系统开发
  日前,美国国家仪器有限公司(National Instruments,简称NI)宣布推出最新可用于控制、测试和嵌入式系统开发的图形化系统设计软件平台——LabVIEW 2009。它可以帮助工程师混合使用多种编程工具——包括图形化编程语言、C代码、硬件描述语言(HDL) 以及文本数学——来开发嵌入式系统,通过算法与硬件的无缝连接,将算法在实时系统加以实现并连接到真实的I/O,从而快速构建系统原型。工程师和科学家们可以充分利用LabVIEW 2009新版本软件对现场可编程门阵列 (FPGA) 的进一步支持、扩展的多核特性以及虚拟化的嵌入式系统功能来实现各种新的应用,跨越传统的嵌入式设计。在同一个编程平台下,工程师和科学家们即可借助
[嵌入式]
FPGA/CPLD技术用于防止移动设备盗窃
  从澳大利亚到中国,从美国到欧洲,手机制造商不断为其产品增加新的语音/数据功能,而具有新功能的手机更容易被盗。此类犯罪在每个国家都在持续上升,仅澳大利亚每天就约有两千多部手机丢失或被盗。本文讨论了FPGA或CPLD可编程芯片技术在防止移动设备盗窃方面能够起到什么重要的作用。   现在,大多数国家都成立了新的机构来防止盗窃行为并提高人们的防盗意识。这些组织包括移动设备全国数据库(MEND)和澳大利亚移动电信联盟(ATMA)。位于美国的防止犯罪组织也有一个专门针对移动设备犯罪的机构,称为移动行业犯罪行动论坛(MICAF)。   在大多数新的3G系统中,预防手机盗窃的标准方法是利用每个手机所独有的个人识别号码(PIN)。通过国际移
[工业控制]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved