iic標準速率為100kbit/s,快速模式400kbit/s,支援多機通訊,支援多主控模組,但是同一時刻只允許有乙個主控。由資料線sda和時鐘scl構成序列匯流排;每個電路模組都有唯一位址。
i2c裝置的操作可分為寫單個位元組儲存,寫多個位元組儲存,讀單個儲存位元組和讀多個儲存位元組,操作如下:
a) 匯流排空閒狀態
i2c匯流排的sda和scl兩條訊號線同時處於高電平時,規定為匯流排的空閒狀態。此時各個器件的輸出級的場效電晶體均處於截止狀態,即釋放匯流排,由兩條訊號線各自的上拉電阻把電平拉高。
b) 啟動訊號(start)
在時鐘線scl保持高電平期間,資料線sda上的電平被拉低(負跳變),定義為i2c匯流排的啟動訊號,它標誌著一次資料傳輸的開始。啟動訊號是由主控器主動建立的,在建立該訊號之前i2c 匯流排必須處於空閒狀態。
c) 停止訊號(stop)
在時鐘線scl保持高電平期間,資料線sda被釋放,使得sda返回高電平(即正跳變),稱為i2c匯流排的停止訊號,它標誌著一次資料傳輸的終止。停止訊號也是由主控器主動建立的,建立該訊號之後,i2c匯流排將返回空閒狀態。
d) 資料位傳送
在i2c匯流排上傳送的每一位資料都有乙個時鐘脈衝相對應(或同步控制),即在scl序列時鐘的配合下,在sda上逐位地序列傳送每一位資料。進行資料傳送時,在scl呈現高電平期間,sda上的電平必須保持穩定,低電平為資料0,高電平為資料1。只有在scl為低電平期間,才允許sda上的電平改變狀態。
e) 應答訊號(ack和nack)
i2c匯流排上的所有資料都是以8位傳送的,傳送器每傳送乙個位元組,就在時鐘脈衝9期間釋放資料線,由接收器反饋乙個應答訊號。應答訊號為低電平時,規定為有效應答位(ack簡稱應答位),表示接收器已經成功地接收了該位元組;應答訊號為高電平時,規定為非應答位(nack),一般表示接收器接收該位元組沒有成功。對於反饋有效應答位ack的要求是,接收器在第9個時鐘脈衝之前的低電平期間將sda 線拉低,並且確保在該時鐘的高電平期間為穩定的低電平。
如果接收器是主控器,則在它收到最後乙個位元組後,傳送乙個nack訊號,以通知被控傳送器結束資料傳送,並釋放sda線,以便主控接收器傳送乙個停止訊號。
IIC匯流排協議
i2c匯流排進行資料傳送時,時鐘訊號為高電平期間,資料線上的資料必須保持穩定,只有在時鐘線上的訊號為低電平期間,資料線上的高電平或低電平狀態才允許變化。起始和終止訊號 scl線為高電平期間,sda線由高電平向低電平的變化表示起始訊號 scl線為高電平期間,sda線由低電平向高電平的變化表示終止訊號。...
IIC匯流排協議
iic匯流排狀態 讀寫時序時的匯流排狀態 iic 即inter integrated circuit 積體電路匯流排 這種匯流排型別是由飛利浦半導體公司在八十年代初設計出來的一種簡單 雙向 二線制 同步序列匯流排 兩根訊號線 sda,scl 其中sda為雙向的資料訊號線,scl為時鐘訊號線 主從裝置...
模擬IIC匯流排協議
模擬iic 簡單講iic匯流排通訊就像你在和你物件打 講道理,步驟幾乎完全一致。回憶一下自己打 的過程。你 撥號 你物件 喂?你 巴拉巴拉 你物件 哦 你 巴拉巴拉 你物件 哦 你 掛啦,麼麼噠 你物件 哦 你 掛 通話結束 iic匯流排時序 那現在來看一下iic匯流排通訊過程 對於你來說,你是打 ...