RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

I2C總線的工作原理和應(yīng)用

射頻美學 ? 來源:射頻美學 ? 2023-08-21 09:24 ? 次閱讀

在現(xiàn)代電子設(shè)備中,各種傳感器芯片和模塊之間的通信至關(guān)重要。而I2C(Inter-Integrated Circuit)總線作為一種簡單、高效的串行通信協(xié)議,已經(jīng)成為連接各種設(shè)備的首選之一。本文將深入探討I2C總線的工作原理與應(yīng)用,帶您了解這個在電子領(lǐng)域中扮演著重要角色的通信技術(shù)。

一、簡介

I2C(Inter-Integrated Circuit)總線是一種由Philips公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻視頻設(shè)備開發(fā)。

由于其簡單性,如今方泛用于微控制器與各種功能模塊的連接,可以說是學單片機的人,入門之后,必定要涉及到的。

I2C 總線實際上已經(jīng)成為一個國際標準在超過100 種不同的IC 上實現(xiàn),而且得到超過50 家公司的許可,正因為其簡單和應(yīng)用廣泛,因此其功能也越來不滿足人們的要求,其速度也從原來的100Kbit/S,增加了快速模式,其速度達400Kbit/S,再后來也增加了高速模式,其速度更達3.4Mbit/S。

二、功能和特點

I2C總線是一種用于IC器件之間連接的雙向二線制總線,所謂總線它上面可以掛多少器件,并且通個兩根線連接,占用空間非常的小,總線的長度可高達25英尺,并且能夠以10Kbps的最大傳輸速率支持40個組件。

它的另一優(yōu)點是多主控,只要能夠進行接收和發(fā)送的設(shè)備都可以成為主控制器,當然多個主控不能同一時間工作。

I2C總線有兩根信號線,一根為SDA(數(shù)據(jù)線),一根為SCL(時鐘線),任何時候時鐘信號都是由主控器件產(chǎn)生。

I2C總線在傳送數(shù)據(jù)的過程中,主要有三種控制信號:起始信號,結(jié)不信號,應(yīng)答信號。

起始信號:當SCL為高電平時,SDA由高電平轉(zhuǎn)為低電平時,開始傳送數(shù)據(jù);

結(jié)束信號:當SCL為高電平時,SDA由低電平轉(zhuǎn)為高電平時,結(jié)束數(shù)據(jù)傳送;

應(yīng)答信號:接收數(shù)據(jù)的器件在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的器件發(fā)出低電平信號,表示已收到數(shù)據(jù)。這個信號可以是主控器件發(fā)出,也可以是從動器件發(fā)出??傊山邮諗?shù)據(jù)的器件發(fā)出。

這些信號中,起始信號是必需的,結(jié)束信號和應(yīng)答信號,都可以不要。

三、基本操作

下面我們以ATMEL公司的AT24C02來介紹I2C的基本操作。

AT24C02是美國ATMEL公司的低功耗CMOS串行EEPROM,它是內(nèi)含256×8bit存儲空間,具有工作電壓寬(2.5~5.5V)、擦寫次數(shù)多(大于10000次)、寫入速度快(小于10ms)等特點。他在系統(tǒng)中始終為從動器件。

對AT24C02的操作主要有:字節(jié)讀,字節(jié)寫,頁面讀,頁面寫

首先發(fā)送起始信號,如下圖,起始信號后必須是控制字。

02eb14a0-3fa6-11ee-ac96-dac502259ad0.png

控制字格式如下,其中高四位為器件類型識別符(不同的芯片類型有不同的定義,EEPROM一般應(yīng)為1010),接著三位為片選,也就是三個地址位,最后一位為讀寫控制位,當為1(Input)時為讀操作,為0(Output)時為寫操作。

03138746-3fa6-11ee-ac96-dac502259ad0.png

控制字后就是相應(yīng)的操作,讀或?qū)?,一定不要結(jié)束,因為這個操作還沒有完成,如果結(jié)束就等于放棄操作。

先來看寫操作,寫操作分為字節(jié)寫和頁面寫兩種操作,對于頁面寫根據(jù)芯片的一次裝載的字節(jié)不同有所不同,AT24C02為8字節(jié),每寫一個字節(jié)后,地址自動加1。

關(guān)于頁面寫的地址、應(yīng)答和數(shù)據(jù)傳送的時序參見圖3,字節(jié)寫可以看成是只有一個字節(jié)的頁面寫,也就是寫一個數(shù)據(jù)后停止。

