01 CANoe功能概述
CANoe軟件在汽車電子領域被廣泛應用。
CANoe軟件的全稱是CAN Open Environment,它是一個專業的系統級總線和ECU仿真、分析、開發、測試工具。支持ECU或總線網絡開發從需求分析到系統實現的全過程,包括模型創建、仿真、測試、診斷及通信分析等。
1.1 概述
CANoe是Vector公司推出的一款集總線仿真、測試、分析和診斷等功能為一體的圖形化開發環境。
許多工程師都會用到CANoe的仿真、分析、測試和診斷功能,但大多僅限于與工作內容相關的部分,對于這些功能沒有系統性認識,對某些便捷的功能和特性也并不了解。
因此,本文旨在幫助汽車電子行業工程師更全面地認識CANoe軟件,以進一步提高開發及測試的效率和質量。
首先,我們先了解下CANoe有哪些變型,如下表所示:
變型 | 描述 |
---|---|
PRO | 包含所有完整功能 |
FUN | 支持運行已有工程,僅可編輯部分模塊(如CAN IG),無法編輯CAPL |
PEX | 支持運行已有工程,提供圖形化用戶界面,包含部分分析窗口。由于所支持的功能較少,真正使用的用戶也比較少 |
Standalone | 需配合VN89/VT6000系列實時運行平臺,將工程下載到對應硬件中脫離PC運行 |
NOA | 支持導入記錄文件進行離線分析 |
根據上表,我們大致了解到,當前使用最多的主要是PRO和FUN版本的CAN變型,其余變型實際場景中用的都比較少。
CANoe不但能幫助用戶開發和測試CAN/CAN FD/CAN XL總線,還能夠通過各種插件來支持LIN、Ethernet、Flexray等總線系統以及SAE J1939、XCP、Car2x等協議。(如下圖CANoe插件表格所示,僅列出部分)
1.1.1 CANoe主界面
如下圖所示。單擊左上角的Start圖標,運行該仿真工程(CANoe中稱為Start Measurement,也可以稱為開始測量)。
1.1.2 CANoe選項卡和功能區
CANoe主界面主要有以下功能區部分:
- File(文件):主要用于工程文件的相關操作及屬性設定
- Home(主功能區):主要包括測量組件、顯示組件和其他組件
- Analysis(分析):主要包括配置組件、總線分析組件和其他分析組件
- Simulation(仿真):主要包括仿真組件和激勵組件
- Test(測試):主要包括測試單元組件和測試模塊組件
- Diagnostics(診斷):主要包括診斷相關的配置組件、控制組件和工具組件
- Environment(環境):主要包括對象組件和其他組件
- Hardware(硬件):主要包括硬件相關的通道組件、VT系統組件、傳感器組件和I/O硬件組件
- Tools(工具):包括網絡組件和其他組件,主要是常見工具
- Layout(布局):主要用于設置各子窗口的顯示模式
1.2 快速創建CANoe工程
1.2.1 創建仿真工程
打開CANoe工程,選擇 File -> New,選擇合適的模板創建工程。
如下圖所示,CANoe按照總線類型,給我們提供了一些快速創建工程的模板。這些模板主要包括總線類型、通信速率、通道數目等內容。模板中配置的信息在創建的工程中都可以自定義添加或修改。
1.2.2 配置仿真工程
1. 通道配置
根據實際需求調整軟件的通道類型及通道數目配置,選擇 Hardware -> Channel Usage配置。
配置的軟件通道通常需要與真實的硬件通道進行映射,因此,按照實際需求選配軟件通道類型和數目后,還要確保通道類型和數目與連接的硬件匹配。在Channel Usage對話框中配置通道后,還需要在Simulation Setup窗口中添加對應的總線網絡。
2. 通信配置
對于CAN和CAN FD通信,還需要對通信相關的參數進行配置,以確保其能夠與真實ECU或真實網絡通信。選擇 Hardware -> Network Hardware,打開Network Hardware Configuration窗口進行配置。一般需要對Mode(CAN/CAN FD),Baud rate(配置與真實ECU一致的通信速率)、Sample Point(配置與真實ECU一致的采樣點)。
需要注意的是,CAN FD模式要分別設置仲裁場及數據場通信速率,也就說,CAN FD會涉及到波特率切換,因此尤其需要注意其采樣點的配置。
知識點1
傳統CAN: 整個報文幀(從幀起始到幀結束)都使用同一個波特率(例如 500 kbps)。
CAN FD: 采用雙波特率:
(1)仲裁段波特率:報文幀的開始部分(幀起始、仲裁場、控制場)使用較低的波特率(例如 500 kbps)。這部分決定了哪個節點贏得總線訪問權,需要與網絡上所有節點(包括可能不支持FD的傳統CAN節點)兼容。
(2)數據段波特率: 一旦贏得仲裁,從數據場開始(包括數據場、CRC場、ACK場、幀結束等),通信切換到更高的波特率(例如 2 Mbps, 5 Mbps, 甚至更高)。這部分用于高速傳輸實際數據。
知識點2
采樣點的重要性:當波特率大幅度提高(例如從 500 kbps 跳到 2 Mbps)時,信號在物理線纜上的行為會發生顯著變化:
(1)信號邊沿更陡峭: 上升/下降時間更短。
(2)信號反射更顯著: 高速信號更容易受到線路阻抗不匹配的影響,產生反射。
(3)信號衰減更大: 高頻分量衰減更快。
(4)電磁干擾更敏感: 高速信號更容易受到外部噪聲干擾。
這些變化會影響總線信號的形狀和穩定性。采樣點是CAN控制器在一個位時間(Bit Time) 內讀取總線電平(顯性/隱性)的具體時刻。它通常用一個位時間的百分比來表示(例如 75%, 87.5%)。
理想情況下,采樣點應該設置在一個位時間的穩定區域,避開信號邊沿(轉換區)和可能存在的振蕩/噪聲區域。如果在信號尚未穩定(如仍在邊沿)或受到干擾/振蕩影響時采樣,控制器可能會將顯性位誤讀為隱性位,或將隱性位誤讀為顯性位,最終導致CRC錯誤、格式錯誤、應答錯誤等,報文傳輸失敗。
知識點3
為什么CAN FD尤其需要注意采樣點配置?
仲裁段和數據段工作在不同的波特率下,信號特性不同。一個適合低速仲裁段的采樣點設置(例如87.5%),在高速度的數據段下可能不再位于穩定區域。
高速數據段位時間大大縮短(例如2 Mbps下位時間只有500 ns,而500 kbps下是2000 ns),意味著留給信號穩定下來的時間窗口更小。因此,CAN FD要求分別為仲裁段波特率和數據段波特率配置各自獨立的、合適的采樣點。
仲裁段采樣點: 通常可以沿用或接近傳統CAN的設置(如75%-90%),因為速度相對較低,兼容性是主要考慮。
數據段采樣點: 通常需要設置得更靠前(例如50%-70%)。這是因為:高速下信號穩定得更快(相對位時間比例而言);需要預留更多時間給位時間后期可能出現的信號振蕩(ringing)或反射去衰減,避免它們影響到采樣點;更靠前的采樣點給了控制器更多時間在幀結束前完成CRC計算和ACK處理。
3. 通道分配
選擇 Hardware -> Network Hardware -> Driver,打開Vector Hardware Config窗口進行通道分配。選擇具體的物理通道,單擊右鍵并選擇應用程序,分配通道,同時,可在該界面確認每個通道對應的硬件PIN腳定義,確保線束連接正確。
此外,也可以通過 Hardware -> Channel Mapping進行快速通道分配。
4. 數據庫配置
數據庫的作用是在進行總線數據分析時解析報文、信號等內容,在進行總線仿真時可基于數據庫的定義快速創建仿真工程,在進行網絡測試時也會涉及對數據庫內容的處理。
不同總線數據庫文件的格式也不同,例如,CAN/CAN FD常見的數據庫格式是DBC或ARXML,LIN總線是LDF或ARXML,FlexRay和Ethernet是XML或ARXML。各種總線的數據庫在軟件中的配置都是類似的。
1.2.3 保存仿真工程
工程配置完成后就可以進行保存,建議在工程文件路徑下通過子文件夾的方式存放需要使用到的各類文件,如數據庫文件、CAPL腳本文件、記錄文件和面板文件等。
在實際工作中,經常會遇到版本兼容問題,那么此時在保存高版本工程時,可以根據需要選擇低版本進行保存,以便使用低版本時也能打開。具體操作是 File -> Save As,在保存類型中切換到對應版本即可。