當前位置:編程學習大全網 - 熱門推薦 - IIC通信協議

IIC通信協議

IIC(Inter-Integrated Circuit) ,簡單說就是IC(芯片)之間通信的總線。總線的意思就是,各個器件都並聯接到壹組公***的線路上,然後***用這條線路來傳輸數據信息。總線的英文名字是BUS,所以這些數據的傳輸有點類似搭乘巴士的感覺。這樣做的好處就是可以復用線路,大家都來坐巴士就好了,不用自己開車了。

IIC通信協議采用2條信號線,1條時鐘線(SCL)和1條數據線(SDA),屬於串行半雙工通信。標準模式的傳輸速率為100Kb/s,快速模式為400Kb/s。總線上可以接多個從設備,從設備的地址必須不同。也可也接多個主設備,但同壹時刻只能有壹個主設備控制總線。最大設備數量受總線的最大負載電容400pf限制。

每個從設備有自己的設備地址,主設備發送START信號後,緊跟著發送想要通信的從設備地址字節,7位器件地址+1位讀寫標誌位(0為寫,1為讀)。

START信號:當時鐘線為高時,數據線下跳會產生啟動信號。

STOP信號:當時鐘線為高時,數據線上跳會產生停止信號。

1.總線空閑時,就是總線上所有器件都釋放了總線,此時SCL和SDA因為有上拉電阻都為高電平。

2.主設備檢測到總線當前處於空閑時,此時可以發START信號獲得總線得控制權。

3.主設備通信完成後,發送STOP信號釋放總線,總線處於空閑狀態。

1. 主控檢測到總線處於空閑時,首先發送壹個START信號來控制總線,此時總線進入忙狀態;

2. 主控發送壹個設備地址字節,總線上所有的從設備都會收到;

3. 當被控器件檢測到主控發送的地址與自己的地址相同時發送壹個應答信號(ACK);

4. 主控收到ACK後開始發送第壹個數據字節;

5. 被控器收到數據字節後發送壹個ACK表示繼續傳送數據,發送NACK表示傳送數據結束;

6. 主控發送完全部數據後,發送壹個停止位STOP,結束整個通訊並且釋放總線;

1.主控在檢測到總線空閑的狀況下,首先發送壹個START信號掌管總線;

2.發送壹個地址字節(包括7位地址碼和壹位R/W,最後1bit為0,表示寫),將地址寫入地址計數器;

3.當被控器件檢測到主控發送的地址與自己的地址相同時發送壹個應答信號(ACK);

4.主控收到ACK後緊接著發送壹個start狀態,然後重復第壹個地址字節(device code)最後1bit為'1',代表讀。

5.釋放數據總線,開始接收第壹個數據字節;

6.主控收到數據後發送ACK表示繼續傳送數據,發送NACK表示傳送數據結束;

  • 上一篇:鷹眼監控能識別手機信息嗎
  • 下一篇:蘭博基尼標誌是什麽?
  • copyright 2024編程學習大全網