版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
I2C總線(xiàn)協(xié)議(內(nèi)訓(xùn))第一節(jié) I2C總線(xiàn)介紹1.1 概述 I2C(Inter-IntegratedCircuit)總線(xiàn)是一種由PHILIPS公司開(kāi)發(fā)的兩線(xiàn)式串行總線(xiàn),用于連接微控制器及其外圍設(shè)備。I2C總線(xiàn)產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開(kāi)發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信。例如管理員可對(duì)各個(gè)組件進(jìn)行查詢(xún),以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇??呻S時(shí)監(jiān)控內(nèi)存、硬盤(pán)、網(wǎng)絡(luò)、系統(tǒng)溫度等多個(gè)參數(shù),增加了系統(tǒng)的安全性,方便了管理。1.2 I2C總線(xiàn)特性只要求兩條總線(xiàn)線(xiàn)路一條串行數(shù)據(jù)線(xiàn)(SDA);一條串行時(shí)鐘線(xiàn)(SCL)。每個(gè)連接到總線(xiàn)的器件都有唯一的地址;主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器。它是一個(gè)真正的多主機(jī)總線(xiàn),如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳輸可以通過(guò)沖突檢測(cè)和仲裁防止數(shù)據(jù)被破壞。串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá)3.4Mbit/s。片上的濾波器可以濾去總線(xiàn)數(shù)據(jù)線(xiàn)上的毛刺波,保證數(shù)據(jù)完整。連接到相同總線(xiàn)的IC數(shù)量只受到總線(xiàn)的最大電容400pF限制。1.3 I2C總線(xiàn)的概念
I2C總線(xiàn)為兩線(xiàn)總線(xiàn)――串行數(shù)據(jù)(SDA)和串行時(shí)鐘(SCL)線(xiàn)在連接到總線(xiàn)的器件間傳遞信息。每個(gè)器件都有一個(gè)唯一的地址識(shí)別(無(wú)論是微控制器、LCD驅(qū)動(dòng)器、存儲(chǔ)器或鍵盤(pán)接口),而且都可以作為一個(gè)發(fā)送器或接收器(由器件的功能決定)。除了發(fā)送器和接收器外,器件在執(zhí)行數(shù)據(jù)傳輸時(shí)也可以被看作是主機(jī)或從機(jī)。主機(jī)是初始化總線(xiàn)的數(shù)據(jù)傳輸并產(chǎn)生允許傳輸?shù)臅r(shí)鐘信號(hào)的器件。此時(shí),任何被尋址的器件都被認(rèn)為是從機(jī)。I2C總線(xiàn)是一個(gè)多主機(jī)的總線(xiàn)。這就是說(shuō)可以連接多于一個(gè)能控制總線(xiàn)的器件到總線(xiàn)。在I2C總線(xiàn)上產(chǎn)生時(shí)鐘信號(hào)通常是主機(jī)器件的責(zé)任;當(dāng)在總線(xiàn)上傳輸數(shù)據(jù)時(shí),每個(gè)主機(jī)產(chǎn)生自己的時(shí)鐘信號(hào)。主機(jī)發(fā)出的總線(xiàn)時(shí)鐘信號(hào)只有在以下的情況才能被改變:慢速的從機(jī)器件控制時(shí)鐘線(xiàn)并延長(zhǎng)時(shí)鐘信號(hào),或者在發(fā)生仲裁時(shí)被另一個(gè)主機(jī)改變
(表1)1.4 總體特征 SDA和SCL都是雙向線(xiàn)路,都通過(guò)一個(gè)電流源或上拉電阻連接到正的電源電壓(見(jiàn)下圖)。當(dāng)總線(xiàn)空閑時(shí),這兩條線(xiàn)路都是高電平。連接到總線(xiàn)的器件輸出級(jí)必須是漏極開(kāi)路或集電極開(kāi)路才能執(zhí)行線(xiàn)與的功能。第二節(jié) I2C總線(xiàn)傳輸2.1 數(shù)據(jù)的有效性 SDA線(xiàn)上的數(shù)據(jù)必須在時(shí)鐘的高電平周期保持穩(wěn)定。數(shù)據(jù)線(xiàn)的高或低電平狀態(tài)只有在SCL線(xiàn)的時(shí)鐘信號(hào)是低電平時(shí)才能改變。時(shí)鐘都是由主機(jī)發(fā)出的。2.2 起始和停止條件
在I2C總線(xiàn)中,唯一出現(xiàn)的是被定義為起始(S)和停止(P)條件(見(jiàn)圖
)的情況。
在SCL線(xiàn)是高電平時(shí),SDA線(xiàn)從高電平向低電平切換。這個(gè)情況表示起始條件。當(dāng)SCL是高電平時(shí),SDA線(xiàn)由低電平向高電平切換表示停止條件。
起始和停止條件一般由主機(jī)產(chǎn)生。總線(xiàn)在起始條件后被認(rèn)為處于忙的狀態(tài)。在停止條件的某段時(shí)間后,總線(xiàn)被認(rèn)為再次處于空閑狀態(tài)。 如果產(chǎn)生重復(fù)起始(Sr)條件而不產(chǎn)生停止條件,總線(xiàn)會(huì)一直處于忙的狀態(tài)此時(shí)的起始條件(S)和重復(fù)起始(Sr)條件在功能上是一樣的。 如果連接到總線(xiàn)的器件合并了必要的接口硬件,那么用它們檢測(cè)起始和停止條件十分簡(jiǎn)便。但是,沒(méi)有這種接口的微控制器在每個(gè)時(shí)鐘周期至少要采樣SDA線(xiàn)兩次來(lái)判別有沒(méi)有發(fā)生電平切換。2.3 字節(jié)格式
發(fā)送到SDA線(xiàn)上的每個(gè)字節(jié)必須為8位。每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制。每個(gè)字節(jié)后必須跟一個(gè)響應(yīng)位。首先傳輸?shù)氖菙?shù)據(jù)的最高位(MSB)(見(jiàn)圖6)。如果從機(jī)要完成一些其他功能后(例如一個(gè)內(nèi)部中斷服務(wù)程序)才能接收或發(fā)送下一個(gè)完整的數(shù)據(jù)字節(jié),可以使時(shí)鐘線(xiàn)SCL保持低電平迫使主機(jī)進(jìn)入等待狀態(tài)。當(dāng)從機(jī)準(zhǔn)備好接收下一個(gè)數(shù)據(jù)字節(jié)并釋放時(shí)鐘線(xiàn)SCL后,數(shù)據(jù)傳輸繼續(xù)。 2.4 響應(yīng)
數(shù)據(jù)傳輸必須帶響應(yīng)。相關(guān)的響應(yīng)時(shí)鐘脈沖由主機(jī)產(chǎn)生。在響應(yīng)的時(shí)鐘脈沖期間,發(fā)送器釋放SDA線(xiàn)(高)。 在響應(yīng)的時(shí)鐘脈沖期間,接收器必須將SDA線(xiàn)拉低,使它在這個(gè)時(shí)鐘脈沖的高電平期間保持穩(wěn)定的低電平(見(jiàn)圖
)。此時(shí)發(fā)送器讀取SDA線(xiàn),當(dāng)在相應(yīng)的時(shí)鐘脈沖期間讀到低電平時(shí)表示應(yīng)答成功。 通常被尋址的接收器在接收到的每個(gè)字節(jié)后,必須產(chǎn)生一個(gè)響應(yīng)。 當(dāng)從機(jī)不能響應(yīng)從機(jī)地址時(shí)(例如它正在執(zhí)行一些實(shí)時(shí)函數(shù)不能接收或發(fā)送),從機(jī)必須使數(shù)據(jù)線(xiàn)保持高電平。主機(jī)然后產(chǎn)生一個(gè)停止條件終止傳輸或者產(chǎn)生重復(fù)起始條件開(kāi)始新的傳輸。 如果從機(jī)--接收器響應(yīng)了從機(jī)地址但是在傳輸了一段時(shí)間后不能接收更多數(shù)據(jù)字節(jié),主機(jī)必須再一次終止傳輸。這個(gè)情況用從機(jī)在第一個(gè)字節(jié)后沒(méi)有產(chǎn)生響應(yīng)來(lái)表示。從機(jī)使數(shù)據(jù)線(xiàn)保持高電平,主機(jī)產(chǎn)生一個(gè)停止或重復(fù)起始條件。 如果傳輸中有主機(jī)接收器,它必須通過(guò)在從機(jī)不產(chǎn)生時(shí)鐘的最后一個(gè)字節(jié)不產(chǎn)生一個(gè)響應(yīng),向從機(jī)發(fā)送器通知數(shù)據(jù)結(jié)束。從機(jī)--發(fā)送器必須釋放數(shù)據(jù)線(xiàn),允許主機(jī)產(chǎn)生一個(gè)停止或重復(fù)起始條件。2.5 7位從設(shè)備地址格式
數(shù)據(jù)的傳輸遵循下圖所示的格式。在起始條件(S)后,發(fā)送了一個(gè)從機(jī)地址。這個(gè)地址共有7位,緊接著的第8位是數(shù)據(jù)方向位(R/W)---‘0’表示發(fā)送(寫(xiě)),‘1’表示請(qǐng)求數(shù)據(jù)(讀)。數(shù)據(jù)傳輸一般由主機(jī)產(chǎn)生的停止位(P)終止。但是,如果主機(jī)仍希望在總線(xiàn)上通訊,它可以產(chǎn)生重復(fù)起始條件(Sr)和尋址另一個(gè)從機(jī),而不是首先產(chǎn)生一個(gè)停止條件。在這種傳輸中可能有不同的讀寫(xiě)格式結(jié)合。2.5.1 可能的傳輸格式(一)
主機(jī)--發(fā)送器發(fā)送到從機(jī)--接收器.傳輸?shù)姆较虿粫?huì)改變。2.5.2 可能的傳輸格式(二)
在第一個(gè)字節(jié)后,主機(jī)立即讀從機(jī)。在第一次響應(yīng)時(shí),主機(jī)--發(fā)送器變成主機(jī)--接收器,從機(jī)--接收器變成從機(jī)--發(fā)送器。第一次響應(yīng)仍由從機(jī)產(chǎn)生。之前發(fā)送了一個(gè)不響應(yīng)信號(hào)的主機(jī)產(chǎn)生停止條件。2.5.3 可能的傳輸格式(三)
復(fù)合格式。傳輸改變方向的時(shí)侯,起始條件和從機(jī)地址都會(huì)被重復(fù)。但R/W位取反。如果主機(jī)接收器發(fā)送一個(gè)重復(fù)起始條件,它之前應(yīng)該發(fā)送了一個(gè)不響應(yīng)信號(hào)。2.6第一個(gè)字節(jié)(從設(shè)備地址)的保留定義2.7 廣播呼叫2.7.1廣播呼叫(1)
廣播呼叫地址是用來(lái)尋址連接到I2C總線(xiàn)上的每個(gè)器件。使用這個(gè)地址時(shí),理論上所有器件都會(huì)發(fā)出一個(gè)響應(yīng),但是如果器件在廣播呼叫結(jié)構(gòu)中不需要任何數(shù)據(jù),它可以通過(guò)不發(fā)出響應(yīng)來(lái)忽略這個(gè)地址。如果器件要求從廣播呼叫地址得到數(shù)據(jù),它會(huì)響應(yīng)這個(gè)地址并作為從機(jī)--接收器運(yùn)轉(zhuǎn)。第二個(gè)和接下來(lái)的字節(jié)會(huì)被能處理這些數(shù)據(jù)的每個(gè)從機(jī)--接收器響應(yīng)。廣播呼叫地址的含意通常在第二個(gè)字節(jié)說(shuō)明。 這里要考慮兩種情況
?當(dāng)最低位B是‘0’ ?當(dāng)最低位B是‘1’2.7.2廣播呼叫(2)
當(dāng)位B是‘0’時(shí)第二個(gè)字節(jié)的定義如下:
?00000110(H‘06’)。通過(guò)硬件寫(xiě)入和復(fù)位從機(jī)地址的可編程部分。接收到這個(gè)兩字節(jié)序列時(shí),所有打算響應(yīng)這個(gè)廣播呼叫地址的器件將復(fù)位并接受它們地址的可編程部分。
?00000100(H‘04’)。通過(guò)硬件寫(xiě)從機(jī)地址的可編程部分。所有通過(guò)硬件定義地址可編程部分(和響應(yīng)廣播呼叫地址)的器件會(huì)在接收這兩個(gè)字節(jié)序列時(shí)鎖存可編程的部分。器件不會(huì)復(fù)位
?00000000(H‘00’)。這個(gè)代碼不允許在第二個(gè)字節(jié)使用注*編程過(guò)程的順序請(qǐng)參考相應(yīng)器件的數(shù)據(jù)表2.7.3廣播呼叫(3)
當(dāng)位B是‘1’時(shí),這個(gè)兩字節(jié)序列是一個(gè)“硬件廣播呼叫”(通用呼叫命令)。即序列由一個(gè)硬件主機(jī)器件發(fā)送,例如鍵盤(pán)掃描器,它們不能編程來(lái)發(fā)送一個(gè)期望的從機(jī)地址。由于硬件主機(jī)預(yù)先不知道報(bào)文要傳輸給哪個(gè)器件,它只能產(chǎn)生這個(gè)硬件廣播呼叫和它自己的地址------讓系統(tǒng)識(shí)別它。這個(gè)地址被一個(gè)連接到總線(xiàn)的智能器件識(shí)別(例如:微控制器)并指引硬件主機(jī)的信息。如果硬件主機(jī)也可以作為從機(jī),它的從機(jī)地址和主機(jī)地址一樣。2.8 起始字節(jié)2.8.1起始字節(jié)(1)
起始字節(jié)是提供給沒(méi)有I2C總線(xiàn)接口的單片機(jī)查詢(xún)I2C總線(xiàn)時(shí)使用的特殊字節(jié)。 有片上硬件I2C總線(xiàn)接口的微控制器可被編程為只由總線(xiàn)的請(qǐng)求中斷。而不具備I2C總線(xiàn)接口的單片機(jī),則必須通過(guò)軟件不斷地檢測(cè)總線(xiàn),以便及時(shí)地響應(yīng)總線(xiàn)的請(qǐng)求。因此,具有快速硬件器件的微控制器和依靠查詢(xún)的慢速微控制器有速度差別。為此,I2C總線(xiàn)上的數(shù)據(jù)傳送要由一個(gè)較長(zhǎng)的起始過(guò)程加以引導(dǎo)。2.8.2起始字節(jié)(2)
請(qǐng)求訪(fǎng)問(wèn)總線(xiàn)的主機(jī)發(fā)出起始信號(hào)后,發(fā)送起始字節(jié)(00000001),另一個(gè)單片機(jī)可以用一個(gè)比較低的速率采樣SDA線(xiàn),直到檢測(cè)到起始字節(jié)中的7個(gè)“0”中的一個(gè)為止。在檢測(cè)到SDA線(xiàn)上的高電平后,單片機(jī)就可以用較高的采樣率,以便尋找作為同步信號(hào)使用的第二個(gè)起始信號(hào)Sr.
起始過(guò)程包括:?起始條件(S)?起始字節(jié)(00000001)?響應(yīng)時(shí)鐘脈沖(ACK)?重復(fù)起始條件(Sr)2.9 標(biāo)準(zhǔn)模式I2C總線(xiàn)規(guī)范的擴(kuò)展
標(biāo)準(zhǔn)模式I2C總線(xiàn)規(guī)范在80年代的初期已經(jīng)存在,它規(guī)定數(shù)據(jù)傳輸速率可高達(dá)100kbit/s而且7位尋址。這個(gè)概念在普及中迅速成長(zhǎng),今天它已經(jīng)作為一個(gè)標(biāo)準(zhǔn)被全世界接受,而且PhilipsSemiconductors和其他供應(yīng)商提供了幾百種不同的兼容IC。為了符合更高速度的要求以及制造更多可使用的從機(jī)地址給數(shù)量不斷增長(zhǎng)的新器件,標(biāo)準(zhǔn)模式I2C總線(xiàn)規(guī)范不斷升級(jí),到今天它提供了以下的擴(kuò)展:?快速模式位速率高達(dá)400kbit/s。?高速模式(Hs模式),位速率高達(dá)3.4Mbit/s?10位尋址,允許使用高達(dá)1024個(gè)額外的從機(jī)地址。 擴(kuò)展I2C總線(xiàn)規(guī)范主要有兩個(gè)原因:?現(xiàn)在很多應(yīng)用需要傳輸大量的串行數(shù)據(jù),要求的位速率遠(yuǎn)遠(yuǎn)超過(guò)100kbit/s(標(biāo)準(zhǔn)模式),或者甚至是400kbit/s(快速模式)。半導(dǎo)體技術(shù)持續(xù)改進(jìn)的結(jié)果使I2C總線(xiàn)器件現(xiàn)在可以使用高達(dá)3.4Mbit/s(Hs)模式的位速率,而且接口電路的生產(chǎn)成本沒(méi)有任何明顯的提高。?由于使用7位尋址策略的大多數(shù)112地址能被立即分配,很顯然要求更多地址組合來(lái)防止為新器件分配從機(jī)地址的問(wèn)題。這個(gè)問(wèn)題可以用新的10位尋址策略解決,它允許可使用的地址成10倍增長(zhǎng)。謝謝
每個(gè)I2Cdevice和走線(xiàn)都有
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)鼓號(hào)隊(duì)培訓(xùn)制度
- ICU消防培訓(xùn)制度
- 技術(shù)培訓(xùn)管理要求及考核制度
- 安裝施工員培訓(xùn)制度
- 職業(yè)專(zhuān)業(yè)人員培訓(xùn)制度
- 通訊公司話(huà)務(wù)員培訓(xùn)制度
- 培訓(xùn)招生部門(mén)管理制度
- 培訓(xùn)機(jī)構(gòu)隱私管理制度
- 娛樂(lè)場(chǎng)所衛(wèi)生培訓(xùn)制度
- 酒店給員工培訓(xùn)規(guī)章制度
- 華文慕課《刑法學(xué)》總論課后作業(yè)答案
- 公路護(hù)欄波型梁施工方案
- 2025版煤礦安全規(guī)程新增變化條款考試題庫(kù)
- 基于SOLO分類(lèi)理論剖析初中生數(shù)學(xué)開(kāi)放題解決水平:現(xiàn)狀差異與提升策略
- 2025至2030全球及中國(guó)用戶(hù)研究軟件行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 砌筑施工安全教育培訓(xùn)課件
- GB/T 7122-2025高強(qiáng)度膠粘劑剝離強(qiáng)度的測(cè)定浮輥法
- 海洋水文氣象觀(guān)測(cè)員測(cè)試考核試卷及答案
- 人教版七年級(jí)數(shù)學(xué)上冊(cè) 第四章《整式的加減》單元測(cè)試卷(含答案)
- 五常市水稻種植技術(shù)規(guī)程
- 自來(lái)水廠(chǎng)理論知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論