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

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]我們都知道I2C總線是由Philips公司開發(fā)的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。

我們都知道I2C總線是由Philips公司開發(fā)的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。

I2C總線簡介

I2C結(jié)合了SPI和UART的優(yōu)點(diǎn)。使用I2C,您可以將多個(gè)從設(shè)備連接到單個(gè)主設(shè)備上(如SPI),并且可以讓多個(gè)主器件控制單個(gè)或多個(gè)從器件。當(dāng)您希望有多個(gè)微控制器記錄數(shù)據(jù)到單個(gè)存儲(chǔ)卡或?qū)⑽谋撅@示到單個(gè)LCD時(shí),這非常有用。

與UART通信一樣,I2C僅使用兩條線在設(shè)備之間傳輸數(shù)據(jù):

 

 

SDA(串行數(shù)據(jù)) - 主站和從站發(fā)送和接收數(shù)據(jù)的線路。

SCL(串行時(shí)鐘) - 承載時(shí)鐘信號(hào)的線路。

I2C是一種串行通信協(xié)議,因此數(shù)據(jù)沿著單線(SDA線)逐位傳輸。

與SPI一樣,I2C是同步的,因此位輸出通過主機(jī)和從機(jī)之間共享的時(shí)鐘信號(hào)與位采樣同步。時(shí)鐘信號(hào)始終由主機(jī)控制。

 

 

I2C如何工作

使用I2C時(shí),數(shù)據(jù)被轉(zhuǎn)換成messages,messages則被分解為數(shù)據(jù)幀。每條messages都有一個(gè)地址幀,其中包含從站的二進(jìn)制地址,以及一個(gè)或多個(gè)包含正在傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)幀。該消息還包括每個(gè)數(shù)據(jù)幀之間的啟動(dòng)和停止條件,讀/寫位和ACK / NACK位:

 

 

啟動(dòng)條件:在SCL線路從高電平切換到低電平之前,SDA線路從高電平切換到低電平。

停止條件:SCL線路從低電平切換到高電平后,SDA線路從低電平切換到高電平。

地址幀:每個(gè)從站唯一的7或10位序列,用于在主站想與之通信時(shí)識(shí)別從站。

讀/寫位:單個(gè)位,指定主器件是向從器件發(fā)送數(shù)據(jù)(低電壓電平)還是從器件請(qǐng)求數(shù)據(jù)(高電壓電平)。

ACK / NACK位:消息中的每個(gè)幀后跟一個(gè)應(yīng)答/不應(yīng)答位。如果成功接收到地址幀或數(shù)據(jù)幀,則從接收設(shè)備向發(fā)送方返回ACK位。

地址

I2C沒有像SPI這樣的從選擇線,因此它需要另一種方法讓從器件知道數(shù)據(jù)正在發(fā)送給它,而不是另一個(gè)從器件。它通過地址來做到這一點(diǎn)。地址幀始終是新消息中起始位之后的第一幀。

主設(shè)備將與其通信的從設(shè)備的地址發(fā)送給與其連接的每個(gè)從設(shè)備。然后,每個(gè)從設(shè)備將從主設(shè)備發(fā)送的地址與其自己的地址進(jìn)行比較。如果地址匹配,則將低電壓ACK位發(fā)送回主機(jī)。如果地址不匹配,則從器件不執(zhí)行任何操作,SDA線保持高電平。

讀/寫位

地址幀在末尾包括一個(gè)位,用于通知從設(shè)備,主設(shè)備是想要向其寫入數(shù)據(jù)還是從主設(shè)備接收數(shù)據(jù)。如果主設(shè)備想要向從設(shè)備發(fā)送數(shù)據(jù),則讀/寫位是低電平。如果主設(shè)備向從設(shè)備請(qǐng)求數(shù)據(jù),則該位是高電平。

數(shù)據(jù)框架

在主設(shè)備檢測(cè)到來自從設(shè)備的ACK位之后,準(zhǔn)備好發(fā)送第一個(gè)數(shù)據(jù)幀。

