I2C總線的工作原理是什么?I2C總線可以如何應(yīng)用?
在這篇文章中,小編將為大家?guī)鞩2C總線的相關(guān)報道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。
一、I2C總線工作原理
SDA(串行數(shù)據(jù)線)和SCL(串行時鐘線)都是雙向I/O線,接口電路為開漏輸出。需通過上拉電阻接電源VCC。當(dāng)總線空閑時,兩根線都是高電平,連接總線的外同器件都是CMOS器件,輸出級也是開漏電路。在總線上消耗的電流很小,因此,總線上擴(kuò)展的器件數(shù)量主要由電容負(fù)載來決定,因為每個器件的總線接口都有一定的等效電容。而線路中電容會影響總線傳輸速度。當(dāng)電容過大時,有可能造成傳輸錯誤。所以,其負(fù)載能力為400pF,因此可以估算出總線允許長度和所接器件數(shù)量。
主器件用于啟動總線傳送數(shù)據(jù),并產(chǎn)生時鐘以開放傳送的器件,此時任何被尋址的器件均被認(rèn)為是從器件。在總線上主和從、發(fā)和收的關(guān)系不是恒定的,而取決于此時數(shù)據(jù)傳送方向。如果主機(jī)要發(fā)送數(shù)據(jù)給從器件,則主機(jī)首先尋址從器件,然后主動發(fā)送數(shù)據(jù)至從器件,最后由主機(jī)終止數(shù)據(jù)傳送;如果主機(jī)要接收從器件的數(shù)據(jù),首先由主器件尋址從器件。然后主機(jī)接收從器件發(fā)送的數(shù)據(jù),最后由主機(jī)終止接收過程。在這種情況下。主機(jī)負(fù)責(zé)產(chǎn)生定時時鐘和終止數(shù)據(jù)傳送。
發(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ù)。
二、I2C總線的應(yīng)用
I2C總線的主要用途有以下幾點:
1.用于外圍芯片的接口:I2C總線可以和可編程的外圍芯片進(jìn)行鏈接,如定時器,繼電器,存儲器和模擬電路,可以大大減少數(shù)據(jù)通訊和控制電路的連接線數(shù)量,降低系統(tǒng)復(fù)雜度,節(jié)省成本。
2.用于傳感器的接口:I2C總線可以實現(xiàn)各種類型的傳感器和微處理器或微控制器之間的高速通信,從而可以實現(xiàn)復(fù)雜的控制系統(tǒng),以及實時檢測和實時狀態(tài)監(jiān)測系統(tǒng);
3.用于顯示器:通過I2C總線,可以使處理器和顯示器之間的交互更加方便,如更新屏幕顯示數(shù)據(jù),實現(xiàn)更加人性化的系統(tǒng)控制;
4.用于模擬和數(shù)字芯片的接口:I2C總線用于主機(jī)和模擬和數(shù)字芯片之間的數(shù)據(jù)傳輸,同時也可以實現(xiàn)外設(shè)和外設(shè)之間的快速傳輸,這種鏈路通訊方式有助于滿足系統(tǒng)各部分通信協(xié)作和控制需求;
5.用于系統(tǒng)間的擴(kuò)展:I2C總線可以連接兩個或者更多的系統(tǒng),實現(xiàn)系統(tǒng)間的快速擴(kuò)展,避免系統(tǒng)因拓?fù)浣Y(jié)構(gòu)問題而出現(xiàn)混亂情況。
I2C總線使用注意事項
當(dāng)使用I2C總線時,除了遵循I2C總線規(guī)范,還需要注意以下幾個要點:
1.I2C總線不支持多級主機(jī),只支持單級,只有一個主機(jī)可以激活總線,這個主機(jī)負(fù)責(zé)控制和管理
總線的數(shù)據(jù)傳輸,多個主機(jī)存在時,只能有一個處于激活狀態(tài),其他主機(jī)要進(jìn)行數(shù)據(jù)通信時,必須先通知當(dāng)前主機(jī)放權(quán),再等待放權(quán)成功后才能激活。
2.I2C總線只支持先進(jìn)先出等單向數(shù)據(jù)傳輸,不支持雙向數(shù)據(jù)傳輸和多級傳輸。
3.主機(jī)要保證在總線上傳輸?shù)臄?shù)據(jù)字節(jié)不能超過1024字節(jié)。
4.在I2C總線中,主機(jī)只能改變數(shù)據(jù)傳輸?shù)乃俣龋瑥臋C(jī)只能接受主機(jī)傳輸?shù)臄?shù)據(jù)速度。
5.I2C總線的傳輸速度有低速模式(100 Kbps)和高速模式(400 Kbps),要求在1M歐姆外的環(huán)境范圍內(nèi)使用低速模式,在2M歐姆外的環(huán)境范圍內(nèi)使用高速模式。
經(jīng)由小編的介紹,不知道你對I2C總線是否充滿了興趣?如果你想對它有更多的了解,不妨嘗試度娘更多信息或者在我們的網(wǎng)站里進(jìn)行搜索哦。