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