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