国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Stateflow 的某重型汽車車身控制器程序設(shè)計(jì)

2021-08-28 09:49康瑞航
汽車實(shí)用技術(shù) 2021年15期
關(guān)鍵詞:調(diào)用車燈代碼

康瑞航,王 毅,郝 飛,嚴(yán) 宇,劉 奇,張 旭

(陜西萬(wàn)方汽車零部件有限公司,陜西 西安 710200)

前言

車身控制器是重型汽車的重要零部件,直接影響到重型汽車燈具、油量檢測(cè)和燃油防盜邏輯、機(jī)油壓力和品質(zhì)判定檢測(cè)、差速鎖控制、雨刮控制、電源管理、信號(hào)轉(zhuǎn)發(fā)、掛車檢測(cè)以及參數(shù)標(biāo)定等功能要求。

以轉(zhuǎn)向燈程序?yàn)槔喝臻g行車燈作為重型汽車上使用最頻繁使用的燈具。

在技術(shù)要求都明確后,進(jìn)行程序設(shè)計(jì):設(shè)計(jì)程序時(shí)執(zhí)行不同功能需要設(shè)計(jì)不同的優(yōu)先級(jí)、使用比較頻繁就需要有即時(shí)和穩(wěn)定考慮故障檢測(cè)以及故障報(bào)警程序設(shè)計(jì)。為保證這些需求常規(guī)手寫代碼,分層程序設(shè)計(jì)需要至少三層的程序設(shè)計(jì):底層用于驅(qū)動(dòng)程序設(shè)計(jì)、中間層用于不同的功能邏輯程序設(shè)計(jì)和負(fù)載開(kāi)段路診斷程序設(shè)計(jì)、頂層用作不同優(yōu)先級(jí)調(diào)用程序的設(shè)計(jì)。

1 代碼

1.1 手寫代碼原理和過(guò)程

如圖1 所示轉(zhuǎn)向燈程序列表,為左右兩側(cè)日間行車燈燈的控制程序。

圖1 某重型汽車的日間行車燈函數(shù)列表

如圖2 某重型汽車的部分轉(zhuǎn)向燈驅(qū)動(dòng)原理圖通過(guò)控制VND5T035AKTR-E 芯片的INPUT(1/2)進(jìn)而控制OUT(1_x/2_x)輸出電平的高低來(lái)控制負(fù)載燈具的亮滅:

圖2 某重型汽車的部分日間行車驅(qū)動(dòng)原理圖

底層驅(qū)動(dòng)程序階段,根據(jù)功能的不同,以驅(qū)動(dòng)芯片的輸入端為參數(shù),編寫底層驅(qū)動(dòng)程序,當(dāng)打左轉(zhuǎn)型燈時(shí),調(diào)用相應(yīng)端口為參數(shù)的底層驅(qū)動(dòng)程序,完成底層程序的編寫和驗(yàn)證后,需要完成底層程序的說(shuō)明性文檔,以供應(yīng)用層調(diào)用時(shí)理解和以后測(cè)試的依據(jù)性文檔。

中間層程序階段,分兩部分功能邏輯程序,邏輯:點(diǎn)亮或關(guān)閉日間行車燈;診斷:通過(guò)周期性檢測(cè)工作時(shí)各個(gè)輸出端口的分壓電阻上的電壓值判斷負(fù)載狀態(tài),并將相應(yīng)標(biāo)志位置位。完成中間層程序的編寫和驗(yàn)證后,需要完成中間層程序的說(shuō)明性文檔,以及其他工程師調(diào)用時(shí)理解和以后測(cè)試的依據(jù)性文檔。

頂層間層程序階段,編寫調(diào)用程序,通過(guò)檢測(cè)各個(gè)開(kāi)關(guān)狀態(tài)確定轉(zhuǎn)型燈的工作狀態(tài)。根據(jù)優(yōu)先級(jí)關(guān)系調(diào)用相應(yīng)功能程序完成相應(yīng)功能。完成頂層程序的編寫和驗(yàn)證后,需要完成頂層程序的說(shuō)明性文檔,以及其他工程師調(diào)用時(shí)理解和以后測(cè)試的依據(jù)性文檔。

