【原创】模拟电路分析(Linux应用专题)
我买过一套铃木雅臣的电子电路设计丛书,配合Linux下的模拟电路设计和电路模拟软件对书中的内容作了一些练习,在这里用帖子的形式把当时的学习过程记录下来,希望对这方面感兴趣的哥们有点用。我本人一直从事软件研发的,从八几年在AppleII上写Basic到现在,一直没离开过这个行业,这个帖子也可以看作是是一个软件人怎么初涉硬件的日记,里面会有一些从软件开发的角度考虑硬件设计的特点。
这个日记的内容基本以铃木雅臣的《晶体管电路设计(上、下册)》为主线,辅以其它参考电路类书籍,比如:《模拟电子技术基础(童诗白_第3版)》、《Agarwal&Lang (2005) Foundations of Analog and Digital Electronic Circuits》等,并配合Linux下的一些数值计算软件和符号计算软件,主要有:SciLab、Octave、Maxima等,对电路中的部分公式作简单分析,其它辅助材料会在日记中逐一谈到。可以说涉及到了不少Linux下的有趣应用。
在日记开始前,我先把自己的软件环境说明一下:
操作系统: Fedora13
JAVA版本:1.6(以下有部分软件会依赖于JAVA环境)
模拟电路软件:
gEDA(电路设计)
PCB Designer(PCB板设计)
Spice Simulation Frontend(模拟电路模拟器)
Analog Waveform Viewer(模拟示波器)
gRsister(电组环计算器)
xoxcope(声卡示波器)
SIMetrix(专业的电路设计和模拟环境,www.simetrix.co.uk)
数值和符号计算软件:
SciLab(数值计算,http://www.scilab.org)
Octave(数值计算,http://www.gnu.org/software/octave)
Maxima(符号计算,http://maxima.sourceforge.net
以上除了SIMetrix以外,都是开源免费软件。SIMetrix可从其官方站点下载安装,由于是商业软件,只能使用其免费版本。
各软件的安装方式我不赘述了,google后可轻松搞定。尤其是使用Fedora的哥们,可以用yum直接安装。
[ Edited byRoamvalley on 2010-7-9 15:59 ] 在这个电子电路大行其道的时代,我们还在谈模拟电路分析,其原因是很简单的,从基础开始学起,就跟软件开发人员起步一样,不可能跳过数据结构、C语言、操作系统原理等基础知识,上手就来VisualBasic一样荒唐。另外,《晶体管电路设计》的开篇对这个问题作了明确阐述。
第二个要说明的事实是:Windows下有不少专业的电路设计软件,而且大多有免费的学习版,对这个Windows和Linux平台易用性这类无休止而且没有意义的问题我也不再解释了,对开源免费和商业软件之争也不作解释,无论是采用那种工具和途径,能把这门知识学好才是王道。我这里只以Linux下的开源软件为环境,记录整个学习过程。
首先谈到日记的主线:《晶体管电路设计》,这本书是我个人看过的最好的电路入门书籍,非常朴实、易懂、透彻,当然,这是对初学者而言的。
以前我也看过一些诸如此类的:
《从零开始学习XXX》
《傻瓜XXX学习》
《21日学会XXX》
这些书,我说句心里话,还是别看了,通篇以非常感性的语言来描述电路分析中的各类问题,很多这类话:
“这是个放大电路,信号近来,放大后传给后面。。。”
“电容是隔直通交的,所以信号经过它就只剩交流部分。。。”
这种表达方式也许让人能很快对电路有个感性认识,但这种含糊不清甚至是不分环境的字眼对以后透彻得理解电路会起到不良后果,看过的人总会不自觉得把这些说法直接套到以后的电路分析中,结果对稍微陌生一点的电路,就立刻无从下手。
我这里举个例子,在学到射级跟随器的输出端,通常有一个输出电容,如果你对电容的理解只是“隔直通交“,那么你对射级跟随器的输出电压范围会被截断这个问题就死活也无法理解了。
只有收起浮躁的心态,老老实实从电路的内部工作原理和计算公式来分析电路,那些问题就会自然了解。这里附上一个用gEDA画的射级跟随器电路图(注意C2就是我所说的那个电容,关于这个电路的分析会在以后的帖子中谈到): 牛逼啊,可以好好学习了; mark 开篇,概论,这里面说的东西只有2点:
1、三极管是电流放大元件
2、三极管的基级和发射级电压差是0.6~0.7v
这两点看起来简单,但其后所有关于晶体管放大器(从这里开始,我们简称为放大器,这不包括以后能涉及到的OP放大器--运算放大器)的基本原理都是基于这两点。
这本书的一个最重要原则就是:从已知原理和已知量,计算推导分析结果。这种写法既透彻得说明了电路原理,还说明了如何根据需求设计出电路,包括每个元件的参数怎么设定。这是大部分电路分析书中都没做到的。
我们这里的学习过程也是遵循这个原则,并对电路中的每个元件都作解释。
这里作些注脚,我们常说的三极管严格上应该叫做:双级晶体管,bipolar-junction transistor,缩写为BJT,这也是为什么在gEDA中,三极管都是BJT。
另外一种管子叫场效应晶体管,field effect transistor,缩写为FET,继续细分的话可分为JFET和MOSFET,其中MOSFET应用广泛,但这里不细说了,等到BJT全部讲完后我们再涉及它。
既然这本书是从三极管开始说起,那么电阻、电容、电感、二极管这些常见元件呢?
书里对这些元件没有作详细阐述,默认大家都懂的,但实际上很多初学者对这些元件并不理解。
我这里假设:只要你懂得高中物理对电阻的基本原理,具体点就是:你懂得在直流电环境下的电阻串联和并联计算,就可以了,其它的我会对这本书作补充说明,所以不用太担心。
[ Edited byRoamvalley on 2010-7-9 00:10 ] 第一个放大电路是共发射极放大电路(common emitter amplifier)。
首先,使用gEDA schematic editor绘制电路原理图,随后使用spice simulation frontend对这个电路进行模拟。
fedora下安装gEDA和spice的方法是:
以root权限运行命令行:
yum install geda\*
yum install gnucap
yum install ngspice
绘制出的电路原理图如下
[ Edited byRoamvalley on 2010-7-9 13:45 ] LZ的帖子不错 收益良多 mark 持续关注 积分真多...
PS 画电路图 Dia也不错 将这个电路保存为common_emitter.sch。然后用spice simulation frontend(以后都简称ngspice)打开,首先记得设置一下总环境,在菜单"Settings"下选择NG-spice(为什么选这个,以后介绍)。
在ngspice中(严格的说,在spice标准中,后面我会对spice的概念作的介绍),所有逻辑上的导线都被称为node,所有的电子元件都叫component,可以在ngspice左边看到这两栏。右边是模拟环境设置,我们选择在Transient(暂态)栏,表示我们对此电路作暂态分析,这也是电路分析中最常见的手段。另外两个是DC和AC分析(以后再介绍)。 我们很关心当这个电路运行时,三极管Q1(以后三极管都简称BJT)上各级的电压是如何随着信号源V1变化的。
V1是一个交流信号产生器,通常在实物实验中叫信号发生器(signal generator),如果没有gEDA/NGSpice这些基于软件的电路模拟器,初学者就需要购买制作电路的所有材料,自己组装,完后还要购买信号发生器、万用表、示波器这类东西,比起这些,我们通过软件就可以轻松得在计算机上完成整个实验,方便许多,当然,在学习的后期,我们还是要回到实物练习中,不可能一直都在纸上谈兵。
在电路原理图中,V1参数是:sin 0 10m 1meg,表示:此源会产生一个正弦波(sin wave),峰值间距(通常称为Vp-p,也就是这个正弦波的最大和最小值间距)为10毫伏,频率为1MHz(每秒交替100万次)。
现实的电路中,人们要处理的信号远比这种理想正弦波要复杂,比如收音机接收到的短波、中波、调频信号、手机接收的CDMA信号、GPS接收的卫星信号,这些信号的图形非常复杂,而且夹杂大量干扰信号。
附件上是一个正弦波的示意图,采用SciLab绘制的。 通过V1输入这样一个正弦波,我们如何测量Q1各级的电压变化呢(为什么这里只谈到电压,而不是电流,要知道,概论中就明确指出:三极管是电流放大元件,这一点在分析中会逐步阐述)。
回到ngspice的界面上,按住shift键,选择Input、Qb_R1、Qc_R2、Qe_R4,它们分别代表:
Input:信号源V1的输入端(其实信号都必须是有两个输入端的,当通常另一端接地,只作为参考电势)
Qb_R1:BJT的基级(base)
Qc_R2:BJT的集电极(collector)
Qc_R4:BJT的发射极(emitter)
选中这几项,表示我们用示波器的输入端分别接上这几点(Node),用于检测这些点的电压变化。
在右边Transient栏,选择信号源(Singal Source)为V1,打开Setup,设置一个正弦波,参数如附图,是生成一个振幅(Amplitude)为0.5v,频率(Frequency)为50Hz的正弦波。为什么在电路原理图中我们已经设过了V1的参数,到这里来还要再设一次?这是ngspice的问题,linux下开源的电路设计软件不像windows下的商业电路设计软件,它们不是一个公司开发的,通常是:一个开源组织只作电路绘制软件,另一个组织只作模拟器,还有一个组织只作示波器,当我们需要在一个统一的环境下使用这些分散的软件,就会发现很多软件沟通上的弊病,ngspice有个严格的要求:电路中必须有一个而且是唯一的信号源,这就是为什么在Singnal Source里只能选择一个信号源,即V1,并且它的参数必须严格在ngspice的配置,而不是电路绘制软件中。
设置好信号源后,我们考虑要对此电路观察多长时间,以便示波器能观察一个时间段内的所有数据,这里我们填入:
Start time:0 (表示从电路通电的那一瞬间开始观察)
Stop time:100ms (表示在电路通电后100毫秒时,停止观察)
Step increment:1ms (表示每隔1ms观察一次数据,这个正式的叫法是采样时间,以后会详细介绍)
ngspice界面上的其它参数都暂时不去改了,它们都很重要,但不是我们目前需要关心的。
一切就绪,点击工具栏上的那个齿轮图标,表示我们正式开启电路(就是通电),ngspice会根据电路的参数计算出所需结果,但都是以数字形式显示在输出栏,这不是我们想要的。
点击工具栏右边的波形图标,它会开启示波器界面。 示波器(这里使用的是gwave)刚被打开时,波形栏是空的,使用者要用鼠标左键按住节点栏里的:V(节点号),然后拖拽到波形栏。看下面两个附图,第一个是初始状态下的gwave,第二个是我将部分节点拖拽到波形栏后的界面。
从第一栏可以看到:
V(Input):信号源电压变化
V(Qb_R1):BJT的基级电压变化
第二栏是:
V(Qb_R1):BJT的基级电压变化
V(Qc_R2):BJT的集电极电压变化
第三栏是:(gave默认显示两栏波形,通过菜单栏View->Add Panel可以添加更多的波形栏)
V(Qb_R1):BJT的基级电压变化
V(Qe_R4):BJT的发射极电压变化 波形栏第一栏反映了两点:
偏置电路
交流信号同直流电压的叠加
偏置(bias),其作用是为了确保BJT工作在正常或所需的电压电流环境里。一个BJT是无法独自完成放大功能的,首先3个级之间需要设定特定的电压差关系:集电极电压>基级电压>发射极电压(这个关系不是绝对的,以后会谈到其它情况)。在这样的电压关系下,BJT才基本上处于正常的放大状态,这就需要偏置电路(通常是靠电阻)来达到这个状态。Vcc作为恒压电源,电流流经R1、R2、R3、R4,会在这些电阻上产生压降,这也就为BJT的三个级提供了不同电压,设置合适的R1、R2、R3和R4,就可使BJT具备:集电极电压>基级电压>发射极电压。
一般的电路书里都会把BJT的特性曲线(和偏置条件密切相关)先拿出来作些说明的,这个我们留在“共射放大电路”之后再说。
交流信号同直流电压的叠加,信号叠加的核心原理有点复杂,涉及到傅立叶分析(FFT),在一般的书里,对它的简单描述是:
VQb_R1=V直流+V交流
"V直流"就是电流流过R1后的电压:Vr1,V直流=Vcc-Vr1
"V交流"是V1信号源在某一时刻的电压值。
VQb_R1是这两者简单的数值叠加。波形第一栏清楚得反映了这个关系:VQb_R1同Vinput波形一样,只是高出了约2.16v直流电压。
"V直流"的具体算法如下:
V直流=Vcc-Vr1=Vcc-Ir1*R1=Vcc-Vcc/(R1+R2)*R1=12-12/(100k+22k)*100k=2.16
(其中:Ir1表示流经R1的电流,这个只要懂得直流环境下电阻串联原理就能计算出来了)
在真实的情况下,"V直流"会比2.16v要小,是因为BJT基级内部存在一个复杂的基级电阻,我们设它为Rb,那么"V直流"的实际算法为:
V直流=Vcc-Vr1=Vcc-Ir1*R1=Vcc-Vcc/(R1+R2//Rb)*R1
这里R2//Rb表示两个电阻的并联值。
[ Edited byRoamvalley on 2010-7-10 00:35 ]
回复 #7 timogen 的帖子
我试了一下Dia,绘图功能很强,的确是个好工具。但有两个问题:
1、元件不能自由的90度旋转
2、无法和EDA系列的软件配合使用,画出的电路图无法送入模拟器去观察电路的特性。
有时间的话一起交流交流 波形栏第二栏是我们最想看到的结果:输入信号被放大了。
VQb_R1对应的是BJT输入信号
VQc_R2对应的是BJT输出信号
波形上明显看出输出信号>输入信号,计算得到的电压放大倍数Av大约为5倍。另外,两个信号的区别是相位相反(相差180度):VQb_R1升高时VQc_R2下降,反之亦然。
再回到那个话题:三极管是电流放大元件。如果我们观察的是电流而不是电压,也就是:IQb_R1和IQc_R2,就会发现,两个电流的波形也会同波形栏第二栏类似,唯一也是最关键的不同是两个电流波形同相(相位差为0)。 波形栏第三栏是一个很关键的波形对比,它显示了这样一个基本关系:BJT的基级电压通常比发射极高出0.6~0.7v。
VQb_R1-VQe_R4约等于0.6~0.7,通常我们用符号Ube表示这个电压差。
Ube在绝大部分情况下(正常放大状态)都在这个范围,这是BJT内部半导体材料所决定的,和外围电路基本无关。BJT所用半导体的材料通常为硅和锗,硅管的Ube为0.6~0.7v,锗管的Ube为0.3~0.4v,而且随着制造工艺的不同,同一类管子的Ube还有差异。
为什么我们这么重视Ube呢?因为通常在设计一个新的放大电路时,我们除了知道电路所须要达到的放大倍数、输入输出阻抗(温度、输出电流等暂时不谈)以外,只有这个Ube是已知的。而设计的原则就是通过已知量来推导计算未知量,每多一个已知量,对设计都带来很大的便利性。
至此,我们在还没有对电路进行正式分析前,就通过信号波形看出了共发射极放大电路的一些重要性质。 第一章,共射级放大电路分析
大体上分两步,第一步,对电路的直流环境作分析,以理解BJT的工作状态。第二步,对交流信号回路作分析,以理解BJT是如何放大源信号的。
其实在前面已经提到了一些关于BJT周边电路的工作机制,其目的是为了把BJT置于“正常放大状态”。
为此一共采用了4个电阻,R1,R2,R3,R4,其中R1和R3为BJT提供了稳定的基级直流电压。而R2和R4,则决定了这个电路的放大倍数,同时R4还起到了稳定发射极电流的作用,避免了因温度变化而对BJT发射极电流的干扰。
R1和R3是串联在恒压直流电源Vcc和地之间的,流过它们的电流、各自的电压降都很容易计算,前面已经给出了计算过程。R1和R3阻值不变,给BJT提供的基级电压Ub就是很稳定的,经计算是2.16v。
根据“Ube为0.6~0.7v”这个已知量(以后Ube我们都保持和原书一致,选取0.6v,在国内的大部分教材上都是选取0.7V),可以推算出此时BJT的发射极电压应该是:
Ue=Ub-Ube=2.16-0.6=1.56v
从而流过R4的电流就是:
Ie=Ue/R4=1.56/2k=0.78mA
这里我们要补充另外一个重要的BJT特性了:BJT的发射极电流约等于集电极电流,即Ie=Ic,这一点对FET管也是同样适用的。具体原理我会在共发射放大电路之后同BJT的特性曲线一起说明的。
由于Ic=Ie,那么流过R2的电流就是0.78mA,所以在R2上产生的电压降就是:
Ur2=Ic*R2=7.8v
集电极电压为:Vcc-Ur2=12-7.8=4.2v
至此我们得出了BJT三个级的电压值:
Ub=2.16v
Ue=1.56v
Uc=4.2v
满足我们前面谈到的:为了保持BJT处在正常工作状态,需要合理的偏置关系:Uc>Ub>Ue 是否我们会计算4个偏置电阻的电压电流值就表示我们能看懂所有的共射放大电路呢?答案是否定的,附图上是一个我从网上找来的“变容管调频无线发送器”。
看看这个第一级BJT:BG1,它相对我们前面的电路少了R3(还有的电路甚至把R4都省了)。
这是原书中没有讲明的第2种偏置电路:固定偏置。我们画的这种4个电阻构成的叫分压式偏置,也被称为电流反馈偏置。
固定偏置看起来只是少了R3,但其设计的思想和计算过程同分压偏置有很大区别。
偏压偏置是为了保证BJT基级电压处于一个固定值。
而固定偏置的目的是为了保证BJT的基级电流处于一个固定值,它的计算方式如下:
为了便于说明,我们把附图上的W1看作是一个固定阻值的R4,另外还要考虑BJT基级内部的那个Rb,6v的直流恒压源当作Vcc,那么:
Ir1=Vcc/(R1+Rb+R4)
在R1上产生的压降就是:
Ur1=Ir1*R1=Vcc/(R1+Rb+R4)*R1
剩下对R2和R4的电压电流分析还和分压偏置一样。
其实,固定偏置对理解“BJT是电流信号放大元件”这句话更为直接,因为它关心的是提供一个恒定的BJT基级电流,在交流信号源的输入下,BJT的基级电流就变成了:
Ib=Ir1+信号源电流
照这么说,我们设计分压偏置反而有点怪了,其实这两种偏置本质都一样,最终都是需要将信号的电流作为输入值,分压偏置在计算上只是多出了一步:
在确定了Ub后,流过基级的偏置电流为:
Ub/(Rb+R4)
既然固定偏置比分压偏置少了一个电阻R3,那为什么原书中通篇都是采用分压偏置呢?原因有两个:
1、分压偏置中的R4能稳定因温度变化给BJT带来的影响
2、在计算BJT最关键的数据“电压放大倍数”的过程中,基级的偏置电流没有参与运算(虽然BJT的出厂参数里都表明了β=Ic/Ib,这个会同BJT特性曲线一起说)
3、分压偏置也仅仅多了一个电阻而已,这已经不是6、70年代那种资源匮乏的年代了
[ Edited byRoamvalley on 2010-7-10 14:20 ] 太牛了,,,, 交流电
现在,整个电路中还有两个关键元件没有考虑:电容C1和C2。在谈到电容的工作原理前,必须要先了解交流电。
我在看《晶体管电路设计》的过程中是不断参考其它书籍和资料的,对交流电的定义,很多初学者并不是非常清楚,大部分人的脑海里想到的就是一个像波浪一样不断变化的波形,就像上面画的那个正弦波。
如果们查阅网络上的说明,通常会先看到wikipedia(维基百科)的定义,这里有件有趣的事。
中文的维基百科(http://zh.wikipedia.org)解释为:是指大小和方向都发生周期性变化的电流。
英文的维基百科(http://en.wikipedia.org)解释为:传输方向周期性发生交替变化的电流(the movement of electric charge periodically reverses direction)
而且两者给的图示都不同:(第一个是中文版提供的动态gif,第二是英文版给的静态图)
[ Edited byRoamvalley on 2010-7-11 22:49 ] 中文版的这个图的确花哨,可惜精力用错了地方。
看第二章图,蓝线和灰线算是直流呢还是交流呢?这种对比的画法更有利于消除我们对交流电那含糊不清的感性认识。
我们可以这样定义,横坐标以上的表示:电流从导线的A端流向B端,横坐标以下的表示:电流从导线的B端流向A端。
按照英文版的那个定义,交流电必须跨越这个横坐标:表示电流在方向上发生变化,其次,这种变化必须是周期的。
蓝线因为没有跨越横坐标,所以不是交流电(它实际上是一种直流脉冲(pulse)信号)
灰线虽然跨越了横坐标,但变化没有规律,更谈不上周期了(倒是可以把它当作一种噪音信号)。
英文定义中的这两个词“方向交替”和“周期”决定了交流电最终要的一个性质:频率,它是指在单位时间内(一般是秒)电流方向变化的次数。
所以不要看到波就当作是交流电:D 。
题外话:中文维基里说“交流电由发明家尼古拉·特斯拉(Nikola Tesla)所最先研制”,特斯拉可是一个相当传奇的人阿,大家可以google.但这句话说得有些搞笑了,交流电只是电流传输的一种特性一种存在,我们只能说是发现了交流电、直流电,它是自然存在于这个世界的,怎么能说是某个人发明的呢,最多说某人发明了交流发电机罢了。
英文版就没这么说了,“The first inventor to use alternating current was apparently Guillaume Duchenne, the developer of electrotherapy“,解释过来就是:是Guillaume Duchenne最早在他的发明中使用了交流电。
[ Edited byRoamvalley on 2010-7-11 22:56 ] 交流电的特新给我们在计算上带来不少问题,在高中时期学的电阻欧姆计算公式:
U=I*R
其中U和I都是不变的,那么算某个电阻的在特定电压下的功率则是:
P=UI=U^2/R
问题是交流电的电压U一直都在变,这个P该怎么确定。高中和大学学的具体内容我也记不得了,可能都已经谈到过交流电的有效电压和有效电流这个概念,就是说:把正弦(其它复杂波形不谈了)曲线转化为一个等效的直线,看附图中两条水平的绿线,就是把正弦曲线围起来的面积要等价于方框的面积(图画得不好,只能表达个意思),这里使用到了定积分。
∫sinx (π>x>0)
我们使用maxima软件,计算这个定积分的结果:
∫sinx (π>x>0) = 2
maxima里的表达式为:integrate(sin(x), x, 0, %pi);
那么这条直线的纵坐标数值就是 2/π=0.64,这也就是交流电有效值的计算过程。
(手工计算这个定积分很简单,但学会使用工具对将来更有意义,这让我想到国内的一些教育方式,在说清楚计算的概念后,为什么能用计算器直截了当得算出结果还偏偏要学生一遍又一遍得手工计算1+2=3,难道把简单的计算公式算上成千上万遍后能培养出有创造力的学生?还有那些教学生能心算多少多少位的乘法除法,算出来了又怎么样?是能算出数学家还是做小生意时不吃亏?悲哀。数学是要训练思维能力,而不是公式)
[ Edited byRoamvalley on 2010-7-11 23:48 ] Posted by Roamvalley on 2010-7-9 23:58 http://www.ibmnb.com/images/common/back.gif
我试了一下Dia,绘图功能很强,的确是个好工具。
但有两个问题:
1、元件不能自由的90度旋转
2、无法和EDA系列的软件配合使用,画出的电路图无法送入模拟器去观察电路的特性。
有时间的话一起交流交流
Dia临时画点示意图应该不错,要不您看看这个如何
Electric 一种先进的电气 CAD 系统,能够处理各种形式的电路设计,包括定制 IC 设计(专用集成电路)、示意图、硬件描述语言规范、机电混合布局。
官方网站:http://www.staticfreesoft.com 作VLSI的,我现在还用不上,好东西先收了。
timogen ,你在生产环境里用这个吗? Posted by Roamvalley on 2010-7-12 12:23 http://www.ibmnb.com/images/common/back.gif
作VLSI的,我现在还用不上,好东西先收了。
timogen ,你在生产环境里用这个吗?
我项目经理是M$的,所以也只有.net环境的开发
linux我是自己业余玩玩的~~~ 不是,我是指Electic,你用这个软件设计电路吗? 没 是网上看来的 貌似评价不错 向楼主学习,向楼主致敬!
我也很想学一些电子技术知识,希望能得到楼主这样的良师益友的不吝赐教。
先打算买本楼主推荐的《晶体管电路设计》,不知是不是如下的版本(注意不是一个译者):
晶体管电路设计(上)——实用电子电路设计丛书
作者:(日本)铃木雅臣 著,周南生 译 出版社:科学出版社 出版时间:2004年09月
晶体管电路设计(下)——实用电子电路设计丛书
作者:(日)铃木雅臣 著,彭军 译 出版社:科学出版社 出版时间:2005年02月
另外看到当当上还有一本,评价也不错,不知楼主看过否:
电子设计从零开始
作 者: 杨欣,王玉凤,刘湘黔 编著
出 版 社: 清华大学出版社
出版时间: 2005-10-1
版 次: 1
页 数: 353
I S B N : 9787302115090
另外,楼主还有其他入门书推荐码?数字电路方面有无推荐?
谢谢! 对,就是这两本。
另外,我参考的都是电子版的书,要么是网上的资料。
这里有几个非常好的网址,是英文的,看起来有点麻烦:
http://www.allaboutcircuits.com/ 介绍电路的基本知识,非常好,《晶体管电路设计》只介绍了BJT和FET,其它的都不包括,你可以在这个网址上看到很全的基础知识。
另外还有些电子书:
[模拟和数字电子电路基础].Agarwal.&.Lang.(2005).Foundations.of.Analog.and.Digital.Electronic.Circuits.pdf(英文的)
[数字逻辑设计].(美国)Brian.Holdsworth.清晰版.pdf(中文的)
你可以密我mail,我给你发电子版,比较大,都在20-30几M 另外,铃木雅臣的书我还买了《OP放大电路设计》《震荡电路设计》和《数字逻辑电路的ASIC设计》 电容
刚学习完交流电的基本特性,这里将介绍常见元件在交流环境下的特点和计算。
一般的书上在这个阶段都是先介绍电阻,侧重于晶体管的书大多是开始讲二极管。而这里我选择的是电容,目的配合上面还没彻底分析完的放大电路。
电容通常被当作电荷容器,最早的莱顿瓶就是一个大电容,早期科学家都是用它来存储来之不易的静电。从结构上看,它是两片导体中间夹了绝缘物质(这个说法不准确,但最符合电容符号的形象),两片导体上可以聚集极性相反的电子(负电子和正电子,正电子是被科学家杜撰出来的,它的流动方向被定义为电流的方向)。
在中学的时候,我们学习过电场这个概念,电容一旦被充电后,两片导体间就会形成电场,电场是一种能量的存在形式,充电过程就是把电池的能量(通常是化学能)转为电场能。我们可以把电容看作是一个电池,不同于普通电池的地方在于它内部是电场能,而不是化学能。
这里要谈到重点了,当充电的过程中,电子从电源流向电容,在两片导体上逐步累积,由于电容可以看作是电池,电子累积时电容的两端会形成一个和电源对抗的电压,这个电压试图阻值继续充电,这个过程一直持续到电容上累积电荷形成的电压和电源电压一样大时,此时充电截止。
这个过程引发了一个重要概念:容抗。
电容还有其它的一些要素,但容抗相当重要,它是电容在交流环境下常用的计算参数。
容抗的计算公式被定义为:
Xc=1/(2πfC)
其中f表示交流电源的频率,C表示电容的系数,单位是法拉(法拉第)。通常2πf被表示为ω,所以上面那个公式又可以写成:
Xc=1/(ωC)
为什么冒出这个符号ω?原因是在物理现象中,2πf经常被定义为“角速度(radians per second)”,这个定义应用面很广,不仅是电子学领域。所以惯例上有了ω这么个缩写。
那么容抗Xc是怎么来的呢?
我们知道电阻的阻抗计算公式,在直流电源环境下,阻抗的计算公式为
R=U/I
容抗是个类似概念,它也是用U除以I,不同的地方在于,上面阻抗的公式是用于直流环境,而感抗通常是在交流环境下计算的,交流电的电压大小总是变来变去,参考前面画的那个正弦波,我们取哪一个点的电压和电流来计算感抗?最简单的方法就是拿正弦波最高点的电压除以电流。
在《晶体管电路设计》中,波形(电压)最高点的数值一般用Up表示,这里的p是peak的缩写,表示“满了”,此时电流的用Ip表示,只要算出最高点时的容抗就可以了,因为在交流电源的频率恒定时,容抗也是恒定的,也就是说波形上任意点的容抗都一样,采用一个方便计算的点(p点)就可以了。
那么:
Xc=Up/Ip (公式一)
再定义交流电源的供电电压公式为:
u=Up*sin(ω*t) (公式二)
u表示某个时间点上的电压(instantaneous voltage),时间参数为t(也就是前面那个正弦波的横轴单位),这里强烈建议大家看看ω角速度的定义,就会对这个公式一目了然了。
同理:
i=Ip*sin(ω*t) (公式三)
i表示某个时间上的电流(instantaneous current),其它的同公式二一样理解。
电容在任意时间(充放电过程)上的电流大小为:
i=C*(du/dt) (公式四)
注意,这里引入了微积分的导数概念了,其中C表示电容容量,是一个常数,u前面已经定义过了,t是时间参数。
将公式二带入公式四:
i=C*(d(Up*sin(ω*t))/dt)
使用符号计算软件maxima,可以得知:
i=C*ω*Up*cos(ω*t)
再根据三角函数的公式:cos(x)=sin(x+π/2),将上式继续推导为
i=C*ω*Up*sin(ω*t+π/2) (公式五)
综合公式三和公式五,推导出:
Ip*sin(ω*t)=C*ω*Up*sin(ω*t+π/2)
导出:
Up/Ip=sin(ω*t)/C*ω*sin(ω*t+π/2)
如果我们定义Up和Ip的相位差为π/2,那么上面这个式子的数值结果就是
Up/Ip=1/C*ω
这个就是我们要的交流环境下的容抗Xc
很多人在学习容抗时只记得
Xc=1/C*ω (电压和电流相位差为π/2)
当我非常建议了解它的推导过程,这有利于我们理解以后的震荡电路计算过程,很多初学者在看到放大电路和震荡电路中用到复数公式迷惑不解,就是因为他们只记公式结果,而不知其所以然。等到学习无线电部分后就彻底晕了。