一文搞懂OC门、OD门及其作用

article/2025/10/28 20:55:37

        我们先给出OC门、OD门的定义,然后从原理出发,介绍OC门、OD门的作用。

1 什么是OC门、OD门

        OC门(Open Collector Gate):集电极开路门,如图1所示,当N1导通时,输出低电平;当N1截止时,输出高阻态(电路的一种输出状态,既不是高电平也不是低电平,电路分析时可以理解为开路)。

        OD门(Open Drain Gate):漏极开路门,如图2所示,与OC门类似,当N1导通时,输出低电平;当N1截止时,输出高阻态。

图1 OC门

图2 OD门

        OC门与OD门在实现的功能上是相同的,区别在于OC门是对于三极管而言,OD门是对于MOS管而言,下面我们就以OC门为例进行介绍。

2 OC门的作用

(1)电平转换

        我们上面说过,当N1导通时,输出低电平;当N1截止时,输出高阻态。但是如果在外部接一个上拉电阻接到VCC上,当N1截止时,输出的电压就是VCC(三极管理解为开路)。利用这个特性,我们就可以通过改变上拉电阻接的电压来改变输出的电平,实现电平转换。例如,芯片供电电压为3.3V,VCC电压为10V,我们就可以实现3.3V到10V的电平转换。

图3 OC门实现电平转换

(2)实现线与

        线与:如果有两个门电路,输出端口直接相连,可以实现“与”的逻辑(有一个门电路输出为低电平时,结果就为低电平;两个门电路输出均为高电平时,结果为高电平),那就是线与。

        用普通的TTL器件输出引脚直接相连能不能实现线与呢?

        图4为普通的推挽式TTL输出端口的结构示意图,我们直接把两个TTL器件的输出端口连接起来会如何呢?

图4 推挽式TTL输出端口结构示意图

         图5为将两个TTL器件输出直接连接起来的示意图,当驱动门1输出为高、驱动门2输出为低时,N1、N4导通,N2、N3截止,电流流向如图中红色线所示,当N1导通时,N1处于深度饱和状态,电流比较大,容易将N1 N3烧坏。同理,当驱动门1输出低,驱动门2输出高时,电流如图中绿色线所示,容易将N2 N4烧坏,所以用两个TTL器件输出直接连接起来难以实现线与的功能。

图5 两个TTL器件输出直接连接起来示意图 

         如果用OC门呢?我们将两个OC门输出直接连接起来,同时,为了避免出现高阻态,我们在外部接一个上拉电阻,如图6所示。

图6 OC门实现线与结构示意图 

         我们再来分析这个电路,当N1导通,N2截止时,相当于直接把OUT拉倒地,输出低电平;同理,N1截止,N2导通时也输出低电平;N1 N2均导通时输出低电平,N1 N2均截止时输出高电平。这样,就实现了线与的逻辑。

(3) 增大驱动能力

        当开漏门的输出处于低电平状态(逻辑0),输出晶体管处于导通状态,允许电流从输出引脚流过到地(或接地电位)。这样,输出引脚被有效地拉低到接地电位,形成了逻辑0信号。


http://chatgpt.dhexx.cn/article/o1mTQBhv.shtml

相关文章

TTL反相器、OC门、TS门、推挽输出、开漏输出

TTL反相器 这是一个TTL反相器,这是经过了很多工程师多种设计最终沉淀出来的电路,这个电路是比较成熟的。我们只需要对这个电路进行解析即可,不需要再去研究当初是如何设计出来的。 学过CMOS应该知道,右侧的输出级其实也是个推挽输…

理解OC门

注:本文转载自新浪博客。 什么是集电极开路(OC)? 我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相…

OC门

reference: http://www.cnblogs.com/xiangxiangyuan/p/3787831.html (其他总结也精彩) OC(open collector)门,又称 集电极开路门。 OD门(Open Drain, 漏极开路门,对场效应管而言)。实际使用中&a…

Golang 切片

文章目录 和数组的区别声明空切片可以和nil相等切片长度,容量切片增加元素切片删除元素切片排序切片截取范围多维切片 和数组的区别 1.数组是定长,切片不是 2.数组是值传递,切片不是 声明 1.通过var声明 2.简短声明 package mainimport "fmt"func mai…

Java 各种 切片 操作(Array String List)

