參考資料: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通訊異常;