狀態(tài)分析儀基礎知識
大多數(shù)邏輯分析儀是兩種分析儀組合在一起的儀器:第一部分是定時分析儀,第二部分是狀態(tài)分析儀。
狀態(tài)分析儀通常被視為一種軟件工具。事實上,它在硬件領域中也有許多用戶。由于狀態(tài)分析儀從被測系統(tǒng)中獲得時鐘,因此它可以用來在系統(tǒng)時鐘上捕捉系統(tǒng)看到的數(shù)據(jù)。
如果工程師從未使用過狀態(tài)分析儀,他可能會認為這是一種異常復雜的儀器,需要大量的時間才能掌握其使用方法。事實上,許多硬件設計人員都認為狀態(tài)分析儀是一種非常重要的工具。
邏輯電路的“狀態(tài)”是指數(shù)據(jù)有效時總線或線路的某個樣點。以簡單的“D”觸發(fā)電路為例。只有在正向時鐘邊沿出現(xiàn)時,“D”輸入上的數(shù)據(jù)才會 有效。因此,觸發(fā)器的狀態(tài)是正時鐘邊沿發(fā)生的時候。假設同時有八個這樣的觸發(fā)器,所有觸發(fā)器都連接到同一個時鐘信號上。在時鐘線路上發(fā)生正跳變時,所有八個觸發(fā)器將捕獲“D”輸入上的數(shù)據(jù)。每次時鐘線路上有正跳變時,狀態(tài)會再次發(fā)生。這八條線路類似于一條微處理器總線。如果把一臺狀態(tài)
分析儀連接到這八條線路上,告訴狀態(tài)
分析儀在時鐘線路上出現(xiàn)正跳變時采集數(shù)據(jù),那么
分析儀將采集數(shù)據(jù)。狀態(tài)
分析儀將不會捕獲輸入上的任何活動,除非時鐘變高。定時
分析儀有一個 內(nèi)部時鐘控制采樣,因此它以異步方式對被測系統(tǒng)采樣。狀態(tài)
分析儀以同步方式對系統(tǒng)采樣,因為它從系統(tǒng)中獲得采樣時鐘。狀態(tài)
分析儀一般以列表格式顯示數(shù)據(jù),定時
分析儀則作為波形圖顯示數(shù)據(jù)。
了解時鐘
在定時
分析儀中,采樣由單個內(nèi)部時鐘控制,因此操作非常簡單。但在微處理器領域中,一個系統(tǒng)可能會有多個時鐘。假設工程師希望觸發(fā)RAM中 的某個地址,查看這個地址中存儲的數(shù)據(jù)。假設系統(tǒng)使用Zilog Z80。為使用狀態(tài)
分析儀從Z80中捕獲地址,必須在MREQ線路變低時捕獲。而為捕獲數(shù)據(jù),
分析儀應在寫入周期(WR)線路變低或在讀取周期(RD)變 低時采樣。某些處理器復用同一條線路上的數(shù)據(jù)和地址。
分析儀必須能夠從同一線路、但從不同時鐘中輸入時鐘信息。
圖4 RAM定時波形
在讀取或?qū)懭胫芷谥,Z80先把一個地址放在地址總線上,然后確認MREQ,表明這個地址對存儲器讀取或?qū)懭胧怯行У摹W詈,確認RD或 WR線路,具體視操作是讀取還是寫入而定。只有在總線上的數(shù)據(jù)有效后,才確認WR線路。因此,定時
分析儀作為解復用器操作,在適當?shù)臅r間捕獲地址,然后捕捉同一線路上發(fā)生的數(shù)據(jù)。
與定時
分析儀一樣,狀態(tài)
分析儀能夠判定希望存儲的數(shù)據(jù)質(zhì)量。如果在地址總線上查找某個由邏輯高和低組成的碼型,那么在找到碼型時,
分析儀可以開始存儲數(shù)據(jù),一直存儲到
分析儀存儲器已滿為止。
圖5 十六進制代碼轉(zhuǎn)換成匯編代碼
可以以十六進制或二進制格式顯示信息。把十六進制解碼成匯編代碼可能會更有效。在處理器中,具體的十六進制字符包括一條指令。大多數(shù)
分析儀制造商設計了稱為反匯編程序或反向匯編程序的軟件包。這些軟件包的工作是轉(zhuǎn)換十六進制代碼,使它們閱讀起來更容易。
了解序列等級
狀態(tài)
分析儀擁有“序列等級”,協(xié)助進行觸發(fā)和存儲。序列等級可以比單個觸發(fā)點更準確地判定數(shù)據(jù)存儲。這意味著可以準確地縮小數(shù)據(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
選擇性存儲,節(jié)約存儲容量和時間
選擇性存儲是指只存儲較大的整個數(shù)據(jù)集合中的部分數(shù)據(jù)。例如,假設有一個匯編程序,計算某個數(shù)值的平方值。如果這個程序沒有正確計算平方值,那么用戶會告訴狀態(tài)
分析儀捕獲該程序。首先,用戶要告訴
分析儀找到這個程序的起點。在找到開始地址時,它會尋找結(jié)束地址,同時存儲開始地址和結(jié)束地址 之間的全部數(shù)據(jù)。在發(fā)現(xiàn)這個程序結(jié)束時,
分析儀將停止存儲(不存儲任何狀態(tài))。
怎樣連接目標系統(tǒng)
前面我們討論了
示波器與定時
分析儀和狀態(tài)
分析儀之間的部分區(qū)別。在使用這些新工具之前,我們有必要提一下探測系統(tǒng)。邏輯
分析儀探頭可以把大量的通道簡便地連接到目標系統(tǒng),但這要以降低被測信號的幅度精度為代價。傳統(tǒng)上,邏輯
分析儀使用有源探頭適配夾,適配夾內(nèi)置信號檢測電路,可以檢測8條通 道的電容,每條通道總共16pF。
探測解決方案
在調(diào)試中,到數(shù)字系統(tǒng)的物理連接必須可靠、方便,為邏輯
分析儀提供準確的數(shù)據(jù),而且對被調(diào)試的目標系統(tǒng)的插入影響達到最小。常見的探測解決方案是每條電纜16條通道的無源探頭。每條通道兩端帶有100kΩ和8pF端子?梢詮碾姎饨嵌茸钣行У乇容^無源探頭與
示波器探頭。除體積小、可靠性高以 外,無源探測系統(tǒng)的優(yōu)勢在于,探頭剛好端接在目標系統(tǒng)的連接點上,從而避免了從較大有源適配夾到被測電路的導線所產(chǎn)生的額外寄生電容。結(jié)果,被測電路只“ 看到”8pF的負荷電容,而不是以前探測系統(tǒng)的16pF負荷電容。
分析探頭和其他配件
把狀態(tài)
分析儀連接到微處理器系統(tǒng)上要求一定的機械連接和時鐘選擇工作。記住,在總線上的數(shù)據(jù)或地址有效時,必須為狀態(tài)
分析儀輸入時鐘。對某些微處理器,可能必須使用外部電路解碼多個信號,為狀態(tài)
分析儀導出時鐘。分析探頭不僅為目標系統(tǒng)提供了快速、可靠、正確的機械連接,還提供了必要的電氣適 配功能,如時鐘輸入和解復用,以正確捕獲系統(tǒng)操作。
圖6 分析探頭