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