新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 如何用示波器測(cè)試CAN信號(hào)

如何用示波器測(cè)試CAN信號(hào)

作者: 時(shí)間:2024-04-22 來源: 收藏

作為目前車載網(wǎng)絡(luò)領(lǐng)域最成熟、應(yīng)用最廣泛的通信總線之一,CAN總線具有傳輸可靠性高、速度快、易用等特點(diǎn)。由于其涉及到用戶的人身安全,所以在汽車研發(fā)、生產(chǎn)、檢測(cè)、維修等過程中均需做嚴(yán)格的測(cè)試。

由于CAN信號(hào)是差分信號(hào),在測(cè)試過程中一般需要使用差分探頭來進(jìn)行測(cè)試,但在研發(fā)階段的板級(jí)測(cè)試中,確認(rèn)安全的前提下可以使用普通低壓無源探頭進(jìn)行測(cè)試。今天給大家介紹SDS5000X標(biāo)配的CAN總線觸發(fā)與解碼,了解是如何測(cè)試CAN信號(hào)。本文將以SDS5054X+STB3演示板+普通無源探頭展示CAN的測(cè)試,供大家參考。


1. CAN協(xié)議

在測(cè)試前需要充分了解CAN 協(xié)議。

CAN協(xié)議有4種幀類型,分別為數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀、過載幀。其中數(shù)據(jù)幀和遠(yuǎn)程幀又分為標(biāo)準(zhǔn)格式和擴(kuò)展格式兩種。標(biāo)準(zhǔn)格式的標(biāo)識(shí)符為11位,擴(kuò)展幀為29位。


1. 1、數(shù)據(jù)幀

由7個(gè)不同的場(chǎng)組成。分別為幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、CRC場(chǎng)、應(yīng)答場(chǎng)、幀結(jié)尾。
 

本文引用地址:http://butianyuan.cn/article/202404/457901.htm

 

1.1.1、幀起始

(SOF)標(biāo)志數(shù)據(jù)幀和遠(yuǎn)程幀的開始,僅由一個(gè)“顯性”(邏輯電平“0”為顯性電平,“1”為隱性電平)位組成,只有在總線空閑時(shí)才允許發(fā)送信號(hào)。

1.1.2、仲裁場(chǎng)

CAN總線上發(fā)送的每一條報(bào)文都具有唯一的一個(gè)11位或29位的ID。CAN總線狀態(tài)取決于二進(jìn)制數(shù)“0”而不是“1”,所以ID號(hào)越小,則該報(bào)文擁有越高的優(yōu)先權(quán)。因此一個(gè)為全“0”標(biāo)志符的報(bào)文具有總線傳輸上的最高優(yōu)先權(quán)。

標(biāo)準(zhǔn)格式幀和擴(kuò)展格式幀的仲裁場(chǎng)格式不同:

 

  • 標(biāo)準(zhǔn)格式里,仲裁場(chǎng)由11位識(shí)別符和RTR位組成。識(shí)別符位為ID28…ID18。識(shí)別符后為RTR位。RTR位在數(shù)據(jù)幀必須為“顯性”,在遠(yuǎn)程幀必須為“隱性”。

  • 擴(kuò)展格式里,仲裁場(chǎng)包括29位識(shí)別符ID28…ID0(基本ID 11位,擴(kuò)展ID 18位)、SRR位、IDE位、RTR位?;綢D首先發(fā)送,其次是SRR、IDE位。



1.1.3、控制場(chǎng)

控制場(chǎng)由6個(gè)位組成。標(biāo)準(zhǔn)格式里的幀包括數(shù)據(jù)長(zhǎng)度代碼,IDE位及保留位R0。擴(kuò)展格式里的幀包括數(shù)據(jù)長(zhǎng)度和保留位R1和R0。保留位必須顯性發(fā)送。

 


1.1.4、數(shù)據(jù)場(chǎng)

數(shù)據(jù)場(chǎng)由數(shù)據(jù)幀中的發(fā)送數(shù)據(jù)組成。它可以為0-8個(gè)字節(jié),每字節(jié)包含了8個(gè)位,MSB先發(fā)送。

1.1.5、CRC場(chǎng)

CRC場(chǎng)包括CRC序列,其后是CRC界定符。CRC序列為循環(huán)冗余檢驗(yàn)碼。CRC序列之后是CRC界定符,它包含一個(gè)單獨(dú)的“隱性”位。


1.1.6、應(yīng)答場(chǎng)

應(yīng)答場(chǎng)長(zhǎng)度為2位。包含應(yīng)答間隙和應(yīng)答界定符。在應(yīng)答聲里,發(fā)送兩個(gè)“隱性”位,當(dāng)接收器正確地接收到有效報(bào)文,接收器就會(huì)在應(yīng)答間隔期間向發(fā)送器發(fā)送“顯性”位以示應(yīng)答。