最后,將各個(gè)層次程序統(tǒng)一放置在只含轉(zhuǎn)向燈程序的C文件中,通過(guò)main 函數(shù)中相應(yīng)周期時(shí)間執(zhí)行函數(shù)中調(diào)用頂層程序?qū)崿F(xiàn)相應(yīng)功能,并完成整個(gè)功能模塊程序的技術(shù)文檔。

1.2 Stateflow 代碼生成原理和過(guò)程

基于Stateflow 模型代碼主要分為以下步驟,(1)需求分析;(2)系統(tǒng)規(guī)范;(3)子系統(tǒng)設(shè)計(jì);(4)子系統(tǒng)實(shí)現(xiàn);(5)子系統(tǒng)集成和測(cè)試;(6)分系統(tǒng)集成和測(cè)試;(7)全系統(tǒng)集成和測(cè)試[1]。本例以日間行車燈模塊為例,在清楚需求后以Stateflow 狀態(tài)轉(zhuǎn)移為核心搭建相應(yīng)功能的邏輯模型。

如圖3 所示日間行車燈模型總體包含電源狀態(tài)、燈光開(kāi)關(guān)狀態(tài)、點(diǎn)火開(kāi)關(guān)狀態(tài)、日間行車燈負(fù)載診斷標(biāo)志位狀態(tài)作為輸入條件,日間行車燈命令為輸出動(dòng)作。

圖3 日間行車燈模型總體

如圖4 所示日間行車燈模型內(nèi)部第一層狀態(tài)轉(zhuǎn)移圖展示了將燈光開(kāi)關(guān)和鑰匙這兩個(gè)同一級(jí)輸入通過(guò)圖5 所示真值表為邏輯條件放在上框圖合二為一,和電源狀態(tài)以及診斷標(biāo)志狀態(tài)作為邏輯模塊的輸入條件[2]。

圖4 日間行車燈模型內(nèi)部第一層狀態(tài)轉(zhuǎn)移圖

圖5 上框圖內(nèi)部真值表

如圖6 所示為日間行車燈模型最內(nèi)層邏輯狀態(tài)圖,以輸入條件為狀態(tài)轉(zhuǎn)移條件,實(shí)現(xiàn)日間行車診斷和亮滅控制。

圖6 圖4下框圖內(nèi)部狀態(tài)轉(zhuǎn)移圖

完成模型搭建和模擬驗(yàn)證,就可以進(jìn)行Stateflow Coder目標(biāo)編譯生成嵌入式C 代碼。

如圖7 所示在求解器(Solver)中設(shè)置步長(zhǎng)為固定步長(zhǎng)(Fixed-step)。

圖7 在參數(shù)設(shè)置框設(shè)置步長(zhǎng)

如圖8 所示在參數(shù)設(shè)置框配置模型,設(shè)置目標(biāo)編譯器為ert.tlc->Embedded Codery 語(yǔ)言選擇為C,應(yīng)用并保存設(shè)置[3]。

圖8 在參數(shù)設(shè)置框配置模型

圖9 代碼生成報(bào)告框

在設(shè)置完所有參數(shù)、數(shù)據(jù)類型以及接口后,點(diǎn)擊代碼生成按鈕Build Model,生成需要的C 代碼,將生成的C 文件加載到嵌入式工程中,在功能函數(shù)調(diào)用部分調(diào)用相關(guān)調(diào)用自動(dòng)生成的代碼即可完成相關(guān)邏輯。

對(duì)于代碼生成還可以通過(guò)設(shè)置Code Styleg 改變生成的代碼的風(fēng)格以及減少占用更少RAM。

1.3 兩種方式嵌入式開(kāi)發(fā)方式比較

(1)經(jīng)實(shí)驗(yàn)驗(yàn)證兩種方式的代碼都可以完美實(shí)現(xiàn)功能需求。

(2)Stateflow 自動(dòng)生成代碼不需要再根據(jù)編寫每個(gè)環(huán)節(jié)的說(shuō)明性文檔和測(cè)試文檔。

(3)Stateflow 自動(dòng)生成的代碼可以在代碼生成報(bào)告中追溯每一段代碼對(duì)應(yīng)的模型。

