首页 > 其他分享 >数字电路基础(6)——CMOS的动态特性

数字电路基础(6)——CMOS的动态特性

时间:2023-06-11 22:33:37浏览次数:35  
标签:电容 数字电路 特性 传输 电路 输入 CMOS 延迟

上面的文章介绍完了CMOS门电路的基本构造,但我们分析的时候,给电路的输入信号都是不变的,展示的是门电路在稳定时候的特性,现在我们要把输入信号变成动态变化的信号,观察CMOS电路在动态变化时候的特性。

另外,本小节涉及到模拟的特性,本来是应该拿着实物的逻辑门芯片搭电路用示波器观察波形的,但正如整个博客的介绍里所说,我这里手边没有仪器和物料,好在TI的TINA仿真软件基于SPICE模型做的非常逼真,可以模拟出CMOS传输特性,所以就全程用仿真演示,有条件的同学可以搭电路出来实测观察。

传输延迟现象

最常见的变化信号就是方波,我们给反相器电路输入一个方波试试。

digit_course_cmos_dyamic_output

好像没什么问题对吧,输入是红色的50Hz的方波,然后绿色的输出是输入的反相,这个是符合预期的。但是,我们把信号上升或者下降的边缘放大,如下图:

digit_course_cmos_dyamic_upper

可以看到输出并不是像我们想像的那样,随着输入的下落,立马就跃变到高电平,而是像爬坡一样缓慢上升到高电平,可以看到示波器我调的是50us一格,也就是说它花了大概100us爬升上去,这就是电路中存在的传输延迟现象,也就是指输出信号并不能严格跟随输入信号变化的现象。

传输延迟的影响

我们不先急着搞清楚为什么会有这个鬼问题,先看看他有什么影响,如果影响不严重其实也可以暂时不深究他是为什么。下图是引用自教材《数字电路技术基础》的图:

digit_course_cmos_dyamic_inv_amp

从上面的图中可以看到,因为传输延迟的存在,导致上下两个CMOS无法严格的一起进行切换,在输入跳变的瞬间产生从VDD到地的通路,电流从上到下流经两个CMOS产生功率消耗,这就是CMOS电路的动态功耗。

所以,我们就可以很容易的理解,为什么生活中电脑CPU工作频率越高,发热就越大,CPU超频需要使用液氮冷却就是这么来的。

传输延迟的原因

我们理解到传输延迟会造成动态功耗损耗(后面还会介绍会造成竞争-冒险现象,这里先不提),那这个问题的根本原因是什么呢?其实就是电路中的电容在作怪。

我们还是看上面的一张图,非门的输出画了一个电容,这个电容包含两部分:

  1. 负载的电容,包括后级CMOS电路或者其他容性负载的电容
  2. CMOS电路本身的分布电容和杂散电容

其中第二项我们知道电容的形成条件非常简单,只需要两个隔得足够近的金属就可以形成,CMOS内部也是通过金属走线的,导线之间就会形成微小的分布电容和杂散电容,所以即使CMOS后面的电路没有电容,内部也会有容性存在。即使第二部分的电容一般非常小,但是在CMOS工作频率越高的时候,上述的影响就越明显。

后续大家如果学习自己画PCB,也会碰到这种问题,在高频PCB(一般超过几十兆赫兹就会体现出来了)上一般要非常注意走线,防止分布与杂散电容对电路产生不利影响。

传输延迟影响的避免

  1. 减少高频率工作状态
  2. 使用传输延迟更低的CMOS芯片
  3. 合理PCB布局,减少负载电容

实际使用有些时候不可避免的要使用更高的频率,我们着手更多的是第二点和第三点,比如74HC04芯片传输延迟一般在9ns,而74AHC04只有5ns。合理的PCB布局也是一种很重要的方法,特别是在高频的时候。虽然高频的时候,更多的考虑的是信号完整性的东西,减少杂散电容也是一个考虑之一,有些要求比较高的板子,从两层板切换到4层板也有这个原因。但是由于我自己不擅长硬件,所以这里就不瞎讲了,感兴趣的可以参考其他专业硬件博主的文章。

