上一堂課已經(jīng)有給大家介紹關(guān)于CANdelaStudio創(chuàng)建CDD文件的部分分享,本堂課我們將繼續(xù)上次的內(nèi)容給大家分享CDD文件的創(chuàng)建。
一、Sessions & Security Access編輯介紹
1. Sessions (0x10)
0x10服務(wù)包含3個常用的子功能,0x01 Default默認會話,0x02 Programming編程會話,0x03 Extended擴展會話。為什么設(shè)計三個會話模式呢?因為權(quán)限問題。默認會話權(quán)限最小,可操作的服務(wù)少;擴展模式通常用于解鎖高權(quán)限診斷服務(wù),例如寫入數(shù)據(jù)/參數(shù);編程模式用于解鎖bootloader相關(guān)的診斷服務(wù),即程序燒錄。
上圖為會話模式的一個跳轉(zhuǎn)關(guān)系式:
a.控制器上電會處于默認會話模式;
b.在默認會話模式下收到默認會話服務(wù)的請求
c.在默認會話模式下收到非默認會話服務(wù)的請求,會話模式進入編程或者擴展模式
d.在非默認會話模式下收到默認會話服務(wù)的請求,或者S3時間超時自動跳回默認會話模式
e.在擴展會話模式下收到編程會話服務(wù)的請求或者編程會話模式下收到編程會話服務(wù)的請求
f.在編程會話模式下收到擴展會話服務(wù)的請求或者擴展會話模式下收到擴展會話服務(wù)的請求
需要注意的是如果S3時間內(nèi)沒有收到任何診斷請求,但是又想ECU保持在當前會話模式,這個時候可以周期性的發(fā)送0x3E服務(wù),告訴ECU診斷儀在線,不要實現(xiàn)會話模式跳轉(zhuǎn),0x3E服務(wù)是周期性發(fā)送的,來時刻刷新S3時間值。
在CANdelaStudio中如何新建一個會話模式?
步驟一:選擇New Session新建一個會話模式
步驟二:編輯參數(shù)
步驟三:選擇新的會話模式支持的服務(wù)和設(shè)置解鎖機制
步驟四:完成會話模式的新建
新建完成后,在Sessions和State Groups下可以看到新建的會話模式
前面有提到診斷服務(wù)對會話模式是有要求的,這就需要在CDD文件里面根據(jù)診斷需求定義去設(shè)置。在States->Dependencies->Editing下,可以對會話跳轉(zhuǎn)模式進行編輯,里面定義診斷數(shù)據(jù)庫所有的診斷服務(wù)。根據(jù)診斷需求定義,服務(wù)在某個會話模式下執(zhí)行,支持的話表示“yes”,在該會話模式下不能支持的表示“No”。針對Default、Programming、Extended,這些表示執(zhí)行了診斷服務(wù)后,對會話模式有變化的,需要設(shè)置為相應(yīng)的會話模式。
編輯完成后,可以States->Dependencies->State diagram下查看整個會話模式跳轉(zhuǎn)示意圖(首次使用CANdelaStudio需要根據(jù)提示去下載插件):
2. Security Access (0x27)
Security Access就是安全訪問,通過采用種子與密鑰的方式為ECU提供了一種保護機制,針對一些服務(wù)進行訪問限制來保護數(shù)據(jù)。
安全訪問過程如下圖所示:
如果需要新建安全等級,在CDD文件中也是可以的:
步驟一:選擇New Security Level新建一個安全等級
步驟二:請求種子服務(wù)參數(shù)編輯
步驟三:發(fā)送密鑰參數(shù)編輯
步驟四:安全訪問數(shù)據(jù)記錄參數(shù)編輯
步驟五:完成安全等級的新建
新建完成后,在Security Access和State Groups下可以看到新建的安全等級
同Session會話模式一樣,診斷服務(wù)對安全訪問狀態(tài)是有要求的,所以需要對所有的診斷服務(wù)安全訪問在States->Dependencies->Editing下進行編輯。針對診斷服務(wù),如果在鎖定或者解鎖狀態(tài)下執(zhí)行,支持的話表示“Yes”,不支持的話表示“No”。針對Lock、Unlock這些表示執(zhí)行了診斷服務(wù)后,導(dǎo)致控制器安全訪問狀態(tài)改變的,需要設(shè)置為相應(yīng)的狀態(tài)。
編輯完成后,可以States->Dependencies->State diagram下查看安全訪問的示意圖:
二、NRC碼編輯
下圖顯示CDDT模板里面自帶的NRC碼
如果NRC碼不能滿足需求,可以新建NRC碼
針對單個的服務(wù)去編輯NRC碼:
步驟一:在服務(wù)下把“Show Negative Responses”勾上
步驟二:在“Negative Response”頁面編輯支持的NRC碼
經(jīng)過我們CDD創(chuàng)建速成班課堂的兩次講解,我想大家都清楚了如何去創(chuàng)建CDD文件了,這里再給大家總結(jié)一下:
CANdelaStudio可以基于CDDT模板生成診斷數(shù)據(jù)庫CDD文件,統(tǒng)一診斷數(shù)據(jù)源、提高數(shù)據(jù)庫編輯的效率。支持多種總線通信接口,如CAN/CAN FD、DoIP、K-Line、FlexRay。可以編輯診斷服務(wù)和診斷響應(yīng)格式、DTC、DID等,可設(shè)定服務(wù)間的(會話模式、安全訪問)依賴關(guān)系,支持狀態(tài)機顯示。生成的CDD文件可以導(dǎo)入其他Vector工具CANoe、CANape、Indigo等軟件中進行診斷手動測試;也可以導(dǎo)入CANoe.DiVa生成自動化診斷測試用例,最終在CANoe中導(dǎo)入CANoe.DiVa生成的測試用例進行自動化測試。
Vector Informatik公司是全球領(lǐng)先的分布式系統(tǒng)設(shè)計開發(fā)工具、網(wǎng)絡(luò)節(jié)點測試驗證工具和嵌入式軟件組件提供商,為汽車總線網(wǎng)絡(luò)的設(shè)計、建模、仿真、分析、測試以及ECU的開發(fā)、測試、標定和診斷等過程提供一系列強有力的軟硬件工具和組件,支持CAN、LIN、MOST、FlexRay、以太網(wǎng)、SAE J1939、OSEK和AUTOSAR等多種總線系統(tǒng)、協(xié)議和標準。在全球范圍內(nèi),來自汽車、商用車、工程機械和控制工程領(lǐng)域的客戶都在應(yīng)用Vector提供的解決方案和產(chǎn)品。
北匯信息作為Vector中國的合作伙伴,不僅提供相應(yīng)的工具和技術(shù)支持服務(wù)及培訓(xùn),還針對不同的應(yīng)用提供相應(yīng)的解決方案,助力中國客戶的研發(fā)效率提升。歡迎聯(lián)系北匯信息,為您答疑解惑!
注:文中部分圖片來源于Vector。
發(fā)布評論請先 登錄
相關(guān)推薦
評論