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

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

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

利用邏輯分析儀進(jìn)行I2C總線(xiàn)的全面分析

夢(mèng)源科技 ? 來(lái)源:夢(mèng)源科技 ? 作者:夢(mèng)源科技 ? 2023-09-04 15:54 ? 次閱讀

1. 基礎(chǔ)協(xié)議

1.1.協(xié)議簡(jiǎn)介

IIC-BUS(Inter-IntegratedCircuit Bus)最早是由PHilip半導(dǎo)體(現(xiàn)在被NXP收購(gòu))于1982年開(kāi)發(fā)。 主要是用來(lái)方便微控制器與外圍器件的數(shù)據(jù)傳輸。 它是一種半雙工,由SDA(數(shù)據(jù))和SCL(時(shí)鐘)組成的兩線(xiàn)式串行傳輸總線(xiàn)。

目前最新的協(xié)議版本是2014版,鏈接如下:

https://www.dreamsourcelab.cn/doc/I2C-bus specification and user manual.pdf

1.2.物理信號(hào)

wKgZomT1jPOAaNatAABhY1rmTuA288.png

圖1-1 IIC實(shí)際的波形

wKgaomT1jPSAN2qqAAB7mZlKr6U024.png

圖1-2 IIC協(xié)議 基本形式

IIC由一條時(shí)鐘線(xiàn)和一條數(shù)據(jù)線(xiàn)組成。 如圖1-1是示波器抓取的實(shí)際信號(hào)、1-2是IIC協(xié)議數(shù)據(jù)傳輸?shù)幕拘问健?/p>

IIC的輸入輸出結(jié)構(gòu)采用的是開(kāi)漏的結(jié)構(gòu)。 開(kāi)漏結(jié)構(gòu)不能夠自主得到高電平,所以需要通過(guò)外部上拉電阻Rp來(lái)的實(shí)現(xiàn)IIC通信過(guò)程中的高電平。 Rp的大小取決于IIC不同模式時(shí)的灌電流大小。

圖1-3和圖1-4是描述IIC獲得高低電平的情景。 因?yàn)橐粭lIIC總線(xiàn)上面可能會(huì)同時(shí)連接上多個(gè)設(shè)備,如果IIC使用的是推挽輸出的話(huà)容易引起短路。 IIC設(shè)備可以通過(guò)控制N-MOS管的開(kāi)關(guān)來(lái)控制輸出信號(hào)的電平高低。 當(dāng)MOS管G極為低電平時(shí)MOS管截止IIC總線(xiàn)上面由于有上拉電阻的存在而為高電平; 當(dāng)MOS管G極為高電平時(shí)MOS管導(dǎo)通,IIC總線(xiàn)相當(dāng)于直接接地為低電平。

IIC的輸入是通過(guò)TTL肖特基觸發(fā)器將數(shù)據(jù)傳輸?shù)捷斎霐?shù)據(jù)寄存器當(dāng)中,再提供給處理器處理。

wKgZomT1jPWAIGxyAABcJgDSMCc239.png

圖1-3

wKgaomT1jPaAWCYjAABZIk-4V8o455.png

圖1-4

IIC的電平標(biāo)準(zhǔn):

由于種類(lèi)的設(shè)備都有可能連接到IIC總線(xiàn)上面,比如說(shuō)CMOS、NMOS等,所以IIC的高電平和低電平的標(biāo)準(zhǔn)是不一定的。高電平和低電平的值分別為0.7VDD和0.3VDD。

wKgZomT1jPeAPKqnAACkwCmavRI333.png

圖1-5

1.3.總線(xiàn)連接

wKgaomT1jPeAVUn_AAAO0lQjIHc888.png

圖1-6

IIC的時(shí)鐘線(xiàn)總是由主機(jī)控制,主機(jī)與從機(jī)之間的數(shù)據(jù)傳輸只在SDA一根線(xiàn)上完成,不能同時(shí)發(fā)送和接收數(shù)據(jù),所以IIC是一種半雙工的通信協(xié)議。一條IIC總線(xiàn)上面可以?huà)燧d多個(gè)設(shè)備,每一個(gè)設(shè)備都有其對(duì)應(yīng)的設(shè)備地址,設(shè)備之間數(shù)據(jù)傳送只能由一個(gè)設(shè)備傳送給對(duì)應(yīng)地址的設(shè)備。

wKgZomT1jPiAOGMTAACiPTsu7Is580.png

圖1-7

