你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文

什么是邏輯分析儀——定時(shí)分析儀基礎(chǔ)和狀態(tài)分析儀基礎(chǔ)

發(fā)布時(shí)間:2011-06-15

中心議題:

  • 什么時(shí)候應(yīng)使用邏輯分析儀
  • 定時(shí)分析儀基礎(chǔ)
  • 選擇正確的采樣方法
  • 觸發(fā)定時(shí)分析儀
  • 狀態(tài)分析儀基礎(chǔ)
  • 觸發(fā)狀態(tài)分析儀


在選擇是使用示波器,還是使用邏輯分析儀時(shí),多數(shù)工程師會(huì)選擇示波器。為什么? 因?yàn)榇蠖鄶?shù)用戶更熟悉示波器。但示波器的測(cè)量能力不能適應(yīng)有些應(yīng)用的需要,而邏輯分析儀卻可能提供更有用的信息。由于示波器和邏輯分析儀在測(cè)量能力上有所重疊,因此在某些情況下兩種儀器都可以使用。如何確定哪種儀器更適合您的應(yīng)用呢? 
 
什么時(shí)候應(yīng)使用示波器

  • 當(dāng)您需要看到信號(hào)上小的電壓變化
  • 當(dāng)您需要很高的時(shí)間間隔精度


一般來(lái)說(shuō),在需要高垂直或電壓分辨率時(shí)應(yīng)使用示波器。即如果您需要看到如圖1 所示的每一微小電壓變化,就應(yīng)使用示波器。許多示波器,包括新一代數(shù)字示波器,還能夠提供非常高的時(shí)間間隔分辨率。也就是能以很高的精度測(cè)量?jī)蓚€(gè)事件間的時(shí)間間隔??傊?,當(dāng)您需要參數(shù)信息時(shí),就應(yīng)使用示波器。
                                                       圖1. 示波器波形
                                                                  圖1. 示波器波形

什么時(shí)候應(yīng)使用邏輯分析儀當(dāng)您需要同時(shí)看到許多信號(hào)當(dāng)您需要以與硬件相同的工作方式觀察系統(tǒng)中的信號(hào)當(dāng)您需要在若干信號(hào)線的高或低電平上進(jìn)行碼型觸發(fā),并觀察結(jié)果邏輯分析儀源出于示波器。它們用和示波器相同的方式展現(xiàn)數(shù)據(jù),水平軸代表時(shí)間,垂直軸代表電壓幅度。但與示波器提供很高的電壓分辨率及時(shí)間間隔精度不同,邏輯分析儀能同時(shí)捕獲和顯示數(shù)百個(gè)信號(hào),這是示波器達(dá)不到的。當(dāng)系統(tǒng)中的信號(hào)穿越閾值電平時(shí),邏輯分析儀的反應(yīng)與您的邏輯電路相同。它能識(shí)別信號(hào)是低電平還是高電平。它也能在這些信號(hào)的高和低電平的碼型上觸發(fā)。

一般來(lái)說(shuō),當(dāng)您需要觀察多于示波器通道數(shù)的信號(hào)線,并且不需要精密的時(shí)間間隔信息時(shí),就應(yīng)使用邏輯分析儀。如果您需要得到像上升和下降時(shí)間這類參數(shù)信息時(shí),邏輯分析儀并非好的選擇(見(jiàn)圖2)。而在觀察總線— 例如微處理器地址、數(shù)據(jù)或控制總線上的時(shí)間關(guān)或數(shù)據(jù)時(shí),邏輯分析儀是特別有用的。邏輯分析儀還能解碼微處理器總線信息,并以有意義的形式呈現(xiàn)??傊?,當(dāng)您完成了參數(shù)設(shè)計(jì)階段,開(kāi)始關(guān)注許多信號(hào)間的定時(shí)關(guān)系和需要在邏輯高和低電平碼型上觸發(fā)時(shí),邏輯分析儀就是正確的工具。
                                                 圖2. 示波器和定時(shí)波形
                                                       圖2. 示波器和定時(shí)波形


什么是邏輯分析儀?