1.1.7、幀結(jié)尾

每一個(gè)數(shù)據(jù)幀和遠(yuǎn)程幀均由一標(biāo)志序列界定。由7個(gè)“隱性”位組成。


1.2、遠(yuǎn)程幀

遠(yuǎn)程幀目的在于請(qǐng)求發(fā)送具有同一標(biāo)識(shí)符的數(shù)據(jù)幀;遠(yuǎn)程幀由6個(gè)不同位的場(chǎng)組成。分別為幀起始、仲裁場(chǎng)、控制場(chǎng)、CRC場(chǎng)、應(yīng)答場(chǎng)、幀結(jié)尾。與數(shù)據(jù)幀相反,遠(yuǎn)程幀的RTR位是“隱性”的。

1.3、錯(cuò)誤幀

錯(cuò)誤幀由錯(cuò)誤標(biāo)志和錯(cuò)誤界定符兩部分組成:
 

  • 錯(cuò)誤標(biāo)志分為主動(dòng)的錯(cuò)誤標(biāo)志和被動(dòng)的錯(cuò)誤標(biāo)志。主動(dòng)的錯(cuò)誤標(biāo)志由6個(gè)連續(xù)的“顯性”位組成,被動(dòng)的錯(cuò)誤標(biāo)志由6個(gè)連續(xù)的“隱性”位組成。

  • 錯(cuò)誤界定符:錯(cuò)誤界定符包括8個(gè)“隱性”位。


1.4、過載幀

過載幀包括過載標(biāo)志和過載界定符。過載標(biāo)志由6個(gè)“顯性”位組成;過載界定符包括8個(gè)“隱性”位。


2. 測(cè)試

在充分了解CAN協(xié)議后,接下來通過展示如何測(cè)試CAN總線。示波器在測(cè)試總線時(shí)一般使用觸發(fā)和解碼同時(shí)進(jìn)行。觸發(fā)可以根據(jù)實(shí)際的需求捕獲預(yù)期事件,而解碼則可以把捕獲到的信號(hào)進(jìn)行解碼。

2.1、 觸發(fā)配置

首先我們通過STB3演示板輸出CAN信號(hào)并使用無源探頭通過測(cè)試CAN_L和GND,接入到示波器,然后根據(jù)信號(hào)特征設(shè)置合適的電壓和時(shí)基檔位。

配置如下:


2.1.1、總線選擇

首先進(jìn)入觸發(fā)菜單,類型選擇為“總線”,總線協(xié)議設(shè)置為“CAN”。如圖1所示。


圖1:總線選擇


2.1.2、信號(hào)配置

進(jìn)入信號(hào)菜單,信源設(shè)置為信號(hào)輸入通道,本次輸入通道為C1。閾值電平需設(shè)置到波形區(qū)域內(nèi),通常為波形中部。如圖2所示。


圖2:信號(hào)配置


2.1.3、觸發(fā)配置

進(jìn)入觸發(fā)設(shè)置菜單,設(shè)置合適的觸發(fā)條件,如圖3所示。從圖可以看到觸發(fā)條件分為開始條件、遠(yuǎn)程幀、ID、ID+數(shù)據(jù)、錯(cuò)誤幀。從上節(jié)CAN協(xié)議可以知道,這些觸發(fā)條件均為CAN協(xié)議的里規(guī)定的幀特征,是捕獲CAN信號(hào)的核心。根據(jù)需求設(shè)定觸發(fā)條件,進(jìn)而監(jiān)控CAN總線上的信息。

  • 開始條件:即為數(shù)據(jù)幀和遠(yuǎn)程幀的幀起始(SOF)。把開始條件作為觸發(fā)條件時(shí),示波器捕獲所有具有SOF特征的信號(hào)。

  • 遠(yuǎn)程幀:遠(yuǎn)程幀的結(jié)構(gòu)與數(shù)據(jù)幀類似但不傳輸數(shù)據(jù),只為傳輸數(shù)據(jù)作初始化。其顯著的標(biāo)志是RTR為“隱性”電平。設(shè)置為此條件時(shí),示波器將只捕獲遠(yuǎn)程幀。

  • ID(地址):為數(shù)據(jù)幀和遠(yuǎn)程幀的仲裁場(chǎng)識(shí)別符。識(shí)別符ID越小優(yōu)先級(jí)越高。

  • ID+數(shù)據(jù):專門為數(shù)據(jù)幀準(zhǔn)備的觸發(fā)條件,可以指定具體的地址和數(shù)據(jù)在,方便捕獲特定數(shù)據(jù)。

  • 錯(cuò)誤幀:專門檢測(cè)符合錯(cuò)誤標(biāo)志的數(shù)據(jù);用于監(jiān)測(cè)總線上的錯(cuò)誤幀。


