I2C總線時序與數(shù)據(jù)傳輸_第1頁
I2C總線時序與數(shù)據(jù)傳輸_第2頁
I2C總線時序與數(shù)據(jù)傳輸_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

PAGEPAGE3I2C總線時序與數(shù)據(jù)傳輸當(dāng)I2C總線處在空閑狀態(tài)時,因為各設(shè)備都是開漏輸出,所以在上拉電阻的作用下,SDASCLI2C16—2I2C總線時序示意圖,圖中最左邊和最右邊給出了起始信號和停止信號的時序條件。>起始信號時序:當(dāng)SCL為高電平時,SDA由高電平跳變到低電平。>停止信號時序:當(dāng)SCL 為高電平時,SDA 由低電平跳變到高電平。I2CSCL處在低電平時,才可以改變SDA的電平值,但起始信號和停止信號是特例。因此,當(dāng)?shù)娜魏翁兌紩蛔R別成為一個起始信號或停止信號。因此在I2C5DA的變化只能發(fā)生在SCL16—2中間部分的時序中.可以清楚地看到這一點。在I2C總線的數(shù)據(jù)傳輸過程中,發(fā)送到SDA8位,而且是高位在前,低位在后,每次發(fā)送數(shù)據(jù)的字節(jié)數(shù)量不受限制。但在這個數(shù)據(jù)傳輸過程中需要著重強調(diào)的是,當(dāng)發(fā)送方發(fā)送完每一字節(jié)后,都必須等待接收方返回一個應(yīng)答響應(yīng)信號ACK,如圖16—3所示。響應(yīng)信號ACK1位,緊跟在8個數(shù)據(jù)位后面,所以發(fā)送19個SCL時鐘脈沖。響應(yīng)時鐘脈沖也是由主機產(chǎn)生的,主機在響應(yīng)時鐘脈沖期間釋放SDA見圖16—3SDA拉低,使SDA16—3)。16—3中上面和中間的兩個信號應(yīng)該“線與”后呈現(xiàn)在SDA這個過程中存在比較復(fù)雜的轉(zhuǎn)換過程,所以將它們分開便于在下面做更仔細的分析。989鐘脈沖16—3)。>在前8個時鐘脈沖期間,發(fā)送方作為發(fā)送器,控制SI)A輸出8位數(shù)據(jù)到接收方。8個時鐘脈沖期間,接收方作為接收器,處在輸入的狀態(tài)下,檢測接收SDA6位數(shù)據(jù)。>在第9個時鐘脈沖期間,發(fā)送方釋放SDA,此時發(fā)送方由先前的發(fā)送器轉(zhuǎn)換成為接收器。9個時鐘脈沖期間,接收方則從先前的接收器轉(zhuǎn)換成為發(fā)送竭控制SDA,輸出ACK信號。9個時鐘脈沖期間,發(fā)送方作為接收器,處在輸入的狀態(tài)下,檢測接收SDAACK信號。>最后,發(fā)送和接收雙方都依據(jù)應(yīng)答信號的狀態(tài)(ACK/nACK),各自確定下一步的角色轉(zhuǎn)換,以及如何動作。在上面的分析過程中,使用了發(fā)送方和接收方來表示通信的雙方,而沒有使用主機和從機的概念,這是因為數(shù)據(jù)的發(fā)送可以是主機,也可以是從機。因此方,還是從機為接收方,在響應(yīng)時鐘脈沖期間都必須回送應(yīng)答信號。2個:低電平用ACK表示,代表有應(yīng)答;高電平用nACKI2C回或返回不正確的應(yīng)答信號,以及發(fā)送方對應(yīng)答信號的誤判,都將造成總線通信的失敗。I2C總線尋址與通信過程前面已經(jīng)介紹過I2C總線是支持多機通信的數(shù)據(jù)總線,每一個連接在總線上的從機設(shè)備或器件都有一個唯一獨立的地址,以便于主機尋訪。I2C某一個從機設(shè)備,通知其參與同主機之間的數(shù)據(jù)通信。地址字節(jié)的格式如下:地址字節(jié)的高780;而“。當(dāng)主機發(fā)出地址字節(jié)后,總線上所有的從機都將起始信號后的7位地址與自己的地址址不匹配的從機,則繼續(xù)保持在檢測起始信號的狀態(tài),等待下一個起始信號的到來。9SCK時鐘脈沖期間拉低SDAACK回應(yīng),以8(0圖16—4所示為在I2C1I2C上的數(shù)據(jù)情況、以及發(fā)送、接收雙方相互轉(zhuǎn)換與控制SDA的過程。>主機控制SDA。在I2C總線上產(chǎn)生起始信號,同時控制SCL,發(fā)送時鐘脈沖。在整個傳輸過程中,SCL都是由主機控制的。85DA的控制,進入接收檢測ACK的狀態(tài)。>所有從機在起始信號后為從機接收器,接收地址字節(jié),與自己地址比對。9個SCL時鐘脈沖期間控制SDA.將其拉低,給出ACK應(yīng)答。>主機檢測到從機的ACK應(yīng)答后、轉(zhuǎn)換成主機接收器。準(zhǔn)備接收從機發(fā)出的數(shù)據(jù)。828SDA1字節(jié)的數(shù)據(jù)。發(fā)送完成后放棄對SDA的控制,進入接收檢測ACK的狀態(tài)。28d0位后,主機控制SDA,將其拉低,給出ACK應(yīng)答。>從機接收檢測主機的ACKc如果是1nACK,則轉(zhuǎn)入檢測下一個起始信號的狀態(tài)。>在這個示例中,主機收到l字節(jié)數(shù)據(jù)后,轉(zhuǎn)成主機發(fā)送器控制SDA,在發(fā)出ACK答信號后,馬上發(fā)出停止信號,通知本次數(shù)據(jù)傳輸結(jié)束。>從機檢測到停止信號,轉(zhuǎn)入檢測下一個起始信號的狀態(tài)。以上介紹了I2CI2CI2CSCL的TWI接口在硬件層面上實現(xiàn)了更多的I2C底層協(xié)議和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論