二十 I2C匯流排仲裁機制

2022-09-10 13:06:15 字數 772 閱讀 3305

i2c (inter-integratedcircuit)匯流排是一種由philips公司開發的兩線式序列匯流排,用於連線微控制器及其外圍裝置,乙個i2c匯流排上可以掛載多個從裝置,多個裝置同時使用匯流排時,怎麼防止資料衝突,這就需要i2c的匯流排仲裁機制。

1、i2c匯流排上可能在某一時刻有兩個主控裝置要同時向匯流排傳送資料,這種情況叫做匯流排競爭。

2、i2c匯流排具有多主控能力,可以對發生在sda線上的匯流排競爭進行仲裁,其仲裁原則是這樣的:

假設主控器1要傳送的資料data1為「101 ……」;主控器2要傳送的資料data2為「1001 ……」匯流排被啟動後兩個主控器在每傳送乙個資料位時都要對自己的輸出電平進行檢測,只要檢測的電平與自己發出的電平一致,他們就會繼續占用匯流排。在這種情況下匯流排還是得不到仲裁。當主控器1傳送第3位資料「1」時(主控器2傳送「0」 ),由於「線與」的結果sda上的電平為「0」,這樣當主控器1檢測自己的輸出電平時,就會測到乙個與自身不相符的「0」電平。這時主控器1只好放棄對匯流排的控制權;因此主控器2就成為匯流排的唯一主宰者。不難看出:

3、i2c匯流排仲裁主要遵循三個機制:

多主機時,匯流排具有「線與」的邏輯功能,即只要有乙個節點傳送低電平時,匯流排上就表現為低電平。

匯流排被啟動後,多個主機在每傳送乙個資料位時都要對自己的輸出電平進行檢測,只要檢測的電平與自己發出的電平一致,就會繼續占用匯流排。

由於線與的存在,當多主機傳送時,誰先傳送低電平誰就會掌握對匯流排的控制權。

I2C匯流排的仲裁機制

在多主的通訊系統中。匯流排上有多個節點,它們都有自己的定址位址,可以作為從節點被別的節點訪問,同時它們都可以作為主節點向其他的節點傳送控制位元組和傳送資料。但是如果有兩個或兩個以上的節點都向匯流排上傳送啟動訊號並開始傳送資料,這樣就形成了衝突。要解決這種衝突,就要進行仲裁的判決,這就是 i 2c 匯...

I2C匯流排的仲裁機制

在多主的通訊系統中。匯流排上有多個節點,它們都有自己的定址位址,可以作為從節點被別的節點訪問,同時它們都可以作為主節點向其他的節點傳送控制位元組和傳 送資料。但是如果有兩個或兩個以上的節點都向匯流排上傳送啟動訊號並開始傳送資料,這樣就形成了衝突。要解決這種衝突,就要進行仲裁的判決,這就是i 2c匯流...

iic匯流排從機仲裁 I2C匯流排的仲裁機制

在多主的通訊系統中。匯流排上有多個節點,它們都有自己的定址位址,可以作為從節點被別的節點訪問,同時它們都可以作為主節點向其他的節點傳送控制位元組和傳 送資料。但是如果有兩個或兩個以上的節點都向匯流排上傳送啟動訊號並開始傳送資料,這樣就形成了衝突。要解決這種衝突,就要進行仲裁的判決,這就是i 2c匯流...