标签:电容,数字电路,特性,传输,电路,输入,CMOS,延迟
From: https://www.cnblogs.com/tanxiaoyao/p/17473759.html

相关文章

  • C++11特性—1
        C++11是C++标准的一个新版本,它增加了很多C++没有的功能,相较性能而言,极大程度上提高了C++效率和易用;对于程序员而言,C++11更好的应用于系统开发和库开发,语法更加泛华和简单化,更加稳定和安全。因此C++11功能更加强大,而且能提升程序员的开发效率。以下我们来了解下C++11基于......
  • Python中你不知道的特性
    无穷嵌套的列表 >>>a=[1,2,3,4]>>>a.append(a)>>>a[1,2,3,4,[...]]>>>a[4][1,2,3,4,[...]]>>>a[4][4][4][4][4][4][4][4][4][4]==aTrue 无穷嵌套的字典>>>a={}>>>b={}>>......
  • Java8新特性Stream之list转map及问题解决
    List集合转Map,用到的是Stream中Collectors的toMap方法:Collectors.toMap具体用法实例如下://声明一个List集合Listlist=newArrayList();list.add(newPerson("1001","小A"));list.add(newPerson("1002","小B"));list.add(......
  • 数字电路基础(5)——CMOS基本电路
    上文《数字电路基础——逻辑门电路》介绍了CMOS门电路的发展历史和基本构造,本节来看CMOS基本电路的种类和特点,以及实际芯片的介绍和选型。CMOS基本电路这一部分在教材上,不仅讲了各种门电路是怎么样的,还讲了很复杂的静态、动态工作状态分析,还有各个工作点电压电流的计算等,个人......
  • CSS_三大特性下_优先级
    CSS三大特性1、继承性CSS_特性继承和层叠-Bublly-博客园(cnblogs.com)2、层叠性CSS_特性继承和层叠-Bublly-博客园(cnblogs.com)3、优先级3.1基本1特性:不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低选择器样式2优先级公式:继承<通配符选择器<......
  • CSS_特性继承和层叠
    CSS特性1、继承性特性:1、子元素有默认继承父元素样式的特点(子承父业)2、可以继承的常见属性(文字控制属性都可以继承)1.color2.font-style、font-weight、font-size、font-family3.text-indent,text-align4.line-height注意点:可以通过调试工具判断样式是否可以继承2、层叠......
  • Python 3.8与普通程序员有关的几个新特性
    ==============1、字典支持内置函数reversed()了。在Python3.7之前的版本中,是不支持内置函数reversed()的,但在Python3.8中,可以这样做了,2、加强了函数调用时关键参数形式的限制。在Python3.7之前的版本中,是允许这样用的,虽然很少有人这样做但在Python3.8中,不再允许了,3、改进了函......
  • nginx-clojure 0.6.0 的一些新特性
    昨天制作了0.6.0的docker镜像,并说明了一些问题,以下简单说明下一些新特性新特性所有的handler可以在http以及servercontext使用了,可以方便进行组合使用nginx1.23.x支持jdk19支持,支持协程了官方提供的二进制构建基于1.23.3说明昨天也说明了,官方提供的二进制包缺......
  • OpenHarmony 3.2 Release新特性解读之驱动HCS
    OpenAtomOpenHarmony(以下简称“OpenHarmony”)开源社区,在今年4月正式发布了OpenHarmony3.2Release版本,标准系统能力进一步完善,提升了系统的整体性能、稳定性和安全性。此次版本对于驱动也提供了一些新的特性,极大的方便了驱动开发工作。其中针对HCS文件开发提供新的开发思路,本文就......
  • [转]C#语法特性总结
    本文原地址:C#语法特性总结作者:louziC#10已与.NET6、VS2022一起发布,本文按照.NET的发布顺序,根据微软官方文档整理C#中一些有趣的语法特性。注:基于不同.NET平台创建的项目,默认支持的C#版本是不一样的。下面介绍的语法特性,会说明引入C#的版本,在使用过程中,需要注意使用C#的版本是......