IIC的總線(xiàn)連接可以接受多主機(jī)的模式,也就是說(shuō)一條IIC總線(xiàn)上面可以有多個(gè)設(shè)備可以作為主機(jī)來(lái)使用,但是在一次數(shù)據(jù)的傳輸過(guò)程中只能有一個(gè)設(shè)備作為主機(jī)。一條IIC總線(xiàn)上面誰(shuí)是主機(jī)取決于總線(xiàn)上面的時(shí)鐘和數(shù)據(jù)信號(hào)由誰(shuí)控制。如圖1-7所示,這一條IIC總線(xiàn)上面掛載了多個(gè)設(shè)備,其中MCU1和MCU2都可以作為主機(jī)來(lái)使用,但是不能同時(shí)有兩個(gè)主機(jī)。

如果兩個(gè)MCU同時(shí)發(fā)起開(kāi)始信號(hào)時(shí)(都試圖成為主機(jī)),這時(shí)候IIC的仲裁機(jī)制會(huì)發(fā)揮作用來(lái)判定誰(shuí)成為主機(jī)。

wKgaomT1jPmAIMXjAACLHetgY0g726.png

圖1-8

IIC的仲裁機(jī)制得益于其開(kāi)漏的輸入輸出結(jié)構(gòu)。例如如圖1-8所示,當(dāng)SCL線(xiàn)上掛載的多個(gè)設(shè)備,其中的MCU2的SCL輸出低電平,那么這條IIC總線(xiàn)SCL就會(huì)被MCU2拉低,這也就是“與”的特性。

IIC上的仲裁主要是由兩部分組成SCL時(shí)鐘同步、SDA線(xiàn)仲裁。

wKgaomT1jPqAeB8GAABWDwgwEew866.png

圖1-9

如圖1-9所示CLK1和CLK2都是連接在一條SCL線(xiàn)上的設(shè)備同時(shí)產(chǎn)生的時(shí)鐘信號(hào),由于IIC總線(xiàn)存在“與”的特性,所以?xún)蓚€(gè)設(shè)備高電平相同的部分形成了SCL最終的時(shí)鐘,也就是說(shuō)同一條IIC總線(xiàn)上面的時(shí)鐘都是相同的。

wKgZomT1jPuAaqWYAABzizd50r4037.png

圖1-10

同樣SDA仲裁也是基于“與”的特性。如圖1-10所示當(dāng)兩個(gè)設(shè)備同時(shí)發(fā)出開(kāi)始信號(hào)想要傳送數(shù)據(jù)時(shí),在第一個(gè)和第二個(gè)周期內(nèi)DATA1和DATA2的數(shù)據(jù)都是相同的,然后兩者繼續(xù)傳送數(shù)據(jù),當(dāng)在第三個(gè)時(shí)鐘周期時(shí)DATA2與SDA的數(shù)據(jù)不一致,這個(gè)時(shí)候設(shè)備2就會(huì)停止發(fā)送數(shù)據(jù),轉(zhuǎn)而啟動(dòng)接收模式。這樣SDA的數(shù)據(jù)就會(huì)與DATA1的數(shù)據(jù)保持一致,并且設(shè)備2停止發(fā)送數(shù)據(jù)也不會(huì)影響SDA的數(shù)據(jù)。

2.協(xié)議規(guī)范

2.1.編碼規(guī)則

起始、停止條件:IIC的起始信號(hào)為當(dāng)時(shí)鐘信號(hào)線(xiàn)(SCL)為高電平時(shí),數(shù)據(jù)線(xiàn)(SDA)產(chǎn)生一個(gè)下降沿,停止信號(hào)為當(dāng)時(shí)鐘信號(hào)線(xiàn)(SCL)為高電平時(shí),數(shù)據(jù)線(xiàn)(SDA)產(chǎn)生一個(gè)上升沿。

wKgaomT1jPuAZEwBAAA97Ri8lX8150.png

圖2-1

應(yīng)答位、非應(yīng)答位:當(dāng)主機(jī)傳送8位數(shù)據(jù)結(jié)束后,主機(jī)會(huì)將SDA線(xiàn)拉高,此時(shí)如果從機(jī)正確接收數(shù)據(jù)則會(huì)將SDA拉低并在SCL高電平時(shí)保持低電平,這個(gè)信號(hào)為ACK信號(hào)。如果在傳輸8位數(shù)據(jù)后從機(jī)沒(méi)有將SDA拉低則該信號(hào)為NACK。如果出現(xiàn)NACK則表示數(shù)據(jù)傳輸出錯(cuò)。

wKgZomT1jPyAfMVXAABI5q7fX_M098.pngwKgaomT1jP2AVysfAABLKFOxc34962.png

圖2-2

數(shù)據(jù)有效性:當(dāng)時(shí)鐘信號(hào)為高電平的時(shí)候,數(shù)據(jù)線(xiàn)上的信號(hào)需要保持不變也就是在時(shí)鐘線(xiàn)為高電平的時(shí)候數(shù)據(jù)線(xiàn)出現(xiàn)上升下降沿的話(huà)就會(huì)產(chǎn)生停止和啟動(dòng)信號(hào),從而導(dǎo)致數(shù)據(jù)的傳輸出錯(cuò)。

