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

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

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

I2C總線信號與測試案例(二)

冬至子 ? 來源:羊駝犀牛的測試隨筆 ? 作者:羊駝犀牛 ? 2023-11-20 15:49 ? 次閱讀

前面一章講解了I2C總線的基本原理,那么在電路設(shè)計完成打板回來,肯定要做信號測試來驗證設(shè)計;

1、梳理測試內(nèi)容,根據(jù)電路圖上梳理出I2C總線,包括每一路I2C一共有幾個主機,幾個從機,以及從機的地址信息

2、使用示波器的I2C協(xié)議分析功能或者其他I2C解析工具,將總線上的實時數(shù)據(jù)抓取解析,看一下是否包括電路設(shè)計上的所有器件地址,或者是有多余的地址信息;

因為小編在測試中遇到太多實測地址比設(shè)計少的,這個好理解,一個是冗余設(shè)計,當前沒有使用,一個原因是軟件上漏掉了;此外,實測到設(shè)計上沒有的地址信息,這個大概率發(fā)生在后期改版過程中,硬件設(shè)計更換了總線上的器件,地址也給到軟件做更改,但是軟件代碼上沒有將之前的不再使用的地址信息刪掉,導致總線還是存在訪問此地址信息的請求數(shù)據(jù);

圖片

圖片

無論是多了還是少了地址,對于測試來講都是有問題的,必須搞清楚,是問題的話,就分析解決,不是的話,就做個澄清說明;

3、整理各個器件對于I2C總線的電平與時序要求;詳細如下:

頻率:指的是SCL的時鐘頻率,測量這個參數(shù)的意義在于判定總線是單一的速率還是多種速率模式混合,其次確定了時鐘頻率,有助于后面時序參數(shù)的確認,因為不同速率數(shù)據(jù)時序的要求是不一樣的。

正/負脈寬:SCL的高低電平寬度,因為I2C是高電平進行數(shù)據(jù)采樣,低電平時SDA電平變化,所以,無論高電平還是低電壓都一定有個最小值來滿足采樣和電平變化;

邏輯高/低電平:SCL和SDA均要測量,只有測量值滿足高低電平的要求,才真正意義上能被識別為邏輯1或0;此處要注意的是,即使總線電平是同一個VCC,不同器件對于邏輯電平門限也是不太一樣;

上升/下降時間:指的是SCL和SDA的邊沿在高低電平門限之間的持續(xù)時間,一般取30%~70%,這也只是一個相對的經(jīng)驗值,因為大多數(shù)的I2C器件邏輯高低電平門限是30%Vcc和70%Vcc;追求準確度來說,要根據(jù)實際器件的高低電平門限值來卡這個時間;前文講到總線電容和上拉電阻的值會影響上升時間的值,若測試有問題,可以通過調(diào)節(jié)上拉電阻的值來改善。

Vmax/Vmin:總線數(shù)據(jù)的最大電平和最小電平值;主要看是否有上下過沖,若過沖超過芯片要求,很可能會損壞芯片。

Tbuf:幀間隔時間,即SDA線的上一幀傳輸結(jié)束到下一幀開始之間的間隔時間。

開始標志位的保持時間(tHD:STA):在SCL為高電平時SDA由高變低的邊沿到SCL第一個下降沿的時間。

結(jié)束標志位的建立時間(tSU:STO):在SCL為高電平時SDA由低變高的邊沿到SCL前一個上升沿的時間。

重復起始標志位的建立時間(tSU:STA):在第9個時鐘之后。在SCL為高的上升沿到SDA的下降沿之間的時間間隔。

數(shù)據(jù)建立時間(tSU:DAT):一個比特周期內(nèi),SDA變化沿到SCL上升沿的時間間隔。

數(shù)據(jù)保持時間(tHD:DAT):一個比特周期內(nèi),SDA變化沿到SCL下降沿的時間間隔。

圖片

4、搭建測試環(huán)境,實操測試

  • 測試所需設(shè)備:示波器(最好有協(xié)議分析軟件)、示波器探頭(有源探頭優(yōu)選)、待測DUT(加載I2C總線通訊的軟件)
  • 選擇信號測試點:測量寫信號,在從器件端靠近芯片pin腳;測量讀信號,在主器件端靠近芯片pin腳;
  • 注意事項:探頭的接地線盡可能短,避免引額外電感量影響測試準確性。

下面以實際的例子來演示:

  • 待測I2C總線只有一主一從,從機地址為 0x39,用示波器抓取總線數(shù)據(jù)并解析,確認是只有0x39地址的數(shù)據(jù);

圖片

  • 主從器件的I2C時序要求

圖片

圖片

常見問題:

1、上升下降時間不滿足

更改上拉電阻的阻值

2、建立保持時間不滿足

①是否速率太低,調(diào)高至fast mode或者更高速率看一下

②數(shù)據(jù)SDA變化沿調(diào)整,前移或者后移

3、SDA邊沿有臺階

圖片

①一般發(fā)生在主從對總線控制的切換時

②若芯片內(nèi)部有上拉,外部還上拉至Vcc,那么在主機釋放總線后會被內(nèi)部上拉電阻分壓至臺階電平,然后再被從機拉低