到目前為止,“邏輯分析儀”這一術(shù)語(yǔ)的使用并不十分嚴(yán)格。實(shí)際上大多數(shù)邏輯分析儀是定時(shí)分析儀和狀態(tài)分析儀的綜合體。我們下面將講述這兩種分析儀各自的特殊功能。

定時(shí)分析儀基礎(chǔ)

定時(shí)分析儀是邏輯分析儀中類似示波器的部分。我們可以將它們看成是親密的堂兄堂弟。定時(shí)分析儀用與示波器相同的通用形式顯示信息,水平軸代表時(shí)間,垂直軸代表電壓幅度。由于這兩種儀器上的波形與時(shí)間相關(guān),因此稱為“時(shí)域”中的顯示。

選擇正確的采樣方法

定時(shí)分析儀通過(guò)采樣輸入波形確定信號(hào)是高還是低。定時(shí)分析儀只關(guān)心用戶定義的電壓閾值。如果采樣時(shí)信號(hào)高于該閾值,就以高或1顯示; 低于閾值的用0或低顯示。從這些采樣點(diǎn)得到一張由 1 和0 組成,代表輸入波形1 bit 圖的列表。分析儀只確定波形是高還是低— 而不認(rèn)可中間電平。這張表格保存在存儲(chǔ)器中,并可用它重建輸入波形的1bit 圖,如圖3所示。
                              圖3. 定時(shí)分析儀采樣點(diǎn)
                                            圖3. 定時(shí)分析儀采樣點(diǎn)

現(xiàn)在我們觀察圖4上的顯示,這里數(shù)字示波器和定時(shí)分析儀顯示實(shí)際相同的信號(hào)(正弦波)。定時(shí)分析儀趨向于把各種信號(hào)拉成方波,這似乎會(huì)影響到它的可用性,但我們應(yīng)記住定時(shí)分析儀并非是用作參數(shù)測(cè)量的儀器。如果您要檢驗(yàn)信號(hào)的上升時(shí)間,就不應(yīng)使用分析儀,而應(yīng)使用示波器。但如果您需要通過(guò)同時(shí)觀察幾條甚至幾百條信號(hào)線驗(yàn)證信號(hào)間的定時(shí)關(guān)系,那么定時(shí)分析儀就是正確選擇。[page]

例如,假定我們必須每2 ms 刷新一次系統(tǒng)中的動(dòng)態(tài)RAM。為保證存儲(chǔ)器內(nèi)的所有內(nèi)容均在這2 ms內(nèi)刷新,我們用計(jì)數(shù)器對(duì)RAM的所有行順序計(jì)數(shù)并進(jìn)行刷新。如果要確認(rèn)在再次開(kāi)始前計(jì)數(shù)器已完成對(duì)所有行的計(jì)數(shù),就可把定時(shí)分析儀設(shè)置為在計(jì)數(shù)器開(kāi)始和顯示所有計(jì)數(shù)時(shí)觸發(fā)。這里并不關(guān)心參數(shù)— 我們僅僅要檢查計(jì)數(shù)器從1 到N 的計(jì)數(shù),然后再次開(kāi)始。
                          圖4. 示波器和定時(shí)分析儀顯示相同的信號(hào)
                               圖4. 示波器和定時(shí)分析儀顯示相同的信號(hào)

當(dāng)定時(shí)分析儀對(duì)輸入線進(jìn)行采樣時(shí),得到的是狀態(tài)高或低。如果信號(hào)線在某次采樣時(shí)為一種狀態(tài)(高或低),在下一次采樣時(shí)為相反的狀態(tài),分析儀就“知道”輸入信號(hào)在兩次采樣間的某個(gè)時(shí)刻產(chǎn)生跳變。它并不知道跳變究竟發(fā)生在何時(shí),因此把跳變點(diǎn)放在下一次采樣上,如圖3所示。這就造成分析儀對(duì)跳變實(shí)際產(chǎn)生時(shí)刻和顯示時(shí)刻的不確定性。這種不確定性的最壞情況是一個(gè)采樣周期,即在上一采樣點(diǎn)后跳變立即產(chǎn)生的情況。在采用這項(xiàng)技術(shù)時(shí),需要對(duì)分辨率和總采集時(shí)間作適當(dāng)權(quán)衡。應(yīng)記住每個(gè)采樣點(diǎn)都要使用一個(gè)存儲(chǔ)器位置。分辨率越高(采樣率越快),采集窗就越短。
圖5. 定時(shí)分析儀采樣輸入線
                              圖5. 定時(shí)分析儀采樣輸入線
