iic總線的特色:1.IIC總線上只須要串行數據線SDA和串行時鐘線SCL兩根。
ide
2.總線經過上拉電阻鏈接到高電平,在總線爲空閒時爲高電平,當SDA和SCL任意一個輸出低電平時候,總線變爲低電平,SDA和SCL爲線與關係。
spa
3.每一個接到I2C總線上的器件都有惟一的地址。主機與其它器件間的數據傳送能夠是由主機發送數據到其它器件,這時主機即爲發送器。由總線上接收數據的器件則爲接收器。在多主機系統中,可能同時有幾個主機企圖啓動總線傳送數據。爲了不混亂, I2C總線要經過總線仲裁,以決定由哪一臺主機控制總線。orm
iic總線數據有效位的規定:blog
iic總線進行數據傳輸的時候,時鐘信號爲高電平的時候,數據信號必須保持穩定,當時鍾信號爲低電平時候,數據信號上的高低電平才能夠發生改變。get
起時和終止條件:it
當SCL爲高電平期間:SDA降低沿爲起始信號,SDA上升沿爲終止信號io
數據傳輸的格式:class
1.字節傳送與應答:當起始信號以後總線就處於被佔用狀態,開始傳送數據,數據必須傳送8位,即一個字節,而後有一個應答位,當從機對主機的尋址不進行應答時候,必須將數據線SDA拉高表示非應答,此時由主機產生一個終止信號表示數據傳輸結束。im
2.數據傳輸是在起始信號的後必須加上從機地址,而後加上一位數據傳送方向位,0表示主機發送數據,1表示主機接收數據,有如下幾種組合方式數據
陰影部分表示主機向從機發送數據,空白部分表示從機向主機發送數據,A表示應答。
主機向從機發送數據
主機接收數據
主機發送數據後馬上接收數據