I2C總線介紹
發(fā)布時(shí)間:2011/10/10 10:41:39 訪問(wèn)次數(shù):1884
I2C (Inter Intergrated Circuit)總線是一種用于lC器件之間連接的二線制總線。它通過(guò)兩根線(SDA,串行數(shù)據(jù)線;SCL,串行時(shí)鐘線)在連到總線上的器件之間傳送信息,根據(jù)地址識(shí)別每個(gè)器件(不管微控制器、LCD驅(qū)動(dòng)器、存儲(chǔ)器還是鍵盤接口),根據(jù)器件的功能可以工作于發(fā)送或接收方式。 L6561
對(duì)于發(fā)送器和接收器而言,在進(jìn)行數(shù)據(jù)傳送時(shí)可以是主器件,也可以是從器件。主器件用于啟動(dòng)總線上傳送數(shù)據(jù)并產(chǎn)生時(shí)鐘以開放傳送的器件,此時(shí)任何被尋址的器件均被認(rèn)為是從器件?偩上主和從、發(fā)送和接收的關(guān)系不是永久的,而僅取決于此時(shí)數(shù)據(jù)傳送的方向。
SDA和SCL都是雙向I/O線,通過(guò)上拉電阻接正電源。當(dāng)總線空閑時(shí),2根線都是高電平。連接總線器件的輸出級(jí)必須是開漏或集電極開路,以具有“線與”功能。I2C總線上數(shù)據(jù)傳送的最高速率為lOOKbps,連到總線上器件數(shù)量?jī)H受總線電容400pF的限制。
送到SDA線上的每個(gè)字節(jié)必須為8位,每次傳送的字節(jié)數(shù)不限,每個(gè)字節(jié)后面必須跟1個(gè)響應(yīng)位。數(shù)據(jù)傳送時(shí),先傳最高位。如果接收器件不能接收下一個(gè)字節(jié)(例如正在赴理一個(gè)內(nèi)部中斷,在這個(gè)中斷處理完前就不能接收I2C總線上的數(shù)據(jù)字節(jié)),則可以使時(shí)鐘保持低電平,迫使主器件處于等待狀態(tài)。當(dāng)從機(jī)準(zhǔn)備好接收下一個(gè)數(shù)據(jù)字節(jié)釋放SCL線后繼續(xù)傳送。
數(shù)據(jù)傳送過(guò)程中,確認(rèn)數(shù)據(jù)是必需的。認(rèn)可位對(duì)應(yīng)于主器件的一個(gè)時(shí)鐘,在此時(shí)鐘內(nèi)發(fā)
送器件釋放SDA線,而接收器件必須將SDA線拉成低電平,使SDA在該時(shí)鐘的高電平期
間為穩(wěn)定的低電平。
通常被尋址的接收器件必須在收到每個(gè)字節(jié)后做出響應(yīng),若從器件正在處理一個(gè)實(shí)時(shí)事件不能接收而不對(duì)地址認(rèn)可時(shí),從器件必需使SDA保持高電平,此時(shí)主器件產(chǎn)生一個(gè)結(jié)束信號(hào)使傳送異常結(jié)束。
發(fā)生在SDA線上的總線競(jìng)爭(zhēng)是這樣進(jìn)行的:如果一個(gè)主器件發(fā)送高電平,而另一個(gè)主器件發(fā)送一個(gè)低電平,此時(shí)發(fā)送電平與SDA總線上電平不對(duì)應(yīng)的器件自動(dòng)關(guān)掉其輸出級(jí)。當(dāng)然,也可以有多個(gè)主器件參與競(jìng)爭(zhēng),這取決于I2C總線上主器件的數(shù)目?偩競(jìng)爭(zhēng)可以在許多位上進(jìn)行。第一級(jí)競(jìng)爭(zhēng)是地址位的比較,如果主器件尋址同1個(gè)從器件,則下一步競(jìng)爭(zhēng)進(jìn)入數(shù)據(jù)位的比較,因?yàn)槭抢肐2C總線上信息進(jìn)行仲裁,所以信息不會(huì)丟失。
在I2C總線上傳送信息時(shí)的時(shí)鐘同步是由連在SCL線上的器件的邏輯“與”完成的。SCL絨上由高到低的跳變將影響有關(guān)的器件,使它們開始低電平期。一旦一個(gè)器件時(shí)鐘跳為低電平,將使SCL線保持低電平直至該時(shí)鐘到達(dá)高電平。
當(dāng)所有器件結(jié)束它們的低電平期時(shí),時(shí)鐘線被釋放返回高電平。這樣使器件時(shí)鐘之間沒有差別,而所有的器件都同時(shí)開始它們的高電平期。之后,第一個(gè)結(jié)束高電平期的器件又將SCL線拉成低電平。這樣就在SCL線上產(chǎn)生1個(gè)同步時(shí)鐘,時(shí)鐘低電平時(shí)間由時(shí)鐘低電平期最長(zhǎng)的器件確定,而時(shí)鐘高電平時(shí)間由時(shí)鐘高電平期最短的器件確定。
I2C總線還設(shè)有廣播呼叫地址,用于尋址總線上的所有器件。若一個(gè)器件不需要廣播呼叫尋址中所提供的任何數(shù)據(jù),該器件可以忽略該地址,不做響應(yīng)。如果器件需要廣播呼叫尋址中提供的數(shù)據(jù),則該器件應(yīng)對(duì)地址做出響應(yīng)。其表現(xiàn)為一個(gè)接收器。第二個(gè)和接著的數(shù)據(jù)字節(jié)為每個(gè)從器件所響應(yīng)并接收處理。從器件對(duì)不能處理的字節(jié)應(yīng)忽略,并不做出響應(yīng)。
I2C總線可十分方便地用于構(gòu)成由一個(gè)單片機(jī)和一些外圍器件組成的單片機(jī)系統(tǒng)。這樣的系統(tǒng)價(jià)格低,器件間總線簡(jiǎn)單,結(jié)構(gòu)緊湊。這種總線結(jié)構(gòu)雖然沒有并行總線那么大的吞吐能力,但連接線和連接引腳少。在總線上加器件不影響其他器件,不影響系統(tǒng)正常的工作,系統(tǒng)修改和可擴(kuò)展性好,同時(shí),如果不同時(shí)鐘速度的器件連接到總線上,仍能確定總線時(shí)鐘。
I2C (Inter Intergrated Circuit)總線是一種用于lC器件之間連接的二線制總線。它通過(guò)兩根線(SDA,串行數(shù)據(jù)線;SCL,串行時(shí)鐘線)在連到總線上的器件之間傳送信息,根據(jù)地址識(shí)別每個(gè)器件(不管微控制器、LCD驅(qū)動(dòng)器、存儲(chǔ)器還是鍵盤接口),根據(jù)器件的功能可以工作于發(fā)送或接收方式。 L6561
對(duì)于發(fā)送器和接收器而言,在進(jìn)行數(shù)據(jù)傳送時(shí)可以是主器件,也可以是從器件。主器件用于啟動(dòng)總線上傳送數(shù)據(jù)并產(chǎn)生時(shí)鐘以開放傳送的器件,此時(shí)任何被尋址的器件均被認(rèn)為是從器件。總線上主和從、發(fā)送和接收的關(guān)系不是永久的,而僅取決于此時(shí)數(shù)據(jù)傳送的方向。
SDA和SCL都是雙向I/O線,通過(guò)上拉電阻接正電源。當(dāng)總線空閑時(shí),2根線都是高電平。連接總線器件的輸出級(jí)必須是開漏或集電極開路,以具有“線與”功能。I2C總線上數(shù)據(jù)傳送的最高速率為lOOKbps,連到總線上器件數(shù)量?jī)H受總線電容400pF的限制。
送到SDA線上的每個(gè)字節(jié)必須為8位,每次傳送的字節(jié)數(shù)不限,每個(gè)字節(jié)后面必須跟1個(gè)響應(yīng)位。數(shù)據(jù)傳送時(shí),先傳最高位。如果接收器件不能接收下一個(gè)字節(jié)(例如正在赴理一個(gè)內(nèi)部中斷,在這個(gè)中斷處理完前就不能接收I2C總線上的數(shù)據(jù)字節(jié)),則可以使時(shí)鐘保持低電平,迫使主器件處于等待狀態(tài)。當(dāng)從機(jī)準(zhǔn)備好接收下一個(gè)數(shù)據(jù)字節(jié)釋放SCL線后繼續(xù)傳送。
數(shù)據(jù)傳送過(guò)程中,確認(rèn)數(shù)據(jù)是必需的。認(rèn)可位對(duì)應(yīng)于主器件的一個(gè)時(shí)鐘,在此時(shí)鐘內(nèi)發(fā)
送器件釋放SDA線,而接收器件必須將SDA線拉成低電平,使SDA在該時(shí)鐘的高電平期
間為穩(wěn)定的低電平。
通常被尋址的接收器件必須在收到每個(gè)字節(jié)后做出響應(yīng),若從器件正在處理一個(gè)實(shí)時(shí)事件不能接收而不對(duì)地址認(rèn)可時(shí),從器件必需使SDA保持高電平,此時(shí)主器件產(chǎn)生一個(gè)結(jié)束信號(hào)使傳送異常結(jié)束。
發(fā)生在SDA線上的總線競(jìng)爭(zhēng)是這樣進(jìn)行的:如果一個(gè)主器件發(fā)送高電平,而另一個(gè)主器件發(fā)送一個(gè)低電平,此時(shí)發(fā)送電平與SDA總線上電平不對(duì)應(yīng)的器件自動(dòng)關(guān)掉其輸出級(jí)。當(dāng)然,也可以有多個(gè)主器件參與競(jìng)爭(zhēng),這取決于I2C總線上主器件的數(shù)目?偩競(jìng)爭(zhēng)可以在許多位上進(jìn)行。第一級(jí)競(jìng)爭(zhēng)是地址位的比較,如果主器件尋址同1個(gè)從器件,則下一步競(jìng)爭(zhēng)進(jìn)入數(shù)據(jù)位的比較,因?yàn)槭抢肐2C總線上信息進(jìn)行仲裁,所以信息不會(huì)丟失。
在I2C總線上傳送信息時(shí)的時(shí)鐘同步是由連在SCL線上的器件的邏輯“與”完成的。SCL絨上由高到低的跳變將影響有關(guān)的器件,使它們開始低電平期。一旦一個(gè)器件時(shí)鐘跳為低電平,將使SCL線保持低電平直至該時(shí)鐘到達(dá)高電平。
當(dāng)所有器件結(jié)束它們的低電平期時(shí),時(shí)鐘線被釋放返回高電平。這樣使器件時(shí)鐘之間沒有差別,而所有的器件都同時(shí)開始它們的高電平期。之后,第一個(gè)結(jié)束高電平期的器件又將SCL線拉成低電平。這樣就在SCL線上產(chǎn)生1個(gè)同步時(shí)鐘,時(shí)鐘低電平時(shí)間由時(shí)鐘低電平期最長(zhǎng)的器件確定,而時(shí)鐘高電平時(shí)間由時(shí)鐘高電平期最短的器件確定。
I2C總線還設(shè)有廣播呼叫地址,用于尋址總線上的所有器件。若一個(gè)器件不需要廣播呼叫尋址中所提供的任何數(shù)據(jù),該器件可以忽略該地址,不做響應(yīng)。如果器件需要廣播呼叫尋址中提供的數(shù)據(jù),則該器件應(yīng)對(duì)地址做出響應(yīng)。其表現(xiàn)為一個(gè)接收器。第二個(gè)和接著的數(shù)據(jù)字節(jié)為每個(gè)從器件所響應(yīng)并接收處理。從器件對(duì)不能處理的字節(jié)應(yīng)忽略,并不做出響應(yīng)。
I2C總線可十分方便地用于構(gòu)成由一個(gè)單片機(jī)和一些外圍器件組成的單片機(jī)系統(tǒng)。這樣的系統(tǒng)價(jià)格低,器件間總線簡(jiǎn)單,結(jié)構(gòu)緊湊。這種總線結(jié)構(gòu)雖然沒有并行總線那么大的吞吐能力,但連接線和連接引腳少。在總線上加器件不影響其他器件,不影響系統(tǒng)正常的工作,系統(tǒng)修改和可擴(kuò)展性好,同時(shí),如果不同時(shí)鐘速度的器件連接到總線上,仍能確定總線時(shí)鐘。
上一篇:DS18820教字溫度傳感器
上一篇:PCF8574是CMOS電路
熱門點(diǎn)擊
- 電子基板技術(shù)
- 三極管截止、放大和飽和三種工作狀態(tài)
- 在橋式整流電路中若有一只二極管短路或開路將會(huì)
- 微電子、半導(dǎo)體
- 電阻器的常見種類
- MAX491芯片為RS-422/485擴(kuò)展芯
- 耳塞式耳機(jī)的組裝及原理
- 基極偏置電路分析方法和三極管靜態(tài)電流的作用及
- 如何用萬(wàn)用表對(duì)電感量進(jìn)行測(cè)試?
- 電容器的串聯(lián)與并聯(lián)
推薦技術(shù)資料
- 單片機(jī)版光立方的制作
- N視頻: http://v.youku.comN_sh... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究