前言
今天分享一篇BswM的入門文章,文章來(lái)源于網(wǎng)絡(luò)。
正文
模式管理是AUTOSAR中的一個(gè)難點(diǎn),也可以說(shuō)是最龐雜的一塊。因?yàn)槟J焦芾碡灤┱麄€(gè)CP Autosar流程,幾乎所有模塊都跟BSWM發(fā)生著聯(lián)系。
初見AUTOSAR/BswM,可能你知道這些概念:
Action是實(shí)際執(zhí)行的動(dòng)作;
Action1+ Action2+..構(gòu)成ActionLists;
Rules觸發(fā)ActionLists;
LogicalExpressions是Rules的一部分;
但是,懵逼樹下懵逼果,你是不是有疑惑---這一個(gè)個(gè)的條件/表達(dá)式/規(guī)則/接口/動(dòng)作列表/動(dòng)作,到底誰(shuí)先誰(shuí)后?他們分別是怎么觸發(fā)的?怎么才能將他們串起來(lái)?
本文從項(xiàng)目實(shí)踐的角度去講解,在ETAS ISOLAR軟件中(Vector DAVINCI類同),怎么樣按圖索驥讀懂”亂七八糟”的BswM配置!
BswM的對(duì)外信息交流
BswM作為一個(gè)獨(dú)立的模塊,其代碼是在BswM_MainFunction()中周期執(zhí)行的,那么它的輸入/激勵(lì)是什么?
答案:Port!
在ETAS的ISOLAR軟件中BswM可用的Port分以下這些類.
我們把Port信號(hào)的改變理解成觸發(fā)BswM動(dòng)作的信息,從Port開始追朔,按圖索驥,則可將BswM貫穿起來(lái)。我舉個(gè)最簡(jiǎn)單的場(chǎng)景作為例子:
SWC發(fā)起請(qǐng)求->改變ModeRequestPort信息-構(gòu)成>ModeCondition-構(gòu)成>LogicalExpression-構(gòu)成>Rules-觸發(fā)>ActionLists-包含>Actions。
是不是現(xiàn)在還有點(diǎn)懵逼?如果不懵了,到此就可以結(jié)束了,如果還懵著呢,接著看個(gè)真實(shí)的案例。
例子1 - BswMSwcModeRequest類型的請(qǐng)求
該P(yáng)ort請(qǐng)求來(lái)源是SWC,也就是說(shuō)SWC控制著它。
第一步 - 請(qǐng)求/觸發(fā)源
在ModeRequestPort上單擊右鍵 選擇BswM Rule Trace View, 在彈出的視圖里就給出了該P(yáng)ort對(duì)應(yīng)的各個(gè)配置項(xiàng),邏輯是很清晰的。
第二步 - 條件
在BswM Rule Trace View視圖中點(diǎn)擊ModeCondition,進(jìn)入BswM_MC_BswM_PostRun這個(gè)配置項(xiàng):
這個(gè)配置項(xiàng)簡(jiǎn)單來(lái)來(lái)說(shuō)就是一行語(yǔ)句
BswM_MRP_SwcModeRequest== ECUM_STATE_POST_RUN
第三步 - 邏輯表達(dá)式
在BswM Rule Trace View視圖上點(diǎn)擊LogicalExpression視圖, 進(jìn)入BswM_LE_PostRun這個(gè)配置項(xiàng):
該配置項(xiàng)只包含了BswM_MC_BswM_PostRun這一個(gè)條件,所以它依然是一行語(yǔ)句BswM_MRP_SwcModeRequest ==ECUM_STATE_POST_RUN。
第四步 - 規(guī)則
在BswM Rule Trace View視圖上點(diǎn)擊Rules視圖, 進(jìn)入BswM_AR_PostRun這個(gè)配置項(xiàng),
可見這個(gè)規(guī)則就是,使用BswM_LE_PostRun這個(gè)表達(dá)式,當(dāng)其為真的時(shí)候觸發(fā)BswM_AL_BswMSwitchPrepShutdown這個(gè)動(dòng)作組。簡(jiǎn)化成偽代碼就是:
if(BswM_MRP_SwcModeRequest== ECUM_STATE_POST_RUN) { BswM_AL_BswMSwitchPrepShutdown(); } else { /* Do Nothing… */ }
第五步 - 動(dòng)作列表
在BswM Rule Trace View視圖上點(diǎn)擊ActionList視圖,進(jìn)入BswM_AL_BswMSwitchPrepShutdown配置項(xiàng):
第六步 - 動(dòng)作
在視圖上點(diǎn)擊Action視圖,進(jìn)入各個(gè)動(dòng)作詳細(xì)配置,一看就懂了。
做個(gè)總結(jié)
審核編輯:湯梓紅
-
模塊
+關(guān)注
關(guān)注
7文章
2733瀏覽量
47747 -
信號(hào)
+關(guān)注
關(guān)注
11文章
2804瀏覽量
77099 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
363瀏覽量
21778
原文標(biāo)題:AUTOSAR實(shí)戰(zhàn)教程 – 學(xué)會(huì)讀懂AUTOSAR模式管理BswM配置
文章出處:【微信號(hào):汽車電子嵌入式,微信公眾號(hào):汽車電子嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論