I2C總線時序詳解參考模板_第1頁
I2C總線時序詳解參考模板_第2頁
I2C總線時序詳解參考模板_第3頁
I2C總線時序詳解參考模板_第4頁
I2C總線時序詳解參考模板_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、I2C總線時序詳解I2C總線位傳輸由于連接到I2C 總線的器件有不同種類的工藝(CMOS、NMOS、雙極性),邏輯0(低)和邏輯1(高)的電平不是固定的,它由電源VCC的相關(guān)電平?jīng)Q定,每傳輸一個數(shù)據(jù)位就產(chǎn)生一個時鐘脈沖。 數(shù)據(jù)的有效性SDA 線上的數(shù)據(jù)必須在時鐘的高電平周期保持穩(wěn)定。數(shù)據(jù)線的高或低電平狀態(tài)只 有在SCL 線的時鐘信號是低電平時才能改變 。I2C位傳輸數(shù)據(jù)有效性起始和停止條件SCL 線是高電平時,SDA 線從高電平向低電平切換,這個情況表示起始條件; SCL 線是高電平時,SDA 線由低電平向高電平切換,這個情況表示停止條件。 起始和停止條件一般由主機(jī)產(chǎn)生,總線在起始條件后被認(rèn)為

2、處于忙的狀態(tài) 1 / 8起始和停止條件,在停止條件的某段時間后總線被認(rèn)為再次處于空閑狀態(tài)。 如果產(chǎn)生重復(fù)起始條件而不產(chǎn)生停止條件,總線會一直處于忙的狀態(tài),此時的起始條件(S)和重復(fù)起始條件(Sr) 在功能上是一樣的。I2C總線數(shù)據(jù)傳輸字節(jié)格式發(fā)送到SDA 線上的每個字節(jié)必須為8 位,每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制。每個字節(jié)后必須跟一個響應(yīng)位。首先傳輸?shù)氖菙?shù)據(jù)的最高位(MSB),如果從機(jī)要完成一些其他功能后(例如一個內(nèi)部中斷服務(wù)程序)才能接收或發(fā)送下一個完整的數(shù)據(jù)字節(jié),可以使時鐘線SCL 保持低電平,迫使主機(jī)進(jìn)入等待狀態(tài),當(dāng)從機(jī)準(zhǔn)備好接收下一個數(shù)據(jù)字節(jié)并釋放時鐘線SCL 后數(shù)據(jù)傳輸繼續(xù)。 應(yīng)

3、答響應(yīng)數(shù)據(jù)傳輸必須帶響應(yīng),相關(guān)的響應(yīng)時鐘脈沖由主機(jī)產(chǎn)生。在響應(yīng)的時鐘脈沖期間發(fā)送器釋放SDA 線(高)。 在響應(yīng)的時鐘脈沖期間,接收器必須將SDA 線拉低,使它在這個時鐘脈沖的高電平期間保持穩(wěn)定的低電平。 通常被尋址的接收器在接收到的每個字節(jié)后,除了用CBUS 地址開頭的數(shù) 。 I2C總線數(shù)據(jù)傳輸和應(yīng)答據(jù),必須產(chǎn)生一個響應(yīng)。當(dāng)從機(jī)不能響應(yīng)從機(jī)地址時(例如它正在執(zhí)行一些實(shí)時函數(shù)不能接收或發(fā)送),從機(jī)必須使數(shù)據(jù)線保持高電平,主機(jī)然后產(chǎn)生一個停止條件終止傳輸或者產(chǎn)生重復(fù)起始條件開始新的傳輸。 如果從機(jī)接收器響應(yīng)了從機(jī)地址,但是在傳輸了一段時間后不能接收更多數(shù)據(jù)字節(jié),主機(jī)必須再一次終止傳輸。這個情況用

4、從機(jī)在第一個字節(jié)后沒有產(chǎn)生響應(yīng)來表示。從機(jī)使數(shù)據(jù)線保持高電平,主機(jī)產(chǎn)生一個停止或重復(fù)起始條件。 如果傳輸中有主機(jī)接收器,它必須通過在從機(jī)不產(chǎn)生時鐘的最后一個字節(jié)不產(chǎn)生一個響應(yīng),向從機(jī)發(fā)送器通知數(shù)據(jù)結(jié)束。從機(jī)發(fā)送器必須釋放數(shù)據(jù)線,允許主機(jī)產(chǎn)生一個停止或重復(fù)起始條件。尋址方式7位尋址第一個字節(jié)的頭7 位組成了從機(jī)地址,最低位(LSB)是第8 位,它決定了傳輸?shù)?普通的和帶重復(fù)開始條件的7位地址格式方向。第一個字節(jié)的最低位是“0”,表示主機(jī)會寫信息到被選中的從機(jī);“1”表示主機(jī)會向從機(jī)讀信息,當(dāng)發(fā)送了一個地址后,系統(tǒng)中的每個器件都在起始條件后將頭7 位與它自己的地址比較,如果一樣,器件會判定它被主機(jī)

5、尋址,至于是從機(jī)接收器還是從機(jī)發(fā)送器,都由R/W 位決定。 10位尋址10位尋址和7 位尋址兼容,而且可以結(jié)合使用。 10位尋址采用了保留的1111XXX 作為起始條件(S),或重復(fù)起始條件(Sr )的后第一個字節(jié)的頭7 位。 10 位尋址不會影響已有的7 位尋址,有7 位和10 位地址的器件可以連接 I2C總線10位地址格式到相同的I2C 總線。它們都能用于標(biāo)準(zhǔn)模式(F/S)和高速模式(Hs)系統(tǒng)。 保留地址位1111XXX 有8 個組合,但是只有4 個組合11110XX 用于10 位尋址,剩下的4個組合11111XX 保留給后續(xù)增強(qiáng)的I2C 總線。 10 位從機(jī)地址是由在起始條件(S) 或