跳變采樣

當(dāng)我們捕獲如圖6所示帶有數(shù)據(jù)突發(fā)的輸入線上的數(shù)據(jù)時(shí),我們必須把采樣率調(diào)到高分辨率(例如4 ns),以捕獲開(kāi)始處的快脈沖。這意味著具有4K (4096樣本)存儲(chǔ)器的定時(shí)分析儀在16.4 μs后將停止采集數(shù)據(jù),使您不能捕獲到第二個(gè)數(shù)據(jù)突發(fā)。應(yīng)注意在通常的調(diào)試工作中,我們采樣和捕獲了長(zhǎng)時(shí)間沒(méi)有活動(dòng)的數(shù)據(jù)。它們使用了邏輯分析儀存儲(chǔ)器,卻不能提供更多的信息。如果我們知道跳變何時(shí)產(chǎn)生,是正跳變還是負(fù)跳變,就能夠解決這一問(wèn)題。只存儲(chǔ)跳變發(fā)生時(shí)刻的基本信息,可以更有效地使用存儲(chǔ)器。為實(shí)現(xiàn)跳變定時(shí),我們可在定時(shí)分析儀和計(jì)數(shù)器的輸入處使用“跳變探測(cè)器”?,F(xiàn)在定時(shí)分析儀只保存跳變前的那些樣本,以及至上一跳變的流逝時(shí)間。采用這種方法,每一跳變就只需使用兩個(gè)存儲(chǔ)器位置,輸入無(wú)活動(dòng)時(shí)就完全無(wú)需存儲(chǔ)器。

這里我們談到了“有效存儲(chǔ)器深度”,它等于捕獲的總時(shí)間數(shù)據(jù)除以采樣周期(4 ns)。
                圖6. 高分辨率的采樣
毛刺捕獲

數(shù)字系統(tǒng)中一個(gè)令人頭痛的問(wèn)題是“毛刺”。毛刺因?yàn)闀?huì)在最不恰當(dāng)?shù)臅r(shí)間造成災(zāi)難性的后果而聲名狼藉。如何捕獲36小時(shí)才產(chǎn)生一次,并會(huì)導(dǎo)致系統(tǒng)崩潰的毛刺呢? 定時(shí)分析儀在此可大顯身手。毛刺可由電路板走線間的電容性耦合、電源紋波、某些器件要求的高瞬時(shí)電流,或其它事件造成。定時(shí)分析儀可采樣輸入數(shù)據(jù),保持對(duì)采樣間所產(chǎn)生任何跳變的跟蹤,從而容易地識(shí)別毛刺。在分析儀中,把毛刺定義為相鄰兩次采樣間穿越邏輯閾值一次以上的任何跳變(圖5)。正如我們?cè)谇懊嫠懻摰?,分析儀保持對(duì)采樣間所有跳變的跟蹤。為了識(shí)別毛刺,我們要“教”分析儀保持對(duì)所有多個(gè)跳變的跟蹤,并將它們作為毛刺顯示。顯示毛刺是一種很有用的功能,它也有助于提供毛刺觸發(fā)和顯示產(chǎn)生于毛刺前數(shù)據(jù)的能力,從而幫助我們確定毛刺產(chǎn)生的原因。這種能力也能使分析儀只捕獲毛刺產(chǎn)生時(shí)我們所要的數(shù)據(jù)。