在python的 [xx:xx] 切片操作中快乐之后,返回Java变成发现这个习惯保持保持下去了!,可惜JDK并不认账反手给我爆了两个红JDK:这是别人的香水味! 所以这次总结一下在Java中各种数据类型的切片操作如何实现&#x…

python切片操作方法小总结

文章参考自:link. python切片的详细总结 最近学习python切片,时而醍醐灌顶时而云里雾里,今天终于弄清楚了 python切片 里面自己经常疑惑的地方,记录一下,方便以后查看。 一、切片的2种索引方向 如果掌握切片方法&a…

Python中numpy数组切片

参考Python中numpy数组切片 - 云社区 - 腾讯云 1、基本概念 Python中符合切片并且常用的有:列表,字符串,元组。 下面那列表来说明,其他的也是一样的。 格式:[开头:结束:步长] 开头&#xff1a…

python切片

前言 所谓切片就是在某个数据里提取需要的部分,提取到的是某个索引下的值,或者索引区间的值 一、认识切片 ① 支持切片操作的数据类型有: list(列表),tuple(元祖),st…

字符串的切片操作

字符串的切片操作: 1.知识点: str[start: end:方向和步长],没有方向和步长默认正向。 方向: 1 表示从左向右 0,1,2,3,4,5。。。 -1 表示从右向左 注意数值的顺序:[5:0]正向不行,反向行 [0:5]正向…

25. Python 字符串的切片方法

25. Python 字符串的切片方法 文章目录 25. Python 字符串的切片方法1. 索引取值知识回顾2. 什么是切片3. 切片的语法4. 切片示例4.1 步长为1的切片取值4.2 步长为2的切片取值4.3 省略开始索引4.4 省略结束索引4.5 步长为-2 5. 课堂练习6. 总结 1. 索引取值知识回顾 【索引取值…

Go语言切片详解

切片(slice)是对数组的一个连续片段的引用,所以切片是一个引用类型(因此更类似于 C/C 中的数组类型,或者 Python 中的 list 类型),这个片段可以是整个数组,也可以是由起始和终止索引…

字符串的切片1

切片的基本语法格式:[头下标:尾下标:步长] 1.字符串切片可以对字符串进行截取操作,获取一段子串。 2.[头下标:尾下标]遵循前闭后开规则(头标可取到,尾标取不到)。 3.步长可省略&a…

Python3的切片

Python3的切片非常灵活,可以很方便地对有序序列进行切片操作,代码简单易用。 大家都知道,我们可以直接使用索引来访问序列中的元素,同时索引可分为正向和负向两种,而切片也会用到索引,下面放上一个图&…

Python列表切片详解([][:][::])

Python切片是list的一项基本的功能,最近看到了一个程序,里面有这样一句类似的代码: a list[::10] 不太明白两个冒号的意思就上网百度,发现大多数人写的博客中都没有提到这一个用法,因此自己翻阅《Python核心编程中文…

Numpy 数组切片

一、列表切片(一维数组) 1.1、切片原理 列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们将根据所需内容(如,从何处开始,结束以及增量进行切片)剪切列表。Python中符合序列的…

python 字符串切片

1. 字符串的索引 字符串的索引从前往后是从0开始计数,从后往前是从-1开始依次 -1 2.字符串切片方法 语法格式 str[beginIndex:endIndex:step]取值结果: [begin,end) / 含头不含尾 步长不设置时默认为1 3.切片 ① 取x-y位置的字符串: 从中间开始,中间…

Python 列表切片操作

Python列表切片 切片是Python序列的重要操作之一,适用于列表、元组、字符串、range对象等。可以用切片截取列表中任何部分来获得一个新的列表,也可以进行元素的增、删、改。在Python中,序列的序号即可以从左向右以0开始依次增加,…

Python 列表切片详解

一、列表切片 切指–将某些东西切成小块。列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们将根据所需内容(如,从何处开始,结束以及增量进行切片)剪切列表。 Python中符合序列的有序序列都支持切片&a…

详解Python中的切片(一看就懂版)

前言 在我们使用Python的时候,经常会听到“切片”这个词!那什么是切片呢?切片是对序列数据(列表、元组、字符串),根据下标索引,对一定范围内数据的获取。 简单来说就是,通过下标索引…

图片切片分割

在处理图片时,若加载一个大的图像,它加载所需要的时间一般会很长。 普通解决办法:压缩图片。 压缩时需要注意以下几个问题: 1、实际文件的大小; 2、分辨率; 3、压缩; 一般来说,压缩图片会使图像质量受…