新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > I2C總線協(xié)議及其應用

I2C總線協(xié)議及其應用

作者: 時間:2013-01-06 來源:網(wǎng)絡 收藏

SDA線上的數(shù)據(jù)在時鐘“高”期間必須是穩(wěn)定的,只有當SCL線上的為低時,數(shù)據(jù)線上的“高”或“低”狀態(tài)才可以改變。輸出到SDA線上的每個字節(jié)必須是8位,每次傳輸?shù)淖止?jié)不受限制,每個字節(jié)必須有一個應答為ACK。如果一接收器件在完成其他功能(如一內(nèi)部中斷)前不能接收另一數(shù)據(jù)的完整字節(jié)時,它可以保持時鐘線SCL為低,以促使發(fā)送器進入等待狀態(tài),當接收器械準備好接受數(shù)據(jù)的其它字節(jié)并釋放時鐘SCL后,數(shù)據(jù)傳輸繼續(xù)進行。數(shù)據(jù)總線傳送時序如圖4。


圖4:總線據(jù)傳送順序

數(shù)據(jù)傳送具有應答是必須的。與應答對應的時鐘脈沖由主控器產(chǎn)生,發(fā)送器在應答期間必須下拉SDA線。當尋址的被控器件不能應答時,數(shù)據(jù)保持為高,接著主控器產(chǎn)生停止條件終止傳輸。在傳輸?shù)倪^程中,當用到主控接收器的情況下,主控接收器必須發(fā)出一數(shù)據(jù)結(jié)束信號給被控發(fā)送器,被控發(fā)送器必須釋放數(shù)據(jù)線,以允許主控器產(chǎn)生停止條件。合法的數(shù)據(jù)傳輸格式如下:

總線在開始條件后的首字節(jié)決定哪個被控器將被主控器選擇,例外的是“通用訪問”地址,它可以尋址所有期間。當主控器輸出一地址時,系統(tǒng)中的每一器件都將開始條件后的前七位地址和自己地址比較。如果相同,該器件認為自己被主控器尋址,而作為被控接收器或被控發(fā)送器則取決于R/W位。
二、總線的應用
I2C總線是各種總線中使用信號線最少,并具有自動尋址,多主機時鐘同步和仲裁等功能很強的總線。因此,使用I2C設計計算機系統(tǒng)十分方便、靈活、體積也小,在各類實際應用中得到廣泛應用。下面舉兩個應用示例。 1. 伺服控制系統(tǒng)用I2C擴展LCD顯示
圖5是一個伺服系統(tǒng)的結(jié)構(gòu)圖。用8XC752單片機的PWM輸出經(jīng)放大后驅(qū)動電機,電機的轉(zhuǎn)速有測速機測取并直接送到8XC752片內(nèi)A/D電路。處理后的有關信息經(jīng)I2C總線送到LCD驅(qū)動芯片PCF8577以驅(qū)動六十四段LCD顯示板。


圖5:伺服系統(tǒng)結(jié)構(gòu)框圖

2. 通用I/O端口作為I2C總線接口
目前,51、96系列的單片機應用很廣,但是它們都沒有I2C總線接口,限制了在這些系統(tǒng)中使用具有I2C總線接口的器件。但通過對I2C總線時序的分析知道可以用51單片機的兩根I/O線來實現(xiàn)I2C總線的功能。I2C總線規(guī)定SCL線和SDA線是各設備對應輸出狀態(tài)相“與”的結(jié)果,任一設備都可以用輸出低電平的方法延長SCL低電平時間,迫使高速設備進入等待狀態(tài),實現(xiàn)不同速度設備間的時鐘同步。因此,即使時鐘脈沖的高、低電平時間長短不一,也能實現(xiàn)數(shù)據(jù)的可靠傳送,可以用軟件控制I/O口做I2C接口。下面就是用GMS97C2051DE的通用I/O口作為I2C總線接口由軟件控制實現(xiàn)數(shù)據(jù)傳送的例子,圖6為其連線圖。


圖6:GMS97C2051 擴展EEPROM接線圖

上拉電阻相關文章:上拉電阻原理

上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