注意:寫一次需要一定時間,一般為10ms,要等侍這個操作完成,時序如下圖。

033f46a6-3fa6-11ee-ac96-dac502259ad0.png

說明:對于AT24C02,在控制字后還必須寫入地址,這個地址是以后讀寫的起始地址。

讀操作有三種基本操作:當前地址讀、隨機讀和順序讀。三種操作方法類似,只是讀的數(shù)據(jù)個數(shù)不同,可連續(xù)讀8個字節(jié),圖4給出的是順序讀的時序圖,圖中共讀了四個數(shù)據(jù),需要注意的是當前的地址,如果不是想要的,可以用寫操作,重新寫入地址。

非常重要的是,每讀一個數(shù)據(jù)后,必須置低SDA,作為應(yīng)答,否則,只能讀一個數(shù)據(jù),后面的數(shù)據(jù),因為收到不應(yīng)答信號,AT24C02就會認為出錯,停止操作。

特別提醒的是,當SCL為低電平時,數(shù)據(jù)是可變的,因些只有SCL為高電平時,才能讀數(shù)。

四、例程序(51匯編,測試單片機為AT89C51,12M晶振)

035d47a0-3fa6-11ee-ac96-dac502259ad0.png

電路連接如圖5,其中A0,A1,A2為地址線,本例中全部接地,因此全部為0。由于SCL和SDA為漏極開路輸出,所以在使用時,需加上拉電阻

五、結(jié)束語

在I2C總線的應(yīng)用中應(yīng)注意的事項總結(jié)為以下幾點 :

嚴格按照時序圖的要求進行操作;

若與口線上帶內(nèi)部上拉電阻的單片機接口連接,可以不外加上拉電阻;

程序中為配合相應(yīng)的傳輸速率,在對口線操作的指令后可用NOP指令加一定的延時;

為了減少意外的干擾信號將EEPROM內(nèi)的數(shù)據(jù)改寫可用外部寫保護引腳(如果有),或者在EEPROM內(nèi)部沒有用的空間寫入標志字,每次上電時或復(fù)位時做一次檢測,判斷EEPROM是否被意外改寫。

通過本文的介紹,我們對I2C總線的工作原理和應(yīng)用有了更深入的了解。無論是在嵌入式系統(tǒng)、物聯(lián)網(wǎng)設(shè)備還是傳感器網(wǎng)絡(luò)中,I2C總線都發(fā)揮著至關(guān)重要的作用。它簡單、高效的特點使得設(shè)備之間的通信變得更加便捷和可靠。隨著技術(shù)的不斷進步,我們相信I2C總線在未來的應(yīng)用領(lǐng)域中將繼續(xù)發(fā)揮著重要的作用,連接著各種智能設(shè)備,為我們創(chuàng)造更加便利和智能的生活。

審核編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 通信技術(shù)
    +關(guān)注

    關(guān)注

    20

    文章

    1129

    瀏覽量

    92244
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3587

    瀏覽量

    129434
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2909

    文章

    44557

    瀏覽量

    372754
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2878

    瀏覽量

    88051
  • I2C總線
    +關(guān)注

    關(guān)注

    8

    文章

    390

    瀏覽量

    60916
  • 總線協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    115

    瀏覽量

    14850

原文標題:淺談I2C總線工作原理與應(yīng)用

