<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)的基本操作

I2C總線(xiàn)的基本操作

作者: 時(shí)間:2011-07-23 來(lái)源:網(wǎng)絡(luò ) 收藏
  上只具有SOL(時(shí)鐘)和SDA(數據)2根信號線(xiàn)。如果是單純的串行傳輸,一旦因為某種原因造成引腳的偏差,則可能會(huì )造成不能區分總線(xiàn)上傳輸的是數據還是地址信息的后果。解決上述問(wèn)題的簡(jiǎn)單辦法就是附加獨立于總線(xiàn)的Reset(復位)信號,由主機控制該信號。因為I2C至少利用2根線(xiàn)進(jìn)行所有的操作,因此在數據傳輸時(shí),通常當SCL為低電平時(shí),設置下一個(gè)數據;當SDA變化后,SCI為高電平,這可以解釋為一連串操作的開(kāi)始/結束。

1. 起始條件

始條件表示一系列操作的開(kāi)始。圖1表示起始條件以及隨后數據傳輸的開(kāi)始操作。在的空閑狀態(tài)下,SDA及SCL通過(guò)上拉電阻都為高電平。在這樣的狀態(tài)下,如果SCL仍保持高電平,而SDA變?yōu)榈碗娖?則成為開(kāi)始指令。

  

圖1 的起始條件   

由于該狀態(tài)并不出現于地址及數據的發(fā)送與接收過(guò)程中,因此,即使在途中發(fā)生異常,只要檢測出該狀態(tài),初始化內部的狀態(tài)機,就可以使其恢復。

2. 結束條件

在一系列操作的最后是結束條件。結束條件如圖2所示。當SOL為高電平時(shí),一旦SDA由低電平變化為高電平,即成為結束條件,主機與器件之間的通信將停止,器件恢復為空閑狀態(tài)。進(jìn)行寫(xiě)操作時(shí)的結束狀態(tài)是開(kāi)始進(jìn)行EEPROM內部單元寫(xiě)操作的指示標志。

 

圖2 I2C總線(xiàn)的結束條件   

結束前所傳輸的數據是ACK/NoACK的狀態(tài)位,如果是ACK,則該狀態(tài)位為低電平。但如果發(fā)生某種錯誤時(shí),則表示為NoACK的高電平。讀操作時(shí)的最后字節是主機向器件返回NoˉACK信息,所以SDA為高電平。這樣就不能形成結束條件所需要的SDA的上升沿,因此在結束之前需要加入啞元“0”數據位作為解決辦法。

在最終數據的ACK NoACK之后,主機通過(guò)下述的流程,形成結束條件,如下所述:

①SCL變?yōu)榈碗娖剑?/P>

②SDA變?yōu)榈碗娖剑?/P>

③SOL變?yōu)楦唠娖剑òl(fā)送啞元數據);

④SDA變?yōu)楦唠娖剑ńY束條件)。

3. 數據傳輸

數據傳輸的流程如圖3所示。除去開(kāi)始與結束條件,在傳輸包含地址指定等數據時(shí),能夠使SDA發(fā)生變化的條件只能是在SOL為低電平時(shí)。因此,總線(xiàn)操作以如下的步驟進(jìn)行:

①SCL變?yōu)榈碗娖剑?/P>

②為SDA設置數據(主機或者器件);

③SCL變?yōu)楦唠娖健?/P>

進(jìn)行數據讀操作時(shí),主機在SOL恢復為高電平之前讀取數據。

圖3 I2C總線(xiàn)的數據傳輸



關(guān)鍵詞: I2C總線(xiàn) 基本操作

評論


相關(guān)推薦

技術(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>