作為目前車載網(wǎng)絡(luò)領(lǐng)域成熟、應(yīng)用廣泛的通信總線之一,can總線具有傳輸可靠性高、速度快、易用等特點。由于其涉及到用戶的人身安全,所以在汽車研發(fā)、生產(chǎn)、檢測、維修等過程中均需做嚴(yán)格的測試。
由于can信號是差分信號,在測試過程中一般需要使用差分探頭來進行測試,但在研發(fā)階段的板級測試中,確認(rèn)安全的前提下可以使用普通低壓無源探頭進行測試。今天給大家介紹鼎陽科技sds5000x標(biāo)配的can總線觸發(fā)與解碼,了解示波器是如何測試can信號。本文將以sds5054x+stb3演示板+普通無源探頭展示can的測試,供大家參考。
1
can 協(xié)議
在測試前需要充分了解can 協(xié)議。
can協(xié)議有4種幀類型,分別為數(shù)據(jù)幀、遠(yuǎn)程幀、錯誤幀、過載幀。其中數(shù)據(jù)幀和遠(yuǎn)程幀又分為標(biāo)準(zhǔn)格式和擴展格式兩種。標(biāo)準(zhǔn)格式的標(biāo)識符為11位,擴展幀為29位。
1.1
數(shù)據(jù)幀
由7個不同的場組成。分別為幀起始、仲裁場、控制場、數(shù)據(jù)場、crc場、應(yīng)答場、幀結(jié)尾。
a
幀起始
(sof)標(biāo)志數(shù)據(jù)幀和遠(yuǎn)程幀的開始,僅由一個“顯性”(邏輯電平“0”為顯性電平,“1”為隱性電平)位組成,只有在總線空閑時才允許發(fā)送信號。
b
仲裁場
can總線上發(fā)送的每一條報文都具有一個11位或29位的id。can總線狀態(tài)取決于二進制數(shù)“0”而不是“1”,所以id號越小,則該報文擁有越高的優(yōu)先權(quán)。因此一個為全“0”標(biāo)志符的報文具有總線傳輸上的高優(yōu)先權(quán)。
標(biāo)準(zhǔn)格式幀和擴展格式幀的仲裁場格式不同:
標(biāo)準(zhǔn)格式里,仲裁場由11位識別符和rtr位組成。識別符位為id28…id18。識別符后為rtr位。rtr位在數(shù)據(jù)幀必須為“顯性”,在遠(yuǎn)程幀必須為“隱性”。
擴展格式里,仲裁場包括29位識別符id28…id0(基本id 11位,擴展id 18位)、srr位、ide位、rtr位?;緄d首先發(fā)送,其次是srr、ide位。
c
控制場
控制場由6個位組成。標(biāo)準(zhǔn)格式里的幀包括數(shù)據(jù)長度代碼,ide位及保留位r0。擴展格式里的幀包括數(shù)據(jù)長度和保留位r1和r0。保留位必須顯性發(fā)送。
d
數(shù)據(jù)場
數(shù)據(jù)場由數(shù)據(jù)幀中的發(fā)送數(shù)據(jù)組成。它可以為0-8個字節(jié),每字節(jié)包含了8個位,msb先發(fā)送。
e
crc場
crc場包括crc序列,其后是crc界定符。crc序列為循環(huán)冗余檢驗碼。crc序列之后是crc界定符,它包含一個單獨的“隱性”位。
f
應(yīng)答場
應(yīng)答場長度為2位。包含應(yīng)答間隙和應(yīng)答界定符。在應(yīng)答聲里,發(fā)送兩個“隱性”位,當(dāng)接收器正確地接收到有效報文,接收器就會在應(yīng)答間隔期間向發(fā)送器發(fā)送“顯性”位以示應(yīng)答。
g
幀結(jié)尾
每一個數(shù)據(jù)幀和遠(yuǎn)程幀均由一標(biāo)志序列界定。由7個“隱性”位組成。
1.2
遠(yuǎn)程幀
遠(yuǎn)程幀目的在于請求發(fā)送具有同一標(biāo)識符的數(shù)據(jù)幀;遠(yuǎn)程幀由6個不同位的場組成。分別為幀起始、仲裁場、控制場、crc場、應(yīng)答場、幀結(jié)尾。與數(shù)據(jù)幀相反,遠(yuǎn)程幀的rtr位是“隱性”的。
1.3
錯誤幀
錯誤幀由錯誤標(biāo)志和錯誤界定符兩部分組成:
錯誤標(biāo)志分為主動的錯誤標(biāo)志和被動的錯誤標(biāo)志。主動的錯誤標(biāo)志由6個連續(xù)的“顯性”位組成,被動的錯誤標(biāo)志由6個連續(xù)的“隱性”位組成。
錯誤界定符:錯誤界定符包括8個“隱性”位。
1.4
過載幀
過載幀包括過載標(biāo)志和過載界定符。過載標(biāo)志由6個“顯性”位組成;過載界定符包括8個“隱性”位。
2
示波器測試
在充分了解can協(xié)議后,接下來通過示波器展示如何測試can總線。示波器在測試總線時一般使用觸發(fā)和解碼同時進行。觸發(fā)可以根據(jù)實際的需求捕獲預(yù)期事件,而解碼則可以把捕獲到的信號進行解碼。
2.1
觸發(fā)配置
首先我們通過stb3演示板輸出can信號并使用無源探頭通過測試can_l和gnd,接入到示波器,然后根據(jù)信號特征設(shè)置合適的電壓和時基檔位。
配置如下:
a
總線選擇
首*入觸發(fā)菜單,類型選擇為“總線”,總線協(xié)議設(shè)置為“can”。如圖1所示。
圖1:總線選擇
b
信號配置
進入信號菜單,信源設(shè)置為信號輸入通道,本次輸入通道為c1。閾值電平需設(shè)置到波形區(qū)域內(nèi),通常為波形中部。如圖2所示。
圖2:信號配置
c
觸發(fā)配置
進入觸發(fā)設(shè)置菜單,設(shè)置合適的觸發(fā)條件,如圖3所示。從圖可以看到觸發(fā)條件分為開始條件、遠(yuǎn)程幀、id、id+數(shù)據(jù)、錯誤幀。從上節(jié)can協(xié)議可以知道,這些觸發(fā)條件均為can協(xié)議的里規(guī)定的幀特征,是捕獲can信號的核心。根據(jù)需求設(shè)定觸發(fā)條件,進而監(jiān)控can總線上的信息。
開始條件:即為數(shù)據(jù)幀和遠(yuǎn)程幀的幀起始(sof)。把開始條件作為觸發(fā)條件時,示波器捕獲所有具有sof特征的信號。
遠(yuǎn)程幀:遠(yuǎn)程幀的結(jié)構(gòu)與數(shù)據(jù)幀類似但不傳輸數(shù)據(jù),只為傳輸數(shù)據(jù)作初始化。其顯著的標(biāo)志是rtr為“隱性”電平。設(shè)置為此條件時,示波器將只捕獲遠(yuǎn)程幀。
id(地址):為數(shù)據(jù)幀和遠(yuǎn)程幀的仲裁場識別符。識別符id越小優(yōu)先級越高。
id+數(shù)據(jù):專門為數(shù)據(jù)幀準(zhǔn)備的觸發(fā)條件,可以具體的地址和數(shù)據(jù)在,方便捕獲特定數(shù)據(jù)。
錯誤幀:專門檢測符合錯誤標(biāo)志的數(shù)據(jù);用于監(jiān)測總線上的錯誤幀。
圖3:觸發(fā)條件
d
總線配置
進入菜單將標(biāo)準(zhǔn)波特率配置為輸入信號的波特率。can 大支持1mbit/s的傳輸速率。stb3演示板的波特率為50kbit/s。如圖4。
圖4:波特圖形
2.2
解碼配置
解碼功能可以把觸發(fā)捕獲的信號進行解碼并以一定格式顯示出來。按下示波器的“decode”按鍵進入解碼菜單并開啟總線功能,如圖5所示。
圖5:解碼菜單
a
解碼列表
設(shè)置總線并配置解碼的行數(shù)。顯示列表的作用是配置用于顯示數(shù)據(jù)量并查看每幀數(shù)據(jù)。其中行數(shù)可配置1-7行;滾動表示當(dāng)前正在查詢的具體的數(shù)據(jù),選中時數(shù)據(jù)行高亮,可查看屏幕上所有的解碼數(shù)據(jù)。如圖6。表示當(dāng)前采集了43幀數(shù)據(jù),正在查看第43幀數(shù)據(jù)。
圖6:解碼列表
b
顯示選項
數(shù)據(jù)顯示格式,支持二進制、十進制、十六進制、ascaii碼。如圖7。
圖7:顯示格式
c
協(xié)議信號
與觸發(fā)菜單類似,設(shè)定信源及閾值。需要注意的是,閾值電壓需要設(shè)置于波形內(nèi),若閾值電平位于波形區(qū)域外則無法解碼。
d
協(xié)議配置
配置與輸入信息相同的波特率。
e
協(xié)議復(fù)制
若用戶非常清楚觸發(fā)或解碼的協(xié)議信號和協(xié)議配置,可使用此功能快速復(fù)制觸發(fā)參數(shù)到解碼,或復(fù)制解碼參數(shù)到觸發(fā)。
2.3
參數(shù)配置小結(jié)
通過觸發(fā)配置和解碼配置,我們可以看到can總線只要配置好觸發(fā)條件、觸發(fā)和解碼的閾值電平、波特率以及數(shù)據(jù)顯示格式即可得到can數(shù)據(jù)。
下圖為stb3輸出的can 信號輸入到示波器,示波器的觸發(fā)條件為開始條件,觸發(fā)和解碼的波特率均設(shè)置為50kbit/s即可得到can 的解碼數(shù)據(jù),如圖8所示。
圖8:總線解碼
從上圖中,我們可以看到,解碼列表里顯示了與波形相對應(yīng)的解碼數(shù)據(jù):
序號代表從屏幕左邊到右對應(yīng)幀的數(shù)據(jù)。
time代表每幀相對水平中間位置的時間。
type代表解碼得到的幀類型。是標(biāo)準(zhǔn)數(shù)據(jù)幀、遠(yuǎn)程幀或是擴展幀。
id代表解碼后的報文地址;設(shè)置為觸發(fā)條件,可以對特定報文進行篩選。
length代表解碼得到的數(shù)據(jù)長度;數(shù)據(jù)長度0到8個字節(jié)。
data代表數(shù)據(jù)幀的數(shù)據(jù)信息;測試者關(guān)心的數(shù)據(jù)。
crc為檢驗碼;當(dāng)校驗數(shù)據(jù)不正確時,提示錯誤信息。
ack為響應(yīng)位,yes表示有響應(yīng)位。
此外還可以通過示波器放大功能,選定數(shù)據(jù)進行放大??偩€解碼顯示與之對應(yīng)的解碼數(shù)據(jù)并通過不同顏色標(biāo)注數(shù)據(jù)的地址、數(shù)據(jù)、檢驗碼以及響應(yīng)位。當(dāng)顯示空間不足時,無法顯示的數(shù)據(jù)均以紅點表示。當(dāng)示波器解碼結(jié)果與協(xié)議不一致時,示波器則會顯示相應(yīng)錯誤。
更多圖文信息請關(guān)注公眾號:深圳市賽銳納特科技有限公司