I2C器件一定要加上拉電阻嗎?

2021-06-20 19:24:29 字數 1868 閱讀 2813

i2c器件一定要加上拉電阻嗎?最近碰到i2c器件的上拉電阻接錯,導致通訊不正常,那麼i2c需要上拉電阻麼,多大合適

從網上蒐集了一些回答:

1).最近看一些關於at24c02的電路圖,發現有些在sda,scl這兩個腳上接了4.4k或者10k的上拉電阻。有些沒有加上拉電阻。

根據at24c02的資料手冊來看,是建議在實際使用中加上拉電阻的。

但一般情況下,在51微控制器系統中,不加上拉電阻也是可以用的,也能夠正確讀寫資料。

據我個人經驗,我曾經有一次在板子上沒有給24c02加上拉電阻,發現會出現資料讀寫不正確的情況,尤其是對新的晶元第一次讀寫的時候,可能會出現問題。當時一直很奇怪,不過由於懶惰,沒有仔細檢查到底是什麼原因引起的。也不知道到底是不是因為沒加上拉電阻的問題。

以51微控制器為例,除了p0口,另外3個口內部都有弱上拉。所以似乎外部不用再加上拉電阻也可以。但是畢竟微控制器內部上拉電阻能力有限,只能微弱上拉。

另外對於很多微控制器,其內部有上拉電阻,但是無一例外,其上拉電阻的組織是比較大的,也就是說其上拉能力有限

2).

1、根據i2c匯流排規範,匯流排空閒時兩根線都必須為高;

這是規定,動不了的,不然什麼叫標準呢?其實所謂的這個神聖的標準也並不是多麼邪乎,你想啊,只有是高的才能拉成低的,難道誰可以把低的拉成高的嗎?所以這是之所以規定空閒時必須為高的乙個原因,要是保持「低」的話,那是不可能成為「多主」匯流排的。

這是首先應該理解的。

2、上拉電阻的問題;

其實各個i2c介面工作時只檢測高、低電平,管你有沒有什麼上拉電阻呢!

但問題是,你要是直接接電源的來實現高的話,一旦其他器件拉低時豈不危險?

所以,這個上拉電阻有保護作用。如果你確信直接接電源沒問題(比如有短路保護等,呵呵),也可以試一試,問題的關鍵是主器件要能正確的拉低或置高,從器件要能明確地區分高、低就可以了,這是問題的關鍵,當然,還有時序問題,不能混亂!

但你設計產品時不能這樣,玩玩可以的,哈!

3、電阻大小的問題;

最直接的,牽涉到兩方面的問題,首先是功耗的問題,其次是速度的問題,二者是矛盾的!如果你想盡量提高速度,那麼就牽涉到匯流排電容的問題,其實很容易理解,上拉電阻與匯流排的電容形成了rc,高速時將直接影響通訊!因為匯流排拉高時有個充電時間以及高電平的閥值,如果還沒有充電到足以保證從器件可以識別的高電平的閥值時主器件就以為完成了乙個匯流排動作的話,那麼通訊肯定是不能進行的!

如果你想盡可能降低功耗,那麼就要盡可能增大電阻以最大可能的減小電路各部分的消耗電流從而實現整體降低功耗!但不可能無限大,否則充電時間你會受不了的!

3)。因為,iic的工作原理是:1。stop: sda=h,scl=h , 2 。start : sda=h-->l,scl=h 

所以,在起始條件下,應該是stop 。那麼就必須上拉。

4)。i2c上拉電阻確定有乙個計算公式:

rmin=/3ma

rmax=(t/0.874) *c,   t=1us 100khz, t=0.3us 400khz

c是bus capacitance

關於iic的上拉電阻,個人最好的方式就是看參考設計,如果走線長了或好匯流排上有好幾個晶元,就把電阻改小一些。如果參考設計沒有就在1.5k~5k左右裡面選乙個就是了。像19樓說的確實有計算公式可以計算,但實際的時候我們沒有去測量匯流排的電容問題,只能在選件/走線時候給與些許的關注。

如果只有乙個裝置10k是沒關係,裝置多了就要考慮驅動能力,用1k,1.5k,2.2k都比較好

低速100khz的i2c上拉一般是10k,高速i2c(400kz)上拉選擇1k

I2C上拉電阻取值問題

如果上拉電阻值過小,vcc灌入埠的電流 ic 將較大,這樣會導致mos管v2 三極體 不完全導通 ib i2c的上拉電阻可以是1.5k,2.2k,4.7k,電阻的大小對時序有一定影響,對訊號的上公升時間和下降時間也有影響,一般接1.5k或2.2k 實驗 接入200k上拉電阻,結果觀察到訊號上公升時間...

I2C上拉電阻的取值

對於i2c上拉電阻,在電路圖中經常看到的取值是4.7k 但是一直不知道這個依據,雖然現在依然不是很明白,現在只是先記錄下當前的所知道的。從i2c規範中得知,上拉電阻的取值跟匯流排電容 上公升沿時間是有一定關係的,rp的最小 最大取值的公式都不一樣。並且規範中也只給出了標準 快速 快速 三種模式,高速...

I2C匯流排上拉電阻的計算選取

i2c匯流排上拉電阻的選取 i2c匯流排為漏極開路,輸出 0 時為低電平,輸出 1 時為高阻態,在應用的時候需要外接上拉電阻rp。另外,rs是個可選的電阻,加上該電阻可以有效得抑制匯流排上的高電平毛刺,大大減小過衝。圖1 i2c匯流排結構 針對設計中應用最多的快速模式i2c匯流排 最大速率400kh...