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