基于MOS管的双向电平转换电路_I2C电平转换
如图所示
在一些IO电平不匹配的情况,需要用到电平转换电路。特别如I2C总线上,主芯片和多个外设直接,较常遇到电源域电压不一致的情况。
如图所示,是典型电路,分析如下:
正向,左到右: 1,当SDA_M(Master端)输出为高电平,此时MOS管的Vgs=0,MOS管不导通,SDA_S(Slave)线被电阻上拉到5V; 2,当SDA_M输出为低电平,此时MOS管的Vgs=3.3V(大于导通电压),MOS管导通,SDA_S通过MOS管被拉低到低电平;
反向,右到左: 1,当SDA_S输出为高电平,此时MOS管的Vgs=0,MOS管不导通,SDA_M线被电阻上拉到3.3V; 2,当SDA_S输出为低电平,初始时MOS管的Vgs=0V,MOS管不导通; 但是因为SDA_S是低,MOS管的体二极管会将SDA_M拉低,此时Vgs=3.3V,MOS管导通,SDA_M通过MOS管被进一步拉低到低电平;
不应存在两边同时输出的情况。 要注意Vgs的选取(现在较多应用是3.3V/1.8V间的电平转换)。
仿真所用电路如下,VG1模拟输出一个1kHz的方波,作为输出端,是3.3V IO电平。 MOS T1右侧是5V IO电平,MOS T2右侧是3.3V IO电平,此处用两套电路来模拟相互转换。 R1是3.3V输出端的上拉,R2是5V IO端的上拉,R3是右侧3.3V输出端的上拉。