EDN首页   博客首页

最新日志

发表于:2007-9-24 18:47:50
标签:无标签

0

如何使用PC并口与2线设备通信

本篇应用笔记目的是演示如何使用PC并口构建一种快速、简单和经济的2线(与I2C兼容)接口。虽然存在好多解决方案,在本篇笔记中给出的方案不需要微处理器、固件,也不存在购买芯片的困难。而是通过Windows软件,帮助解决同时调试硬件和软件的困难。在给出的软件的同时,也给出几个调试工具,能够使硬件快速工作运行。

       既然硬件并不与PC接口,不需要作标准的声明。虽然给出的硬件和软件一起构建和测试,用户使用有一定的风险。确保再三地检查所有的连接和电源电压,因为电源直接连接到PC的并口电路。Dallas Semiconductor/Maxim对可能引起的损害不负任何责任。本解决方案仅用于评估目的,不是用于产品或者发行品。虽然现在的软件仅适用于Win95/98,将来的版本会支持Win NT。

       为什么使用并口,而不是串口或者USB?

     

;  在本篇应用笔记中选择并口作为接口是因为目标是建造一种快速、简单和经济的接口。这个并行接口是基于74HC05逻辑芯片和一些无源元件。另外一个方面,串口解决方案需要一个微处理器、固件、编程器或者系统可编程、电平转换、晶体以及更多的无源器件。同样地,USB除了工作量大的软件和固件投入外,也需要相当数目的硬件。而且调试USB硬件经常需要昂贵的协议分析仪。因此,根据我们的目标,很明显地选择并口。然而在作出最终决定时,必须分析缺点以确保这些缺点是可容忍的。

       并口最大的缺点是它的未来。更多的PC制造商放弃了并口和串口,转而支持USB。并口的另外一个缺点是大多数的配置需要在PC的BIOS里设置。这意味着在PC和硬件之间不能建立通信时,PC必须重新启动才能进入BIOS工具(通常在启动时按F1或者DEL键)设置并口配置。在工程或者评估环境中,中断不会花费太多时间,而一旦投入到市场中大量的支持将成为问题。虽然更大的麻烦是PC之间的差异。因为并口是遗留硬件,好多年来一直在发展变化和改进。然而,在设计硬件时,要使硬件能够工作在老版本和新版本的并口上。这样在设计接口硬件时必须作个假设(定时和电气)。最后,另外一个缺点是操作系统,在Windows NT系统中,需要设备驱动程序。Windows NT不允许用户程序直接读/写硬件寄存器。在软件方面如果购买驱动程序的话是非常昂贵的。

       幸运的是,在评估环境中使用Windows 95和Windows 98并不是很麻烦,一旦软件修正以支持Windows NT则不必在意这个话题。

       硬件

       图1给出了并行2线接口原理图。很容易获得所有的元器件。可使用表贴元件或者直插元件构建接口。

PC 2线接口原理图

                                                                          图1 PC 2线接口原理图

       2线设备通信

      
该接口基于一个74HC05芯片构建,在原理图中以U1表示。74HC05包含六个集电极开路输出的反相器 。在本应用中该芯片具有好几个功能。首先,它为PC并口电路与下一级电路提供隔离功能。同时将并口的TTL信号转成2线接口需要 的集电极开路输出。集电极开路输出需要连接双向SDA信号到一个专门的并口输入引脚和一个专门的并口输出引脚(与使用一个并口双向引脚的情形相反,这通常需要用户设置PC BIOS)。

       既然2线接口的SCL信号对芯片来说为仅输入(不实现时钟扩展),可使用并口的D0产生SCL (PC DB-25连接器的引脚2),配置为输出。 D0连接到74HC05反相器(U1E)的一个输入。然而,一些并口可能不能输出足够高的电压,反相器无法判断电压为高电平,所以电阻R3用作上拉电阻使接口对PC之间的差异不敏感。同样地,为补偿这种差异,电容C4作为一个空的元件包括进去,如果与带有噪声的PC并口连接时可将C4安装上去。对大多数应用不需要该电容,但是如果PCB正在构建,并不影响,至少包括电容的封装。最后,反相器U1E的输出为SCL。因为输出为漏极开路,需要上拉电阻R1实现高电平逻辑。
另外一个方面SDA信号是双向。使用一个输入引脚(PC DB-25连接器引脚12)和一个输出引脚(D1, PC DB-25连接器引脚3)实现双向工作。从PC到2线设备的

