一、什么是开漏输出?
1、由推挽输出到开漏输出
推挽输出:
如图,便是推挽输出的接线图,通过导通P-MOS输出高电平,导通N-MOS输出低电平。注意:P-MOS和N-MOS不能同时接通,否则引起短路。这种模式输出的电平驱动能力强。
开漏输出:
如图,P-MOS一直是处于断开的状态,而N-MOS可以控制导通或断开,由上到下位高电平流向低电平的方向,因此取名开漏输出。
开漏输出输出状态:
高组态:P-MOS和N-MOS都断开。
低电平:M-MOS接通。
此输出模式只有低电平驱动能力强。
开漏输出的特性:
可实现线与特性:线与在I2C有很大应用。
线与中的应用:如在一主机,多从机下,共用SDA和SCL总线。当存在某设备输出低电平时,不管其他设备输出高低电平,总线都会被拉低至低电平。得益于开漏输出高电平时的高组态。
输出低电平时,和推挽输出类似,主动驱动电平,且驱动能力强,而在输出高电平的时候,由于开漏输出只能输出高组态,驱动能力弱,不会主动驱动电平,而是依赖外部上拉电阻来实现高电平状态。
二、为什么开漏输出能作为输入 ,读出引脚电平信号?
同理,也是得益于开漏输出的高组态,驱动能力弱。
当输出高组态,则会使引脚处于悬空状态。
这时,只要给开漏输出配置为输出高电平(高组态),当外界向引脚输出高电平时,引脚就会拉高高电平。
当外界向引脚输出低电平时,就会拉低引脚。
你可能想好像有点道理 ,这样就能够读取了外界电平了.
其实还忽略了,当外界没有上拉电阻的时候,处于悬空状态的引脚,会导致不确定的电平状态,这可能导致误动作。
所以,需要提前接好上拉电阻。
思考,可以接下拉电阻吗?