




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
I2C總線協(xié)議(內訓)第一節(jié) I2C總線介紹1.1 概述 I2C(Inter-IntegratedCircuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設備。I2C總線產生于在80年代,最初為音頻和視頻設備開發(fā),如今主要在服務器管理中使用,其中包括單個組件狀態(tài)的通信。例如管理員可對各個組件進行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風扇。可隨時監(jiān)控內存、硬盤、網(wǎng)絡、系統(tǒng)溫度等多個參數(shù),增加了系統(tǒng)的安全性,方便了管理。1.2 I2C總線特性只要求兩條總線線路一條串行數(shù)據(jù)線(SDA);一條串行時鐘線(SCL)。每個連接到總線的器件都有唯一的地址;主機可以作為主機發(fā)送器或主機接收器。它是一個真正的多主機總線,如果兩個或更多主機同時初始化數(shù)據(jù)傳輸可以通過沖突檢測和仲裁防止數(shù)據(jù)被破壞。串行的8位雙向數(shù)據(jù)傳輸位速率在標準模式下可達100kbit/s,快速模式下可達400kbit/s,高速模式下可達3.4Mbit/s。片上的濾波器可以濾去總線數(shù)據(jù)線上的毛刺波,保證數(shù)據(jù)完整。連接到相同總線的IC數(shù)量只受到總線的最大電容400pF限制。1.3 I2C總線的概念
I2C總線為兩線總線――串行數(shù)據(jù)(SDA)和串行時鐘(SCL)線在連接到總線的器件間傳遞信息。每個器件都有一個唯一的地址識別(無論是微控制器、LCD驅動器、存儲器或鍵盤接口),而且都可以作為一個發(fā)送器或接收器(由器件的功能決定)。除了發(fā)送器和接收器外,器件在執(zhí)行數(shù)據(jù)傳輸時也可以被看作是主機或從機。主機是初始化總線的數(shù)據(jù)傳輸并產生允許傳輸?shù)臅r鐘信號的器件。此時,任何被尋址的器件都被認為是從機。I2C總線是一個多主機的總線。這就是說可以連接多于一個能控制總線的器件到總線。在I2C總線上產生時鐘信號通常是主機器件的責任;當在總線上傳輸數(shù)據(jù)時,每個主機產生自己的時鐘信號。主機發(fā)出的總線時鐘信號只有在以下的情況才能被改變:慢速的從機器件控制時鐘線并延長時鐘信號,或者在發(fā)生仲裁時被另一個主機改變
(表1)1.4 總體特征 SDA和SCL都是雙向線路,都通過一個電流源或上拉電阻連接到正的電源電壓(見下圖)。當總線空閑時,這兩條線路都是高電平。連接到總線的器件輸出級必須是漏極開路或集電極開路才能執(zhí)行線與的功能。第二節(jié) I2C總線傳輸2.1 數(shù)據(jù)的有效性 SDA線上的數(shù)據(jù)必須在時鐘的高電平周期保持穩(wěn)定。數(shù)據(jù)線的高或低電平狀態(tài)只有在SCL線的時鐘信號是低電平時才能改變。時鐘都是由主機發(fā)出的。2.2 起始和停止條件
在I2C總線中,唯一出現(xiàn)的是被定義為起始(S)和停止(P)條件(見圖
)的情況。
在SCL線是高電平時,SDA線從高電平向低電平切換。這個情況表示起始條件。當SCL是高電平時,SDA線由低電平向高電平切換表示停止條件。
起始和停止條件一般由主機產生。總線在起始條件后被認為處于忙的狀態(tài)。在停止條件的某段時間后,總線被認為再次處于空閑狀態(tài)。 如果產生重復起始(Sr)條件而不產生停止條件,總線會一直處于忙的狀態(tài)此時的起始條件(S)和重復起始(Sr)條件在功能上是一樣的。 如果連接到總線的器件合并了必要的接口硬件,那么用它們檢測起始和停止條件十分簡便。但是,沒有這種接口的微控制器在每個時鐘周期至少要采樣SDA線兩次來判別有沒有發(fā)生電平切換。2.3 字節(jié)格式
發(fā)送到SDA線上的每個字節(jié)必須為8位。每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制。每個字節(jié)后必須跟一個響應位。首先傳輸?shù)氖菙?shù)據(jù)的最高位(MSB)(見圖6)。如果從機要完成一些其他功能后(例如一個內部中斷服務程序)才能接收或發(fā)送下一個完整的數(shù)據(jù)字節(jié),可以使時鐘線SCL保持低電平迫使主機進入等待狀態(tài)。當從機準備好接收下一個數(shù)據(jù)字節(jié)并釋放時鐘線SCL后,數(shù)據(jù)傳輸繼續(xù)。 2.4 響應
數(shù)據(jù)傳輸必須帶響應。相關的響應時鐘脈沖由主機產生。在響應的時鐘脈沖期間,發(fā)送器釋放SDA線(高)。 在響應的時鐘脈沖期間,接收器必須將SDA線拉低,使它在這個時鐘脈沖的高電平期間保持穩(wěn)定的低電平(見圖
)。此時發(fā)送器讀取SDA線,當在相應的時鐘脈沖期間讀到低電平時表示應答成功。 通常被尋址的接收器在接收到的每個字節(jié)后,必須產生一個響應。 當從機不能響應從機地址時(例如它正在執(zhí)行一些實時函數(shù)不能接收或發(fā)送),從機必須使數(shù)據(jù)線保持高電平。主機然后產生一個停止條件終止傳輸或者產生重復起始條件開始新的傳輸。 如果從機--接收器響應了從機地址但是在傳輸了一段時間后不能接收更多數(shù)據(jù)字節(jié),主機必須再一次終止傳輸。這個情況用從機在第一個字節(jié)后沒有產生響應來表示。從機使數(shù)據(jù)線保持高電平,主機產生一個停止或重復起始條件。 如果傳輸中有主機接收器,它必須通過在從機不產生時鐘的最后一個字節(jié)不產生一個響應,向從機發(fā)送器通知數(shù)據(jù)結束。從機--發(fā)送器必須釋放數(shù)據(jù)線,允許主機產生一個停止或重復起始條件。2.5 7位從設備地址格式
數(shù)據(jù)的傳輸遵循下圖所示的格式。在起始條件(S)后,發(fā)送了一個從機地址。這個地址共有7位,緊接著的第8位是數(shù)據(jù)方向位(R/W)---‘0’表示發(fā)送(寫),‘1’表示請求數(shù)據(jù)(讀)。數(shù)據(jù)傳輸一般由主機產生的停止位(P)終止。但是,如果主機仍希望在總線上通訊,它可以產生重復起始條件(Sr)和尋址另一個從機,而不是首先產生一個停止條件。在這種傳輸中可能有不同的讀寫格式結合。2.5.1 可能的傳輸格式(一)
主機--發(fā)送器發(fā)送到從機--接收器.傳輸?shù)姆较虿粫淖儭?.5.2 可能的傳輸格式(二)
在第一個字節(jié)后,主機立即讀從機。在第一次響應時,主機--發(fā)送器變成主機--接收器,從機--接收器變成從機--發(fā)送器。第一次響應仍由從機產生。之前發(fā)送了一個不響應信號的主機產生停止條件。2.5.3 可能的傳輸格式(三)
復合格式。傳輸改變方向的時侯,起始條件和從機地址都會被重復。但R/W位取反。如果主機接收器發(fā)送一個重復起始條件,它之前應該發(fā)送了一個不響應信號。2.6第一個字節(jié)(從設備地址)的保留定義2.7 廣播呼叫2.7.1廣播呼叫(1)
廣播呼叫地址是用來尋址連接到I2C總線上的每個器件。使用這個地址時,理論上所有器件都會發(fā)出一個響應,但是如果器件在廣播呼叫結構中不需要任何數(shù)據(jù),它可以通過不發(fā)出響應來忽略這個地址。如果器件要求從廣播呼叫地址得到數(shù)據(jù),它會響應這個地址并作為從機--接收器運轉。第二個和接下來的字節(jié)會被能處理這些數(shù)據(jù)的每個從機--接收器響應。廣播呼叫地址的含意通常在第二個字節(jié)說明。 這里要考慮兩種情況
?當最低位B是‘0’ ?當最低位B是‘1’2.7.2廣播呼叫(2)
當位B是‘0’時第二個字節(jié)的定義如下:
?00000110(H‘06’)。通過硬件寫入和復位從機地址的可編程部分。接收到這個兩字節(jié)序列時,所有打算響應這個廣播呼叫地址的器件將復位并接受它們地址的可編程部分。
?00000100(H‘04’)。通過硬件寫從機地址的可編程部分。所有通過硬件定義地址可編程部分(和響應廣播呼叫地址)的器件會在接收這兩個字節(jié)序列時鎖存可編程的部分。器件不會復位
?00000000(H‘00’)。這個代碼不允許在第二個字節(jié)使用注*編程過程的順序請參考相應器件的數(shù)據(jù)表2.7.3廣播呼叫(3)
當位B是‘1’時,這個兩字節(jié)序列是一個“硬件廣播呼叫”(通用呼叫命令)。即序列由一個硬件主機器件發(fā)送,例如鍵盤掃描器,它們不能編程來發(fā)送一個期望的從機地址。由于硬件主機預先不知道報文要傳輸給哪個器件,它只能產生這個硬件廣播呼叫和它自己的地址------讓系統(tǒng)識別它。這個地址被一個連接到總線的智能器件識別(例如:微控制器)并指引硬件主機的信息。如果硬件主機也可以作為從機,它的從機地址和主機地址一樣。2.8 起始字節(jié)2.8.1起始字節(jié)(1)
起始字節(jié)是提供給沒有I2C總線接口的單片機查詢I2C總線時使用的特殊字節(jié)。 有片上硬件I2C總線接口的微控制器可被編程為只由總線的請求中斷。而不具備I2C總線接口的單片機,則必須通過軟件不斷地檢測總線,以便及時地響應總線的請求。因此,具有快速硬件器件的微控制器和依靠查詢的慢速微控制器有速度差別。為此,I2C總線上的數(shù)據(jù)傳送要由一個較長的起始過程加以引導。2.8.2起始字節(jié)(2)
請求訪問總線的主機發(fā)出起始信號后,發(fā)送起始字節(jié)(00000001),另一個單片機可以用一個比較低的速率采樣SDA線,直到檢測到起始字節(jié)中的7個“0”中的一個為止。在檢測到SDA線上的高電平后,單片機就可以用較高的采樣率,以便尋找作為同步信號使用的第二個起始信號Sr.
起始過程包括:?起始條件(S)?起始字節(jié)(00000001)?響應時鐘脈沖(ACK)?重復起始條件(Sr)2.9 標準模式I2C總線規(guī)范的擴展
標準模式I2C總線規(guī)范在80年代的初期已經存在,它規(guī)定數(shù)據(jù)傳輸速率可高達100kbit/s而且7位尋址。這個概念在普及中迅速成長,今天它已經作為一個標準被全世界接受,而且PhilipsSemiconductors和其他供應商提供了幾百種不同的兼容IC。為了符合更高速度的要求以及制造更多可使用的從機地址給數(shù)量不斷增長的新器件,標準模式I2C總線規(guī)范不斷升級,到今天它提供了以下的擴展:?快速模式位速率高達400kbit/s。?高速模式(Hs模式),位速率高達3.4Mbit/s?10位尋址,允許使用高達1024個額外的從機地址。 擴展I2C總線規(guī)范主要有兩個原因:?現(xiàn)在很多應用需要傳輸大量的串行數(shù)據(jù),要求的位速率遠遠超過100kbit/s(標準模式),或者甚至是400kbit/s(快速模式)。半導體技術持續(xù)改進的結果使I2C總線器件現(xiàn)在可以使用高達3.4Mbit/s(Hs)模式的位速率,而且接口電路的生產成本沒有任何明顯的提高。?由于使用7位尋址策略的大多數(shù)112地址能被立即分配,很顯然要求更多地址組合來防止為新器件分配從機地址的問題。這個問題可以用新的10位尋址策略解決,它允許可使用的地址成10倍增長。謝謝
每個I2Cdevice和走線都有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三方欠款合同協(xié)議
- 合同無效調解協(xié)議
- 香港私人賣房子合同協(xié)議
- 合同友好合作協(xié)議
- 同意裝修改造合同協(xié)議
- 上門服務居間合同協(xié)議
- 開發(fā)類合伙合同協(xié)議
- 合同終止款項付清楚協(xié)議
- 廢舊鍍金料出售合同協(xié)議
- 建筑租地合同協(xié)議書范本
- 生日宴會祝??扉W演示模板
- 2024年青海省中考英語試卷真題(含答案解析)
- 2020中等職業(yè)學校英語課程標準
- 高標準農田設計實施方案(技術標)
- 創(chuàng)傷失血性休克中國急診專家共識2023解讀課件
- 云計算白皮書(2024年)解讀
- 電力電子技術智慧樹知到期末考試答案章節(jié)答案2024年中國石油大學(華東)
- 2024年四川省樂山市中考地理·生物合卷試卷真題(含答案)
- 2024年內蒙古航開城市投資建設有限責任公司招聘筆試沖刺題(帶答案解析)
- 境內直接投資基本信息登記業(yè)務申請表(一)(版)
- 黑龍江省佳木斯市2023-2024學年八年級下學期期中聯(lián)考數(shù)學試題(無答案)
評論
0/150
提交評論