通信由产生SCL信号的同样电路实现。并口的输出D1连接到另外74HC05 (U1)的另一个反相器的输入(U1A)。再强调一次,为保证并口高电平逻辑足够高,反相器能够正确判断,上拉电阻R4将信号D1电平上拉到VCC。同样地,电容C5作为一个空的元件,在遇到噪声的并口时可安装用以滤波。反相器的输出为漏极开路,需要R2实现高电平逻辑。

       使用并口的一个输入引脚(引脚12)和74HC05反相器(U1B)实现从2线设备到PC的SDA通信。应该指出的是,为使设备能够与PC通信,应用软件必须使D1为低电平,这样反相器的输出释放SDA,允许2线设备控制SDA。反相器U1B的输入监视SDA。反相器的输出通过R6上拉到VCC,R6负责判定高电平逻辑。串联电阻R5用作冲突状态下的保护。在这个例子中不需要串联电阻,因为并口的引脚12仅用作输入。如果使用并口引脚作为输入输出,在并口输出高电平电压且外部将高电平电压加入到并口上时这个电阻变得非常重要。即使应用软件没有导致冲突,可能另外一个程序也要在一段时间内访问该端口(例如,操作系统周期性搜索打印机)。

       仅需要74HC05六个反相器中的三个用于实现2线通信,其余三个反相器并未没用。为避免浪费,原理图也包括了一个可选的电路,使用两个未使用的门驱动LED,可在软件控制下开启或者关闭。并口引脚17为输出引脚,用于控制反相器U1C和U1D,并行提供足够的拉电流驱动各种LED。电阻R7,与R3、R4一样,使反相器输入具有足够高的电压,确保高电平逻辑。电阻R8是LED限流电阻,用于控制LED的亮度。有趣的是,并口引脚17,对PC内部有反相器。对引脚17写0将转化成高电平,在到达DB25之前。高电平输入到U1C和U1D引起输出低电平,打开LED。

       其余没有用到的反相器输入应当连接到GND,输出高阻以防止冲突。

       电容C1和C2用于电源电压的旁路,尽量靠近PCB上电源。同样地,去藕电容C3应该尽可能靠近74HC05的VCC和GND放置。

       当连接SCL和SDA到2线设备时,应确保接口地与2线设备地共地。如果接口的SCL和SDA连接到包含2线设备的电路时,注意R1和R2与应用电路2线上拉电阻并联。如果你计划在电路内与2线设备连接,可适当调整R1和R2,如果应用电路已经有SDA和SCL上拉电阻,可去掉R1和R2。

       最后,在原理图中给出的,阴型DB25接口用在接口原型中。在原理图中给出了制造商和器件型号以及阳型DB25电缆。取决于电源,很容易使用阳型DB25连接器和DB25阳型到阴型电缆。

       并口寄存器

       PC与接口之间的通信使用三个寄存器中的四位实现(表1)。并口(LPT1)缺省基地址为378h。其余的两个可能地址为3BCh和278h。基地址为8位数据字节的地址。该字节包含控制引脚D7-D0的位,最低有效位(LSB)为D0。在数据字节后面、基地址+1处的字节为状态字节。在给出的原理图中,状态 字节的第5位(位0为LSB)为SDA的输入。状态字节位5的读数指示SDA的状态(通过U1B的倒相)。在执行读操作之前,确保数据字节中的D1写为低电平使得反相器U1A为高阻,允许反相器U1B检测SDA的状态。状态字节之后基地址+2处的字节为控制字节。我们感兴趣的是控制字节的位3(位0为LSB)。位3通过PC内部的反相器,然后输出到PC的DB25接口的引脚17。该位使能LED或者使LED无效。读写该位的例子后面的章节给出。


       校验和调试硬件

       一旦硬件完成构建,首先对硬件做仔细检查。在连接到PC或者电源之前,确保所有的连接是安全的、正确的,且没有短路存在。确保VCC没有连接到地。一旦执行这些防范措施后,连接5V电源到该接口(不要连接并口电缆)。如果电源有电流读数,确保电流不超过10mA到15mA。如果出现更大的电流,再三检查所有连接。确保芯片连接正确,再次检查可能用到的极性电容的极性,比如C1。另一个可能导致大工作电流是不正确的上拉电阻的阻值