wKgaomT1jQCAAuu2AABlEZcpAuQ207.png

圖2-3

byte組織:SDA上的數(shù)據(jù)傳輸是以8bit即一個(gè)字節(jié)為單位傳輸?shù)?,每一次傳輸?shù)淖止?jié)數(shù)沒(méi)有限制,每傳輸完一個(gè)字節(jié)后必須跟隨一個(gè)應(yīng)答位。

我們以01001001(0X49)為例,其時(shí)序圖如下:

wKgZomT1jQGARS1pAAB-kXvegNg298.png

圖2-4

2.2.信號(hào)傳輸

IIC總線(xiàn)上面的每一個(gè)設(shè)備都有唯一的地址與之對(duì)應(yīng),信號(hào)傳輸時(shí)也是根據(jù)指定的地址找到設(shè)備來(lái)傳輸信號(hào)。

寫(xiě)操作:主機(jī)確定了從機(jī)的設(shè)備地址后,生成一個(gè)開(kāi)始信號(hào),然后向IIC總線(xiàn)上面發(fā)送設(shè)備的地址和讀寫(xiě)方向標(biāo)志。從機(jī)檢測(cè)到該地址和自己設(shè)備地址相對(duì)應(yīng)后,回復(fù)主機(jī)一個(gè)應(yīng)答信號(hào)。主機(jī)接收到應(yīng)答信號(hào)后就開(kāi)始向這個(gè)設(shè)備以字節(jié)為單位發(fā)送數(shù)據(jù),每一個(gè)字節(jié)后面都會(huì)帶有從機(jī)的應(yīng)答信號(hào),直到主機(jī)發(fā)送完成最后一個(gè)數(shù)據(jù)后生成一個(gè)停止信號(hào)結(jié)束此次數(shù)據(jù)的傳輸。

wKgaomT1jQGAQjDnAABnv5WGwuM078.png

圖2-5

讀操作:讀操作與寫(xiě)操作有一些類(lèi)似,同樣的是需要確定需要讀取的從設(shè)備的地址。然后主機(jī)生成開(kāi)始信號(hào),再向IIC總線(xiàn)上發(fā)送從設(shè)備的地址和讀數(shù)據(jù)的指令。從設(shè)備接收到地址與自己的吻合后會(huì)產(chǎn)生一個(gè)應(yīng)答信號(hào)。就這從設(shè)備就開(kāi)始向主機(jī)發(fā)送主機(jī)想要讀取的數(shù)據(jù),主機(jī)正確接收數(shù)據(jù)后會(huì)向從機(jī)回復(fù)應(yīng)答信號(hào),當(dāng)主機(jī)想要結(jié)束讀取操作時(shí),主機(jī)會(huì)回復(fù)一個(gè)非應(yīng)答信號(hào),然后生成停止信號(hào)結(jié)束數(shù)據(jù)的讀取。

wKgZomT1jQKANOqYAABmy2ayBn4113.png

圖2-6

2.3.傳輸示例

wKgaomT1jQOAIdK9AAFYsfvfUHs625.png

圖2-7

如圖2-7所示是示波器采集的IIC信號(hào),我們通過(guò)自己的觀察得到這一段IIC包含的信息,主機(jī)向地址為0XA0 的設(shè)備寫(xiě)入0X0C。

通過(guò)示波器我們可以觀察到IIC信號(hào)真實(shí)的模樣, 但是我們也可以體會(huì)到示波器在分析數(shù)字信號(hào)的過(guò)程中有很多不便之處。

(1)示波器分析通道比較少:

一般我們使用的示波器都是雙通道,而剛好IIC總線(xiàn)只有兩根線(xiàn)組成,但是當(dāng)我們需要測(cè)量的數(shù)字信號(hào)時(shí)由多根線(xiàn)組成的話(huà)(比如說(shuō)spi),用兩通道的示波器就不方便我們使用。

(2)示波器的存儲(chǔ)深度比較?。阂话銇?lái)講示波器的存儲(chǔ)深度有限,有與存儲(chǔ)深度和采樣率采樣時(shí)長(zhǎng)有很大的聯(lián)系:

存儲(chǔ)深度=采樣率X顯示時(shí)間

那么在上面的公式的原則下,示波器的存儲(chǔ)深度是一定的,我們想要設(shè)置較高的采樣率的話(huà)就無(wú)法顯示較長(zhǎng)的波形,如圖2-8所示,想要的到足夠長(zhǎng)的波形的話(huà)采樣率則會(huì)不足,如圖2-9所示。

wKgZomT1jQSAHIgqAACHf9cn7tk327.png

圖2-8

