用創(chuàng)新的技術(shù)偵測(cè)及找出混合信號(hào)設(shè)計(jì)中的問題
前言
據(jù)產(chǎn)業(yè)消息來源的估計(jì),目前大約有百分之七十的電子工程師所從事的設(shè)計(jì)都大量混合了模擬和數(shù)字信號(hào)的成份,因此,設(shè)計(jì)人員愈來愈需要具備能夠?qū)⒃O(shè)計(jì)內(nèi)的模擬和數(shù)字器件或芯片間的信號(hào)時(shí)間相互關(guān)聯(lián)的能力。此外,高速的數(shù)字信號(hào)更加需要深入測(cè)量其信號(hào)質(zhì)量,因?yàn)檫@攸關(guān)信號(hào)完整性的容限大小(signal integrity margin)。針對(duì)特定的測(cè)量選擇合適的測(cè)試設(shè)備時(shí),有效性、效率、以及價(jià)格/性能比是最主要的考慮因素。Johnnie Hancock在一篇標(biāo)題為「運(yùn)用MSO混合信號(hào)示波器偵測(cè)及找出嵌入式混合信號(hào)設(shè)計(jì)的問題」的應(yīng)用文章中,探討了選擇測(cè)試設(shè)備時(shí),需要考慮的主要因素,包括:通道數(shù)、帶寬、采樣率、以及MSO混合信號(hào)示波器(如安捷倫科技的MSO6000系列示波器)具備的各種類型的混合信號(hào)觸發(fā)能力。本文將介紹一個(gè)更先進(jìn)的產(chǎn)品所提供的獨(dú)特價(jià)值,那就是新近推出的MSO8000系列混合信號(hào)示波器。我們將為讀者說明MSO8000支持的一些獨(dú)特功能,這些功能可以協(xié)助使用者找出各種信號(hào)問題,這是其它測(cè)量解決方案,例如傳統(tǒng)「數(shù)字示波器加上邏輯分析儀的組合」,所無法取代的。
找出死鎖問題的根本原因
安捷倫科技的工程團(tuán)隊(duì)最近在設(shè)計(jì)一塊新的數(shù)據(jù)采集電路板(acquisition board)時(shí),遭遇到一個(gè)難纏的問題,這塊板子一般時(shí)候都可以正常運(yùn)作,但偶而卻會(huì)死機(jī)。團(tuán)隊(duì)人員利用Windows debugger確定了造成死鎖(lock-up)的原因是:有一個(gè) “配置寫入”周期有時(shí)候無法收到確認(rèn)信號(hào)。他們修改固化軟件,重復(fù)“配置寫入”,將死鎖情形的出現(xiàn)頻率由每隔幾小時(shí)提高到每隔幾分鐘出現(xiàn)一次。圖1a顯示了利用MSO8104A示波器的狀態(tài)觸發(fā)能力,在總線信號(hào)處理權(quán)交還給CPU后,第一次開始尋址那一時(shí)刻的結(jié)果。由圖中可以看出與時(shí)鐘信號(hào)有關(guān)的一個(gè)異常的電壓跌落,這是因相鄰地址線的電容耦合所造成的。在圖1b中可以看出,在較長(zhǎng)的時(shí)基范圍下檢視這些信號(hào),當(dāng)電路進(jìn)入死鎖的狀態(tài)時(shí),系統(tǒng)中一些周期性出現(xiàn)的信號(hào)會(huì)停止改變狀態(tài), ,設(shè)計(jì)團(tuán)隊(duì)運(yùn)用示波器的“逾時(shí)”(time-out)觸發(fā)能力,成功隔離出死鎖的狀況,并依據(jù)邏輯信道在死鎖的狀態(tài),找出了時(shí)序的問題。
圖1a
圖1b
重要事件的出現(xiàn)頻率
在圖1a所示的例子中,出現(xiàn)系統(tǒng)死鎖情形的概率/頻率非常低 -大約每2到8小時(shí)才出現(xiàn)一次。此處需要設(shè)想的問題是:如果工程師無法利用debugger將問題復(fù)制出來怎么辦?我們要如何確定該問題與“配置寫入”周期之外的其它總線周期無關(guān)呢?所幸,安捷倫科技的MSO8000系列示波器提供了一個(gè)稱為“分段式存儲(chǔ)”(segmented memory)的先進(jìn)功能,可透過優(yōu)化調(diào)整示波器存儲(chǔ)器的設(shè)置和重新預(yù)準(zhǔn)備(re-arm)時(shí)間,讓該特定總線周期只要一出現(xiàn),示波器就把它捕獲下來,可以連續(xù)捕獲數(shù)千個(gè)該特定動(dòng)作對(duì)應(yīng)的總線周期信號(hào),圖2a顯示的就是一個(gè)例子。
圖2a
圖2b
MSO混合信號(hào)示波器的模擬信道和數(shù)字信道的采集存儲(chǔ)器可被分為許多段,當(dāng)示波器的觸發(fā)條件第一次出現(xiàn)的時(shí)候,波形數(shù)據(jù)會(huì)被填入第一段的存儲(chǔ)器,當(dāng)觸發(fā)條件第二次出現(xiàn)時(shí),則會(huì)填入第二段的存儲(chǔ)器,依此類推。在圖2b顯示的例子中,利用示波器的分段式存儲(chǔ)器采集模式,依序采集到出現(xiàn)了1000次的重要事件。事實(shí)上,利用MSO8000的采集存儲(chǔ)器(示波器通道選件深達(dá)128 M,邏輯信道是標(biāo)配每信道32M),最多可以采集32,000段的波形。在采集到指定的區(qū)段數(shù)之后,可以使用熒屏右下方的瀏覽控制鍵,輕易地逐一回放每個(gè)區(qū)段,以便清楚地查看信號(hào)異常是否只與示波器的邏輯信道所采集到的一個(gè)重要時(shí)序事件有關(guān),或是DUT還有其它關(guān)鍵的總線動(dòng)作也會(huì)造成信號(hào)異常的現(xiàn)象?分段式存儲(chǔ)器采集模式同時(shí)支持示波器信道和邏輯信道,對(duì)內(nèi)嵌式系統(tǒng)設(shè)計(jì)的除錯(cuò)有很大的幫助,因?yàn)檫@種設(shè)計(jì)大多是以狀態(tài)機(jī)(state machine)為主,您可以透過邏輯信道來設(shè)定觸發(fā)條件,觀察每一個(gè)狀態(tài)的信號(hào)行為。
瀏覽控制功能不僅在使用分段式存儲(chǔ)器采集模式時(shí)可以使用,而且在串行總線譯碼模式下也可以使用。圖3所示為I2C總線的信號(hào),與譯碼窗口內(nèi)的信號(hào)是時(shí)間相互關(guān)聯(lián)的。雖然I2C不是一種高速的串行總線,而且就這種低速總線的時(shí)鐘與數(shù)據(jù)信號(hào)而言,信號(hào)完整性的問題可能也不是主要的考慮點(diǎn),但是利用這種通訊信號(hào)進(jìn)行觸發(fā),并且讓示波器同步進(jìn)行采集,或許可以揭露出系統(tǒng)中其它時(shí)間相互關(guān)聯(lián)之模擬和/或高速數(shù)字信號(hào)的信號(hào)完整性問題。在某些情況下,我們可能會(huì)知道待測(cè)信號(hào)或許會(huì)出現(xiàn)問題,但卻不知道何時(shí)會(huì)發(fā)生問題,或是問題跟哪個(gè)信號(hào)有關(guān)。在串行總線譯碼功能的協(xié)助下,示波器可以顯示出圖3a中的情形:只有當(dāng)一個(gè)特定的I2C讀取動(dòng)作發(fā)生時(shí),才會(huì)出現(xiàn)一個(gè)雙周期的雷達(dá)chirp輸出信號(hào)。您可以瀏覽譯碼列表窗口中的每一個(gè)讀取動(dòng)作,以驗(yàn)證該特定的事件(其它相關(guān)信號(hào))是否有發(fā)生。這個(gè)概念與FPGA的除錯(cuò)方式很類似,安捷倫科技的MSO8000支持Xilinx FPGA內(nèi)部節(jié)點(diǎn)自動(dòng)切換和測(cè)試,可以將FPGA內(nèi)部節(jié)點(diǎn)(> 1000個(gè)多個(gè)待切換測(cè)試的節(jié)點(diǎn))與外部信號(hào)的時(shí)間相互關(guān)聯(lián)來顯示和分析(這個(gè)主題不在這篇文章的討論范圍內(nèi))。一旦工程師知道這些問題何時(shí)會(huì)發(fā)生,以及問題與哪個(gè)信號(hào)和/或總線周期相關(guān)聯(lián)之后,通常就可以快速地解決設(shè)計(jì)的問題。
圖3
InfiniiScan = 問題找尋工具
很多時(shí)候,想要找出設(shè)計(jì)中的串行接口與并行總線的潛在問題是相當(dāng)耗費(fèi)時(shí)間的事情,特別是當(dāng)問題出現(xiàn)地相當(dāng)隨機(jī)和/或出現(xiàn)的頻率不高時(shí)。設(shè)計(jì)工程師有時(shí)候會(huì)修改固化軟件(韌體/HDL),讓系統(tǒng)進(jìn)入一種特殊的反復(fù)循環(huán)來試著復(fù)現(xiàn)問題,也就是藉由強(qiáng)迫出現(xiàn)特定條件的方式,讓問題比較容易出現(xiàn),如前所述。但即使采用這種方法,如果手上沒有創(chuàng)新設(shè)計(jì)的利器,有時(shí)候依然很難隔離和找出問題點(diǎn)。
圖4a
圖4b
您在設(shè)計(jì)時(shí)可能會(huì)碰到許多不同類型的信號(hào)問題,例如設(shè)定(set up)和保持(hold)時(shí)間違規(guī)、過多的過沖與振鈴(ringing)問題、隨機(jī)出現(xiàn)的毛刺、甚至是可能在不對(duì)的時(shí)間不對(duì)的空間出現(xiàn)不該有的脈沖信號(hào)等。要找出這些問題可能會(huì)有一定的難度,特別是如果問題不常出現(xiàn)或如果您不知道發(fā)生的原因時(shí),又會(huì)更加地困難。安捷倫科技的MSO8000系列示波器最近推出了一項(xiàng)稱為“InfiniiScan”的新功能,可協(xié)助找出各種信號(hào)問題 -如信號(hào)出現(xiàn)在不該出現(xiàn)的地方、或是該出現(xiàn)時(shí)卻沒有出現(xiàn)的問題。舉例來說,圖4a顯示的叢發(fā)脈沖串就是在最后一個(gè)完全傳送的比特(位)之后,原本不應(yīng)該再出現(xiàn)脈沖,卻又跑出一個(gè)脈沖信號(hào)的情形,如圖4a所示,在最后一個(gè)比特(位)之后大約600 ns的地方,有時(shí)候會(huì)隨機(jī)出現(xiàn)一個(gè)突波。此時(shí)您可以使用鼠標(biāo)(或是用您的手指在觸控式熒屏上操作),在不應(yīng)該出現(xiàn)信號(hào)的范圍拉出一個(gè)“方框”,告訴示波器如果其顯示屏的這個(gè)方形區(qū)域/范圍內(nèi)出現(xiàn)信號(hào)異常狀況/脈沖時(shí),就停止反復(fù)采集的動(dòng)作,或是只顯示出有問題的狀況,接下來示波器就只會(huì)顯示含有問題脈沖的采集畫面了。
圖4b所示為一個(gè)時(shí)鐘信號(hào)的問題,其中的壓降造成一個(gè)錯(cuò)誤的時(shí)鐘脈沖。為了采集這個(gè)特殊的問題,我們利用InfiniiScan設(shè)定了一個(gè)雙區(qū)域的掃描范圍,第一個(gè)區(qū)域定義為“信號(hào)必須通過” 的范圍,第二個(gè)區(qū)域則定義為“信號(hào)不可通過” 的范圍。
除了指定必須通過/不可通過的“范圍”組合之外,InfiniiScan也可以設(shè)定為只顯示包含”指定之合格和/或不合格參數(shù)量測(cè)結(jié)果”的采集畫面。圖5 是一個(gè)設(shè)定示波器來同時(shí)監(jiān)測(cè)五組量測(cè)的例子,當(dāng)任何一組參數(shù)量測(cè)的結(jié)果超過了指定的限制范圍時(shí),就會(huì)將波形存儲(chǔ)下來或停止波形采集。接下來,您還可以運(yùn)用 InfiniiScan的瀏覽控制功能,輕松地在“不符合限制測(cè)試條件” 的波形上掃視任何位置的波形,查看信號(hào)的細(xì)節(jié)。
圖5
高階的應(yīng)用:LA+DSO或LA+MSO?
大部分的MCU和DSP內(nèi)部都有地址和數(shù)據(jù)線,因此通常由外部無法監(jiān)測(cè)這些地址和數(shù)據(jù)線。大部分內(nèi)嵌了MCU/DSP的設(shè)計(jì)中需要監(jiān)測(cè)的外部信號(hào)一般會(huì)包括數(shù)字I/O(每個(gè)通常最多8位)、控制線、串行總線線(如I2C或SPI)、以及一些模擬I/O信號(hào)(如A/D、D/A和傳感器的輸入信號(hào))。不論 MCU/DSP 本身是多少位(8、16或32位),使用4+16信道的MSO混合信號(hào)示波器來檢視這些類型的信號(hào)都相當(dāng)合適不過。然而,對(duì)某些需要的通道數(shù)超過20個(gè)的高階應(yīng)用來說,例如有外部總線的微處理器系統(tǒng),或許需要考慮使用時(shí)間相互關(guān)聯(lián)的雙機(jī)解決方案:邏輯分析儀+示波器。LA+DSO/MSO解決方案的主要優(yōu)點(diǎn)之一是示波器信道和邏輯分析儀信道之間的時(shí)間可以相互關(guān)聯(lián),不僅是模擬和數(shù)字波形的時(shí)間是相互關(guān)聯(lián)的,而且兩部?jī)x器之間的時(shí)序光標(biāo)也可以相互關(guān)聯(lián)(如使用安捷倫的邏輯分析儀和示波器組合方案),這表示無論您將邏輯分析儀顯示屏上的時(shí)序光標(biāo)移到什么地方,示波器上相關(guān)聯(lián)的時(shí)序光標(biāo)也會(huì)移到同一個(gè)時(shí)間關(guān)聯(lián)的位置。這雖是一項(xiàng)簡(jiǎn)單的功能,但除非您使用的是安捷倫科技的DSO/MSO+邏輯分析儀,否則目前市面上所有的LA+DSO解決方案都無法提供這樣的功能。
由于MSO和邏輯分析儀都能提供多個(gè)邏輯采集信道,您可能會(huì)直覺地認(rèn)為將MSO和邏輯分析儀的時(shí)間相互關(guān)聯(lián)是多余的,但事實(shí)上,當(dāng)您需要較多的通道時(shí), MSO+LA通常才是最佳的解決方案(相較于DSO+LA),主要的原因在于MSO的許多功能都無法由“DSO+LA”的組合來取代。雖然使用時(shí)間上相互關(guān)聯(lián)的DSO+LA,可以讓您在同一個(gè)熒屏(LA的熒屏)上顯示所有的示波器波形和邏輯波形,但不幸的是,您將無法看到“活生生”、實(shí)時(shí)更新的顯示畫面 (邏輯信道和示波器信道在一個(gè)屏幕上同時(shí)更新)。做為一種除錯(cuò)工具,波形更新速率是非常重要的,會(huì)影響您能否揭露出設(shè)計(jì)中隱藏的問題,另外一個(gè)實(shí)際例子是,若要觀察DDR信號(hào)的讀眼圖或?qū)懷蹐D,您必須同時(shí)連接時(shí)鐘信號(hào)、片選信號(hào)、寫使能、行選、列選并它們狀態(tài)設(shè)置成和讀操作或?qū)懖僮?,同時(shí)用示波器的某個(gè)通道觀察數(shù)據(jù)信號(hào)的眼圖,該測(cè)量一方面需要快速波形更新率,另一方面要求邏輯通道的觸發(fā)抖動(dòng)很小,這兩點(diǎn)都是“DSO+LA”組合方案無法做到的。此外,安捷倫科技的MSO也是唯一可以同時(shí)對(duì)示波器信道和邏輯信道同時(shí)進(jìn)行觸發(fā)條件設(shè)定的(混合信號(hào)觸發(fā))工具。最后,如果20個(gè)混合模擬和數(shù)字信號(hào)的采集信道對(duì)您的應(yīng)用大部分時(shí)間來說已經(jīng)夠用了,那么MSO就可以做為您主要的首選工具,而不一定要將兩部?jī)x器合在一起,換句話說,您大部分的應(yīng)用只要使用MSO就夠了,唯有在必要時(shí),才需結(jié)合MSO和邏輯分析儀,這時(shí)利用兩臺(tái)儀器的全局光標(biāo)功能時(shí)間相關(guān)地同屏或分屏顯示和分析信號(hào)。
結(jié)語(yǔ)
當(dāng)您考慮要購(gòu)買下一部測(cè)試設(shè)備,以測(cè)試混合信號(hào)的設(shè)計(jì)時(shí),了解不同解決方案的獨(dú)特價(jià)值將能協(xié)助您做出正確的選擇。安捷倫科技建議使用MSO或MSO+LA 的解決方案(視您的預(yù)算和量測(cè)需求而定),這樣就足以協(xié)助您既有效又有效率地找出和解決各種問題了。安捷倫科技的MSO8000不僅是一部混合信號(hào)示波器,也是一套可以協(xié)助您找出許多電路問題根本原因的工具。
作者簡(jiǎn)介
杜吉偉畢業(yè)于中國(guó)南京電子工程大學(xué),主修電子工程及通訊系統(tǒng),目前是安捷倫科技亞太地區(qū)的示波器產(chǎn)品線經(jīng)理。先前曾任職VXI和邏輯分析儀技術(shù)支持工程師,于2000年加入安捷倫科技,主要擔(dān)任新興技術(shù)的營(yíng)銷工程師。閑暇之余,吉偉喜歡和朋友一起爬山。
Johnnie Hancock畢業(yè)于南佛羅里達(dá)大學(xué)(University of South Florida)的電機(jī)工程系,目前是安捷倫科技電子儀器事業(yè)群的信號(hào)完整性應(yīng)用工程師。Johnnie于1979年加入惠普科技,擔(dān)任內(nèi)嵌式硬件設(shè)計(jì)工程師一職,在數(shù)字示波器的放大器校準(zhǔn)上擁有一項(xiàng)專利,目前則是負(fù)責(zé)安捷倫數(shù)字示波器的全球應(yīng)用支持及推展工作。閑暇之余,Johnnie喜歡從事越野賽跑活動(dòng),以及整修他那棟已經(jīng)有110年悠久歷史的維多利亞式別墅。
評(píng)論