在嵌入式系統(tǒng)的開發(fā)過程中,串行總線的協(xié)議分析一直是一件令工程師頭疼的工作。在有邏輯分析儀的情況下,工程師需要進行復(fù)雜的觸發(fā)條件設(shè)定,才能捕獲到需要的數(shù)據(jù),這樣既需要昂貴的設(shè)備投資也要花費大量的時間進行儀器設(shè)置;隨著示波器技術(shù)的不斷發(fā)展,串行總線觸發(fā)和分析功能在一些高端示波器中出現(xiàn),并受到嵌入式工程師的歡迎。但不同廠家的示波器在串行總線分析方面的功能和性能是有很大區(qū)別的。
使用示波器進行串行總線觸發(fā)
使用普通示波器只能進行一般的邊沿觸發(fā)和脈寬觸發(fā),很難捕捉到復(fù)雜的串行總線波形。而使用帶有串行總線觸發(fā)功能的示波器可以方便地捕獲到需要的串行數(shù)據(jù)。橫河公司的DLM2000系列數(shù)字示波器支持多種常用串行總線的觸發(fā),包括CAN/LIN/I2C/SPI/UART,甚至可以對用戶自己定義的非標(biāo)準(zhǔn)串行總線進行觸發(fā)。根據(jù)每種總線結(jié)構(gòu)的不同,可以設(shè)置多種觸發(fā)模式。觸發(fā)模式越多,捕獲數(shù)據(jù)的能力就越強。
在嵌入式系統(tǒng)中,往往同時存在兩種甚至兩種以上的串行總線結(jié)構(gòu),例如汽車電子中CAN和LIN總線經(jīng)常同時被使用,也經(jīng)常需要分析兩種總線的通訊配合是否出現(xiàn)問題。而多數(shù)帶串行總線觸發(fā)功能的示波器同時只能觸發(fā)一種總線,要實現(xiàn)CAN和LIN總線同時觸發(fā),只能使用兩臺示波器,而兩臺示波器的同步問題也很難解決。DLM2000系列示波器的雙總線觸發(fā)功能則可以輕松實現(xiàn)任意兩種串行總線的組合觸發(fā)。
使用示波器進行串行總線解碼分析
觸發(fā)到需要的串行數(shù)據(jù)后,工程師面對的仍然是數(shù)據(jù)的原始波形,要想進行高效的總線分析,需要對波形進行解碼。目前,數(shù)字示波器中所用的解碼技術(shù)包括軟件解碼和硬件解碼。軟件解碼是將波形數(shù)據(jù)通過示波器中的軟件進行運算獲得解碼結(jié)果,雖然可以降低硬件成本,但對CPU的運算速度要求很高。在實際應(yīng)用中,采用軟件解碼的示波器解碼一次需要幾秒甚至十幾秒的時間。這樣的解碼速度已經(jīng)失去了實時分析的意義,因為大多數(shù)數(shù)據(jù)已經(jīng)在等待解碼中丟失了。少數(shù)高端示波器采用了硬件解碼技術(shù)解決了這一問題,使實時解碼分析成為可能。
在顯示解碼結(jié)果的同時,還可以顯示所有捕獲幀的解碼列表,非常便于波形與解碼結(jié)果的對應(yīng)觀測。
要獲得正確的解碼結(jié)果,需要根據(jù)不同的總線參數(shù)對示波器進行設(shè)置。以CAN總線分析為例,需要指定總線類型為CAN,設(shè)置CAN信號對應(yīng)的通道,通過調(diào)節(jié)觸發(fā)電平和時間軸對CAN總線進行觸發(fā),然后調(diào)節(jié)比特率,設(shè)置隱形電平等,如果是SPI總線,還要指定3線制或4線制,指定時鐘信號,片選信號。這個設(shè)置過程需要非常仔細(xì),其中任何一項設(shè)置得不合適,解碼結(jié)果都有可能出不來。尤其是比特率設(shè)置,稍有誤差,得到的解碼結(jié)果有可能就是錯的。
復(fù)雜的設(shè)置過程浪費了一部分調(diào)試時間,沒有充分發(fā)揮示波器提高開發(fā)效率的作用。而DLM2000示波器實現(xiàn)了串行總線觸發(fā)和解碼分析的自動設(shè)置,用戶只需要設(shè)置好總線類型和信號源通道,系統(tǒng)便可以自動調(diào)整比特率,觸發(fā)電平,隱形電平等其他設(shè)置,在短短兩秒鐘內(nèi)就可以將觸發(fā)波形和解碼結(jié)果同步顯示出來。這一功能使繁瑣的串行總線設(shè)置變得非常方便,大大提高了工程師的開發(fā)效率。
下面就幾種常用的串行總線介紹一下使用示波器進行串行總線分析的技巧。
CAN總線控制過程的記錄和分析
在進行CAN總線分析時,工程師通常希望示波器能夠捕獲某個完整的控制過程,比如車窗的開啟或關(guān)閉過程。這些過程通常會持續(xù)幾秒鐘或十幾秒鐘時間,記錄這么長時間的數(shù)據(jù)要求示波器有很大的存儲深度。而目前200MHz~500MHz帶寬的示波器一般每個通道的存儲深度只有10Mpoints以下,想記錄幾秒鐘的CAN總線波形是很難做到的。DLM2000可以擴充到單通道125Mpoints,這樣就可以完整地記錄一個十幾秒甚至更長的控制過程。
對于一個過程的分析,最重要的就是這個過程的開始階段和結(jié)束階段。當(dāng)捕獲到一個控制過程之后,用戶可以打開一個放大窗口,移動到過程的起始點,觀測起始點的細(xì)節(jié)情況。如果想同時觀測結(jié)束點的細(xì)節(jié),一般示波器就無能為力了,而DLM2000繼承了橫河DL系列示波器的雙窗口放大的獨特功能,可以同時觀測兩個位置的波形細(xì)節(jié),并獨立調(diào)節(jié)縮放比例。
偶發(fā)異常信號的捕獲
在將時基Time/Div調(diào)節(jié)到比較小用來觀測波形細(xì)節(jié)時,有可能會有一些偶發(fā)的異常信號或者錯誤幀,當(dāng)用戶想抓住這些波形時已經(jīng)來不及了,如果使用歷史存儲功能(也被稱為分段存儲技術(shù))就可以解決這一問題。DLM2000可以將大內(nèi)存平均分割成若干塊,捕獲到的一屏屏波形沒有被馬上覆蓋掉,而被存入了歷史內(nèi)存中。這樣的話,即使發(fā)現(xiàn)異常信號沒有被鎖定在屏幕上,只要用戶及時按下了采集停止鍵,異常信號很容易在歷史內(nèi)存中被檢索出來。
CAN/LIN兩種總線同時觸發(fā)分析
在汽車電子應(yīng)用中,CAN總線總是與LIN總線配合使用,所以經(jīng)常會需要同時分析CAN總線和LIN總線。前面已經(jīng)介紹過,DLM2000具有雙總線觸發(fā)功能,可以同時進行CAN和LIN總線的組合觸發(fā)。不但如此,兩種總線的解碼分析也可以同步進行。如圖3所示,兩種總線的解碼結(jié)果列表可以同時顯示在屏幕上,利用雙窗口放大功能可以分別觀測兩種總線的波形細(xì)節(jié)。當(dāng)在列表中選擇不同的解碼項時,放大窗口的波形會自動切換到所對應(yīng)的波形,非常便于觀測。
CAN總線比特率設(shè)置
CAN總線的標(biāo)準(zhǔn)速率一般是250kbit/s或500kbit/s。但是在研發(fā)階段,出于開發(fā)測試需要,工程師經(jīng)常會將比特率調(diào)低或者調(diào)高,這樣如果示波器的總線參數(shù)只能設(shè)定為250kbit/s或500kbit/s,則不能對非標(biāo)準(zhǔn)速率的CAN總線進行解碼。DLM2000可以靈活設(shè)置總線比特率,CAN總線速率可以在10.0kbit/s至1.000Mbit/s的范圍內(nèi)以0.1kbit/s的步進值任意設(shè)定。
靈活使用濾波功能
在汽車電子實驗室的實際測試中,CAN總線信號會受到馬達點火等因素的干擾,使捕獲的波形帶有很多噪聲。如果想獲得清晰的總線信號需要將噪聲濾除。而一般示波器最低只有200MHz和20MHz兩種低通濾波器,對于20MHz以下的噪聲就無能為力了。而DLM2000標(biāo)準(zhǔn)配置中帶有200MHz至 8kHz的14種濾波器,可有效濾除各種高頻噪聲。
如果使用內(nèi)置的運算濾波功能,可以實現(xiàn)0.01Hz至滿帶寬的高通及低通濾波,既可以濾掉高頻噪聲,也可以濾掉基本信號來觀測高頻噪聲。另外,通過設(shè)置合適的截止頻率可以很容易獲得調(diào)制信號的基波。
串行總線應(yīng)用越來越廣泛,出現(xiàn)了專門的串行總線協(xié)議分析工具,一般包括數(shù)據(jù)采集硬件和PC端軟件。這種設(shè)備可在PC端對串行總線協(xié)議進行詳細(xì)的解析和分析,但是其價格一般非常昂貴,功能局限于總現(xiàn)協(xié)議分析。另外,這類設(shè)備的硬件部分的采樣率比較有限,對于波形的細(xì)節(jié)分析,無法和示波器相比,由外部噪聲干擾產(chǎn)生的總線錯誤將很難檢測出來。而帶有強大濾波功能的示波器既可以觀測真實的物理波形,又可以通過濾波功能獲得清晰的總線信號。
隨著科技的飛速發(fā)展,串行總線技術(shù)也在不斷更新,應(yīng)用越來越廣泛。在嵌入式開發(fā)非常普遍的今天,使用一款功能強大的示波器進行串行總線分析可以達到事半功倍的效果,簡化調(diào)試方式,提高開發(fā)效率。
-
嵌入式
+關(guān)注
關(guān)注
5059文章
18973瀏覽量
302032 -
示波器
+關(guān)注
關(guān)注
113文章
6164瀏覽量
184315 -
總線
+關(guān)注
關(guān)注
10文章
2858瀏覽量
87912
發(fā)布評論請先 登錄
相關(guān)推薦
評論