文章出處:【微信號:射頻美學,微信公眾號:射頻美學】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    一文理解I2C總線工作原理

    I2C總線是一種十分流行并且強大的總線,其多用于一個(或多個)主機與單個或多個從設(shè)備通訊的場景。圖1表明了多種不同的外設(shè)可以共享這種只需要兩根線便可以連接到處理器的總線,相對于其他接口
    發(fā)表于 02-06 14:20 ?1793次閱讀

    簡述i2c總線工作原理 i2c通信過程 i2c通信協(xié)議原理

    I2C是Inter-Intergrated Circuit的簡稱,英文翻譯過來是:內(nèi)置集成電路。為什么I2C是內(nèi)置集成電路?
    發(fā)表于 07-21 14:43 ?9418次閱讀
    簡述<b class='flag-5'>i2c</b><b class='flag-5'>總線</b>的<b class='flag-5'>工作原理</b>  <b class='flag-5'>i2c</b>通信過程 <b class='flag-5'>i2c</b>通信協(xié)議原理

    I2C總線工作原理和功能特點

    I2C(Inter-Integrated Circuit)總線是一種由Philips公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C
    發(fā)表于 08-17 10:19 ?1466次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的<b class='flag-5'>工作原理</b>和功能特點

    I2C總線工作原理、優(yōu)缺點和應(yīng)用

    I2C總線I2C結(jié)合了SPI和UART的優(yōu)點。使用I2C,您可以將多個從設(shè)備連接到單個主設(shè)備上(如SPI),并且可以讓多個主器件控制單個或多個從器件。當您希望有多個微控制器記錄數(shù)據(jù)到
    發(fā)表于 07-31 12:30

    I2C總線具有什么特點?工作原理是什么?

    I2C總線特點是什么?I2C總線工作原理是什么?USB2I2C功能特點是什么?
    發(fā)表于 05-20 06:27

    I2C總線在規(guī)格書中一些要點總結(jié)

    I2C總線是什么?I2C總線工作原理是什么呢?
    發(fā)表于 01-24 06:34

    淺析I2C總線工作原理與使用注意事項

      I2C總線工作原理  I2C是Inter-IntegratedCircuit的縮寫,它是一種向兩個或更多可編程設(shè)備提供一種低速數(shù)據(jù)傳輸方法的總線
    發(fā)表于 03-08 14:06

    i2c總線ppt(I2C總線器件應(yīng)用)

    I2C總線器件應(yīng)用第一節(jié) I2C總線器件應(yīng)用概述I2C總線
    發(fā)表于 08-13 17:34 ?0次下載

    I2C總線工作原理與應(yīng)用

    I2C總線工作原理與應(yīng)用     I2C(Inter-Integrated Circuit)總線
    發(fā)表于 03-02 01:20 ?4740次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的<b class='flag-5'>工作原理</b>與應(yīng)用

    SPI總線I2C總線工作原理

    SPI總線I2C總線工作原理,本內(nèi)容詳細介紹了SPI總線I2C
    發(fā)表于 12-08 16:55 ?0次下載

    使用數(shù)字隔離器設(shè)計隔離式I2C總線?接口

    本文首先簡要介紹 I2C 總線工作原理,然后介紹如何通過給數(shù)字電容隔離器添加一些外部組件來設(shè)計一種隔離式 I2C 接口。
    發(fā)表于 12-14 17:44 ?57次下載
    使用數(shù)字隔離器設(shè)計隔離式<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>?接口

    單片機的I2C總線工作原理和應(yīng)用等詳細資料說明

    1. I2C串行總線的組成及工作原理 采用串行總線技術(shù)可以使系統(tǒng)的硬件設(shè)計大大簡化、系統(tǒng)的體積減小、可靠性提高。同時,系統(tǒng)的更改和擴充極為容易。常用的串行擴展
    發(fā)表于 07-30 17:35 ?4次下載
    單片機的<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的<b class='flag-5'>工作原理</b>和應(yīng)用等詳細資料說明

    I2C總線工作原理及使用方法詳細分析

    電機、溫度傳感器等資源,體會到了學習板的易用性與易學性,看了前幾期實例,當你實驗成功后一定很興奮,很有成就感吧!現(xiàn)在我們就趁熱打鐵,再向上跨一步,一起來學習一下I2C 總線工作原理及使用方法,這樣
    的頭像 發(fā)表于 06-30 10:34 ?2.1w次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的<b class='flag-5'>工作原理</b>及使用方法詳細分析

    I2C總線工作原理解析

    I2C是一種雙線雙向接口,包括一個時鐘信號和一個數(shù)據(jù)信號(SCL和SDA)。在不增加任何其他信號的情況下,一條I2C總線就可以支持多達12個設(shè)備。I2C接口規(guī)范包括三種
    發(fā)表于 08-23 15:55 ?6659次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的<b class='flag-5'>工作原理</b>解析

    I2C總線工作原理以及優(yōu)缺點解析

    如果您正在使用OLED顯示器,氣壓傳感器或陀螺儀/加速度計模塊的項目,您可能會發(fā)現(xiàn)正在使用I2C總線。 I2C總線簡介 I2C結(jié)合了SPI和
    發(fā)表于 11-28 09:13 ?1.5w次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的<b class='flag-5'>工作原理</b>以及優(yōu)缺點解析
    RM新时代网站-首页