資料介紹
I2C總線物理拓撲結構
![](http://mouser.eetrend.com/files/2020-09/%E5%8D%9A%E5%AE%A2/100052882-107394-1.png)
I2C 總線在物理連接上非常簡單,分別由SDA(串行數據線)和SCL(串行時鐘線)及上拉電阻組成。通信原理是通過對SCL和SDA線高低電平時序的控制,來 產生I2C總線協議所需要的信號進行數據的傳遞。在總線空閑狀態時,這兩根線一般被上面所接的上拉電阻拉高,保持著高電平。
I2C總線特征
I2C總線上的每一個設備都可以作為主設備或者從設備,而且每一個設備都會對應一個唯一的地址(可以從I2C器件的數據手冊得知),主從設備之間就通過這 個地址來確定與哪個器件進行通信,在通常的應用中,我們把CPU帶I2C總線接口的模塊作為主設備,把掛接在總線上的其他設備都作為從設備。
I2C總線上可掛接的設備數量受總線的最大電容400pF 限制,如果所掛接的是相同型號的器件,則還受器件地址位的限制。
I2C總線數據傳輸速率在標準模式下可達100kbit/s,快速模式下可達400kbit/s,高速模式下可達3.4Mbit/s。一般通過I2C總線接口可編程時鐘來實現傳輸速率的調整,同時也跟所接的上拉電阻的阻值有關。
I2C總線上的主設備與從設備之間以字節(8位)為單位進行雙向的數據傳輸。
I2C總線協議
I2C協議規定,總線上數據的傳輸必須以一個起始信號作為開始條件,以一個結束信號作為傳輸的停止條件。起始和結束信號總是由主設備產生。總線在空閑狀態 時,SCL和SDA都保持著高電平,當SCL為高電平而SDA由高到低的跳變,表示產生一個起始條件;當SCL為高而SDA由低到高的跳變,表示產生一個 停止條件。在起始條件產生后,總線處于忙狀態,由本次數據傳輸的主從設備獨占,其他I2C器件無法訪問總線;而在停止條件產生后,本次數據傳輸的主從設備 將釋放總線,總線再次處于空閑狀態。如圖所示:
![](http://mouser.eetrend.com/files/2020-09/%E5%8D%9A%E5%AE%A2/100052882-107395-2.png)
在了解起始條件和停止條件后,我們再來看看在這個過程中數據的傳輸是如何進行的。前面我們已經提到過,數據傳輸以字節為單位。主設備在SCL線上產生每個 時鐘脈沖的過程中將在SDA線上傳輸一個數據位,當一個字節按數據位從高位到低位的順序傳輸完后,緊接著從設備將拉低SDA線,回傳給主設備一個應答位, 此時才認為一個字節真正的被傳輸完成。當然,并不是所有的字節傳輸都必須有一個應答位,比如:當從設備不能再接收主設備發送的數據時,從設備將回傳一個否 定應答位。數據傳輸的過程如圖所示:
![](http://mouser.eetrend.com/files/2020-09/%E5%8D%9A%E5%AE%A2/100052882-107396-3.png)
在前面我們還提到過,I2C總線上的每一個設備都對應一個唯一的地址,主從設備之間的數據傳輸是建立在地址的基礎上,也就是說,主設備在傳輸有效數據之前 要先指定從設備的地址,地址指定的過程和上面數據傳輸的過程一樣,只不過大多數從設備的地址是7位的,然后協議規定再給地址添加一個最低位用來表示接下來 數據傳輸的方向,0表示主設備向從設備寫數據,1表示主設備向從設備讀數據。如圖所示:
![](http://mouser.eetrend.com/files/2020-09/%E5%8D%9A%E5%AE%A2/100052882-107397-4.png)
I2C總線操作
對I2C總線的操作實際就是主從設備之間的讀寫操作。大致可分為以下三種操作情況:
第一,主設備往從設備中寫數據。數據傳輸格式如下:
![](http://mouser.eetrend.com/files/2020-09/%E5%8D%9A%E5%AE%A2/100052882-107398-5.png)
第二,主設備從從設備中讀數據。數據傳輸格式如下:
![](http://mouser.eetrend.com/files/2020-09/%E5%8D%9A%E5%AE%A2/100052882-107399-6.png)
第三,主設備往從設備中寫數據,然后重啟起始條件,緊接著從從設備中讀取數據;或者是主設備從從設備中讀數據,然后重啟起始條件,緊接著主設備往從設備中寫數據。這種操作在單個主設備系統中,重復的開啟起始條件機制要比用STOP終止傳輸后又再次開啟總線更有效率。數據傳輸格式如下:
![](http://mouser.eetrend.com/files/2020-09/%E5%8D%9A%E5%AE%A2/100052882-107400-7.png)
- 了解I2C總線
- I2C總線協議英文資料 13次下載
- 51單片機——I2C總線
- I2C通信協議應該如何學習 21次下載
- I2C總線及其在植入式電刺激器中如何應用 2次下載
- i2c總線協議(中文版pdf) 0次下載
- 基于51的I2c總線 34次下載
- SPI總線及I2C總線工作原理 0次下載
- 基于CPLD的I2C總線接口設計
- 用Verilog HDL實現I2C總線功能
- I2C總線規范與I2C器件C51讀寫程序
- i2c總線的特點
- 基于MCU 的I2C 總線傳輸設計
- i2c總線ppt(I2C總線器件應用) 0次下載
- I2C總線協議V2.1 0次下載
- I2C協議的基礎知識 613次閱讀
- I2C總線協議的工作原理和尋址格式 1896次閱讀
- I2C通信協議及其工作原理 4991次閱讀
- Linux I2C驅動入門知識科普 1734次閱讀
- 了解I2C Primer、PMBus和SMBus通信協議 8911次閱讀
- MM32F0140 MCU關于I2C的介紹、配置及實驗 3989次閱讀
- i2c總線用來做什么_i2c總線數據傳輸過程 7304次閱讀
- 基于MCS-51單片機I2C總線接口電路的設計 3457次閱讀
- AT89S52單片機并行端口模擬I2C總線協議讀寫AT24C04的設計 2767次閱讀
- 80C51單片機模擬I2C總線的主機程序分享 3483次閱讀
- I2C總線的特點、控制技術與傳輸分析 1w次閱讀
- i2c總線協議標準與規范 2.6w次閱讀
- i2c總線相關知識 3568次閱讀
- 《振南電子STM32視頻教程》第八講:I2C總線 1119次閱讀
- 基于FPGA的I2C SLAVE模式總線的設計方案 1.3w次閱讀
下載排行
本周
- 1AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 2嵌入式軟件開發符合ISO 26262 功能安全標準
- 1.61 MB | 1次下載 | 免費
- 3AN148 GD32VW553射頻硬件開發指南
- 2.07MB | 1次下載 | 免費
- 4PZT驅動開關電路
- 0.09 MB | 1次下載 | 免費
- 5模擬電路仿真實現
- 2.94MB | 1次下載 | 免費
- 6PCB繪制基礎知識
- 2.44MB | 1次下載 | 免費
- 7EE-38:ADSP-2181 IDMA端口-周期竊取時序
- 75.0KB | 次下載 | 免費
- 8EE-82:使用ADSP-2181 DSP的IO空間對另一個ADSP-2181進行IDMA引導
- 86.86KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 139次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 132次下載 | 免費
- 4美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 5如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 6感應筆電路圖
- 0.06 MB | 10次下載 | 免費
- 7LZC3106G高性能諧振控制器中文手冊
- 1.29 MB | 9次下載 | 1 積分
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論