wKgZomT1jQWAMLAQAABi4TuHSOk623.png

圖2-9低采樣率

(3) 沒(méi)有協(xié)議解碼功能

如圖2-7所示,示波器抓取到的波形只有光禿禿的波形,我們需要自己將波形放大去仔細(xì)辨認(rèn)才能得到其中的信息。

wKgaomT1jQWANtFvAAAjvIN4iss166.png

圖2-10邏輯分析儀解碼結(jié)果

而相比于示波器邏輯分析儀能更好的輔助工程師抓取,識(shí)別數(shù)字信號(hào)。如圖2-10所示邏輯分析儀帶有解碼功能,它可以自動(dòng)幫助工程師讀取出其中數(shù)據(jù)。邏輯分析儀的通道數(shù)量一般都在16個(gè)以上,并且在存儲(chǔ)深度這方面,邏輯分析儀要遠(yuǎn)遠(yuǎn)大于示波器,因此他可以記錄很長(zhǎng)的數(shù)據(jù)。

3.邏輯分析儀準(zhǔn)備

邏輯分析儀使用詳情可參考:https://www.dreamsourcelab.com/doc/DSView_User_Guide.pdf

3.1.設(shè)備連接和狀態(tài)檢查

邏輯分析儀帶有一個(gè)type-c接口,使用正確的連接線(xiàn)價(jià)格邏輯分析儀接入電腦USB接口(如果邏輯分析儀是支持USB 3.0 接口的話(huà)接入U(xiǎn)SB 2.0接口會(huì)影響其最高速率)。一定要等到邏輯分析儀指示燈顯示為綠燈和軟件上顯示為正確的儀器設(shè)備,此時(shí)才能正確地操作和使用邏輯分析儀。

wKgZomT1jQaAAU6SAAAoNYBy-68286.png

圖3-1

3.2.被測(cè)信號(hào)連接

正常連接好USB后,邏輯分析儀會(huì)亮綠燈,再將排線(xiàn)插入邏輯分析儀的檢測(cè)通道。排線(xiàn)四個(gè)通道分為一組,基礎(chǔ)版設(shè)備4個(gè)通道配一根地線(xiàn),增強(qiáng)版每一個(gè)通道都配有地線(xiàn),由于一般情況下的IIC速率都比較小,所以我們只需要連接兩個(gè)通道和一根公共地線(xiàn)就行了。

wKgaomT1jQeAVRPaAAELPuJJ-w4816.png

圖3-2

4.波形抓取和協(xié)議分析

4.1.采集設(shè)置

采集時(shí)長(zhǎng)、采樣率:關(guān)于采樣率和采樣時(shí)長(zhǎng),我們需要明白的一點(diǎn)是他們都和存儲(chǔ)深度有關(guān)。存儲(chǔ)深度=采樣率*窗口顯示時(shí)長(zhǎng)

IIC總線(xiàn)的傳輸速率一般是幾百KHZ,我們的傳輸速率設(shè)置為幾MHz就行。這里我們采用4MHz的采樣率對(duì)IIC進(jìn)行采樣。這里不同的采樣率下邏輯分析儀的最長(zhǎng)采樣時(shí)長(zhǎng)是不一樣的,DSView會(huì)根據(jù)你設(shè)置的采樣率來(lái)計(jì)算出最長(zhǎng)的采集時(shí)長(zhǎng)。你可以根據(jù)自己的數(shù)據(jù)量選擇相應(yīng)的采樣時(shí)長(zhǎng)。

wKgZomT1jQeAfCXSAAAZlLaQSv0440.png

圖4-1

運(yùn)行模式和閾值:DSView中邏輯分析儀抓取信號(hào)的運(yùn)行模式有stream和buffer模式。stream模式下不同通道數(shù)有不同的最高采樣率,而buffer模式下最高采樣率是固定的。另外就是由于stream模式采用的是PC的內(nèi)存所以有很長(zhǎng)的采樣深度。DSView的電壓閾值可以設(shè)置的范圍是0~5V之間。通常的3.3V數(shù)字系統(tǒng),我們?cè)O(shè)置閾值電壓為1.0V就可以,如果設(shè)置太低或者太高會(huì)導(dǎo)致信號(hào)不精準(zhǔn)。

wKgaomT1jQmAfe8oAABxQkCqjjQ087.png

圖4-2

這里需要注意的是stream模式下DSView無(wú)法進(jìn)行高級(jí)觸發(fā),只能進(jìn)行一些簡(jiǎn)單觸發(fā),如果需要用邏輯分析儀抓取特定的數(shù)據(jù)的話(huà)需要將運(yùn)行模式調(diào)整到buffer模式下。

wKgZomT1jQmALeioAAA39BMEMdg293.png

圖4-3

4.2.觸發(fā)條件設(shè)置和采集

