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