新聞訊息

如何識別陌生CAN網路的協定?
日期:2018-05-15

在CAN網路中,所有節點的資料收發共用一條匯流排。當面對未知的多節點CAN匯流排網路時,如何準確分析各節點間的通信協議呢? 
 


 一、CAN匯流排通信方式 
 
與485類似,CAN-bus也是以匯流排的方式進行通信的,所有的CAN節點都掛在一對差分線上。但CAN匯流排中的節點不存在主從的概念,當節點有資料需要上傳時可自主、即時發送,先進的仲裁機制保證資料不會衝突。
 
圖1 CAN匯流排通信方式
 

二、CAN匯流排協定分析
 
對比標準的通信七層模型,CAN匯流排大體可分為實體層、鏈路層、應用層。對鏈路層的解析就能得到節點ID號。若對一個“未加密”CAN匯流排做鏈路層的解析,使用CAN匯流排界面卡(也稱CAN盒)即可。這類工具能將CAN通訊轉換為USB、PCI等通信方式,一般配合電腦使用。若要對CAN匯流排做全面的分析,則需要專業的匯流排分析儀。CANScope是集CAN節點測試與標定、CAN匯流排故障診斷與解決的綜合儀器。
 
圖2 CAN匯流排抓包工具及方法
 

三、多路CAN卡的應用
 
以上提到的匯流排協定分析是在匯流排節點少、節點ID已知的前提下進行的。當面對一個協議未知且節點數多、節點ID未知網路時,首先要做的是分別摘取各路CAN中報文、辨識各節點ID。
 
圖3 資料分離、摘取
 
若將每個節點單獨取出做測試,則必然破壞原有通信規則。如何在不破壞原有通信的基礎上搞清楚一個陌生的收發協議呢?所謂工欲善其事,必先利其器。您需要一個能同時收發、轉送多路CAN資料的CAN卡,USBCAN-8E-U正是為這種應用而生。
 
圖4 USBCAN-8E-U
 
USBCAN-8E-U集成8路CAN-bus介面,各通道間可做路由(轉發)功能。在識別節點ID時,可以將節點同時接到8個CAN介面上,然後設置8路CAN間通信自由轉發,保證原有網路通信規則不受破壞。強大的上位機軟體將每個通道發送、接收的CAN報文按通道分開顯示,資料分析一目了然。
 
圖5 多節點CAN網路分析
 


 

 
回頂端
0 個商品