OC OD介绍

参考:http://www.elecfans.com/baike/bandaoti/jichuzhishi/20100304178298.html

OC门,又称集电极开路门,Open Collector,还有OD门(Open Drain,漏极开路门,对场效应管而言)。

即集电极开路门电路必须外界上拉电阻和电源才能将开关电平作为高低电平用。否则它一般只作为开关大电压和大电流负载,所以又叫做驱动门电路。

输出端可以实现线与连接;oc门必须外接负载电阻和电源才能正常工作。

集电极开路输出的结构如图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口了(51的IO口就是这样的结构,其中P0口内部不带上拉,而其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。

OC门主要有以下三个用途:

  1、实现与或非逻辑

  2、电平转换

  3、用做驱动器

 OD门特点

  开漏形式的电路有以下几个特点:

1.利用外部电路的驱动能力,减少IC内部的驱动。或驱动比芯片电源电压高的负载。

2.可以将多个开漏输出的Pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是I2C,SMBus等总线 判断总线占用状态的原理。如果作为图腾输出必须接上拉电阻。接容性负载时,下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢。如果要求速度高电阻选择要小,功耗会大。所以负载电阻的选择要兼顾功耗和速度。

3.可以利用改变上拉电源的电压,改变传输电平。例如加上上拉电阻就可以提供TTL/CMOS电平输出等。

4.开漏Pin不连接外部的上拉电阻,则只能输出低电平。一般来说,开漏是用来连接不同电平的器件,匹配电平用的。

上拉电阻很大,提供的驱动电流很小,叫弱上拉;反之叫强上拉。源极开路提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。

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

原文地址:https://www.cnblogs.com/kevinnote/p/10718591.html

时间: 2024-07-31 09:44:48

OC OD介绍的相关文章

OC简单介绍01

0 >  OC简介 OC语言在c语言的基础上,增加了一层小小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码. OC语法非常简洁且高效 可以使用OC开发mac osx平台和ios平台的应用程序. 拓展名:c语言- .c  OC语言 .-m  兼容C++ .-mm 历史: Cocoa和Objcctive-C是苹果公司OSX和iOS操作系统的核心,早在20世纪80年代,Brad Cox为了融合流行的,可移植的C语言和优雅的Smalltalk语言的优势,就设计出了Object

32位汇编第五讲,逆向实战干货,(OD)快速定位扫雷内存.

32位第五讲,逆向实战干货,快速定位扫雷内存. 首先,在逆向之前,大家先对OD有一个认识. 一丶OD的使用 标号1: 反汇编窗口 (显示代码的地址,二进制指令,汇编代码,注释) 标号2: 寄存器窗口(显示通用寄存器,段寄存器,以及浮点协处理器,32位中还有多媒体寄存器) 标号3: 信息窗口 (这个主要是显示当你运行到的程序的位置处的信息) 标号4: 数据窗口   (内存中的数据,可以在这里查看内存) 标号5:堆栈窗口 (查看栈中的内容,以及变量的内容) 标号6,标号7,标号8 ,属于工具窗口,不

十分钟搭建主流框架_下拉/上拉刷新数据(OC)

本节主题(网络部分-下拉/上拉刷新) 源码地址在文章末尾 达成效果 下拉刷新数据 上拉加载更多数据 前言 经过十分钟搭建主流框架_简单的网络部分(OC)的介绍,相信你已经实现了基本的联网获取数据,但只是粗糙的获取了固定的数据,下面就让我们来实现下拉刷新和上拉加载更多吧.同样,我们先来做准备工作吧. 准备工作 Github寻找优秀的第三方刷新框架 1.前人种树,后人乘凉.有优秀的第三方框架可以使用,当然是极好的,可以大大提高我们的开发效率,如有特殊需求只能自己手写就除外了 Refresh 2.查阅

TTL和COMS电平匹配以及电平转换的方法

一.TTL TTL集成电路的主要型式为晶体管-晶体管逻辑门(transistor-transistor logic gate),TTL大部分都采用5V电源.1.输出高电平Uoh和输出低电平UolUoh≥2.4V,Uol≤0.4V2.输入高电平和输入低电平Uih≥2.0V,Uil≤0.8V二.CMOSCMOS电路是电压控制器件,输入电阻极大,对于干扰信号十分敏感,因此不用的输入端不应开路,接到地或者电源上.CMOS电路的优点是噪声容限较宽,静态功耗很小.1.输出高电平Uoh和输出低电平UolUoh

Qt for iOS,Qt 与Objective C混合编程

项目设置 既然要聊 Qt 混合 OC 编程,首先要简单介绍一下 Objective C .我只有一句话:Go,问搜索引擎去.因为我所知实在有限,怕误导了您.当然如果您不怕,往下看吧. OC源文件介绍 首先我要说一下 Objective C 的源文件,后缀是.m 或 .mm ,在 .mm 文件里,可以直接使用 C++ 代码.所以,我们要混合 Qt 代码与 OC 代码,就需要在 Qt 项目里加入 mm 文件. pro 文件配置 Qt SDK for Mac ,安装之后, Qt Creator 会使用

常用电平转换方案

(1) 晶体管+上拉电阻法 就是一个双极型三极管或 MOSFET,C/D极接一个上拉电阻到正电源,输入电平很灵活,输出电平大致就是正电源电平. (2) OC/OD 器件+上拉电阻法 跟 1) 类似.适用于器件输出刚好为 OC/OD 的场合. (3) 74xHCT系列芯片升压 (3.3V→5V) 凡是输入与 5V TTL 电平兼容的 5V CMOS 器件都可以用作 3.3V→5V 电平转换. ——这是由于 3.3V CMOS 的电平刚好和5V TTL电平兼容(巧合),而 CMOS 的输出电平总是接

C# == equals 本质理解

using System; using System.Diagnostics; using System.Text; using System.Collections; using System.Collections.Generic; class Test { static void print(object obj) { Console.WriteLine(obj); } class CDefOveride //C# 的所有类都默认继承于object,这里不用写继承,也可以写,有点诡异 {

PHP老师没教过你的那些知识点

另类的写法有惊喜 我们在阅读某些源代码的时候会发现有一种另类的写法,比如 //异常写法 if(false == $result) //正常写法 if($result == false) 其实这是一种很聪明的写法,它可以很大程度上杜绝手误造成的严重bug. 假如我们在正常方法中把 == 误写成 = ,那么if($result = false) 就会恒定返回true,导致在实际运行中产生未知的Bug,如果使用异常的写法出现手误变成时if(false = $false) ,编辑器会抛出一个error,

TTL电平和CMOS电平总结

TTL电平和CMOS电平总结 1,TTL电平:          输出高电平>2.4V,输出低电平<0.4V.在室温下,一般输出高电平是3.5V,输出低电平是0.2V.最小输入高电平和低电平:输入高电平>=2.0V,输入低电平<=0.8V,噪声容限是0.4V. 2,CMOS电平: 1逻辑电平电压接近于电源电压,0逻辑电平接近于0V.而且具有很宽的噪声容限. 3,电平转换电路:          因为TTL和COMS的高低电平的值不一样(ttl 5v<==>cmos 3.