I2C匯流排介紹

來源:互聯網
上載者:User

標籤:

1. 簡介

I2C, Inter-Integrated Circuit, 是一種串列通訊匯流排,用於串連微控制器及其外圍裝置
它是一種兩線式串列匯流排(串列資料:SDA; 串列時鐘頻率:SCL), 利用電阻將電位上拉, 典型的電壓准位為+3.3V或+5V
使用多主從架構, 主機是初始化匯流排的資料轉送併產生允許傳輸的時鐘訊號的器件, 任何被定址的器件都被認為是從機
每個器件都有一個唯一的地址識別(共7個bit, 包括主機和從機), 而且都可以作為一個發送器或接收器(由器件的功能決定)

常見的應用如下:
- 儲存空間類, NVRAM、EEPROM
- 數字邏輯轉換器, DAC
- 邏輯數字轉換器, ADC
- 控制音量大小
- 溫度感應器
- 系統時鐘晶片, Real-time clock

2. 相關術語

發送器: 發送資料到匯流排的器件
接收器: 從匯流排接收資料的器件
主機: 啟動資料傳送併產生時鐘訊號的裝置
從機: 被主機定址的器件
多主機: 同時有多於一個主機嘗試控制匯流排但不破壞傳輸
仲裁: 是一個在有多個主機同時嘗試控制匯流排但只允許其中一個控制匯流排並使傳輸不被破壞的過程
同步: 兩個或多個器件同步時鐘訊號的過程 3. 訊號類型

I2C匯流排在傳送資料過程中共有三種類型訊號: 開始訊號、結束訊號和應答訊號

開始訊號: SCL為高電平時, SDA由高電平向低電平跳變, 開始傳送資料
結束訊號: SCL為高電平時, SDA由低電平向高電平跳變, 結束傳送資料


應答訊號: 接收器在接收到8bit資料後, 向發送器發出特定的低電平脈衝, 表示已收到資料

4. 資料轉送

在沒有資料轉送的時候, I2C匯流排處於空閑狀態,此時SDA和SCL兩條訊號線同時處於高電平

當有資料進行傳輸時, 主機發出啟動訊號, 進行資料轉送過程, 完成後主機發出結束訊號, 表示資料轉送完畢

4.1 資料位元的有效性

I2C匯流排進行資料傳送時, SCL為高電平期間, SDA上的資料必須保持穩定,
只有在SCL的訊號為低電平期間, SDA上的高電平或低電平狀態才允許變化

4.2 資料轉送過程

I2C的資料以位元組為單位(每個位元組8位, 首先傳輸最高位MSB),
每個位元組傳後必須跟一個響應位(應答訊號)
每次傳輸的位元組數量不受限制

如果從機要完成一些其它功能後(例如一個內部中斷服務程式)才能接收或發送下一個完整的資料位元組
可以使時鐘線SCL保持低電平, 迫使主機進入等待狀態
當從機準備好接收下一個資料位元組並釋放時鐘線SCL後, 資料轉送繼續

5. 定址

由於I2C上接有多個器件, 就存在器件定址問題
I2C匯流排上傳送的資料訊號是廣義的, 既包括地址訊號, 又包括真正的資料訊號

主機發出開始訊號後, 發送一個從機地址(7位), 第八位是資料方向位(R:1/W:0)
 

資料轉送一般由主機產生結束訊號,
但是當主機仍希望通訊, 可以發出重複起始條件(Sr)和定址另一個從機, 而不是產生一個停止條件

6. 資料轉送組合方式

在I2C匯流排上的一次資料傳送過程中有如下幾種組合方式

- 主機向從機發送資料, 資料傳送方向在整個傳送過程中不變

- 主機在第一個位元組後, 立即由從機讀資料

- 在傳送過程中, 當需要改變傳送方向時, 起始訊號和從機地址都被重複產生一次, 但兩次讀/寫方向位正好反相

 

參考:
<I2C 匯流排規範>
<I2C Tools for Linux>
<I2C Bus Specification>
<i2c 原始碼情景分析(Beta2)>
<I2C -bus specification and user manual>

I2C匯流排介紹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.