標(biāo)定,作為整車及ECU開發(fā)過程中不可或缺的一個(gè)開發(fā)流程,對(duì)整車及ECU性能的優(yōu)化起著至關(guān)重要的作用,可是行業(yè)內(nèi)可供選擇的標(biāo)定工具種類卻非常有限,TSMaster將為廣大的研發(fā)工程師和標(biāo)定工程師提供一個(gè)全新選擇。
接下來小星將通過幾篇應(yīng)用筆記,告訴大家如何使用TSMaster進(jìn)行標(biāo)定。
A
標(biāo)定輸入文件準(zhǔn)備
TSMaster XCP標(biāo)定模塊依賴如下兩類文件和運(yùn)行XCP協(xié)議棧的ECU。
1A2L文件
A2L文件是采用ASAP2指定的一套類XML語言的描述性語言(采用開標(biāo)簽和關(guān)標(biāo)簽來描述信息)書寫的文件,它里邊包含了某個(gè)特定的ECU中的軟件和系統(tǒng)信息,還包含了上位機(jī)和ECU通訊方式的約定,它用來指導(dǎo)上位機(jī)和ECU的通訊交互過程,讓他們對(duì)交互的信息有一致的認(rèn)識(shí),從而是上位機(jī)工具準(zhǔn)確且友好的將ECU中的信息展現(xiàn)給用戶。目前同星XCP模塊只支持載入最高版本為1.6x的A2L文件,新版的(版本號(hào)大等于1.7)A2L文件僅僅支持部分載入,若只有新版A2L文件,請(qǐng)先通過相關(guān)工具另存為1.6x版本再使用TSMaster載入。
2 Seed和Key算法文件
出于安全的考慮,ECU中的某些數(shù)據(jù)或者請(qǐng)求會(huì)被限制訪問。控制器不正確的例程執(zhí)行(如:鑰匙學(xué)習(xí)、胎壓標(biāo)定等等)或數(shù)據(jù)下載(控制器程序刷新等)會(huì)損壞當(dāng)前控制器或其它的車輛部件,可能會(huì)導(dǎo)致車輛無法正常行駛、車檢不達(dá)標(biāo)、車輛安全性降低等。這種訪問限制的主要措施在于算法(類似于鑰匙)的實(shí)現(xiàn),即種子(seed)和密鑰(key)。上位機(jī)(手機(jī)、電腦等)向控制器請(qǐng)求seed種子,控制器隨機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù)作為seed(例如:1122334455667788-長度不定,內(nèi)容不定)。控制器將該種子返回給上位機(jī)。上位機(jī)利用控制器給定的算法(不同控制器可能存在不同算法)和種子生成密鑰,并將密鑰發(fā)送給控制器。控制器將自己生成的密鑰(生成算法一致)和上位機(jī)發(fā)送的密鑰進(jìn)行對(duì)比,若一致則打開上位機(jī)的訪問限制,否則上位機(jī)仍不能進(jìn)行限制性的訪問(如:刷新、標(biāo)定學(xué)習(xí)等)。由于seed是隨機(jī)產(chǎn)生的,即控制器每次生成的均不同。因此上位機(jī)必須實(shí)現(xiàn)控制器的指定算法,否則訪問限制不會(huì)解除。若ECU支持seed和Key算法,則TSMaster依賴實(shí)施了對(duì)應(yīng)解鎖算法的DLL文件。關(guān)于此文件的制作方法,請(qǐng)參考隨后的應(yīng)用筆記。
3 支持XCP的ECU
由于演示需要,本例使用Vector安裝包自帶的XCPSim虛擬ECU作為示例,展示如何使用TSMaster對(duì)這個(gè)ECU進(jìn)行標(biāo)定。在實(shí)際應(yīng)用中應(yīng)當(dāng)將ECU切換為用戶真實(shí)的ECU。XCPSim默認(rèn)基于Vector虛擬1的硬件通道2運(yùn)行,故應(yīng)用程序只需連接Vector虛擬1的硬件通道1即可與之進(jìn)行通信。安裝Vector CANoe Demo版本或Vector CANape后,使用everything搜索“XCPSim.exe”并啟動(dòng)它:
B
同星XCP license授權(quán)
同星XCP模塊是TSMaster免費(fèi)軟件中少數(shù)幾個(gè)需要注冊(cè)才能使用完整功能的模塊之一,若沒有注冊(cè)同星XCP模塊,在實(shí)際標(biāo)定中會(huì)有如下限制:
1 無XCP License的限制
序號(hào) | 功能 | 限制 |
1 | 支持的硬件 | TSMaster所有支持的硬件(同星、Vector、PEAK、英特佩斯、Kvaser、周立功)都可以連接,但是只能監(jiān)控變量,無法修改變量 |
2 | 監(jiān)控變量數(shù)量 | 每個(gè)ECU可以同時(shí)監(jiān)控最多8個(gè)變量 |
3 | 下載,修改變量 | 不支持 |
2 XCP License特性
XCP License依賴硬件,且只能安裝在同星的硬件中,故其他品牌的工具無法注冊(cè)XCP License。注冊(cè)同星XCP License后,使用方面需要注意的特性如下:
序號(hào) | 功能 | 特性 |
1 | 支持的硬件 | 同星生產(chǎn)的硬件 |
2 | 監(jiān)控變量數(shù)量 | 無限 |
3 | 下載,修改變量 | 支持,無限數(shù)量 |
4 | 支持的通道 | 安裝License的硬件自帶的所有CAN通道,注意,在一個(gè)TSMaster應(yīng)用程序里仿真的其他工具的通道是不支持XCP License的 |
3同星XCP License授權(quán)
請(qǐng)聯(lián)系同星智能獲取XCP License授權(quán)的相關(guān)信息:
地址:上海市嘉定區(qū)曹安公路4801號(hào)同濟(jì)大學(xué)國家大學(xué)科技園嘉定分園
電話:+86-021-59560506
網(wǎng)址:www.tosunai.cn
應(yīng)用案例:https://github.com/TOSUN-Shanghai/TSMaster
在獲得了同星XCP License的授權(quán),并得到了帶License的硬件后,插入硬件,使用TSMaster連接硬件一次后,在TSMaster的關(guān)于頁面中,將出現(xiàn)授權(quán)信息:
C
TSMaster XCP標(biāo)定模塊基本配置
1 TSMaster XCP模塊用戶界面
根據(jù)如下步驟創(chuàng)建一個(gè)新工程,并使用標(biāo)定模塊:(1)新建工程點(diǎn)擊新建工程將會(huì)彈出模板選擇對(duì)話框。
(2)選擇標(biāo)定工程模版
(3)這將創(chuàng)建一個(gè)空的標(biāo)定工程
(4)在標(biāo)定窗口中,選中“設(shè)備”節(jié)點(diǎn),在其上點(diǎn)擊右鍵,選擇“新建ECU”
(5)輸入ECU的名稱后點(diǎn)擊確定,系統(tǒng)將自動(dòng)添加并選中新創(chuàng)建的ECU
(6)載入A2L文件,首先選中“數(shù)據(jù)庫”一行,點(diǎn)擊右側(cè)的“打開”按鈕,選中這個(gè)ECU的A2L文件,載入過程和文件大小有關(guān),若文件很大,則需要耐心等待片刻。
(7)載入完成后系統(tǒng)會(huì)自動(dòng)將源A2L文件拷貝至工程目錄,并自動(dòng)為A2L命名,其命名格式是:ECU名稱作為前綴 + 源A2L文件名。
載入A2L文件后,可以查看ECU節(jié)點(diǎn)下方展開的“數(shù)據(jù)庫”、“協(xié)議”。
(8)數(shù)據(jù)庫頁面顯示了A2L內(nèi)部的測(cè)量量和特性等信息
(9)數(shù)據(jù)庫支持搜索,可以輸入任意關(guān)鍵字以過濾變量
(10)協(xié)議頁面顯示ECU的標(biāo)定協(xié)議屬性
(11)點(diǎn)擊“Seed和Key算法DLL文件”右側(cè)的“打開”按鈕,加載ECU的解鎖算法DLL文件。
(12)載入Seed和Key的DLL文件后,系統(tǒng)會(huì)將此DLL拷貝到工程文件夾中,并自動(dòng)為其命名,命名規(guī)則是:ECU名稱作為前綴 + 算法DLL文件名。
(13)將需要觀測(cè)的變量添加到測(cè)量列表中
(14)記錄引擎記錄引擎默認(rèn)是未激活狀態(tài),需要勾選最下方的激活復(fù)選框以使能記錄引擎,在測(cè)量運(yùn)行過程中自動(dòng)記錄所需要的變量值。
(15)勾選記錄引擎并編輯引擎注釋,此注釋信息將自動(dòng)記錄到目標(biāo)mat文件中
2 基本的測(cè)量功能配置
(1)添加測(cè)量對(duì)象
選中需要觀測(cè)的變量后,點(diǎn)擊右鍵選擇添加至列表。
(2)切到“測(cè)量列表”頁面,將看到剛才添加的測(cè)量對(duì)象
(3)測(cè)量列表中定義了每個(gè)變量所使用的測(cè)量模式,若需要集體修改測(cè)量模式,可以按住shift多選測(cè)量對(duì)象,并在右側(cè)任意一個(gè)選中的測(cè)量模式一列中,選擇另一個(gè)測(cè)量模式,即可完成所選部分的全部切換。
(4)本示例設(shè)置前三個(gè)觀測(cè)量為10ms DAQ,最后一個(gè)觀測(cè)量為100ms DAQ.
3配置標(biāo)定硬件通道并啟動(dòng)標(biāo)定
(1)設(shè)置硬件通道在本例中,使用的是Vector 虛擬1的硬件通道1,在實(shí)際應(yīng)用中,請(qǐng)選擇ECU所在的通道。
連接TSMaster成功后,點(diǎn)擊標(biāo)定界面工具欄左上角的“連接”,將連接被測(cè)ECU,并自動(dòng)解鎖;連接成功后,再點(diǎn)擊“運(yùn)行”按鈕,將啟動(dòng)DAQ,此時(shí)ECU將自動(dòng)發(fā)送DAQ報(bào)文至工具端。
(2)標(biāo)定測(cè)量開始時(shí),可從報(bào)文信息窗口觀察XCP報(bào)文
(3)設(shè)置標(biāo)定模塊的自動(dòng)運(yùn)行標(biāo)定模塊也可以隨TSMaster應(yīng)用程序的啟動(dòng)而自動(dòng)啟動(dòng),而不需要手動(dòng)點(diǎn)擊連接和啟動(dòng)按鈕,勾選窗口右上角的閃電按鈕,將使得標(biāo)定模塊在TSMaster連接時(shí)自動(dòng)運(yùn)行。
4 基本標(biāo)定功能
在DAQ啟動(dòng)后,TSMaster自動(dòng)將ECU內(nèi)部的每一個(gè)變量映射到與之對(duì)應(yīng)的系統(tǒng)變量中,即ECU內(nèi)部的變量的變化將直接作用在系統(tǒng)變量中,故可以通過觀測(cè)這些系統(tǒng)變量來觀測(cè)ECU內(nèi)部的變量。而對(duì)于標(biāo)定量來說,與其對(duì)應(yīng)的系統(tǒng)變量時(shí)可寫的,寫入這些系統(tǒng)變量意味著修改ECU內(nèi)部的標(biāo)定量。
(1)通過系統(tǒng)變量觀測(cè)ECU變量用戶可以在TSMaster軟件中任何可觀測(cè)系統(tǒng)變量的窗口中(圖形、面板、儀表盤、小程序、系統(tǒng)變量管理器等等),添加并觀測(cè)所需觀測(cè)的系統(tǒng)變量,當(dāng)然也包括標(biāo)定ECU關(guān)聯(lián)的系統(tǒng)變量,以圖形窗口為例,在信號(hào)列表中右鍵單擊,在彈出的右鍵菜單中選擇“添加系統(tǒng)變量”:
在圖形中,添加系統(tǒng)變量,將彈出系統(tǒng)變量選擇器:
可以在選擇器中過濾,例如輸入“sine”:
選擇“ecu1.sineSignal”后點(diǎn)擊確定按鈕,將可以在圖形窗口觀察該變量的實(shí)時(shí)變化曲線:
按照此方法逐個(gè)添加示例中已添加DAQ的四個(gè)觀測(cè)量:
選擇分離視圖,將四個(gè)坐標(biāo)軸分開:
可以看到分開顯示的四個(gè)變量:
(2)通過系統(tǒng)變量修改標(biāo)定量
修改標(biāo)定量同樣針對(duì)其所關(guān)聯(lián)的系統(tǒng)變量,可通過小程序,系統(tǒng)變量管理器,信號(hào)激勵(lì)等功能修改一個(gè)標(biāo)定量,以信號(hào)激勵(lì)窗口為例,首先打開信號(hào)激勵(lì)窗口:
點(diǎn)擊左上角的“添加系統(tǒng)變量”按鈕,將打開系統(tǒng)變量選擇器,注意,灰色的變量是只讀變量,即觀測(cè)量,這類變量是不能修改值的,故應(yīng)當(dāng)選擇可寫入的系統(tǒng)變量(即標(biāo)定量):
信號(hào)激勵(lì)窗口不但可以修改標(biāo)定量,還可以修改除了標(biāo)定意外的任意可寫入的系統(tǒng)變量的值,例如讓某個(gè)系統(tǒng)變量跟隨一個(gè)特定的自定義曲線變化,故具有非常廣泛的應(yīng)用。選擇兩個(gè)信號(hào)“ecu1.sineSignal”和“ecu1.sineSignalFreq”,點(diǎn)擊確定后,信號(hào)激勵(lì)列表將出現(xiàn)這兩個(gè)新增的系統(tǒng)變量:
可以看到ECU內(nèi)部這兩個(gè)變量的默認(rèn)值是1,點(diǎn)擊第一個(gè)信號(hào)的物理值的上鍵,讓其自增1:
當(dāng)把幅值改為2后,切換到圖形窗口,可以看到正弦波的幅值發(fā)生了變化:
3 通過信號(hào)激勵(lì)窗口制造變量變化曲線
將幅值信號(hào)的信號(hào)生成器類型選擇為正弦波,可以控制ECU內(nèi)部的標(biāo)定量以正弦波方式變化:
選擇后點(diǎn)擊信號(hào)生成器一列最右側(cè)的配置按鈕,將打開信號(hào)生成器的配置界面,可以看到周期生成的屬性中,周期是100 ms,表示激勵(lì)的周期,可以增加或縮小,最小周期是1 ms,注意,周期越小,網(wǎng)絡(luò)負(fù)荷越重。此外可以修改信號(hào)的周期、幅值、相位和偏移量等等參數(shù)值:
修改完畢后點(diǎn)擊確定按鈕,可以看到信號(hào)生成器還未啟動(dòng),需要手動(dòng)點(diǎn)擊藍(lán)色的啟動(dòng)箭頭以啟動(dòng)信號(hào)生成,當(dāng)然也可以勾選此窗口右上角的閃電選擇框,讓其在TSMaster應(yīng)用程序啟動(dòng)時(shí)一同啟動(dòng)運(yùn)行。
點(diǎn)擊啟動(dòng)后,可以看到信號(hào)生成器處于運(yùn)行狀態(tài),此時(shí)信號(hào)“ecu1.sineSignal”將以100 ms為周期產(chǎn)生變化,此時(shí)可以暫停信號(hào)生成或停止信號(hào)生成。切換到圖形窗口,可以看到幅值被同時(shí)修改后的正弦曲線產(chǎn)生的變化:
4 修改信號(hào)的測(cè)量模式
除了ECU內(nèi)部自帶的DAQ測(cè)量模式外,系統(tǒng)還提供了查詢(Polling)模式:
本例中修改noiseSignal為查詢模式,并將pulseSignal進(jìn)行分頻:
隨后啟動(dòng)標(biāo)定測(cè)量,可以看到多種測(cè)量模式同時(shí)運(yùn)行中。
D
信號(hào)記錄功能
同星XCP模塊支持直接將信號(hào)記錄到mat文件中,這給基于MBD的算法開發(fā)和測(cè)試帶來極大的便利。基本的信號(hào)記錄功能參考之前的章節(jié),本章節(jié)介紹如何將CAN信號(hào)和標(biāo)定信號(hào)同時(shí)記錄在一個(gè)文件中。1 關(guān)聯(lián)CAN數(shù)據(jù)庫斷開TSMaster的連接,將dbc文件拖入TSMaster中,將自動(dòng)打開數(shù)據(jù)庫查看器并載入此數(shù)據(jù)庫。數(shù)據(jù)庫載入后需要配置信號(hào)映射功能,將CAN信號(hào)映射到系統(tǒng)變量中,這樣的好處是系統(tǒng)的仿真,調(diào)試直接依賴系統(tǒng)變量,若后續(xù)更改了數(shù)據(jù)庫,只需更改信號(hào)映射即可,而無需修改腳本,無需修改與系統(tǒng)變量相關(guān)的任何元素。
2 配置符號(hào)映射引擎
點(diǎn)擊“仿真”工具欄中的“符號(hào)映射”,將打開符號(hào)映射管理器,在此例中我們希望記錄“EngineData”報(bào)文中“EngSpeed”這個(gè)信號(hào)的值,在對(duì)話框左側(cè)的過濾器中輸入“speed”,過濾出帶“speed”的數(shù)據(jù)庫符號(hào),在右側(cè)的系統(tǒng)變量列表中,點(diǎn)擊右鍵添加一個(gè)新的系統(tǒng)變量:
系統(tǒng)變量選擇器對(duì)話框?qū)棾觯?br />
由于內(nèi)部變量為系統(tǒng)自動(dòng)生成,用戶需要添加的變量都應(yīng)當(dāng)在用戶變量列表中,故切換到用戶變量頁面,添加一個(gè)新的用戶變量:
輸入新的用戶變量為“XCPSimBus.engine_speed”:
添加后的系統(tǒng)變量將在列表中顯示出來:
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
選中這個(gè)變量后點(diǎn)擊“確定”,將在符號(hào)映射中添加這個(gè)新創(chuàng)建的變量。添加后,同時(shí)選中左邊欄的信號(hào),和右邊欄的系統(tǒng)變量,再在上方工具欄中點(diǎn)擊“連接”按鈕,將創(chuàng)建CAN信號(hào)到系統(tǒng)變量的符號(hào)映射。
連接成功后將會(huì)提示映射創(chuàng)建成功:
符號(hào)映射引擎默認(rèn)是關(guān)閉狀態(tài),需要勾選左上角的“激活”使其在應(yīng)用程序連接時(shí)自動(dòng)工作:
3激勵(lì)CAN信號(hào)
在實(shí)際的應(yīng)用中,變化的CAN信號(hào)來自接收到的報(bào)文,在本例中,為了演示需要,將構(gòu)造一條發(fā)送報(bào)文來激勵(lì)信號(hào),打開CAN / CAN FD發(fā)送窗口,點(diǎn)擊左上角的“添加”按鈕,選擇EngineData報(bào)文后點(diǎn)擊確定:
選中“EngSpeed”信號(hào),修改其激勵(lì)屬性:
本例中選擇了正弦波,勾選發(fā)送窗口右上角的按鈕,使其自動(dòng)激勵(lì):
啟動(dòng)仿真后,可以看到這個(gè)信號(hào)的值呈現(xiàn)3秒周期的自動(dòng)變化:
4 查看映射變量這時(shí)候我們可以在圖形窗口中映射變量“XCPSimBus.engine_speed”的變化曲線,首先點(diǎn)擊右鍵選擇添加系統(tǒng)變量:
選擇系統(tǒng)變量:
圖形將顯示映射后的系統(tǒng)變量的變化曲線:
5 記錄系統(tǒng)變量
打開記錄引擎的系統(tǒng)變量記錄頁面,此頁面不但可以記錄映射的系統(tǒng)變量,也可以記錄其他任何系統(tǒng)變量。右鍵點(diǎn)擊后,選擇“添加”按鈕:
在系統(tǒng)變量選擇器中,選擇需要記錄的系統(tǒng)變量:
選擇后,記錄系統(tǒng)變量界面增加了一條系統(tǒng)變量記錄:
按F5啟動(dòng)應(yīng)用程序,可以看到帶系統(tǒng)變量記錄的測(cè)量過程:
停止應(yīng)用程序后,mat文件將自動(dòng)創(chuàng)建在TSMaster二進(jìn)制文件路徑 bin\Logging\signals\ 下面。
E
信號(hào)回放功能
1 添加記錄文件
在被測(cè)ECU的“測(cè)量記錄”節(jié)點(diǎn)上點(diǎn)擊右鍵,選擇“載入”以加載并回放記錄文件。加載后的文件的鏈接將保留在測(cè)量記錄中,用戶可以切換回放目標(biāo),并反復(fù)回放某個(gè)記錄文件。
在彈出的對(duì)話框中選擇TSMaster輸出的mat格式的記錄文件:
若記錄文件很大,將顯示回放進(jìn)程對(duì)話框,用戶可以隨時(shí)打斷回放過程:
2 通過TSMaster回放記錄文件
可以在記錄文件中點(diǎn)擊右鍵,選擇回放功能:
3 通過Matlab回放記錄文件
直接將mat文件拖入Matlab界面中,即可在工作區(qū)載入此mat文件內(nèi)容。
關(guān)于mat文件信號(hào)生成timeseries,以及在simulink回放等功能,請(qǐng)參考后續(xù)的應(yīng)用筆記。
-
模塊
+關(guān)注
關(guān)注
7文章
2783瀏覽量
49535
發(fā)布評(píng)論請(qǐng)先 登錄
《聊一聊ZXDoc》之汽車標(biāo)定、臺(tái)架標(biāo)定、三高標(biāo)定

解鎖TSMaster fifo函數(shù):報(bào)文讀取的高效方法

干貨分享 | TSMaster AUTOSAR E2E使用說明

ES32VF2264應(yīng)用筆記

AT32F423 PWC應(yīng)用筆記

應(yīng)用筆記 | SiC模塊并聯(lián)驅(qū)動(dòng)振蕩的抑制方法
XCP之A2L文件簡介

干貨分享 | TSMaster軟件指南

TSMaster—RP1210模塊使用指南

新用戶必看!TSMaster軟件Q A指南(第2期)

TSMaster 的 CAN UDS 診斷操作指南(上)

評(píng)論