首先IIC英文全稱為 Inter-Integrated CircuitBUS,又叫集成電路總線,該總線由 NXP(原 PHILIPS)公司設計,多用于主控制器和從器件間的主從通信,在小數據量場合使用,傳輸距離短(板級通信),任意時刻只能有一個主機等特性。
IIC總線簡介
IIC協議是一種總線協議,是串行的,是同步的,是半雙工的。它通信速率最高就只有幾百 KB/s 。
有許多設備掛載在總線上,每個設備之間用唯一地址來區別。
IIC總線通信時序
只有當 SCL 為高電平時,SDA 的數據才有效;
所以起始條件為:當 SCL 為高電平時,SDA 由高到低(下降沿);
終止條件為:當 SCL 為高地平時,SDA 由低到高(上升沿)。
每當主機向從機發送完一個字節的數據,主機總是需要等待從機給出一個應答信號,以確認從機是否成功接收到了數據,從機應答主機所需要的時鐘仍是主機提供的,應答出現在每一次主機完成 8 個數據位傳輸后緊跟著的時鐘周期,低電平 0 表示應答,1 表示非應答。
通信流程
IIC通信始終是由主機發起的,一個標準通信通常由四部分組成:開始信號、從機地址傳輸、數據傳輸、停止信號。
IIC 總線采用了的是 7 位尋址約定,規定了開始信號后的第一個字節為尋址字節,用來尋址被控器件,并規定第一個字節的第 8 位表示數據的傳送方向。
S 為起始信號;從機地址為 7 位;T 為傳輸方向(1 為讀,0 為寫);A 為應答位;F 為終止信號。
主控器發送開始信號后,立即發送尋址字節;
這時,總線上的所有器件都將尋址字節中的 7 位地址與自己器件地址比較,如果兩者相同,則該器件認為被主機尋址,然后發送應答信號,根據讀/寫位確定自身是作為發送器還是接收器;
接著就開始了數據傳輸,結束時由主機發出終止信號;
期間如果需要改變數據傳輸方向,則需要主機重新發出開始信號、從機地址+讀寫位。
編輯:hfy
-
集成電路
+關注
關注
5388文章
11547瀏覽量
361835 -
數據傳輸
+關注
關注
9文章
1891瀏覽量
64606 -
IIC總線
+關注
關注
1文章
66瀏覽量
20304 -
IIC通信
+關注
關注
0文章
19瀏覽量
3017
發布評論請先 登錄
相關推薦
IIC總線協議時序介紹 IIC總線程序設計
![<b class='flag-5'>IIC</b><b class='flag-5'>總線</b>協議<b class='flag-5'>時序</b>介紹 <b class='flag-5'>IIC</b><b class='flag-5'>總線</b>程序設計](https://file1.elecfans.com/web2/M00/8D/89/wKgaomS8oZeAGB8UAAAbuBseBUk318.jpg)
基于STM32的IIC通信學習
IIC通信與IIC協議簡析
IIC的通信原理及分析IIC的真實波形
嵌入式通信講解——IIC基礎篇
介紹IIC總線特點與STM32 IIC:為ARM初學者導航(11)
如何用51單片機實現IIC通信
![如何用51單片機實現<b class='flag-5'>IIC</b><b class='flag-5'>通信</b>](https://file.elecfans.com/web1/M00/6F/F2/pIYBAFvzv42ANk3QAAA9prBoL_A331.jpg)
MSP430雜談--IIC通信
![MSP430雜談--<b class='flag-5'>IIC</b><b class='flag-5'>通信</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論