,比如使用470Ω代替4.7kΩ电阻会导致电流增大。

       如果一切都正常,连接并口电缆。由于上拉电阻的存在,电流稍微发生变化。到此你可以试试附送的软件,或者根据下一部分学会如何使用微软的调试工具直接读写并口寄存器,这样可以校验或者调试硬件。使用Debug Microsoft Windows 95和98和DOS工具Debug读写并口寄存器。虽然Windows NT包含Debug工具,但是操作系统不允许直接访问硬件。在NT使用Debug对硬件不会有任何效果。为运行Debug,单击Sart菜单选择Run命令..在编辑框输入Debug。带“-”提示符的DOS窗口出现。图2给出了Debug的屏幕截图。很容易使用Debug。例如,读字节地址378h,在提示符“-”后输入:。

       i 378

       结果是从指定地址中读出两个数字(一个字节)十六进制数。可使用Debug写存储器。例如,将00h写入378h,输入以下然后回车。

       建议小心使用Debug,仅可、访问已知的寄存器。访问其他的寄存器会可能导致未知或者不希望的副效果。键入q退出Debug, 键入?寻求帮助。这里给出使用Debug校验/条是硬件的例子(使用缺省的LPT地址)。图2的Debug屏幕截图给出了这些例子。

       -i 378 读数据字节。
       -o 378 00 数据字节写为00h。SDA和SCL输出高电平。
       -i 378 读数据字节。这会返回00,因为刚写入00。
       -o 378 01 使SCL低电平,SDA高电平。
       -o 378 02 使SDA低电平,SCL高电平。
       -o 378 03 SDA 和SCL输出低电平。
       -o 378 00 在执行下列命令时确保SDA为高电平。
       -i 379 这返回SDA的状态。如果位5为0,则SDA为高电平,如果位5为1,SDA为低电平。

       注意要读入SDA的值,数据字节应首先写入0, 这样反相器(U1A)会释放SDA。如果外部没有将SDA拉低,位5读入为0。

       -o 378 02 使SDA为低电平。
       -i 379 读SDA状态,这时位5读入为1。

       为将LED开启和关闭。建议控制字节中未使用的的位保持不变。可通过读寄存器,然后使用与或者或操作设置清除位3。注意PC内部 有反相器。

       -i 37A 读控制字节。可看到如屏幕截图所示,PC返回0C(当前LED关闭)。为打开LED,位3必须清除,可用F7h与上控制字节的读数。对于读数0C,清除位3得到04。将其写入控制字节会开启LED.

       -o 37A 04 开启LED。

Debug屏幕视图


       并口软件工具

      
图3给出了并口软件的屏幕截图,该软件专为本篇应用程序中的硬件设计。可从以下地址下载: http://files.dalsemi.com/system_extension/AppNotes/AN3230/ParallelPort.exe 屏幕截图可能与所下载的程序稍微有出入,因为软件有可能改进了或者增添了功能。

并口工具屏幕视图


       软件缺省的LPT地址为378h。如果发现软件不能

与硬件通信,可以选择不同端口的地址。最容易判断软件是否与硬件通信的方法是单击LED On和LED Off按钮。如果成功,单击Test按钮,它控制D1 (U1A),从U1B读入值。读数结果会显示在状态栏里。

       忽略同步脉冲。如果你希望使用示波器捕捉2线通信,可以使能同步脉冲,将示波器探针放到DB25的引脚17上,作为触发器。

       到此,可以准备与你已连接的2线设备通信了。确保设备的SDA, SCL和GND连接到硬件上。确保74HC05的VCC尽可能等于设备的VCC。

       有两种方法可以与设备通信,首先需要确保软件知道2线设备从地址通信。软件缺省地址为A0 (hex),这恰好为数字电压表的地址,虽然这常取决于设备地址引脚,如果有许多的话。要改变2线设备地址,在编辑框中键入地址,单击“Change”。如果不知道2线设备的地址,请检查设备数据手册。

       最容易读写一个或者两个字节设备寄存器的方法是使用软件中的“One and Two Byte Reads/Writes”部分。该部分适合对设备编程/配置,因为2线设备中所有细节(start, stop, ACK, NACK, 等)自动隐藏。只需要输入需要的存储器地址去读或者读或者写。如果希望写,用需要的数据填充“DATA”域。

       与设备通信的另外一种方法是用“2-Wire Functions”部分,如果需要学习2线设备协议,这部分功能很适合。在演示例子之前,需要解释几个按钮的含义。“Send Write”按钮是用2线地址从2线地址域,将LSB (R/W位)屏蔽为0,然后发送8位。“Send Read”按钮是用同样的2线地址,但是将LSB (R/W位)屏蔽为1,指示下一步将进行读操作。8位数据发送。“Bus Reset”按钮在SCL输出9个时钟周期,重新设置2线设备总线。

       例子(使用缺省的从地址)

      
