初探邏輯分析儀

語言: CN / TW / HK

0x01 前言

前段時間採購了個邏輯分析儀,之前對數字訊號、芯⽚間通訊等接觸也不多,近幾日惡補了一下,現以文字記錄下來以便後續查閱。

0x02 什麼是邏輯分析儀

邏輯分析儀簡介

邏輯分析儀是利用時鐘從測試裝置上採集和顯示數字訊號的儀器,最主要作用在於時序判定。由於邏輯分析儀不像示波器那樣有許多電壓等級,通常只顯示兩個電壓(邏輯1和0),因此設定了參考電壓後,邏輯分析儀將被測訊號通過比較器進行判定,高於參考電壓者為High,低於參考電壓者為Low,在High與 Low之間形成數字波形。

邏輯分析儀是一種採集和顯示數位電路訊號的儀器。邏輯分析儀的最主要作用在於時序判定。邏輯分析儀不像示波器那樣有許多電壓等級,只顯示兩個電壓,邏輯1和邏輯0,以及不確定x。

設定了兩個參考電壓後,邏輯分析儀將被測訊號通過比較器進行判定,高於第一個較高的參考電壓者為邏輯1,低於第二個較低的參考電壓者為邏輯0,低於第一個參考電壓而高於第二個參考電壓的為不確定x。

邏輯分析儀的工作原理

邏輯分析儀的測量原理是採用一定的頻率,對輸入訊號與設定的門限電壓進行比較,當輸入電平大於門檻電壓時為邏輯1,當輸入電平低於門檻電壓時為邏輯0。

邏輯分析儀的工作過程就是資料採集、儲存、觸發、顯示的過程,由於它採用數字儲存技術,可將資料採集工作和顯示工作分開進行,也可同時進行,必要時,對儲存的資料可以反覆進行顯示,以利於對問題的分析和研究。

將被測系統接入邏輯分析儀,使用邏輯分析儀的探頭(邏輯分析儀的探頭是將若干個探極集中起來,其觸針細小,以便於探測高密度積體電路)監測被測系統的資料流,形成並行資料送至比較器,輸入訊號在比較器中與外部設定的門限電平進行比較,大於門限電平值的訊號在相應的線上輸出高電平,反之輸出低電平時對輸入波形進行整形。

經比較整形後的訊號送至取樣器,在時鐘脈衝控制下進行取樣。被取樣的訊號按順序儲存在儲存器中。取樣資訊以“先進先出”的原則組織在儲存器中,得到顯示命令後,按照先後順序逐一讀出資訊,按設定的顯示方式進行被測量的顯示。

邏輯分析儀的優勢

在電子測試領域,示波器是最早的測試裝置,起源於雷達掃描原理,對訊號波形的採集和再現,源於傳統的模擬訊號和類比電路的測試基礎。

1、測量數字訊號時,示波器通常可以用來觀察有沒有訊號或者是訊號的質量如何,邏輯分析儀主要用來分析訊號高低電平時序時間,以及通訊的是什麼資料。

2、邏輯分析儀有足夠多的輸入通道,示波器常見有單通道、雙通道和四通道。而邏輯分析儀常見有8通道、16通道、32通道或者更多,測量多個訊號執行狀態,尤其是並行資料,通道最夠多才能把所有的通道測量分析出來。

3、具有延遲能力,可以儲存更長時間的資料。示波器是實時顯示的,實際上他只能顯示其中一小段資料,可以實現快速重新整理,帶來的缺點就是儲存深度很低。而邏輯分析儀有較大的儲存深度,可以儲存大量的資料,而後一點點進行分析。

4、具有多種靈活的觸發功能,可以實現對欲獲取的資料進行挑選,對系統執行中的程式段進行除錯。示波器通常只有上升沿、下降沿和電壓設定的觸發,而邏輯分析儀不僅僅有上升沿和下降沿觸發,還可以設定並行資料等更復雜的觸發。

5、具備強大的資料解析能力。對於一些複雜的協議,示波器顯示的是波形,而邏輯分析儀可以直接把十六進位制資料解析出來。可以方便的顯示出解析的資料,並且解析出來的資料可以顯示成為ASCII碼、二進位制、十進位制、十六進位制等等,方便直觀。

在模擬時代,示波器有著不可替代的優勢,但是步入數字世界,邏輯分析儀擁有更強大的功能,可以稱之為分析數字通訊的利器。

邏輯分析儀的常見使用場景

1、觀察波形

觀察測量波形中是否存在毛刺、干擾,頻率是否正確等;

2、時序測量

對被測量訊號進行時序分析,排除操作衝突、時序協調等問題;

3、輔助分析

