I2C匯流排通訊

2022-06-08 13:24:08 字數 947 閱讀 5833

uart 屬於非同步通訊,比如電腦傳送給微控制器,電腦只負責把資料通過txd 傳送出來即可,接收資料是微控制器自己的事情。而 i2c 屬於同步通訊, scl 時鐘線負責收發雙方的時鐘節拍, sda 資料線負責傳輸資料。 i2c 的傳送方和接收方都以 scl 這個時鐘節拍為基準進行資料的傳送和接收。

i2c匯流排包括scl,sda 兩根訊號線,其中scl是時鐘線,sda是資料線。

1、起始訊號

uart 通訊是從一直持續的高電平出現乙個低電平標誌起始位;而 i2c 通訊的起始訊號的定義是 scl 為高電平期間, sda 由高電平向低電平變化產生乙個下降沿,表示起始訊號。

2、資料傳輸

uart 是低位在前,高位在後;而 i2c 通訊是高位在前,低位在後。uart 通訊資料位是固定長度,波特率分之一,一位一位固定時間傳送完畢就可以了。而 i2c 沒有固定波特率,但是有時序的要求,要求當 scl 在低電平的時候, sda 允許變化。

3、停止訊號

uart 通訊的停止位是一位固定的高電平訊號; 而 i2c 通訊停止訊號的定義是 scl 為高電平期間, sda 由低電平向高電平變化產生乙個上公升沿,表示結束訊號。

4、寫完從器件之後等待從器件的應答

在主器件完成對從器件的寫操作時候(每次會有乙個位元組的資料),主器件會等待從器件傳送指示訊號,這個指示訊號是說從器件已經接受到了主器件的資料,這是由從器件的硬體來完成的,不需要主器件來軟體操作,只需要等待;

5、主器件讀完資料後向從器件傳送應答訊號

這其實包括兩種情況,一種是主器件讀完後還要繼續讀就要傳送乙個繼續讀的訊號(其實就是傳送0),另一種就是不再繼續讀了,就要傳送停止讀訊號(其實就是傳送1)。

6、i2c定址模式

i2c 通訊的起始訊號(start)後,首先要傳送乙個從機的位址,這個位址一共有 7位,緊跟著的第 8 位是資料方向位(r/w),「 0」表示接下來要傳送資料(寫),『「 1」表示接下來是請求資料(讀)。第九位 ack應答。 

通訊方式 I2C匯流排

i2c器件的從機位址由4位器件位址,2 3位引腳位址和1位方向位 讀寫位 0寫1讀 i2c由 資料線 sda 與時鐘線 scl 組成 產生iic起始訊號 void iic start void 產生iic停止訊號 void iic stop void 產生ack應答 void iic ack voi...

I2C匯流排通訊協議

i2c是inter integrated circuit的簡稱,讀作 i squared c。由飛利浦公司於1980年代提出,為了讓主機板 嵌入式系統或手機用以連線低速周邊外部裝置而發展。主要用途 soc和周邊外設間的通訊 如 eeprom,電容觸控晶元,各種sensor等 i2c匯流排只使用兩條雙...

i2c通訊的詳細講解 I2C匯流排簡介

本文介紹了內部積體電路 aka i2c 序列通訊協議的基本特性和突出優點。元件之間的通訊 通訊協議 毫無疑問,電子系統的共同特徵是需要在兩個或三個或十個單獨的元件之間共享資訊。工程師已經開發出許多標準協議,可以幫助不同的晶元成功通訊 當您在微控制器或數字訊號處理器的功能列表中 通訊 下面對縮略語時,...