ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

LVDS与LVPECL差分交流耦合接线全解析:从共模偏置到电容取值

LVDS与LVPECL差分交流耦合接线全解析:从共模偏置到电容取值 前阵子调试一块板子FPGA的LVDS输出要接到一片LVPECL时钟驱动器我按常规定“差分信号交流耦合”在中间串了两颗100nF电容结果上电后示波器刷新一片噪声接收端没有恢复任何干净的沿。把电容拆掉直连反而能出波形可手册上明明说交流耦合更稳妥。后来才想明白问题不在电容而在交流耦合之后接收端和发送端的直流工作点究竟由谁决定、由谁提供。LVDS和LVPECL虽然都是差分信号但在共模电压和输入级结构上差别很大接线方式自然也完全不同。这篇文章就把差分互连中交流耦合的接线逻辑彻底捋一遍适合正在做FPGA、高速ADC/DAC、时钟链路或者被LVDS/LVPECL转换困扰的硬件工程师参考。1. 三种差分电平的直流维度差异LVDS与LVPECL谁也替代不了谁很多刚接触高速数字电路的人会有一个直觉反正是差分信号P和N两根线对称走就行了电平标准好像只是摆幅大小不一样。实际做信号完整性分析时最需要先区分的是直流共模电压和输出级结构。这两点决定了你能不能直连也决定了交流耦合之后还需要补什么。1.1 共模电压、摆幅和输出结构的硬指标先列一张常用对比表把LVDS、LVPECL、CML放到一起看参数LVDSLVPECLCML典型电源3.3V / 2.5V3.3V3.3V / 2.5V输出共模电压约1.2V约VCC-1.3V3.3V时为2.0V约VCC-0.2V差分摆幅±350mV还有低幅值版本±400mV ~ ±800mV±400mV左右输出级结构电流源驱动射极跟随器开漏/共射电流开关是否需要外部偏置接收端通常带自偏置输出端必须提供直流电流路径接收端常需上拉/自偏置标准端口阻抗100Ω差分50Ω单端到VCC-2V50Ω单端到VCC这张表里最容易被忽略的是输出级结构。LVDS的驱动器本质是一个3.5mA左右的电流源它在接收端100Ω差分电阻上产生约350mV的差分压降。由于电流源不需要从外部吸取直流电流所以LVDS驱动器只要电源正常输出端即使开路也不影响内部工作点。也就是说LVDS输出端交流耦合之后只要给接收端一个共模环境链路就能正常。LVPECL就完全不一样。它的输出级是射极跟随器这个结构的特点是需要直流电流持续从发射极流出去。如果外部不给它提供一条到地的直流泄放路径输出管就工作在错误的电流区间轻则波形畸变重则输出饱和根本看不到有效信号。所以LVPECL驱动器的输出端几乎必须接电阻到某个低电位最常见的接法是每个输出端通过50Ω电阻接到VCC-2V。1.2 为什么共模不同就不能随便直连假设你想把一片LVPECL时钟芯片的输出直接接到FPGA的LVDS接收引脚。LVPECL输出共模在2.0V左右而FPGA的LVDS bank期望的输入共模是1.2V左右中间差了0.8V。接收器的输入级如果要工作在线性区共模必须落在输入允许范围内。超出范围后输入端偏置网络不再能正确建立工作点接收器会误判或者完全锁不住信号。反向也一样。LVDS输出共模1.2V接到LVPECL接收器如果LVPECL接收器要求输入共模在VCC-1.3V附近这个1.2V可能落在允许范围边缘再加上LVDS的摆幅只有350mV对于输入灵敏度要求较高的LVPECL接收器来说即使能识别噪声裕量也不理想。更严重的是某些LVPECL接收器输入级由内部上拉到VCC你把一个2.5V/3.3V域的设备输出的低共模信号往上怼有可能触发输入保护二极管。所以最稳妥的隔离思路就是把直流共模完全切掉让两边各管各的直流工作点信号只以交流摆动的形式跨过这道“隔直屏障”。这就是差分交流耦合的本质。2. 交流耦合电容的取值逻辑时间常数、最低信号频率与上电恢复的权衡知道了为什么要隔直下一步就是怎么选电容。这里有很多工程师会直接抄参考设计用100nF或者10nF很少想为什么要这个值。但等你遇到低温、低速率、长连续相同位码流时电容选小了就会出低频跌落选大了又会遇到上电恢复时间过长、偶发丢码的问题。2.1 截止频率怎么算别拍脑袋选值拿一颗串联电容和电阻负载看单端等效就是一个高速滤波器。截止频率为f_c 1 / (2π × R × C)这里的R不是单纯接收端的100Ω差分电阻而要从信号源往负载看考虑驱动内阻和接收负载的串联回路。以LVDS为例每根线的源内阻大约50Ω接收端等效到地大约50Ω所以单端回路的R大约是100Ω。如果是LVPECL发送端源端还有到VCC-2V的50Ω电阻情况类似。为了简化工程上经常把R取100Ω来做估算。举个例子100nF电容配100Ω回路电阻f_c ≈ 15.9kHz。这个值对大多数LVDS链路来说已经很低了。但是要注意所谓的“最低频率”不是数据率本身而是码流中最长连续相同位对应的有效基频。比如1Gbps的PRBS7码流最长连续相同位大约7位合成的最低频率约1GHz/14 ≈ 71MHz这个频率远高于15.9kHz所以100nF没问题。但如果是一个1MHz的LVDS时钟周期1μs等效基频1MHz15.9kHz的-3dB点仍然比1MHz低很多所以100nF也够。反过来如果低速I2C或者极少数低速控制信号数据率可能只有几十kHz那100nF的截止频率就太高了会造成沿变缓、幅度下降。此时要加大电容到1μF甚至4.7μF。所以选电容第一个依据是链路里出现过的最低信号频率不是简单地“高速就选小电容”。2.2 时间常数和上电恢复电容不是越大越好。交流耦合的两个要点一是隔直二是瞬态时允许电荷重新分配。串进去的电容越大RC时间常数越大。τ R × C对于100Ω回路电阻、100nF电容τ 10μs按单端简化。上电或者热插拔时电容两端的电压建立需要几个τ才能稳定。如果你用10μF电容τ 1ms。这个时间在一些热插拔协议中是致命的插拔连接器后接收端可能一两毫秒内还在错误共模区间链路会先误码再恢复。更麻烦的是如果接收端没有足够的自偏置电流来给大电容充电电容上建立正常电压可能需要更长时间表现为上电后好一段时间才稳定。所以选电容需要在低频截止和恢复时间之间权衡。我的习惯是只要算出的截止频率比信号最低频率低10倍以上就用尽量小的电容因为恢复时间更短、封装寄生更小。多数LVDS/LVPECL链路0.1μF或0.01μF都是合理选择不太建议上来就放1μF除非确实知道信号频率非常低。2.3 封装、等效串联电感和PCB布局交流耦合电容虽然是“电容”但在高速链路里它同时要承担阻抗连续性的角色。一个0603封装的电容焊盘、走线、过孔凑在一起会产生等效串联电感而这个电感和电容本身会形成一个串联谐振点。对0.1μF的0603电容自谐振通常在几百MHz到1GHz之上对大多数LVDS应用没有问题。但如果数据率已经跑到几Gbps建议用0402封装甚至0201把寄生电感压下去或者用C0G介质的电容。还有一个小细节电容两端如果有直流电位差很多X5R/X7R电容的容值会随直流偏置下降下降幅度可能到50%以上。好在交流耦合电容两端的工作直流压差通常不大但如果你把大偏置电压直接加在电容上实际电容值可能远低于标称值截止频率会往高漂移。对精度敏感的时钟链路可以用C0G介质或者降额选容。PCB布局上差分对的P和N两颗电容要严格等长、对称摆放保证两条支路相位一致。电容下方最好有连续地平面不要跨分割否则回流路径被切断会产生共模噪声和额外EMI。3. 接收端自偏置能力是接线的分水岭LVDS可以不偏LVPECL必须偏交流耦合之后接收端的输入引脚就只剩电容后面那一段悬空的网络不再有来自发送端的直流电平。此时接收端必须自己建立共模电压否则引脚电压会漂移。这里两类电平标准的差异非常大。这一节是全文的关键实际项目里大部分接错都是错在这一步。3.1 LVDS接收器的自偏置网络LVDS接收器无论是FPGA的LVDS bank还是独立的LVDS转CMOS芯片输入端通常都内置了偏置网络把输入引脚钳到一个接近1.2V的电位。你大可以做一个实验只给LVDS接收器供电输入端什么都不接用万用表量某个输入引脚的直流电压很多器件量出来就是1.2V附近。这就是内部自偏置在起作用。因为这个特性LVDS接收端在交流耦合之后不需要你额外搭任何偏置电阻。电容后面那截走线接收器内部会自动把共模拉回1.2V。多数FPGA的HP/HR bank内置100Ω差分终端和可配置偏置选LVDS标准后输入级已经完成了共模建立。你唯一要确保的是如果使用了外部100Ω终端不要在芯片内部终端已经启用的情况下再并一个100Ω否则等效差分阻抗变成50Ω幅度和反射都会出问题。有个细节值得专门说某些LVDS转CMOS芯片的输入等效电路里偏置网络通过一个较大的电阻接到参考电压等效回路电阻可能到几十kΩ。这时如果你外部并了一个很小的偏置电阻到GND或VCC就会破坏内部偏置比例输入共模偏离1.2V反而造成接收失败。所以LVDS接收端没有明确需要就不要画蛇添足。3.2 LVPECL接收器为什么必须见到直流工作点LVPECL的接收端常见输入级是差分对或者电流开关输入管是双极性晶体管或等效结构基极必须有直流偏置电流。你可以把输入引脚想象成一个需要“喝电流”的节点它不能被电容完全悬浮。如果发送端通过交流耦合电容接到LVPECL接收器而接收器又没有内置到VCC-1.3V的偏置电路那么基极节点没有任何直流电流来源电压会悬空被噪声、漏电、耦合过来的微分干扰推着乱跑。即使偶尔有信号摆动冲过来输入对管也不能进入正确工作区接收器会输出不定态。所以对这类LVPECL接收器交流耦合之后必须在电容和芯片引脚之间加一个偏置网络典型做法是两个电阻分压得到约VCC-1.3V再接一个小电容滤除噪声。阻值要远大于差分阻抗避免影响信号幅度。我常用的值是10kΩ到VCC、10kΩ到GND3.3V电源下分压得到1.65V对某些LVPECL输入已经合适如果芯片手册明确要求VCC-1.3V就改成20kΩ到VCC、13kΩ到GND这类比例目标2.0V。3.3 怎么判断一个芯片有没有内置偏置这个问题没法靠经验猜必须动手翻手册。重点看两个地方一是数据手册的输入等效电路有没有画出从引脚到内部参考电压的电阻二是交流耦合推荐电路厂家自己画的参考设计里接收端有没有额外电阻。如果手册里写“AC-coupled application requires bias”之类的话说明没有内置偏置。有些LVPECL接收芯片出厂就内置了100Ω端接和偏置外部可以直接挂电容这种Data Sheet里会明确标注。实在找不到明确信息时还有一个测试方法只给接收芯片供电用万用表测输入引脚的直流电压。如果电压稳定在某个固定值说明有自偏置如果电压乱跳或者接高阻表笔后缓慢变化说明引脚是悬浮的需要外部偏置。4. 典型互连拓扑的端接布置从驱动端到接收端一步一步接理解了直流模型之后接线就好办了。实际互连无非三种场景LVPECL驱动到LVDS接收、LVDS驱动到LVPECL接收以及同标准间带电容隔离的链路。每种场景的端接位置和偏置网络完全不同这里逐个讲。4.1 LVPECL输出端先把直流回路给足LVPECL驱动器是射极跟随器必须给它一条直流电流路径。不管后面接不接交流耦合电容这一步不能省。标准接法是每个输出端通过50Ω电阻接到VCC-2V。比如3.3V供电时VCC-2V 1.3V你可以用一颗电阻到1.3V电源也可以用戴维南等效电阻实现一个电阻到VCC一个电阻到GND并联等效约50Ω分压等效约1.3V。典型值是220Ω到VCC和82Ω到GND并联约60Ω这个已经足够接近50Ω的要求。有些LVPECL芯片或者FPGA特定bank引脚内部已经做了到地的偏置可以省略外部电阻但要看手册别假设。如果漏了这条直流路径LVPECL输出共模会漂移波形顶部被削平。我调试时遇到过一次看起来像信号振铃实际是输出管进入饱和区加了对地电阻后波形立刻恢复正常。4.2 LVPECL到LVDS的交流耦合接法发送端是LVPECL接收端是LVDS这是最舒服的配合因为LVDS接收端自带偏置不需要额外操作。完整链路如下LVPECL输出每个引脚通过50Ω电阻接到VCC-2V确保输出直流工作点正常。在发送端输出引脚之后串接两颗交流耦合电容P和N各一颗容值按最低信号频率估算。接收端LVDS芯片引脚附近跨接100Ω差分电阻如果芯片内部没有启用终端。确保接收端内部自偏置正常不需要额外电阻。从信号完整性的角度看这个拓扑里两个阻抗关键点分别是LVPECL输出端的50Ω单端下拉和LVDS接收端的100Ω差分端接。这两个点不能替换位置。如果你把100Ω差分电阻放在发送端虽然LVPECL驱动看到的是50Ω单端到VCC-2V但接收端没有端接差分信号会在接收端反射到达接收器的波形是行波反射叠加眼图会明显恶化。4.3 LVDS到LVPECL的交流耦合接法这个方向比较麻烦因为LVPECL接收端往往没有LVDS那种全自动自偏置。完整链路LVDS发送端不需要额外偏置按数据手册正常输出即可。串接两颗交流耦合电容P和N各一颗。在电容之后、接收芯片引脚之前跨接100Ω差分终端电阻给差分信号提供交流回路。在同一个网络上加分压偏置电阻把共模拉到接近VCC-1.3V。比如3.3V供电时用两颗10kΩ电阻分压到约1.65V或者按手册要求调到2.0V。偏置节点加旁路电容通常100nF到1μF放在分压电阻的公共端和GND之间。需要注意偏置电阻不能直接影响差分信号。所以偏置电阻阻值必须远大于100Ω否则偏置网络会把差分阻抗拉低。10kΩ级别是安全值因为两个10kΩ对地的等效并联是5kΩ与100Ω相比基本不影响。如果LVPECL接收芯片自带偏置则第4步可以省掉但100Ω端终还是要确认。有些芯片把偏置和端接都做进内部外部只需电容这种电路最简洁前提是手册写清楚。4.4 同标准链路里要不要加交流耦合如果发送端和接收端都是LVDS且两边供电的GND是同一个参考平面PCB距离又不远一般直接直流耦合即可。加交流耦合电容反而引入低频损失和恢复时间问题没有太多收益。只有在以下几个场景里交流耦合才更合理两边地之间存在较大电位差、板卡支持热插拔、链路要跨接不同电源域或者接收端没有自偏置却需要一个不受外部影响的直流电平。LVPECL到LVPECL同理。同标准直连时LVPECL输出端已经有到VCC-2V的直流路径接收端如果内部也有偏置直接连最稳。加上电容后发送端的直流路径和接收端的偏置不能断否则链路还是不能工作。有些工程师把交流耦合当成“万能安全接法”这是误解。5. 从ADS仿真到示波器实测验证链路不能只靠“看起来有波”交流耦合链路看起来简单但坑往往埋在共模建立和瞬态过程中。静态计算只能保证稳态能过真实波形是否满足接收器的输入共模、幅度和时序要求最好在仿真和实测两个层面都验证一遍。我平时做这部分工作用ADS做信号完整性仿真再上示波器确认。5.1 ADS里建交流耦合链路的三个关键点第一要用瞬态仿真不要只做S参数小信号仿真。交流耦合电容对直流是开路S参数仿真默认以直流偏置点为准如果没有额外的偏置网络描述仿真结果可能直接报错或者给出“全反射”的错误结果。瞬态仿真能完整呈现电容充电过程、共模建立过程和稳态波形。第二驱动模型不要太理想。如果手头有IBIS模型尽量用IBIS模型替换理想电压源因为LVPECL的射极跟随器特性在IBIS里能体现得更真实。理想电压源串电容会让人误以为电路很好驱动实际LVPECL输出级对直流负载的依赖在理想源里根本不复现。第三探头的位置要在接收端电容之后紧贴芯片引脚。在ADS的原理图里从发送端看到接收端的网络全是理想节点但在版图寄生参数模型里电容焊盘和引脚走线的寄生电感会影响信号。仿真时把这小段走线以微带线或双层板上50Ω线模型加进去尤其对高速率更有意义。我常用的做法是先用瞬态仿真确认接收端的差分波形幅度、共模电平、眼睛开度再把版图寄生加进去看降级幅度。二者差异超过20%就说明布局有问题需要优化电容位置或走线。5.2 示波器测量的常见失真源实测时最容易踩的坑是用两个普通探头分别测P和N然后靠示波器的相减功能得到“差分波形”。这种接法的问题是两条探头的地线夹会引入不同环路电感共模噪声会转成差模误差测得的结果和真实的差分对信号差得远。正确做法是用差分探头或者用紧贴的信号-GND-Signal三引脚探头。差分探头带宽要高于被测信号的5倍谐波否则高频分量被衰减眼图看起来比实际差。测量接收端引脚时探头尽量靠近芯片引脚甚至直接在引脚上飞线因为长引线会带来额外容性负载改变被测电路工作点。测直流共模时有一个容易忽略的细节示波器通道必须设为直流耦合否则看不到共模建立过程。我实测中遇到过一次交流耦合的LVDS输入引脚电压在芯片内部偏置作用下稳定在1.2V左右但用示波器交流耦合档看只能看到1.2V附近的变化波动以为共模没问题实际完全看不到直流分量这就容易误判。6. 排错记录共模漂移、反射振铃与恢复时间过长的三种故障最后把实测中容易撞上的几种故障现象和排查链路列出来。这些是我从多个项目里总结出来的高频问题希望以后你遇到类似现象时能直接定位不用像我一样从头折腾。6.1 接收端完全没有恢复出波形现象是输入信号有但接收端输出为定态或者乱抖。这时候优先怀疑共模电平。用万用表或示波器直流耦合测接收芯片输入引脚的直流电压如果引脚电平接近GND或者VCC、而不是预期的共模电压说明偏置网络有问题。排查顺序确认发送端直流路径。对LVPECL来说输出引脚对VCC-2V或对地的电阻是否焊上。确认接收端是否有自偏置。没有的话电容之后是否加了分压偏置和旁路电容。确认偏置电阻阻值没有把差分阻抗拉得太低。用示波器直流耦合看引脚电压判断是不是浮空漂移。如果测到引脚电压在缓慢变化或受手靠近影响基本就是悬空缺偏置。6.2 有波形但眼图张不开、振铃明显反射问题。用TDR或者看阶跃响应能确认阻抗不连续点。常见原因有两个一是终端电阻放在发送端而不是接收端二是接收端既有外部终端芯片内部又启用了终端等效阻抗变成50Ω而不是100Ω。检查差分阻抗最直接的方法是看接收端两个引脚之间的等效电阻。断电状态下用万用表量如果是50Ω左右说明内部和外部终端都在如果是100Ω说明只有一路终端。并联两路终端会明显降低接收幅度反射也会在容性负载处产生过冲。6.3 上电后链路要好几毫秒才稳定交流耦合电容过大加上接收端偏置网络给电容充电太慢导致的。排查方法把电容换小一个数量级比如从1μF换成100nF再看恢复时间是否明显缩短。如果链路不支持换小电容就要在设计上考虑用更低的偏置电阻来加快充电但这样会牺牲交流阻抗。还有一个相关技巧如果系统冷启动时要求首包不能丢弃可以在接收端引脚对地并联一个数百kΩ的电阻给电容一个初始放电路径加快共模建立。这个电阻阻值足够大不影响差分信号但能让电荷泄放更快。6.4 额外提醒不要用单颗电容跨在差分线之间我见过一次奇怪的接法工程师为了省一个电容把一颗电容跨接在差分对的两根线之间认为电容能“滤除共模”。实际上差分信号在电容两端是反相的两颗线之间的电位差由信号本身决定如果只跨一颗电容差模信号会被严重衰减共模信号反而被短路到地。正确的交流耦合必须是P和N各串一颗而不是在P和N之间并一颗。这不是参数优化问题是拓扑错误。按我现在的习惯设计交流耦合差分链路时第一步永远先打开接收端手册确认有没有自偏置和内部终端第二步查发送端输出结构的直流电流需求第三步才按最低信号频率算电容值和选封装。顺序一旦反了后面大概率要回板验证时折腾。希望这些经验能帮你少走一圈弯路。
返回列表