---- 在i2 c 匯流排傳輸過程中,將兩種特定的情況定義為開始和停止條件(如圖3):當scl保持「高」,sda由「高」變為「低」時為開始條件;scl保持「高 」,sda由「低」變為「高」是為停止條件。開始和停止條件由主控器產生。使用硬體介面可以很容易地檢測開始和停止條件,沒有這種介面的微機必須以每時鐘 週期至少兩次對sda取樣以使檢測這種變化。
圖3:匯流排開始/停止
---- sda 線上的資料在時鐘「高」期間必須是穩定的,只有當scl線上的時鐘訊號為低時,資料線上的「高」或「低」狀態才可以改變。輸出到sda線上的每個位元組必須 是8位,每次傳輸的位元組不受限制,每個位元組必須有乙個應答為ack。如果一接收器件在完成其他功能(如一內部中斷)前不能接收另一資料的完整位元組時,它可 以保持時鐘線scl為低,以促使傳送器進入等待狀態,當接收器械準備好接受資料的其它位元組並釋放時鐘scl後,資料傳輸繼續進行。i2 c資料匯流排傳送時序如圖4。
圖4:匯流排資料傳送順序
---- 數 據傳送具有應答是必須的。與應答對應的時鐘脈衝由主控器產生,傳送器在應答期間必須下拉sda線。當定址的被控器件不能應答時,資料保持為高,接著主控器 產生停止條件終止傳輸。在傳輸的過程中,當用到主控接收器的情況下,主控接收器必須發出一資料結束訊號給被控傳送器,被控傳送器必須釋放資料線,以允許主 控器產生停止條件。合法的資料傳輸格式如下:
超始位被控接收器位址
r/w應答位
資料應答位
、、、、
停止位
---- i2 c 匯流排在開始條件後的首位元組決定哪個被控器將被主控器選擇,例外的是「通用訪問」位址,它可以定址所有期間。當主控器輸出一位址時,系統中的每一器件都將開 始條件後的前七位位址和自己位址比較。如果相同,該器件認為自己被主控器定址,而作為被控接收器或被控傳送器則取決於r/w位。
----
二、i2 c匯流排的應用
---- i2 c匯流排是各種匯流排中使用訊號線最少,並具有自動定址,多主機時鐘同步和仲裁等功能很強的匯流排。因此,使用i2 c設計計算機系統十分方便、靈活、體積也小,在各類實際應用中得到廣泛應用。下面舉兩個應用示例。
----
1. 伺服控制系統用i2 c擴充套件lcd顯示
---- 圖5是乙個伺服系統的結構圖。用8xc752微控制器的pwm輸出經放大後驅動電機,電機的轉速有測速機測取並直接送到8xc752片內a/d電路。處理後的有關資訊經i2 c匯流排送到lcd驅動晶元pcf8577以驅動六十四段lcd顯示板。
圖5:伺服系統結構框圖
I2C匯流排協議詳解
1.1 i2c匯流排知識 1.1.1 i2c匯流排物理拓撲結構 i2c 匯流排在物理連線上非常簡單,分別由sda 序列資料線 和scl 序列時鐘線 及上拉電阻組成。通訊原理是通過對scl和sda線高低電平時序的控制,來 產生i2c匯流排協議所需要的訊號進行資料的傳遞。在匯流排空閒狀態時,這兩根線一般...
I2C匯流排協議詳解
1.1 i2c匯流排知識 1.1.1 i2c匯流排物理拓撲結構 i2c 匯流排在物理連線上非常簡單,分別由sda 序列資料線 和scl 序列時鐘線 及上拉電阻組成。通訊原理是通過對scl和sda線高低電平時序的控制,來 產生i2c匯流排協議所需要的訊號進行資料的傳遞。在匯流排空閒狀態時,這兩根線一般...
I2C匯流排協議詳解
1.1 i2c匯流排知識 1.1.1 i2c匯流排物理拓撲結構 i2c 匯流排在物理連線上非常簡單,分別由sda 序列資料線 和scl 序列時鐘線 及上拉電阻組成。通訊原理是通過對scl和sda線高低電平時序的控制,來 產生i2c匯流排協議所需要的訊號進行資料的傳遞。在匯流排空閒狀態時,這兩根線一般...