跳至主要内容

【转】三极管放大原理

一、三极管的电流放大原理

晶体三极管(以下简称三极管)按材料分有两种:锗管和硅管。 而每一种又有NPN和PNP两种结构形式,但使用最多的是硅NPN和PNP两种三极管,两者除了电源极性不同外,其工作原理都是相同的,下面仅介绍NPN硅管的电流放大原理。

图一:晶体三极管(NPN)的结构


图一是NPN管的结构图,它是由2块N型半导体中间夹着一块P型半导体所组成,从图可见发射区与基区之间形成的PN结称为发射结,而集电区与基区形成的 PN结称为集电结,三条引线分别称为发射极e、基极b和集电极。当b点电位高于e点电位零点几伏时,发射结处于正偏状态,而C点电位高于b点电位几伏时,集电结处于反偏状态,集电极电源Ec要高于基极电源Ebo。
         在制造三极管时,有意识地使发射区的多数载流子浓度大于基区的,同时基区做得很薄,而且,要严格控制杂质含量,这样,一旦接通电源后,由于发射结正确,发射区的多数载流子(电子)及基区的多数载流子(控穴)很容易地截越过发射结构互相向反方各扩散,但因前者的浓度基大于后者,所以通过发射结的电流基本上是电子流,这股电子流称为发射极电流Ie。由于基区很薄,加上集电结的反偏,注入基区的电子大部分越过集电结进入集电区而形成集电集电流Ic,只剩下很少(1-10%)的电子在基区的空穴进行复合,被复合掉的基区空穴由基极电源Eb重新补纪念给,从而形成了基极电流Ibo根据电流连续性原理得: Ie=Ib+Ic 这就是说,在基极补充一个很小的Ib,就可以在集电极上得到一个较大的Ic,这就是所谓电流放大作用,Ic与Ib是维持一定的比例关系,即: β1=Ic/Ib 式中:β--称为直流放大倍数, 集电极电流的变化量△Ic与基极电流的变化量△Ib之比为: β= △Ic/△Ib 式中β--称为交流电流放大倍数,由于低频时β1和β的数值相差不大,所以有时为了方便起见,对两者不作严格区分,β值约为几十至一百多。三极管是一种电流放大器件,但在实际使用中常常利用三极管的电流放大作用,通过电阻转变为电压放大作用。

二、晶体三极管的开关特性

      1、静态特性

    晶体三极管由集电结和发射结两个PN结构成。根据两个PN结的偏置极性,三极管有截止、放大、饱和3种工作状态。图3.5(a)和(b)分别给出了一个用NPN型共发射极晶体三极管组成的简单电路及其输出特性曲线。

                       

   
该电路工作特点如下:

    1). 截止状态 :     uB<0,两个PN结均为反偏,iB≈0,iC≈0,uCE≈UCC。三极管呈现高阻抗,类似于开关断开。
    2). 放大状态 :     uB>0,发射结正偏,集电结反偏,iC=βiB。
    3). 饱和状态 :   uB>0,两个PN结均为正偏,iB≥IBS(基极临界饱和电流)≈UCC/βRc ,此时iC=ICS(集电极饱和电流)≈UCC/Rc 。三极管呈现低阻抗,类似于开关接通。

    
在数字逻辑电路中,三极管被作为开关元件工作在饱和与截止两种状态,相当于一个由基极信号控制的无触点开关,其作用对应于触点开关的"闭合"与"断开"
。
    
图3.6(a)、(b)给出了图3.5 所示电路在三极管截止与饱和状态下的等效电路。

图3.5    晶体三极管电路及其输出特性曲线

                      

      2、动态特性

    晶体三极管在饱和与截止两种状态转换过程中具有的特性称为三极管的动态特性。

    
三极管的开关过程和二极管一样,管子内部也存在着电荷的建立与消失过程。因此,饱和与截止两种状态的转换也需要一定的时间才能完成。
    假如在图3.5(a)所示电路的输入端输入一个理想的矩形波电压,那么,在理想情况下,iC和UCE的波形应该如图3.7(a)所示。但实际转换过程中iC和UCE的波形如图3.7(b)所示,无论从截止转向导通还是从导通转向截止都存在一个逐渐变化的过程。

