摘要:今日依據(jù)微控制器(MCU)和
數(shù)字信號(hào)處理器(DSP)所設(shè)計(jì)的嵌入式系統(tǒng)功能是越來(lái)越復(fù)雜,其腳位數(shù)設(shè)計(jì)也越來(lái)越多,不過(guò)當(dāng)您需要數(shù)字設(shè)計(jì)的重要信息時(shí),也唯有設(shè)計(jì)復(fù)雜精密的邏輯分析儀才能處理*電子產(chǎn)業(yè)不斷增加的性能及復(fù)雜性。文章介紹了如何利用邏輯分析儀來(lái)縮短嵌入式系統(tǒng)的開(kāi)發(fā)時(shí)間的方法,供讀者們參考。
前言:
今日依據(jù)微控制器(MCU)和數(shù)字信號(hào)處理器(DSP)所設(shè)計(jì)的嵌入式系統(tǒng)功能是越來(lái)越復(fù)雜,其腳位數(shù)設(shè)計(jì)也越來(lái)越多,不過(guò)當(dāng)您需要數(shù)字設(shè)計(jì)的重要信息時(shí),也唯有設(shè)計(jì)復(fù)雜精密的邏輯分析儀才能處理*電子產(chǎn)業(yè)不斷增加的性能及復(fù)雜性。
所以使用邏輯分析儀通常是*(有時(shí)是*)的辦法;例如,若要觀測(cè)狀態(tài)模式中的邏輯,或在眾多的頻道中檢查時(shí)序關(guān)系,您就非得使用邏輯分析儀不可了。
目前還是有許多研發(fā)工程師依賴著其所熟悉的示波器,用來(lái)量測(cè)大量的數(shù)字信號(hào)和除錯(cuò)(Debug)復(fù)雜的數(shù)字電路設(shè)計(jì),也許您會(huì)覺(jué)得為什么不可以用示波器來(lái)量測(cè),當(dāng)然可以,只是當(dāng)您使用邏輯分析儀來(lái)替代示波器量測(cè)和除錯(cuò)(Debug)數(shù)字的相關(guān)信號(hào)時(shí),您的研發(fā)時(shí)間將會(huì)大量的縮短,節(jié)省您寶貴的研發(fā)時(shí)間,現(xiàn)在您不用馬上相信我,但當(dāng)您看完下列說(shuō)明后,相信您馬上會(huì)愛(ài)上邏輯分析儀!
量測(cè)通道:
在目前的新式微處理器和微控制器其設(shè)計(jì)的腳位數(shù)是越來(lái)越多,所以如果還是使用示波器(量測(cè)通道2~4CH)來(lái)觀察分析的話,那肯定會(huì)浪費(fèi)很多的研發(fā)時(shí)間,進(jìn)而造成新產(chǎn)品的上市時(shí)間的延長(zhǎng)。以下舉例說(shuō)明:假設(shè)有一微處理器(MCU)是20PIN的腳位數(shù),共有8個(gè)I/O腳位數(shù),當(dāng)工程師想要同一時(shí)間來(lái)觀查分析所有I/O腳之變化和相互間的關(guān)系;此時(shí)使用示波器就沒(méi)辦法辦到,因?yàn)槭静ㄆ鱶ui多就只有四個(gè)量測(cè)通道,所以zui多一次可以同時(shí)間觀察四個(gè)腳位的I/O變化,所以要觀察八個(gè)腳位的I/O變化,并不是用示波器看兩次,就可以達(dá)到,而且要相互間的關(guān)系也很難作判斷,我想幾乎所有工程師只要使用示波器用來(lái)量測(cè)此案例,一定都會(huì)非??鄲溃依速M(fèi)在此段的量測(cè)時(shí)間差不多是占整個(gè)研發(fā)周期1/4;但是假如工程師用邏輯分析儀來(lái)量測(cè)此案例時(shí),您知道會(huì)有多簡(jiǎn)單嗎?因?yàn)檫壿嫹治鰞x擁有的量測(cè)通道從16~數(shù)百個(gè)不等(如圖一),邏輯分析儀可以一次將同一時(shí)間八個(gè)腳位的I/O變化和相互間的關(guān)系,顯示在同一窗口上,可以讓工程師很容易的去觀察分析,并發(fā)現(xiàn)相互間之差異性,如此,使用邏輯分析儀量測(cè)此案例,將會(huì)縮短1/5的研發(fā)周期。
也許您會(huì)認(rèn)為那么多的量測(cè)信道,怎么會(huì)記得哪一個(gè)通道量測(cè)哪一個(gè)腳位或是信號(hào),關(guān)于這一點(diǎn)邏輯分析儀也幫您設(shè)想到了,您可以針對(duì)每個(gè)量測(cè)通道更改名稱,只要將通道名稱更改為您所量測(cè)的腳位或是信號(hào)名稱,哪怕您將此波形檔案儲(chǔ)存起來(lái),等后續(xù)您還要再來(lái)分析此波形時(shí),也會(huì)很容易進(jìn)入分析狀況,不會(huì)*搞不清楚狀況。
圖一邏輯分析儀擁有多個(gè)量測(cè)通道
放大分析功能:
在目前的消費(fèi)性數(shù)字電子產(chǎn)品,其功能設(shè)計(jì)是越來(lái)越精良,也越來(lái)越復(fù)雜,且其所要求的質(zhì)量卻不會(huì)因?yàn)楣δ苄缘奶岣?,而降低產(chǎn)品質(zhì)量,反而是要求越來(lái)越高,所以研發(fā)工程師所面臨的問(wèn)題,就是其所要觀察分析的波形數(shù)據(jù)長(zhǎng)度越來(lái)越長(zhǎng),而且能把一個(gè)CYCLE程序的波形數(shù)據(jù)全部顯示出來(lái),供工程師可以一次性的觀察分析波形數(shù)據(jù)。以下舉例說(shuō)明:有一工程師用MCU設(shè)計(jì)了一個(gè)八位的計(jì)數(shù)器程序,從0x00開(kāi)始計(jì)數(shù)到0xFF結(jié)束,且其震蕩器是使用8MHz;此時(shí)當(dāng)工程師使用示波器和邏輯分析儀來(lái)觀察分析此計(jì)數(shù)器的計(jì)數(shù)從0x00~0xFF是否正常時(shí),它們是否可以一次將0x00~0XFF的波形數(shù)據(jù)全部抓取顯示出來(lái)?(如圖二)所抓取下來(lái)的波形數(shù)據(jù)是否可以全部無(wú)限制放大來(lái)分析和放大后波形是否會(huì)失真?(如圖三和圖四)
圖二均可以抓取0x00~0xFF的波形
圖三根據(jù)上圖目測(cè)發(fā)現(xiàn)Bug的波形,將波形放大來(lái)觀察分析
圖四當(dāng)示波器再放大時(shí),波形顯示已經(jīng)是失真狀態(tài),但是邏輯分析儀卻沒(méi)有這個(gè)限制,反而利用水平放大的功能,來(lái)尋找目測(cè)難以發(fā)現(xiàn)的Bug,如圖本來(lái)0xFF之后是要接0x00,但是經(jīng)過(guò)放大后,卻發(fā)現(xiàn)在0xFF和0x00之間有一個(gè)Bug,波形數(shù)據(jù)為0xF0,而且這也要?dú)w功邏輯分析儀擁有多個(gè)量測(cè)信道和總線分析的功能,才能很容易發(fā)現(xiàn)這個(gè)Bug。
總線(Bus)分析功能:
相信工程師們對(duì)這各名詞應(yīng)該是很熟悉,因?yàn)樵诋a(chǎn)品的研發(fā)上,處處都可以看得到它的身影,如數(shù)據(jù)總線(DataBus)、地址總線(AddressBus)和控制總線(ControlBus)等,它的好用之處相信工程師們也應(yīng)該很清楚,但是工程師對(duì)它是又愛(ài)又恨,我為什么會(huì)這樣說(shuō)呢?因?yàn)榭偩€(Bus)大部分都是8~16bits不等,所以當(dāng)工程師要用示波器來(lái)解讀總線(Bus)里的信息時(shí),就非常麻煩了,因?yàn)槭静ㄆ鱶ui多就只有四個(gè)量測(cè)通道,所以zui多一次可以同時(shí)間觀察4bits的信息,所以要觀察8bits信息,用示波器就要分兩次來(lái)量測(cè),并且要做記錄,工程師再根據(jù)記錄來(lái)判讀總線(Bus)里的信息,假如要轉(zhuǎn)換進(jìn)制的話,工程師還要計(jì)算才會(huì)得知轉(zhuǎn)換后的進(jìn)制值是多少,所以用示波器來(lái)量測(cè)解讀總線(Bus)是非常不明智的選擇,而且浪費(fèi)在此段的量測(cè)時(shí)間差不多也是占整個(gè)研發(fā)周期1/4;但是假如工程師用邏輯分析儀來(lái)量測(cè)解讀總線(Bus)時(shí),您知道會(huì)有多容易嗎?因?yàn)檫壿嫹治鰞x本身就具有分析總線(Bus)的功能,您只要將要分析的八個(gè)I/O(8bits)組合起來(lái)成為一總線(Bus)(如圖五),還可以專為此總線(Bus)命名,如此工程師在分析總線(Bus)時(shí),就可以很容易的來(lái)解讀總線(Bus)里的信息(如圖六),并且邏輯分析儀還具備進(jìn)制轉(zhuǎn)換的功能,您只要選擇轉(zhuǎn)換后的進(jìn)制種類,邏輯分析儀就會(huì)自動(dòng)幫您轉(zhuǎn)換,并把轉(zhuǎn)換后的進(jìn)制值顯示出來(lái)(如圖七),讓您不用在浪費(fèi)時(shí)間去做進(jìn)制的轉(zhuǎn)換計(jì)算,如此使用邏輯分析儀量測(cè)此案例,將會(huì)縮短1/5的研發(fā)周期。
圖五匯流排分析功能設(shè)定
圖六匯流排解讀顯示
圖七進(jìn)制轉(zhuǎn)換功能設(shè)定
觸發(fā)功能:
說(shuō)到觸發(fā)功能,相信工程師們都已經(jīng)很熟悉了,因?yàn)樵谀壳八械牧繙y(cè)儀器當(dāng)中,幾乎99%都擁有此功能,只是大家的觸發(fā)條件設(shè)定不同,假如工程師將觸發(fā)功能應(yīng)用的得心應(yīng)手,那量測(cè)儀器所抓取的波形數(shù)據(jù)將會(huì)是使用者zui想要分析的那一段,而不會(huì)造成讓量測(cè)儀器抓取一大推的無(wú)用數(shù)據(jù),進(jìn)而浪費(fèi)工程師在Debug的時(shí)間。
觸發(fā)功能是如此的重要,但是示波器的觸發(fā)功能的條件設(shè)定卻只有兩種邊緣觸發(fā)(上升緣和下降緣),而且只能單一量測(cè)通道可以設(shè)定觸發(fā)條件,如此少的觸發(fā)功能,相信工程師使用起來(lái)真的是苦不堪言,因?yàn)槌3K鶖X取到的波形數(shù)據(jù)不是他所想要分析的,進(jìn)而延長(zhǎng)產(chǎn)品的開(kāi)發(fā)時(shí)間;但是說(shuō)到邏輯分析儀之觸發(fā)功能,其功能之強(qiáng)大,要強(qiáng)過(guò)示波器好幾千倍,您一定會(huì)認(rèn)為我夸大其辭,但是相信您看完我下面之介紹,一定會(huì)改變您的想法,邏輯分析儀除了可以設(shè)定觸發(fā)條件外,還有觸發(fā)參考電壓準(zhǔn)位、觸發(fā)位置、觸發(fā)次數(shù)、觸發(fā)頁(yè)、觸發(fā)延遲各種觸發(fā)功能之應(yīng)用,邏輯分析儀之觸發(fā)條件設(shè)定共有六種(如圖八),任意信號(hào)、高準(zhǔn)位、低準(zhǔn)位、上升緣、下降緣和任一邊緣供工程師所需來(lái)設(shè)定,而且所有的量測(cè)信道均可以做組合觸發(fā)設(shè)定,但需注意要所有觸發(fā)條件同時(shí)成立時(shí)(即所有觸發(fā)通道做AND),才會(huì)觸發(fā)成立,光這一個(gè)觸發(fā)條件設(shè)定就已經(jīng)比示波器還要強(qiáng)大,假如工程師再加入觸發(fā)位置之選擇,可以同時(shí)觀察觸發(fā)條件成立之前后的波形數(shù)據(jù),或是利用觸發(fā)次數(shù)、觸發(fā)頁(yè)和觸發(fā)延遲可用來(lái)分析觸發(fā)后更后面的波形數(shù)據(jù),以解決內(nèi)存深度的不足,進(jìn)而可以分析長(zhǎng)時(shí)間大量的波形數(shù)據(jù)。
圖八觸發(fā)條件設(shè)定
同時(shí)觀看模擬和數(shù)字信號(hào)之方法:
目前市場(chǎng)上很少有產(chǎn)品電路是純數(shù)字或模擬設(shè)計(jì),下面介紹利用邏輯分析儀之觸發(fā)狀態(tài)輸出(TriggerOut)和示波器的外部觸發(fā)源(EXTTrigger)搭配使用,用以達(dá)到在同一時(shí)間點(diǎn)可以同時(shí)抓取數(shù)字和模擬信號(hào);當(dāng)工程師所設(shè)定的觸發(fā)條件成立時(shí),觸發(fā)狀態(tài)輸出(TriggerOut)腳位會(huì)輸出一上升緣波形,所以當(dāng)工程師想利用此信號(hào)輸出來(lái)觸發(fā)示波器,只需將此觸發(fā)狀態(tài)輸出(TriggerOut)腳位連接到示波器的外部觸發(fā)源(EXTTrigger),并將其觸發(fā)條件設(shè)定為EXTTrigger上升緣,如此使用者只需要執(zhí)行邏輯分析儀,就可以利用其觸發(fā)條件成立時(shí),即可以同時(shí)觸發(fā)示波器觸發(fā)條件成立來(lái)進(jìn)行相關(guān)量測(cè)動(dòng)作,其連接方式請(qǐng)看(如圖九)。
圖九示波器和邏輯分析儀搭配示意圖
結(jié)論:
綜合前面所述的邏輯分析儀功能,只是它強(qiáng)大功能的冰山一角,所以邏輯分析儀在嵌入式系統(tǒng)的研發(fā)過(guò)程量測(cè)當(dāng)中,是占有極大的關(guān)鍵地位,但是在目前市場(chǎng)整個(gè)產(chǎn)品研發(fā)當(dāng)中,示波器和邏輯分析儀其實(shí)是要相輔相成的,如此在產(chǎn)品的研發(fā)時(shí)間才會(huì)更加快速,也才會(huì)更加縮短產(chǎn)品的上市時(shí)間,進(jìn)而為公司賺取更大更多的獲利,所以工程師必須對(duì)示波器和邏輯分析儀這兩種量測(cè)儀器都要非常的熟悉,要如何運(yùn)用個(gè)別的特性來(lái)抓取自己所需的波形數(shù)據(jù),如何來(lái)搭配相互使用也是一大學(xué)問(wèn),這些問(wèn)題都是值得工程師們?nèi)ド钏际鞈]!