I2C設備驅動(一)--工作原理

1. 協議簡介

I2C,inter-IC control。該協議是由Philips公司提出的一種兩線式通信方案,有如下特點:

  • 只需要兩線,SDA和SCL

  • 連接到總線的設備有唯一地址,master-slave工作模式

  • multi-master,需要arbitration來確定通信關係

  • 串行,半雙工,standard mode最高100kb/s,fast mode最高400kb/s,high spedd mode最高3.4Mb/s

  • On-chip filtering保護數據的完整性

2. 工作原理

I2C bus示意圖
master和slave同時連接在SDA和SCL上,master需根據唯一的slave地址實現與對應設備間的通信
I2C電路連接圖
上圖是一個實際的原理圖,SDA和SCL與VDD間需要連接一個上拉電阻,電路中常見Rp爲400k歐,SDA和SCL在非工作狀態下都爲高電平。
I2C時序圖
上圖是一次I2C transaction的完整時序,需要注意sda在scl爲高電平時有效
(1)start, 即起始信號,SCL爲高,SDA拉低
(2)stop, 即結束信號,SCL爲高,SDA拉高
(3)8-bit transfer,由高到低
(4)ACK,8-bit傳輸結束,master等待slave拉低SDA進行ack

3. 數據傳輸

常見的傳輸方式有如下三種:
i2c transfer1
(1)數據方向master–>slave
I2C transfer2
(2)數據方向master<–slave
I2C transfer3
(3)數據方向可轉換,如圖所示,Sr之前master–>slave,Sr和Slave Address後數據方向可調換

發佈了29 篇原創文章 · 獲贊 27 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章