當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀

I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信。例如管理員可對各個(gè)組件進(jìn)行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇??呻S時(shí)監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個(gè)參數(shù),增加了系統(tǒng)的安全性,方便了管理。
1 I2C總線特點(diǎn)
I2C總線最主要的優(yōu)點(diǎn)是其簡單性和有效性。由于接口直接在組件之上,因此I2C總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本??偩€的長度可高達(dá)25英尺,并且能夠以10Kbps的最大傳輸速率支持40個(gè)組件。I2C總線的另一個(gè)優(yōu)點(diǎn)是,它支持多主控(multimastering), 其中任何能夠進(jìn)行發(fā)送和接收的設(shè)備都可以成為主總線。一個(gè)主控能夠控制信號的傳輸和時(shí)鐘頻率。當(dāng)然,在任何時(shí)間點(diǎn)上只能有一個(gè)主控。
2 I2C總線工作原理
2.1 總線的構(gòu)成及信號類型
I2C總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機(jī)一樣只有撥通各自的號碼才能工作,所以每個(gè)電路和模塊都有唯一的地址,在信息的傳輸過程中,I2C總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。CPU發(fā)出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨(dú)立,互不相關(guān)。
I2C總線在傳送數(shù)據(jù)過程中共有三種類型信號, 它們分別是:開始信號、結(jié)束信號和應(yīng)答信號。
開始信號:SCL為高電平時(shí),SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。
結(jié)束信號:SCL為低電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。
應(yīng)答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號后,等待受控單元發(fā)出一個(gè)應(yīng)答信號,CPU接收到應(yīng)答信號后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應(yīng)答信號,由判斷為受控單元出現(xiàn)故障。
目前有很多半導(dǎo)體集成電路上都集成了I2C接口。帶有I2C接口的單片機(jī)有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲器、監(jiān)控芯片等也提供I2C接口。
3 總線基本操作
I2C規(guī)程運(yùn)用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。 總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時(shí)鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。SDA線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態(tài)的改變被用來表示起始和停止條件。參見圖1。

圖1 串行總線上的數(shù)據(jù)傳送順序


3.1 控制字節(jié)
在起始條件之后,必須是器件的控制字節(jié),其中高四位為器件類型識別符(不同的芯片類型有不同的定義,EEPROM一般應(yīng)為1010),接著三位為片選,最后一位為讀寫位,當(dāng)為1時(shí)為讀操作,為0時(shí)為寫操作。如圖2所示。

圖2 控制字節(jié)配置


3.2 寫操作
寫操作分為字節(jié)寫和頁面寫兩種操作,對于頁面寫根據(jù)芯片的一次裝載的字節(jié)不同有所不同。關(guān)于頁面寫的地址、應(yīng)答和數(shù)據(jù)傳送的時(shí)序參見圖3。

圖3 頁面寫

3.3 讀操作
讀操作有三種基本操作:當(dāng)前地址讀、隨機(jī)讀和順序讀。圖4給出的是順序讀的時(shí)序圖。應(yīng)當(dāng)注意的是:最后一個(gè)讀操作的第9個(gè)時(shí)鐘周期不是“不關(guān)心”。為了結(jié)束讀操作,主機(jī)必須在第9個(gè)周期間發(fā)出停止條件或者在第9個(gè)時(shí)鐘周期內(nèi)保持SDA為高電平、然后發(fā)出停止條件。

圖4 順序讀

4 實(shí)例:X24C04與MCS-51單片機(jī)軟硬件的實(shí)現(xiàn)
X24C04是XICOR公司的CMOS 4096位串行EEPROM,內(nèi)部組織成512×8位。16字節(jié)頁面寫。與MCS-51單片機(jī)接口如圖5所示。由于SDA是漏極開路輸出,且可以與任何數(shù)目的漏極開路或集電極 開路輸出“線或”(wire-Ored)連接。上拉電阻的選擇可參考X24C04的數(shù)據(jù)手冊。下面是通過I2C接口對X24C04進(jìn)行單字節(jié)寫操作的例程。流程圖及源程序如下:

圖5 X24C04與51單片機(jī)接口

;名稱:BSENT
;描述:寫字節(jié)
;功能:寫一個(gè)字節(jié)
;調(diào)用程序:無
;輸入?yún)?shù):A
;輸出參數(shù):無
BSEND: MOV R2,#08H ;1字節(jié)8位
SENDA: CLR P3.2 ;
RLC A ;左移一位
MOV P3.3,C ;寫一位
SETB P3.2
DJNZ R2,SENDA ;寫完8個(gè)字節(jié)?
CLR P3.2 ;應(yīng)答信號
SETB P3.3
SETB P3.2
RET

圖6 流程圖

5 結(jié)束語
在I2C總線的應(yīng)用中應(yīng)注意的事項(xiàng)總結(jié)為以下幾點(diǎn):
1) 嚴(yán)格按照時(shí)序圖的要求進(jìn)行操作,
2) 若與口線上帶內(nèi)部上拉電阻的單片機(jī)接口連接,可以不外加上拉電阻。
3) 程序中為配合相應(yīng)的傳輸速率,在對口線操作的指令后可用NOP指令加一定的延時(shí)。
4) 為了減少意外的干擾信號將EEPROM內(nèi)的數(shù)據(jù)改寫可用外部寫保護(hù)引腳(如果有),或者在EEPROM內(nèi)部沒有用的空間寫入標(biāo)志字,每次上電時(shí)或復(fù)位時(shí)做一次檢測,判斷EEPROM是否被意外改寫。


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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