0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LVDS差分信号输入输出的处理方法

冬至子 来源:Bug记录 作者:woodfan 2023-06-16 09:55 次阅读

最近调试芯片遇到一个选择题,需要决定数据接口的接口标准,是选用LVDS差分接口还是CMOS单端接口。说实话,之前接触多的还是CMOS单端接口,只是看到过很多资料介绍过LVDS差分接口。

官方说法里,它的主要优点有:

  1. 抗干扰能力强,具有更高的数据传输速率
  2. 更好的信号完整性
  3. 降低了电平幅度和电路功耗

既然有这么多优点,这次我们就选用LVDS差分接口,看看我们能不能感受到LVDS的优势。

每对LVDS信号是一个差分信号对,一个信号用两个相反的p,n信号线表示,通过差值 |Vp - Vn|传输数据,这样可以有效减小共模噪声的干扰,信号线传输如下图:

图片

图中含有DATA_CLK, RX_FRAME两个LVDS信号对

FPGA内部处理信号肯定还是需要使用单端信号,这时就需要经过一个差分转单端的“工具”,将差分信号转换为FPGA更方便处理的单端信号。

在Xilinx中,我们可以用IBUFDS原语,可以在Language Template中找到这个原语的示例,经过修改一番后,可以将差分的data_clk转换为单端的data_clk, 原语如下:

IBUFDS #(
      .DIFF_TERM("FALSE"),       // Differential Termination
      .IBUF_LOW_PWR("TRUE"),     // Low power="TRUE", Highest performance="FALSE"
      .IOSTANDARD("DEFAULT")     // Specify the input I/O standard
   ) IBUFDS_inst (
      .O(data_clk_tmp),  // Buffer output
      .I(data_clk_p),  // Diff_p buffer input (connect directly to top-level port)
      .IB(data_clk_n) // Diff_n buffer input (connect directly to top-level port)
   );

将需要转换的data_clk P端和N端接入IBUFDS的I和IB端口,就可以在O端口得到转换的单端信号。

除了CLK时钟信号,其他信号的输入转换基本结束了;而CLK时钟信号还需要接入BUFG,因为CLK时钟只有接入BUFG才能接入全局时钟网络,这对于减小时序问题有帮助。

同样在Language Template中找到这个原语的示例,修改后如下:

BUFG BUFG_i0 (
      .O(data_clk), 		// 1-bit output: Clock output, 36MHz.
      .I(data_clk_tmp)	  		// 1-bit input: Clock input, 36MHz.
    );

一个输入一个输出,非常简单的原语调用!

另一边,有输入就会有输出,输出的问题也好解决,同样使用一个OBUFDS原语实现单端转差分,在Language Template中找到原语,修改后如下:

OBUFDS #(
      .IOSTANDARD("LVDS18"), // Specify the output I/O standard
      .SLEW("SLOW")           // Specify the output slew rate
   ) OBUFDS_inst (
      .O(tx_frame_p),     // Diff_p output (connect directly to top-level port)
      .OB(tx_frame_n),   // Diff_n output (connect directly to top-level port)
      .I(tx_frame)      // Buffer input
   );

设置好相应的参数之后,将单端信号接入OBUFDS的I端口,O端口输出差分信号的P端,OB端口输出差分信号的N端。

最后一个小问题就是在XDC设置中,因为一个信号对有两个管脚,比单端信号多了一倍的管脚绑定工作量;但其实我们可以只需要绑定P端的管脚,软件会自动帮我们绑定N端的管脚。

在设置输入输出端口的“IOSTANDARD”中,遇到了些许问题,这里写出来记录一下,也让后面遇到这个问题的人有个参考;最初设置差分信号的“IOSTANDARD”时,我想当然的使用了“LVDS”,“LVDS18”等参数,但是这些参数都不能最终生成比特流;

在查了一些资料以及Vivado本身的I/O Port界面里参数后发现,差分信号的IOSTANDARD需要这样设置:

set_property IOSTANDARD DIFF_HSTL_II_18 [get_ports tx_frame_p]

因为我的IO电压是1.8V,所以最终使用了“DIFF_HSTL_II_18”,如果有更好的方案,可以一起探讨探讨。

总结:

  • 输入信号需要用到IBUFDS实现差分转单端,输入时钟还需要加BUFG
  • 输出信号使用OBUFDS实现单端转差分
  • 差分信号只需要绑P端管脚,“IOSTANDARD”设置需要注意

输入输出端口的简单处理之后,这些信号为了提高传输数据的效率,还使用了DDR(Double Data Rate)技术传输数据。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CMOS
    +关注

    关注

    58

    文章

    5651

    浏览量

    234984
  • FPGA设计
    +关注

    关注

    9

    文章

    428

    浏览量

    26464
  • 差分信号
    +关注

    关注

    3

    文章

    365

    浏览量

    27622
  • lvds接口
    +关注

    关注

    1

    文章

    120

    浏览量

    17382
  • CLK
    CLK
    +关注

    关注

    0

    文章

    127

    浏览量

    17099
