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