標籤:
?1)發送器(Transmitter):發送資料到匯流排的器件
?2)接收器(Receiver):從匯流排接收資料的器件
?3)主機(Master):初始化發送、產生時鐘訊號和終止發送的器件
?4)從機(Slave):被主機定址的器件
??
??
其線路結構圖如下:
??
??
如示,I2C?匯流排具有如下特點:?
1)I2C?匯流排是雙向傳輸的匯流排,因此主機和從機都可能成為發送器和接收器。不論主機是發送器還是接收器,時鐘訊號SCL?都要由主機來產生。
2)?只需要由兩根訊號線組成,一根是串列資料線SDA,另一根是串列時鐘線SCL?3)?SDA?和SCL?訊號線都必須要加上拉電阻Rp(Pull-Up?Resistor)。上拉電阻一般取值3~?10KΩ?
4)?SDA?和SCL?管腳都是漏極開路(或集電極開路)輸出結構
??
- I2C匯流排的訊號傳輸?
1)3種速率可選擇?
標準模式100kbps、快速模式400kbps、最高速率3.4Mbps
??
2)具有特定的傳輸起始、停止條件?
a)起始條件:當SCL?處於高電平期間時,SDA?從高電平向低電平跳變時產生起始條件。?起始條件常常簡記為S?
b)停止條件:當SCL?處於高電平期間時,SDA?從低電平向高電平跳變時產生停止條件。?停止條件簡記為P
??
3)?資料轉送從確定從機地址開始?
a)多個從機可串連到同一條I2C?匯流排上,它們之間通過各自唯一的器件地址來區分?
b)一般從機地址由7?位地址位和一位讀寫標誌R/W?組成,7?位地址佔據高7?位,讀寫位在最後。讀寫位是0,表示主機將要向從機寫入資料;讀寫位是1,則表示主機將要從從機讀取資料
??
4)?以位元組為單位的資料轉送方式?
a)I2C?匯流排以位元組(Byte)為單位收發資料,主機總是先發地址再發資料?
b)在I2C?匯流排傳輸資料過程中,每傳輸一個位元組,都要跟一個應答狀態位。遵循"誰?接收誰產生"的原則,即總是由接收器產生應答位,應答位為0?表示接收器應答?(ACK);為1?則表示非應答(NACK)?
c)如果接收器在接收完最後一個位元組的資料,或者不能再接收更多的資料時,應當產生非應答來通知發送器
- I2C匯流排資料轉送時序圖示
1)傳輸格式圖示
(灰色為主機的工作時隙,白色為從機的工作時隙)
S:起始位(START)?
SA:從機地址(Slave?Address),7?位從機地址?
W:寫標誌位(Write),1?位寫標誌?R:讀標誌位(Read),1?位讀標誌
A:應答位(Acknowledge),1?位應答?
A:非應答位(Not?Acknowledge),1?位非應答?
D:資料(Data),每個資料都必須是8?位?
P:停止位(STOP)??
??
2)傳輸時序樣本
- I2C匯流排在手機上的常見應用
所應用範圍包括:網路攝影機、調頻收音機晶片、音頻編解碼晶片、類比電視、光電滑鼠等?
??
??
參考:
- 常見介面電路介紹 <http://wenku.baidu.com/link?url=rPXAWPV1DLttBOy6O2-8g4jq2VZBnv4v70bCixoCU6l2I6Yuc9reQ-I99_njImH1tVKolXSkpUCmL65Bx2-yeLMNzXTBNd-cjf2OV60mwBK###>
??
- IIC 通訊協議 <http://blog.csdn.net/zmq5411/article/details/6085740>
- 淺談I2C匯流排 http://blog.csdn.net/bluewhaletech/article/details/37876111
??
匯流排介面與電腦通訊(一)I2C匯流排