<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 對I2C總線(xiàn)的時(shí)鐘同步和總線(xiàn)仲裁的深入理解

對I2C總線(xiàn)的時(shí)鐘同步和總線(xiàn)仲裁的深入理解

作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò ) 收藏
每一個(gè)IIC總線(xiàn)器件內部的SDA、SCL引腳電路結構都是一樣的,引腳的輸出驅動(dòng)與輸入緩沖連在一起。其中輸出為漏極開(kāi)路的場(chǎng)效應管、輸入緩沖為一只高輸入阻抗的同相器[1]。這種電路具有兩個(gè)特點(diǎn):

①由于SDA、SCL為漏極開(kāi)路結構,借助于外部的上拉電阻實(shí)現了信號的“線(xiàn)與”邏輯;

本文引用地址:http://dyxdggzs.com/article/201611/320014.htm

②引腳在輸出信號的同時(shí)還將引腳上的電平進(jìn)行檢測,檢測是否與剛才輸出一致。為 “時(shí)鐘同步”和“總線(xiàn)仲裁”提供硬件基礎。

I2C總線(xiàn)接口內部結構

IIC設備對總線(xiàn)的操作僅有“把線(xiàn)路接地”——輸出邏輯0?;贗IC總線(xiàn)的設計,線(xiàn)路上不可能出現電平?jīng)_突現象。如果一設備發(fā)送邏輯0,其他發(fā)送邏輯1,那么線(xiàn)路看到的只有邏輯0。也就是說(shuō),如果出現電平?jīng)_突,發(fā)送邏輯0的始終是“贏(yíng)家”??偩€(xiàn)的物理接法允許主設備往總線(xiàn)寫(xiě)數據的同事讀取數據。這樣兩主設備爭總線(xiàn)的時(shí)候“贏(yíng)家”并不知道競爭的發(fā)生,只有“輸家”發(fā)現了沖突——當寫(xiě)一個(gè)邏輯1,卻讀到了0——而退出競爭。

時(shí)鐘同步

如果被控器希望主控器降低傳送速度可以通過(guò)將SCL主動(dòng)拉低延長(cháng)其低電平時(shí)間的方法來(lái)通知主控器,當主控器在準備下一次傳送發(fā)現SCL的電平被拉低時(shí)就進(jìn)行等待,直至被控器完成操作并釋放SCL線(xiàn)的控制控制權。這樣以來(lái),主控器實(shí)際上受到被控器的時(shí)鐘同步控制??梢?jiàn)SCL線(xiàn)上的低電平是由時(shí)鐘低電平最長(cháng)的器件決定;高電平的時(shí)間由高電平時(shí)間最短的器件決定。這就是時(shí)鐘同步,它解決了I2C總線(xiàn)的速度同步。

總線(xiàn)仲裁

假設主控器1要發(fā)送的數據DATA1為“101 ……”;主控器2要發(fā)送的數據DATA2為“1001 ……”總線(xiàn)被啟動(dòng)后兩個(gè)主控器在每發(fā)送一個(gè)數據位時(shí)都要對自己的輸出電平進(jìn)行檢測,只要檢測的電平與自己發(fā)出的電平一致,他們就會(huì )繼續占用總線(xiàn)。在這種情況下總線(xiàn)還是得不到仲裁。當主控器1發(fā)送第3位數據“1”時(shí)(主控器2發(fā)送“0” ),由于“線(xiàn)與”的結果SDA上的電平為“0”,這樣當主控器1檢測自己的輸出電平時(shí),就會(huì )測到一個(gè)與自身不相符的“0”電平。這時(shí)主控器1只好放棄對總線(xiàn)的控制權;因此主控器2就成為總線(xiàn)的唯一主宰者。
不難看出:
  • ① 對于整個(gè)仲裁過(guò)程主控器1和主控器2都不會(huì )丟失數據;
  • ② 各個(gè)主控器沒(méi)有對總線(xiàn)實(shí)施控制的優(yōu)先級別;
  • ③總線(xiàn)控制隨即而定,他們遵循“低電平優(yōu)先”的原則,即誰(shuí)先發(fā)送低電平誰(shuí)就會(huì )掌握對總線(xiàn)的控制權。
根據上面的描述,“時(shí)鐘同步”與“總線(xiàn)仲裁”可以總結如下規律:
  • ①主控器通過(guò)檢測SCL上的電平來(lái)調節與從器件的速度同步問(wèn)題——時(shí)鐘同步;
  • ②主控器通過(guò)檢測SDA上自身發(fā)送的電平來(lái)判斷是否發(fā)生總線(xiàn)“沖突”——總線(xiàn)仲裁。因此,I2C總線(xiàn)的“時(shí)鐘同步”與“總線(xiàn)仲裁”是靠器件自身接口的特殊結構得以實(shí)現的。

[1]同相器:當輸入高電平時(shí)輸出也是高電平,輸入低電平時(shí)輸出也是低電平。主要要于需要緩沖的場(chǎng)合,就是只要輸入很小的電流,可輸出較大的電流,增加帶載能力。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>