4、我最開始學習I2C總線,對于總線協(xié)議了解的不清楚,造成了一個誤解如圖所示紅的框出來的波形,起初以為像第一張圖里脈寬很小,電壓也不高的是毛刺信號,第二張的是數(shù)據(jù)信號;其實都不對,兩張圖片里的是同一個東西,即應(yīng)答信號前釋放總線造成的;為什么電平與脈寬大小不一,是跟上拉電阻和從器件響應(yīng)時間決定的。上升時間長的話,主機釋放總線,電平從低開始緩慢升高,在還未升至Vcc之前,從機開始應(yīng)答,拉低總線,那么就很像毛刺;若上升時間很快,從機還沒響應(yīng)之前就會有一段時間的高電平;

圖片

圖片

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

    關(guān)注

    5

    文章

    355

    瀏覽量

    30444
  • 示波器
    +關(guān)注

    關(guān)注

    113

    文章

    6093

    瀏覽量

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

    關(guān)注

    8

    文章

    384

    瀏覽量

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

    關(guān)注

    0

    文章

    123

    瀏覽量

    27952
  • SCL
    SCL
    +關(guān)注

    關(guān)注

    1

    文章

    239

    瀏覽量

    16990
收藏 人收藏

    評論

    相關(guān)推薦

    I2C總線原理詳解

    I2C兩線式串行總線通訊協(xié)議,它是由飛利浦開發(fā)的,主要用于連接微控制器及其外圍設(shè)備之間,它是由數(shù)據(jù)線SDA和信號線SCL構(gòu)成的,可發(fā)送和接收數(shù)據(jù)即在MUC和I2C設(shè)備之間,
    發(fā)表于 10-18 17:20 ?1939次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>原理詳解

    I2C總線信號測試案例(一)

    I2C bus是Inter-IC bus的縮寫,意思是IC器件之間的通訊總線;I2C 總線的特點如下
    的頭像 發(fā)表于 11-20 15:45 ?1497次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b><b class='flag-5'>信號</b>與<b class='flag-5'>測試</b>案例(一)

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

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

    i2c總線的特點

    i2c總線的特點:2 I2C 總線使設(shè)計人員和廠商都得益.. 3 2.1 設(shè)計人員的得益.. 4 2.2 廠商的得益. 5
    發(fā)表于 08-05 09:05 ?26次下載

    I2C總線規(guī)范與I2C器件C51讀寫程序

    I2C總線規(guī)范與I2C器件C51讀寫程序:本文簡要介紹了I2C總線,并給出了
    發(fā)表于 08-22 17:51 ?93次下載

    I2C總線接口模塊設(shè)計

    本實驗是基于EasyFPGA030的I2C總線接口模塊設(shè)計,用EasyFPGA030開發(fā)套件通過I2C協(xié)議實現(xiàn)對線制I2C串行EEPROM
    發(fā)表于 11-02 17:01 ?41次下載

    什么是i2c總線

    什么是i2c總線  下載請點擊: i2c總線協(xié)議中文版 
    發(fā)表于 11-05 09:26 ?2877次閱讀

    并口模擬I2C總線的設(shè)計

    并口模擬I2C總線的設(shè)計 試驗目的:認識計算機并口和I2C總線,用計算
    發(fā)表于 09-11 10:31 ?4145次閱讀
    并口模擬<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的設(shè)計

    基于CPLD的I2C總線接口設(shè)計

    在電路設(shè)計中,I2C總線是比較常用的兩線式串行通信方式,大多數(shù)的CPU都擅長于并口操作,不具備直接操作I2C總線接口的能力。為了使不具備I2C
    發(fā)表于 02-12 16:11 ?95次下載
    基于CPLD的<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>接口設(shè)計

    基于51的I2c總線

    I2c總線,基于51的I2c總線,程序?qū)W習??靵硐螺d學習吧
    發(fā)表于 01-13 11:49 ?34次下載

    互聯(lián)IC總線(I2C)

    和ROM)、 網(wǎng)絡(luò)設(shè)備、LCD、音頻發(fā)生器,等等。IC總線也可在產(chǎn)品的開發(fā)和生產(chǎn)過程用于系統(tǒng)的測試和診斷。Stellaris系列ARM集成有 1 個或 2I2C模塊,提供與
    發(fā)表于 01-13 16:38 ?13次下載

    i2c

    單片機i2c總線操作;單片機i2c總線操作;單片機i2c總線操作;
    發(fā)表于 05-17 11:09 ?35次下載

    i2c總線用來做什么_i2c總線數(shù)據(jù)傳輸過程

    I2C總線控制器為微控制器或微處理器提供控制I2C總線的接口,它控制所有I2C總線的特殊序列、協(xié)
    發(fā)表于 11-24 14:16 ?7093次閱讀

    I2C總線的基本通信總結(jié)

    在電子設(shè)計開發(fā)中I2C大家已經(jīng)很熟悉了,每一種電子產(chǎn)品小到電子開關(guān),大到衛(wèi)星通信都會利用的I2C總線。據(jù)統(tǒng)計I2C在電子產(chǎn)品中占據(jù)了93%的份額,幾乎任何一種電路都要使用。
    的頭像 發(fā)表于 08-26 14:08 ?1.8w次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的基本通信總結(jié)

    I2C串行總線協(xié)議是什么?I2C總線有哪些優(yōu)點?

    I2C串行總線協(xié)議是什么?I2C總線有哪些優(yōu)點? I2C(Inter-Integrated Circuit)是一種串行
    的頭像 發(fā)表于 09-12 11:18 ?1321次閱讀