使用邏輯分析儀完善的分析功能對匯流排訊號或高階協議進行分析,加快開發進度;

4、排除錯誤

使用邏輯分析儀強大的觸發功能來進行錯誤捕獲,排除隱藏在系統的錯誤,增加產品的可靠性。

0x03 邏輯分析儀的使用

下面就以夢源邏輯分析儀為例簡述邏輯分析儀的使用步驟:

使用邏輯分析儀與數字訊號相連、捕獲數字訊號並進行分析,一般有以下4個步驟:

1.用邏輯探頭與被測系統(DUT)相連

2.設定時鐘模式和觸發條件

3.捕獲被測訊號

4.分析與顯示捕獲的資料

1.開啟夢源DSView軟體

選擇DSLogic Plus裝置。

2、硬體通道連線

把邏輯分析儀的GND連線URAT串列埠連線GND,以保證訊號的完整性。然後把邏輯分析儀的通道接到待測引腳上(RX/TX )。

3、採集選項:

執行模式

執行模式:DSView中邏輯分析儀抓取訊號的執行模式有stream和buffer模式。stream模式下不同通道數有不同的取樣率,而buffer模式下采樣率是固定的。

由於我們只使用3個通道,選擇stream模式即可。

電壓閾值

DSView的電壓閾值可以設定的範圍是0~5V之間。通常的3.3V數字系統,設定閾值電壓為1.0V就可以,如果設定太低或者太高會導致訊號不準確

選擇通道

該邏輯分析儀有16通道,為了我們更好的觀察波形,只使用3個通道即可。

3、採集時長、取樣率:

關於取樣率和取樣時長,我們需要明白的一點是他們都和儲存深度有關,儲存深度=取樣率*視窗顯示時長。

取樣率速率設定為1MHz就行,取樣時間5s。

4、觸發設定

由於邏輯分析儀有深度限制,。如果沒有采用任何觸發設定的話,一直到存滿我們設定的儲存深度後,抓取就停止。在實際訊號採集過程中,開始抓取的一段訊號可能是無用訊號,但是無用訊號還佔據了我們的儲存空間。在這種情況下,我們就可以通過設定觸發來提高儲存深度的利用率。

簡單觸發只需要通過設定某個通道的觸發條件就可以實現訊號的抓取。所示我們設定觸發條件為當通道1產生雙邊沿訊號,當通道1產生上升沿或者下降沿的時候就會觸發訊號採集。

比如我們如果想抓取UART串列埠訊號,而串列埠訊號平時沒有資料的時候是高電平,因此我們可以設定一個下降沿觸發。從點選開始抓取,邏輯分析儀不會把抓到的訊號儲存到我們的儲存器中,而是會等待觸發訊號採集條件,才開始進行真正的訊號採集,並且把採集到的訊號儲存到儲存器中

我們使用串列埠除錯助手傳送tidesec資料測試進行測試,串列埠選擇UART連線的COM口,波特率選擇9600

點擊發送後觸發訊號採集條件,開始訊號採集,並且把採集到的訊號儲存到儲存器中

5、抓取波形

邏輯分析儀和示波器不同,示波器是實時顯示的,而邏輯分析儀需要點選開始,開始抓取波形,一直到儲存滿了我們所設定的儲存深度結束。

6、設定協議解析(解碼器)

如果你抓取的波形是標準協議,比如UART、I2C等協議,邏輯分析儀會配有專門的解碼器。

設定解碼器,可以直接把資料解析出來,以十六進位制、二進位制、ASCII碼等各種形式顯示出來。

解碼成功,顯示的字元我們測試串列埠除錯助手傳送的測試資料tidesec。

0x04參考連結
https://zh.m.wikipedia.org/zh/%E9%80%BB%E8%BE%91%E5%88%86%E6%9E%90%E4%BB%AA
https://www.pianshen.com/article/1040719934/
https://www.eefocus.com/test-measurement/423995

Tide安全團隊正式成立於2019年1月,是新潮資訊旗下以網際網路攻防技術研究為目標的安全團隊,團隊致力於分享高質量原創文章、開源安全工具、交流安全技術,研究方向覆蓋網路攻防、系統安全、Web安全、移動終端、安全開發、物聯網/工控安全/AI安全等多個領域。

團隊作為“省級等保關鍵技術實驗室”先後與哈工大、齊魯銀行、聊城大學、交通學院等多個高校名企建立聯合技術實驗室,近三年來在網路安全技術方面開展研發專案60餘項,獲得各類自主智慧財產權30餘項,省市級科技專案立項20餘項,研究成果應用於產品核心技術研究、國家重點科技專案攻關、專業安全服務等。對安全感興趣的小夥伴可以加入或關注我們。