一.过冲

        过冲是振铃的一部分,信号电平发生跳变后,第一个峰值电压或谷值电压超过设定的标准电压,主要表现为一个尖端脉冲。

        一般描述过冲的影响,主要考虑:过冲的最大幅值、过冲的持续时间、过冲的发生频率这三个要素。

1.产生原因:

  • 阻抗不匹配引起信号反射
  • 驱动能力过强
  • 信号串扰

阻抗不匹配:

什么是阻抗?

        在具有电阻、电感和电容的电路里,对电路中的电流所起的阻碍作用叫作阻抗。阻抗常用Z表示,是一个复数,实部称为电阻,虚部称为电抗,其中电容电路中对交流电所起的阻碍作用称为容抗 ,电感在电路中对交流电所起的阻碍作用称为感抗,电容和电感在电路中对交流电引起的阻碍作用总称为电抗。 阻抗的单位是欧姆。阻抗的概念不仅存在于电路中,在力学的振动系统中也有涉及。 

什么是阻抗匹配?

阻抗匹配是指信号源或者传输线跟负载之间的一种合适的搭配方式,分低频和高频两种情况讨论。

从直流电路/纯电阻的低频/高频电路入手:

        如下图所示:假定激励源已定,那么负载的功率由两者的阻抗匹配度决定。对于一个理想化的纯电阻电路或者低频电路,由电感、电容引起的电抗值基本可以忽略,此时电路的阻抗来源主要为电阻。如图2所示,电路中电流I=U/(r+R),负载功率P=I*I*R。由以上两个方程可得当R=r时P取得最大值,Pmax=U*U/(4*r)。

        当交流电路中含有容性或感性阻抗时,结论有所改变,就是需要信号源与负载阻抗的的实部相等,虚部互为相反数,这叫作共扼匹配。

低频:

        在低频电路中,一般不考虑传输线的匹配问题,只考虑信号源跟负载之间的情况,因为低频信号的波长相对于传输线来说很长,传输线可以看成是“短线”,反射可以不考虑(可以这么理解:因为线短,即使反射回来,跟原信号还是一样的)。

          阻抗匹配分为低频和高频两种情况讨论。当传输线的物理长度(L)接近信号波长(λ)的 1/10 或 1/20 时,就必须考虑传输线效应和阻抗匹配。

        一般区分高频和低频的关键不是信号的绝对频率,而是信号的边沿速率(Rise Time/Fall Time) 以及其与传输线电气长度的关系。

以手机为例子:

信号类型 典型代表 是否需要阻抗匹配 主要原因
射频信号 5G, Wi-Fi, Bluetooth, GPS 天线馈线 必须 频率极高,波长极短,任何不匹配都会导致严重反射和功率损耗。
高速串行接口 MIPI, PCIe, USB 3.x, LPDDR 数据/时钟线 必须 数据速率极高(Gbps),边沿速率极快(ps级),传输线效应显著。
高速时钟 高速总线参考时钟 必须 边沿陡峭,容易产生振铃和 overshoot。
电源网络 VDD_CPU, VDD_MEM 等 不需要 直流/低频,重点是载流能力和电源完整性(去耦)。
模拟音频 耳机输出,麦克风输入 不需要 频率很低,波长很长,重点是抗干扰和屏蔽。
低速控制/调试接口 I2C, SPI, UART, GPIO, 中断线 通常不需要 边沿速率慢,传输延时相对可以忽略。但长电缆连接时可能需要考虑。

博主是做传感器的,传感器一般就不用考虑,哈哈哈哈。

高频:

        在高频电路中,还必须考虑反射的问题。当信号的频率很高时,则信号的波长就很短,当波长短得跟传输线长度可以比拟时,反射信号叠加在原信号上将会改变原信号的形状。如果传输线的特征阻抗跟负载阻抗不相等(即不匹配)时,在负载端就会产生反射。

什么是特征阻抗?

        特性阻抗是均匀传输线上各点的电压与电流的比值。特性阻抗与传输线的物理结构有关,主要受介电常数、传输线到参考层的距离、线宽、线厚以及线间距影响。

为什么不匹配会发生反射?

        如下图所示,设区域1阻抗为Z1,区域2阻抗为Z2,信号经过两个阻抗不同的区域,在交界处处,电压和电流不能产生突变(若电压不连续,将产生无穷大的电场;若电流不连续,将产生无穷大的磁场)。

        若Z1 ≠ Z2,则关系式 V1 =I1 ×Z1 ; V2 =I2 ×Z2 无法同时满足电压和电流连续的条件V1 = V2,I1 = I2 ,故只能从电磁波反射的角度进行分析,如下所示。

分界面两侧的电压相等,有 Vinc + Vref = Vtra ;

分界面两侧的电流相等,有Iinc - Iref = Itra ;

再有 Iinc × Z1 = Vinc ;Iref × Z1 = Vref ;Itra × Z1 = Vtra ;

