- 介紹全面對(duì)稱的雙觸發(fā)系統(tǒng)
- 增加多條同步傳輸通路
- 帶有對(duì)稱A觸發(fā)和B觸發(fā)的現(xiàn)代數(shù)字示波器
引言
觸發(fā)是在屏幕上播放穩(wěn)定的重復(fù)波形的關(guān)鍵,同時(shí)也為捕獲一次性事件提供了一個(gè)有效的工具。隨著數(shù)字示波器的出現(xiàn),觸發(fā)功能得到了許多新的擴(kuò)展。
大多數(shù)示波器提供了輔助觸發(fā)系統(tǒng)或 “B”觸發(fā)器,允許用戶定義范圍更寬的條件。B觸發(fā)器等待主(褹)觸發(fā)發(fā)生,然后在越過自己的邊沿門限時(shí)觸發(fā)采集。這兩者可以結(jié)合使用,以設(shè)置某些相當(dāng)復(fù)雜的觸發(fā)條件。例如,A可能在設(shè)備時(shí)鐘輸入線路上檢測(cè)到一個(gè)毛刺,如果在輸出上遇到上升沿或下降沿,可以觸發(fā)B。如果沒有這種轉(zhuǎn)換,那么毛刺可以忽略。這兩套條件結(jié)合使用,可以確定毛刺是否會(huì)引起不想要的狀態(tài)變化。
直到最近,B觸發(fā)功能一直限于邊沿檢測(cè)。但是對(duì)于復(fù)雜的新信號(hào)格式,特別是PCI Express和串行ATA等串行協(xié)議中使用的信號(hào)格式,需要觸發(fā)系統(tǒng)的功能與其待處理的信號(hào)之間更好地匹配。
這些快速新協(xié)議中的錯(cuò)誤可能來自多個(gè)事件的綜合結(jié)果,如邏輯狀態(tài)、偏移、瞬變、上升時(shí)間問題等。有時(shí),必需規(guī)定非常精確的條件范圍,以確定難以捕捉的錯(cuò)誤。這要求觸發(fā)工具系列能夠分析更多的條件??梢圆捎秒p觸發(fā)排列來解決這一問題,其中B觸發(fā)系統(tǒng)與A系統(tǒng)基本上相同。只是在許多情況下,A條件相對(duì)簡(jiǎn)單,而在理想情況下,B觸發(fā)器應(yīng)能夠評(píng)估比較復(fù)雜的一套指標(biāo),如只在其它邏輯信號(hào)處于規(guī)定狀態(tài)時(shí)才會(huì)有效的事件數(shù)量等。但是,相關(guān)觸發(fā)B一直缺乏A觸發(fā)系統(tǒng)的靈活性。因此大多數(shù)示波器僅提供了非常簡(jiǎn)單的B觸發(fā)器。
讓兩個(gè)觸發(fā)器共同運(yùn)行
圖1是簡(jiǎn)化形式的全功能雙觸發(fā)系統(tǒng)。
圖1 全功能雙觸發(fā)結(jié)構(gòu)
其中位于最后的觸發(fā)器將幫助示波器捕獲有問題的信號(hào),可能發(fā)生的條件如下:
是否發(fā)生A事件。用戶可以規(guī)定邊沿、削幅脈沖或許多其它條件;
在A事件發(fā)生時(shí)正確的邏輯狀態(tài)(從最多兩個(gè)不同輸入中收集)是否生效;
是否滿足A觸發(fā)器和B觸發(fā)器之間的延遲條件。“延遲”可以用時(shí)間或事件數(shù)量表示;
是否發(fā)生B事件。這可以是建立時(shí)間/保持時(shí)間超限、削幅脈沖或A觸發(fā)器使用的同一類型列表中的任意選擇;
在B事件發(fā)生時(shí)正確的邏輯狀態(tài)(也從最多兩個(gè)不同輸入中收集)是否生效;
在整個(gè)過程中任何點(diǎn)上是否發(fā)生復(fù)位條件。復(fù)位將會(huì)繞過所有后續(xù)步驟,返回開頭。
通過以上條件的依次執(zhí)行明顯提高了觸發(fā)系統(tǒng)的靈活性。在同時(shí)考慮這兩種事件條件及邏輯判定符時(shí),可能的組合數(shù)可以達(dá)到幾千種。這樣,用戶獲得了一系列編程選擇,從簡(jiǎn)單的單個(gè)輸入上的邊沿門限,到使用兩個(gè)觸發(fā)器、邏輯判定及時(shí)間或事件數(shù)量的復(fù)雜公式。
源自電腦編程領(lǐng)域的IF-THEN-ELSE構(gòu)成了這類觸發(fā)結(jié)構(gòu)的概念模型。如圖1所示,這些語句還包括其它判定符(如A和B之間的定時(shí)器/計(jì)數(shù)器)。不管B事件是否發(fā)生,在A事件之后隨時(shí)都可以發(fā)生復(fù)位。
[page]
使用兩個(gè)觸發(fā)器找到一個(gè)脈沖
本文通過最新磁盤驅(qū)動(dòng)器設(shè)計(jì)項(xiàng)目來介紹全面對(duì)稱的雙觸發(fā)系統(tǒng)。
本系統(tǒng)中,讀/寫電路中的一個(gè)單元設(shè)計(jì)成在每個(gè)有效系統(tǒng)寫入啟動(dòng)(WE)周期中執(zhí)行一串32條寫入命令。圖2描述了較大的周期時(shí)間與導(dǎo)致數(shù)據(jù)寫入的各個(gè)脈沖的關(guān)系。
圖2 兩個(gè)觸發(fā)器捕獲偏離的寫入脈沖
在這一新興設(shè)計(jì)中,由于某些周期中發(fā)生了額外的脈沖,導(dǎo)致間歇性錯(cuò)誤。盡管沒有任何方式預(yù)測(cè)什么時(shí)候會(huì)發(fā)生第33個(gè)脈沖,但通過某種手段捕獲不同的33個(gè)脈沖的順序可以更簡(jiǎn)便地識(shí)別可能相關(guān)的其它系統(tǒng)事件。
一種解決方案是使用傳統(tǒng)邊沿觸發(fā)器采集多次重復(fù)的WE周期及相關(guān)的寫入脈沖順序,檢測(cè)每個(gè)WE周期的前沿,然后手動(dòng)滾動(dòng)通過數(shù)據(jù),找到有問題的周期。這種方法耗時(shí)長(zhǎng),而且不能保證在示波器波形的存儲(chǔ)容量范圍內(nèi)錯(cuò)誤脈沖只出現(xiàn)一次。工程師更希望的解決方案是只在發(fā)生33個(gè)脈沖周期時(shí)觸發(fā)采集。其好處在于,感興趣的周期將自動(dòng)顯示在屏幕上,而不需麻煩的手動(dòng)搜索。當(dāng)然還會(huì)存儲(chǔ)觸發(fā)事件前和觸發(fā)事件后的相關(guān)數(shù)據(jù),但是觸發(fā)發(fā)生的簡(jiǎn)單事實(shí)證明了存在33個(gè)脈沖周期。
這也正是雙觸發(fā)系統(tǒng)必不可少的地方。在這種情況下,磁盤驅(qū)動(dòng)器設(shè)計(jì)人員需要設(shè)置一個(gè)相關(guān)觸發(fā)器,其中WE信號(hào)的前沿(正向沿)作為A觸發(fā)事件,而后沿則作為復(fù)位條件。
在這一過程中,A事件啟動(dòng)延遲計(jì)數(shù)器,計(jì)算脈沖數(shù)量。一旦產(chǎn)生了32個(gè)脈沖,它會(huì)使B觸發(fā)器監(jiān)測(cè)第33個(gè)脈沖。當(dāng)檢測(cè)到特定脈寬時(shí),B系統(tǒng)便設(shè)成觸發(fā)采集,這時(shí),示波器觸發(fā)并記錄數(shù)據(jù)。如果沒有第33個(gè)脈沖,復(fù)位條件會(huì)重新準(zhǔn)備A觸發(fā)器,再次啟動(dòng)整個(gè)流程。
如果B觸發(fā)器只限于邊沿檢測(cè),那么這種方法是不可能實(shí)現(xiàn)的。在這一過程中,不應(yīng)忽視復(fù)位功能值,因?yàn)樗鼪Q定著如果未能發(fā)生相應(yīng)的A事件和B事件組合,示波器及其用戶不會(huì)一直等下去。
反常的第33個(gè)脈沖是電路中其它地方邏輯設(shè)計(jì)錯(cuò)誤的結(jié)果。由于可靠的偏離脈沖檢測(cè)方法,設(shè)計(jì)人員能夠使用邏輯判定,進(jìn)一步縮小觸發(fā)條件,進(jìn)而找到故障所在。
檢測(cè)通路間偏移
許多串行通信技術(shù)開始時(shí)采用單通道串行傳輸結(jié)構(gòu),后來又演變成增加多條同步傳輸通路,以提供更高的數(shù)據(jù)速率。這些通路并不以并行總線的方式同步,因?yàn)閿?shù)據(jù)將在目的設(shè)備中重新對(duì)準(zhǔn)。但是,通過串行鏈路傳送的相關(guān)數(shù)據(jù)分組之間允許的延遲或偏移有限定極限,不能遵守這一極限稱為“通路超限”。
在最基本的形式下,超限測(cè)量由其中一條數(shù)據(jù)流上觸發(fā)的一個(gè)字符與相鄰?fù)分械南鄬?duì)數(shù)據(jù)偏移組成。但偏移可能會(huì)隨著時(shí)間變化,在某個(gè)時(shí)間點(diǎn)位于容限范圍內(nèi)的通路在另一個(gè)時(shí)間點(diǎn)可能會(huì)越過邊界,所以關(guān)鍵是長(zhǎng)期內(nèi)的偏移行為。
全功能雙觸發(fā)系統(tǒng)的示波器為監(jiān)測(cè)偏移變化提供了一個(gè)強(qiáng)大的工具。它可以檢測(cè)任何時(shí)間內(nèi)任意兩條通路之間的時(shí)間偏移,可以是幾ns,也可以是幾天。同時(shí)還可以在顯示屏上捕獲超出偏移時(shí)間范圍的事件,并使用儀器的采集計(jì)數(shù)器計(jì)算事件的數(shù)量。
圖3 串行通路偏移超限測(cè)量
圖3是對(duì)落入8 ns時(shí)間窗口內(nèi)任何地方的偏移測(cè)量進(jìn)行合格/不合格測(cè)試的實(shí)例。設(shè)置如下:
A事件是通路0上的逗號(hào)字符。由于它具有可預(yù)測(cè)的脈寬,因此可以使用脈寬觸發(fā)格式檢測(cè)到逗號(hào)。
B事件是通路1中的逗號(hào)字符,通過在B系統(tǒng)中定義脈寬觸發(fā)器捕獲。
A觸發(fā)器和B觸發(fā)器之間的程控延遲設(shè)為16.8 ns,這是被測(cè)設(shè)備的技術(shù)指標(biāo)。也既是窗口的“早期”邊界。
復(fù)位時(shí)間值設(shè)為24.8 ns,這是總線標(biāo)準(zhǔn)允許的容限,既是窗口的另一條邊界。
在這種情況下,如果檢測(cè)到A事件,那么在通路1的事件偏移落在16.8 ns和24.8 ns之間時(shí)將觸發(fā)B觸發(fā)器。如果在24.8 ns極限到期前沒有檢測(cè)到任何B事件,那么儀器將重新準(zhǔn)備A觸發(fā)器,開始查找新的周期。在圖3中,通過采集發(fā)現(xiàn)兩條通路之間的偏移是19.8 ns。
[page]
監(jiān)測(cè)信標(biāo)
許多串行通信設(shè)備通過傳輸由專門分組包的包頭和可變長(zhǎng)度數(shù)據(jù)塊組成的“信標(biāo)”信號(hào),來表明其存在于通信信道上。有時(shí)這些設(shè)備會(huì)在錯(cuò)誤狀態(tài)下開機(jī),并會(huì)傳送一個(gè)信標(biāo),其中包含與設(shè)備狀態(tài)有關(guān)的額外信息,這時(shí)可能會(huì)導(dǎo)致信標(biāo)長(zhǎng)于正常時(shí)長(zhǎng)。而信標(biāo)信號(hào)的最大長(zhǎng)度是大多數(shù)設(shè)備指標(biāo)的組成部分,因此必須檢查任何超限特點(diǎn)。具有全功能A觸發(fā)系統(tǒng)和B觸發(fā)系統(tǒng)的示波器可以解決這種測(cè)量問題。圖4是檢測(cè)到信標(biāo)寬度超限時(shí)采集設(shè)置的屏幕圖。
圖4 檢測(cè)信標(biāo)寬度超限
A事件觸發(fā)器設(shè)成檢測(cè)信標(biāo)信號(hào)包頭分組中的逗號(hào)字符 (K28.5,8b/10b格式)。為此,要使用脈寬觸發(fā)格式。有效的A事件定義為由逗號(hào)字符中五個(gè)二進(jìn)制1或0組成的總脈寬。
在“正確”信標(biāo)信號(hào)的最大寬度上設(shè)置A-B的延遲時(shí)間。B觸發(fā)器直到延遲已過時(shí)才開始評(píng)估其條件,這時(shí)信標(biāo)應(yīng)該空閑。
B事件觸發(fā)器設(shè)置為超時(shí)。在觸發(fā)系統(tǒng)的語言中,也就是定義為沒有發(fā)生轉(zhuǎn)換的一段時(shí)間,換句話說是沒有信號(hào)。如果在應(yīng)該為“無”時(shí)檢測(cè)到信標(biāo)活動(dòng),B觸發(fā)器將會(huì)被觸發(fā)。
復(fù)位條件也用時(shí)間表示。它定義了測(cè)量感興趣的周期時(shí)的結(jié)束時(shí)間。設(shè)為3.0 ms,其主要作用是讓A觸發(fā)器準(zhǔn)備另一次采集。
在上面匯總的觸發(fā)條件下,示波器將很容易地檢測(cè)到信標(biāo)寬度錯(cuò)誤,進(jìn)而揭示出設(shè)計(jì)中的問題。
結(jié)語
以上應(yīng)用實(shí)例依賴兩個(gè)強(qiáng)健的對(duì)稱觸發(fā)系統(tǒng)并排工作。這些實(shí)例說明了通過靈活的兩級(jí)觸發(fā)系統(tǒng)怎樣觀察在當(dāng)前快速數(shù)字設(shè)備中產(chǎn)生信號(hào)和錯(cuò)誤的復(fù)雜相關(guān)性。帶有對(duì)稱A觸發(fā)和B觸發(fā)的現(xiàn)代數(shù)字示波器為迎接這些棘手的測(cè)量挑戰(zhàn)及其它問題提供了理想的手段。