原因是最近公司
电路评审,看到有各种各样的电平转换电路,包括这个转换用的MOS管,有人甚至在用3904替代,说是降低成本等等奇葩,我就奇怪了,能这样用么?
最终在网上找了这个电路的出处,并附带了解释,特此发不出来供大家学习讨论。
粗略翻译如下:
电平转化的操作过程
以下是电平转换电路工作过程的三种状态:
1、没有设备拉低数据线(如此翻译就不限于I2C了)
---由于场效应管的G极连接3.3V、S极被上拉电阻Rp拉到3.3V,所以Vgs电压小于场效应管的开启电压,产效应管关闭状态,允许“高电平端”通过电阻上拉到5V。此时,数据线两端都是高电平,但是保持不同的高电平等级。
2、当3.3V端设备拉低数据线到低电平时。
---场效应管的S极被拉低,此时G极保持3.3V,此时Vgs超过场效应管开启电压,管子导通;3.3V一侧设备拉低和场效应管的导通导致“高电平端”也变成了低电平。
3、当5V端设备拉低数据线到低电平时。
---因为在场效应管的D极和S极有一个内置“反向”二极管的存在。所以5V端拉低后,二极管导通导致S极变为二极管正向电压与“高电平端”低电平电压的叠加。此时,场效应管G极是3.3V,Vgs依然产生了电压差,当大于开启电压后,场效应管导通,则3.3V一侧也被进一步拉低至低电平
从此看的出几个关键点:
1、MOS管一定要选内嵌DS反向二极管的,没有就要外加低导通压降的管子。
2、高端侧拉低的低电平一定要够低,因为电平转换电路已经有了上拉电阻,就 不要在重复增加上拉电阻了。尤其是对于存在若下拉状态的接口。
3、线路串联电阻不要随意放,很简单串联分压,串联电阻后,主控端拉低后,接收端的电平会不够低,尤其这种状态出在3.3V一侧你就Game over了。