現在做車載控制器的開發,AUTOSAR架構基本是繞不開的,而Vector達芬奇工具,也是大家常用的AUTOSAR開發工具。作為剛入門的小菜,記錄一下平時的配置。fmjednc
首先說一下總體感受,Vector的達芬奇工具上手難度比較低,主要還是其自動化做得好,比如CAN通信協議棧的開發,基本把只要導入個dbc,然后點一下update,然后摸一會兒魚,在抬頭一看,基本全好了,高效。fmjednc
另外還有一點印象很深的就是大部分的工具報錯,都可以把鼠標放在錯誤的圖標上,然后就會告訴你修復方法,再點一下,錯誤就沒了,大部分的報錯都可以解,這一點也很贊。fmjednc
下面就把一些剛學的總結一些,聲明一下,由于工具是在公司的電腦上,沒法截圖,剛好有同行在網絡上總結過,所以借用了一下圖片。fmjednc
首先打開達芬奇的BSW配置工具,點擊菜單欄的InputFiles,再點擊彈出框的system description files,再點擊添加,選擇dbc,最后點擊一下update,就完活了。如下圖所示。
圖1 dbc文件導入達芬奇工具步驟(圖片來源于網絡)
其實診斷的基本框架開發也是一樣的,在cdd文件中配置好DID的讀寫以及session、level等信息,以及DTC的信息,然后點擊InputFiles,然后點擊Diagnostic Data File添加cdd,再點擊update就完成診斷的基本框架開發了。
Busoff的配置是在CanSM模塊中配置,其中有三個參數主要的參數,分別為:
3.BusoffCanSMBorCounterL1ToL2 。
其中CanSMBorTimeL1為快恢復的時間,也就是CAN總線發生busoff后,需要等CanSMBorTimeL1后才恢復。
其中CanSMBorTimeL2為慢恢復的時間,也就是CAN總線發生busoff后,需要等CanSMBorTimeL2后才恢復。
BusoffCanSMBorCounterL1ToL2為觸發多少次快恢復后跳轉至慢回復。圖2是一個配置圖以及快恢復后的總線信號波形。
另外通常Busoff與DTC是在CanSM的Demevent中關聯的。但是達芬奇提供兩個接口,分別是busoff開始和busoff結束的callout函數,可以給應用層或者其他場景使用,其配置項如圖3所示。
圖3 配置busoff的啟動和結束callout函數(來源網絡)
診斷中的大部分服務,在導入cdd的時候基本都實現了,但是有一小部分還需要自己去實現,比如0x28服務,需要在BswM模塊中關聯需要控制的報文。
其配置是點擊Configuration Editor下的BswM Management,然后點擊AutoConfiguration,再點擊Configuration Communication Control,最后勾選需要控制的總線,以及控制的類型。
但是僅僅配置這個之后,通過上位機去執行28服務的時候,是控制不了網絡管理報文了,這個讓小白的我琢磨的很久,搞不明白,最后還是靠大佬指導,還缺一個配置,就是在Nm模塊中需要勾選Com Control Enable,才能使0x28服務控制網絡管理報文。
圖5 在Nm中配置Com Control Enable(來源網絡)
通常對于診斷報文中,無效的數據字節,主機廠對于這個的填充有一點的要求,有的要求填充為0xAA,有的要求填充0xA5。這個需要在CanTP模塊中,激活填充,然后寫入要填充的值即可,如圖6所示。
網絡管理有幾個重要的時間參數,分別是在Repeat Message Time,Timeout time,Wait Bus Sleep time(配置接口如圖7所示),這幾個參數的含義分別為:
Repeat Message Time:需要持續多長時間接收到網絡管理報文,才會從Repeat Message Time跳轉至Nomal;
Timeout time:該參數為從Ready sleep到預休眠的等待時間;
Wait Bus Sleep time:該參數為從預休眠到Bus sleep的等待時間;
圖7 NM重要的幾個時間參數(來源網絡)
以上就是簡單的總結幾個最近遇到的問題,對于大佬來說,都是xiaocase,但對小白的我來說,還是感覺挺有成就感的,繼續努力。
責編:Admin