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

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

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

使用泰克多域示波器3104解碼I2C數(shù)據(jù)

multisim ? 來(lái)源:multisim ? 作者:multisim ? 2020-09-27 11:24 ? 次閱讀

項(xiàng)目概況

我將使用泰克多域示波器3104解碼I2C數(shù)據(jù),并通過(guò)順序輪詢所有地址并尋找確認(rèn)(ACK)信號(hào)來(lái)確定設(shè)備的I2C地址。任何I2C設(shè)備都可以。我收到了英飛凌3D霍爾效應(yīng)傳感器的評(píng)估套件,并將其用作我的I2C設(shè)備。

產(chǎn)品 成本(和產(chǎn)品鏈接) 其他資訊
infineon3D磁性傳感器2 Go套件 $ 28 套件手冊(cè) | 傳感器手動(dòng) | 傳感器產(chǎn)品簡(jiǎn)介
4位標(biāo)題(0.100英寸) $ 1 數(shù)據(jù)表
Arduino Uno R3 $ 15 產(chǎn)品信息
雙向邏輯電平轉(zhuǎn)換器 三塊 數(shù)據(jù)表
跳線 三塊


如上所述,這里可以接受任何與I2C兼容的傳感器或顯示器。您無(wú)需使用電磁傳感器2 Go套件。

設(shè)置電路

我使用的Arduino板具有5V邏輯。3D2GO評(píng)估套件由3.3 V供電。這意味著必須在Arduino的數(shù)據(jù)線和評(píng)估套件之間插入雙向邏輯電平轉(zhuǎn)換器(BD-LLC)。

要將BD-LLC插入Arduino和I2C設(shè)備之間,請(qǐng)進(jìn)行以下連接:

從Arduino到BD-LLC上的GND

BD-LLC到3D2GO上GND的GND

從Arduino到BD-LLC上的低壓(LV)的3.3V

BD-LLC上的LV至3D2GO上的3.3V

BD-LLC上的Arduino 5V至高壓(HV)

Arduino SDA轉(zhuǎn)HV1

Arduino SCL轉(zhuǎn)Hv2

BD-LLC LV1至3D2GO SDA

BD-LLC LV2至3D2GO SCL

設(shè)置示波器

接下來(lái),您需要設(shè)置示波器。為此,請(qǐng)按照下列步驟操作:

打開(kāi)示波器,然后等待它完成自檢。

將探頭插入通道1和通道2。

將探頭的接地夾連接到電路中的接地點(diǎn)(如有必要,請(qǐng)使用跨接線)。

將探頭1連接到SDA,將探頭2連接到SCL(如有必要,請(qǐng)使用跳線)。

現(xiàn)在,您可以打開(kāi)Arduino IDE,并將以下代碼上傳到您的開(kāi)發(fā)板上。這是一個(gè)I2C掃描器,它將掃描設(shè)備的所有地址并查找ACK響應(yīng)。

//I2C Scanner from Arduino.cc

//Attribution to Krodal, Nick Gammon, Anonymous

#include

void setup()

{

Wire.begin();

Serial.begin(9600);

Serial.println(" I2C Scanner");

}

void loop()

{

byte error, address;

int nDevices;

Serial.println("Scanning...");

nDevices = 0;

for(address = 1; address <= 127; address++)

{

// The i2c_scanner uses the return value of

// Wire.endTransmission to seeIF

// a device acknowLEDged the address.

Wire.beginTransmission(address);

error = Wire.endTransmission();

if (error == 0)

{

Serial.print("I2C device found at address 0x");

if (address<16)

Serial.print("0");

Serial.print(address,HEX);

Serial.println("!");

nDevices++;

}

else if (error==4)

{

Serial.print("Unknown error at address 0x");

if (address<16)

Serial.print("0");

Serial.println(address,HEX);

}

}

if (nDevices == 0)

Serial.println("No I2C devices found ");

else

Serial.println("done ");

delay(5000); // wait 5 seconds for next scan

}

復(fù)制代碼

現(xiàn)在,每5秒鐘,Arduino將輪詢I2C地址1-127。如果在被查詢的地址處存在設(shè)備,則將在發(fā)送地址字節(jié)后將SDA線拉低,從而向Arduino發(fā)送確認(rèn)信號(hào)。

現(xiàn)在,我們可以繼續(xù)使用示波器對(duì)I2C總線進(jìn)行解碼。

對(duì)于Tektronix MDO3000或MDO4000系列示波器,請(qǐng)執(zhí)行以下步驟,并在括號(hào)中使用通用說(shuō)明。

