硬件设计:接口--不同电源系统下I2C总线电平转换电路(电桥)设计
参考资料:I2C总线3.3V与5V双向电平转换电路
为了实现在不同电源系统中通过I2C总线进行通讯,需要设计一种电平转换电路。
一、电路功能需求
该转换电路需满足以下要求:
1、将不同电源系统系统隔离,防止高压器件的高电压毛刺对低压电路造成损坏;
2、不影响I2C总线的通讯;
3、当其中某一系统断电时不影响I2C总线上的其他系统工作(尽可能满足);
所以设计电路如下图所示:
图1 I2C总线系统中连接两个不同电压的双向电平转换电路
二、电路分析
由于I2C总线中SDA和SCL的逻辑电路相同,所以SDA和SCL的电平转换电路结构也是一样的,都串有一个分立的MOSFET和相应的上拉电阻。
分析这个电路时要分清楚的电路的工作状态:
状态1:总线上没有数据传输时(空闲状态)
总线上没有数据传输时,I2C器件的SDA和SCL引脚保持高阻态,经上拉电阻R1和R2上拉到3.3V,也就是SDA和SCL在空闲状态下都保持高电平;这样Q1和Q2两个NMOS管的VGS都为0V,两个NMOS管均无法导通。那么高电压部分的I2C总线,通过上拉电阻R3和R4上拉到5V。这样两个系统的I2C总线空闲时都为高电平,满足I2C总线的电气特性。
状态2:3.3V的I2C器件下拉总线低电平
此时,NMOS管的S极变为低电平,而门极G保持为3.3V的高电平,Vgs高于阀值,NMOS管导通。然后5V部分的总线通过导通的NMOS管被低电压端的I2C器件下拉到低电平,此时两部分的总线线路都是低电平而且电压电平相同,符合I2C总线要求。
状态3:5V的I2C器件下拉总线线路到低电平
当5V系统的器件下拉总线电平到低电平时,通过NMOS管的体二极管(此二极管的正极接低压系统,负极接高压系统,I2C总线空闲状态下不导通)作用,将NMOS管的S极拉低,使Vgs的电压高于导通阀值,NMOS管导通,同时进一步拉低S极电压,也就是将3.3V系统总线电平进一步下拉到低电平,此时两部分的总线线路都是低电平而且电压电平相同。
从上面分析可以看出这三种状态显示了逻辑电平在总线系统的两个方向上传输,与驱动的部分无关。上述的3个状态,第一个状态实现了电平转换功能,而第二个和第三个状态的逻辑都是线“与”的功能,只要有一端为低电平,也会使另外一端为低电平。
*注意:
1、在上述电路中,NMOS管的GS间最大电压为3.3V,所以选择的NMOS管的阀值电压要低于3.3V,否则MOS管无法工作,即电平转换电路无法工作。
2、在上述电路中,3.3V系统掉电后不影响I2C总线通讯,而5V系统掉电后,会导致SCL、SDA总线均拉低,而造成I2C总线无法工作;
3、电平转换电路中的元器件必须选择NMOS管,以免开关响应慢而造成I2C通讯异常;