《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 自定義串行總線的觸發(fā)和分析
自定義串行總線的觸發(fā)和分析
摘要: 隨著嵌入式技術的發(fā)展,串行總線技術也被越來越多的應用于各個領域。比如I2C、SPI總線常被用于消費電子設備之中,CAN、LIN總線則在汽車電子領域被廣泛應用。
Abstract:
Key words :

隨著嵌入式技術的發(fā)展,串行總線技術也被越來越多的應用于各個領域。比如I2C、SPI總線常被用于消費電子設備之中,CAN、LIN總線則在汽車電子領域被廣泛應用。為滿足開發(fā)者分析調試的需要,目前一些高端的數(shù)字示波器產(chǎn)品已經(jīng)加入了串行總線的觸發(fā)和分析功能?;旧隙际轻槍δ壳爸髁鞯耐ㄓ么锌偩€協(xié)議,如I2C、SPI、CAN、LIN、UART等,可以滿足大部分串行總線調試的需求。

但是,在一些特殊情況下,開發(fā)者所要調試的可能不是這種應用廣泛的串行總線,比如只有列車上才會用到的WTB總線和MVB總線;開發(fā)者也可能要對通用串行總線協(xié)議進行修改來滿足自己的應用需要,從而形成一種非標準的串行總線協(xié)議。在這些情況下,一般示波器提供的串行總線功能就無法勝任。開發(fā)者或者付出高額成本采用邏輯分析儀進行總線分析,或者使用比較原始的方法來手動分析,費時費力。

為滿足用戶對特殊串行總線調試的需求,一些測試儀器廠商推出了具備自定義串行總線觸發(fā)和分析功能的示波器產(chǎn)品,用戶可根據(jù)自己的需要進行簡單的設定就能實現(xiàn)非通用串行總線的調試。下文以橫河電機公司新推出的DLM2000示波器為例,詳細說明一下此種功能。

串行總線的分析功能分為兩個部分,總線觸發(fā)和總線分析。

自定義串行總線的觸發(fā):

自定義串行總線 觸發(fā)設定菜單

圖表1 自定義串行總線觸發(fā)設定菜單

DLM2000支持標準的CAN/LIN/I2C/SPI/UART總線觸發(fā),在串行總線觸發(fā)菜單中有一項是<用戶定義>(User Define)。進入這一項就可以進行自定義總線的觸發(fā)設置。在此菜單中可以進行如下設置:  

