透彻详解(3)旁路电容100nF_0.1uF的由来计算
前一节我们已经详细解释了旁路电容在数字电路系统中所起的基本且重要作用,即储能与为高频噪声电流提供低阻抗路径,尽管还并未给旁路电容的这些功能概括一个“高大上”的名字,然而旁路电容所起的终极作用就是为了电源完整性(Power Integrity, PI),它与信号完整性(Signal Integrity, SI)均为高速数字PCB设计中的重要组成部分,后续有机会我们将会进行详细讲解。
事实上,旁路电容的这两个基本功能在某种意义上来讲是完全统一的:你可以认为旁路电容的储能为高频开关切换(充电)提供瞬间电荷,从而避免开关产生的高频噪声向距离芯片更远的方向扩散,因为开关切换需要的能量已经在靠近芯片的旁路电容中获取到了,你也可以认为旁路电容提供了高频噪声电流的低阻抗路径,从而避免了高频开关时需要向更远的电源索取瞬间电荷能量。
有一定经验的工程师都会发现:旁路电容的容值大多数为0.1uF(100nF),这也是数字电路中最常见的,如下图所示为FPGA芯片的旁路电容:
那这个值是怎么来的呢?这一节我们就来讨论一下这个问题。
前面已经提到过,实际的电容器都有自谐振频率,考虑到这个因素,作为数字电路旁路电容的容量一般不超过 1uF,当然,容量太小也不行,因为储存的电荷无法满足开关切换时瞬间要求的电荷,那旁路电容的容量到底应该至少需要多大呢?我们用最简单的反相器逻辑芯片(74HC04)实例计算一下就知道了。
实际芯片的每个逻辑门基本结构如下图所示(以下均来自Philips 74HC04数据手册)
而每个CMOS反相器的基本结构如下图所示(具体参考文章【逻辑门(1)】):
每个逻辑非门(Gate)由三个反相器串联组成,如下图所示(芯片为什么会这样设计可参考文章“逻辑门”):
上图中,CI表示芯片信号引脚的输入电容(Input capacitance),CL表示输出负载电容(Output Load capacitance)。对于每一级反相器,后一级反相器的输入电容CI即作为前一级开关的输出负载电容,当然,反相器开关本身也会有一定的输出寄生电容,它们也包含在CL内,一个逻辑非门(包含三个反相器)的所有等效负载电容就是内部逻辑阵列开关在切换时需要向电源VDD索取能量的来源(换言之,开关切换时需要对这个等效负载电容进行充放电操作),这个逻辑阵列开关等效电容在数据手册中通常用CPD(power dissipation capacitance per gate)表示,如下图所示 :
注意:在这个数据手册中,CPD是一个逻辑非门(Per Gate)的开关等效电容。
在74HC04芯片中,CPD就相当于是CL1、CL2、CL3的等效电容(不一定是简单的相加),而CL4取决于芯片外接负载,因此,我们也可以将电路等效如下图所示:
有人问:这个公式怎么来的?权威么?我书读得少,不要骗我!数据手册中有呀,如下图所示:
上图中的公式分成了两个部分,但结构是一模一样的,前面一部分与我们给出的公式是相同的,表示芯片内部逻辑阵列开关等效负载电容CPD的功耗,而后一部分与芯片外接负载CL有关(也称之为等效IO开关电容),输出引脚IO连接有多少个负载,就将相应负载电容CL的功耗全部计算起来,如下图所示:
有人问:输入电容CI就不计算进去吗?乖乖,对于芯片输出引脚连接的负载而言,负载的输入电容CI就是引脚的等效负载电容CL呀,输出负载连接(并联)越多,则等效负载电容CL就越大,消耗的功率也就越大,如下图所示:
一般而言,CL(CI)值是总是相对容易找到的,数据手册中通常都会有,因为输出连接什么负载你肯定是知道的,但CPD却不一定在数据手册能查得到,因此,我们在计算芯片的功耗时可能会分为芯片内与芯片外两个部分。
最基础的数据计算方法我们已经知道了,有两种方法可以估算旁路电容的最小容量:
第一种计算方法思路:逻辑阵列开关等效电容(CPD)需要获取足够的电荷能量,那芯片的旁路电容的容量必定不能比芯片总CPD更小,通常旁路电容的容量比芯片总CPD大25~100倍,我们称其为旁路电容倍乘系数(bypass capacitor multiplier,这里取个中间数50),由于74HC04包含六个逻辑非门,从数据手册上也可以查到CPD约为21pF,因此,芯片总CPD应为21pF×6=126pF,再考虑到50倍的旁路电容系数,旁路电容的容量必须要大于126pF×50=6.3nF。
以上计算的是芯片输出未连接负载的情况,假设反相器后面并接了10个逻辑非门(CMOS门电路的扇出系数一般为20~25),则此时等效电路如下图所示:
对于门1 来说,此时芯片的输出负载电容CL=10×CI=10×7pF=70pF,对于整个系统而言,这个CL也可以算是门1的逻辑阵列开关等效电容,因为从图上可以看出,它消耗的是门1的电源能量(而不是门2~门11),这样根据上述同样的算法,门1外接旁路电容的容量至少应为(21pF+70pF)×50=4.55nF,当然,这只是一个逻辑非门的计算结果,如果芯片中其它5个非门也是同样的负载连接,则需要的旁路电容容量至少应为4.55nF×6=27.3nF,在考虑到电路设计裕量情况下,我们可以直接选择100nF的旁路电容。
那功耗PD计算的意义在哪里?前面我们是走了狗屎运,芯片够简单,所以数据手册里提供了CPD的具体值,但更多的应用场合下是没有办法直接获取这个值的,我们看看更大规模集成芯片的情况。
透彻详解(3)旁路电容100nF_0.1uF的由来计算的更多相关文章
- 旁路电容的PCB布局布线透彻详解(4)
原文地址点击这里: 前面使用了较多的篇幅介绍旁路电容的工作原理及其选择依据,我们已经能够为电路系统中相应的数字集成芯片选择合适的旁路电容,在实际应用过程中,旁路电容的PCB布局布线也会影响到高频噪声旁 ...
- oracle游标透彻详解分析
主:本文来自:http://www.cnblogs.com/huyong/archive/2011/05/04/2036377.html 4.1 游标概念 4.1.1 处理显式游标 4.1.2 处理隐 ...
- 为什么PMOS比NMOS的沟道导通电阻大,速度慢,价格高-透彻详解
原文地址点击这里: 在前一节,我们对PMOS与NMOS两种增强型场效应管的开关电路作了详细的介绍, 并且还提到过一种广为流传的说法:相对于NMOS管,PMOS管的沟道导通电阻更大.速度更慢.成本更高等 ...
- EEPROM工作原理透彻详解
原文链接点击这里 EEPROM(Electrically Erasable Programmable read only memory)即电可擦可编程只读存储器,是一种掉电后数据不丢失(不挥发)存储芯 ...
- 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...
- MapReduce过程详解(基于hadoop2.x架构)
本文基于hadoop2.x架构详细描述了mapreduce的执行过程,包括partition,combiner,shuffle等组件以及yarn平台与mapreduce编程模型的关系. mapredu ...
- DFT计算过程详解
DFT计算过程详解 平时工作中,我们在计算傅里叶变换时,通常会直接调用Matlab中的FFT函数,或者是其他编程语言中已经为我们封装好的函数,很少去探究具体的计算过程,本文以一个具体的例子,向你一步一 ...
- GDT,LDT,GDTR,LDTR 详解,包你理解透彻(转)
引自:http://www.techbulo.com/708.html 一.引入 保护模式下的段寄存器 由 16位的选择器 与 64位的段描述符寄存器 构成 段描述符寄存器: 存储段描述符 选择器:存 ...
- 用IDEA详解Spring中的IoC和DI(挺透彻的,点进来看看吧)
用IDEA详解Spring中的IoC和DI 一.Spring IoC的基本概念 控制反转(IoC)是一个比较抽象的概念,它主要用来消减计算机程序的耦合问题,是Spring框架的核心.依赖注入(DI)是 ...
随机推荐
- mysql 连表不要用varchar和int这两种不相同的类型做比较
他会默认你123abc等于123 说多了都是泪啊
- golang:Channel协程间通信
channel是Go语言中的一个核心数据类型,channel是一个数据类型,主要用来解决协程的同步问题以及协程之间数据共享(数据传递)的问题.在并发核心单元通过它就可以发送或者接收数据进行通讯,这在一 ...
- 嵌入式Boa服务器上CGI开发-(转自Bryce.Xiao)
嵌入式WEB服务器常见的有lighttpd shttpd thttpdboa mathopd minihttpdappwebgoahead=============================== ...
- Linux下记录登录用户历史操作
前言:众所周知Linux是一个可以同时让多个用户登录的操作系统,每个用户的操作都影响着Linux运行,除了要做好安全工作以外,防止人为恶意损坏也是很关键的,比如有人恶意执行危险命令,要查找就得记录所有 ...
- unity ab包打包和加载的简单学习示例
闲着没事结合项目看了下unity AssetBundle打包和使用,写了一些测试例子,需要的可以拿去,导入一个空项目即可 链接:https://pan.baidu.com/s/1H85dnMNkRoW ...
- 『动善时』JMeter基础 — 31、JMeter中BeanShell断言详解
目录 1.BeanShell简介 2.Beanshell的内置变量和方法 3.BeanShell断言界面详解 4.BeanShell断言的使用 (1)测试计划内包含的元件 (2)登陆接口请求界面内容 ...
- [leetcode] 874. 行走机器人模拟(周赛)
874. 行走机器人模拟 模拟 描述方向时有个技巧:int[][] dx = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}}; 分别存储机器人向上.右.下.左走时,坐标应该如何变 ...
- 常用的HTTP服务压测工具介绍
常用的HTTP服务压测工具介绍 在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量.排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资 ...
- Elasticsearch常用DSL关键字
Elasticsearch常用DSL关键字 query: 用于包含查询使用到的语法 match_all: 最简单的查询,获取索引所有数据,类似搜索 *.如:"query":{&qu ...
- GO语言面向对象08---投胎游戏
package main import ( "fmt" "math/rand" "os" "time" ) /* @内存 ...