回顧本節(jié)開(kāi)始時(shí)提到的例子。我們有一個(gè)系統(tǒng)因毛刺出現(xiàn)在一條信號(hào)線上周期性的崩潰。由于周期很長(zhǎng),即使能保存所有數(shù)據(jù)(假定我們有足夠的存儲(chǔ)能力),也必須對(duì)如此不可思議的巨大信息量分類。另一種方法是使用沒(méi)有毛刺觸發(fā)能力的分析儀,按儀器前面板的run 按鈕,直到您看到毛刺??上н@兩種方法都不實(shí)際。如果我們能告訴分析儀在毛刺上觸發(fā),它就能在找到毛刺后停止,捕獲毛刺出現(xiàn)前的所有數(shù)據(jù)。我們先讓分析儀工作,在系統(tǒng)崩潰時(shí)就得到導(dǎo)致錯(cuò)誤的數(shù)據(jù)記錄。
                       圖8. 毛刺
                                                          圖8. 毛刺

觸發(fā)定時(shí)分析儀

用戶非常熟悉的另一個(gè)示波器術(shù)語(yǔ)是“觸發(fā)”。它也在邏輯分析儀中使用,但常稱為“跟蹤點(diǎn)”。與示波器的跡線總是在觸發(fā)后開(kāi)始不同,邏輯分析儀連續(xù)捕獲數(shù)據(jù),并在找到跟蹤點(diǎn)后停止采集。這樣,邏輯分析儀就能顯示出被稱為負(fù)時(shí)間的跟蹤點(diǎn)前的信息,以及跟蹤點(diǎn)后的信息。[page]

碼型觸發(fā)

設(shè)置定時(shí)分析儀的跟蹤特性與設(shè)置示波器的觸發(fā)電平和斜率稍有一點(diǎn)區(qū)別。許多分析儀是在跨多條輸入線的高和低碼型上觸發(fā)。注意圖6中的菜單。我們已告訴分析儀當(dāng)“INT4”的通道0, 2 , 4 , 6為高(邏輯1),1 , 3 , 5 , 7 通道為低(邏輯0)時(shí)開(kāi)始捕獲數(shù)據(jù)。圖7顯示得到的結(jié)果,中間的垂直線示出了跟蹤點(diǎn)。在跟蹤點(diǎn),通道0 , 2 , 4 , 6均為高,而通道1 , 3, 5, 7 均為低。為使某些用戶更感方便,絕大多數(shù)分析儀的觸發(fā)點(diǎn)不僅可用二進(jìn)制(1 和0),而且可用十六進(jìn)制,八進(jìn)制,ASCII或十進(jìn)制設(shè)置。例如在前面的例子若采用十六進(jìn)制設(shè)置,觸發(fā)特性即可用55代替0101 0101。在查看4, 8, 16, 24, 32 bit 寬的總線時(shí),使用十六進(jìn)制的觸發(fā)點(diǎn)會(huì)更加方便。想想如果用二進(jìn)制設(shè)置24 bit
總線會(huì)多麻煩啊!
                     圖9. INT4 設(shè)置在高低碼型上觸發(fā)
                                        圖9. INT4 設(shè)置在高低碼型上觸發(fā)

邊沿觸發(fā)

邊沿觸發(fā)對(duì)習(xí)慣使用示波器的用戶是一種很熟悉的概念。在調(diào)節(jié)示波器的“觸發(fā)電平”旋鈕時(shí),您知道是在設(shè)置電壓比較器的電平,它告訴示波器在輸入電壓穿越該電平時(shí)觸發(fā)。定時(shí)分析儀的邊沿觸發(fā)與其基本相似,只是觸發(fā)電平已預(yù)設(shè)置到邏輯閾值。為什么在定時(shí)分析儀中也包含邊沿觸發(fā)? 許多邏輯器件都與電平相關(guān),這些器件的時(shí)鐘和控制信號(hào)都對(duì)邊沿敏感。邊沿觸發(fā)使您能與器件時(shí)鐘同步地捕獲數(shù)據(jù)。例如,考慮一個(gè)不能正確移位數(shù)據(jù)的邊沿觸發(fā)移位寄存器。這是數(shù)據(jù)問(wèn)題還是時(shí)鐘沿問(wèn)題呢? 為了檢查這一器件,我們需要驗(yàn)證時(shí)鐘邊沿記錄的數(shù)據(jù)(圖11)。

