I2C總線是微電子通信控制領(lǐng)域中常用的一種總線標(biāo)準(zhǔn),具備接線少,控制簡(jiǎn)單,速率高等優(yōu)點(diǎn)。在I2C電路中常見(jiàn)的上拉電阻有1k、1.5k、2.2k、4.7k、5.1k、10k等等,但是應(yīng)該如何根據(jù)開(kāi)發(fā)要求選擇合適的阻值呢?下圖為I2C內(nèi)部結(jié)構(gòu)

假設(shè)SDA輸出低電平時(shí),即MOS管導(dǎo)通。那么,可以求出上拉電阻R的阻值

上拉電阻:

VOL定義為在漏極開(kāi)路或集電極開(kāi)路時(shí),有3mA下拉電流時(shí)的低電平輸出電壓。IOL就是該端口的灌電流,即IOL=3mA。由上式可得,當(dāng)VDD不變, VOL取最大值時(shí),上拉電阻有最小值。

根據(jù)I2C協(xié)議,端口輸出低電平的最高允許電壓是0.4V。
So,式1可以改為:

由式2可以得出:電源電壓決定了上拉電阻的最小值。因此,當(dāng)VDD=5V時(shí),最小上拉電阻約為1.5k;當(dāng)VDD=3V3時(shí),約為1k。
由于I2C總線端口的高電平是通過(guò)上拉電阻實(shí)現(xiàn),線上的電平從低變高時(shí),電源通過(guò)上拉電阻對(duì)線上負(fù)載電容CL充電,這需要一定的上升時(shí)間。
電容充電一般公式:

整理可得:

I2C規(guī)范將低于VIL或0.3VDD的電壓定義為邏輯低電平,同樣將高于VIH或0.7VDD的電壓定義為邏輯高電平,由式4可以求得:




由式5可判斷,當(dāng)Tr取最大值,CL取最小值時(shí),R有最大值。
由于不同模式下,上升沿的最大時(shí)間及總線負(fù)載最大容限要求不同,標(biāo)準(zhǔn)模式、快速模式、高速模式分別是:1000ns/400pF、300ns/400pF、120ns/550pF。
以快速模式下,負(fù)載電容50pF為例,則有:

結(jié)論:電源電壓決定上拉電阻的最小值,總線負(fù)載電容決定上拉電阻的最大值。
審核編輯:湯梓紅
-
上拉電阻
+關(guān)注
關(guān)注
5文章
366瀏覽量
31714 -
MOS管
+關(guān)注
關(guān)注
111文章
2810瀏覽量
77760 -
總線
+關(guān)注
關(guān)注
10文章
3055瀏覽量
91849 -
I2C
+關(guān)注
關(guān)注
28文章
1562瀏覽量
131692 -
I2C總線
+關(guān)注
關(guān)注
8文章
422瀏覽量
63487
原文標(biāo)題:I2C上拉電阻如何選擇合適的阻值?
文章出處:【微信號(hào):電子工程師筆記,微信公眾號(hào):電子工程師筆記】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
上拉電阻的含義、上拉電阻在I2C電路中的作用
I2C總線上拉電阻阻值如何確定?
I2C總線應(yīng)用中的幾個(gè)問(wèn)題
tpa2051d3在I2C上拉電阻的選擇
i2c上拉電阻大小_i2c上拉電阻的作用
I2C總線一定要接上拉電阻?上拉電阻阻值怎么確定?
I2C上拉電阻設(shè)計(jì)
I2C上拉電阻計(jì)算公式
I2C為什么要接上拉電阻?上拉電阻阻值怎么確定?
I2C的開(kāi)漏輸出和上拉電阻
I2C上拉電阻如何選擇合適的阻值?
評(píng)論