簡(jiǎn)單觸發(fā):簡(jiǎn)單觸發(fā)只需要通過(guò)設(shè)置某個(gè)通道的觸發(fā)條件就可以實(shí)現(xiàn)信號(hào)的抓取。如圖4-4所示我們?cè)O(shè)置觸發(fā)條件為當(dāng)通道1產(chǎn)生邊沿信號(hào),當(dāng)通道1產(chǎn)生上升沿或者下降沿的時(shí)候就會(huì)觸發(fā)。

wKgaomT1jQqAC05NAAAgB0-n648306.png

圖4-4

采集:DSView能夠?qū)崿F(xiàn)立即和正常捕獲。立即捕獲可以理解為立即抓取當(dāng)前的IIC信號(hào),不會(huì)顧及觸發(fā)條件。當(dāng)你的IIC信號(hào)比較短,并且你設(shè)置的采樣時(shí)長(zhǎng)比較短時(shí)可能會(huì)抓取不到波形。

正常捕獲只需要點(diǎn)擊開(kāi)始按鈕(或者按鍵盤(pán)S鍵)就可以進(jìn)入正常捕獲模式。正常捕獲可以響應(yīng)觸發(fā)條件,并且可以設(shè)置采集模式。

wKgZomT1jQuAO6P2AAAX-ftfI4s026.png

圖4-5

DSView運(yùn)行單次采集和重復(fù)采集。單次采樣只允許你采集一次便會(huì)停止采集。重復(fù)采集是完場(chǎng)一次采集后等待響應(yīng)的時(shí)間間隔后又會(huì)重新開(kāi)始采集并不斷這樣的循環(huán)。如圖4-6所示我們可以設(shè)置間隔采集的時(shí)間,設(shè)置范圍為1~10S。

wKgaomT1jQuAcF3mAAAHrBamuZc042.png

圖4-6

4.3.波形查看和測(cè)量

縮放:波形的縮放通過(guò)鼠標(biāo)滾輪就能夠?qū)崿F(xiàn)波形的縮放。也可以通過(guò)鍵盤(pán)上的左右鍵來(lái)縮放波形。還可以通過(guò)鼠標(biāo)右鍵框選住波形來(lái)將波形細(xì)節(jié)放大(右鍵框選只可以放大不能縮小波形)。

wKgZomT1jQyABbN-AAAdFdxB_qw201.png

圖4-7右鍵框選放大

移動(dòng):按住鼠標(biāo)左鍵能夠?qū)崿F(xiàn)波形的左右移動(dòng)。

頻率測(cè)量:直接將鼠標(biāo)移動(dòng)到波形的中央,就可以計(jì)算這個(gè)信號(hào)的頻率,周期等信息。

wKgaomT1jQ2ADma_AAAPm7b4y6k694.png

圖4-8鼠標(biāo)檢測(cè)頻率

光標(biāo)運(yùn)用:當(dāng)你的波形比較長(zhǎng)窗口無(wú)法完全顯示的時(shí)候,我們可以使用光標(biāo)標(biāo)記你想觀察的地方然后根據(jù)光標(biāo)實(shí)現(xiàn)波形位置的跳轉(zhuǎn)。在波形的上雙擊就能添加光標(biāo),光標(biāo)的可添加數(shù)量不受限制。當(dāng)你想要實(shí)現(xiàn)位置跳轉(zhuǎn)的時(shí)候直接鼠標(biāo)右擊光標(biāo)就會(huì)出現(xiàn)相應(yīng)的序號(hào),然后直接點(diǎn)擊序號(hào)跳轉(zhuǎn)到相應(yīng)的光標(biāo)。

wKgaomT1jQ6AchPTAABZK1SbiiA288.png

圖4-9光標(biāo)跳轉(zhuǎn)GIF圖

4.4.協(xié)議添加和解碼分析

我們采集到的IIC總線(xiàn)上面的信號(hào)是兩條波形圖,比較生硬不利于我們了解其中包含的信息。這個(gè)時(shí)候我們就需要使用到DSView中所包含的解碼功能。解碼功能可以將IIC協(xié)議中包含的內(nèi)容以直觀的形式表現(xiàn)出來(lái),方便我們分析。

步驟一:點(diǎn)擊菜單欄上面的解碼DSView界面右側(cè)就會(huì)出現(xiàn)添加解碼協(xié)議的窗口。

wKgZomT1jQ-AcGHoAAAjOKEpr-E621.png

圖4-10

步驟二:在右側(cè)出現(xiàn)的窗口中選擇IIC協(xié)議,在點(diǎn)擊這個(gè)加號(hào)添加協(xié)議。

wKgaomT1jRCAbZi2AAAe8UJ6QHM261.png

圖4-11