您能告訴分析儀在時(shí)鐘邊沿(上升或下降)捕獲數(shù)據(jù),并獲取移位寄存器的所有輸出。當(dāng)然在這種情況下,我們必須延遲跟蹤點(diǎn),以顧及通過(guò)移位寄存器的傳播延遲。

                                  圖10. 帶有跟蹤點(diǎn)的波形
  圖11. 邊沿觸發(fā)移位寄存器
                                 圖11. 邊沿觸發(fā)移位寄存器

狀態(tài)分析儀基礎(chǔ)

在本應(yīng)用指南的第一部分,我們講述了作為邏輯分析儀兩個(gè)主要部分之一的定時(shí)分析儀。下面我們介紹邏輯分析儀的另一主要部分—狀態(tài)分析儀。如果您從未使用過(guò)狀態(tài)分析儀,您可能認(rèn)為這是一種極為復(fù)雜的儀器,需要花很多時(shí)間才能掌握使用方法。您還會(huì)問(wèn)自己: “我為什么要用狀態(tài)分析儀呢? 我設(shè)計(jì)的是硬件。”事實(shí)上,許多硬件設(shè)計(jì)師發(fā)現(xiàn)狀態(tài)分析儀是很有價(jià)值的工具,特別是跟蹤軟件或硬件中的一些小錯(cuò)誤時(shí)。它可避免產(chǎn)生問(wèn)題時(shí)硬件研制組與軟件研制組間的相互指責(zé)。且掌握狀態(tài)分析儀也并不比定時(shí)分析儀困難。

什么時(shí)候應(yīng)使用狀態(tài)分析儀如果要了解什么時(shí)候應(yīng)使用狀態(tài)分析儀,我們首先要知道什么是“狀態(tài)”。一個(gè)邏輯電路的“狀態(tài)”是數(shù)據(jù)有效時(shí)對(duì)總線或信號(hào)線的采樣樣本。例如,取一個(gè)如圖12 所示的簡(jiǎn)單“D”觸發(fā)器。“D”輸入端的數(shù)據(jù)直到時(shí)鐘上升沿到來(lái)時(shí)才有效。這樣,觸發(fā)器的狀態(tài)就是時(shí)鐘上升沿產(chǎn)生時(shí)的狀態(tài)?,F(xiàn)在,假定我們有8個(gè)這樣的觸發(fā)器并聯(lián)。所有8個(gè)觸發(fā)器都連到同樣的時(shí)鐘信號(hào)上(圖13)。當(dāng)時(shí)鐘線上產(chǎn)生正跳變時(shí),所有8個(gè)觸發(fā)器都要捕獲各自“D”輸入端的數(shù)據(jù)。這樣,每當(dāng)時(shí)鐘線上正跳變時(shí)就產(chǎn)生一個(gè)狀態(tài),這8條線類似于微處理器總線。如果我們把狀態(tài)分析儀接到這8條線上,并告訴它在時(shí)鐘線正跳變時(shí)收集數(shù)據(jù),狀態(tài)分析儀將照此執(zhí)行。除非時(shí)鐘跳到高電平,否則輸入的任何活動(dòng)將不被狀態(tài)分析儀捕獲。
圖12. D 觸發(fā)器

這說(shuō)明了定時(shí)分析儀和狀態(tài)分析儀的主要區(qū)別。定時(shí)分析儀有內(nèi)部時(shí)鐘控制采樣,因此它是對(duì)被測(cè)系統(tǒng)作異步采樣。而狀態(tài)分析儀從系統(tǒng)得到采樣時(shí)鐘,因此它是對(duì)系統(tǒng)同步采樣。作為經(jīng)驗(yàn)法則,您應(yīng)記住要用狀態(tài)分析儀檢查總線上發(fā)生了“什么”,而用定時(shí)分析儀查看“什么時(shí)候”發(fā)生。因此,狀態(tài)分析儀通常用列表方式顯示數(shù)據(jù),而定時(shí)分析儀用波形圖顯示數(shù)據(jù)。在邏輯分析儀用波形圖顯示狀態(tài)數(shù)據(jù),或以列表顯示定時(shí)數(shù)據(jù)時(shí),我們應(yīng)非常小心,以避免錯(cuò)誤地解釋數(shù)據(jù)。

理解時(shí)鐘

