大家好,我是記得誠。
I2C一般為開漏結構,需要在外部加上拉電阻,常見的阻值有1k、1.5k、2.2k、4.7k、5.1k、10k等。
但是應該如何根據開發要求選擇合適的阻值呢?
假設SDA是低電平時,即MOS管導通。那么,就可以求出上拉電阻R的阻值。
上拉電阻計算公式:
VOL定義為在漏極開路或集電極開路時,有3mA下拉電流時的低電平輸出電壓。IOL就是該端口的灌電流,即IOL=3mA。
由上式可得,當VDD不變, VOL取最大值時,上拉電阻有最小值。
根據I2C協議,端口輸出低電平的最高允許電壓是0.4V。
公式1可以改為:
由式2可以得出:電源電壓決定了上拉電阻的最小值。因此,當VDD=5V時,最小上拉電阻約為1.5k;當VDD=3V3時,約為1k。
由于I2C總線端口的高電平是通過上拉電阻實現,線上的電平從低變高時,電源通過上拉電阻對線上負載電容CL充電,這需要一定的上升時間。
電容充電一般公式:
整理可得:
I2C規范將低于VIL或0.3VDD的電壓定義為邏輯低電平,同樣將高于VIH或0.7VDD的電壓定義為邏輯高電平,由式4可以求得:
由公式5可判斷,當Tr取最大值,CL取最小值時,R有最大值。
由于不同模式下,上升沿的最大時間及總線負載最大容限要求不同,標準模式、快速模式、高速模式分別是:1000ns/400pF、300ns/400pF、120ns/550pF。
以快速模式下,負載電容50pF為例,則有:
結論:電源電壓決定上拉電阻的最小值,總線負載電容決定上拉電阻的最大值。
審核編輯:湯梓紅
-
上拉電阻
+關注
關注
5文章
360瀏覽量
30621 -
阻值
+關注
關注
2文章
64瀏覽量
20978 -
I2C
+關注
關注
28文章
1487瀏覽量
123757
原文標題:I2C上拉電阻如何取值?
文章出處:【微信號:記得誠,微信公眾號:記得誠】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論