6、重復(fù)起始條件(Sr )后的頭兩個字節(jié)組成。 第一個字節(jié)的頭7 位是11110XX 的組合,其中最后兩位(XX) 是10 位地址的兩個最高位(MSB)。 第一個字節(jié)的第8 位是R/W 位,決定了傳輸?shù)姆较颍谝粋€字節(jié)的最低位是“0”表示主機(jī)將寫信息到選中的從機(jī),“1 ”表示主機(jī)將向從機(jī)讀信息。 如果R/W 位是“0 ”,則第二個字節(jié)是10 位從機(jī)地址剩下的8 位;如果R/W 位是“1” 則下一個字節(jié)是從機(jī)發(fā)送給主機(jī)的數(shù)據(jù)。 編輯本段快速和高速模式快速模式快速模式器件可以在400kbit/s 下接收和發(fā)送。最小要求是:它們可以和400kbit/s 傳輸同步,可以延長SCL 信號的低電平周期來減慢傳

7、輸??焖倌J狡骷枷蛳录嫒?,可以和標(biāo)準(zhǔn)模式器件在0100kbit/s 的I2C 總線系統(tǒng)通訊。但是,由于標(biāo)準(zhǔn)模式器件不向上兼容,所以不能在快速模式I2C 總線系統(tǒng)中工作??焖倌J絀2C 總線規(guī)范與標(biāo)準(zhǔn)模式相比有以下額外的特征: 1、最大位速率增加到400kbit/s; 2、調(diào)整了串行數(shù)據(jù)(SDA) 和串行時鐘(SCL )信號的時序; 3、快速模式器件的輸入有抑制毛刺的功能,SDA 和SCL輸入有施密特觸發(fā)器; 4、快速模式器件的輸出緩沖器對SDA 和SCL 信號的下降沿有斜率控制功能; 5、如果快速模式器件的電源電壓被關(guān)斷,SDA 和SCL 的I/O 管腳必須懸空,不能阻塞總線; 6、連接到總

8、線的外部上拉器件必須調(diào)整以適應(yīng)快速模式I2C 總線更短的最大允許上升時間。對于負(fù)載最大是200pF 的總線,每條總線的上拉器件可以是一個電阻,對于負(fù)載在200pF400pF 之間的總線,上拉器件可以是一個電流源(最大值3mA )或者是一個開關(guān)電阻電路。 高速模式高速模式(Hs 模式)器件對I2C 總線的傳輸速度有具大的突破。Hs 模式器件可以在高達(dá)3.4Mbit/s 的位速率下傳輸信息,而且保持完全向下兼容快速模式或標(biāo)準(zhǔn)模式(F/S 模式)器件,它們可以在一個速度混合的總線系統(tǒng)中雙向通訊。 Hs 模式傳輸除了不執(zhí)行仲裁和時鐘同步外,與F/S 模式系統(tǒng)有相同的串行總線協(xié)議和數(shù)據(jù)格式。 高速模式下

9、I2C 總線規(guī)范如下: 1、Hs 模式主機(jī)器件有一個SDAH 信號的開漏輸出緩沖器和一個在SCLH 輸出的開漏極下拉和電流源上拉電路。這個電流源電路縮短了SCLH 信號的上升時間,任何時侯在Hs 模式,只有一個主機(jī)的電流源有效; 2、在多主機(jī)系統(tǒng)的Hs 模式中,不執(zhí)行仲裁和時鐘同步,以加速位處理能力。仲裁過程一般在前面用F/S 模式傳輸主機(jī)碼后結(jié)束; 3、Hs 模式主機(jī)器件以高電平和低電平是1:2 的比率產(chǎn)生一個串行時鐘信號。解除了建立和保持時間的時序要求; 4、可以選擇Hs 模式器件有內(nèi)建的電橋。在Hs 模式傳輸中,Hs 模式器件的高速數(shù)據(jù)(SDAH)和高速串行時鐘(SCLH )線通過這個電

10、橋與F/S 模式器件的SDA 和SCL 線分隔開來。減輕了SDAH 和SCLH 線的電容負(fù)載,使上升和下降時間更快; 5、Hs 模式從機(jī)器件與F/S 從機(jī)器件的唯一差別是它們工作的速度。Hs 模式從機(jī)在SCLH 和SDAH輸出有開漏輸出的緩沖器。SCLH 管腳可選的下拉晶體管可以用于拉長SCLH 信號的低電平,但只允許在Hs 模式傳輸?shù)捻憫?yīng)位后進(jìn)行; 6、Hs 模式器件的輸出可以抑制毛刺,而且SDAH 和SCLH 輸出有一個施密特觸發(fā)器; 7、Hs 模式器件的輸出緩沖器對SDAH 和SCLH 信號的下降沿有斜率控制功能。11/* 函數(shù)名 :讀一個字節(jié)數(shù)據(jù)* 入口參數(shù): 無* 注意 :* 說明

11、:*/uchar I2cReadByte( void ) uchar rbyte = 0;uchar i = 0; for(i = 0; i < 8; i+ ) rbyte = rbyte << 1; /非常注意.此語句不放在循環(huán)體內(nèi)最后. SDA = 1; /SDA為輸入 SCL = 1; NOP_5; if( SDA = 1 ) rbyte = rbyte | 0x01; SCL = 0; return rbyte;2從地址讀數(shù)據(jù)第249行為什么還要加一個I2Cstart()?3為什么循環(huán)變量定義為uchar類型?4寫字節(jié)子程序void I2c_Write_n( uchar DeviceAddress,

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論