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