在硬件设计中有很多种电容,各种电容的功能、种类和电容容值各不相同。按照功能划分的话,最重要的几种电容分别称为:去耦电容(De-coupling Capacitor),旁路电容(Bypass Capacitor)、Bulk电容以及耦合电容(Coupling Capacitor)。

阅读了一些文献资料之后发现,这些电容的功能之间有差异,也有相似之处。下面的介绍主要是在查阅了大量文献的基础上,经过自己的理解和总结,对各种电容的功能进行整理。因为作者能力有限,如有不妥之处希望各位网友可以批评指正。

数字电路系统中的电源系统

对于数字芯片总希望供电电源的电压是恒定的DC值,不要出现任何的波动。但这是很难做到的,原因有两点。第一点是"热噪声"始终存在,任何电源的输出信号都不可能是恒定不变的,常见的情况如下图中深蓝色线条表示的情况。

图 1

当在电源与GND之间放置了电容之后,电源输出端的情况如图 1中粉红色线条所示,可见电容导致的电压波动明显变缓了。

导致供电电压波动的第二个原因就是负载所需要的电流是不确定的,且动态变化的。特别是当负载是一些可编程处理器时,由于执行的功能随时间的变化而不同,所需要的电流也会随时间不断变化。例如处于低功耗状态下所需要的电流很小,如果同时多个IO引脚进行信号跳变,所需要的电流又会很多。而这些电流全部来自供电电源。所以当供电电源的输出电流有很大波动时很难保持输出电压的平稳,势必会造成短时间的供电电压波动。波动的大小以及何时可以恢复都与电源器件的性能指标有关。

这里有必要说明一下电源供电的波动对于数字电路的影响。如果电源的负载是LED这些简单的外设,供电电压的突然波动不会有太大影响。但如果负载是处理器,那么短时间的电压波动可能会导致瞬时供电电压超出了处理器的specification范围,导致处理器掉电重启(瞬时电压过低)或者瞬时高压对数字芯片造成损害。于是,在数字电路系统设计中,保持供电电压的稳定是非常重要的。

旁路电容

旁路电容(Bypass Capacitor)。电容的一个重要的电器特性是"通交流,隔直流",其电抗的计算公式如下:

旁路电容的作用就是将系统中的高频噪声旁路到GND。一般是在电源引脚和GND之间并联一些容值较小的(典型值0.1uF)电容,如图 2所示,用于将高频噪声短路到GND,从而避免噪声进入器件的供电引脚。

图 2

滤除高频噪声是旁路电容最主要的功能,但是如果考虑一下电容是如何完成这个功能的,或者说电容是如何做到通交流,隔直流的。其实本质也是电容作为一个电能的储能器件,在两极板间电压差很快增大时,给电容充电;电压差减小时,电容放电。从这个角度分析的话,旁路电容也可以看成一种小的电能储存器(Energy Reservoir),与后面介绍的去耦电容和Bulk电容有相似之处。

去耦电容

去耦电容(De-coupling Capacitor),在一些文献中认为去耦电容就是旁路电容。另外一些文献中提出了去耦电容与旁路电容的区别在于:"旁路电容是把输入信号中的干扰作为滤除对象,而去耦电容是把输出信号的干扰作为滤除对象,防止干扰信号返回电源。"

暂时我无法判断哪一种说法更加准确,但既然有提出不同的观点,就介绍一下:

从名称来看去耦就是去除耦合的作用。那么什么是耦合,是什么和什么之间的耦合,以及为什么会发生耦合。

这里的耦合指的是前一级输出与后一级器件输入之间的耦合。所谓的耦合是指"数字电路中,当电路从一个状态转换为另一种状态时,就会在电源线上产生一个很大的尖峰电流,形成瞬变的噪声电压,会影响前级的正常工作。这就是耦合。"在这个理解中,与前面提到的导致供电电源电压波动的第二种原因非常接近,是由于后一级器件拉电流的增大导致电源电压的波动产生从而影响的其他器件。

去耦电容对于解决这种问题的作用就是充当储能电池的作用,满足驱动电路的电流变化,从而避免相互之间的耦合干扰。

综上,去耦电容有两种作用。第一是与旁路电容相似的功能,旁路掉器件输出的高频噪声;第二是充当储能电容,在负载所需电流突然增大时提供电能,满足驱动电路的电流变化。这一点和Bulk电容的功能有非常类似,两者的区别稍后讨论。

Bulk电容

Bulk电容的作用非常明确,就是用于在电源供电负载瞬时需要大电流时,可以为电路提供足够的电流,以保证电源供电电压的稳定,相当于Energy Reservoir。所以Bulk电容一般选择容值较大的极性电解电容,一般与regulator的output引脚并行排列。

Bulk电容的储能作用与去耦电容的储能作用很类似,那么两者的区别是什么呢?两者在这个功能上却是没有本质的区别,但是Bulk电容覆盖的面积更大,往往覆盖的是一片区域,所能储存和提供的能力更多。而去耦电容可以说是用于本地的,每个芯片配有自己的去耦电容。去耦电容相比与bulk电容,储能较少,但是反应速度更快,高频信号引脚旁特别需要放置去耦电容,且距离足够的近。这点是Bulk电容无法做到的,因为Bulk电容体积较大。当这些引脚高速变化时,旁边的去耦电容为其提供足够的能量。