步驟三:點(diǎn)擊完加號(hào)后下方就會(huì)出現(xiàn)一個(gè)IIC的協(xié)議,點(diǎn)擊左側(cè)的設(shè)置按鈕(齒輪)進(jìn)入解碼設(shè)置的窗口。

wKgZomT1jRKAF-pSAAANpNiwkwU118.png

圖4-12

步驟四:首先設(shè)置顯示的內(nèi)容,我們可以根據(jù)自己的需求設(shè)置,然后最重要的是需要將采集IIC的通道與SCL和SDA相對(duì)應(yīng),從機(jī)地址可以顯示為包不包含讀寫(xiě)位,最后解碼區(qū)域可以設(shè)置為開(kāi)始到結(jié)束,這樣采集到的所有數(shù)據(jù)都會(huì)被解碼,如果想要解碼特定的區(qū)域可以添加兩條光標(biāo),解碼區(qū)域設(shè)置為這兩條光標(biāo)之間。

wKgaomT1jROABz8jAACjlqsD6NM820.png

圖4-13

步驟五:結(jié)果分析

wKgZomT1jROAF8jhAAA1YHD1dds033.png

圖4-14

如圖4-14所示我們?cè)O(shè)置了解碼區(qū)間為光標(biāo)1和光標(biāo)2之間的區(qū)域。這一段IIC時(shí)序表達(dá)的意思就是從地址為1010000的設(shè)備之中的0X15的內(nèi)部地址當(dāng)中讀取數(shù)據(jù),讀出的數(shù)據(jù)位0X54。

5.進(jìn)階分析

5.1.采集技巧

循環(huán)采集:當(dāng)你遇到需要觀察一個(gè)特定的信號(hào)時(shí)采用單次可能會(huì)不方便操作。比如不同按鍵代表不同的信息,我們可以設(shè)置循環(huán)采集抓取按鍵的信息。

wKgaomT1jRSAezZ5AAB_VmFbnX4287.png

圖5-1

觸發(fā)定位:如果我們想觀察一段完整的波形,可以將觸發(fā)位置盡量調(diào)到最前(1%)或最后(90%)。這樣就能觀察到觸發(fā)前和觸發(fā)后的波形,如圖5-3所示。

wKgZomT1jRWAI_B6AACsIiPVV5I682.png

圖5-2

wKgaomT1jRaASxbuAACVicXL_jY792.png

wKgZomT1jReAKv5xAACXhdfH4-Y871.png

圖5-3

5.2.高級(jí)觸發(fā)

DSView中可以使用高級(jí)觸發(fā)來(lái)分析傳輸?shù)膬?nèi)容。

步驟一:首先需要在觸發(fā)設(shè)置里面選擇高級(jí)觸發(fā)選項(xiàng)。

wKgaomT1jReAWok5AAAHXHHLWCA744.png

圖5-4

步驟二:設(shè)置觸發(fā)位置,觸發(fā)位置可以根據(jù)自己的需要設(shè)置在任意位置。觸發(fā)的位置決定了你要抓取的信號(hào)位于你抓取的全部信號(hào)的百分比位置。設(shè)置時(shí)只需要填入數(shù)值或者用鼠標(biāo)拖動(dòng)位置條。

wKgZomT1jRiAOqrgAAB4LgitaTM235.png

圖5-5

步驟三:選擇串行觸發(fā),IIC是一種串行的通信方式,所以我們選擇的是串行觸發(fā),上面的總觸發(fā)等級(jí)只在多級(jí)觸發(fā)的時(shí)候使用。

wKgaomT1jRmAP7BzAAAGvi6vetA193.png

圖5-6

步驟四:設(shè)置開(kāi)始停止條件、時(shí)鐘設(shè)置。

首先需要將通道與你測(cè)試的IIC線(xiàn)對(duì)應(yīng),例如通道0對(duì)應(yīng)的是SCL,通道1對(duì)應(yīng)的是SDA。IIC的開(kāi)始條件為當(dāng)SCL為高電平時(shí)SDA產(chǎn)生一個(gè)下降沿,停止條件為當(dāng)SCL為高電平時(shí)SDA產(chǎn)生一個(gè)低電平,所以開(kāi)始條件和停止條件設(shè)置為圖5-7左側(cè)所示。時(shí)鐘設(shè)置用來(lái)定義時(shí)鐘采樣的時(shí)刻,一般情況我們可以設(shè)置為上升沿采樣。

wKgZomT1jRqADsTMAAAZ0Fhidxw367.png

圖5-7

步驟五:設(shè)置數(shù)據(jù)通道、數(shù)據(jù)位寬、數(shù)據(jù)值

