|
Saleae邏輯分析儀應(yīng)用手冊
本教程通過圖文并茂的方式來講解,Saleae的用途和實際應(yīng)用方法
一、什么是邏輯分析儀:
邏輯分析儀是一種類似于示波器的波形測試設(shè)備,它通過采集指定的信號,并通過圖形或者數(shù)據(jù)統(tǒng)計化的方式展示給開發(fā)人員,開發(fā)人員通過這些圖形化時序信號按照協(xié)議來分析硬件或者軟件中的錯誤。邏輯分析儀是設(shè)計中不可缺少的設(shè)備,通過它,可以迅速定位錯誤,發(fā)現(xiàn)并解決問題,達(dá)到事半功倍的效果,尤其在分析時序,比如 1wire、I2C、UART、SPI、CAN等數(shù)據(jù)的時候,應(yīng)用邏輯分析儀解決問題非常快速。
以下是一個 Saleae分析一個 UART通信時序和一個 IIC時序的典型例子:從圖中我們可以清晰的看到, UART通信在波特率 9600下面,清晰的顯示出十六進(jìn)制數(shù)字 0xA9,而下邊的 IIC信號一個讀數(shù)據(jù)的時序過程,通道 1是 SDA,通道 2是 SCL,在 1通道中清楚的顯示出來,綠點(diǎn)表示起始位,紅點(diǎn)表示結(jié)束位,第一個是往 0x90這個器件地址寫數(shù)據(jù) (w是 write的意思 ),第二個表示要讀取的地址是 0x40,第三個數(shù)據(jù)是重新發(fā)送器件地址并且是讀數(shù)據(jù),第 4個字節(jié)即讀到的數(shù)據(jù) 0xA9。是不是感覺非常方便快捷呢。
二、軟件安裝以及軟件基本應(yīng)用
首先安裝 logic software,軟件在光盤里有配套,同時也可以到官方網(wǎng)站下載,這里有各種系統(tǒng)版本支持,請下載你所需要的系統(tǒng)支持版本:
下載完后,直接雙擊安裝。安裝完后,會在桌面出現(xiàn)一個快捷方式:
雙擊快捷方式,進(jìn)入后,會出現(xiàn)以下界面:
這個邏輯分析儀軟件在沒有插入硬件的時候,最上邊顯示的是 Disconnected,可以進(jìn)行模擬運(yùn)行 (start simulation),用鼠標(biāo)點(diǎn)一下后會出現(xiàn)一個模擬的波形,如果你提前設(shè)置協(xié)議的話 (如何設(shè)置協(xié)議,后邊會講),他還會產(chǎn)生符合你協(xié)議的波形呢 ~!當(dāng)然,非真實測到的波形,可以讓你提前體驗一下,點(diǎn)鼠標(biāo)左鍵放大波形,右鍵縮小波形,滾動鼠標(biāo)滑輪也可以放大和縮小波形,沒有使用硬件之前可以提前體驗一下。
三、硬件安裝
軟件安裝完成后就可以插入硬件了,插上硬件后,會自動提示發(fā)現(xiàn)新硬件,然后出現(xiàn)一個對話框
直接“點(diǎn)自動安裝軟件 (推薦)”就可以了,安裝完后,剛才的那個 Disconnected會自動變化成為 Connect,并且 start simulation會自動變化成 start,這樣就是和實際硬件連接起來了,下邊我們就可以用來測量實際波形了,并且可以在圖示位置設(shè)置通道名字,采樣深度,采樣頻率等等參數(shù)。
邏輯分析儀里邊有 2個非常重要的參數(shù),就是采樣深度和采樣頻率。大家可以看到在這個軟件中,有兩個可以選擇數(shù)字大小的地方,第一個就是采樣深度,第二個是采樣頻率:
前邊那個 5M代表我們從開始采集,一共采集到 5Mbit個數(shù)據(jù)他就自動停止了,后邊的 2M代表我們 1s鐘可以采集 2M個 bit位的數(shù)據(jù),那么這么算下來,我們這樣設(shè)置,可以采集 2.5s的數(shù)據(jù)。
對于 saleae邏輯分析儀的強(qiáng)悍之處在于,他把采集到的數(shù)據(jù)通過 USB高速通信實時的發(fā)送給了電腦,所以采樣深度取決于我們電腦的內(nèi)存,可以上到幾個 G,也就是說,如果我們設(shè)置了 1G的采樣深度,采樣頻率是 1M,那么我們就可以采集近 17分鐘的數(shù)據(jù)保存下來慢慢分析,這對于大家分析一些芯片的數(shù)據(jù)信息非常有用。
四、觸發(fā)設(shè)置
觸發(fā)設(shè)置是為了方便大家在使用時,從有用信號開始發(fā)送的時候再采集,這樣就可以避免剛開始采集了大量的無用信號。
在這里,你用哪個通道做觸發(fā)就設(shè)置哪個通道,可以分別設(shè)置上升沿開始采集數(shù)據(jù),或者下降沿開始采集數(shù)據(jù),或者高低電平開始采集數(shù)據(jù)。默認(rèn)是不設(shè)置觸發(fā),點(diǎn)了 start后,就會自動開始進(jìn)行數(shù)據(jù)采集,一直采集到設(shè)置的采樣深度完成后自動停止。
那下邊我們就可以正式采集一組數(shù)據(jù)進(jìn)行觀察了!
五、信息采集
要特別注意的是,我們設(shè)備的正常工作電壓是 5.5V以下, 1.5V以下的會被認(rèn)為是低電平, 1.5V到 5.5V之間的會認(rèn)為是高電平,最高承受電壓是 7.5V,所以請大家注意測試電壓。
邏輯分析儀配套有杜邦線,首先請各位把杜邦線逐一的插到邏輯分析儀的接口上去,杜邦線插好后分 2排,上邊一排 5根邏輯分析儀對應(yīng)的是外殼上左邊的絲印,下邊一排對應(yīng)的是右邊的絲印。要測試信號前,請先將邏輯分析儀的 GND通道連到你的板子的 GND引腳上去,否則測量出來的數(shù)據(jù)不可信。
剩下的 8條數(shù)據(jù)通道,可以任意選擇接到你需要的硬件上去。并且選擇合適的采樣深度和采樣頻率,以及觸發(fā)條件,那么下面就可以直接點(diǎn) start開始采集了。采
集到的波形入下圖所示:
大家把鼠標(biāo)放到波形上,在右側(cè)就會自動顯示一些必要的信息,包括脈寬長度,周期,頻頻率等等信息。大家可以自己點(diǎn)上角那個小齒輪,可以選擇需要顯示的信息,那些不需要的信息可以不讓他顯示出來。
另外,我們?nèi)绻胍杉鄠信息,那可以進(jìn)行信息保存,點(diǎn)擊右上角的 Option,里邊有個:
可以把當(dāng)前的信息保存,再抓取下一屏幕的,最后吧每個屏的進(jìn)行對比,也可以把圖形保存成為圖片形式等等,這一塊大家可以嘗試自己摸索一下:
六、數(shù)據(jù)分析
首先我們來了解一下左邊的 Measurements欄目顯示的信息,當(dāng)我們把鼠標(biāo)放到一段脈沖以后,在左側(cè)就會顯示出一段數(shù)據(jù)信息:
那么我們來逐一對右邊的信息進(jìn)行分析。
首先,第一個參數(shù) Width,是針對這個圖形中這部分分長度是 0.232500ms,第二個參數(shù) Period,是的周期;
第三個參數(shù) Duty Cycle是當(dāng)前這個周期的占空比,第四個參數(shù) Frequency是當(dāng)前這個信號的頻率,也就是周期的倒數(shù)。 T1和 T2是分析儀中的兩個時間標(biāo)簽,我們可以通過放置標(biāo)簽來得到我們需要的信息,我們用鼠標(biāo)分別點(diǎn)擊和,就可以在波形中得到兩條綠線,可以通過放置綠線來得到尺度標(biāo)簽,在右側(cè)就會顯示出 T1和 T2的位置,以及 |T1-T2|的值。 Saleae邏輯分析儀還有一個更加強(qiáng)大的功能,就是可以自動分析協(xié)議,其中包含以下協(xié)議類型。
對這幾種類型的波形來說,不僅僅可以顯示波形,還可以直接顯示協(xié)議數(shù)值,顯示方式可以為二進(jìn)制,十進(jìn)制,十六進(jìn)制, ASCII碼等等。我們可以看到上邊那幅圖里,通道 0上的是 UART的一條線,通道 1是 I2C的 SDA引腳,通道 2是 I2C的 SCL引腳。那我們可以清晰的看到數(shù)據(jù)被分析出來,具體的操作方式是:
點(diǎn)擊右側(cè)的 Analyzers,選擇 Async Serial,會出現(xiàn)以下頁面,在這個界面里,我們要對 UART通信的參數(shù)進(jìn)行選擇,其中有通道選擇,波特率選擇,數(shù)據(jù)位,停止位校驗位等等,可以根據(jù)實際情況選擇。選擇好了以后,可以點(diǎn) Save。
而后會提示你是否修改通道名字,你可以根據(jù)自己的需求選擇改或者不改,點(diǎn) Rename和 Don’t:
Rename都可以,然后再設(shè)置一下顯示格式,有兩個地方可以選擇顯示格式,大家可以自己選一下在 Options里邊有一個,如下圖:
另外一個點(diǎn)擊對應(yīng)協(xié)議如 Async Serial左邊的小齒輪,也可以選擇顯示模式,我習(xí)慣上選擇十六進(jìn)制。選擇好了,設(shè)置上升沿觸發(fā),點(diǎn) Start,發(fā)送的數(shù)據(jù)就可以被捕捉到,抓到數(shù)據(jù)后,會出現(xiàn)以下情況:
大家可以看到,低位在前,高位在后,數(shù)據(jù)是 0x6C,并且大家可以看到,上邊共有 8個小白點(diǎn),每一個小白點(diǎn)都表示一個數(shù)據(jù)位,剛開始的起始位就沒有小白點(diǎn)。可以自動把我們的數(shù)據(jù)顯示出來。同樣的方法,我們再設(shè)置一個 IIC數(shù)據(jù)來觀察一下:
大家看看,是不是很清晰呢,綠色的表示起始位,紅色表示停止位,第一個字節(jié)是器件地址 0x90,并且是寫操作,第二個命令寫的是 0x40這個地址。然后第三個指令是讀操作,包含器件地址。第四個字節(jié)是讀到的數(shù)據(jù)是 0x6C,并且應(yīng)答位還是非應(yīng)答位一目了然。其他協(xié)議大家自己抓一下看看吧。
七、使用 Saleae分析電視遙控器協(xié)議
用我們的探針夾子,把 Gnd連接到板子的 Gnd引腳上,通道 1接到紅外接收管 HS0038的接收引腳上。設(shè)置好下降沿觸發(fā),然后點(diǎn) Start,再按下遙控器的一個按鍵,抓到一個波形如下:
紅外遙控器的協(xié)議不是標(biāo)準(zhǔn)協(xié)議,而且一個廠家的遙控器,可能協(xié)議也不一樣,所以這個協(xié)議需要我們自己來分析,對于 NEC協(xié)議來說,是現(xiàn)在遙控器協(xié)議中用的最多的,他的具體協(xié)議規(guī)則是:先上來 9000us左右的低電平持續(xù)時間(即 38K載波時間)和 4500us左右的高電平持續(xù)時間來作為引導(dǎo)碼。鍵碼的數(shù)字信息通過一個高低電平的持續(xù)時間來表示,大概數(shù)值是 1680us高電平+560us。
低電平表示 1,560us高電平+560us低電平表示 0。那剩下的我們可以從那個圖里讀出來了,大家可以用 T1和 T2這兩個標(biāo)尺讀一下最終的結(jié)果,我把二進(jìn)制寫出來,低位在前,高位在后: 00000000 11111111 10100010 01011101,那我們把他們整理成十六進(jìn)制分別是 0x00,0xff,0x45,0xBA,那這樣紅外解碼就完成了,這 4個字節(jié)包含的含義,前兩個字節(jié)是設(shè)備代碼,就是說,這個型號的家電遙控器全部是這個代碼,第三個字節(jié) 0x45是鍵碼,就是不同的按鍵有不同的鍵碼,第四個字節(jié)是鍵碼的反碼,大家可以自己看下對不對。
八、 Saleae邏輯分析儀使用問題和注意事項
1、關(guān)于最大 24M的采樣頻率
絕大多數(shù)情況來說,只要您的電腦速度夠快,并且沒有其他 USB設(shè)備干擾的基礎(chǔ)上,邏輯分析儀達(dá)到 24M的采樣頻率是沒有任何問題的。但是如果當(dāng)前的 USB設(shè)備正在被其他設(shè)備所使用,那么最大采樣頻率可能會低一兩個等級,比如 16M,12M等。
1)邏輯分析儀使用的是 USB2.0的標(biāo)準(zhǔn),在這種標(biāo)準(zhǔn)下,理論上最大的平均帶寬達(dá)到 24M,但是邏輯分析儀的優(yōu)先級比較低,這樣就意味著有可能“撞”到其他 USB設(shè)備的通信。
2)邏輯分析儀擁有 4個 512字節(jié)的緩沖區(qū),在這 4個緩沖區(qū)都被填滿之前, USB必須將部分?jǐn)?shù)據(jù)讀出,也就是說, 4個緩沖區(qū)不可以同時填滿,否則數(shù)據(jù)就無法進(jìn)入了,邏輯分析儀會直接報錯。
這就意味著,如果工作在 24M的情況下, USB設(shè)備不僅要給出 24M的通信速率,而且必須在 4個緩沖區(qū)被填滿之前,保證其他設(shè)備部占用 USB資源。基于這些原因,邏輯分析儀不能夠長時間一直工作在 24M的采樣頻率下,具體取決于計算機(jī)性能, USB帶寬的可用性和延遲情況,以及正在占用 USB驅(qū)動的其他設(shè)備等諸多因素。
為了讓您的計算機(jī)可以最大限度提高采樣率,盡可能保證以下條件:
1>確保沒有其他較大程序占用 CPU的時間較長
2>確保有足夠大的內(nèi)存空間,否則計算機(jī)將會沒有足夠的 RAM獲取邏輯分析儀的數(shù)據(jù)
3>盡可能直接連接計算機(jī)的 USB接口,而不是通過一個 USB集線器
4>盡可能讓其他使用 USB的設(shè)備少占用 USB的資源
5>要想讓邏輯分析儀擁有足夠的動力增大采樣頻率,盡可能不用其它 USB設(shè)備。
|
|