數(shù)據(jù)幀始終為8位長,并以最高有效位先發(fā)送。緊接著每個(gè)數(shù)據(jù)幀的ACK / NACK位以驗(yàn)證幀已被成功接收。在發(fā)送下一個(gè)數(shù)據(jù)幀之前,主機(jī)或從機(jī)必須接收ACK位(取決于發(fā)送數(shù)據(jù)的人)。

在發(fā)送了所有數(shù)據(jù)幀之后,主設(shè)備可以向從設(shè)備發(fā)送停止條件以停止傳輸。停止條件是SCL線上從低電平到高電平轉(zhuǎn)換后,SDA線上從低電平變?yōu)楦唠娖?,SCL線保持高電平。

I2C數(shù)據(jù)傳輸步驟

1.主機(jī)向每一個(gè)連接的從設(shè)備發(fā)送數(shù)據(jù),然后將SDA信號(hào)從高切換到低,之后在將SCL從高切換到低電平。

 

 

2.主設(shè)備向每個(gè)從設(shè)備發(fā)送它想要與之通信的從設(shè)備的7或10位地址,以及讀/寫位:

 

 

3.每個(gè)從設(shè)備將主設(shè)備發(fā)送的地址與其自己的地址進(jìn)行比較。如果地址匹配,則從器件通過將SDA線拉低一位來返回ACK位。如果主設(shè)備的地址與從設(shè)備的地址不匹配,則從設(shè)備將SDA線保持為高電平。

 

 

4.主設(shè)備發(fā)送或接收數(shù)據(jù)幀:

 

 

5.在傳輸了每個(gè)數(shù)據(jù)幀之后,接收設(shè)備將另一個(gè)ACK位返回給發(fā)送方以確認(rèn)成功接收到該幀:

 

 

6.要停止數(shù)據(jù)傳輸,主機(jī)通過在將SDA切換為高電平之前切換SCL為高電平來向從機(jī)發(fā)送停止條件:

 

 

有多個(gè)從設(shè)備的單一主設(shè)備

由于I2C使用尋址,因此可以從單個(gè)主設(shè)備控制多個(gè)從設(shè)備。使用7位地址,可以使用128(27)個(gè)唯一地址。使用10位地址并不常見,但提供1,024(210)個(gè)唯一地址。要將多個(gè)從器件連接到單個(gè)主器件,請(qǐng)像這樣連接它們,使用4.7K歐姆上拉電阻將SDA和SCL線連接到Vcc:

 

 

有多個(gè)從設(shè)備及多個(gè)主設(shè)備

多個(gè)主設(shè)備可以連接到單個(gè)從設(shè)備或多個(gè)從設(shè)備。當(dāng)兩個(gè)主設(shè)備嘗試通過SDA線同時(shí)發(fā)送或接收數(shù)據(jù)時(shí),同一系統(tǒng)中出現(xiàn)多個(gè)主設(shè)備的問題。為了解決這個(gè)問題,每個(gè)主設(shè)備需要在發(fā)送消息之前檢測(cè)SDA線路是低還是高。如果SDA線為低電平,則表示另一個(gè)主控制器已控制總線,主控制器應(yīng)等待發(fā)送消息。如果SDA線路很高,那么傳輸信息是安全的。要將多個(gè)主設(shè)備連接到多個(gè)從設(shè)備,請(qǐng)使用下圖,使用4.7K歐姆上拉電阻將SDA和SCL線路連接到Vcc:

 

 

I2C的優(yōu)點(diǎn)和缺點(diǎn)

與其他協(xié)議相比,I2C聽起來很復(fù)雜,不容易在程序中實(shí)現(xiàn)而導(dǎo)致數(shù)據(jù)丟失、無應(yīng)答、“死等”等問題。但卻有很多優(yōu)點(diǎn):

優(yōu)點(diǎn)

只使用兩根電線

支持多個(gè)主服務(wù)器和多個(gè)從服務(wù)器

ACK / NACK位確認(rèn)每個(gè)幀都已成功傳輸

硬件沒有UART那么復(fù)雜

眾所周知且廣泛使用的協(xié)議

缺點(diǎn)

數(shù)據(jù)傳輸速率比SPI慢

數(shù)據(jù)幀的大小限制為8位

實(shí)現(xiàn)比SPI更復(fù)雜的硬件

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