由以上5个等式可以推导得出:

举个例子:

        设传输线阻抗Rz=30Ω,源端串接的匹配电阻Rs=10Ω,则传输线左端A点反射系数为 (10 - 30)/(10 + 30) = -0.5,右端B点反射系数为 (+∞ - 30)/(+∞ + 30) = 1。

        设初始状态都为低电平0.0V,T0时刻源端跳变为3.3V,发送逻辑高电平信号,末端B点的电压变化如下。

        在理想情况(无损传输)下,信号会在传输线A、B两端无休止的反射振荡,反射电压的幅值越来越趋近于0,在实际中信号在传输过程中有衰减,最终趋于稳态。

通过改变源端匹配电阻 Rs 的阻值,得到如下一部分模拟数据:

        可以发现,当源端电阻小于传输线电阻时,信号变化比较快(上升时间较短),但是会伴随着过冲的产生,影响信号的完整性;

        当源端电阻大于传输线电阻时,信号上升相对比较平缓,能有效解决过冲问题,但是增大了上升时间,限制了信号的传输速度;

驱动能力过强:

        如上文所述,为什么传感器通信线路通常是低频的,没有这种反射问题,还会有过冲、振铃这些问题?  

类比:开跑车撞墙

        想象一下,你开着一辆动力极强的跑车(强驱动源),以极高的速度冲向一堵坚固的墙(负载电容,尤其是容性负载)。

  1. 猛踩油门(强驱动):引擎瞬间输出巨大马力(提供极大的瞬间电流 I = C * dV/dt),让车飞速前进(电压快速上升)。

  2. 撞墙瞬间(电压达到目标值):车的速度(电压)已经达到甚至超过了你的目标值,但由于巨大的动量(惯性),它根本无法瞬间停下。

  3. 结果:车头会严重撞瘪(过冲,Overshoot),整个车身可能会弹回来甚至晃动几下(振铃,Ringing),最后才瘫停下来。

从电路角度深入解释

  1. 负载的“惯性”:电容
    电路中最大的“惯性”来源就是电容。无论是寄生的PCB走线电容,还是接收端芯片的输入电容,它们都遵循一个物理定律:电容两端的电压不能突变。给电容充电需要时间和能量。

  2. 驱动源的“力量”:输出阻抗
    “驱动能力强”的输出级(比如CMOS数字输出),意味着它的输出阻抗(Rout)非常低

    • 你可以把它想象成一个内阻极小的、功率巨大的电压源,它能提供非常大的电流。

  3. 冲突的发生

    • 当信号需要从低电平跳变到高电平时,强驱动源以其极低的输出阻抗,极快地“泵出”巨大的电流,试图给负载电容充电。

    • 由于电流极大 (I 很大),根据充电公式 dV/dt = I / C,电压的变化率 dV/dt 极大,导致电压上升沿非常陡峭。

    • 当电压快速达到目标值(比如3.3V)时,负载电容由于“电压惯性”,会继续吸收电流,试图让电压继续升高。

    • 强大的驱动源此时依然在全力输出,因为它要维持这个电压值。于是,电压会冲过目标值,这就是过冲(Overshoot)

  4. 振铃的由来:LC谐振

    • 电路中的寄生电感(L)(来自走线、引脚等)和负载电容(C) 形成了一个LC谐振电路

    • 过冲的那部分能量(动能)并没有消失,而是被储存到了电感的磁场中。

    • 随后,电感会释放能量,反过来给电容放电,导致电压下降。

    • 然后电容又给电感充电,如此往复,能量在电感和电容之间来回交换,就形成了振铃(Ringing)

    • 由于电路中总存在一些电阻,这个振荡会逐渐衰减,最终稳定在目标电压。

信号串扰:

       串扰导致过冲的原理与之前讲的直接驱动过冲不同,它是一种 “偷袭”机制。

       串扰主要分为两类:容性串扰 和 感性串扰。它们都能导致受害网络(Victim Net)出现意外的过冲。寄生参数参考:寄生电容、寄生电感

容性串扰(电场耦合):

        两根相邻的走线之间会形成寄生电容(Cm)。当 aggressor(攻击网络)上的信号快速跳变时(dV/dt 很大),变化的电场会通过这个寄生电容 “注入”电流 到 victim(受害网络)上。

   如何导致过冲:

  • 如果 victim 网络是一条传输线(例如一端是驱动源,另一端是高阻输入),这条线有特征阻抗 Z0。注入的电流会在 victim 线上向两端传播,形成串扰脉冲

  • 如果这个脉冲传播到远端的高阻输入端(开路),会发生全反射,反射电压与入射电压叠加,很容易形成一个超过电源电压的过冲脉冲

  • 即使 victim 不是传输线,注入的电流也会在 victim 的负载上产生一个意外的电压毛刺,如果这个毛刺的峰值超过了稳态电平,就表现为过冲。

