在今天的數(shù)字世界,嵌入式系統(tǒng)比以往任何時(shí)候都更為復(fù)雜。使用速度更快、功耗更低的設(shè)備和功能更強(qiáng)大的電路,工程師需要考慮信號完整性問題。在調(diào)試和驗(yàn)證過程中,大部分?jǐn)?shù)字電路失效可以追溯到信號完整性問題。本文將討論如何使用邏輯分析儀的特性和功能來解決這些和時(shí)序相關(guān)的問題,以快速、方便地找到設(shè)計(jì)問題的根源。
探測的考慮
在你的設(shè)計(jì)電路中布置合適的探測點(diǎn)對于后期的調(diào)試工作具有至關(guān)重要的作用。有了合適的探測點(diǎn),你可以把不同位置的信號時(shí)序問題關(guān)聯(lián)起來,查看總線的運(yùn)行情況,并分析硬件和軟件接口。因此尋找問題根源的第一步就是信號的探測。
確定好測試點(diǎn)后,下一步就是挑選探頭,探頭的特性對于測量非常重要,總電容負(fù)載偏高的探頭可以改變系統(tǒng)性能并帶來(或隱藏)時(shí)序問題。尤其在高速系統(tǒng),偏高的探頭電容負(fù)載可能導(dǎo)致被測系統(tǒng)(SUT)無法正常運(yùn)行。因此,盡可能選擇較小的總電容負(fù)載探頭。
探頭電容一般會(huì)拉長信號邊沿時(shí)間,如圖1所示。該邊沿的轉(zhuǎn)換速度變慢,時(shí)間大約為tΔ,而較慢的邊沿經(jīng)過邏輯電路后,將在被測系統(tǒng)中引入時(shí)序問題。隨著時(shí)鐘頻率增加,這個(gè)問題變得更加嚴(yán)重。
圖1 邏輯分析儀探頭的阻抗影響信號的上升時(shí)間和時(shí)序測量
邏輯分析儀的性能考慮
邏輯分析儀的性能對于系統(tǒng)調(diào)試,尋找問題源起了重要作用。而要正確選擇邏輯分析儀來滿足測試需求,首先需要了解邏輯分析儀的基本功能。邏輯分析儀的最基本的功能是利用采集的數(shù)據(jù)繪出時(shí)序分析圖。如果被測系統(tǒng)工作正常,并且邏輯分析儀的采集設(shè)置正確,邏輯分析儀的時(shí)序顯示應(yīng)該與設(shè)計(jì)仿真或規(guī)格書上的數(shù)據(jù)完全相同,但在實(shí)際情況下,這還與邏輯分析儀的分辨率(即采樣率)密切相關(guān)。邏輯分析儀的采樣時(shí)鐘與輸入信號是異步的,采樣率越高,就越可能準(zhǔn)確檢測到信號的異常事件(如毛刺)。為了分析更快的信號,邏輯分析儀通常提供更高的分辨率采集模式,在觸發(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ò)。毛刺對系統(tǒng)運(yùn)行的影響是無法預(yù)測的。毛刺可以是多種設(shè)備故障(包括競爭情況、端接錯(cuò)誤、驅(qū)動(dòng)器錯(cuò)誤、時(shí)序違規(guī)和串?dāng)_)的最初跡象。
毛刺定位
由于毛刺造成的問題通常是間歇性的,因此解決起來可能十分困難。一種可靠的方法是,將傳統(tǒng)的“自上而下”故障排除法與測試儀器的特定優(yōu)勢相結(jié)合。先對設(shè)備運(yùn)行情況有宏觀的了解,然后聚焦于存在的問題。在不超過4個(gè)通道同時(shí)進(jìn)行定位毛刺時(shí),數(shù)字熒光示波器(DPO)是強(qiáng)大和簡單易用的毛刺定位工具。DPO有較高的分析信號行為的能力,它能實(shí)時(shí)存儲(chǔ)和分析復(fù)雜信號,同時(shí)能將信號信息以三維方式顯示(即幅度、時(shí)間和信號出現(xiàn)的概率),是業(yè)界捕獲難以捉摸的故障信號和間歇性事件非常有效的工具。
但如果需要同時(shí)進(jìn)行4個(gè)以上通道,甚至上百個(gè)通道的毛刺定位,就需要用到邏輯分析儀。邏輯分析儀會(huì)檢查每一個(gè)信號以尋找毛刺?偩時(shí)序圖中的紅色標(biāo)記代表毛刺出現(xiàn)的位置,以便進(jìn)一步分析。然后,再使用示波器揭示毛刺的實(shí)際形狀,以進(jìn)一步分析該問題。TLA系列邏輯分析儀提供了iView測量功能,可以將邏輯分析儀和示波器聯(lián)合到一個(gè)系統(tǒng),逐步“放大”問題,使用非常方便。下面將通過四個(gè)步驟來確定兩種不同的毛刺及其可能的來源。
步驟I:檢查總線
先重點(diǎn)觀察系統(tǒng)運(yùn)行情況,并從整體上尋找故障。邏輯分析儀的總線時(shí)序分析將標(biāo)記出現(xiàn)的所有毛刺。需要尋找間歇性事件(如毛刺)時(shí),最好使用具有較長記錄長度的邏輯分析儀。邏輯分析儀在任何一個(gè)信號線中監(jiān)測到毛刺,則會(huì)標(biāo)記總線和時(shí)間位置。在圖2中,頂部的波形顯示了代表邏輯分析儀的深存儲(chǔ)定時(shí)取樣速率的取樣點(diǎn)序列。下面兩個(gè)信號是總線波形——4位控制總線和8位地址總線。出現(xiàn)在這兩個(gè)總線波形中的紅色毛刺標(biāo)記說明在這些位置上的取樣點(diǎn)之間有多次跳變。
圖2 取樣點(diǎn)序列,控制總線和地址總線顯示紅色毛刺標(biāo)記
步驟II:檢查信號線
現(xiàn)在來查找問題的來源。使用邏輯分析儀的時(shí)序信號波形顯示總線的各個(gè)信號線,并標(biāo)記毛刺發(fā)生的位置。在圖3中,邏輯分析儀已將控制總線擴(kuò)展為四個(gè)單獨(dú)的信號,并將地址總線擴(kuò)展為八個(gè)單獨(dú)的信號。圖3中總線波形上的紅色毛刺標(biāo)記,現(xiàn)在顯示為信號線Control(3)和Control(0)上的毛刺標(biāo)記,以及信號線Address(0)上的兩處毛刺。
圖3 擴(kuò)展的4位控制總線和8位地址總線。在單個(gè)信號上顯示紅色毛刺標(biāo)記