在定時(shí)分析儀中,采樣是沿著單一內(nèi)部時(shí)鐘的方向進(jìn)行,從而使事情非常簡(jiǎn)單。但微處理器系統(tǒng)中往往會(huì)有若干個(gè)“時(shí)鐘”,讓我們來(lái)看一個(gè)簡(jiǎn)單的例子。假定某個(gè)時(shí)刻我們要在RAM中的一個(gè)特定地址上觸發(fā),并查看所保存的數(shù)據(jù)。再假定使用的微處理器是Zilog 80。為了用狀態(tài)分析儀從Z80 捕獲地址,我們要在MREQ線為低電平時(shí)進(jìn)行捕獲。而為捕獲數(shù)據(jù),需要在WR線為低(寫周期)或RD線為低(讀周期)時(shí)讓分析儀采樣。某些微處理器可在同一條線上對(duì)數(shù)據(jù)和地址進(jìn)行多路轉(zhuǎn)換。分析儀必須能得到來(lái)自相同信號(hào)線不同時(shí)鐘的時(shí)鐘脈沖輸入信息。在讀寫周期期間,Z80首先把一個(gè)地址放在地址總線上。接著設(shè)置MREQ,表示該地址對(duì)存儲(chǔ)器的讀或?qū)懹行?。最后根?jù)現(xiàn)在是讀還是寫設(shè)置RD或WR狀態(tài)。WR線只有在總線數(shù)據(jù)有效后才能進(jìn)行設(shè)置。這樣,定時(shí)分析儀就作為多路分配器在適當(dāng)?shù)臅r(shí)間捕獲地址,然后在同一信號(hào)線上捕獲產(chǎn)生的數(shù)據(jù)。
                              圖14. RAM 定時(shí)波形
                                                圖14. RAM 定時(shí)波形[page]

觸發(fā)狀態(tài)分析儀

像定時(shí)分析儀一樣,狀態(tài)分析儀也提供限定所要保存數(shù)據(jù)的能力。如果我們要尋找地址總線上由高低電平構(gòu)成的特定碼型,可告訴分析儀在找到該模式時(shí)開(kāi)始保存,直到分析儀的存儲(chǔ)器完全裝滿。在下面的例子中,我們把觸發(fā)點(diǎn)設(shè)置為FFF03187(十六進(jìn)制)(圖15)。在這種情況下我們要找出FFF03187 位置中的內(nèi)容,因此把數(shù)據(jù)觸發(fā)設(shè)置為不予關(guān)注(XXXX)態(tài)。這就告訴分析儀對(duì)地址FFF03187觸發(fā),而不管該點(diǎn)是什么數(shù)據(jù)。分析儀捕獲地址FFF03187 和所有其后的狀態(tài)。應(yīng)注意地址FFF03187的數(shù)據(jù)是554103E7(圖16),并且所有信息均以十六進(jìn)制格式顯示。當(dāng)然也可使用二進(jìn)制格式。但在解碼至匯編碼時(shí),十六進(jìn)制可能更為方便。如果您規(guī)定所有總線信息都用十六進(jìn)制顯示,就得到如(圖16)這樣的顯示。
                                    圖15. 狀態(tài)分析儀的觸發(fā)設(shè)置
                                                              圖15. 狀態(tài)分析儀的觸發(fā)設(shè)置

這些十六進(jìn)制代碼是什么意思?

在使用處理器時(shí),特定的十六進(jìn)制字符包含一個(gè)處理器指令。如果您很熟悉十六進(jìn)制代碼,就能查看這些類似圖13 所示的十六進(jìn)制代碼表,并知道它們代表的指令。但我們大部分人做不到這一點(diǎn)。因此,絕大多數(shù)分析儀制造商設(shè)計(jì)了稱為反匯編器的軟件包。這些軟件包把十六進(jìn)制代碼轉(zhuǎn)換成易于閱讀的匯編碼。例如圖13中有0000 41B0 和0000 41B1。我們可以從MotorolaPowerQUICC 手冊(cè)中查到它們代表存儲(chǔ)器寫0x00 指令。反匯編器可以為我們做這些事情,使我們不需要查找這些代碼。請(qǐng)查看圖17 并注意它們之間的差別。
                         圖16. 狀態(tài)分析儀捕獲的數(shù)據(jù)
                                     圖16. 狀態(tài)分析儀捕獲的數(shù)據(jù)
                      
                                    圖17. 把十六進(jìn)制碼翻譯成匯編碼

