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

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

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

什么是I2C總線 I2C總線開發(fā)設(shè)計需要注意點

h1654155971.8456 ? 來源:大年君愛好電子 ? 作者:大年君愛好電子 ? 2021-11-01 10:39 ? 次閱讀

一、前言

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

二、I2C總線開發(fā)設(shè)計需要注意點

1、總線容量及驅(qū)動能力

I2C總線的外圍擴展器件都是CMOS器件,總線有足夠的電流驅(qū)動能力,因此總線上擴展的節(jié)點數(shù)不由電流負載能力決定,而由電容負載確定。

總線上每個實際節(jié)點器件的總線接口都有一定的等效電容,等效電容的存在會造成總線傳輸?shù)难舆t,導致數(shù)據(jù)傳輸出錯。

通??偩€負載能力為400pF,通常各個I2C器件都會有它自己的電容值,一般為不大于20pF,據(jù)此可計算出總線長度及節(jié)點數(shù)目的限制數(shù)量??偩€上的每個外圍器件都有一個器件地址,因此總線上擴展外圍器件時也要受器件地址限制。

2、I2C總線的電氣結(jié)構(gòu)

I2C總線為雙向同步串行總線,因此I2C總線接口內(nèi)部為雙向傳輸電路,如圖。所示??偩€端口輸出為開漏結(jié)構(gòu),故總線上必須有上拉電阻,上拉電阻與電源電壓、SDA、SCL以及總線串接電阻有關(guān),可參考有關(guān)數(shù)據(jù)手冊進行選擇,通??蛇x4.7K到10K。

a2623bdc-3a24-11ec-82a9-dac502259ad0.png

3、每個節(jié)點都有一個固定的節(jié)點地址。

I2C總線為雙向同步串行總線,因此總線上的單片機都可以成為主節(jié)點,其器件地址由軟件給定,存放在總線的地址寄存器件中,稱為主器件的從地址。在總線的多主系統(tǒng)中,單片機作為從節(jié)點時,其從地址才有意義,所以總線上所有的外圍器件都有規(guī)范的器件地址。

4、I2C總線時序

I2C總線上數(shù)據(jù)傳遞時,總線上傳送的每一幀數(shù)據(jù)均為一個字節(jié)。但啟動總線后,傳送的字節(jié)數(shù)沒有限制,只要求每傳送一個字節(jié)后,對方回應一個應答位。在發(fā)送時,首先發(fā)送的是數(shù)據(jù)的最高位。每次傳送開始有起始信號,結(jié)束時有停止信號。在總線傳送完一個字節(jié)后,可以通過對時鐘線的控制使傳送暫停。

①時鐘和數(shù)據(jù)發(fā)送:

SDA引腳通常使用外部設(shè)備拉高。SDA引腳上的數(shù)據(jù)只能在SCL為低電平時進行更改,SCL為高電平時數(shù)據(jù)更改將指示開始或停止條件。如圖所示。

a28bb048-3a24-11ec-82a9-dac502259ad0.png

②起止條件:

SDA由高到低且SCL為高是啟動條件,必須先于任何其他命令。SDA由低到高且SCL為高是停止條件,在一個讀序列后,停止命令會使EEPROM進入待機模式。如圖所示。

a2bf3a12-3a24-11ec-82a9-dac502259ad0.png

③應答:

所有地址和數(shù)據(jù)字均以8bit字連續(xù)傳輸?shù)紼EPROM,EEPROM發(fā)送一個“0”來應答,以確認它已收到每個字。應答發(fā)生在第九個時鐘周期如圖所示。

a30d01d4-3a24-11ec-82a9-dac502259ad0.png

三、設(shè)計實例

我們對于AT24C256肯定不會陌生,這是ATMEL公司256kbit串行電可擦的可編程只讀存儲器,8引腳雙排直插式封裝,具有結(jié)構(gòu)緊湊、存儲容量大等特點,可以在2線總線上并接4片該IC,特別適用于具有高容量數(shù)據(jù)儲存要求的數(shù)據(jù)采集系統(tǒng)。

a31ccb00-3a24-11ec-82a9-dac502259ad0.png

EEPROM存儲器設(shè)備既可以接收又可以發(fā)送數(shù)據(jù)。每個掛接在總線上的器件都有唯一一個地址識別。

主機訪問EEPROM時,主機在向EEPROM發(fā)送完控制字節(jié)和地址信息后,緊接著向EEPROM存儲器發(fā)送起始條件和控制信號并發(fā)送讀標志位信號,切換數(shù)據(jù)的收發(fā)方向。接著在收到EEPROM的響應信號后便可以讀出需要的數(shù)據(jù)了。

四、總結(jié)

通過以上實例,我們可以知道I2C優(yōu)點主要表現(xiàn)在:

1、簡化了硬件電路。在這種總線中只需要兩根線,即串行數(shù)據(jù)線(SDA)和串行的時鐘線(SCL)。

2、每個掛在總線上的I2C器件都有一個唯一的地址,并可以通過軟件尋址。

3、因為在總線上可能有多個主I2C器件,因此I2C總線接口協(xié)議中有沖突監(jiān)測和仲裁機制,以防止通信中的數(shù)據(jù)丟失或發(fā)生錯誤。

4、這種串行的兩線雙向的總線在標準模式下的速率為100kbit/s,在快速模式下的速率為400kbit/s,在高速模式下為3.4Mbit/s。

5、I2C器件中有濾波抗擾措施來保證數(shù)據(jù)的完整性。

6、在總線上掛接的器件數(shù)目是有限的,即總線上的容抗不能超過400pF。

