CANoe入門之一 CANoe功能概述

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,在保存類型中切換到對應版本即可。

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98780.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98780.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98780.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

項目管理核心八項(軟件篇)

2025年09月11日23:50:33:進來常思,寫代碼也五六年了,后面的路該何去何從呢? 項目管理核心八項一、項目管理之“建立開發人員 backup 機制”二、待補充一、項目管理之“建立開發人員 backup 機制” “建立開發人員 backup 機制” 是…

springboot redisson 分布式鎖入門與實戰

Spring Boot3 Redisson 項目地址 https://gitee.com/supervol/loong-springboot-study (記得給個start,感謝) Redisson 介紹 在分布式系統中,多節點部署的應用對共享資源(如數據庫記錄、緩存鍵、文件)的…

使用 Tkinter + Requests 實現地理信息安全系統學習時長助手

?重磅!盹貓的個人小站正式上線啦~誠邀各位技術大佬前來探秘!? 這里有: 硬核技術干貨:編程技巧、開發經驗、踩坑指南,帶你解鎖技術新姿勢!趣味開發日常:代碼背后的腦洞故事、工具…

構建一個優雅的待辦事項應用:現代JavaScript實踐

構建一個優雅的待辦事項應用:現代JavaScript實踐本文將介紹如何使用現代JavaScript(ES6)和DOM操作創建一個功能完整的待辦事項應用,無需任何外部庫或框架。功能概述添加新任務標記任務為完成/未完成編輯任務內容刪除任務過濾任務&…

【數據可視化-111】93大閱兵后的軍費開支情況———2024年全球軍費開支分析:用Python和Pyecharts打造炫酷可視化大屏

🧑 博主簡介:曾任某智慧城市類企業算法總監,目前在美國市場的物流公司從事高級算法工程師一職,深耕人工智能領域,精通python數據挖掘、可視化、機器學習等,發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN…

3.2.Maven-概述-介紹安裝

一.介紹:二.安裝:Maven的安裝比較簡單,因為他是綠色版的軟件,官方給我們提供Maven的安裝包就是一個zip壓縮包,在進行Maven安裝以及配置的時候,主要進行如下4步操作:第一步:把官方提供…

Kafka面試精講 Day 14:集群擴容與數據遷移

【Kafka面試精講 Day 14】集群擴容與數據遷移 在“Kafka面試精講”系列的第14天,我們將深入探討 Kafka 運維中最關鍵的操作之一:集群擴容與數據遷移。隨著業務增長,原始 Kafka 集群可能面臨磁盤不足、吞吐瓶頸或節點負載不均等問題&#xff…

字節一面 面經(補充版)

什么是RabbitMQ,特點是什么怎么理解保障消息的一致性String、StringBuffer、StringBuilder解釋一下線程安全先操作數據庫再刪緩存還是先刪緩存再操作數據庫這種辦法能杜絕數據不一致問題嗎解釋一下AOP介紹Redis的特點(Redis比較快)Redis為什么…

【MFC】對話框屬性:Absolute Align(絕對對齊)

前言 本文介紹對話框屬性中的Absolute Align(絕對對齊),同時給出相關示例便于理解。 目錄1 位置2 詳解3 示例1 位置 首先介紹一下這個屬性在哪里。 在資源視圖中雙擊對話框節點,打開該對話框; 鼠標右鍵工作區空白處,單擊屬性&…

【從0開始學習Java | 第17篇】集合(中-Set部分)

文章目錄Java集合之Set:無序不重復的元素容器一、Set接口的核心特性二、常用實現類及底層原理1. HashSet:基于哈希表的高效實現2. LinkedHashSet:保留插入順序的哈希實現3. TreeSet:基于紅黑樹的排序實現三、實現類對比與選擇建議…

玩轉Docker | 使用Docker部署dufs文件管理工具

