个人成就
- 发布了43篇内容
- 获得了2次赞同
- 获得了5次收藏
个人简介
擅长领域
暂时没有设置哦~
-
讲透有史以来广受欢迎的运算放大器μA741(2)---恒压恒流源
大家好,我是张飞实战电子张角老师!
上一篇文章对uA741的电流源还没有分析结束,下面我们继续往下看741运放内部P管构成的镜像电流源是怎么工作的。下图就是P管组成的电流镜的具体方案,这个和我提出来的方案是不一样的,具体它们的不同之处在哪里,这篇文章就给大家做下详细的分析。
Q1和Q2两个P管镜像恒流源这个地方,能够提供多大的能力,表面上看这个能力是取决于Q2这个电流源的负载。如果它的负载越大,那么提供的电流肯定是越小,反之电流也就越大。实际上真的是这样么?
T4集电极处的电压是T4的Rce,R2和Q1的Rce三个电阻分压的结果。我们假定T4的集电极电压Vc上升了,那么Q3/Q4的Vb肯定上升,那自然T1和T2的Ve肯定上升。上面这些都没有疑问对吧。T1和T2这两个管子都是恒流源接法,对吧。也就是说T1和T2这两个管子都是处于放大状态,流经它们的Ib小了,那么自然Ic也会小了。那Q2自身的Ie也就会小了,是吧。Q2这个管子处于临界饱和状态,那么自然它的Ib也就小了。Q1和Q2这两个管子的Ib电流是相同的,那么Q1的Ib电流也就小了,那么Ib放大之后能够提供的电流Ib*βt也就小了,那是不是这个电流就小于原来的电流Ic(T3的Ic电流值)了。这个时候,Q1这个管子就往放大状态移动了对吧,同时T4这个管子往饱和方向移动。管子往放大状态移动,它的Rce是不是变大了呀;管子往饱和方向移动,它的Rce是不是变小了呀。所以就有了Q1的Rce上升,T4的Rce下降状态。那么T4这个管子集电极处的Vc是不是要下降了,那这样就对冲了T4集电极处电压上升的影响,T4集电极处的电压就会保持一个稳定的状态。这个电位稳定了,按照刚才的逻辑推理,那么T1和T2的Ic之和,也就是Q2的Ic是不是就稳定了。所以我们说,流过Q2的Ie电流是一个定值。
当然这个分析过程也可以直接从Q2 Ie或者Ic的角度进行分析,分析的结果其实是一样的,大家可以尝试一下。
反向的调节过程,大家可以自己下去分析一下,这里我们就不再赘述了。
另外大家还发现没有Q2的C极电位,是不是一个固定的电位呀,这个电位是不是Vcc-0.7V。为什么Q2的Vbe一定是0.7V呢?因为Q2这个管子处于临界饱和状态,大家下去可以查一查相关的资料。这里因为Vcc是固定的,Q2的Vbe也是固定的,所以Q2的C极电压一定是固定的。所以这个电源是不是可以认为是一个恒压恒流源。这个设计确实非常巧妙。
在上篇文章中,我们是不是提出了一个自创的恒流源设计方式,如下图所示。
我们这里是不是使用的Q1的Ib电流作为偏置的呀,那么是不是也就是说Q2最大也只能流经这么大的电流,这个是电流镜的根本特征是吧。我们举个例子,当上图中负载的阻抗变大的时候,是不是它就不需要那么多的电流了呀,那这个时候,流经Q2 的Ic电流是不是就没有流经Q1的Ic电流大了呀。但是它们的Ib电流是不是还是相等的,那这个时候Q2是不是就往饱和方向移动了,而且这个时候Q2的集电极电压也不再是Vcc-0.7V了。那么也就是说,这个电流镜的做法,不能够保证Q2 集电极处的恒压恒流特征,具体是不是恒压恒流,取决于负载的状态。
那么我们能不能同样使用反馈的方式来做到让这个电流镜一样恒压恒流呢?比如像刚才那样同样进行电流反馈,我们依然按照刚才的逻辑来分析。假定T2 C极的电压上升了,这肯定会导致Q2的Ic变小,但是这个反馈回路是不是对Q1的Ib是不是没有什么影响呀,大家可以看一下图纸。由于T2 C极的电位上升,确实会导致导致了Q1的Ib变小,那么也就是说Q2的Ib和Ic是同时变小的,这个也没有办法保证Q2集电极处恒压、恒流特征。所以我们提出的那个方案,没有芯片设计方给出的方案更好。
那这样,运放电源部分的设计我们就先到这里。如果我们能够知道每个运放的放大倍数,那么我们就可以精确地计算出来各个支路的电流值到底是多少,这样也算是对电源部分有较为深入的理解了。
Q5和Q6这两个管子的作用主要是调整偏置电压和增加运放的差分增益,这块内容我们下节课再进行探讨。
-
STM32 UART通信深入探讨
大家好,我是张飞实战电子张角老师!
在单片机开发过程中,我们常用的通信协议主要有UART,SPI,I2C这几种,是吧。这三种通信协议,本质上都是串口通信,也就是说在一个时钟周期中,只发送一个数据位。顾名思义,如果在一个时钟周期里面发送多个数据,是不是就是并行通信了,并行通信,自然需要更多的数据线,进而会占据更多的资源。不过并行通信的好处也是显而易见的,也就是说单位时间内(或者说一个时钟周期内)可以传递更多的数据,比如在大屏显示这种通信类型的时候,一般就需要使用并行传输协议。没办法呀,数据量太大,不得不如此。但是在相对低速的通信场景中,串口通信能够满足绝大多数的需求,所以在单片机的外设资源中,串口通信占据了不少份额。
我们首先来分析一下串口通信的原理。串口通信的接收过程,大概就是上图中描述的样子。这个图中我们只是使用三个数据来示意表达。DSR发送过来的“010”这三个数被移位寄存器移位以后,通过“D1,D2,D3”并行输出。实际上一般这里是8个D触发器,实现8个串行数据的并出效果,单片机的最小存储单元一般是8个bits么。发送端实现的一般是“并入串出”,只是方向反过来了,原理和上面的一样的。上图中N管和P管组成的电路是为了上电的时候,对D触发器的数据进行复位,这个地方大家不必太在意。
在UART、SPI和I2C这三种最为常用的串口通信中,以UART的实现最为简单,通信的双方不需要严格的时钟配合,只需要设定好波特率就可以了。所谓不需要严格的时钟同步,也就是说通信的双方可以使用各自的时钟,通信双方的时钟频率不一定相等,我们在使用UART进行数据通信的时候,每次发送的数据最长是8个bits,可以比这个短,但是不能再比这个长了。如下图所示,数据位可以是8/7/6三类。那究竟是为什么呢?一次发送多个数据不行么?
异步通信可以允许通信的双方具有一定的时钟误差,时钟误差越大,每次能够发送的数据位数就越短;时钟误差越小,每次能够发送的数据长度也就越长。为什么是这样呢?假定对于主机,一个bit对应的脉冲数正好是10个,对于从机一个bit对应的脉冲数是10.2个。那么随着bit数的增多,比如达到5个bit的时候,从机就会出现有51个脉冲数,那多出来的一个脉冲数该怎么对应呢?电路设计上该怎么设计呢?换句话说,就会出现数据错位。从这个例子来看,只要从机和主机时间频率上有误差,随着单次数据传递量的增长,那么一定会有数据错位出现。这个也就是UART进行数据传输的时候,一次只传输一个byte,主要的目的就是为了防止出现数据错乱的情况发生。
我们下面用图形化的方式来说明一下这个问题。
如上图所示,PWM1和PWM2是两个不同的时钟信号,大家可以看一下这两个时钟的周期明显是不一样的。我们让这两个时钟都同时从A时刻起步,大家可以看一下,到达B时刻的时候PWM1和PWM2已经反相了,到达C时刻的时候PWM1和PWM2又变成同相了。大家可以看一下,到达C时刻的时候,PWM2的周期数已经比PWM1多了一个了,那么多出来的这个时钟周期就会出现无法和数据位匹配的情况。反过来对于数据来说,也就是会出现数据错乱的现象。
但是SPI和UART通信的双方有一条时钟线相连,通过这条时钟线他们实现了严格的时序匹配。因为双方时序完全一致,那么在数据采样、移位以及存储的时候,就不可能出现数据错乱的情况。某种意义上时钟有多快,数据传输的速度就会有多快。当然实际应用中,SPI和I2C数据传输的速度,还受到通信接口本身器件特性(结电容)、CPU处理数据的速度、存储器存储数据的速度以及布线等因素的影响,具体的数据传输速度是考虑了诸多因素之后确定的一个值,我们需要具体应用具体分析。
对于Uart来说,为什么通信双方的波特率需要设置的是一样的呢?波特率是不是就是数字信号采样的速率,如果通信双方采样的速率不一样,很显然会导致错误的结果。我们假定UART发送方的波特率是9600,接收方的波特率是19200。发送方发送的数据是“0101 0001”,那接收方会接收到什么数据呢?我们这里接收方数据采样的速率是不是发送方的两倍呀,大家可以看下面的图。
接收方数据采样出来的数据是不是“0011 0011”呀,是不是发送方的每个数据才接收方采样了两次呀,而且停止位是不是还出现了错误。这个例子从侧面说明了,发送方和接收方波特率必须一致的原因。
异步通信,相比同步通信,还有一个缺点,那就是说信号传递的速度相对较慢。在UART协议中,每个字符都需要起始位和停止位作为字符和开始和结束的标志,另外还有一个校验位,这些辅助设施大约增加了20%的信息位,以至占用了信号传输的时间,所以通信的速度就上不去。
对UART通信过程的探讨,我们先到这里。
-
讲透有史以来广受欢迎的运算放大器μA741(7)---放大级、输出级及米勒电容
大家好,我是张飞实战电子张角老师!
我们接着上面文章,继续分析运放的输出级。受限于运放封装的体积,运算放大器的推电流和拉电流都不会太大。那么为了限制电流超过一定的值,uA741内部还专门设计了限流电路,包括推电流限制电路和拉电流限制电路。
我们先来看推电流限制电路,这个功能的实现主要是靠T13这个管子。从电源流经T12、R9,然后再到负载(Vo)的电流达到一定程度的时候,R9两端的电压就会达到0.7V。我们来计算一下这个电流值。I = 0.7V/R9 = 0.7V/27R = 25mA。那么也就是说,当流过R9的电流值达到25mA左右的时候,R9两端的电压会达到0.7V。大家看一下,R9这个电阻两端的电压是不是恰好就是T13的基极和射极的端电压,那么也就是说此时T13饱和导通了。T13饱和导通以后,T12的Vbe是不是就小于0.7V了,那么T12是不是就关闭了。那么自然流过R9的电流就变小了。R9和T13这两个器件在这里扮演的,是不是就是一个负反馈的角色,本质上利用的是N管基极电位和集电极电位相位相反的特性来实现的。
下面我们来看一下,拉电流是如何限流的,这个功能主要是由Q8、T15和T14这三个器件来实现的。
当运放输出为低的时候,比如Q6射极电压低于输出电压Vo,那么对于运放来说,电流的流向是从负载流向Q7的。当流经R10的电流达到一定程度的时候,Q8这个管子就会开通了。Q8这个管子开通了之后,T15这个管子就会流过电流了。T14这个管子是镜像T15的,这里是一个镜像电流源,也就是说T15和T14的集电极电位是相同的。随着流过T15的电流越来越大,那么T15集电极上的电压也就越来越低。同理,T14集电极上的电压也就越来越低,当T14集电极上的电压降低到一定程度之后,那么T8、T9这两个管子就会趋向于关闭状态。这个时候,T9集电极上的电压就会升高了,那么Q6射极上的电压也就提高了,那么流过Q7的Ib和Ic都会变小了。这样也就起到了拉电流的保护作用。
另外,在741内部,当时的研发人员还搞了一个比较牛逼的发明,就是在放大级和输出级之间加上了一个电容,这个电容也称作米勒电容。
因为T8、T9组成达林顿管形式,放大倍数会很大。如果每个管子的放大倍数是100倍,那么两个管子联合起来就是10000倍。那么也就是说F点电压微小的变化,都会在T9的集电极产生非常剧烈的电压变化。这个剧烈的dv/dt,其实对运放的稳定性是不利的。为了解决这个稳定性的问题,科学家们尝试了很多办法,最终在uA741这个运放内部形成了一个较为完美的方案,就是加上一个小电容。在这之前,运放内部都是没有电容的。我们下面来看一下,这个电容可以起到什么样的效果。我们假定F点电压是向下降低的,那么T9 C端的电压是不是急剧上升呀;这个急剧上升的电压,会通过弥勒电容给F点充电,对吧。那么F点的电位是不是就不会下降得那么快了。那这样,T9 C点的电压也就不会上升得那么快了,也就是这个地方的dv/dt也就没有那么剧烈了,进而整个运放系统的稳定性也就得到了改善。但是这个改善,肯定是有成本的。对于放大交流信号,大家很容易看出来,运放整体的增益是下降的;信号的频率越高,运放整体的增益也就越低。某种意义上讲,这个电容在这里起到的是一个低通滤波的作用。
-
讲透有史以来广受欢迎的运算放大器μA741(3)---电流源
大家好,我是张飞实战电子张角老师!
这篇文章,我们来分析一下电源及输入级几个管子的工作状态。
我们下面来看一下,N管和P管的放大接法(恒流源接法)。大家可以看一下,如果负载阻值不超过一定的值,那么Q2和T2就一定是处于放大状态的,这个时候满足Ic = β*Ib这个关系。当负载阻值RL比较大的时候,Vcc/(Rf+RL)能够提供的电流值小于了恒流值,这个时候三极管就会处于饱和状态。那么uA741这个管子里面,从接法上看,T1、T2 、Q3、Q4这四个管子都是放大状态接法,它们具体是工作在什么状态呢?
前面的分析中,我们把IN+和IN-都接到了地上,我们假定此时运放输出的电压为零。下面我们来看一下,如果把IN+和IN-这两个管脚都接到+5V上,这个时候运放的输出会有什么变化?T1、T2这两个管子的工作状态会有什么变化?
从前面的分析可以看出,Q3和Q4这两个管子存在的意义就是引出Ib反馈电流。如果两个输入端的电压都调整成+5V,对于T1、T2这两个管子的Ic和Ib之间的比例关系会发生变化么?这个分析就取决于D点电位在这种状态下是如何变化的。这个时候,运放分析起来就相对比较复杂。我们这里采用极限分析法,可以假定一种极端的情况,如果给IN+和IN-这两个端口都加上电源电压VCC,这个时候T1和T2的Ib电流肯定是加大的,因为T1、T2的Ib和Ic之和是一个定值,所以流经T1、T2这两个管子的Ic之和肯定减小。那么T1、T2这两个管子肯定往饱和方向移动。那么同样的,Q3、Q4也会往饱和方向移动,T1、T2的Vce和Q3、Q4的Vce都在变小,那么这个时候F点的电压也就会上升,这种因为输入电压变化导致的输出电压的变化,我们称之为失调电压。因为T1和T2的Ic和Ib是200倍的放大关系,所以我们认为即使有影响,这个影响也是很小的。那么也就是说T1、T2的Ic电流之和变化很小,也就是T1、T2这两个N管的负载基本不变,那么也就是说T1、T2这两个管子一直工作在放大状态。
实际的工作状态应该是这样的,当T1、T2的Ib增大的时候,意味着Vbd和Vcd的压差在增大,那么这个时候,T1和T2的Ic也要增大。问题是我们前面提到过,这两个电流之和是一个定值,等于T3的Ic。
所以这里只能Vd的电位增加,那么自然Vbd和Vcd之间的压差变小了。那么也就是说Vd这里是一个浮动的电压,在不同的输入电压下呈现不同的值。
Q3、Q4这两个P管,因为它们的放大倍数没有T1、T2大(我们假定N管放大倍数是200倍,P管放大倍数是50倍),但是它们Ic电流也是相等的。所以Q3、Q4这两个管子这两个管子的Ib电流要大一些,这里主要是增强反馈回路的作用。。
下面我们来看一下运算uA741这个运算的放大过程。我们说Q3、Q4的基极电位是相同的。当Vin+大于Vin-的时候,那么流过T1和Q3的Ic电流是要大于T2和Q4的Ic电流的。这个也很好理解,因为Vab大于Vac,而AB回路和AC回路上的是两个相同的PN节。相同的PN节,加上不同的开启电压,那么自然Ib电流是不同的。Ib电流不同,那么自然Ic电流也是不同的。如果Vab大于Vac,那么流过T1和Q3的Ic(I1)是要大于流过T2和Q4的Ic(I2)的,这两个电流值发生变化,就会导致T5的C极电压发生变化,T5的C极电压也就能反映IN+和IN-之间的压差。那么这样也就可以给中间级(增益级)提供放大信号输出。
-
对RC电路的直观理解
大家好!我是张飞实战电子张角老师!今天给大家分享对RC电路的直观理解。
RC电路是较为常见的一种组合电路,在电路设计的过程中,经常用到。目前网上有各种各样RC的资料,但是给RC添加正弦激励实测的波形,其实很难找;能够同时把电容和电阻上的电压放在一起的波形就更少。没有这些波形,其实我们对RC电路就缺少直观的认识。
本文将站在实测波形的基础上,给大家分析RC电路的正弦波响应,争取给大家带来直觉和感官上的理解。关于RC电路频率响应推导的文章,大家自行百度就好了。
首先给出,我们实测电路的原理图。大家也看到了这个原理图,其实没有什么稀奇。
下图蓝色的部分,是我们输入的正弦信号,也就是Ui;黄色部分,是电容上的电源,也就是原理图中的Uo。
从这个波形图中,我们首先可以看出电容电压的相位肯定是滞后于信号源的:①在一个周期内,输入信号Ui领先输出信号Uo达到峰值;②从波形图来看,即使是在启动的第一个周期中,两个信号的相位差和稳态的时候也是一致的。另外,大家可以看到明显的幅值衰减,这个其实就是滤波的效果。随着正弦波信号频率不断增加,当Uo的峰值达到Ui峰值的0.707倍的时候,正弦波的频率就是截止频率。
我们下面来看第二幅图,图中紫色部分的波形是输入电压波形和输出电压波形相减的结果,实际上这个电压波形是不是就是电阻上的电压呀(一般的示波器里面都有不同通道信号幅值相减的功能)。那么从图上,我们是不是直觉上得出来如下的结论:①电阻上的电压相位是领先于信号电压相位的;②电阻上电压的相位是领先于电容上电压相位的。其实第二个很容易理解,对于电容来说,i=c*du/dt,也就是说电容的电流是电压的微分。微分就意味着相位超前。如果我们把这个超前相位角具体化的话,那就是90度。因为本文不涉及公式推导,其实这就是一个复数旋转的计算,但是大家可以从图形上是不是很直观的看出来紫色和黄色的波形,相位角相差就是90°。
那么如果我们给RC电路加上一个方波信号呢?下图中的方波信号,是一个高频的方波,
占空比是50%。大家可以看一下,因为方波的周期太短了,如果大家熟悉电容充放电公式的话,电容的电压一定会充到一个相对高的值以后,再一个周期内充电升高的电压才会等于放电放掉的电压。因为在电容电压比较低的时候,电容充电的速度是比较快的;而放电速度则相对较慢。随着电容电压的提高,充电速度则不断降低,但是放电的速度则不断加快,那么当电容达到某一个电压幅值的时候,充电和放电的时间正好相等。
从上面这个图可以看出来,高频的交流信号肯定是被滤波了。大家还可以实测下,频率越高,输出的三角波峰峰值之间相差也就越小。
这个过程还有一个额外的收获,那就是电容的直流电压分量。这个直流电压分量理想情况下,只和方波的占空比有关系。不知道大家有没有联想到buck电路的占空比,其实这里思路是一样的:buck电路输出的直流电压和占空比有关系,交流成分被LC滤波器给滤掉了。LC滤波器,一方面滤波能力比较强,再一个能量损失也小,所以buck电路不使用RC滤波器,而是使用LC滤波器。