數(shù)據(jù)通道指的是SDA連接的是哪個(gè)通道,這里我們連接的是1通道。由于IIC協(xié)議中每傳送1字節(jié)數(shù)據(jù)就需要一個(gè)應(yīng)答位,所以數(shù)據(jù)位寬設(shè)置為9。例如我設(shè)置在出現(xiàn)0X57這個(gè)數(shù)據(jù)時(shí)觸發(fā),設(shè)置的數(shù)據(jù)值應(yīng)該為010101110,最后一位為應(yīng)答位。

當(dāng)然如果我們不需要抓取特定的數(shù)據(jù)時(shí),數(shù)據(jù)值、數(shù)據(jù)位寬、數(shù)據(jù)通道三項(xiàng)可以不用設(shè)置。

wKgaomT1jRuANSxcAAAJcg_sFT4679.png

圖5-8

步驟六:查看數(shù)據(jù)

邏輯分析儀抓取的結(jié)果會(huì)顯示在主界面上面,觸發(fā)的位置就是我們想要獲得的數(shù)據(jù)的位置。

我們還可以通過(guò)列表查詢(xún)的方式來(lái)來(lái)抓取的這一串?dāng)?shù)據(jù)中的位置。如圖5-10所示,輸入要查詢(xún)的數(shù)據(jù)再點(diǎn)擊該數(shù)據(jù)就能在主界面中快速定位該數(shù)據(jù)。

wKgZomT1jRuACWHBAAAeigTxL0k342.png

圖5-9

wKgaomT1jRyAKYvmAAAxMYVGs4M548.png

圖5-10

5.3.Stack高階協(xié)議解析

稍微復(fù)雜一點(diǎn)的協(xié)議都會(huì)采用分層的結(jié)構(gòu),例如使用IIC對(duì)EEPROM的讀寫(xiě)操作,其協(xié)議是基于傳統(tǒng)的IIC,但是在這其中還包含了更多的含義。

我們以對(duì)EEPROM操作展示Stack高階協(xié)議解析過(guò)程

操作步驟:

(1)選擇“1:IIC”。IIC協(xié)議添加“1:IIC”不能添加“0:IIC”,“0:IIC”不能顯示多層協(xié)議。

wKgZomT1jR2AAKlHAAAYvUDAcMo194.png

圖5-11

(2)點(diǎn)擊“多層協(xié)議”

wKgaomT1jR6APjmjAAAngJF6XoI874.png

圖5-12

(3)添加對(duì)應(yīng)的EEPROM協(xié)議

wKgaomT1jR-AAF-EAAAjzjYVBms233.png

圖5-13

(4)得到結(jié)果

從結(jié)果可以看出,這5層的解碼將IIC協(xié)議通訊的從每一位到整體的意義描述的很詳細(xì)。

wKgZomT1jR-Ac693AABFuVNhXNo476.png