1. 写存储器地址7Fh到01h。

       Start
       Send Write
       Data [7F]
       Data [01]
       Stop

       2. 读存储器地址7Fh (一个字节)。

       Start
       Send Write
       Data [7F]
       Start——通常称作重新读。
       Send Read - 这里使用Rd w/NACK - Rd w/NACK是因为仅读1个字节。
       Stop

       3. 读存储器地址F0h和F1h (多个字节读)。

       Start
       Send Write
       Data [F0]
       Start
       Send Read
       Rd w/ACK - 如果超过2字节需要读,命令会重复。
   
;    Rd w/NACK - 最后的读必须是w/NACK。
       Stop

       结论

       本篇应用笔记描述了如何使用PC并口构建一个简单、经济和快速的2线接口。除了原理图外,还提供软件帮助构建硬件。一旦硬件构建完毕,软件可立即用于与Dallas Semiconductor2线设备通信,不需要写任何软件.

点击此处查看原文 >>

系统分类: 接口电路   |    用户分类: 无分类    |    来源: 转贴

评论(1) | 阅读(285)
发表于:2007-9-24 18:39:11
标签:无标签

1

怎样去理解去耦电容

怎样去理解去耦电容【转载】

【1】去:消除,去掉。
耦:耦合,不是辐射

【2】1,耦合,有联系的意思。
2,耦合元件,尤其是指使输入输出产生联系的元件。
3,去耦合元件,指消除信号联系的元件。
4,去耦合电容简称去耦电容。
5,例如,晶体管放大器发射极有一个自给偏压电阻,它同时又使信号产生压降反馈到输入端形成了输入输出信号耦合,这个电阻就是产生了耦合的元件,如果在这个电阻两端并联一个电容,由于适当容量的电容器对交流信号较小的阻抗(这需要计算)这样就减小了电阻产生的耦合效应,故称此电容为去耦电容。

【3】从电路来说,总是存在驱动的源和被驱动的负载。如果负载电容比较大,驱动电路要把电容充电、放电,才能完成信号的跳变,在上升沿比较陡峭的时候,电流比较大,这样驱动的电流就会吸收很大的电源电流,由于电路中的电感,电阻(特别是芯片管脚上的电感,会产生反弹),这种电流相对于正常情况来说实际上就是一种噪声,会影响前级的正常工作。这就是耦合。
去藕电容就是起到一个电池的作用,满足驱动电路电流的变化,避免相互间的耦合干扰。
旁路电容实际也是去藕合的,只是旁路电容一般是指高频旁路,也就是给高频的开关噪声提高一条低阻抗泄防途径。高频旁路电容一般比较小,根据谐振频率一般是0.1u,0.01u等,而去耦合电容一般比较大,是10u或者更大,依据电路中分布参数,以及驱动电流的变化大小来确定。

【4】去耦和旁路都可以看作滤波。正如ppxp所说,去耦电容相当于电池,避免由于电流的突变而使电压下降,相当于滤纹波。具体容值可以根据电流的大小、期望的纹波大小、作用时间的大小来计算。去耦电容一般都很大,对更高频率的噪声,基本无效。旁路电容就是针对高频来的,也就是利用了电容的频率阻抗特性。电容一般都可以看成一个RLC串联模型。在某个频率,会发生谐振,此时电容的阻抗就等于其ESR。如果看电容的频率阻抗曲线图,就会发现一般都是一个V形的曲线。具体曲线与电容的介质有关,所以选择旁路电容还要考虑电容的介质,一个比较保险的方法就是多并几个电容。
【5】去耦电容在集成电路电源和地之间的有两个作用:一方面是本集成电路的蓄能电容,另一方面旁路掉该器件的高频噪声。数字电路中典型的去耦电容值是0.1μF。这个电容的分布电感的典型值是5μH。0.1μF的去耦电容有5μH的分布电感,它的并行共振频率大约在7MHz左右,也就是说,对于10MHz以下的噪声有较好的去耦效果,对40MHz以上的噪声几乎不起作用。1μF、10μF的电容,并行共振频率在20MHz以上,去除高频噪声的效果要好一些。每10片左右集成电路要加一片充放电电容,或1个蓄能电容,可选10μF左右。最好不用电解电容,电解电容是两层薄膜卷起来的,这种卷起来的结构在高频时表现为电感。要使用钽电容或聚碳酸酯电容。去耦电容的选用并不严格,可按C=1/F,即10MHz取0.1μF,100MHz取0.01μF。