收藏 人收藏

    评论

    相关推荐

    分信号是什么意思?使用分信号的好处有哪些?通俗易懂解读分信号

    分线是 PCB 设计中非常重要的一部分信号线,因此我们对分信号处理要求相当严谨。 (
    的头像 发表于 09-12 10:15 4443次阅读
    <b class='flag-5'>差</b><b class='flag-5'>分信号</b>是什么意思?使用<b class='flag-5'>差</b><b class='flag-5'>分信号</b>的好处有哪些?通俗易懂解读<b class='flag-5'>差</b><b class='flag-5'>分信号</b>

    LVDS分信号技术质量初勘

    LVDS是一种低摆幅的分信号技术,它使得信号能在分PCB线对或平衡电缆上以几百Mbps的速率传输,其低压幅和低电流驱动
    的头像 发表于 10-02 16:44 1281次阅读
    <b class='flag-5'>LVDS</b><b class='flag-5'>差</b><b class='flag-5'>分信号</b>技术质量初勘

    LVDS低电压分信号

    新系列,专门用于实现多点电缆或背板应用。它不同于标准的LVDS,提供增强的驱动电流,以处理多点应用中所需的双重传输。BLVDS具备大约250mV的低压分信号以及快速的过渡时间。这可以
    发表于 04-15 16:13

    分信号的优势和影响

    降低。LVPECL 和 CML 分信号具有更高的输出电压摆幅,因此功耗比 LVDS 及 M-LVDS
    发表于 09-17 16:34

    基于低电压分信号(LVDS)的高速信号传输

    基于低电压分信号(LVDS)的高速信号传输
    发表于 12-17 17:21 40次下载
    基于低电压<b class='flag-5'>差</b><b class='flag-5'>分信号</b>(<b class='flag-5'>LVDS</b>)的高速<b class='flag-5'>信号</b>传输

    LVDS分信号抗噪特性

    LVDS分信号抗噪特性 从分信号传输线路上可以看出,若是理想状况,线路没有干扰时,在发送侧,可以形象理解为:
    发表于 10-16 13:53 1686次阅读

    通过低电压分信号(LVDS)传输高速信号

    摘要:ANSI EIA/TIA-644标准定义的低电压分信号(LVDS)非常适合包括时钟分配、点对点以及多点之间的信号传输。本文描述了使用LVDS
    发表于 04-24 16:05 1455次阅读
    通过低电压<b class='flag-5'>差</b><b class='flag-5'>分信号</b>(<b class='flag-5'>LVDS</b>)传输高速<b class='flag-5'>信号</b>

    通过低电压分信号(LVDS)传输高速信号

    摘要:ANSI EIA/TIA-644标准定义的低电压分信号(LVDS)非常适合包括时钟分配、点对点以及多点之间的信号传输。本文描述了使用LVDS
    发表于 05-01 11:14 1743次阅读
    通过低电压<b class='flag-5'>差</b><b class='flag-5'>分信号</b>(<b class='flag-5'>LVDS</b>)传输高速<b class='flag-5'>信号</b>

    高速LVDS(低压分信号)接口电路设计

    随着数字电路数据量的提高,数据的传输速率也越来越快,LVDS(低压分信号)标准越来越多的应用在FPGA和ASIC器 件中。文章对LVDS信号
    发表于 02-23 09:54 340次下载
    高速<b class='flag-5'>LVDS</b>(低压<b class='flag-5'>差</b><b class='flag-5'>分信号</b>)接口电路设计

    未使用端接的低电压分信号总线输入方案

    低电压分信号(LVDS)是EIA/TIA-644标准中定义的总线技术。这种技术的特点是通过使用分信号有较低的电压摆幅,从而具备Gbps数
    发表于 08-01 16:44 1553次阅读

    分信号在PCB设计的处理方法

    分线是 PCB 设计中非常重要的一部分信号线,信号处理要求也是相当严谨,今天为大家介绍下分信号
    的头像 发表于 02-12 11:14 5803次阅读
    <b class='flag-5'>差</b><b class='flag-5'>分信号</b>在PCB设计的<b class='flag-5'>处理</b><b class='flag-5'>方法</b>

    分信号的原理及其在PCB设计的处理方法

    分线是 PCB 设计中非常重要的一部分信号线,信号处理要求也是相当严谨,今天为大家介绍下分信号
    发表于 01-21 07:44 19次下载
    <b class='flag-5'>差</b><b class='flag-5'>分信号</b>的原理及其在PCB设计的<b class='flag-5'>处理</b><b class='flag-5'>方法</b>

    浅析分信号和单端信号的区别

    分信号其实就是把两个单路信号的差值经行传输或者输入输出处理
    的头像 发表于 11-28 15:21 2w次阅读

    LVDS振幅分信号技术的优势和劣势

    LVDS (Low Voltage Differential Signaling)是一种小振幅分信号技术,它使用非常低的幅度信号 (250mV~450mv)通过一对平行的PCB走线或
    的头像 发表于 04-06 09:46 2040次阅读

    低压分信号(LVDS)在LED灯墙中的应用

    电子发烧友网站提供《低压分信号(LVDS)在LED灯墙中的应用.pdf》资料免费下载
    发表于 08-30 09:23 0次下载
    低压<b class='flag-5'>差</b><b class='flag-5'>分信号</b>(<b class='flag-5'>LVDS</b>)在LED灯墙中的应用