感性串扰(磁场耦合):

        两根相邻的走线的电流回路会形成相互耦合的寄生电感(Lm)。当 aggressor 上的电流快速变化时(dI/dt 很大),变化的磁场会在 victim 网络上 “感应”出电压

    如何导致过冲:

  • 根据法拉第电磁感应定律,感应电压 

  • 如果 aggressor 的信号边沿非常陡峭(dI/dt 极大),感应出的电压会非常高。

  • 这个感应电压会直接叠加在 victim 网络原有的信号上。如果 victim 原本是稳定的高电平,一个正的感应电压会使其超过原有的高电平,形成过冲。如果 victim 是低电平,一个负的感应电压会使其下冲(Undershoot)

2.消除过冲方法:

       1.调整驱动强度(最应该优先尝试的方法)

        这是最有效且通常成本最低的方法。如果振铃源于驱动源过于“强大”,那么把它变得“温和”一些即可。

  • 是什么:很多现代的数字芯片(MCU、FPGA、传感器、驱动器)的GPIO或输出引脚都支持可配置的驱动强度(Drive Strength) 或 ** slew rate(压摆率控制)**。

  • 怎么做:通过芯片的配置寄存器或软件,将输出引脚的驱动强度从 最强 调低为 中等 或 。或者,如果支持,降低信号的压摆率(让边沿变得平缓一些)。

  • 为什么有效:降低驱动强度相当于增加了驱动源的输出阻抗(Rout)。这增加了RLC电路的阻尼系数,有效抑制了由寄生电感和负载电容引起的谐振。更平缓的边沿意味着更少的谐波分量,从而从源头避免了激发谐振。

        2. 添加并联电容(RC低通滤波效应)(常用)

        如果无法在驱动端串联电阻,可以尝试在接收端并联一个电容到地。

  • 是什么:在接收端(振铃信号的目的地)的输入引脚处,添加一个小的并联电容(Cshunt),例如 10pF 到 100pF。

  • 怎么做:找到接收芯片的输入引脚,将一个小电容的一端连接到此信号线,另一端连接到良好的地。

  • 为什么有效

    1. 低通滤波:它和走线的特征阻抗(或驱动源的输出阻抗)形成了一个RC低通滤波器,可以滤掉导致振铃的高频噪声分量。

    2. 改变谐振点:它增加了总的负载电容(CL),从而改变了RLC电路的谐振频率 ,虽然更大的电容可能会让上升沿略微变缓,但它通常会显著降低谐振电路的Q值(品质因数),从而有效地抑制振铃的幅度。

  • 注意:这会增加负载,可能使上升/下降沿变慢,需要评估是否满足时序要求。

        3. 使用磁珠(Ferrite Bead)

        磁珠在高频下表现为一个电阻,在低频下电感很小,不影响信号。

  • 是什么:选择一个在振铃频率附近有高阻抗的磁珠,将其串联到信号路径中。

  • 怎么做:将磁珠串联在驱动端和走线之间,或者接收端之前。

  • 为什么有效:磁珠在特定的谐振频率点会呈现高阻抗,像是一个频率选择性的电阻,可以有效地吸收该频率的能量(即振铃能量),而对直流和低频信号阻抗很小,影响不大。

  • 注意:这本质上是一种频率敏感的“串联电阻”,需要仔细选型。

        4. 调整电源完整性

        有时振铃并非来自信号路径本身,而是通过电源网络耦合过来的。

  • 是什么:检查驱动芯片和接收芯片的电源引脚是否得到了充分的去耦。

  • 怎么做:在尽可能靠近驱动芯片和接收芯片电源引脚的地方,添加不同容值的去耦电容(例如100nF + 10uF),以确保电源阻抗在很宽的频率范围内都很低。

  • 为什么有效:一个不干净的电源会导致输出信号不稳定。改善电源完整性可以从源头减少信号的噪声,有时能间接改善振铃。

        5. 最后的手段:软件/逻辑层面补偿

        如果所有硬件手段都无效,且振铃已经导致系统误操作,可以考虑软件方式。

  • 是什么:在读取信号时,增加一段延迟(De-bounce)或采样等待时间

  • 怎么做:在信号跳变后,等待振铃完全平息(例如等待几百纳秒到微秒)再去读取接收端的状态。

  • 为什么有效:这回避了问题而不是解决它,但作为一种补救措施,它可以保证系统的功能正常。缺点是会降低系统响应速度。

二.回沟(待续)

        与过冲类似,只不过是出现的时机,一个是在高低电平上,一个是在上升/下降沿。

三.纹波(待续)

        纹波是由于直流稳定电源的电压波动而造成的一种现象,因为直流稳定电源一般是由交流电源经整流稳压等环节而形成的,这就不可避免地在直流稳定量中多少带有一些交流成分,这种叠加在直流稳定量上的交流分量就称之为纹波。

        下图中间这种才能称为纹波:

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