數(shù)據(jù)源(DATA:指定通道作為數(shù)據(jù)信號源。

激活電平(Active:指定將高電平或者低電平設為邏輯1。

時鐘(Clock:對于通過時鐘同步的總線,可以進行時鐘的相關設置,選擇時鐘源以及設定在時鐘信號的上升沿或下降沿進行采樣。

片選(CS:當使用時鐘同步信號時,通過片選信號來控制數(shù)據(jù)的有效性。可以設置片選源,以及高電平有效或者低電平有效。

鎖存(Latch:可以指定時鐘同步采樣的數(shù)據(jù)源碼型與指定碼型進行比較的時間。可以是定鎖存源,以及在鎖存源的上升沿或是下降沿進行比較。

觸發(fā)條件:可以將數(shù)據(jù)碼型作為觸發(fā)條件使用。當采樣得到的數(shù)據(jù)源的碼型與指定碼型一致時,數(shù)據(jù)碼型觸發(fā)條件成立。

 

自定義串行總線 觸發(fā)條件設定

圖表2 自定義串行總線觸發(fā)條件設定

數(shù)據(jù)碼型的長度可以設為1~128位,并制定按照二進制或是十六進制來設定碼型。

比特率:當沒有同步時鐘源時,可以對信號的比特率進行設定,設定范圍從1kbps至50Mbps,步進值為1kbps。

 

下面是一個帶時鐘同步信號的自定義總線觸發(fā)示例。

首先正確設置時鐘源、數(shù)據(jù)源、片選信號和鎖存信號,再設置好相應的觸發(fā)條件,就可以像通用串行總線一樣進行觸發(fā),捕獲所需要的信號波形。

 

時鐘同步串行總線 觸發(fā)示例

圖表3 時鐘同步串行總線觸發(fā)示例

 

自定義串行總線的分析:

l         解碼設置

進行自定義總線的觸發(fā)之后,就可以進行解碼分析了。同樣要進行相應的設置。與觸發(fā)的設置類似,要指定數(shù)據(jù)源、時鐘源、片選源和鎖存源,并進行相應的設定;對于沒有時鐘同步的總線,還要指定比特率,可設置范圍也是1kbps~50Mbps。然后需要設置解碼的起始點。之所以要設置解碼起始點,是因為示波器沒有內置自定義總線的協(xié)議,無法判斷總線的幀結構,所以需要手動指定解碼的起始點。

 

自定義串行總線 分析設定

圖表4 自定義串行總線分析設定

l         解碼顯示

打開解碼顯示功能,就可以在數(shù)據(jù)波形的下方看到解碼的結果了。不過解碼顯示只有在關閉時鐘時才能出現(xiàn)。解碼結果可以以二進制或者十六進制進行顯示。由于沒有內置協(xié)議,所以無法以幀結構方式進行顯示。

 

自定義串行總線解碼顯示格式 設定

圖表5 自定義串行總線解碼顯示格式設定

l         數(shù)據(jù)搜索

如果想在大量的數(shù)據(jù)中找到自己想要的數(shù)據(jù),可以使用搜索功能,指定搜索的數(shù)據(jù)位數(shù)以及數(shù)據(jù)碼型,執(zhí)行搜索后很快就會將搜索到的結果標記出來并顯示在縮放窗口中。搜索設定與觸發(fā)條件設定類似。

 

下面以列車上常用的MVB串行總線為例,介紹自定義串行總線功能的使用方法。

多功能車廂總線MVB(Multifunction Vehicle Bus)是列車通信網(wǎng)絡TCN(Train Communication Network)為實現(xiàn)位于同一車輛或固定重聯(lián)的不同車輛中的標準設備之間的數(shù)據(jù)通信而定義的總線標準。

MVB總線上的串行數(shù)據(jù)采用異步差分傳輸?shù)?b>曼徹斯特碼,曼徹斯特編碼中的每個數(shù)據(jù)位應用以下規(guī)范編碼:

a)一個“1”的編碼在位元的前半部分“高”,后半部分“低”;

b)一個“0”的編碼在位元的前半部分“低”,后半部分“高”;

如果曼徹斯特碼中出現(xiàn)整個位元的高電平(NH)或整個位元的低電平(NL),則被認為非數(shù)據(jù)符,用于特殊場合,如:幀頭,幀尾標識。

MVB總線屬于異步傳輸總線,所以在進行觸發(fā)和分析時不需要設置時鐘源、片選和鎖存等信號,只需要設定正確的比特率與合適的開始點。MVB總線的比特率一般為1.5Mbps,正確設置就可以了。

需要注意的是開始點的指定。因為MVB總線采用曼徹斯特編碼,不同于常用的高低電平來確定邏輯“0”和“1”的方式,所以只有開始點的位置很合適才能正確解碼。

設置好之后,解碼結果會顯示在波形下方,通過人工對比可以簡單判斷解碼是否正確。通過顯示設置可以將解碼結果顯示為二進制、十六進制或者ASCII形式,便于讀取。

MVB 串行總線觸發(fā)分析

圖表6  MVB串行總線觸發(fā)分析

 

如上面示例那樣,如果所調試的總線不是CAN,LIN,I2C,SPI以及UART這些通用串行總線,DLM2000的自定義串行總線分析功能可在一定程度上為用戶的分析工作提供便利,而且不用付出高昂的費用。這也是當初開發(fā)這個功能的初衷。

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。