圖3:觸發(fā)條件


2.1.4、總線配置

進(jìn)入菜單將標(biāo)準(zhǔn)波特率配置為輸入信號(hào)的波特率。CAN 最大支持1Mbit/s的傳輸速率。STB3演示板的波特率為50Kbit/s。如圖4。


圖4:波特圖形



2.2、 解碼配置

解碼功能可以把觸發(fā)捕獲的信號(hào)進(jìn)行解碼并以一定格式顯示出來。按下示波器的“Decode”按鍵進(jìn)入解碼菜單并開啟總線功能,如圖5所示。


圖5:解碼菜單



2.2.1、解碼列表

設(shè)置總線并配置解碼的行數(shù)。顯示列表的作用是配置用于顯示數(shù)據(jù)量并查看每幀數(shù)據(jù)。其中行數(shù)可配置1-7行;滾動(dòng)表示當(dāng)前正在查詢的具體的數(shù)據(jù),選中時(shí)數(shù)據(jù)行高亮,可查看屏幕上所有的解碼數(shù)據(jù)。如圖6。表示當(dāng)前采集了43幀數(shù)據(jù),正在查看第43幀數(shù)據(jù)。


圖6:解碼列表


2.2.2、顯示選項(xiàng)

數(shù)據(jù)顯示格式,支持二進(jìn)制、十進(jìn)制、十六進(jìn)制、ASCAII碼。如圖7。


圖7:顯示格式


2.2.3、協(xié)議信號(hào)

與觸發(fā)菜單類似,設(shè)定信源及閾值。需要注意的是,閾值電壓需要設(shè)置于波形內(nèi),若閾值電平位于波形區(qū)域外則無法解碼。

2.2.4、協(xié)議配置

配置與輸入信息相同的波特率。

2.2.5、協(xié)議復(fù)制

若用戶非常清楚觸發(fā)或解碼的協(xié)議信號(hào)和協(xié)議配置,可使用此功能快速復(fù)制觸發(fā)參數(shù)到解碼,或復(fù)制解碼參數(shù)到觸發(fā)。


2.3、 參數(shù)配置小結(jié)

通過觸發(fā)配置和解碼配置,我們可以看到CAN總線只要配置好觸發(fā)條件、觸發(fā)和解碼的閾值電平、波特率以及數(shù)據(jù)顯示格式即可得到CAN數(shù)據(jù)。
 
下圖為STB3輸出的CAN 信號(hào)輸入到示波器,示波器的觸發(fā)條件為開始條件,觸發(fā)和解碼的波特率均設(shè)置為50kbit/s即可得到CAN 的解碼數(shù)據(jù),如圖8所示。

 


圖8:總線解碼


從上圖中,我們可以看到,解碼列表里顯示了與波形相對(duì)應(yīng)的解碼數(shù)據(jù):

  • 序號(hào)代表從屏幕左邊到右對(duì)應(yīng)幀的數(shù)據(jù)。

  • Time代表每幀相對(duì)水平中間位置的時(shí)間。

  • Type代表解碼得到的幀類型。是標(biāo)準(zhǔn)數(shù)據(jù)幀、遠(yuǎn)程幀或是擴(kuò)展幀。

  • ID代表解碼后的報(bào)文地址;設(shè)置為觸發(fā)條件,可以對(duì)特定報(bào)文進(jìn)行篩選。

  • Length代表解碼得到的數(shù)據(jù)長(zhǎng)度;數(shù)據(jù)長(zhǎng)度0到8個(gè)字節(jié)。

  • Data代表數(shù)據(jù)幀的數(shù)據(jù)信息;測(cè)試者最關(guān)心的數(shù)據(jù)。

  • CRC為檢驗(yàn)碼;當(dāng)校驗(yàn)數(shù)據(jù)不正確時(shí),提示錯(cuò)誤信息。

  • ACK為響應(yīng)位,Yes表示有響應(yīng)位。


此外還可以通過示波器放大功能,選定數(shù)據(jù)進(jìn)行放大??偩€解碼顯示與之對(duì)應(yīng)的解碼數(shù)據(jù)并通過不同顏色標(biāo)注數(shù)據(jù)的地址、數(shù)據(jù)、檢驗(yàn)碼以及響應(yīng)位。當(dāng)顯示空間不足時(shí),無法顯示的數(shù)據(jù)均以紅點(diǎn)表示。當(dāng)示波器解碼結(jié)果與協(xié)議不一致時(shí),示波器則會(huì)顯示相應(yīng)錯(cuò)誤。




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