(3)Stateflow 自動(dòng)生成的代碼可以通過(guò)設(shè)置取消或者增加代碼的標(biāo)注,方便快捷。

(4)Stateflow 模型的每個(gè)階段都可以進(jìn)行仿真和驗(yàn)證。

2 結(jié)論

通過(guò)Stateflow 自動(dòng)生成代碼技術(shù)和傳統(tǒng)手寫代碼對(duì)比,Stateflow 自動(dòng)生成代碼技術(shù)具有以下優(yōu)勢(shì):

(1)Stateflow 模型就是可執(zhí)行規(guī)范。在基于模型的系統(tǒng)設(shè)計(jì)過(guò)程中,所有過(guò)程遵循統(tǒng)一環(huán)境下的統(tǒng)一模型。由于模型能夠進(jìn)行仿真計(jì)算,因而在設(shè)計(jì)初期就可以針對(duì)設(shè)計(jì)思想進(jìn)行仿真驗(yàn)證,這相當(dāng)于把測(cè)試手段從系統(tǒng)設(shè)計(jì)的初期就引入到整個(gè)設(shè)計(jì)流程中。作為規(guī)范的模型能夠通過(guò)執(zhí)行仿真來(lái)驗(yàn)證自己的正確性,從而保證規(guī)范的正確性。

(2)連續(xù)不斷的測(cè)試和驗(yàn)證。在整個(gè)基于模型的系統(tǒng)設(shè)計(jì)過(guò)程中,從設(shè)計(jì)初期就進(jìn)行離線的算法仿真測(cè)試,在產(chǎn)品實(shí)現(xiàn)之前通常還有完成快速原型仿真,軟件再回路仿真處理器再回路仿真燈步驟,從產(chǎn)品實(shí)現(xiàn)之后需要完成硬件再回路仿真,人在回路仿真等集成測(cè)試手段。這些測(cè)試都是基于前面開(kāi)發(fā)的模型,即每個(gè)環(huán)節(jié)都引入了測(cè)試仿真手段。利用充分的仿真,可以考察系統(tǒng)不同組件對(duì)整個(gè)系統(tǒng)的影響。

(3)自動(dòng)代碼生成。利用自動(dòng)代碼生成技術(shù),工程師擺脫了繁瑣的代碼編寫和調(diào)試工作。自動(dòng)生成代碼源頭為一步步測(cè)試驗(yàn)證過(guò)的模型,只要模型正確,則生成的代碼也正確。自動(dòng)代碼生成技術(shù)使快速原型仿真和硬件在回路仿真成為簡(jiǎn)單易行的測(cè)試手段。而且嵌入式產(chǎn)品代碼生成技術(shù)則能夠幫助工程師節(jié)約70%以上的工作時(shí)間,極大提高工作效率。一旦測(cè)試發(fā)現(xiàn)問(wèn)題,只需要直接追溯模型,修改仿真即可,對(duì)于控制器程序升級(jí)和后期維護(hù)提供便捷渠道。

猜你喜歡
調(diào)用車燈代碼
南非的車燈會(huì)說(shuō)話
基于Android Broadcast的短信安全監(jiān)聽(tīng)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
神秘的代碼
一周機(jī)構(gòu)凈增(減)倉(cāng)股前20名
重要股東二級(jí)市場(chǎng)增、減持明細(xì)
近期連續(xù)上漲7天以上的股
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
車燈技術(shù)演繹行車生活
選對(duì)你的“燈”
C++語(yǔ)言中函數(shù)參數(shù)傳遞方式剖析
新民市| 交城县| 怀远县| 巩留县| 都兰县| 香格里拉县| 威远县| 平武县| 广饶县| 惠安县| 金华市| 团风县| 昆山市| 清水河县| 乐平市| 玉溪市| 尼玛县| 怀来县| 绩溪县| 上饶市| 柳河县| 武邑县| 鹰潭市| 仙居县| 梓潼县| 隆德县| 白朗县| 定陶县| 丽水市| 皮山县| 山阴县| 兴和县| 拜城县| 峡江县| 科技| 聂荣县| 涿州市| 泸水县| 汉中市| 麻阳| 临武县|