cmos|(干货分享)MCU引脚输出模式中推挽输出与开漏输出电路原理区别( 二 )



图2
4. 开漏Pin不连接外部的上拉电阻 , 则只能输出低电平(因此对于经典的51单片机的P0口而言 , 要想做输入输出功能必须加外部上拉电阻 , 否则无法输出高电平逻辑) 。 一般来说 , 开漏是用来连接不同电平的器件 , 匹配电平用的 。

5. 标准的开漏脚一般只有输出的能力 。 添加其它的判断电路 , 才能具备双向输入、输出的能力 。

6.正常的CMOS输出级是上、下两个管子 , 把上面的管子去掉就是OPEN-DRAIN了 。 这种输出的主要目的有两个:电平转换、线与 。

7.线与功能主要用于有多个电路对同一信号进行拉低操作的场合 , 如果本电路不想拉低 , 就输出高电平 , 因为OPEN-DRAIN上面的管子被拿掉 , 高电平是靠外接的上拉电阻实现的 。 (而正常的CMOS输出级 , 如果出现一个输出为高另外一个为低时 , 等于电源短路 。 )

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


应用中需注意:
1. 开漏和开集的原理类似 , 在许多应用中我们利用开集电路代替开漏电路 。 例如 , 某输入Pin要求由开漏电路驱动 。 则我们常见的驱动方式是利用一个三极管组成开集电路来驱动它 , 即方便又节省成本 。 如图3 。
2. 上拉电阻R pull-up的阻值决定了逻辑电平转换的沿的速度 。 阻值越大 , 速度越低功耗越小 。 反之亦然 。

Push-Pull输出就是一般所说的推挽输出 , 在CMOS电路里面应该较CMOS输出更合适 , 因为在CMOS里面的push-pull输出能力不可能做得双极那么大 。 输出能力看IC内部输出极N管P管的面积 。 和开漏输出相比 , push-pull的高低电平由IC的电源低定 , 不能简单的做逻辑操作等 。 push-pull是现在CMOS电路里面用得最多的输出级设计方式 。

当然open drain也不是没有代价 , 这就是输出的驱动能力很差 。 输出的驱动能力很差的说法不准确 , 驱动能力取决于IC中的末级晶体管功率 。 OD只是带来上升沿的延时 , 因为上升沿是通过外接上拉无源电阻对负载充电的 , 当电阻选择小时延时就小、但功耗大 , 反之延时大功耗小 。 OPEN DRAIN提供了灵活的输出方式 , 但也是有代价的 , 如果对延时有要求 , 建议用下降沿输出 。

电阻小延时小的前提条件是电阻选择的原则应在末级晶体管功耗允许范围内 , 有经验的设计者在使用逻辑芯片时 , 不会选择1欧姆的电阻作为上拉电阻 。 在脉冲的上升沿电源通过上拉无源电阻对负载充电 , 显然电阻越小上升时间越短 , 在脉冲的下降沿 , 除了负载通过有源晶体管放电外 , 电源也通过上拉电阻和导通的晶体管对地 形成通路 , 带来的问题是芯片的功耗和耗电问题 。 电阻影响上升沿 , 不影响下降沿 。 如果使用中不关心上升沿 , 上拉电阻就可选择尽可能的大点 , 以减少对地通路的 电流 。 如果对上升沿时间要求较高 , 电阻大小的选择应以芯片功耗为参考 。