用邏輯分析儀觀察數(shù)字技術測試的方法
2015-08-09
隨著數(shù)字技術的日新月異,在數(shù)字系統(tǒng),特別是在計算機系統(tǒng)的研制、調試和故障診斷過程中,由模擬系統(tǒng)的時域和頻域分析發(fā)展起來的傳統(tǒng)測試方法與測試儀器往往難以奏效,于是新的數(shù)據域測試的理論、方法和相應的測試儀器不斷涌現(xiàn)。邏輯分析儀作為數(shù)據域測試儀器中最有用、最有代表性的一種儀器,性能與功能日益完善,已成為調試與研制復雜數(shù)字系統(tǒng),尤其是汁算機系統(tǒng)的強有力工具。
在邏輯分析儀中,利用觸發(fā)字或觸發(fā)事件的序列來控制對數(shù)據的存儲和顯示,以便住數(shù)據流中挑選一個恰當?shù)挠^察窗口。觸發(fā)能力是邏輯分析儀最重要的指標,特別是在用邏輯狀態(tài)分析儀跟蹤復雜程序時,強的觸發(fā)功能以及合理的觸發(fā)條件設置可以使儀器在龐大而復雜的程序流中迅速找到要跟蹤的目標,分析發(fā)生故障、錯誤的部位及性質,這將大大縮短軟件和硬件的開發(fā)、調試周期,產生良好的經濟效益。
2 邏輯狀態(tài)分析儀的觸發(fā)選擇
2.1 觸發(fā)字的選擇
用邏輯分析儀觀察大量數(shù)據的方法是設置特定的觀察起點、終點或與被分析數(shù)據有一定關系的某一個參考點,這個特定的點在數(shù)據流中一旦出現(xiàn),便形成一次觸發(fā)事件,相應地把數(shù)據存入存儲器,這個過程稱 為觸發(fā)。這個特定的參考點并不是一個模擬信號參數(shù),而是一個數(shù)據字,也可能是字或事件的序列,總之是一個多通道的邏輯組合,這個數(shù)據字稱為觸發(fā)字。由字或事件序列構成的觸發(fā)稱為序列觸發(fā)。簡言之,觸發(fā)字是一個用于選擇數(shù)據窗口的數(shù)據字。
利用觸發(fā)字進行觸發(fā),是邏輯分析儀最簡單、最基本的觸發(fā)方式,也是復雜觸發(fā)方式中的重要內容。由于邏輯狀態(tài)分析儀常用來分析軟件,因此往往選計算機地址線或數(shù)據線上特定的數(shù)據字作為觸發(fā)字。有時也利用一些控制信號與地址或數(shù)據共同組成觸發(fā)字。例如,在觀測某程序時,把M,MREQ和RD均有效與某存儲器地址組合作觸發(fā)字,說明是在取指周期中對該地址中存的指令機器碼取指時,觸發(fā)字有效。與上述情況不同,在邏輯定時分析儀中常用控制信號、I/O信號、外部設備口地址或與外設有關的信號及其組合作為觸發(fā)字,不一定用地址、數(shù)據等完整的數(shù)據字來觸發(fā)。
觸發(fā)字的選擇是確定顯示窗口位置的基礎。如果選擇不當,顯示內容可能不說明問題甚至沒有顯示。恰當?shù)挠|發(fā)字可以顯示欲觀測的內容或很快逼近待分析的故障點。在有故障的計算機中,由于程序不能正常運行,觸發(fā)字的設置有時會感到困難。為捕捉到程序在何處運行,有時把觸發(fā)字的各位均設置為任意項,用連續(xù)跟蹤方式或從多個單次跟蹤的顯示結果中尋找感興趣的內容,還可以從這種內容中挑選觸發(fā)字進一步分析。
在觸發(fā)字設定以后,必須保證邏輯分析儀能采集到他才能觸發(fā)。但是被跟蹤的程序往往是非重復性的,因此通常應在邏輯分析儀跟蹤后再啟動被跟蹤的程序。在被測系統(tǒng)中按一下復位鍵或重新上電后再啟動,都能保證在程序第一次經過觸發(fā)字時立即被識別。如果先啟動程序,后令邏輯分析儀跟蹤,則可能觸發(fā)字所在程序己經運行過了,邏輯分析儀就會沒有顯示,智能邏輯分析儀大多還會提示“未找到觸發(fā)字”。
2.2 觸發(fā)位置的選擇和延遲觸發(fā)
邏輯分析儀觸發(fā)位置的選擇,有觸發(fā)開始跟蹤、中心觸發(fā)和觸發(fā)終止跟蹤。在沒有延遲的情況下,他們使觸發(fā)點分別處于數(shù)據窗口的開始、中心和結尾部分,具體的選擇總是保證欲觀測的數(shù)據處于顯示窗口之內。例如,要觀測觸發(fā)以后的數(shù)據,則可在不加延遲的情況下使用觸發(fā)開始跟蹤。但是即使在這種情況下,有時還是希望觀測少量觸發(fā)以前的數(shù)據,所以不少內存容量較大的邏輯分析儀在觸發(fā)開始跟蹤的情況下,也要存儲、顯示觸發(fā)前的一些數(shù)據。當然,這時大量的數(shù)據是處在觸發(fā)點后面的。與此類似,在觸發(fā)終止跟蹤的情況下,即使不加延遲,有些邏輯分析儀也要存儲和顯示觸發(fā)點后面的一些數(shù)據。
延遲觸發(fā)分為時鐘延遲和事件延遲兩種。
時鐘延遲是在觸發(fā)字被辨認后,延遲所設定的時鐘數(shù)后再觸發(fā)。他最常用于下列兩種情況:
(1) 被跟蹤的程序較長而邏輯分析儀內存容量有限,則可在不改變觸發(fā)字的情況下通過改變延遲量進行所謂“多趟”跟蹤,分段跟蹤程序。
(2) 用來調整觸發(fā)字在數(shù)據窗口中的位置,特別是對沒有中心觸發(fā)和觸發(fā)開始跟蹤的邏輯分析儀,用延遲觸發(fā)與觸發(fā)終止跟蹤配合,可以產生這兩種功能。
事件延遲的一個重要用途就是分析循環(huán)嵌套一類的程序。特別是軟件延時程序,其循環(huán)量非常大,在用邏輯分析儀實時跟蹤程序的執(zhí)行過程時,往往沒有必要重復跟蹤這些循環(huán),這時可用事件延遲把他跳過去。
2.3 多種觸發(fā)功能的應用
除了簡單地利用觸發(fā)字進行觸發(fā)以外,現(xiàn)代邏輯分析儀還具有豐富的其他觸發(fā)功能。利用這些功能及其組合,能大大加強邏輯分析儀從數(shù)據流中挑選數(shù)據窗口的能力。
2.3.1 “與”、“或”、“非”觸發(fā)
利用信號或搜索區(qū)間和觸發(fā)條件相“與”的關系,能對觸發(fā)條件進行約束,使觸發(fā)點更準確地指向欲觀測的數(shù)據窗口。實際上一個觸發(fā)字包含了多個信號,也可以看成這些信號是相“與”的關系。例如,利用某存儲器地址作觸發(fā)字,但只想在該地址寫入內容時觸發(fā),則可把控制信號也作為觸發(fā)字的一部分,在觸發(fā)字中使存儲器請求和寫信號均有效。觸發(fā)限定也是一種常用的相“與”關系,只有滿足了限定條件,所設定的觸發(fā)字或觸發(fā)事件序列才能進行觸發(fā)。在一些智能邏輯分析儀中還可以設置觸發(fā)窗口,規(guī)定只在某確定的起點和終點之間尋找觸發(fā)條件,這也是一種相“與”的關系。當程序有可能從幾種不同的路徑進入觸發(fā)點時,利用相“與”的關系往往可以選擇一條惟一的路徑,增加對觸發(fā)點的選擇性。
邏輯分析儀在采用“或”觸發(fā)功能時,設置多個觸發(fā)字或觸發(fā)條件,只要其中一個滿足即產生觸發(fā)。當所跟蹤的程序有幾種可能的流向時,如果對幾種可能的情況都想觀察,則可以把每種人口處的地址設置成一個觸發(fā)字,利用“或”觸發(fā)功能來跟蹤。這樣不管程序實際上流向什么方向都可以及時捕獲有關數(shù)據。
如果在一定條件下檢測不到某個數(shù)據就產生觸發(fā)并進入跟蹤狀態(tài),這種功能叫做“非”觸發(fā)功能。在這種觸發(fā)方式下,通常要設置兩個觸發(fā)字,前一個觸發(fā)字用來確定 后一個觸發(fā)字在數(shù)據流中的位置。只有當兩者不相同時,邏輯分析儀才開始觸發(fā)跟蹤,否則將不進行跟蹤。“非”觸發(fā)對于診斷隨機性故障更為有效。
“與”、“或”、“非”觸發(fā)功能可以混合使用,也可以與其他觸發(fā)功能相互配合、共同應用,這給觸發(fā)點的選擇增加了很大靈活性。
2.3.2 序列觸發(fā)
如果說單獨用一個觸發(fā)字或用外加觸發(fā)信號進行觸發(fā)是最簡單的觸發(fā)方式,那么序列觸發(fā)就是能適應多種觸發(fā)要求的復雜觸發(fā)方式。通??梢园岩粋€觸發(fā)字或一種經過“與”、“或”、“非”操作的觸發(fā)條件作為一級觸發(fā)事件。各觸發(fā)事件可以直接相連構成事件序列,也可以在各觸發(fā)事件問加入一定的時鐘延遲或事件延遲,構成帶延遲的事件序列。用這種事件序列進行觸發(fā),能跟蹤各種復雜的程序,對分析程序的分支、跳轉、嵌套和循環(huán)都帶來很多方便。
序列觸發(fā)可以和計數(shù)、計時功能配合應用,完成對事件的計數(shù)統(tǒng)計和對多種響應時間、程序執(zhí)行時間等的計時功能。
序列觸發(fā)還常和復位功能配合,以便在某種情況下對觸發(fā)條件的搜索復位,并重新開始辨認觸發(fā)事件序列。復位條件可以是執(zhí)行到或未執(zhí)行到某一程序地址,也可以是時間或計數(shù)值超過了某給定數(shù)值。序列觸發(fā)與復位功能配合,可進一步增加對觸發(fā)點的選擇性。
圖1為用序列觸發(fā)分析復雜分支程序的例子。本例所示是要求只有在一個通路(即通道2)里順序滿足a,b,c,d條件之后,邏輯分析儀才在e點進行觸發(fā)跟蹤程序運行情況。在復雜分支程序中,多次執(zhí)行不同通路有時也能滿足序列觸發(fā)要求。例如在圖1中,第一次沿著通路1執(zhí)行,滿足了觸發(fā)條件a和b,第二次沿著通路3執(zhí)行,又滿足了觸發(fā)條件c,c,e。盡管兩次執(zhí)行結果也是按順序滿足a,b,c,d,e五個條件,但若此時進行跟蹤便會產生錯誤的結果。為避免出現(xiàn)這類問題,可以在通路出口處f點設置序列返回。如果在一個通路中沒有按順序找到所有觸發(fā)字,只要出現(xiàn)返回點f,就返回到起始狀態(tài)重新開始搜索觸發(fā)字,以前已滿足的觸發(fā)字無效。其工作過程如圖2所示。對于復雜程序的分析,序列觸發(fā)是必不可少的功能。
3 邏輯定時分析儀的觸發(fā)選擇
邏輯定時分析儀的觸發(fā)與邏輯狀態(tài)分析儀有很多相似之處。例如,邏輯定時分析儀也常用觸發(fā)字觸發(fā),可以對觸發(fā)字進行限定或對觸發(fā)條件進行“與”、“或”、“非”運算,亦可使用外觸發(fā)。定時儀同樣可以使用序列觸發(fā),在觸發(fā)字之后或者序列事件之間也允許使用時鐘延遲或事件延遲。因為觸發(fā)只影響窗口在數(shù)據流中的位置,并不影響觸發(fā)以后定時儀按等時間間隔采集和存儲數(shù)據,所以和邏輯狀態(tài)分析儀一樣,他的觸發(fā)條件是很靈活的。甚至在延遲觸發(fā)中允許選用不等間隔出現(xiàn)的外時鐘做延遲時鐘,一旦觸發(fā)后再用等時間間隔的內時鐘進行采樣,依然可以保證采樣次數(shù)與時間成比例。
邏輯定時分析儀和邏輯狀態(tài)分析儀在觸發(fā)方面的不同,主要表現(xiàn)在兩個方面,這就是毛刺觸發(fā)和觸發(fā)濾波。
3.1 毛刺觸發(fā)
邏輯定時分析儀經常用來分析硬件,而毛刺往往是造成硬件故障的重要原因。由于毛刺的出現(xiàn)時間往往難以預料,利用毛刺觸發(fā)功能捕獲毛刺出現(xiàn)前后的情況,就成為邏輯定時分析儀的重要功能。
毛刺觸發(fā)可以單獨使用,也可以與其他觸發(fā)條件共同使用。設置毛刺觸發(fā)通常是按通道進行,即指定的若干個通道中任何一個出現(xiàn)了毛刺都進行觸發(fā)。在與其他觸發(fā)條件共同使用時,存在毛刺與其他條件之間往往是相“與”的關系。
3.2 觸發(fā)濾波
觸發(fā)濾波時間又稱為異步持續(xù)時間。邏輯定時分析儀由于工作在異步狀態(tài),不可能對數(shù)據要求建立時間和保持時間。但是,有時由于一些瞬態(tài)現(xiàn)象、器件延時的微小差別,或者信號中存在毛刺等原因,均可能導致瞬間滿足觸發(fā)條件,產生誤觸發(fā)。這時,對應惟一的觸發(fā)條件,幾次觸發(fā)獲取的數(shù)據有可能不同。
利用觸發(fā)濾波可以調節(jié)異步持續(xù)時間的大小,使觸發(fā)條件必須達到規(guī)定的時間才能產生觸發(fā),這樣就可以避免某些誤觸發(fā)。對于工作速度低、時延大的系統(tǒng),異步持續(xù)時間可選得大一些。
當對應惟一的觸發(fā)條件,各次觸發(fā)得到的顯示波形不同時,應該考慮選擇恰當?shù)漠惒匠掷m(xù)時間來消除一些不希望的觸發(fā)。
4 結 語
在電子測量領域,數(shù)據域測量技術越來越顯示出其重要性,適時、合理地使用邏輯分析儀,能迅速有效地解決在數(shù)字電路系統(tǒng)方面遇到的一系列問題。本文僅從捕獲數(shù)據的關鍵一觸發(fā)條件設置方面進行了闡述,還有其他多方面的因素影響到數(shù)據的獲取與分析,如:采樣頻率、存儲方式、顯示方式等。只有結合所使用邏輯分析儀的本身特性,將以上各方面綜合考慮,合理設置條件和參數(shù),才能快速捕捉有用信息,解決數(shù)字電路硬件及軟件的分析問題。
邏輯分析儀產品鏈接:http://www.91zenqing.cn/product/Logic-Analyser/