上一堂課已經有給大家介紹關于CANdelaStudio創建CDD文件的部分分享,本堂課我們將繼續上次的內容給大家分享CDD文件的創建。
一、Sessions & Security Access編輯介紹
1. Sessions (0x10)
0x10服務包含3個常用的子功能,0x01 Default默認會話,0x02 Programming編程會話,0x03 Extended擴展會話。為什么設計三個會話模式呢?因為權限問題。默認會話權限最小,可操作的服務少;擴展模式通常用于解鎖高權限診斷服務,例如寫入數據/參數;編程模式用于解鎖bootloader相關的診斷服務,即程序燒錄。

上圖為會話模式的一個跳轉關系式:
a.控制器上電會處于默認會話模式;
b.在默認會話模式下收到默認會話服務的請求
c.在默認會話模式下收到非默認會話服務的請求,會話模式進入編程或者擴展模式
d.在非默認會話模式下收到默認會話服務的請求,或者S3時間超時自動跳回默認會話模式
e.在擴展會話模式下收到編程會話服務的請求或者編程會話模式下收到編程會話服務的請求
f.在編程會話模式下收到擴展會話服務的請求或者擴展會話模式下收到擴展會話服務的請求
需要注意的是如果S3時間內沒有收到任何診斷請求,但是又想ECU保持在當前會話模式,這個時候可以周期性的發送0x3E服務,告訴ECU診斷儀在線,不要實現會話模式跳轉,0x3E服務是周期性發送的,來時刻刷新S3時間值。
在CANdelaStudio中如何新建一個會話模式?
步驟一:選擇New Session新建一個會話模式

步驟二:編輯參數

步驟三:選擇新的會話模式支持的服務和設置解鎖機制

步驟四:完成會話模式的新建

新建完成后,在Sessions和State Groups下可以看到新建的會話模式


前面有提到診斷服務對會話模式是有要求的,這就需要在CDD文件里面根據診斷需求定義去設置。在States->Dependencies->Editing下,可以對會話跳轉模式進行編輯,里面定義診斷數據庫所有的診斷服務。根據診斷需求定義,服務在某個會話模式下執行,支持的話表示“yes”,在該會話模式下不能支持的表示“No”。針對Default、Programming、Extended,這些表示執行了診斷服務后,對會話模式有變化的,需要設置為相應的會話模式。

編輯完成后,可以States->Dependencies->State diagram下查看整個會話模式跳轉示意圖(首次使用CANdelaStudio需要根據提示去下載插件):

2. Security Access (0x27)
Security Access就是安全訪問,通過采用種子與密鑰的方式為ECU提供了一種保護機制,針對一些服務進行訪問限制來保護數據。
安全訪問過程如下圖所示:

如果需要新建安全等級,在CDD文件中也是可以的:
步驟一:選擇New Security Level新建一個安全等級

步驟二:請求種子服務參數編輯

步驟三:發送密鑰參數編輯

步驟四:安全訪問數據記錄參數編輯

步驟五:完成安全等級的新建

新建完成后,在Security Access和State Groups下可以看到新建的安全等級


同Session會話模式一樣,診斷服務對安全訪問狀態是有要求的,所以需要對所有的診斷服務安全訪問在States->Dependencies->Editing下進行編輯。針對診斷服務,如果在鎖定或者解鎖狀態下執行,支持的話表示“Yes”,不支持的話表示“No”。針對Lock、Unlock這些表示執行了診斷服務后,導致控制器安全訪問狀態改變的,需要設置為相應的狀態。

編輯完成后,可以States->Dependencies->State diagram下查看安全訪問的示意圖:

二、NRC碼編輯
下圖顯示CDDT模板里面自帶的NRC碼

如果NRC碼不能滿足需求,可以新建NRC碼

針對單個的服務去編輯NRC碼:
步驟一:在服務下把“Show Negative Responses”勾上

步驟二:在“Negative Response”頁面編輯支持的NRC碼
經過我們CDD創建速成班課堂的兩次講解,我想大家都清楚了如何去創建CDD文件了,這里再給大家總結一下:
CANdelaStudio可以基于CDDT模板生成診斷數據庫CDD文件,統一診斷數據源、提高數據庫編輯的效率。支持多種總線通信接口,如CAN/CAN FD、DoIP、K-Line、FlexRay。可以編輯診斷服務和診斷響應格式、DTC、DID等,可設定服務間的(會話模式、安全訪問)依賴關系,支持狀態機顯示。生成的CDD文件可以導入其他Vector工具CANoe、CANape、Indigo等軟件中進行診斷手動測試;也可以導入CANoe.DiVa生成自動化診斷測試用例,最終在CANoe中導入CANoe.DiVa生成的測試用例進行自動化測試。
Vector Informatik公司是全球領先的分布式系統設計開發工具、網絡節點測試驗證工具和嵌入式軟件組件提供商,為汽車總線網絡的設計、建模、仿真、分析、測試以及ECU的開發、測試、標定和診斷等過程提供一系列強有力的軟硬件工具和組件,支持CAN、LIN、MOST、FlexRay、以太網、SAE J1939、OSEK和AUTOSAR等多種總線系統、協議和標準。在全球范圍內,來自汽車、商用車、工程機械和控制工程領域的客戶都在應用Vector提供的解決方案和產品。
北匯信息作為Vector中國的合作伙伴,不僅提供相應的工具和技術支持服務及培訓,還針對不同的應用提供相應的解決方案,助力中國客戶的研發效率提升。歡迎聯系北匯信息,為您答疑解惑!
注:文中部分圖片來源于Vector。
發布評論請先 登錄
數據庫數據恢復—MongoDB數據庫文件丟失的數據恢復案例

數據庫數據恢復——MongoDB數據庫文件拷貝后服務無法啟動的數據恢復

數據庫數據恢復—SQL Server附加數據庫提示“錯誤 823”的數據恢復案例

分布式云化數據庫有哪些類型
MySQL數據庫的安裝

云數據庫是哪種數據庫類型?
ODX診斷數據庫轉換工具 - DDC

數據庫事件觸發的設置和應用
數據庫數據恢復—MYSQL數據庫ibdata1文件損壞的數據恢復案例
數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

Oracle數據恢復—異常斷電后Oracle數據庫啟庫報錯的數據恢復案例

數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

評論