按下通道1按鈕(打開(kāi)示波器通道1)

按“標(biāo)簽”(如果可以,請(qǐng)標(biāo)記您的輸入)

使用通用b向下滾動(dòng)到“數(shù)據(jù)”(標(biāo)簽通道1為“數(shù)據(jù)”)

選擇“插入預(yù)設(shè)標(biāo)簽”

使用“通道1”按鈕下方的“垂直刻度旋鈕” 設(shè)置每格2伏(減小信號(hào)的高度,使其占不到屏幕的一半)

使用Channel 1按鈕 上方的旋鈕將信號(hào)移至屏幕的中上部分

按下“向下”箭頭移至“通道2”(打開(kāi)示波器通道2)

使用通用b向下滾動(dòng)到“ CLK”(標(biāo)簽通道2為“clock”)

選擇“插入預(yù)設(shè)標(biāo)簽”

按菜單關(guān)閉按鈕

按下頻道2按鈕

使用“通道2”按鈕下方的旋鈕設(shè)置每格2伏(減小信號(hào)的高度,使其不到屏幕的一半)

使用“通道2”按鈕上方的旋鈕將信號(hào)移到屏幕的下部中間(這將時(shí)鐘信號(hào)的跡線與數(shù)據(jù)信號(hào)的跡線分開(kāi))

按下B1按鈕(示波器的總線功能可讓您解釋和顯示串行或并行數(shù)據(jù);在這種情況下,我們正在處理I2C數(shù)據(jù))

使用通用a在通道2上選擇“ SCL”(將CLK通道分配為SCL)

使用通用b在通道1上選擇“ SDA”(將DATA通道分配為SDA)

使用通用a和通用b將SDA和SCL上的“閾值”設(shè)置為“ 1 V”

將“在地址中包含R / W”設(shè)置為“是”

將“ B1標(biāo)簽”設(shè)置為“ I2C”(以保持跟蹤狀態(tài))

將“總線顯示”設(shè)置為“總線和波形”

設(shè)置“十六進(jìn)制”

按“總線B1”,然后使用通用a選擇“ I2C”(告訴示波器需要哪種數(shù)據(jù)類型)

選擇“定義輸入”

按下觸發(fā)菜單按鈕

選擇“公共汽車”

選擇“源B1-I2C”

選擇“開(kāi)始時(shí)觸發(fā)”

按菜單關(guān)閉

使用Scale旋鈕將時(shí)間刻度更改為1.00 ms

按Single捕獲單個(gè)波形

使用Wave Inspector旋鈕放大要更仔細(xì)檢查的I2C事務(wù)的任何部分。在我的情況下,在地址0x5E之后接收到一個(gè)ACK,因?yàn)槟鞘谴艂鞲衅?a target="_blank">芯片的地址。

以下視頻引導(dǎo)您完成解碼I2C總線所需的步驟。(在Youtube,需要一定的上網(wǎng)工具支持)

解碼I2C總線所需的步驟


如何將數(shù)據(jù)從示波器保存到計(jì)算機(jī)解碼后的數(shù)據(jù)存儲(chǔ)在事件表中。您可以將其保存到USB驅(qū)動(dòng)器或計(jì)算機(jī)中。