【6】一般来说,容量为uf级的电容,象电解电容或钽电容,他的电感较大,谐振频率较小,对低频信号通过较好,而对高频信号,表现出较强的电感性,阻抗较大,同时,大电容还可以起到局部电荷池的作用,可以减少局部的干扰通过电源耦合出去;容量为0.001~0.1uf的电容,一般为陶瓷电容或云母电容,电感小,谐振频率高,对高频信号的阻抗较小,可以为高频干扰信号提供一条旁路,减少外界对该局部的耦合干扰

【7】去耦电容由C1、C2、C3并联分别承担低频、高频交流成分滤波的任务。电解电容C1一般容量较大,在低频时能提供好的通路,而在高频时由于其寄生电感的存在阻抗将变大无法提供滤波通路,这里取10uF;陶瓷电容C2由于其容量一般较小,所以在低频时阻抗较大无法提供滤波通路,而在高频时阻抗变小则会有很好的滤波特性,这里取0.1uF;这样可以看出C1、C2的滤波特性是互补的,需要同时利用才能得到较宽频的有效滤波范围。当然,如果需要更宽的滤波频段还可用更多不同类型的电容并联得到,如这里的C3,取0.01uF。 电源线要尽可能宽,使阻抗降低,减小尖峰效应。去耦一定要好,数模电源
一定要分开,分别把高质量的陶瓷去耦电容尽可能近的接到各自引脚

【8】在电子电路中,去耦电容和旁路电容都是起到抗干扰的作用,电容所处的位置不同,称呼就不一样了。

对于同一个电路来说,旁路(bypass)电容是把输入信号中的高频噪声作为滤除对象,把前级携带的高频杂波滤除,而去耦(decoupling,也称退耦)电容是把输出信号的干扰作为滤除对象。
在供电电源和地之间也经常连接去耦电容,它有三个方面的作用:一是作为本集成电路的蓄能电容;二是滤除该器件产生的高频噪声,切断其通过供电回路进行传播的通路;三是防止电源携带的噪声对电路构成干扰

【9】提供情况,供参考
旁路电容不是理论概念,而是一个经常使用的实用方法,在50 -- 60年代,这个词也就有它特有的含义,现在已不多用。电子管或者晶体管是需要偏置的,就是决定工作点的直流供电条件。例如电子管的栅极相对于阴极往往要求加有负压,为了在一个直流电源下工作,就在阴极对地串接一个电阻,利用板流形成阴极的对地正电位,而栅极直流接地,这种偏置技术叫做“自偏”,但是对(交流)信号而言,这同时又是一个负反馈,为了消除这个影响,就在这个电阻上并联一个足够大的点容,这就叫旁路电容。后来也有的资料把它引申使用于类似情况。

【10】我来总结一下,旁路实际上就是给高频干扰提供一个到地的能量释放途径,不同的容值可以针对不同的频率干扰。所以一般旁路时常用一个大贴片加上一个小贴片并联使用。对于相同容量的电容的Q值我认为会影响旁路时高频干扰释放路径的阻抗,直接影响旁路的效果,对于旁路来说,希望在旁路作用时,电容的等效阻抗越小越好,这样更利于能量的排泄

【11】数字电路输出信号电平转换过程中会产生很大的冲击电流,在供电线
和电源内阻上产生较大的压降,使供电电压产生跳变,产生阻抗噪声(亦
称开关噪声),形成干扰源。
一、冲击电流的产生:
(1)输出级控制正负逻辑输出的管子短时间同时导通,产生瞬态尖峰电流
(2)受负载电容影响,输出逻辑由“0”转换至“1”时,由于对负载电容的充
    电而产生瞬态尖峰电流。
    瞬态尖峰电流可达50ma,动作时间大约几ns至几十ns。
二、降低冲击电流影响的措施:
(1)降低供电电源内阻和供电线阻抗
(2)匹配去耦电容
三、何为去耦电容
    在ic(或电路)电源线端和地线端加接的电容称为去耦电容。
