使用邏輯分析儀調(diào)試時序問題
在今天的數(shù)字世界,嵌入式系統(tǒng)比以往任何時候都更為復雜。使用速度更快、功耗更低的設備和功能更強大的電路,工程師需要考慮信號完整性問題。在調(diào)試和驗證過程中,大部分數(shù)字電路失效可以追溯到信號完整性問題。本文將討論如何使用邏輯分析儀的特性和功能來解決這些和時序相關的問題,以快速、方便地找到設計問題的根源。
探測的考慮
在你的設計電路中布置合適的探測點對于后期的調(diào)試工作具有至關重要的作用。有了合適的探測點,你可以把不同位置的信號時序問題關聯(lián)起來,查看總線的運行情況,并分析硬件和軟件接口。因此尋找問題根源的第一步就是信號的探測。
確定好測試點后,下一步就是挑選探頭,探頭的特性對于測量非常重要,總電容負載偏高的探頭可以改變系統(tǒng)性能并帶來(或隱藏)時序問題。尤其在高速系統(tǒng),偏高的探頭電容負載可能導致被測系統(tǒng)(SUT)無法正常運行。因此,盡可能選擇較小的總電容負載探頭。
探頭電容一般會拉長信號邊沿時間,如圖1所示。該邊沿的轉(zhuǎn)換速度變慢,時間大約為tΔ,而較慢的邊沿經(jīng)過邏輯電路后,將在被測系統(tǒng)中引入時序問題。隨著時鐘頻率增加,這個問題變得更加嚴重。
圖1 邏輯分析儀探頭的阻抗影響信號的上升時間和時序測量
邏輯分析儀的性能考慮
邏輯分析儀的性能對于系統(tǒng)調(diào)試,尋找問題源起了重要作用。而要正確選擇邏輯分析儀來滿足測試需求,首先需要了解邏輯分析儀的基本功能。邏輯分析儀的最基本的功能是利用采集的數(shù)據(jù)繪出時序分析圖。如果被測系統(tǒng)工作正常,并且邏輯分析儀的采集設置正確,邏輯分析儀的時序顯示應該與設計仿真或規(guī)格書上的數(shù)據(jù)完全相同,但在實際情況下,這還與邏輯分析儀的分辨率(即采樣率)密切相關。邏輯分析儀的采樣時鐘與輸入信號是異步的,采樣率越高,就越可能準確檢測到信號的異常事件(如毛刺)。為了分析更快的信號,邏輯分析儀通常提供更高的分辨率采集模式,在觸發(fā)點周圍采集更多的數(shù)據(jù)。泰克TLA系列邏輯分析儀的MagniVu高分辨率采集模式能夠在所有通道提供高達50GHz的采樣。其他功能還包括可調(diào)節(jié)的MagniVu采樣率、可調(diào)節(jié)的觸發(fā)位置、一個獨立于主觸發(fā)器的MagniVu觸發(fā)。所有這些功能為捕獲各種各樣的時序問題提供了更多的靈活性。
什么是毛刺
如果設備出現(xiàn)故障,要進行系統(tǒng)調(diào)試,一種方法是先查找毛刺。毛刺是非常窄的脈沖,毛刺在系統(tǒng)中可能導致、也可能不導致邏輯出錯。毛刺對系統(tǒng)運行的影響是無法預測的。毛刺可以是多種設備故障(包括競爭情況、端接錯誤、驅(qū)動器錯誤、時序違規(guī)和串擾)的最初跡象。
毛刺定位
由于毛刺造成的問題通常是間歇性的,因此解決起來可能十分困難。一種可靠的方法是,將傳統(tǒng)的“自上而下”故障排除法與測試儀器的特定優(yōu)勢相結(jié)合。先對設備運行情況有宏觀的了解,然后聚焦于存在的問題。在不超過4個通道同時進行定位毛刺時,數(shù)字熒光示波器(DPO)是強大和簡單易用的毛刺定位工具。DPO有較高的分析信號行為的能力,它能實時存儲和分析復雜信號,同時能將信號信息以三維方式顯示(即幅度、時間和信號出現(xiàn)的概率),是業(yè)界捕獲難以捉摸的故障信號和間歇性事件非常有效的工具。
但如果需要同時進行4個以上通道,甚至上百個通道的毛刺定位,就需要用到邏輯分析儀。邏輯分析儀會檢查每一個信號以尋找毛刺?偩時序圖中的紅色標記代表毛刺出現(xiàn)的位置,以便進一步分析。然后,再使用示波器揭示毛刺的實際形狀,以進一步分析該問題。TLA系列邏輯分析儀提供了iView測量功能,可以將邏輯分析儀和示波器聯(lián)合到一個系統(tǒng),逐步“放大”問題,使用非常方便。下面將通過四個步驟來確定兩種不同的毛刺及其可能的來源。
步驟I:檢查總線
先重點觀察系統(tǒng)運行情況,并從整體上尋找故障。邏輯分析儀的總線時序分析將標記出現(xiàn)的所有毛刺。需要尋找間歇性事件(如毛刺)時,最好使用具有較長記錄長度的邏輯分析儀。邏輯分析儀在任何一個信號線中監(jiān)測到毛刺,則會標記總線和時間位置。在圖2中,頂部的波形顯示了代表邏輯分析儀的深存儲定時取樣速率的取樣點序列。下面兩個信號是總線波形——4位控制總線和8位地址總線。出現(xiàn)在這兩個總線波形中的紅色毛刺標記說明在這些位置上的取樣點之間有多次跳變。
圖2 取樣點序列,控制總線和地址總線顯示紅色毛刺標記
步驟II:檢查信號線
現(xiàn)在來查找問題的來源。使用邏輯分析儀的時序信號波形顯示總線的各個信號線,并標記毛刺發(fā)生的位置。在圖3中,邏輯分析儀已將控制總線擴展為四個單獨的信號,并將地址總線擴展為八個單獨的信號。圖3中總線波形上的紅色毛刺標記,現(xiàn)在顯示為信號線Control(3)和Control(0)上的毛刺標記,以及信號線Address(0)上的兩處毛刺。
圖3 擴展的4位控制總線和8位地址總線。在單個信號上顯示紅色毛刺標記
步驟III:了解故障細節(jié)
接下來使用高分辨率時序圖詳細檢查故障。了解事件點與其他事件點之間的關系。泰克TLA系列邏輯分析儀的MagniVu功能能在最大16Kb的存儲深度下為每個通道提供高達50GHz的數(shù)字采樣率,并可與普通采樣率深記錄長度的時序分析功能同時運行。這樣,一個邏輯分析儀無須更換探頭,同時實現(xiàn)了深度時序邏輯分析儀和高分辨率時序邏輯分析儀兩個功能。在本例中,似乎有兩個不同的問題導致了毛刺的發(fā)生。首先,重點觀察Control(3)信號線,并打開Control(3)信號的MagniVu波形。圖4表明,由于MagniVu波形具有較高的分辨率,因此可揭示毛刺只出現(xiàn)在一個數(shù)字脈沖的末端而非前端或中間。這是找出故障原因的一個很重要的線索。進行到步驟IV時,將發(fā)現(xiàn)可能的原因。
圖4 毛刺Control(3)的MagniVu波形顯示
現(xiàn)在重點檢查其余兩個標有毛刺的信號線:Control(0)和Address(0)。在圖5上,借助MagniVu 20ps的高分辨率成功捕獲這兩個信號線上的毛刺。請注意,在這兩個信號線上毛刺和脈沖是同時發(fā)生的。這通常表明兩個信號之間發(fā)生了串擾,但是,需要從另一個角度仔細觀察以進行確認。進行到步驟IV時,可以發(fā)現(xiàn)更多信息。
圖5 Control(0)和Address(0)信號線,其中MagniVu顯示了由于串擾造成的毛刺
步驟IV:觀察模擬波形
為了了解毛刺的真實形狀,需要同時使用示波器和邏輯分析儀以觀察信號的數(shù)字和模擬特性。TLA系列邏輯分析儀對此做了優(yōu)化,提供可選的模擬信號復用器,實現(xiàn)了從邏輯分析儀探頭獲取的信號同時驅(qū)動邏輯分析儀和示波器。這樣就不需要使用示波器的探頭,從而減少了探頭負載對信號的影響。
一旦示波器和邏輯分析儀連在一起同時采集信號,對兩臺儀器進行同步是最為關鍵的。泰克的邏輯分析儀利用iView功能,幫助邏輯分析儀在準確的時間觸發(fā)示波器以捕獲毛刺,還可以在顯示屏上同時顯示時間相關的模擬波形和數(shù)字波形。圖6上展示了信號線Control(3)上毛刺的模擬信號。
圖6 iView示波器顯示,顯示Control(3)信號的模擬形式
很明顯,脈沖的上升沿和下降沿都出現(xiàn)了失真情況。上升沿的下垂程度不足以觸發(fā)一個邏輯跳變,因此未顯示為毛刺。然而,下降邊沿的回彈高度足以超過邏輯閥值,有時會引起邏輯跳變。盡管總線時鐘的頻率不是很高,但電路使用的LVPECL邏輯系列仍可引入快速邊沿。脈沖邊沿的反彈表明電路板終端存在問題,該問題由于邏輯電路對于快速邊沿的靈敏度較高而被放大。
對前面的Control(0)和Address(0)中的串擾假設進行測試,圖7表明,對于其中一個信號的每個前沿,在另一個信號上都有一個相應的正電壓脈沖。這表明Control(0)和Address(0)之間確實發(fā)生了串擾。在相應結(jié)構接口中,相鄰的運行信號或引腳處很容易發(fā)生串擾。與低頻信號相比,高頻信號和時鐘邊沿更易受串擾影響。這意味著在較高的頻率下,過去適用于較低頻率的設計方案也可能導致故障。這兩個示例中的總線帶寬較窄,邏輯分析儀可對上百個信號的總線使用邏輯分析儀毛刺觸發(fā)功能,檢查每個信號線以尋找毛刺。如果它標記了毛刺,你可以利用前面討論的這些功能來確定毛刺的來源。
圖7 使用iView測量功能顯示的Control(0)與Address(0)之間的串擾
小結(jié)
時序問題對于許多嵌入式設計來說是相當常見的,故障排除可能是一個耗時的任務。使用正確的邏輯分析儀將簡化和加快這一進程。對比指標時,許多邏輯分析儀似乎有相同的性能,但為了確保邏輯分析儀能夠正確地采集信號,快速地找到問題,你不能只看指標,還需要考慮到邏輯分析儀的結(jié)構和功能。