1、背景
1.1 MOS电平转换电路
基于MOS的电平转换电路,大家都很了解,网上一搜可以发现很多,基本模型如下:
1.2 基本原理
1.从A到B
A为高电平时,B作为输入,此时为高阻态,MOS管关断,B端通过上拉,输出高电平;
A为低电平时,MOS管内的体二极管导通,使MOS管的S极被拉低,考虑体二极管的压降一般为0.7V,Vgs=3.3V-0.7V=2.6V,当Vgs=2.6V>Vgs(th),MOS管导通,B端被拉低,输出低电平;(MOS管的导通阈值电压一定要小于2.6V)
A为高阻态时,MOS管关断,B端通过上拉,输出高电平。
2.从B到A
B为高电平时,MOS管关断,A端通过上拉,输出高电平;
B为低电平时,Vgs=3.3V>Vgs(th),MOS管导通,A端被拉低,输出低电平;
B为高阻态时,MOS管关断,A端通过上拉,输出高电平。
2、实际应用
2.1 实际电路中问题
设计了一款如下的电路,基本思路如下图所示,咋一看没什么问题。
实际测试过程中,当模块A端配置为高阻态时,发现模块A和B端的低电平都不正常,实测值分别为:A端电平为0.7V,B端电平为0.5V,模块A配置为输出,输出为低,为什么不正常呢?
2.2 分析
(1)断开模块A,测量 MOS管2端和3端的电压分别为:0.68V和0.49V,这个结果与上述测试现象一致
(2)再断开模块B,测量MOS管2端和3端的电压分别为:1.8V和3.3V,这个结果有理论分析的结果相同。
(3)连接上模块A,断开模块A,测量MOS管2端和3端的电压分别为:1.8V和3.3V,2.1节出现的问题不在。
分析:出现2.1节的问题根本原因是模块B引起的。如下图所示:
a 模块B有电流灌入,其中3端的电压为0.5V,那么R1047的电流为0.28mA;此时MOS管Vgs=1.3V,查看手册,开启电压阈值在0.8V~1.4V;此时Vds的电压为0.2V,Vds<Vgs-Vgs(th),此时,MOS处于可变电阻区。
b 此时Ron电阻的计算不能参考手册上的计算,可以根据下式计算
也可以参照手册上的图,大概估计Ron值在20Ω左右,电流在10mA左右。
c 根据上述描述,在模块B端肯定是内部下拉,流入的电流为0.28+10 =10.28mA;因此模块B的下拉电阻为:Rpd = 0.5V/10.28mA = 48.6Ω。因此存在这个下拉电阻的缘故,使得模块A端为高阻态的时候,模块B端电源为0.5V
3、总结
(1)当模块A为高阻态的时候,模块B的状态无法确定,也不是想象中的高电平,而是跟模块B的上下拉有关,设计时避免出现模块A或者模块B的高阻态,引发电平输出不正常,特别是复位信号,尤其需要注意。
(2)当模块B为低电平时,此时MOS管2端和3端的电压差很小,压降很小,3端不会存在电流流进B端,压降为48.6Ωx0.28mA =13mV,实测17mV,与分析一一致。