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