錯誤標志分為主動的錯誤標志和被動的錯誤標志。主動的錯誤標志由6個連續(xù)的“顯性”位組成,被動的錯誤標志由6個連續(xù)的“隱性”位組成。
錯誤界定符:錯誤界定符包括8個“隱性”位。
1.4過載幀
過載幀包括過載標志和過載界定符。過載標志由6個“顯性”位組成;過載界定符包括8個“隱性”位。
2、示波器測試
在充分了解CAN協(xié)議后,接下來通過示波器展示如何測試CAN總線。示波器在測試總線時一般使用觸發(fā)和解碼同時進行。觸發(fā)可以根據(jù)實際的需求捕獲預期事件,而解碼則可以把捕獲到的信號進行解碼。
2.1觸發(fā)配置
首先我們通過STB3演示板輸出CAN信號并使用無源探頭通過測試CAN_L和GND,接入到示波器,然后根據(jù)信號特征設置合適的電壓和時基檔位。
配置如下:
a、總線選擇
首先進入觸發(fā)菜單,類型選擇為“總線”,總線協(xié)議設置為“CAN”。如圖1所示。
圖1:總線選擇
b、信號配置
進入信號菜單,信源設置為信號輸入通道,本次輸入通道為C1。閾值電平需設置到波形區(qū)域內(nèi),通常為波形中部。如圖2所示。
圖2:信號配置
c、觸發(fā)配置
進入觸發(fā)設置菜單,設置合適的觸發(fā)條件,如圖3所示。從圖可以看到觸發(fā)條件分為開始條件、遠程幀、ID、ID+數(shù)據(jù)、錯誤幀。從上節(jié)CAN協(xié)議可以知道,這些觸發(fā)條件均為CAN協(xié)議的里規(guī)定的幀特征,是捕獲CAN信號的核心。根據(jù)需求設定觸發(fā)條件,進而監(jiān)控CAN總線上的信息。
開始條件:即為數(shù)據(jù)幀和遠程幀的幀起始(SOF)。把開始條件作為觸發(fā)條件時,示波器捕獲所有具有SOF特征的信號。
遠程幀:遠程幀的結(jié)構(gòu)與數(shù)據(jù)幀類似但不傳輸數(shù)據(jù),只為傳輸數(shù)據(jù)作初始化。其顯著的標志是RTR為“隱性”電平。設置為此條件時,示波器將只捕獲遠程幀。
ID(地址):為數(shù)據(jù)幀和遠程幀的仲裁場識別符。識別符ID越小優(yōu)先級越高。
ID+數(shù)據(jù):專門為數(shù)據(jù)幀準備的觸發(fā)條件,可以指定具體的地址和數(shù)據(jù)在,方便捕獲特定數(shù)據(jù)。
錯誤幀:專門檢測符合錯誤標志的數(shù)據(jù);用于監(jiān)測總線上的錯誤幀。
圖3:觸發(fā)條件
d、總線配置
進入菜單將標準波特率配置為輸入信號的波特率。CAN 最大支持1Mbit/s的傳輸速率。STB3演示板的波特率為50Kbit/s。如圖4。
圖4:波特圖形
2.2解碼配置
解碼功能可以把觸發(fā)捕獲的信號進行解碼并以一定格式顯示出來。按下示波器的“Decode”按鍵進入解碼菜單并開啟總線功能,如圖5所示。
圖5:解碼菜單
a、解碼列表
設置總線并配置解碼的行數(shù)。顯示列表的作用是配置用于顯示數(shù)據(jù)量并查看每幀數(shù)據(jù)。其中行數(shù)可配置1-7行;滾動表示當前正在查詢的具體的數(shù)據(jù),選中時數(shù)據(jù)行高亮,可查看屏幕上所有的解碼數(shù)據(jù)。如圖6。表示當前采集了43幀數(shù)據(jù),正在查看第43幀數(shù)據(jù)。