編輯:jq

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

    關(guān)注

    38

    文章

    7492

    瀏覽量

    163854
  • 傳輸電路
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

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

    關(guān)注

    8

    文章

    391

    瀏覽量

    60945
  • SDA
    SDA
    +關(guān)注

    關(guān)注

    0

    文章

    124

    瀏覽量

    28138

原文標題:什么是I2C總線,它有著哪些特點,設(shè)計時需要哪些細節(jié)呢?

文章出處:【微信號:eda365wx,微信公眾號:EDA365電子論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    I2C總線上拉電阻阻值如何確定?

    導讀I2C總線在產(chǎn)品設(shè)計中被廣泛應用,盡管其結(jié)構(gòu)簡單,但經(jīng)常發(fā)生上拉電阻設(shè)計不合理的問題。本文將對I2C上拉電阻的選擇進行簡要分析。一根信號線上,通過電阻連接一個固定的高電平VCC,信號線初始、空閑
    的頭像 發(fā)表于 12-27 11:34 ?516次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>上拉電阻阻值如何確定?

    I2C總線為什么要接上拉電阻

    輸出。 為什么要接上拉電阻? 接上拉電阻是因為I2C通信需要輸出高電平的能力。一般開漏輸出無法輸出高電平,如果在漏極接上拉電阻,則可以進行電平轉(zhuǎn)換。 I2C由兩條總線SDA和SCL組成
    的頭像 發(fā)表于 11-20 10:07 ?474次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>為什么要接上拉電阻

    詳解I2C總線與SPI總線的區(qū)別

    I2C(Inter-Integrated Circuit)表示集成電路互連,是一種用于線路板內(nèi)部芯片之間通信的總線。
    的頭像 發(fā)表于 10-16 15:16 ?4461次閱讀
    詳解<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>與SPI<b class='flag-5'>總線</b>的區(qū)別

    了解I2C總線

    電子發(fā)燒友網(wǎng)站提供《了解I2C總線.pdf》資料免費下載
    發(fā)表于 10-08 11:13 ?2次下載
    了解<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>

    I2C總線上拉電阻計算

    電子發(fā)燒友網(wǎng)站提供《I2C總線上拉電阻計算.pdf》資料免費下載
    發(fā)表于 10-08 09:54 ?1次下載
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>上拉電阻計算

    I2C總線上拉電阻的必要性

    數(shù)據(jù)線加上拉電阻。這一設(shè)計不僅關(guān)乎技術(shù)的實現(xiàn),更涉及系統(tǒng)安全和信號傳輸效率的優(yōu)化。本文將深入探討在I2C總線上加上拉電阻的必要性及其帶來的技術(shù)優(yōu)勢。 我們需要理解I2C
    的頭像 發(fā)表于 09-09 17:16 ?1041次閱讀

    優(yōu)秀實踐:I3C共享總線上的I2C器件

    電子發(fā)燒友網(wǎng)站提供《優(yōu)秀實踐:I3C共享總線上的I2C器件.pdf》資料免費下載
    發(fā)表于 09-06 09:49 ?0次下載
    優(yōu)秀實踐:<b class='flag-5'>I3C</b>共享<b class='flag-5'>總線</b>上的<b class='flag-5'>I2C</b>器件

    I2C總線協(xié)議的工作原理和尋址格式

    I2C(Inter-Integrated Circuit)總線協(xié)議,即集成電路總線協(xié)議,是一種用于連接微控制器及其外圍設(shè)備的串行總線協(xié)議。I2C
    的頭像 發(fā)表于 05-27 15:47 ?1775次閱讀

    I2C總線物理拓撲結(jié)構(gòu)

    I2C總線上可掛接的設(shè)備數(shù)量受總線的最大電容400pF限制,如果所掛接的是相同型號的器件,則還受器件地址位的限制。
    發(fā)表于 03-15 11:03 ?833次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>物理拓撲結(jié)構(gòu)

    什么是I2C協(xié)議 I2C總線的控制邏輯

    在實際使用過程中,I2C比較容易出現(xiàn)的一個問題就是死鎖 ,死鎖在I2C中主要表現(xiàn)為:I2C死鎖時表現(xiàn)為SCL為高,SDA一直為低。
    發(fā)表于 03-12 09:17 ?1073次閱讀
    什么是<b class='flag-5'>I2C</b>協(xié)議 <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的控制邏輯

    詳解I2C接口協(xié)議

    I2C總線是由荷蘭皇家飛利浦Philips公司(現(xiàn)恩智浦NXP半導體)開發(fā)的一種簡單的雙向兩線制總線協(xié)議標準。
    發(fā)表于 03-07 10:22 ?2137次閱讀
    詳解<b class='flag-5'>I2C</b>接口協(xié)議

    I2C總線的特點及應用

    I2C總線最主要的優(yōu)點是其簡單性和有效性。占用的空間小,降低了互連成本。總線的長度可高達7.6m,并且能夠以10kbps的最大傳輸速率支持40個組件。
    發(fā)表于 02-02 15:56 ?772次閱讀

    藍牙串口通訊總線——I2C/SPI/UART

    嵌入式工程師在做串口通信調(diào)試工作的時候,會經(jīng)常用到I2C、SPI、UART這3條總線,I2C、SPI、UART這三種通信總線在嵌入式領(lǐng)域很常見,目前主流的SOC芯片都內(nèi)置了這三種
    的頭像 發(fā)表于 01-22 09:41 ?1661次閱讀
    藍牙串口通訊<b class='flag-5'>總線</b>——<b class='flag-5'>I2C</b>/SPI/UART