圖5-14

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635299
  • 嵌入式開(kāi)發(fā)

    關(guān)注

    18

    文章

    1030

    瀏覽量

    47581
  • I2C總線(xiàn)
    +關(guān)注

    關(guān)注

    8

    文章

    391

    瀏覽量

    60936
  • 邏輯分析儀
    +關(guān)注

    關(guān)注

    3

    文章

    214

    瀏覽量

    23172
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何選擇邏輯分析儀

    2所示設(shè)定了門(mén)限電壓后,邏輯分析儀將被測(cè)信號(hào)通過(guò)超高速比較器與門(mén)限電壓進(jìn)行比較,高于門(mén)限電壓為邏輯“1”,低于則為
    發(fā)表于 04-26 14:25

    邏輯分析儀在通訊協(xié)議分析上的應(yīng)用

    顯示出來(lái),才能達(dá)到事半功倍的效果。因此有通訊協(xié)議后處理的邏輯分析儀,最好能有通訊協(xié)議觸發(fā)設(shè)定的功能。 邏輯分析儀串行分析實(shí)例   接下來(lái)我們
    發(fā)表于 04-26 14:35

    使用邏輯分析儀分析 遙控器紅外、UART、I2C、SPI的方法

    詳細(xì)講解使用邏輯分析儀分析遙控器、I2C、UART等通信過(guò)程。 [hide][hide][此貼子已經(jīng)被作者于2010-8-30 20:51:47編輯過(guò)]
    發(fā)表于 08-30 20:49

    用STM32F4實(shí)現(xiàn)了一個(gè)I2C總線(xiàn)數(shù)據(jù)分析記錄,無(wú)限制記錄數(shù)據(jù)

    丟失;4,可實(shí)現(xiàn)對(duì)I2C協(xié)議進(jìn)行自定義解析,該功能可以很方便的分析I2C總線(xiàn)上的數(shù)據(jù);軟件下載及使用教程:http://www.u***xy
    發(fā)表于 12-17 09:46

    不用邏輯分析儀,不用示波器,一樣抓取I2C總線(xiàn)數(shù)據(jù)?

    摘要:本文介紹了一種不用邏輯分析儀,不用示波器抓取I2C總線(xiàn)數(shù)據(jù)的一種方法。使用該方法可以無(wú)限制的記錄I2C
    發(fā)表于 01-13 11:17

    邏輯分析儀基礎(chǔ)簡(jiǎn)介

    分析儀的通道數(shù)在需要邏輯分析儀的地方,要對(duì)一個(gè)系統(tǒng)進(jìn)行全面分析,就應(yīng)當(dāng)把所有應(yīng)當(dāng)觀測(cè)的信號(hào)全部
    發(fā)表于 08-07 10:27

    邏輯分析儀基礎(chǔ)簡(jiǎn)介

    分析儀的通道數(shù)在需要邏輯分析儀的地方,要對(duì)一個(gè)系統(tǒng)進(jìn)行全面分析,就應(yīng)當(dāng)把所有應(yīng)當(dāng)觀測(cè)的信號(hào)全部
    發(fā)表于 08-18 10:06

    為什么要使用邏輯分析儀

    總線(xiàn)電平傳輸(如UART、I2C、SPI、SSI、Microwire、1-wire等)進(jìn)行串并轉(zhuǎn)換分析外,更應(yīng)具有協(xié)議分析和輔助開(kāi)發(fā)的功能。
    發(fā)表于 10-13 09:23

    示波器和邏輯分析儀聯(lián)合調(diào)試I2C通訊

    正確,有無(wú)過(guò)沖信號(hào)等。然后使用邏輯分析儀抓取總線(xiàn)上的邏輯波形,排查時(shí)序是否存在問(wèn)題。下圖是I2C 信號(hào)時(shí)序,測(cè)量時(shí)序準(zhǔn)確性時(shí)可以添加測(cè)量標(biāo)尺
    發(fā)表于 10-19 09:11

    怎么讓邏輯分析儀在模擬器模式下顯示SDA和SCL的I2C數(shù)據(jù)?

    試圖讓邏輯分析儀在模擬器模式下顯示SDA和SCL的I2C數(shù)據(jù)。我使用MPLAB X IDE4.05和PIC18K14F22。SCL和SDA引腳選擇和顯示在邏輯
    發(fā)表于 03-24 10:26

    基于Verilog HDL的I2C總線(xiàn)分析

    提出了采用Verilog HDL 設(shè)計(jì)I2C 總線(xiàn)分析器的方法,該I2C 總線(xiàn)分析器支持三種不同
    發(fā)表于 08-10 15:32 ?40次下載

    邏輯分析儀工作原理及電路圖

    邏輯分析儀,是分析數(shù)字系統(tǒng)邏輯關(guān)系的儀器。邏輯分析儀是屬于數(shù)據(jù)域測(cè)試儀器中的一種
    發(fā)表于 09-11 15:38 ?63次下載
    <b class='flag-5'>邏輯</b><b class='flag-5'>分析儀</b>工作原理及電路圖

    邏輯分析儀選型參數(shù)有哪些_邏輯分析儀有哪些技術(shù)指標(biāo)_邏輯分析儀有什么推薦的?

    邏輯分析儀分析數(shù)字系統(tǒng)邏輯關(guān)系的儀器。邏輯分析儀是屬于數(shù)據(jù)域測(cè)試[
    發(fā)表于 12-20 16:43 ?5541次閱讀

    邏輯分析儀能讀IIC信號(hào)不?

    通信協(xié)議,也被稱(chēng)為I2C(Inter-Integrated Circuit)總線(xiàn),在許多數(shù)字設(shè)備中廣泛應(yīng)用。在本篇文章中,我們將探討邏輯分析儀是否能夠讀取IIC信號(hào),以及如何使用
    的頭像 發(fā)表于 09-19 16:50 ?1418次閱讀

    利用邏輯分析儀進(jìn)行I2C總線(xiàn)全面分析

    1.基礎(chǔ)協(xié)議1.1.協(xié)議簡(jiǎn)介IIC-BUS(Inter-IntegratedCircuitBus)最早是由PHilip半導(dǎo)體(現(xiàn)在被NXP收購(gòu))于1982年開(kāi)發(fā)。主要是用來(lái)方便微控制器與外圍器件的數(shù)據(jù)傳輸。它是一種半雙工,由SDA(數(shù)據(jù))和SCL(時(shí)鐘)組成的兩線(xiàn)式串行傳輸總線(xiàn)
    的頭像 發(fā)表于 01-12 14:13 ?5463次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>邏輯</b><b class='flag-5'>分析儀</b><b class='flag-5'>進(jìn)行</b><b class='flag-5'>I2C</b><b class='flag-5'>總線(xiàn)</b>的<b class='flag-5'>全面</b><b class='flag-5'>分析</b>