耦合电容

耦合电容(Coupling Capacitor),与去耦电容将高频AC信号阻断相对应,耦合电容用于串联在高速链路的两端,目的是让AC信号通过,阻隔DC信号

旁路、去耦、Bulk以及耦合电容的作用与区别的更多相关文章

  1. 《FPGA全程进阶---实战演练》第三章之PCB设计之去耦电容

    1.关于去耦电容为何需要就近摆放? 大多数资料有提到过,去耦电容就近放置,是从减小回路电感的角度去谈及摆放问题,其实还有一个原则就是去耦半径的问题,如果电容离着芯片位置较远,超过去耦半径,会起不到去耦 ...

  2. MCU晶体旁边电容的作用及振荡电路的分析

    绝大多数的MCU爱好者对MCU晶体两边要接一个22pF附近的电容不理解,因为这个电容有些时候是可以不要的.参考很多书籍,讲解的很少,往往提到最多的是起稳定作用,负载电容之类的话,都不是很深入理论的分析 ...

  3. 关于IC电源管脚去耦电容

    原文地址:https://mp.weixin.qq.com/s/0dAyTpAcQWXlYULqCeKgFA 每个集成电路(IC)都必须使用电容将各电源引脚连接到器件上的地,原因有二:防止噪声影响其本 ...

  4. Spring,SpringMVC,MyBatis,Hibernate,Servlet的生命周期,jsp有哪些内置对象,Tomcat,Cookie和Session的作用以及区别,oracle,MYSQL等面试题总结

    1. 什么是Spring,谈谈你对Spring的理解 Spring是我们JAVA开发人员在搭建后台时选用的一个轻量级的开源框架,Spring框架目前也是功能丰富,十分优秀企业级采用最多的一个框架. S ...

  5. (转)从一道面试题彻底搞懂hashCode与equals的作用与区别及应当注意的细节

    背景:学习java的基础知识,每次回顾,总会有不同的认识.该文系转载 最近去面试了几家公司,被问到hashCode的作用,虽然回答出来了,但是自己还是对hashCode和equals的作用一知半解的, ...

  6. Model、ModelMap、ModelAndView的作用及区别

    Model.ModelMap.ModelAndView的作用及区别 对于MVC框架,控制器controller执行业务逻辑 用于产生模型数据Model 视图view用来渲染模型数据 Model和Mod ...

  7. 基于Java的打包jar、war、ear包的作用与区别详解

      本篇文章,小编为大家介绍,基于Java的打包jar.war.ear包的作用与区别详解.需要的朋友参考下   以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.cla ...

  8. ubuntu sudo update与upgrade的作用及区别

    ubuntu sudo update与upgrade的作用及区别 入门linux的同志,刚开始最迫切想知道的,大概一个是中文输入法,另一个就是怎么安装软件.本文主要讲一下LINUX安装软件方面的特点. ...

  9. BeanFactory和ApplicationContext的作用和区别

    BeanFactory和ApplicationContext的作用和区别 作用: 1. BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责be ...

随机推荐

  1. Android : 高通平台Camera调试之SetpropKey/camxoverridesettings.txt

    高通相关网址:Createpoint: https://createpoint.qti.qualcomm.com(可下载文档,Release Note等)Chipcode: https://chipc ...

  2. 阻塞队列 - java基于链表的简单实现

    1.阻塞队列的原理 阻塞队列与普通队列的区别在于:阻塞队列为空时,从队列中获取元素的操作将会被阻塞,当队列为满时,往队列里添加元素的操作会被阻塞. 试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其 ...

  3. bean shell 中parameter传递参数的方法

    1.在csv set data config中添加用到的数据文件,并进行配置 2.在这一栏中,可以引入数据文件中的数据,用法如下${变量名},多个变量用空格隔开.在脚本中进行引用时,采用bsh.arg ...

  4. JAVA 平时作业一

    public class Print { public static void main (String arg[]) { for(int i=0;i<16;i++) { for(int j=0 ...

  5. 利用svn的补丁文件打包生成增量文件

    下面的代码是maven版本 1. 创建patch.txt增量文件 保存到 文件目录下 比如 E:\aa\patch.txt 2. 编写java代码 package utils; import java ...

  6. win10安装java

    java安装还比较顺利,贴两篇亲测可行的教程 1.开发环境安装:https://www.cnblogs.com/shirley-0021/p/8510051.html 2.开发工具安装(Eclipse ...

  7. sdl2在vs2012上的配置

    网上关于sdl2的配置教程很多,我尽量将我遇到的问题分享给大家. 首先,打开VS2012: 2.点击新建项目:选择空项目,确定即可 (文件名,保存位置,解决方案名称,可以随便填,(我取名为sdlpla ...

  8. [RESTful] 项目设计实践

    有以下的项目需求 用户登录.注册 文章发表.编辑.管理.列表 一.资源路径 /users./articles 二.HTTP动词 GET.POST.DELETE.PUT 三.过滤信息 文章的分页筛选 四 ...

  9. gulp的使用(二)之gulpfile.js文件的配置

    Gulpfile.js是什么文件: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她, ...

  10. 将img设置成div背景图片

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...