四、去耦电容如何取值
    去耦电容取值一般为0.01~0.1uf,频率越高,去耦电容值越小。
五、去耦电容的种类
(1)独石  (2)玻璃釉  (3)瓷片  (4)钽
六、去耦电容的放置
    去耦电容应放置于电源入口处,连线应尽可能短。

点击此处查看原文 >>

系统分类: PCB   |    用户分类:    |    来源: 转贴

评论(2) | 阅读(692)
发表于:2007-8-22 16:45:01
标签:无标签

0

上拉,下拉電阻

上拉电阻下拉电阻的总结


上拉电阻下拉电阻的总结-转载

上拉电阻:
1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。
2、OC门电路必须加上拉电阻,才能使用。
3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。
4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。
5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。
6、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。
7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。
上拉电阻阻值的选择原则包括:
1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。
2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。
3、对于高速电路,过大的上拉电阻可能边沿变平缓。综合考虑
以上三点,通常在1k到10k之间选取。对下拉电阻也有类似道理
对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素:
1. 驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。
2. 下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。
3. 高低电平的设定。不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下。
4. 频率特性。以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成RC延迟,电阻越大,延迟越大。上拉电阻的设定应考虑电路在这方面的需求。
下拉电阻的设定的原则和上拉电阻是一样的。
OC门输出高电平时是一个高阻态,其上拉电流要由上拉电阻来提供,设输入端每端口不大于100uA,设输出口驱动电流约500uA,标准工作电压是5V,输入口的高低电平门限为0.8V(低于此值为低电平);2V(高电平门限值)。
选上拉电阻时:
500uA x 8.4K= 4.2即选大于8.4K时输出端能下拉至0.8V以下,此为最小阻值,再小就拉不下来了。如果输出口驱动电流较大,则阻值可减小,保证下拉时能低于0.8V即可。
当输出高电平时,忽略管子的漏电流,两输入口需200uA
200uA x15K=3V即上拉电阻压降为3V,输出口可达到2V,此阻值为最大阻值,再大就拉不到2V了。选10K可用。COMS门的可参考74HC系列
设计时管子的漏电流不可忽略,IO口实际电流在不同电平下也是不同的,上述仅仅是原理,一句话概括为:输出高电平时要喂饱后面的输入口,输出低电平不要把输出口喂撑了(否则多余的电流喂给了级联的输入口,高于低电平门限值就不可靠了)                                      

 

在数字电路中不用的输入脚都要接固定电平,通过1k电阻接高电平或接地。
1. 电阻作用:
l 接电组就是为了防止输入端悬空
l 减弱外部电流对芯片产生的干扰
l 保护cmos内的保护二极管,一般电流不大于10mA
l 上拉和下拉、限流
l 1. 改变电平的电位,常用在TTL-CMOS匹配
2. 在引脚悬空时有确定的状态
3.增加高电平输出时的驱动能力。
4、为OC门提供电流
l 那要看输出口驱动的是什么器件,如果该器件需要高电压的话,而输出口的输出电压又不够,就需要加上拉电阻。
l 如果有上拉电阻那它的端口在默认值为高电平你要控制它必须用低电平才能控制如三态门电路三极管的集电极,或二极管正极去控制把上拉电阻的电流拉下来成为低电平。反之,
l 尤其用在接口电路中,为了得到确定的电平,一般采用这种方法,以保证正确的电路状态,以免发生意外,比如,在电机控制中,逆变桥上下桥臂不能直通,如果它们都用同一个单片机来驱动,必须设置初始状态.防止直通!

2、定义:
l 上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!下拉同理!
l 上拉是对器件注入电流,下拉是输出电流
l 弱强只是上拉电阻的阻值不同,没有什么严格区分
l 对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。

3、为什么要使用拉电阻:
l 一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。
l 数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使处于稳定状态,具体视设计要求而定!
l 一般说的是I/O端口,有的可以设置,有的不可以设置,有的是内置,有的是需要外接,I/O端口的输出类似与一个三极管的C,当C接通过一个电阻和电源连接在一起的时候,该电阻成为上C拉电阻,也就是说,如果该端口正常时为高电平,C通过一个电阻和地连接在一起的时候,该电阻称为下拉电阻,使该端口平时为低电平,作用吗:
比如:当一个接有上拉电阻的端口设为输如状态时,他的常态就为高电平,用于检测低电平的输入。
l 上拉电阻是用来解决总线驱动能力不足时提供电流的。一般说法是拉电流,下拉电阻是用来吸收电流的,也就是你同学说的灌电流

