《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 串行總線的觸發(fā)和分析
串行總線的觸發(fā)和分析
摘要: 為滿足用戶(hù)對(duì)特殊串行總線調(diào)試的需求,一些測(cè)試儀器廠商推出了具備自定義串行總線觸發(fā)和分析功能的示波器產(chǎn)品,,用戶(hù)可根據(jù)自己的需要進(jìn)行簡(jiǎn)單的設(shè)定就能實(shí)現(xiàn)非通用串行總線的調(diào)試,。下文以橫河電機(jī)公司新推出的DLM2000示波器為例,,詳細(xì)說(shuō)明一下此種功能,。
Abstract:
Key words :

  隨著嵌入式技術(shù)的發(fā)展,,串行總線技術(shù)也被越來(lái)越多的應(yīng)用于各個(gè)領(lǐng)域,。比如CAN 是Controller Area Network 的縮寫(xiě)(以下稱(chēng)為CAN),,是ISO國(guó)際標(biāo)準(zhǔn)化的串行通信協(xié)議,。在當(dāng)前的汽車(chē)產(chǎn)業(yè)中,出于對(duì)安全性,、舒適性,、方便性、低公害,、低成本的要求,,各種各樣的電子控制系統(tǒng)被開(kāi)發(fā)了出來(lái)。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類(lèi)型及對(duì)可靠性的要求不盡相同,,由多條總線構(gòu)成的情況很多,,線束的數(shù)量也隨之增加。為適應(yīng)“減少線束的數(shù)量”,、“通過(guò)多個(gè)LAN,,進(jìn)行大量數(shù)據(jù)的高速通信”的需要,1986 年德國(guó)電氣商博世公司開(kāi)發(fā)出面向汽車(chē)的CAN 通信協(xié)議,。此后,,CAN 通過(guò)ISO11898 及ISO11519 進(jìn)行了標(biāo)準(zhǔn)化,現(xiàn)在在歐洲已是汽車(chē)網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議,。

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

  總線,,英文叫作“BUS”,,即我們中文的“公共車(chē)”,這是非常形象的比如,,公共車(chē)走的路線是一定的,,我們?nèi)魏稳硕伎梢宰曹?chē)去該條公共車(chē)路線的任意一個(gè)站點(diǎn)。如果把我們?nèi)吮茸魇请娮有盘?hào),,這就是為什么英文叫它為“BUS”而不是“CAR”的真正用意,。當(dāng)然,從專(zhuān)業(yè)上來(lái)說(shuō),,總線是一種描述電子信號(hào)傳輸線路的結(jié)構(gòu)形式,,是一類(lèi)信號(hào)線的集合,,是子系統(tǒng)間傳輸信息的公共通道。通過(guò)總線能使整個(gè)系統(tǒng)內(nèi)各部件之間的信息進(jìn)行傳輸,、交換,、共享和邏輯控制等功能。如在計(jì)算機(jī)系統(tǒng)中,,它是CPU,、內(nèi)存、輸入,、輸出設(shè)備傳遞信息的公用通道,,主機(jī)的各個(gè)部件通過(guò)主機(jī)相連接,外部設(shè)備通過(guò)相應(yīng)的接口電路再于總線相連接,。

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

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

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

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

  DLM2000支持標(biāo)準(zhǔn)的CAN/LIN/I2C/SPI/UART總線觸發(fā),,在串行總線觸發(fā)菜單中有一項(xiàng)是<用戶(hù)定義>(User Define),。進(jìn)入這一項(xiàng)就可以進(jìn)行自定義總線的觸發(fā)設(shè)置。在此菜單中可以進(jìn)行如下設(shè)置:

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

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

  時(shí)鐘(Clock):對(duì)于通過(guò)時(shí)鐘同步的總線,可以進(jìn)行時(shí)鐘的相關(guān)設(shè)置,,選擇時(shí)鐘源以及設(shè)定在時(shí)鐘信號(hào)的上升沿或下降沿進(jìn)行采樣,。

  片選(CS):當(dāng)使用時(shí)鐘同步信號(hào)時(shí),通過(guò)片選信號(hào)來(lái)控制數(shù)據(jù)的有效性,??梢栽O(shè)置片選源,以及高電平有效或者低電平有效,。

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

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

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

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

  數(shù)據(jù)碼型的長(zhǎng)度可以設(shè)為1~128位,,并制定按照二進(jìn)制或是十六進(jìn)制來(lái)設(shè)定碼型。

  比特率:當(dāng)沒(méi)有同步時(shí)鐘源時(shí),,可以對(duì)信號(hào)的比特率進(jìn)行設(shè)定,,設(shè)定范圍從1kbps至50Mbps,,步進(jìn)值為1kbps。

       下面是一個(gè)帶時(shí)鐘同步信號(hào)的自定義總線觸發(fā)示例,。

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

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

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

  自定義串行總線的分析:

  l 解碼設(shè)置

  進(jìn)行自定義總線的觸發(fā)之后,,就可以進(jìn)行解碼分析了。同樣要進(jìn)行相應(yīng)的設(shè)置,。與觸發(fā)的設(shè)置類(lèi)似,,要指定數(shù)據(jù)源、時(shí)鐘源,、片選源和鎖存源,,并進(jìn)行相應(yīng)的設(shè)定;對(duì)于沒(méi)有時(shí)鐘同步的總線,,還要指定比特率,,可設(shè)置范圍也是1kbps~50Mbps。之所以要設(shè)置解碼起始點(diǎn),,是因?yàn)槭静ㄆ鳑](méi)有內(nèi)置自定義總線的協(xié)議,,無(wú)法判斷總線的幀結(jié)構(gòu),所以需要手動(dòng)指定解碼的起始點(diǎn),。

自定義串行總線 分析設(shè)定

圖表4 自定義串行總線分析設(shè)定

  l  解碼顯示

  打開(kāi)解碼顯示功能,,就可以在數(shù)據(jù)波形的下方看到解碼的結(jié)果了。由于沒(méi)有內(nèi)置協(xié)議,,所以無(wú)法以幀結(jié)構(gòu)方式進(jìn)行顯示,。

 

自定義串行總線解碼顯示格式 設(shè)定

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

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

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

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

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

  MVB總線上的串行數(shù)據(jù)采用異步差分傳輸?shù)穆鼜厮固卮a,,曼徹斯特編碼中的每個(gè)數(shù)據(jù)位應(yīng)用以下規(guī)范編碼:

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

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

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

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

  需要注意的是開(kāi)始點(diǎn)的指定,。因?yàn)镸VB總線采用曼徹斯特編碼,不同于常用的高低電平來(lái)確定邏輯“0”和“1”的方式,,所以只有開(kāi)始點(diǎn)的位置很合適才能正確解碼,。

  設(shè)置好之后,解碼結(jié)果會(huì)顯示在波形下方,,通過(guò)人工對(duì)比可以簡(jiǎn)單判斷解碼是否正確,。通過(guò)顯示設(shè)置可以將解碼結(jié)果顯示為二進(jìn)制、十六進(jìn)制或者ASCII形式,,便于讀取,。

 

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

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

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

 

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