由于插入U(xiǎn)SB驅(qū)動(dòng)器是一個(gè)簡(jiǎn)單的例子,因此我們將通過(guò)遠(yuǎn)程控制示波器來(lái)做到這一點(diǎn)。以下步驟特定于microsoft Windows以及Tektronix MDO3000和MDO4000系列示波器。
附帶說(shuō)明,我們將要做的是潛在的數(shù)據(jù)安全風(fēng)險(xiǎn)。在工作之前,請(qǐng)與您的IT部門聯(lián)系。
我的計(jì)算機(jī)位于192.168.0.18,示波器位于192.168.0.40。對(duì)命令進(jìn)行適當(dāng)?shù)恼{(diào)整。

以管理員身份運(yùn)行CMD.EXE并鍵入以下內(nèi)容以創(chuàng)建共享:

mkdir C:示波器

NET SHARE Scope = C: Oscilloscope / remark:“ TEK3104 Data” / grant:domain user,F(xiàn)ULL//這將在您的主硬盤上創(chuàng)建一個(gè)名為“ Scope”的共享。您可以將其更改為所需的任何位置。確保將domain user更改為計(jì)算機(jī)連接到的域的名稱,或?qū)C的名稱更改為您用來(lái)登錄Windows的用戶名。

ipconfig//注意本地連接ipv4地址。在我的示例中,它是192.168.0.18。

接下來(lái),當(dāng)仍在CMD.EXE中時(shí),使用PuTTY或telnet連接到示波器:

TELNET -O 192.168.0.40 4000//將192.168.0.40更改為您的示波器的IP,該IP在啟動(dòng)時(shí)顯示在主屏幕上。

現(xiàn)在,您已通過(guò)默認(rèn)端口4000上的IP地址連接到示波器。鍵入以下內(nèi)容:

!d //清除設(shè)備。

files:mount:list?//這將顯示所有已安裝的驅(qū)動(dòng)器。

files:mount:drive“ H:; 192.168.0.18; Scope; user; pass;”//這會(huì)在機(jī)器上的192.168.0.18處創(chuàng)建一個(gè)持久驅(qū)動(dòng)器。

files:mount:list?//這將導(dǎo)致出現(xiàn)一個(gè)新的驅(qū)動(dòng)器。

files:mkdir“ H:/ NewArticles”//在計(jì)算機(jī)上創(chuàng)建一個(gè)名為“ New Articles”的目錄。

files:cwd“ H:/ NewArticles” //將焦點(diǎn)更改到該目錄。

save:eventtable:B1“ eventtable.csv”//(最終)將數(shù)據(jù)保存到計(jì)算機(jī)。

結(jié)論

在不到15分鐘的時(shí)間里,我們對(duì)I2C總線進(jìn)行了解碼,然后從整個(gè)房間將數(shù)據(jù)保存到計(jì)算機(jī)中進(jìn)行分析。
現(xiàn)在已經(jīng)建立了共享文件夾,以后的工作可以在幾分鐘之內(nèi)完成。這種自動(dòng)解碼過(guò)程比僅探測(cè)信號(hào)并嘗試手動(dòng)解釋邏輯電平要有效得多。
我使用了本文中顯示的范圍和過(guò)程來(lái)解碼3D磁傳感器2 Go的幾種不同模式的I2C總線數(shù)據(jù),并確定哪些命令對(duì)應(yīng)于哪些電源模式。

責(zé)任編輯:xj

原文標(biāo)題:如何在示波器上讀取I2C總線

文章出處:【微信公眾號(hào):multisim】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    113

    文章

    6172

    瀏覽量

    184355
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1477

    瀏覽量

    123098

原文標(biāo)題:如何在示波器上讀取I2C總線

文章出處:【微信號(hào):A1411464185,微信公眾號(hào):multisim】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    示波器故障記錄怎么看

    在電子工程師的日常工作中,示波器是一款常用的測(cè)試儀器。然而,當(dāng)示波器出現(xiàn)故障時(shí),如何查看故障記錄就成為了解決問(wèn)題的關(guān)鍵。本文將為你詳細(xì)介紹
    的頭像 發(fā)表于 09-03 13:49 ?187次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>故障記錄怎么看

    MDO4034C混合示波器耦合方式設(shè)置指南

    在現(xiàn)代電子測(cè)量中,MDO4034C混合示波器因其強(qiáng)大的功能和易用性而受到廣泛歡迎。為了充分利用這款
    的頭像 發(fā)表于 09-03 13:48 ?422次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b>MDO4034<b class='flag-5'>C</b>混合<b class='flag-5'>域</b><b class='flag-5'>示波器</b>耦合方式設(shè)置指南

    示波器如何調(diào)光標(biāo)

    示波器是比較常見(jiàn)的一種示波器,今天安泰測(cè)試科技給大家講講
    的頭像 發(fā)表于 06-06 17:25 ?1229次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>如何調(diào)光標(biāo)

    示波器如何存儲(chǔ)CSV文件?

    示波器可以用于各種信號(hào)的測(cè)量和分析。在實(shí)際測(cè)試中,我們經(jīng)常需要將示波器采集到的波形數(shù)據(jù)保存下來(lái),以便后續(xù)的處理和分析。
    的頭像 發(fā)表于 05-07 15:10 ?746次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>如何存儲(chǔ)CSV文件?

    示波器如何測(cè)量時(shí)延?

    示波器(Tektronix Oscilloscope)是一種用于測(cè)量和顯示電信號(hào)的儀器。它可以通過(guò)觀察電信號(hào)的波形來(lái)提供有關(guān)信號(hào)的各種信息,包括幅度、頻率和時(shí)延。時(shí)延是指信號(hào)到達(dá)示波器
    的頭像 發(fā)表于 05-07 15:06 ?494次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>如何測(cè)量時(shí)延?

    如何使用示波器測(cè)量波長(zhǎng)?

    示波器是一種非常常用的儀器,用于測(cè)量和分析各種類型的電信號(hào)。測(cè)量波長(zhǎng)是示波器的一項(xiàng)重要功
    的頭像 發(fā)表于 05-07 15:06 ?579次閱讀
    如何使用<b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>測(cè)量波長(zhǎng)?

    示波器怎么樣?

    一、示波器品牌介紹 (Tektronix)是全球領(lǐng)先的測(cè)量?jī)x器制造商之一,成立于1946年,總部位于美國(guó)俄勒岡州。作為電子測(cè)量領(lǐng)域的
    的頭像 發(fā)表于 04-28 11:27 ?627次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>怎么樣?

    示波器保存波形csv

    一、示波器簡(jiǎn)介 示波器是電子測(cè)量領(lǐng)域中廣泛使用的一種重要儀器設(shè)備。它可以捕捉和顯示電路中
    的頭像 發(fā)表于 04-28 11:26 ?631次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>保存波形csv

    示波器如何實(shí)時(shí)顯示波形?

    示波器是一種常見(jiàn)的電子測(cè)量?jī)x器,廣泛應(yīng)用于電子工程、通信工程、醫(yī)療設(shè)備等領(lǐng)域。它的主要功能是實(shí)時(shí)顯示電信號(hào)的波形,從而幫助工程師和技術(shù)人員分析和調(diào)試電路。
    的頭像 發(fā)表于 04-28 10:21 ?497次閱讀

    TBS1072C示波器應(yīng)用領(lǐng)域及參數(shù)特點(diǎn)介紹

    在電子測(cè)試和測(cè)量領(lǐng)域,示波器是不可或缺的工具。TBS1072C示波器作為業(yè)內(nèi)領(lǐng)先的示波器之一
    的頭像 發(fā)表于 01-18 10:41 ?364次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b>TBS1072<b class='flag-5'>C</b><b class='flag-5'>示波器</b>應(yīng)用領(lǐng)域及參數(shù)特點(diǎn)介紹

    TBS1052C示波器的綜合應(yīng)用

    在電子測(cè)量領(lǐng)域,示波器是不可或缺的工具。它可以幫助工程師直觀地觀察電信號(hào)的波形,從而對(duì)電路和系統(tǒng)的性能進(jìn)行深入分析。作為業(yè)內(nèi)知名品牌,公司生產(chǎn)的TBS1052C
    的頭像 發(fā)表于 01-18 10:25 ?275次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b>TBS1052<b class='flag-5'>C</b><b class='flag-5'>示波器</b>的綜合應(yīng)用

    示波器校準(zhǔn)方法

    示波器是電子工程中不可或缺的儀器,用于測(cè)量和顯示電信號(hào)的波形。示波器是一種常見(jiàn)的示波器品牌,確保其準(zhǔn)確性和可靠性至關(guān)重要。
    的頭像 發(fā)表于 01-08 17:46 ?843次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>校準(zhǔn)方法

    示波器探頭校準(zhǔn)的重要性及步驟詳解

    示波器探頭校準(zhǔn)的重要性及步驟詳解 示波器探頭是電子測(cè)量中常用的測(cè)試工具,用于從電路中獲取
    的頭像 發(fā)表于 01-08 13:50 ?1024次閱讀

    示波器維修D(zhuǎn)PO7354C開(kāi)機(jī)黑屏故障

    近日某院校送修示波器DPO7354C,客戶反饋開(kāi)機(jī)黑屏,對(duì)儀器進(jìn)行初步檢測(cè),確定與客戶描述故障基本一致。本期將為大家分享本維修案例。 下面就是
    的頭像 發(fā)表于 12-15 17:16 ?535次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>維修D(zhuǎn)PO7354<b class='flag-5'>C</b>開(kāi)機(jī)黑屏故障

    TDS6124C示波器維修出現(xiàn)藍(lán)屏

    近日某院校送修一臺(tái)示波器TDS6124C,客戶反饋上出現(xiàn)藍(lán)屏,對(duì)儀器進(jìn)行初步檢測(cè),確定與客戶描述故障一致。本期將為大家分享本維修案例。
    的頭像 發(fā)表于 11-16 17:23 ?548次閱讀
    <b class='flag-5'>泰</b><b class='flag-5'>克</b>TDS6124<b class='flag-5'>C</b><b class='flag-5'>示波器</b>維修出現(xiàn)藍(lán)屏