I2C驅動程序設計(1)—I2C總線介紹

1.I2C電氣特性

  • I2C(Inter-Integrated Circuit)總線是由PHILIPS公司開發的兩線式串行總線,用於連接微控制器及其外圍設備。硬件結構如下:

  • I2C總線只有兩根雙向信號線:
    • SDA:Serial Data Line—數據線
    • SCL :Serial Clock—時鐘線

2.I2C總線尋址

  • I2C總線協議規定:從設備採用7位的地址。D7~D1:從設備地址。D0位:數據傳送方向位,爲“0”時表示主設備向從設備寫數據,爲“1”時表示主設備從設備讀數據。主設備發送地址時,總線上的每個從設備都將這7位地址碼與自己的地址進行比較,如果相同,則認爲自己正被主設備尋址,根據R/W位將自己確定爲發送器或接收器。

  • 從設備的地址由固定部分和用戶自定義部分組成。
    • 1.固定部分:D7-D4 共4位決定的。這是由從設備的生產廠商生產時就已確定的值。
    • 2.用戶自定義部分:D3-D1共3 位。這3位通常對應設備的3個引腳(A0~A2)。把3個引腳接到不同的電平上,就可以形成一個3位的數值。

3.I2C總線時序

3.1 空閒狀態

  • I2C總線總線的SDA和SCL兩條信號線同時處於高電平時,規定爲總線的空閒狀態。

3.2 起始狀態

  • 在時鐘線SCL保持高電平期間,數據線SDA上的電平被拉低(即負跳變),定義爲I2C總線總線的啓動信號,它標誌着一次數據傳輸的開始。

3.3 結束狀態

  • 在時鐘線SCL保持高電平時,數據線SDA被釋放,使得SDA返回高電平(即正跳變),稱爲I2C總線的停止信號。

3.3 數據位傳送

  • I2C總線上的所有數據(地址和數據)都是以8位一個字節爲單位傳送的。

3.4 應答位

  • 發送器每發送一個字節,就在時鐘脈衝第9位釋放數據線,由接收器反饋一個應答信號。 應答信號爲低電平時,定爲有效應答位ACK,表示接收器已經成功地接收了該字節;應答信號爲高電平時,定爲非應答位(NACK),表示接收器沒有成功接收該字節。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章