点击此处查看原文 >>

系统分类: 模拟技术   |    用户分类:    |    来源: 转贴

评论(3) | 阅读(794)
发表于:2007-8-21 14:27:11
标签:无标签

1

电极开路或漏极开路输出的结构

讲讲关于集电极开路(OC)或漏极开路(OD)输出的结构?

点击看大图 

 

    我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0时,输出也为“0)。对于图1,当左端的输入为“0时,前面的三极管截止(即集电极C跟发射极E之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。

我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。

再看图三。图三中那个1K的电阻即是上拉电阻。如果开关闭合,则有电流从1K电阻及开关上流过,但由于开关闭和时电阻为0(方便我们的讨论,实际情况中开关电阻不为0,另外对于三极管还存在饱和压降),所以在开关上的电压为0,即输出电平为0。如果开关断开,则由于开关电阻为无穷大(同上,不考虑实际中的漏电流),所以流过的电流为0,因此在1K电阻上的压降也为0,所以输出端的电压就是5V了,这样就能输出高电平了。但是这个输出的内阻是比较大的(即1KΩ),如果接一个电阻为R的负载,通过分压计算,就可以算得最后的输出电压为5*R/(R+1000)伏,即5/(1+1000/R)伏。所以,如果要达到一定的电压的话,R就不能太小。如果R真的太小,而导致输出电压不够的话,那我们只有通过减小那个1K的上拉电阻来增加驱动能力。但是,上拉电阻又不能取得太小,因为当开关闭合时,将产生电流,由于开关能流过的电流是有限的,因此限制了上拉电阻的取值,另外还需要考虑到,当输出低电平时,负载可能还会给提供一部分电流从开关流过,因此要综合这些电流考虑来选择合适的上拉电阻。

如果我们将一个读数据用的输入端接在输出端,这样就是一个IO口了(51IO口就是这样的结构,其中P0口内部不带上拉,而其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。

对于漏极开路(OD)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。

 

另一种输出结构是推挽输出。推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。比起OC或者OD来说,这样的推挽结构高、低电平驱动能力都很强。如果两个输出不同电平的输出口接在一起的话,就会产生很大的电流,有可能将输出口烧坏。而上面说的OCOD输出则不会有这样的情况,因为上拉电阻提供的电流比较小。如果是推挽输出的要设置为高阻态时,则两个开关必须同时断开(或者在输出口上使用一个传输门),这样可作为输入状态,AVR单片机的一些IO口就是这种结构。

 

点击此处查看原文 >>

系统分类: 模拟技术   |    用户分类:    |    来源: 转贴

评论(3) | 阅读(792)
发表于:2007-8-21 14:22:57
标签:无标签

1

阻抗匹配

阻抗匹配

这个电阻有两个作用,第一是阻抗匹配。因为信号源的阻抗很低,跟信号线之间阻抗不匹配(关于阻抗匹配,请参看如何理解阻抗匹配一问”more.asp?name=computer00&id=11024),串上一个电阻后,可改善匹配情况,以减少反射,避免振荡等。

第二是可以减少信号边沿的陡峭程度,从而减少高频噪声以及过冲等。因为串联的电阻,跟信号线的分布电容以及负载的输入电容等形成一个RC电路,这样就会降低信号边沿的陡峭程度。大家知道,如果一个信号的边沿非常陡峭,含有大量的高频成分,将会辐射干扰,另外,也容易产生过冲。

    通常,在高速信号线中才考虑使用这样的电阻。在低频情况下,一般是直接连接。

   阻抗匹配是指信号源或者传输线跟负载之间的一种合适的搭配方式。阻抗匹配分为低频和高频两种情况讨论。

 

我们先从直流电压源驱动一个负载入手。由于实际的电压源,总是有内阻的(请参看输出阻抗一问),我们可以把一个实际电压源,等效成一个理想的电压源跟一个电阻r串联的模型。假设负载电阻为R,电源电动势为U,内阻为r,那么我们可以计算出流过电阻R的电流为:I=U/(R+r),可以看出,负载电阻R越小,则输出电流越大。负载R上的电压为:Uo=IR=U/[1+(r/R)],可以看出,负载电阻R越大,则输出电压Uo越高。再来计算一下电阻R消耗的功率为:

P=I2×R=[U/(R+r)]2×R=U2×R/(R2+2×R×r+r2)

                                   =U2×R/[(R-r)2+4×R×r]

                                   =U2/{[(R-r)2/R]+4×r}

对于一个给定的信号源,其内阻r是固定的,而负载电阻R则是由我们来选择的。注意式中[(R-r)2/R],当R=r时,[(R-r)2/R]可取得最小值0,这时负载电阻R上可获得最大输出功率Pmax=U2/(4×r)。即,当负载电阻跟信号源内阻相等时,负载可获得最大输出功率,这就是我们常说的阻抗匹配之一对于纯电阻电路,此结论同样适用于低频电路及高频电路。当交流电路中含有容性或感性阻抗时,结论有所改变,就是需要信号源与负载阻抗的的实部相等,虚部互为相反数,这叫做共扼匹配。在低频电路中,我们一般不考虑传输线的匹配问题,只考虑信号源跟负载之间的情况,因为低频信号的波长相对于传输线来说很长,传输线可以看成是“短线”,反射可以不考虑(可以这么理解:因为线短,即使反射回来,跟原信号还是一样的)。从以上分析我们可以得出结论:如果我们需要输出电流大,则选择小的负载R;如果我们需要输出电压大,则选择大的负载R;如果我们需要输出功率最大,则选择跟信号源内阻匹配的电阻R有时阻抗不匹配还有另外一层意思,例如一些仪器输出端是在特定的负载条件下设计的,如果负载条件改变了,则可能达不到原来的性能,这时我们也会叫做阻抗失配

 

在高频电路中,我们还必须考虑反射的问题。当信号的频率很高时,则信号的波长就很短,当波长短得跟传输线长度可以比拟时,反射信号叠加在原信号上将会改变原信号的形状。如果传输线的特征阻抗跟负载阻抗不相等(即不匹配)时,在负载端就会产生反射。为什么阻抗不匹配时会产生反射以及特征阻抗的求解方法,牵涉到二阶偏微分方程的求解,在这里我们不细说了,有兴趣的可参看电磁场与微波方面书籍中的传输线理论。传输线的特征阻抗(也叫做特性阻抗)是由传输线的结构以及材料决定的,而与传输线的长度,以及信号的幅度、频率等均无关。

例如,常用的闭路电视同轴电缆特性阻抗为75Ω,而一些射频设备上则常用特征阻抗为50Ω的同轴电缆。另外还有一种常见的传输线是特性阻抗为300Ω的扁平平行线,这在农村使用的电视天线架上比较常见,用来做八木天线的馈线。因为电视机的射频输入端输入阻抗为75Ω,所以300Ω的馈线将与其不能匹配。实际中是如何解决这个问题的呢?不知道大家有没有留意到,电视机的附件中,有一个300Ω75Ω的阻抗转换器(一个塑料封装的,一端有一个圆形的插头的那个东东,大概有两个大拇指那么大)。它里面其实就是一个传输线变压器,将300Ω的阻抗,变换成75Ω的,这样就可以匹配起来了。这里需要强调一点的是,特性阻抗跟我们通常理解的电阻不是一个概念,它与传输线的长度无关,也不能通过使用欧姆表来测量。为了不产生反射,负载阻抗跟传输线的特征阻抗应该相等,这就是传输线的阻抗匹配。如果阻抗不匹配会有什么不良后果呢?如果不匹配,则会形成反射,能量传递不过去,降低效率;会在传输线上形成驻波(简单的理解,就是有些地方信号强,有些地方信号弱),导致传输线的有效功率容量降低;功率发射不出去,甚至会损坏发射设备。如果是电路板上的高速信号线与负载阻抗不匹配时,会产生震荡,辐射干扰等。

 

当阻抗不匹配时,有哪些办法让它匹配呢?第一,可以考虑使用变压器来做阻抗转换,就像上面所说的电视机中的那个例子那样。第二,可以考虑使用串联/并联电容或电感的办法,这在调试射频电路时常使用。第三,可以考虑使用串联/并联电阻的办法。一些驱动器的阻抗比较低,可以串联一个合适的电阻来跟传输线匹配,例如高速信号线,有时会串联一个几十欧的电阻。而一些接收器的输入阻抗则比较高,可以使用并联电阻的方法,来跟传输线匹配,例如,485总线接收器,常在数据线终端并联120欧的匹配电阻。