图3.6  三极管截止与饱和状态下的等效电路  
    晶体三极管在截止与饱和这两种稳态下的特性称为三极管的静态开关特性。


                        

      1.开通时间

    开通时间:三极管从截止状态到饱和状态所需要的时间称为开通时间。
    三极管处于截止状态时,发射结反偏,空间电荷区比较宽。当输入信号ui由-U1跳变到+U2时,由于发射结空间电荷区仍保持在截止时的宽度,故发射区的电子还不能立即穿过发射结到达基区。这时发射区的电子进入空间电荷区,使空间电荷区变窄,然后发射区开始向基区发射电子,晶体管开始导通。这个过程所需要的时间称为延迟时间td 。
    经过延迟时间td后,发射区不断向基区注入电子,电子在基区积累,并向集电区扩散,形成集电极电流iC。随着基区电子浓度的增加,iC不断增大。iC上升到最大值的90%所需要的时间称为上升时间tr。

                         开通时间ton =td+tr

    开通时间的长短取决于晶体管的结构和电路工作条件。

      2.关闭时间

    关闭时间:三极管从饱和状态到截止状态所需要的时间称为关闭时间。
    进入饱和状态后,集电极收集电子的能力减弱,过剩的电子在基区不断积累起来,称为超量存储电荷,同时集电区靠近边界处也积累起一定的空穴,集电结处于正向偏置。
    
当输入电压ui由+U2跳变到-U1时,存储电荷不能立即消失,而是在反向电压作用下产生漂移运动而形成反向基流,促使超量存储电荷泄放。在存储电荷完全消失前,集电极电流维持ICS不变,直至存储电荷全部消散,晶体管才开始退出饱和状态,iC开始下降。这个过程所需要的时间称为存储时间ts。
    基区存储的多余电荷全部消失后,基区中的电子在反向电压作用下越来越少,集电极电流iC也不断减小,并逐渐接近于零。集电极电流由0.9ICS降至0.1ICS所需的时间称为下降时间tf。

                    关闭时间toff=ts+tf

    同样,关闭时间的长短取决于三极管的结构和运用情况。
    
开通时间ton和关闭时间toff的大小反映了三极管由截止到饱和与从饱和到截止的开关速度,它们是影响电路工作速度的主要因素。

三极管放大原理(形象)

对三极管放大作用的理解,切记一点:能量不会无缘无故的产生,所以,三极管一定不会产生能量,。

但三极管厉害的地方在于:它可以通过小电流控制大电流

放大的原理就在于:通过小的交流输入,控制大的静态直流。

假设三极管是个大坝,这个大坝奇怪的地方是,有两个阀门,一个大阀门,一个小阀门。小阀门可以用人力打开,大阀门很重,人力是打不开的,只能通过小阀门的水力打开。

所以,平常的工作流程便是,每当放水的时候,人们就打开小阀门,很小的水流涓涓流出,这涓涓细流冲击大阀门的开关,大阀门随之打开,汹涌的江水滔滔流下。

如果不停地改变小阀门开启的大小,那么大阀门也相应地不停改变,假若能严格地按比例改变,那么,完美的控制就完成了。

在这里,Ube就是小水流,Uce就是大水流,人就是输入信号。当然,如果把水流比为电流的话,会更确切,因为三极管毕竟是一个电流控制元件。

如果某一天,天气很旱,江水没有了,也就是大的水流那边是空的。管理员这时候打开了小阀门,尽管小阀门还是一如既往地冲击大阀门,并使之开启,但因为没有水流的存在,所以,并没有水流出来。这就是三极管中的截止区。

饱和区是一样的,因为此时江水达到了很大很大的程度,管理员开的阀门大小已经没用了。如果不开阀门江水就自己冲开了,这就是二极管的击穿。

在模拟电路中,一般阀门是半开的,通过控制其开启大小来决定输出水流的大小。没有信号的时候,水流也会流,所以,不工作的时候,也会有功耗。

而在数字电路中,阀门则处于开或是关两个状态。当不工作的时候,阀门是完全关闭的,没有功耗。

评论

此博客中的热门博文

