www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > strongerHuang
[導讀]關注、星標公眾號,不錯過精彩內(nèi)容 作者 : strongerHuang 微信公眾號:strongerHuang I2C是目前使用較多的一種總線,一般用于連接各種從設備,比如:EEPROM存儲器、溫濕度傳感器、角速度計等。 掌握I2C算是最基本的技能,初入職場的人有必要系統(tǒng)學習一下。



關注、星標公眾,不錯過精彩內(nèi)容

作者 strongerHuang
微信公眾號:strongerHuang


I2C是目前使用較多的一種總線,一般用于連接各種從設備,比如:EEPROM存儲器、溫濕度傳感器、角速度計等。


掌握I2C算是最基本的技能,初入職場的人有必要系統(tǒng)學習一下。

一、I2C簡史

1980年,飛利浦公司為了讓各種低速設備(飛利浦芯片)連接起來,就開始著手研發(fā)通信的總線。


1982年,原始版本,使用了100KHz通信速率,提供7位地址,將總線上的器件數(shù)量限制為112(有幾個保留地址)。


1992年,發(fā)布第一個規(guī)范,增加了400kHz的快速模式以及擴展的10位地址空間。


1998年,隨著技術的進步,通信速率要求越來越高,達到了高速3.4 MHz,再到后面升級至5MHz,同時使用差分信號以改進抗噪聲能力等。


I2C版本歷史:


額外說一下SMBus:

1995年,英特爾在I2C基礎上推出了一種變體稱為“系統(tǒng)管理總線”(SMBus)。SMBus是一種更嚴格控制的格式,旨在最大限度地提高PC主板上支持IC之間通信的可預測性。


SMBus之間最顯著的區(qū)別在于它將速度限制在10kHz至100kHz之間,而I2C則可以支持0kHz至5MHz的器件。


二、I2C基礎內(nèi)容

I2C:Inter-Integrated Circuit,字面意思是集成電路之間,是I2C Bus簡稱。


I2C只需要兩根電線,這兩根線最多可支持1008個從設備,實現(xiàn)同步串行通信。


與SPI不同的是,I2C可以支持多主機,多從機的總線。


1.I2C兩線信號

每個I2C總線由兩個信號組成:SCL時鐘信號,SDA數(shù)據(jù)信號。時鐘信號總是由當前總線主機產(chǎn)生。


與UART、SPI不同,I 2 C總線驅動器是開漏(不了解開漏的請自行百度),意思是它們可以將相應的信號線拉低,但不能將其驅動為高電平。


每條信號線上都有一個上拉電阻,當沒有器件將其置為低電平時,將信號恢復為高電平。


2.信號電平

通常,I2C總線信號電平5V、3.3V居多,如果總線上器件兼容這兩種電平,可以直接使用。


如果信號電壓相差很大(比如5V和2.5V),或者電平不兼容,就需要進行電平轉換才行。


三、I2C協(xié)議

I2C對初學者來說,難點就在于理解其中協(xié)議,下面從幾個簡單角度說一下。


1.收發(fā)基本原理

I2C的兩個總線:SCL時鐘信號,SDA數(shù)據(jù)信號。SCL由主機產(chǎn)生,SDA由主機或者從機產(chǎn)生。


I2C是同步串行通信,同時它屬于半雙工,也就是說同一時間SDA只能由一個設備發(fā)送信號。


這樣,你就會發(fā)現(xiàn),SDA上的信號(數(shù)據(jù)),有時候是主機的,有時候是從機的。


2.基本協(xié)議:7/10位地址

I2C支持7位地址和10位地址,消息主要分為兩種:地址和數(shù)據(jù)。


7位地址:


10位地址:


除了地址和數(shù)據(jù),還有開始條件、停止條件、讀寫,以及應答信息(上圖小字描述)。


3.開始和停止

SDA數(shù)據(jù)線由高 -> 低 為總線開始條件;

SDA數(shù)據(jù)線由低 -> 高 為總線結束條件;


4.應答(ACK)和非應答(ACK)

應答和非應答發(fā)生在每個字節(jié)之后,是由接收方向發(fā)送方發(fā)出確認信號,表明“數(shù)據(jù)”已成功接收,并且可以繼續(xù)發(fā)送下一字節(jié)數(shù)據(jù)。

應答有很多種情況,初學者可以參考協(xié)議手冊,里面有詳細講述。


5.更多協(xié)議內(nèi)容

I2C協(xié)議手冊地址:

https://www.nxp.com/docs/en/user-guide/UM10204.pdf


我之前結合模擬I2C代碼講述過I2C的文章:

更加深入理解I2C總線、協(xié)議及應用


推薦閱讀:

模擬電路中常用電阻參數(shù)詳解

USB 2.0 網(wǎng)絡、傳輸、通訊和協(xié)議

GitHub在Git 2.28中推進master/slave等名稱更換


關注 微信公眾號『strongerHuang』,后臺回復“1024”查看更多內(nèi)容,回復“加群”按規(guī)則加入技術交流群。


長按前往圖中包含的公眾號關注

免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉
關閉