玩轉Docker | 使用Docker部署dufs文件管理工具 前言 一、 dufs介紹 Dufs簡介 核心特性 ?? 靜態文件服務 ?? 文件夾打包下載 ?? 拖拽上傳文件/文件夾 ?? 文件在線創建、編輯與搜索 ? 斷點續傳與部分傳輸 ?? 細粒度訪問控制 ?? HTTPS 安全傳輸 ?? WebDAV 兼容支持…

【混合開發】vue+Android、iPhone、鴻蒙、win、macOS、Linux之android 把assert里的dist.zip 包解壓到sd卡里

一圖勝千言 上一篇有 <!-- 讀寫外部存儲 --> <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"android:maxSdkVersion"28"/> <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE&qu…

線程的創建.銷毀

線程線程的創建在 C 中&#xff0c;線程的創建核心是通過std::thread類實現的&#xff0c;其構造函數需要傳入一個可調用對象&#xff08;Callable Object&#xff09;作為線程入口。可調用對象包括普通函數、lambda 表達式、函數對象&#xff08;functor&#xff09;、類的成員…

MySQL基礎全面解析

MySQL作為最流行的關系型數據庫管理系統之一&#xff0c;是每一位開發者必備的核心技能。本文將系統性地解析MySQL的基礎知識&#xff0c;結合關鍵概念與實戰應用&#xff0c;幫助您構建扎實的數據庫基礎。1. SQL與NoSQL的本質區別SQL&#xff08;結構化查詢語言&#xff09;數…

4、幽絡源微服務項目實戰:后端公共模塊創建與引入多租戶模塊

前言 上節我們將電網巡檢系統的前端vue2項目創建、配置&#xff0c;并構建了最基礎的多租戶界面&#xff0c;本節來繼續構建后端的公共模塊、多租戶模塊&#xff0c;并將公共模塊引入到多租戶模塊中。 創建公共模塊和多租戶模塊 在back父工程下創建兩個Module&#xff0c;和…

STM32學習路線開啟篇:芯片簡介與課程簡介

編寫不易,請多多指教,覺得不錯可以關注一下,相互學習 前言 一、課程配套資源 1、面包板 2、面包板專用的跳線 3、面包板的飛線 4、杜邦線 5、STM32F103C8T6最小系統板 6、0.96寸的OLED顯示屏模塊 7、電位器 8、按鈕 9、LED燈 10、STLINK 11、USB轉串口(TTL)模塊 12、源蜂鳴器模…

圖像直方圖

圖像直方圖就是用來統計圖像像素值分布的。灰度圖分布讀取灰度圖phone cv2.imread(phone.png, cv2.IMREAD_GRAYSCALE) a phone.ravel() plt.hist(a, bins256) plt.show()如何可以獲得當前像素值分布讀取各通道的像素值分布img cv2.imread(phone.png) colors (b, g, r) for …

分類別柱狀圖(Vue3)

效果圖&#xff1a;需求&#xff1a;男女年齡段占比<template><div class"go-ClassifyBar01"><v-chartref"vChartRef":option"option"style"width: 100%; height: 800px"></v-chart></div> </templa…

Apache Dubbo學習筆記-使用Dubbo發布、調用服務

Apache Dubbo經常作為一個RPC框架來使用&#xff0c;這篇文章主要介紹使用Dubbo配合注冊中心來發布和調用服務。 Apache Dubbo和Spring Boot、JDK的版本對應關系。 Dubbo 分支最新版本JDKSpring Boot組件版本詳細說明3.3.x (當前文檔)3.3.08, 17, 212.x、3.x詳情- 版本變更記錄…

Python學習——字典和文件

前面python的學習中我們已經學習了python的函數和列表元組相關的內容&#xff0c;接下來我們來學習剩下的python語法&#xff1a;字典和文件 相關代碼已經上傳到作者的個人gitee&#xff1a;樓田莉子/Python 學習喜歡請點個贊謝謝 目錄 字典 創建字典 查找key 新增/修改元素 …