去耦电容的基本知识
去耦电容的基本知识
如何稳定数字电路的供电电压?为什么说大部分网上的建议都不太靠谱?本文将理论结合实际,介绍去耦电容的使用方法。
二十年前,要制造一台便携式音乐播放器,你必须把几百个电子元件拼凑在一起。如今,只需一个芯片和十几个无源元件就能实现同样的功能。甚至还能免费获得 Wi-Fi 和蓝牙功能。 去耦电容是少数几种在集成化程度不断提高的情况下依然存在并发挥重要作用的分立元件之一。这不仅仅是因为这种电容很难在集成电路的芯片上制造;在高速数据传输和低供电电压的世界里,去耦电容在保持电路正常运行方面发挥着越来越重要的作用。
在业余爱好者中,对去耦电容的理解仍然是一知半解。有些人完全跳过了去耦电容,但设备仍然能够工作,他们还能和你分享他们的经验;有些人则遵循着来历不明的古老传说,结果做出了一些糟糕的设计:
在本文中,我希望对去耦电容器在数字电路中的实际作用作一些说明,并且提供关于如何将去耦电容融入到设计中而不过度使用的建议。
去耦电容到底有什么作用?
在稳态时,一个典型的 CMOS 集成电路需要的功率非常小。芯片的能耗主要与状态转换有关,即在 “0” 和 “1” 之间切换。这是因为状态转换需要在芯片内部的场效应晶体管的栅极之间来回移动电子,以完成充电或放电。 有些内部状态转换只需要相对较小的电流,但其他一些则需要更多的电流,比如需要驱动输出的较大晶体管的动作。为了以兆赫兹的速度切换晶体管(快速上升和下降时间),芯片必须在短时间内提供相当大的电流。在典型的微控制器中,转换时间通常不超过几纳秒,但可能需要数百毫安的电流。
这就带来了挑战。在快速变化的大电流下,PCB 走线会表现出电阻损耗和不可忽视的感抗。电源不完美的需求响应特性也会造成影响。最终,即使是看似微不足道的数字切换也可能在整个电路中引起显著的电压波动和电气噪声。
下面的示波器图显示了常用的 ATmega MCU 反复切换几个未连接的输出引脚所产生的影响。MCU 时钟速度为 8 MHz;方波上升时间约为 5 ns:
一个简单 MCU 应用观察到的电源电压噪声
在 MCU 电源引脚上采样到的噪声峰峰值振幅接近 2 伏,约为标称电源电压的 40%。这本身就足以破坏 MCU 的稳定性。如此大的噪声幅度本身就有可能使 MCU 变得不稳定,因为芯片不再有与其他电路共享的稳定 Vdd(电源电压)和 GND(地)参考电平。这使得将其与其他设备进行接口连接变得很困难。虽然这种情况不是一定会出现故障,但很可能会出现莫名其妙的问题,且很难 debug。
这就引出了去耦电容器的作用:去耦电容被放置在电源与地之间,并且要尽可能地靠近产生噪声的芯片引脚。其主要目的是稳定电源电压,快速响应瞬态电流。
为此,电容必须具有较低的 ESR 等效串联电阻(即能够快速充放电)。因此,应当使用多层陶瓷电容 (MLCC) 而不是相对较慢的电解电容。但最重要的是,为了有效工作,电容必须尽可能靠近芯片的电源引脚。下面是一款噪声较小的 8 位 MCU 实测结果:
电容距离对 AVR Dx MCU 开关噪声的影响
理论上可以从RC(电阻-电容)或LC(电感-电容)低通滤波器的角度来分析去耦电容的设置,考虑其与上游和下游阻抗共同形成的滤波效果。然而,这种分析方式存在困难,因为实际电路中上游和下游的阻抗参数很难准确估算,所以很难精确地按照这种理论分析来设计去耦电容的配置。
在实际应用中,更多是依据一些经验法则来进行去耦电容的选择和布置。
基本去耦电容配置:对于常见的 PIC、AVR 或中档的 ARM MCU,通常每个供电域放置一个 100 nF 到 1 µF 的 MLCC,且电容的工作电压要低于其最大额定电压,这样一般就足以应对这些 MCU 内部的开关电流了。
根据负载情况增加“大容量”电容:如果 MCU 需要驱动较大的负载,那么仅靠上述的基本去耦电容可能不够,还需要增加额外的“大容量”电容。具体实现方式有以下几种:
使用单个较大容量的MLCC:比如选用一个10 µF 的 MLCC,它能够在较大负载情况下提供更多的电荷储备,以满足 MCU 在驱动负载时瞬间的电流需求,进一步稳定供电。
多个较小容量 MLCC 并联:将几个小容量(如100 nF左右)的 MLCC 并联在一起。这样做的好处是可以增加总的电容容量,同时也能在一定程度上降低等效串联电阻(ESR),提高电容的充放电速度和滤波效果,更好地应对快速变化的电流需求。
小容量 MLCC 与大容量铝聚合物电容组合:采用一个小容量(如100 nF)快速响应的 MLCC,再搭配一个较大容量(10 - 100 µF)但响应速度相对较慢的铝聚合物电容。在这种配置中,小容量的MLCC可以快速响应高频噪声和瞬态电流变化,而大容量的铝聚合物电容则主要负责提供较大的电荷储备,用于应对持续时间较长的电流需求。而且在这种情况下,大容量的铝聚合物电容可以放置在离 MCU 稍远一些的位置,因为小容量的MLCC已经能够在靠近微控制器的地方快速提供所需的电流,从而保证了整个电路的稳定供电。
一个电容就够了吗?
一个精心选择的去耦电容可以大大降低开关噪声,但该元件的容量有限,且阻抗不为零。电容的阻抗不仅在直流方向增加,而且在非常高频的方向也会增加;这是因为器件内部的导电表面积相当大,形成了一个小电感,限制了电容的响应速度。最终结果是,典型的 MLCC 无法在超过 100 MHz 左右的(正弦波)频率下提供大电流。
换一句话说,一些衰减的高频噪声将不可避免地通过。虽然增加额外的电容可以提供一些适度的改善,但这种策略的收益会越来越低。
在敏感电路中,通过在电源和去耦电容之前串联一个小磁珠,可以进一步缓解高频噪声的问题。电感为直流信号提供了一个低阻抗路径(几毫欧),同时比接地的并联电容更好地抑制兆赫范围内的交流信号:通常在 1 GHz 或更高频率下表现良好。但此时寄生效应将再次产生影响。
以下示例来自 SAM S70 MCU 的规格书,建议在 USB 收发器和锁相环 (PLL) 时钟倍增器的电源线上使用两个阻抗为 470 Ω、频率为 100 MHz 的磁珠:
MCU 供电线路上的噪声过滤磁珠
结合去耦电容,效果非常明显:
铁氧磁珠对噪音的抑制作用
尽管如此,必须强调的是,铁氧体磁珠(ferrite bead)并不能消除噪声,它只是将噪声控制在其产生的一侧。铁氧体磁珠可以保护模拟电路免受数字开关信号的干扰,也可以保护 MCU 免受来自其他地方的噪声干扰。在任何情况下,铁氧体磁珠之后都必须有一个去耦电容,以便为下游电路提供一个稳定的电源储备。同时,在电源侧(上游)放置一个电容也是明智的,这样可以进一步提高电路的稳定性。
在 MCU 输出线路上放置小型铁氧体磁珠,可以减缓快速上升的方波信号的边缘,从而减少不必要的电流和意外的射频辐射。这对于运行速度较慢的总线(如 I²C 或 SPI)尤其有用。在某些情况下,如果手头没有铁氧体磁珠,也可以使用小电阻来代替,但它们的性能通常不如铁氧体磁珠。
除此以外,大多数其他噪声抑制技术都与 PCB 设计相关。例如,让敏感的模拟电路与数字信号保持一定距离是一种良好的 PCB 布局策略;在高速数据线下方紧贴一个不间断的接地平面也是一种很好的策略,这样可以避免形成大电流环路,将宽带噪声辐射到开放空间。
如果制造商说...
某些数字芯片的数据手册会列出建议的去耦方法。这些建议不应被忽视,但也不能完全奉为圭臬。制造商在给出建议时,会试图涵盖各种极端情况,包括:
电路在最低允许工作电压下运行。
设备以最大支持时钟速度运行。
芯片上外设达到最大利用率。
客户使用最差的去耦电容(例如“Y5V”型号,在高温或接近电容最大电压下工作时,会损失约80%的额定电容)。
此外,制造商还对客户的设计偏好做出了假设。典型的 100 nF MLCC 单价约为 0.005 美元;相比之下,10 µF 铝聚合物电容器的单价约为 0.25 美元。做机器人组装的客户可能会倾向于使用多个电容,而不是一个电容搭配一个聚合物电容。手工焊接的爱好者可能不会这样选择。
与其盲目遵循规范(这种做法仍不能保证成功),不如从以下三个方面验证设计:
检查电路在正常工作条件下的电源噪声:如果电源噪声的峰值超过了数字元件的最大允许电源纹波、最小电源电压或最大电源电压,或者开关噪声传播到了敏感的模拟电路,那么你应该改进设计。
确认高速输出总线信号是否正确:如果与项目相关,要确认任何高速输出总线(例如USB)上的信号是否正确,特别是在预期的上升和下降时间、噪声和任何周期性故障方面。示波器的“眼图”可以帮助进行这项检查。
降低 IC 电源电压进行测试:作为最终测试,将IC的电源电压降低10-20%。如果数字电路仍能正常工作,那么你可能在应对开关噪声方面有很好的安全裕度。
"1 nF / 10 nF / 100 nF" 规则是什么?
有这么一种古老的说法:为了达到最佳的去耦效果,您必须将至少三个电容组合在一起,它们的容值相差一个或两个数量级(即相差10倍或100倍)。虽然电容值的选择因人而异,但底线是,如果不注意这个警告,等待你的将是可怕的后果
这种建议在早期有一定合理性,因为当时不同容量的电容通常是用不同的技术制造的。最小容量的电容是陶瓷电容,它具有低阻抗,但容量较小,不足以平滑持续时间较长的电流波动;中间容量的电容可能是钽电容,性能较为平衡,但在任何方面都不突出;最大的电容是铝电解电容,高频响应较差,但能够存储较多的电能。
如今,低成本的多层陶瓷电容(MLCC)在很宽的频率范围内都能提供高容量和低阻抗,因此对于大多数“业余”速度的电路来说,使用这种组合电容的方法通常没有什么额外的好处。一般来说,每个功能不同的数字电压供电线上使用一个100nF或1μF的MLCC就足够了。
诚然,在非常高频的情况下,比如几百兆赫兹,电容的残余电感会成为限制因素。在这种情况下,组合使用多个不同类型的电容可能会在一定程度上提供更好的宽带噪声抑制效果,但这可能会导致系统中出现一些不期望的反谐振峰(使系统在处理某些特定频率时变得无效)。相比之下,使用专门的低电感(“低 ESL”)MLCC是一种更简单且副作用更少的解决方案。
PCB Layout 的影响
如前文所述,去耦电容应尽可能靠近集成电路,因为过长的走线会因电阻和电感而阻碍电容发挥作用。一般来说,应尽量将距离控制在1-2厘米以内。
另一方面,最好不要迷信互联网上的奇谈怪论。有一种说法是,左边的布局比右边的好得多。
将电容的位置摆放。
据说,在第一种布局中,电压尖峰首先到达电容,使其在噪声 “溢出” 到电源线之前起作用。而在第二种布局中,电容应该是到达得太晚了。不要误解我的意思:在 PCB 设计中,有时需要考虑信号的传播速度。但在如此微小的距离内,这并不重要,除非您处理的是几个 GHz 的信号,但在这个频率范围内,标准的 MLCC 并不能提供什么帮助。