【转】嵌入式开发中使用DDD进行调试

 在嵌入式程序开发过程中,程序员要进行大量的调试,以此验证程序的正确性,修改潜在的错误。调试器对于程序员来说是不可或缺的必备工具。在Linux环境中,有很多调试工具和调试辅助工具,例如GDB、XXGDB、RHIDE、XWPE、GVD和DDD等。其中,DDD是命令行调试器的图形前端,除了一般的程序调试功能以外,还具有交互式图形数据显示的功能。它在嵌入式应用开发中也十分出色。本文主要讲述DDD(Data Display Debugger)的使用方法。      1.认识DDD     GNU DDD是命令行调试程序,如GDB、DBX、WDB、Ladebug、JDB、XDB、Perl Debugger或Python Debugger的可视化图形前端。它特有的图形数据显示功能(Graphical Data Display)可以把数据结构按照图形的方式显示出来。DDD最初源于1990年Andreas Zeller编写的VSL结构化语言,后来经过一些程序员的努力,演化成今天的模样。DDD的功能非常强大,可以调试用C\C++、Ada、 Fortran、Pascal、Modula-2和Modula-3编写的程序;可以超文本方式浏览源代码;能够进行断点设置、回溯调试和历史纪录编辑;具有程序在终端运行的仿真窗口,并在远程主机上进行调试的能力;图形数据显示功能(Graphical Data Display)是创建该调试器的初衷之一,能够显示各种数据结构之间的关系,并将数据结构以图形化形式显示;具有GDB/DBX/XDB的命令行界面,包括完全的文本编辑、历史纪录、搜寻引擎。     DDD是开源软件,用户可以去 http://www.cs.tubs.de/softech/ddd/ 下载.rpm格式的DDD源码文件。      图1显示的是DDD的主窗口。它主要由选单栏、工具条、数据窗口、源文件窗口、机器码窗口、控制台和命令工具窗口等几部分组成。其中,数据窗口用于观察复杂的数据结构,在删除数据之后,显示仍然有效;源文件窗口显示源代码、断点和当前执行到达的位置,选择该窗口中的"Display"项,可以显示任意表达式的值;机...

【转】cs8900网卡的移植至基于linux2.6内核的s3c2410平台

cs8900网卡的移植至基于linux2.6内核的s3c2410平台(转) 2008-03-11 20:58 硬件环境:SBC-2410X开发板(CPU:S3C2410X) 内核版本:2.6.11.1 运行环境:Debian2.6.8 交叉编译环境:gcc-3.3.4-glibc-2.3.3 第一部分 网卡CS8900A驱动程序的移植 一、从网上将Linux内核源代码下载到本机上,并将其解压: #tar jxf linux-2.6.11.1.tar.bz2 二、打开内核顶层目录中的Makefile文件,这个文件中需要修改的内容包括以下两个方面。 (1)指定目标平台。 移植前:         ARCH?= $(SUBARCH) 移植后: ARCH            :=arm (2)指定交叉编译器。 移植前: CROSS_COMPILE ?= 移植后: CROSS_COMPILE   :=/opt/crosstool/arm-s3c2410-linux-gnu/gcc-3.3.4-glibc-2.3.3/bin/arm-s3c2410-linux-gnu- 注:这里假设编译器就放在本机的那个目录下。 三、添加驱动程序源代码,这涉及到以下几个方面。(1)、从网上下载了cs8900.c和cs8900.h两个针对2.6.7的内核的驱动程序源代码,将其放在drivers/net/arm/目录下面。 #cp cs8900.c ./drivers/net/arm/ #cp cs8900.h ./drivers/net/arm/ 并在cs8900_probe()函数中,memset (&priv,0,sizeof (cs8900_t));函数之后添加如下两条语句: __raw_writel(0x2211d110,S3C2410_BWSCON); __raw_writel(0x1f7c,S3C2410_BANKCON3); 注:其原因在"第二部分"解释。 (2)、修改drivers/net/arm/目录下的Kconfig文件,在最后添加如...

【转】函数指针和指针函数

【函数指针】        在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。 1.函数指针定义 函数类型 (*指针变量名)(形参列表); "函数类型"说明函数的返回类型,由于"()"的优先级高于"*",所以指针变量名外的括号必不可少,后面的"形参列表"表示指针变量指向的函数所带的参数列表。 例如: int (*f)(int x); double (*ptr)(double x); 在定义函数指针时请注意:     函数指针和它指向的函数的参数个数和类型都应该是―致的; 函数指针的类型和函数的返回值类型也必须是一致的。 2.函数指针的赋值 函数名和数组名一样代表了函数代码的首地址,因此在赋值时,直接将函数指针指向函数名就行了。 例如, int func(int x);   /* 声明一个函数 */ int (*f) (int x);    /* 声明一个函数指针 */ f=func;            /* 将func函数的首地址赋给指针f */ 赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。 3.通过函数指针调用函数 函数指针是通过函数名及有关参数进行调用的。 与其他指针变量相类似,如果指针变量pi是指向某整型变量i的指针,则*p等于它所指的变量i;如果pf是指向某浮点型变量f的指针,则*pf就等价于它所指的变量f。同样地,*f是指向函数func(x)的指针,则*f就代表它所指向的函数func。所以在执行了f=func;之后,(*f)和func代表同一函数。 由于函数指针指向存储区中的某个函数,因此可以通过函数指针调用相应的函数。现在我们就讨论如何用函数指针调用函数,它应执行下面三步: 首先,要说明函数指针变量。 例如:int (*f)...