前言
CANape是一款用于ECU測量、標定、診斷以及ADAS傳感器數據采集的工具型軟件。
測量——通過CANape不僅能采集記錄ECU內部信號,還支持與車輛上的各種傳感器的總線進行通信。與ECU不同,ADAS傳感器不提供車輛實際運行信號,而是提供車輛運行時周圍環境的詳細信息,如通過攝像頭和雷達傳感器感知周圍環境。傳感器感知周圍環境,將車身所處環境信息傳至ECU通過ADAS算法分析決策之后,控制相應執行器動作。
![]()
環境感知是ADAS技術中最基礎、最重要的一環,感知系統提供信息的準確性直接影響到了整個ADAS系統的性能。通過CANape對傳感器識別感知信息進行采集,以提高ADAS系統分析決策的準確率。此外CANape還支持最近很火的BEV功能,通過關聯目標的坐標、速度等參數可以實時以圖形化的形式對目標物進行可視化顯示。
標定——通過CANape可對ECU內部的標定量進行修改,例如通過標定量來打開/關閉ADAS各種功能的開關(AEB、ACC、FCW、LKA、DOW、BSD等)以及修改制動時的減速度數值、功能觸發的TTC區間等,從而優化車輛控制策略。
診斷——通過CANape的診斷窗口可以實時顯示各路數據報文的收發情況,通常包括ECU內部數據以及各路總線數據,如Flexray、Chassis底盤報文、Radar雷達報文以及角雷達報文等。
下面將會具體說明測試工程師是如何利用CANape進行ADAS功能測試。
協議
對于新手來說,想用CANape采集ECU數據,XCP協議是一個非常基礎也非常重要的知識點。一般情況下,我們想讀取XCP協議的信息,都有專業的工具支持,比如Vector工具鏈中的CANape,這是一款強大的在線標定、讀取工具,XCP協議有幾種工作模式,我們可以采用其中的標準模式,即問答模式,主結點Master發出需求指令,從結點Slave進行響應,如下圖所示是XCP協議標準模式的基本原理:
![]()
XCP的主結點側,通常提供為在PC上運行的應用程序,一般就是CANape軟件。相對的,從結點側則提供為ECU中的嵌入式C語言源代碼的形式的軟件模塊。
Vector對于XCP on Ethernet共提出了兩套方案,一套為基于VN5000系列以太網絡接口卡,通過100/1000 Base-TX或100/1000 Base-T1,再基于XCP on Ethernet進行信息交互,另一套為基于VX1000系列高速標定設備,通過POD接口和Adapter連接目標控制器,最后通過XCP on Ethernet對目標控制器內存數據可進行高速捕捉和標定,下圖展示了測試常用的VX1000基本的硬件連接。
![]()
![]()
VX1000的POD設備通過調試接口(例如DAP或JTAG)連接到ECU,POD通過高速線束連接到VX1000的基礎模塊,上位機和VX1000的基礎模塊之間通過以太網的XCP協議(XCP on Eth)進行通信。詳細內容也可從Vector官方說明文檔查看。
XCP使用時總是與ECU說明文件配合使用,這個文件就是ASAP2(A2L)文件。該文件包含使用XCP所需的必要信息,包括關于ECU參數、內存變量和ECU內存詳細地址信息等。
A2L文件類似于dbc,對比如下:
elf
ELF文件通常用于讀取變量或函數的地址
a2l
①一般simulink生成的A2L中是不帶地址信息的,需要后面通過帶有地址信息的可執行文件來填充地址,一般采用工具自動實現填充。測量量的地址信息來源于A2L文件,A2L文件的制作來源于代碼生成中編譯的.ELF或其他生成文件。
②a2l定義標定量,相當于是標定量的一本字典,讀取模塊內部才能讀到,導入后能看到標定量的名字和標定值。
dbc
定義總線信號,相當于是總線信號的一本字典,不導入看到的總線數據都是二進制的數字串,導入后相當于基于字典對二進制數字串進行翻譯,能看到總線信號的值。
XCP可以從ECU上傳數據,向ECU下載數據以及對ECU重新編程。為了實現這些功能,XCP Master必須知曉ECU不同內存區的詳細信息。
A2L文件包括:設備參數信息、接口數據信息和ECU參數信息。
①設備參數信息:描述了ECU的基本信息和ECU數據單元的一些公共屬性;
②接口數據信息:描述了標定系統與ECU通信時所需配置的接口信息;
③ECU參數信息:描述了內部數據單元的詳細內容。
A2L是基于ECU軟件生成的,ECU軟件的對象包含在A2L文件中,源代碼更改后A2L文件也會進行更改。
![]()
![]()
以上就是作為ADAS測試工程師使用Canape需要掌握的協議部分的基礎內容,可能對于初學者比較晦澀,需要一定的時間來消化吸收,可以多去去Vector官網瀏覽,上面也有詳細的說明。對于協議如果還不是很清楚對下文的測試工程等配置流程不會產生太大的影響。
工程配置
在上述協議部分有提到VX1000這一設備,VX1000是通過以太網與測試的PC直連,因此首先確保上位機的電腦與VX1000設備在同一網段,并且沒有防火墻限制。VX1000默認IP為192.168.0.6,因此本地ip可設置成與其不沖突的其他IP:192.168.0.x,子網掩碼為:255.255.255.0。
![]()
首次使用需要對VX設備進行相關的配置,配置VX設備需要使用到Vector VX工具包。VXtools工具包用來顯示VX設備、寫入或者讀取VX1000設備的配置、與ECU通訊的Debug信息以及更新VX1000設備的固件。
![]()
在電腦成功識別到VX設備后,我們需要在VXconfig中對設備寫入正確的Base Module以及POD參數配置,具體步驟如下:在VXconfig中,點擊Target——>General,其中Address of ECU Parameter Structure該地址描述了gVX1000結構在ECU內存中的位置,它的地址在版本的MAP文件中找到。
![]()
在完成VX相關的基礎設置之后,即可根據測試需要New Device,如VX1000,FlexRay,XCP,FLR前雷達,Chassis底盤以及參考Camera等。
![]()
![]()
新建號Device之后需要修改配置,如添加dbc/a2l等,具體如下:
![]()
以上配置完成即可點擊菜單欄”小閃電”開始采集測試數據。
總結
CANape作為一款在業界被廣泛使用的標定測量工具,功能涵蓋ECU測量標定的幾乎所有應用領域:無論是測量非常大的數據量、標定數千個參數,到集成基于模型的開發,再到為ADAS ECU提供完整的解決方案。隨著技術不斷發展,CANape也補充了許多拓展和產品,其Driver Assistance(DA)選件,如VX1000高速測量標定硬件,將CANape的應用范圍擴展到ADAS系統的開發與測量領域,并積累了豐富的使用案例,適用于實車測試場景下的可靠數據記錄。
最后:在我的V:atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.