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