理解序列級(jí)

狀態(tài)分析儀具有幫助觸發(fā)和存儲(chǔ)的“序列級(jí)”。序列級(jí)使您能比單一觸發(fā)點(diǎn)更精確地限定要保存的數(shù)據(jù)。也就是說(shuō)可使用更精確的數(shù)據(jù)窗,而不必存儲(chǔ)不需要的信息。序列級(jí)的一般形式為:
1 find xxxx
else on xxxx go to level x 2
then find xxxx
else on xxxx go to level x 3
trigger on xxxx

在從程序中的特定點(diǎn)進(jìn)入子程序時(shí),序列級(jí)是特別有用的。節(jié)省存儲(chǔ)器和時(shí)間的選擇性保存序列級(jí)使我們有可能調(diào)用經(jīng)選擇的保存。選擇性的保存意味著可只保存較大整體中的一部分。例如,假定我們有一個(gè)計(jì)算給定數(shù)平方的匯編例程。如果該例程不能正確計(jì)算平方,我們就告訴狀態(tài)分析儀捕獲這一例程。具體做法是先讓狀態(tài)分析儀尋找該例程的起始地址。當(dāng)它找到起始地址時(shí),我們?cè)俑嬖V它尋找終止地址,并保存兩者之間的所有信息。當(dāng)發(fā)現(xiàn)例程結(jié)束時(shí),我們告訴分析儀停止保存(不保存任何狀態(tài))。圖18示出選擇性保存的工作情況。使用觸發(fā)功能與定義每一序列級(jí)相比,更好的方法是使用預(yù)定義的觸發(fā)功能。常用的觸發(fā)功能庫(kù),如“尋找產(chǎn)生的第N 個(gè)沿”和“尋找事件N 次”提供把分析儀設(shè)置在常見(jiàn)事件和條件上觸發(fā)的簡(jiǎn)便方法。狀態(tài)和定時(shí)采集這兩種工作模式均可使用這些功能。

您也可把預(yù)定義的觸發(fā)功能作為建立自定義功能的開(kāi)始點(diǎn)。當(dāng)您拆分一個(gè)功能時(shí),就能使用所有的資源分配字段和分支選項(xiàng)。您也能通過(guò)改變這些字段改變觸發(fā)結(jié)構(gòu)。您也許需要通過(guò)這些工作建立自定義的觸發(fā)規(guī)范,或在您的觸發(fā)序列中建立循環(huán)和跳轉(zhuǎn)。

第1 步: 搜索該例程的第1 行,搜索中不存儲(chǔ)任何信息
第2 步: 在找到第1 行后,開(kāi)始存儲(chǔ)。連續(xù)存儲(chǔ),直到找到最后一行
第3 步: 當(dāng)遇到最后一行時(shí),停止存儲(chǔ)
                  圖18. 選擇性的保存
圖18. 選擇性的保存

使用觸發(fā)功能

與定義每一序列級(jí)相比,更好的方法是使用預(yù)定義的觸發(fā)功能。常用的觸發(fā)功能庫(kù),如“尋找產(chǎn)生的第N 個(gè)沿”和“尋找事件N 次”提供把分析儀設(shè)置在常見(jiàn)事件和條件上觸發(fā)的簡(jiǎn)便方法。狀態(tài)和定時(shí)采集這兩種工作模式均可使用這些功能。您也可把預(yù)定義的觸發(fā)功能作為建立自定義功能的開(kāi)始點(diǎn)。當(dāng)您拆分一個(gè)功能時(shí),就能使用所有的資源分配字段和分支選項(xiàng)。您也能通過(guò)改變這些字段改變觸發(fā)結(jié)構(gòu)。您也許需要通過(guò)這些工作建立自定義的觸發(fā)規(guī)范,或在您的觸發(fā)序列中建立循環(huán)和跳轉(zhuǎn)。

特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