汽車嵌入式系統(tǒng)設(shè)計(jì) 課件 第七章 基于V模式的汽車嵌入式系統(tǒng)開發(fā)_第1頁
汽車嵌入式系統(tǒng)設(shè)計(jì) 課件 第七章 基于V模式的汽車嵌入式系統(tǒng)開發(fā)_第2頁
汽車嵌入式系統(tǒng)設(shè)計(jì) 課件 第七章 基于V模式的汽車嵌入式系統(tǒng)開發(fā)_第3頁
汽車嵌入式系統(tǒng)設(shè)計(jì) 課件 第七章 基于V模式的汽車嵌入式系統(tǒng)開發(fā)_第4頁
汽車嵌入式系統(tǒng)設(shè)計(jì) 課件 第七章 基于V模式的汽車嵌入式系統(tǒng)開發(fā)_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第7章基于V模式的汽車嵌入式系統(tǒng)開發(fā)2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)1第7章基于V模式的汽車嵌入式系統(tǒng)開發(fā)闡述了汽車電子系統(tǒng)和嵌入式系統(tǒng)軟件開發(fā)的特點(diǎn),從應(yīng)用軟件、運(yùn)行環(huán)境和基礎(chǔ)軟件三個(gè)方面介紹汽車開放系統(tǒng)結(jié)構(gòu)AUTOSAR。對(duì)汽車嵌入式系統(tǒng)的MBD開發(fā)方法進(jìn)行了介紹,通過應(yīng)用實(shí)例系統(tǒng)地介紹了MATLAB面向MBD開發(fā)工具,包括Simulink控制模型搭建和可視化仿真、Stateflow基于有限狀態(tài)機(jī)和流程圖的模型搭建和仿真、Real-timeWorkshop自動(dòng)代碼生成等工具箱。結(jié)合實(shí)例介紹了模型在環(huán)測試(MIL)、軟件在環(huán)測試(SIL)、處理器在環(huán)測試(PIL)、硬件在環(huán)測試(HIL)等嵌入式系統(tǒng)在環(huán)仿真與測試技術(shù)。介紹了V模式基于CCP和XCP的嵌入式系統(tǒng)標(biāo)定技術(shù)和CANape車載控制器匹配、標(biāo)定系統(tǒng)的應(yīng)用。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)27.1汽車嵌入式系統(tǒng)軟件架構(gòu)AUTOSAR7.1.1汽車電子系統(tǒng)和嵌入式系統(tǒng)軟件開發(fā)的特點(diǎn)汽車電子系統(tǒng)是由大量的微控制器、傳感器和執(zhí)行器構(gòu)成;由多個(gè)嵌入式系統(tǒng)通過網(wǎng)絡(luò)連接起來的一個(gè)龐大且復(fù)雜的控制系統(tǒng)。汽車嵌入式系統(tǒng)也從關(guān)注單個(gè)電控單元向?qū)⑵囎鳛檎w的復(fù)雜控制體系過渡。傳統(tǒng)的嵌入式系統(tǒng)開發(fā)方法已經(jīng)很難滿足需求,因此出現(xiàn)了一些新的開發(fā)方法、體系、流程和工具,形成了汽車嵌入式系統(tǒng)開發(fā)所獨(dú)有的開發(fā)論。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)31.汽車電子系統(tǒng)特點(diǎn)(1)異構(gòu)性1)不同控制系統(tǒng)的異構(gòu)性。汽車電子系統(tǒng)中各個(gè)部件完成的功能各不相同。有的控制功能非常復(fù)雜,如發(fā)動(dòng)機(jī)控制;有的控制功能相對(duì)簡單,如車窗控制。不同的控制系統(tǒng)選用的微控制器在計(jì)算能力、內(nèi)存、通信要求等方面存在著差異,從而構(gòu)成一個(gè)異構(gòu)的控制系統(tǒng)。2)計(jì)算模型的異構(gòu)性。汽車電子系統(tǒng)中所處理的對(duì)象,既包括連續(xù)量,又包括離散量;既包括并行執(zhí)行的功能,也包括串行執(zhí)行的功能。需要使用不同的計(jì)算模型進(jìn)行描述。例如,車門控制適合于使用有限狀態(tài)機(jī)模型,油門控制適合于使用連續(xù)時(shí)間模型,發(fā)動(dòng)機(jī)控制模型則是混合模型。(2)網(wǎng)絡(luò)化車內(nèi)控制單元數(shù)量眾多,所要求的通信帶寬差異很大,而且CAN總線協(xié)議本身存在著節(jié)點(diǎn)數(shù)量、通信速率和通信距離的制約,不能簡單地將整個(gè)車內(nèi)控制系統(tǒng)連接為一個(gè)網(wǎng)絡(luò)。需要根據(jù)功能、通信帶寬,將車內(nèi)網(wǎng)絡(luò)劃分成多個(gè)子網(wǎng),通過網(wǎng)關(guān)將這些子網(wǎng)連接起來。分布式網(wǎng)絡(luò)連接的電子控制系統(tǒng)是汽車電子系統(tǒng)發(fā)展的必然結(jié)果。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)41.汽車電子系統(tǒng)特點(diǎn)(3)可靠性高汽車電子控制系統(tǒng)大多屬于涉及安全的關(guān)鍵系統(tǒng),其中的許多功能都有安全性和可靠性的要求。此外,汽車電子器件的工作環(huán)境非常惡劣。為了保證系統(tǒng)在各種極端條件下均能夠正確地執(zhí)行規(guī)定的功能,系統(tǒng)在設(shè)計(jì)時(shí)必須充分考慮可靠性的要求。(4)靈活性強(qiáng)不同產(chǎn)品的軟件和硬件具有一定的差異,此外產(chǎn)品執(zhí)行標(biāo)準(zhǔn)的變更或者用戶需求的改變,都要求汽車電子控制系統(tǒng)的軟硬件具有較強(qiáng)的靈活性,方便修改以適應(yīng)不同的需求。(5)其他非功能約束汽車電子控制系統(tǒng)對(duì)于非功能屬性也有嚴(yán)格的要求。汽車電子控制系統(tǒng)中的多數(shù)部件關(guān)系到車輛和乘員的安全,通常具有很強(qiáng)的實(shí)時(shí)性要求;汽車電子部件大多使用車上的蓄電池供電,節(jié)能問題也日益突出;汽車電子系統(tǒng)大多安裝在空間極其狹小的密封空間中,需要盡量降低微控制器工作時(shí)的發(fā)熱量,提高電子系統(tǒng)工作的穩(wěn)定性;汽車電子系統(tǒng)的設(shè)計(jì)還有成本、體積等方面的要求。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)52.汽車電子系統(tǒng)開發(fā)思想(1)系統(tǒng)架構(gòu)標(biāo)準(zhǔn)化為了提高汽車嵌入式系統(tǒng)軟件的復(fù)用性和可移植性,車用軟件(尤其是底層與中間層、操作系統(tǒng)等)正在朝著標(biāo)準(zhǔn)化的方向發(fā)展。出現(xiàn)了汽車開放系統(tǒng)結(jié)構(gòu)AUTOSAR、汽車電子開放系統(tǒng)和對(duì)應(yīng)接口標(biāo)準(zhǔn)OSEK(OpenSystemsandtheCorrespondingInterfacesforAutomotiveElectronics)/汽車分布式執(zhí)行標(biāo)準(zhǔn)VDX(VehicleDistributedExecutive)等。軟件架構(gòu)的標(biāo)準(zhǔn)化極大的推動(dòng)了汽車電子控制系統(tǒng)的發(fā)展。(2)系統(tǒng)設(shè)計(jì)模型化在嵌入式控制系統(tǒng)中,模型與算法是軟件的核心。開發(fā)人員需要通過模型進(jìn)行交流、優(yōu)化設(shè)計(jì)、管理代碼、系統(tǒng)測試以及管理文檔。因此,基于模型的開發(fā)(MBD)技術(shù)得到了迅猛發(fā)展,已成為汽車嵌入式系統(tǒng)軟件開發(fā)的主要途徑。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)62.汽車電子系統(tǒng)開發(fā)思想(3)系統(tǒng)設(shè)計(jì)自動(dòng)化1)汽車嵌入式系統(tǒng)軟件開發(fā)自動(dòng)化是提升軟件開發(fā)效率的必要途徑。在以模型為中心的軟件設(shè)計(jì)基礎(chǔ)上,借助自動(dòng)化軟件工具實(shí)現(xiàn):系統(tǒng)代碼自動(dòng)生成、系統(tǒng)文檔自動(dòng)生成、系統(tǒng)測試案例自動(dòng)生成等,已經(jīng)成為加快汽車電子軟件開發(fā)進(jìn)程的唯一選擇。2)系統(tǒng)軟件開發(fā)自動(dòng)化保證了系統(tǒng)的設(shè)計(jì)、代碼和文檔之間的一致性。3)系統(tǒng)標(biāo)定自動(dòng)化是汽車電子控制系統(tǒng)開發(fā)中的重要環(huán)節(jié)。面對(duì)各種復(fù)雜的工況,通過自動(dòng)化的標(biāo)定工具,大大縮減系統(tǒng)標(biāo)定的時(shí)間。目前,面向汽車電子控制系統(tǒng)開發(fā)需求,出現(xiàn)了比較完善的系統(tǒng)開發(fā)自動(dòng)化的工具鏈,如MATLAB的Simulink/Stateflow/RealTimeWorkshop的控制模型搭建、控制算法實(shí)現(xiàn)、控制系統(tǒng)仿真與驗(yàn)證、C代碼自動(dòng)生成的汽車嵌入式系統(tǒng)軟件自動(dòng)開發(fā)環(huán)境;dSPACE控制系統(tǒng)硬件在環(huán)仿真工具;CANoe基于網(wǎng)絡(luò)的汽車控制系統(tǒng)開發(fā)工具;CANape基于網(wǎng)絡(luò)的標(biāo)定工具等。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)72.汽車電子系統(tǒng)開發(fā)思想(4)算法與實(shí)現(xiàn)相分離嵌入式系統(tǒng)的重大突破往往來自于控制算法的發(fā)明或改進(jìn),控制算法與工程領(lǐng)域的具體問題是密切關(guān)聯(lián)的。傳統(tǒng)的汽車電子軟件開發(fā)要求算法設(shè)計(jì)人員同時(shí)需要承擔(dān)軟件實(shí)現(xiàn)的工作。因此,將算法設(shè)計(jì)與軟件實(shí)現(xiàn)相分離,才能保證控制算法的專業(yè)性和軟件實(shí)現(xiàn)的高效性。(5)應(yīng)用與平臺(tái)相獨(dú)立傳統(tǒng)的汽車電子控制軟件與汽車電子控制單元ECU緊密聯(lián)系,每個(gè)控制系統(tǒng)軟件面向特定的應(yīng)用、運(yùn)行在特定硬件平臺(tái),這種應(yīng)用架構(gòu)只能解決特定的控制功能需求。針對(duì)日益增長的復(fù)雜應(yīng)用需求,要求多個(gè)控制單元緊密協(xié)作的集成安全應(yīng)用,很難通過傳統(tǒng)的設(shè)計(jì)方法實(shí)現(xiàn)。為滿足集成應(yīng)用開發(fā),需要一套全新的軟件架構(gòu)和開發(fā)方法,以支持控制系統(tǒng)的軟件與硬件平臺(tái)的分離。未來的汽車電子應(yīng)用將是運(yùn)行在汽車分布式的電子控制單元,軟件開發(fā)商與硬件開發(fā)商也將是互相獨(dú)立的,但彼此必須遵循統(tǒng)一的規(guī)范。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)82.汽車電子系統(tǒng)開發(fā)思想2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)9(6)驗(yàn)證和可靠性保障正確性、安全性、穩(wěn)定性、可靠性是汽車電子軟件最重要的目標(biāo)。需要在系統(tǒng)設(shè)計(jì)的每一個(gè)階段對(duì)系統(tǒng)的設(shè)計(jì)進(jìn)行驗(yàn)證。近年來,在汽車嵌入式系統(tǒng)開發(fā)過程中,提出并廣泛運(yùn)用的測試技術(shù)有:模型在環(huán)測試(MIL,ModelInLoop)、軟件在環(huán)測試(SIL,SoftwareInLoop)、處理器在環(huán)測試(PIL,ProcessorInLoop)、硬件在環(huán)測試(HIL,HardwareInLoop)等,出現(xiàn)了相應(yīng)的測試驗(yàn)證工具,建立“虛擬車輛”各種功能的測試與驗(yàn)證平臺(tái),確保通過嚴(yán)格且形式化的驗(yàn)證來確保系統(tǒng)設(shè)計(jì)各個(gè)環(huán)節(jié)的正確性。7.1.2汽車開放系統(tǒng)結(jié)構(gòu)AUTOSARAUTOSAR為車輛系統(tǒng)提供了基于不同層面、標(biāo)準(zhǔn)接口、通用軟件底層的基礎(chǔ)結(jié)構(gòu)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)10AUTOSAR的體系架構(gòu)AUTOSAR特點(diǎn):1)模塊化:汽車軟件元件模塊化可方便實(shí)現(xiàn)根據(jù)某些電子控制單元功能及其任務(wù)特定需求等對(duì)軟件模塊進(jìn)行裁減;2)可量測性:可量測性能確保通用軟件模塊在不同車輛平臺(tái)的適應(yīng)性,以防止實(shí)現(xiàn)類似功能時(shí)發(fā)生軟件增生;3)可移植性:函數(shù)可移植性能優(yōu)化現(xiàn)有整個(gè)車輛電子系統(tǒng)的資源使用;4)復(fù)用性:軟件元件復(fù)用性將會(huì)提高軟件產(chǎn)品的質(zhì)量和可靠性;5)標(biāo)準(zhǔn)化接口:不同軟件層之間接口的標(biāo)準(zhǔn)化可以看成是AUTOSAR實(shí)現(xiàn)其技術(shù)目標(biāo)的基礎(chǔ)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)11AUTOSAR目標(biāo)建立獨(dú)立于硬件的分層軟件架構(gòu);為實(shí)施應(yīng)用提供方法論,包括制定無縫的軟件架構(gòu)堆疊流程并將應(yīng)用軟件整合至ECU;制定各種車輛應(yīng)用接口規(guī)范,使軟件構(gòu)件在不同汽車平臺(tái)復(fù)用;能夠進(jìn)行全系統(tǒng)和組態(tài)過程的優(yōu)化,且允許為了滿足特定的設(shè)備和硬件限制的運(yùn)行需求進(jìn)行局部優(yōu)化。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)121.獨(dú)立于硬件的分層軟件架構(gòu)汽車電子軟件架構(gòu)被抽象成四層:應(yīng)用層(ApplicationLayer)運(yùn)行時(shí)環(huán)境(RTE,RunTimeEnvironment)基礎(chǔ)軟件層(BSW,BasicSoftware)微控制器(Microcontroller)2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)13(1)AUTOSAR應(yīng)用軟件AUTOSAR軟件(位于AUTOSAR運(yùn)行時(shí)環(huán)境的上層)由映射于ECU的AUTOSAR軟件組件組成。AUTOSAR軟件組件和軟件元組件之間所有的相互作用都由AUTOSAR運(yùn)行時(shí)環(huán)境引導(dǎo)。AUTOSAR接口保證了AUTOSAR運(yùn)行時(shí)環(huán)境周圍軟件元件的連通。(2)AUTOSAR運(yùn)行時(shí)環(huán)境RTE充當(dāng)ECU內(nèi)部和ECU之間信息交換的通信中心。不管是使用ECU間通信通道(比如CAN、LIN、FlexRay、MOST等)還是在ECU內(nèi)部通信,通過提供相同的接口和服務(wù),RTE為AUTOSAR軟件組件提供通信抽象。各個(gè)ECU的RTE有差異,RTE應(yīng)根據(jù)需要進(jìn)行剪裁。(3)AUTOSAR基礎(chǔ)軟件基礎(chǔ)軟件是標(biāo)準(zhǔn)化的軟件層,為AUTOSAR軟件組件提供服務(wù),是運(yùn)行軟件功能部件所必須的。基礎(chǔ)軟件位于AUTOSAR運(yùn)行時(shí)環(huán)境的下層,并不完成任何功能性工作?;A(chǔ)軟件包含ECU特定的標(biāo)準(zhǔn)組件。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)14ECU特定的標(biāo)準(zhǔn)組件1)服務(wù)系統(tǒng)服務(wù),比如診斷協(xié)議、NVRAM(非易失隨機(jī)存儲(chǔ)器)、FLASH(閃存)和內(nèi)存管理等。2)通訊通信構(gòu)架(如CAN,LIN,F(xiàn)lexRay,…),輸入/輸出管理,網(wǎng)絡(luò)管理。3)操作系統(tǒng)AUTOSAR是面向所有車輛領(lǐng)域通用的體系結(jié)構(gòu),因此也規(guī)定了AUTOSAR操作系統(tǒng)的要求。具體有:靜態(tài)設(shè)定和縮減;實(shí)時(shí)性能的認(rèn)證;提供基于優(yōu)先級(jí)的時(shí)序調(diào)度;提供運(yùn)行時(shí)的保護(hù)功能;可在低端控制器上運(yùn)行而不需外部資源。AUTOSAR允許在基礎(chǔ)軟件組件中包含第三方的操作系統(tǒng)。為了使第三方的操作系統(tǒng)的接口適應(yīng)AUTOSAR標(biāo)準(zhǔn),必須將其提取到AUTOSAR操作系統(tǒng)中。OSEK操作系統(tǒng)(ISO17356-3)是AUTOSAR操作系統(tǒng)的基礎(chǔ)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)154)微控制器抽象為了避免從上層軟件直接存取微控制器寄存器,硬件操作必須通過微控制器抽象層(MCAL)。MCAL用來確保與基礎(chǔ)軟件組件連接的標(biāo)準(zhǔn)接口的硬件特征,管理微控制器外設(shè)接口,并提供帶有與微控制器無關(guān)的數(shù)據(jù)基礎(chǔ)軟件組件。MCAL實(shí)現(xiàn)通知機(jī)制,用來支持對(duì)不同處理器發(fā)布命令、響應(yīng)事件和處理信息。MCAL還包括:數(shù)字輸入輸出(DIO)、模擬/數(shù)字轉(zhuǎn)換(ADC)、脈寬調(diào)制器(PWM)、EEPROM、FLASH、捕獲比較單元(CCU)、看門狗、串行外圍接口、IIC總線等接口的抽象。為了減弱上層軟件與所有下層硬件的相關(guān)性,ECU抽象為軟件接口,通過復(fù)雜設(shè)備驅(qū)動(dòng)(CDD)實(shí)現(xiàn)對(duì)硬件的直接操作。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)16AUTOSAR接口分類1)標(biāo)準(zhǔn)接口標(biāo)準(zhǔn)接口是AUTOSAR標(biāo)準(zhǔn)中被標(biāo)準(zhǔn)化的接口,但它并沒有使用AUTOSAR接口技術(shù),標(biāo)準(zhǔn)接口通常被用在某個(gè)ECU內(nèi)部軟件模塊之間的通訊,不能用于網(wǎng)絡(luò)通訊。如果存在一個(gè)具體的標(biāo)準(zhǔn)API(應(yīng)用編程接口,比如OSEK通訊接口),則稱為標(biāo)準(zhǔn)接口。2)標(biāo)準(zhǔn)AUTOSAR接口標(biāo)準(zhǔn)AUTOSAR接口是使用AUTOSAR接口技術(shù)標(biāo)準(zhǔn)化的接口,其語法和語義都在標(biāo)準(zhǔn)中進(jìn)行了規(guī)定,通常使用于AUTOSAR服務(wù)中,由基礎(chǔ)軟件服務(wù)提供給應(yīng)用程序。3)AUTOSAR接口AUTOSAR接口定義了軟件模塊和BSW模塊(僅僅是IO抽象和復(fù)雜驅(qū)動(dòng))之間交互的方式,AUTOSAR接口是以端口port的形式出現(xiàn)的,AUTOSAR將ECU內(nèi)部通訊和網(wǎng)絡(luò)通訊所使用的接口進(jìn)行了統(tǒng)一。使用AUTOSAR接口可以使軟件組件在幾個(gè)ECU中分布。ECU的RTE將維護(hù)軟件組件分布的透明性(開放性)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)17標(biāo)準(zhǔn)接口、標(biāo)準(zhǔn)AUTOSAR接口、AUTOSAR接口第一和第二類接口都是語法語義標(biāo)準(zhǔn)化的接口,即接口函數(shù)的數(shù)量、函數(shù)的名字、函數(shù)參數(shù)名字及數(shù)量、函數(shù)的功能、函數(shù)的返回值都已經(jīng)在標(biāo)準(zhǔn)中進(jìn)行了定義。不同公司的軟件在實(shí)施這些接口的時(shí)候雖然內(nèi)容算法不同,但是它們結(jié)構(gòu)和功能是一致的,在AUTOSAR規(guī)范文檔里可查到其接口定義。第三類接口,AUTOSAR僅僅規(guī)定了簡單的命名規(guī)則,這類接口和應(yīng)用高度相關(guān)。比如ECU控制大燈打開的接口可以是Rte_Call_RPort_BeamLight_SetDigOut,也可以是Rte_Call_RPort_HeaderLight_Output,各公司可以自己定義。又比如儀表想要從CAN總線上獲得車速,該接口可以是Rte_IRead_RE_Test_RPort_Speed_uint8,也可以是Rte_IRead_Test_RE_RPort_Spd_uint8。這些接口必須通過RTE交互。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)182.AUTOSAR分層體系架構(gòu)的詳細(xì)解讀(1)應(yīng)用層(ApplicationLayer)2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)19應(yīng)用層中的功能由各軟件組件SWC(SoftwareComponent)實(shí)現(xiàn),SWC中封裝了部分或者全部汽車電子功能,包括對(duì)其功能的具體實(shí)現(xiàn)以及描述,比如控制汽車大燈、空調(diào)等部件的運(yùn)作,但是與汽車硬件系統(tǒng)沒有連接。1)軟件組件SWCSWC封裝了特定的應(yīng)用功能。根據(jù)不同應(yīng)用領(lǐng)域的要求,SWC可能是一個(gè)可以復(fù)用的小函數(shù)(比如濾波器),或者是一個(gè)封裝了整個(gè)汽車功能的大模塊。但是SWC不能被分布在幾個(gè)AUTOSAR控制器中,因此在一部車輛中一個(gè)SWC只能分配給一個(gè)ECU。SWC精確地描述了組件所提供和所需的數(shù)據(jù)和服務(wù)。包括:組件需要的和能提供的作用和數(shù)據(jù);底層結(jié)構(gòu)上的組件需求;組件所需的資源(內(nèi)存、CPU處理時(shí)間等);組件指定執(zhí)行動(dòng)作的有關(guān)信息。SWC的實(shí)現(xiàn)與底層基礎(chǔ)結(jié)構(gòu)無關(guān)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)20由三個(gè)AUTOSAR軟件組件組成,它們之間由幾個(gè)“連接器”互聯(lián)。AUTOSAR軟件組件互聯(lián)實(shí)例1)軟件組件SWCSWC由最小邏輯單元(Atomiccomponent)組成。最小邏輯單元有Application、Sensor/actuator(傳感器/執(zhí)行器)兩種類型。Application是算法實(shí)現(xiàn)類型,能在ECU中自由映射;Sensor、Actuator是為Application提供的I/O端口類型,用于與ECU綁定,但不可像Application那樣能在各ECU上自由映射。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)21SWC組成實(shí)例1)軟件組件SWC傳感器/執(zhí)行器組件用于封裝應(yīng)用中的傳感器或執(zhí)行器的屬性。一個(gè)具體的傳感器或執(zhí)行器的屬性被稱為“傳感器/執(zhí)行器組件”;從物理信號(hào)到軟件信號(hào)(如汽車速度)、軟件信號(hào)到物理信號(hào)(如車燈)的典型轉(zhuǎn)換過程。傳感器/執(zhí)行器組件與其所要映射的ECU無關(guān),與所要設(shè)計(jì)的傳感器或執(zhí)行器有關(guān)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)22圖7-5硬件之間的相互作用2)端口Ports用來和SWC通信SWC具有明確定義的端口,通過這些端口與其它SWC互聯(lián)。客戶端—服務(wù)器接口(定義了一系列可能涉及的操作)發(fā)送端—接收端接口(允許使用通過VFB的面向數(shù)據(jù)的通訊機(jī)制)PPort提供AUTOSAR接口。此端口所屬的SWC提供在客戶端—服務(wù)器接口中操作的實(shí)現(xiàn),并各自產(chǎn)生在面向數(shù)據(jù)的發(fā)送端—接收端接口中描述的數(shù)據(jù)。RPort需要AUTOSAR接口。此SWC能調(diào)用操作(接口是客戶端—服務(wù)器接口),也能讀取發(fā)送端-接收端接口描述的數(shù)據(jù)元素。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)23通信內(nèi)容分別為數(shù)據(jù)元(Dataelements)和操作(Operations)。數(shù)據(jù)元采用Sender/Receiver通訊方式;操作采用Client/Server通訊方式。①客戶端—服務(wù)器通訊模式該模式在分布式系統(tǒng)中應(yīng)用廣泛,服務(wù)器提供服務(wù),客戶端使用服務(wù)。②發(fā)送端—接收端通訊模式該模式用來傳輸數(shù)據(jù),給出了一個(gè)異步信息發(fā)送解決方案,由發(fā)送端給一個(gè)或多個(gè)接收端發(fā)送信息時(shí),發(fā)送端不會(huì)被阻塞(異步通訊),既不等待也不獲取從接收端來的響應(yīng),也就是說,發(fā)送端只管提供信息,接收端自行決定何時(shí)以及如何使用此信息。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)24(2)Runtimeenvironment層(RTE)可運(yùn)行實(shí)體(Runnables)包含實(shí)際實(shí)現(xiàn)的函數(shù),可以是具體的邏輯算法或是實(shí)際操作。可運(yùn)行實(shí)體由RTE周期性或是事件觸發(fā)調(diào)用。RTE層給應(yīng)用層提供了通信手段。這里的通信是一種廣義的通訊,可以理解成接口。應(yīng)用層中的不同模塊之間的信息交互;應(yīng)用層模塊同基礎(chǔ)軟件之間的信息交互。RTE就是這些交互使用的接口的集散地,它匯總了所有需要和軟件體外部交互的接口。從某種意義上來看,設(shè)計(jì)符合AUTOSAR的系統(tǒng)其實(shí)就是設(shè)計(jì)RTE。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)252023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)26圖7-12Runtimeenvironment層SWC之間的通信是調(diào)用RTEAPI函數(shù)而非直接實(shí)現(xiàn)的,必須在RTE的管理和控制下完成。每個(gè)API遵循統(tǒng)一的命名規(guī)則且只和SWC自身的描述有關(guān)。具體通信實(shí)現(xiàn)取決于系統(tǒng)設(shè)計(jì)和配置,都由工具供應(yīng)商提供的RTEGenerator自動(dòng)生成。軟件組件通信層面引入了虛擬功能總線VFB(VirtualFunctionalBus)的概念,VFB實(shí)現(xiàn)對(duì)AUTOSAR所有通信機(jī)制的抽象,開發(fā)工程師利用VFB將軟件組件的通信細(xì)節(jié)抽象,僅需要通過AUTOSAR所定義的接口進(jìn)行描述,就能夠?qū)崿F(xiàn)軟件組件與其他組件以及硬件之間的通信。服務(wù)和通訊協(xié)議由基礎(chǔ)軟件實(shí)現(xiàn)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)27AUTOSAR組件端口、復(fù)雜設(shè)備驅(qū)動(dòng)、ECU抽象和AUTOSAR服務(wù)是連在一起的。復(fù)雜設(shè)備驅(qū)動(dòng)、ECU抽象和AUTOSAR服務(wù)是基礎(chǔ)軟件的一部分。(3)基礎(chǔ)軟件層(BSW,Basicsoftware)各種不同的ECU,且具有各種各樣的功能,但是實(shí)現(xiàn)這些功能所需要的基礎(chǔ)服務(wù)是可以抽象:比如IO操作、AD操作、診斷、CAN通訊、操作系統(tǒng)等,無非就是不同的ECU功能,所操作的IO、AD代表不同的含義,所接收發(fā)送的CAN消息代表不同的含義,操作系統(tǒng)調(diào)度的任務(wù)周期優(yōu)先級(jí)不同。這些可以被抽象出來的基礎(chǔ)服務(wù)被稱為基礎(chǔ)軟件?;A(chǔ)軟件分成四部分:服務(wù)層、ECU抽象層、復(fù)雜驅(qū)動(dòng)和MCAL。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)28BSW基礎(chǔ)軟件層中4個(gè)部分說明2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)29圖7-14基礎(chǔ)軟件層結(jié)構(gòu)2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)30圖7-19AUTOSAR實(shí)現(xiàn)途徑范例3.AUTOSAR方法AUTOSAR為汽車電子軟件系統(tǒng)開發(fā)過程定義了一套通用的技術(shù)方法,即AUTOSAR方法論。描述了從系統(tǒng)底層配置到ECU可執(zhí)行代碼產(chǎn)生過程的設(shè)計(jì)步驟。第一階段:系統(tǒng)配置。定義系統(tǒng)配置文件,這是系統(tǒng)設(shè)計(jì)者或架構(gòu)師的任務(wù)。包括選擇硬件和軟件組件,定義整個(gè)系統(tǒng)的約束條件。AUTOSAR通過使用信息交換格式和模板描述文件來減少初始系統(tǒng)設(shè)計(jì)時(shí)的工作量。系統(tǒng)配置的輸入是XML類型的文件,輸出是系統(tǒng)配置描述文件,系統(tǒng)配置的主要作用是把軟件組件的需求映射到ECU。第二階段:ECU設(shè)計(jì)與配置階段。根據(jù)系統(tǒng)配置描述文件提取單個(gè)ECU資源相關(guān)的信息,提取出的信息生成ECU提取文件(指定ECU所需的來自系統(tǒng)配置描述的信息)。根據(jù)這個(gè)提取文件對(duì)ECU進(jìn)行配置,例如操作系統(tǒng)任務(wù)調(diào)度、必要的BSW模塊及其配置、運(yùn)行實(shí)體到任務(wù)的分配等,從而生成ECU配置描述文件。該描述文件包含了特定ECU的所有信息。第三階段:代碼生成階段。基于ECU配置描述文件指定的配置來產(chǎn)生代碼、編譯代碼,并把相關(guān)代碼鏈接起來形成可執(zhí)行文件。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)31圖7-20AUTOSAR方法2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)327.2汽車嵌入式系統(tǒng)基于模型的開發(fā)方法7.2.1汽車嵌入式系統(tǒng)的MBD開發(fā)方法基于模型的設(shè)計(jì)(MBD)是一種用數(shù)字化和可視化的方法來解決工程問題和設(shè)計(jì)相關(guān)復(fù)雜控制的算法,是一種信號(hào)處理和通信系統(tǒng),它被廣泛應(yīng)用在動(dòng)力控制、工業(yè)設(shè)備、航空航天和汽車等領(lǐng)域。MBD是一種軟件開發(fā)流程,較之傳統(tǒng)軟件開發(fā)流程而言,能使開發(fā)者更快捷、以更少的成本花費(fèi)進(jìn)行控制系統(tǒng)的軟件開發(fā)。表述系統(tǒng)的模型是MBD整個(gè)開發(fā)流程的中心,貫穿需求、設(shè)計(jì)、實(shí)施與測試等各個(gè)環(huán)節(jié)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)33在汽車嵌入式系統(tǒng)開發(fā)的過程中,很多開發(fā)模式促進(jìn)了MBD的發(fā)展,其中主要包括:(1)基于模型的控制設(shè)計(jì)通過建立被控系統(tǒng)的模型實(shí)現(xiàn)控制系統(tǒng)設(shè)計(jì)。(2)模型驅(qū)動(dòng)設(shè)計(jì)能夠創(chuàng)建出機(jī)器可讀和高度抽象的模型,這些模型獨(dú)立于實(shí)現(xiàn)技術(shù),以標(biāo)準(zhǔn)化的方式儲(chǔ)存,是使軟件開發(fā)模式從以代碼為中心向以模型為中心轉(zhuǎn)變的里程碑。(3)基于模型的信息管理模型被用來關(guān)聯(lián)和組織信息。(4)基于模型的測試?yán)媚P蛠磉M(jìn)行MIL、SIL、PIL、HIL等測試。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)34MBD必須從以下四個(gè)方面提供支持:技術(shù)交流、文檔管理、分析和設(shè)計(jì)綜合。(1)概念和設(shè)計(jì)的交流通過一個(gè)或多個(gè)可共享的圖形化模型來表征系統(tǒng)及其行為已經(jīng)成為相互之間交流系統(tǒng)設(shè)計(jì)中核心概念的一個(gè)有力手段。通過模型進(jìn)行溝通,可以及早驗(yàn)證系統(tǒng)設(shè)計(jì)是否滿足期望,是分析與決策的基礎(chǔ)。需要注意的是,以圖形方式來進(jìn)行系統(tǒng)描述有時(shí)并不能完全提供足夠的系統(tǒng)表征信息,因此,可能需要借助于其他描述工具,如表格等。(2)設(shè)計(jì)信息及文檔管理現(xiàn)代汽車嵌入式系統(tǒng)的設(shè)計(jì)強(qiáng)調(diào)全生命周期的質(zhì)量管理,文檔在產(chǎn)品開發(fā)設(shè)計(jì)、生產(chǎn)、維護(hù)和回收的各個(gè)階段都起著極其重要的作用?;谀P偷男畔⒐芾硗ㄟ^使用模型來描述信息和它們之間的關(guān)系,從而使得技術(shù)的可復(fù)用性和可維護(hù)性大大提高。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)35MBD必須從以下四個(gè)方面提供支持:技術(shù)交流、文檔管理、分析和設(shè)計(jì)綜合。(3)系統(tǒng)分析支持由于設(shè)計(jì)以及需求的多樣性,對(duì)于汽車嵌入式系統(tǒng)而言,分析尤其重要。而有些重要的性質(zhì),如系統(tǒng)邏輯判斷、系統(tǒng)時(shí)序功能、錯(cuò)誤及診斷等通過傳統(tǒng)的人工方式很難進(jìn)行檢驗(yàn)。此外,汽車嵌入式系統(tǒng)的使用往往與整車的環(huán)境密切相關(guān),因此上述的分析有時(shí)需要與運(yùn)行環(huán)境相結(jié)合。通過測試、仿真、快速原型、基于模型的自動(dòng)化測試以及驗(yàn)證等手段,MBD提供了比傳統(tǒng)驗(yàn)證技術(shù)更有優(yōu)勢(shì)的分析手段。(4)設(shè)計(jì)綜合綜合是指利用工具輔助生成設(shè)計(jì)的系統(tǒng)和相關(guān)的文檔。如果對(duì)利用模型進(jìn)行綜合的規(guī)則制定完整,那么可以通過自動(dòng)綜合的手段來實(shí)現(xiàn)系統(tǒng)。目前汽車嵌入式系統(tǒng)開發(fā)中已經(jīng)出現(xiàn)幾種自動(dòng)綜合的應(yīng)用。一個(gè)典型的例子是通過模型自動(dòng)生成產(chǎn)品代碼,在這種模式中,系統(tǒng)的特性以及行為通過圖形化建模語言/工具來描述,所建立的模型可以用來分析系統(tǒng)的功能并能作為系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)。其他一些應(yīng)用還包括文檔及測試信息的自動(dòng)生成和分析等。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)36(1)抽象將特定的系統(tǒng)通過如失效模式、虛擬結(jié)構(gòu)、傳遞函數(shù)和狀態(tài)機(jī)等方式形成簡化的但可以描述真實(shí)的復(fù)雜系統(tǒng)特性模型,該模型省去了一些不相關(guān)的細(xì)節(jié),但保留了需要關(guān)注的部分。(2)形式化、參數(shù)化和結(jié)構(gòu)化為了使模型能夠正確地被使用并便于修改以觀測、分析和計(jì)算,模型一般遵循特定的語法和語義,這就形成了建模語言和建模工具。形式化主要用于不同模型之間的對(duì)應(yīng)關(guān)系;模型結(jié)構(gòu)對(duì)于形成可靠的模型非常重要;參數(shù)化有助于模型的重復(fù)使用。(3)預(yù)測通過多種模型分析技術(shù)可以分析確定系統(tǒng)的特性。這些特性可以通過模型屬性或模型的輸入—輸出關(guān)系進(jìn)行計(jì)算得到。(4)可視化通過抽象和形式化的過程,建模提供了一種使得系統(tǒng)結(jié)構(gòu)可視化的方法。通過預(yù)測過程(如通過仿真),系統(tǒng)的行為過程實(shí)現(xiàn)可視化,從而可以更好地對(duì)系統(tǒng)進(jìn)行理解。(5)細(xì)化通過層層抽象、形式化、結(jié)構(gòu)化和預(yù)測的支持,可以使用一系列的模型來不斷細(xì)化細(xì)節(jié)和增加新的內(nèi)容。(6)可追溯通過抽象、形式化和結(jié)構(gòu)化,提供了對(duì)系統(tǒng)設(shè)計(jì)的追溯。(7)自動(dòng)化結(jié)合計(jì)算機(jī)的支持,可以對(duì)上述的幾個(gè)部分通過自動(dòng)化完成。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)37MBD方法體系實(shí)現(xiàn)途徑基于MBD的產(chǎn)品開發(fā)流程,其機(jī)械部分與電子電氣部分的開發(fā)流程是類似的,均可分為:建模—>仿真—>原型樣機(jī)—>測試—>最終方案—>產(chǎn)品。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)38圖7-21電子系統(tǒng)和機(jī)械系統(tǒng)的MBD產(chǎn)品開發(fā)流程3.MBD技術(shù)體系(1)建模技術(shù)包括建模語言、模型以及它們之間的關(guān)系。(2)分析技術(shù)如模型仿真、穩(wěn)態(tài)分析和動(dòng)態(tài)分析。(3)綜合技術(shù)包括模型生成和支持。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)397.2.2MATLAB面向汽車嵌入式系統(tǒng)的MBD開發(fā)工具2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)40圖7-22MATLAB主要產(chǎn)品及其相互關(guān)系MATLAB/SIMULINK生成嵌入式代碼的步驟嵌入式代碼生成主要利用的是MATLAB中自帶的MATLABCoder模塊;MATLABCoder可以從MATLABcode產(chǎn)生可讀且可移植的C/C++程序,支持多數(shù)MATLAB語言和工具箱,可以將產(chǎn)生的程序作為源程序、靜態(tài)庫或動(dòng)態(tài)庫集成到項(xiàng)目中可在MATLAB環(huán)境中使用產(chǎn)生的程序來加快MATLAB代碼的執(zhí)行速度。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)411.創(chuàng)建模型這個(gè)模型很簡單,輸出Out1等兩個(gè)輸入信號(hào)Input1和Input2之和再乘以增益k(這里先用2代替),即:其中,x和y在其他模塊中定義,z和k在本模塊中定義2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)422.更改設(shè)置代碼生成利用的是MATLAB自帶的MATLABCoder模塊,打開SIMULINK中的ConfiguratonParameters模塊2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)43第一步:更改求解器設(shè)置因?yàn)槲覀兩傻拇a是需要下載到MCU中的,而MCU中的計(jì)時(shí)是按照它的頻率嚴(yán)格進(jìn)行的,因此求解器中的求解步長要與MCU的步長一致,否則就會(huì)出錯(cuò),所以這里將求解器類型改為:定步長(Fixed-step);離散(discrete(nocontinuousstates));步長時(shí)間(Fixed-stepsize)設(shè)置為0.01s(即10ms),對(duì)應(yīng)在MCU中通過定時(shí)器實(shí)現(xiàn)定時(shí)間步長為0.01s執(zhí)行一次對(duì)應(yīng)的函數(shù)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)44第二步:CodeGeneration設(shè)置將Systemtargetfile一欄中默認(rèn)的grt.tlc改為ert.lic,更改方式:可以直接將g改為e,也可以點(diǎn)擊后面的Browse,然后選中ert.tlc(EmbeddedCoder),這一設(shè)置的目的在于生成的代碼是嵌入式C代碼,與grt.tlc相比,代碼量小了很多,這一點(diǎn)對(duì)于MCU原本就不大的內(nèi)存空間很有意義,有興趣的可以自行比較一下。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)45這一步的目的在于可以在代碼生成之后自動(dòng)顯示出來,不勾選的話無法直接看到代碼。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)46第三步:代碼生成紅色方框圈出的就是我們想要實(shí)現(xiàn)的效果,但是可以看到這個(gè)公式和我們想要的還有一些距離,對(duì),接下來要做的就是關(guān)鍵部分了。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)47單擊BuildModel模塊,或者Ctrl+B也行。然后就可以看到生成的代碼了。3.數(shù)據(jù)管理SIMULINK中數(shù)據(jù)管理的方式是:使用數(shù)據(jù)對(duì)象管理數(shù)據(jù)。在面向?qū)ο蟮木幊棠J较?,有一個(gè)很重要的概念——類,類是一種抽象,抽象出具有某一類事物具有共同屬性的操作;還有一個(gè)概念——包,包可以把相關(guān)的類打包到一起,以便于管理;最后,就是對(duì)象,對(duì)象和類是對(duì)應(yīng)存在的,對(duì)象是類的實(shí)體,而類是對(duì)象的抽象。SIMULINK在進(jìn)行數(shù)據(jù)管理的時(shí)候,提供了兩個(gè)包:SimulinkPackage和MptPackage,這里使用的就是SimulinkPackage。下面以SimulinkPackage簡單介紹包、類、對(duì)象及對(duì)象的屬性。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)48Simulink包中有Signal和Parameter兩個(gè)類,Signal有DataType、DataStorageClass、Dimensions等屬性,而Parameter則有DataType、DataStorageClass等屬性。數(shù)據(jù)管理數(shù)據(jù)管理簡單來說就是對(duì)上圖中的各種屬性進(jìn)行管理,其中,最重要的就是數(shù)據(jù)類型(DataType)和存儲(chǔ)類(StorageClass)。數(shù)據(jù)類型很簡單,而存儲(chǔ)類比較麻煩,是影響數(shù)據(jù)存儲(chǔ)的重要因素。模型中的信號(hào),我們可能定義為全局變量,也可能定義為外部變量;模型中的參數(shù),我們可以定義為常數(shù)型變量,也可以定義為宏定義。所有這些,都是通過對(duì)存儲(chǔ)類進(jìn)行管理進(jìn)行實(shí)現(xiàn)的。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)49使用信號(hào)對(duì)象管理信號(hào):第一步:在信號(hào)線上定義信號(hào)名。鼠標(biāo)雙擊信號(hào)線,出現(xiàn)編輯框之后,寫上信號(hào)線的名字x、y、z;第二步:在DataDictionary或BaseWorkspace里定義同名的信號(hào)對(duì)象(這里推薦使用DataDictionary,因?yàn)閿?shù)據(jù)字典會(huì)使用一個(gè)專門的文件進(jìn)行信號(hào)的管理,下同)。在ModelExplorer里,選中DataDictionary或BaseWorkspace,然后添加三個(gè)SimulinkSignal,并改名為x、y、z,設(shè)置x、y的StorageClass為ImportedExtern,將z設(shè)置為ExportedGlobal;2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)50然后點(diǎn)擊左下角出現(xiàn)的方框2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)51第三步:將信號(hào)對(duì)象和信號(hào)線關(guān)聯(lián)起來。鼠標(biāo)右鍵信號(hào)線,選擇Properties,然后選中SingalnamemustresolvetoSimulinksignal,成功設(shè)置字之后信號(hào)名前面會(huì)出現(xiàn)一個(gè)藍(lán)色的“E”。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)52使用參數(shù)對(duì)象管理參數(shù):第一步:定義參數(shù)。雙擊增益模塊gain,更改參數(shù)值為k;第二步:定義參數(shù)對(duì)象。在ModelExplorer里,選中DataDictionary或BaseWorkspace,添加SimulinkParameter,改名為k,定義k的初始值為2,設(shè)置StorageClass為constVolatile。至此,代碼生成的步驟就結(jié)束了,再按Ctrl+B就可以生成想要得到的代碼了。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)537.3.1汽車嵌入式系統(tǒng)開發(fā)中的驗(yàn)證1.模型在環(huán)測試(MIL)模型在環(huán)測試MIL是驗(yàn)證控制算法模型是否滿足功能需求。如圖7-80所示,在Simulink環(huán)境里,除建立控制器模型之外,還需要建立被控對(duì)象模型,將控制器和被控對(duì)象連接起來并形成閉環(huán),讓控制器去控制被控對(duì)象。MIL是對(duì)模型在模型的開發(fā)環(huán)境下(如SIMULINK)進(jìn)行仿真,通過輸入一系列的測試用例,驗(yàn)證模型是否滿足了設(shè)計(jì)的功能需求。MIL是所有測試中最關(guān)鍵的,因?yàn)镸IL的測試準(zhǔn)則必須源于功能需求,沒有可以參考的。而SIL/PIL的測試用例往往都是借用MIL的測試用例,一旦在MIL這個(gè)階段的使用了錯(cuò)誤測試用例,即便所有的測試都通過了,最終這個(gè)Bug也很有可能會(huì)流出去。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)54圖7-80模型在環(huán)測試(MIL)示意圖2.軟件在環(huán)測試(SIL)軟件在環(huán)測試SIL是在PC上驗(yàn)證模型是否與代碼功能一致。SIL是一種等效性測試,與MIL的區(qū)別是把控制器的模型換成了由控制器模型生成的C代碼編譯成的S-function,如圖7-81所示。SIL的目的是為了驗(yàn)證生成的代碼和模型在功能上是否一致。其基本原則一般是使用與MIL完全相同的測試用例輸入,將MIL的測試輸出與SIL的測試輸出進(jìn)行對(duì)比,考察二者的偏差是否在可接受的范圍之內(nèi)。因此這個(gè)測試的結(jié)果就決定了是否帶被控對(duì)象模型并不是那么重要。SIL測試一般在PC上完成,對(duì)代碼的編譯器一般有LCC、SDK、MSC等。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)55圖7-81軟件在環(huán)測試3.處理器在環(huán)測試(PIL)處理器在環(huán)測試PIL是在目標(biāo)處理器上驗(yàn)證模型是否與代碼功能一致。PIL測試與SIL測試的不同在于軟件是使用MCU的目標(biāo)編譯器進(jìn)行編譯鏈接,需要運(yùn)行在目標(biāo)板上,其基本工作原理如圖7-82所示。其測試通過準(zhǔn)則是:使用與SIL相同的測試用例輸入進(jìn)行測試時(shí),比較PIL和SIL的輸出,如果兩者之差在容許范圍之內(nèi),則測試通過。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)56(1)等效性驗(yàn)證PIL需要Simulink模型和目標(biāo)硬件協(xié)同工作。將生成的嵌入式C代碼編譯為目標(biāo)文件下載到目標(biāo)硬件,硬件與PC進(jìn)行硬件通信方式連接,建立Simulink和硬件開發(fā)板上MCU之間的通信通路。Simulink信號(hào)源提供信號(hào)輸入,經(jīng)過通信接口(圖7-82中采用串口)傳遞給目標(biāo)硬件,經(jīng)過MCU計(jì)算之后通過通信接口傳回Simulink模型,并與MIL模型的仿真結(jié)果進(jìn)行比較,比較二者相同參數(shù)、同步計(jì)算的輸出是否相同。(2)測量模型生成的代碼在目標(biāo)處理器上的運(yùn)行時(shí)間如果選擇的處理器足夠強(qiáng)大,或者確定目標(biāo)代碼的運(yùn)行不超限,該測試就意義不大了。4.硬件在環(huán)測試(HIL)硬件在環(huán)測試HIL是在ECU/EPP/整套系統(tǒng)上驗(yàn)證代碼是否滿足功能需求。HIL通過實(shí)時(shí)處理器運(yùn)行仿真模型來模擬受控對(duì)象的運(yùn)行狀態(tài),通過I/O接口與被測的ECU連接,對(duì)被測ECU進(jìn)行全方面的、系統(tǒng)的測試。從安全性、可行性和合理的成本上考慮,硬件在環(huán)測試已經(jīng)成為ECU開發(fā)流程中非常重要的一環(huán),減少了實(shí)車路試的次數(shù),縮短開發(fā)時(shí)間和降低成本的同時(shí)提高ECU的軟件質(zhì)量,降低產(chǎn)品開發(fā)的風(fēng)險(xiǎn)。HIL測試的目的是為了驗(yàn)證控制器。HIL過程中,會(huì)把被控對(duì)象的模型生成C代碼并編譯成可執(zhí)行的文件放到工控機(jī)上運(yùn)行,以便工控機(jī)替代真實(shí)的被控對(duì)象,然后把控制器和工控機(jī)連接起來,實(shí)現(xiàn)閉環(huán)控制。從控制器的角度上看,相當(dāng)于其工作在實(shí)際控制系統(tǒng)之中。HIL經(jīng)常被用于以下幾種情形:1)被控對(duì)象非常昂貴,如果控制器不成熟會(huì)導(dǎo)致被控對(duì)象的損害;2)被控對(duì)象失效會(huì)危及人身安全;3)開發(fā)過程中,先開發(fā)出了控制器,而被控對(duì)象還沒有開發(fā)出來。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)57HIL系統(tǒng)組成1)實(shí)時(shí)仿真硬件,實(shí)現(xiàn)車輛模型的實(shí)時(shí)運(yùn)行、信號(hào)模擬和采集、電氣故障注入等;2)實(shí)時(shí)仿真模型,實(shí)現(xiàn)車輛動(dòng)力學(xué)仿真、道路和交通環(huán)境仿真、駕駛員仿真等;3)試驗(yàn)軟件,實(shí)現(xiàn)軟件工程管理、在線監(jiān)控界面搭建以及自動(dòng)化測試。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)58HIL系統(tǒng)功能特點(diǎn):可模擬真實(shí)ECU的所有輸入信號(hào)和采集所有輸出信號(hào);可模擬各種電氣故障和被控對(duì)象的系統(tǒng)故障;覆蓋幾乎全部的測試工況;可實(shí)現(xiàn)完全的自動(dòng)化測試;可適用于多個(gè)型號(hào)的ECU或ECU組合;系統(tǒng)具有良好的擴(kuò)展性。對(duì)HIL環(huán)境搭建過程中需要考慮以下內(nèi)容:HIL測試系統(tǒng)方案設(shè)計(jì);實(shí)時(shí)仿真硬件系統(tǒng)搭建;車輛模型和被控系統(tǒng)模型開發(fā);虛擬控制器模型開發(fā);傳感器和執(zhí)行器模型開發(fā);模型參數(shù)化和仿真精度優(yōu)化;HIL系統(tǒng)與待測ECU的閉環(huán)調(diào)試;典型駕駛場景開發(fā)等。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)59電動(dòng)助力轉(zhuǎn)向EPS的HIL系統(tǒng)(1)實(shí)時(shí)硬件仿真平臺(tái):用于模擬與在環(huán)硬件的電氣及通訊輸入輸出接口,提供諸如TAS信號(hào)、電機(jī)位置信號(hào)、電流反饋信號(hào)、轉(zhuǎn)向齒負(fù)載等等;接收被測硬件發(fā)出的各種信號(hào),傳遞給車輛模型(或車輛模型+轉(zhuǎn)向系統(tǒng)模型)進(jìn)行計(jì)算仿真;同時(shí)可以產(chǎn)生各種故障用于故障模擬。(2)實(shí)時(shí)仿真模型:用于模擬車輛在不同工況下的工作狀態(tài)。一般來說包括車輛動(dòng)力學(xué)模型,轉(zhuǎn)向系統(tǒng)模型,駕駛員模型等。(3)試驗(yàn)管理軟件:用于對(duì)試驗(yàn)進(jìn)行管理、參數(shù)設(shè)置及監(jiān)控、可視化界面輸出、生成報(bào)告等等。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)60(1)ECU級(jí)的EPSHIL系統(tǒng),也可以稱之為信號(hào)級(jí),ECU軟硬件采用實(shí)物,閉環(huán)回路的其他組成部分均采用虛擬仿真系統(tǒng)。EPS執(zhí)行電機(jī)由實(shí)時(shí)硬件仿真平臺(tái)(MotorEmulation)進(jìn)行模擬,這一部分對(duì)模型的精度要求很高。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)61實(shí)時(shí)模型仿真的SteeringSensor信號(hào)直接傳遞給了EPS軟件,這種處理方法對(duì)EPSECU廠家而言這樣做是可行的;但對(duì)某些OEM用戶,因?yàn)镋PS軟件不能從模型中直接獲取轉(zhuǎn)矩和轉(zhuǎn)角信號(hào),這就需要將實(shí)時(shí)仿真模型中的扭矩和轉(zhuǎn)角信號(hào)傳遞給實(shí)時(shí)硬件平臺(tái),由實(shí)時(shí)硬件平臺(tái)模擬出轉(zhuǎn)矩和轉(zhuǎn)角的物理信號(hào)提供給ECU。(2)EPP級(jí)的EPSHIL系統(tǒng)可以稱之為驅(qū)動(dòng)級(jí),EPP是ElectricalPowerPackage的縮寫。ECU及執(zhí)行機(jī)構(gòu)采用實(shí)物,閉環(huán)回路的其他組成部分采用虛擬仿真系統(tǒng)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)62電機(jī)采用了真實(shí)的助力電機(jī),但仍然沒有轉(zhuǎn)向系統(tǒng)的其它機(jī)械部件,因而需要一個(gè)額外的伺服電機(jī)(磁粉制動(dòng)器)來模擬齒條力負(fù)載。(3)System級(jí)的EPSHIL系統(tǒng)可以稱之為機(jī)械級(jí)。系統(tǒng)組件采用實(shí)物,閉環(huán)回路的其他組成部分采用虛擬仿真系統(tǒng)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)63System級(jí)的EPSHIL被測對(duì)象為整套轉(zhuǎn)向系統(tǒng):實(shí)時(shí)仿真模型中只有整車動(dòng)力學(xué)模型和駕駛員模型(不需要轉(zhuǎn)向器模型和TAS力矩和角度傳感器模型),因此體積龐大?!皩?shí)時(shí)硬件仿真平臺(tái)”其實(shí)就是兩個(gè)伺服電機(jī):

一個(gè)伺服電機(jī)工作于扭矩伺服模式,用于模擬齒條力負(fù)載(加載在齒條上或輸出軸上均可),力矩指令由整車模型給定;

另一個(gè)伺服電機(jī)工作于位置伺服模式或扭矩伺服模式,用于模擬駕駛員給方向盤各種不同的操作工況,指令由HostPC的測試用例給定。這個(gè)層級(jí)的HIL系統(tǒng)最接近于真實(shí)轉(zhuǎn)向系統(tǒng)在整車的表現(xiàn)。整車動(dòng)力學(xué)模型自主建立車輛動(dòng)力模型Carsim、VeDYNA、IPG等都是知名的整車動(dòng)力學(xué)模型供應(yīng)商,以成熟的整車動(dòng)力學(xué)模型為基礎(chǔ),可以自主建立車輛動(dòng)力模型,整車參數(shù)要盡可能準(zhǔn)確。整車模型的主要輸入?yún)?shù)對(duì)于EPS這個(gè)應(yīng)用而言,與整車模型交互的信息并不是很多,整車模型的主要輸入?yún)?shù)有:車速、發(fā)動(dòng)機(jī)轉(zhuǎn)速和方向盤轉(zhuǎn)角(轉(zhuǎn)矩),整車模型的主要輸出參數(shù)有:齒條力、質(zhì)心側(cè)偏角和橫擺角速度。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)64轉(zhuǎn)向器模型和TAS(力矩和角度傳感器)模型自己搭建2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)65測試來源于需求—功能需求+安全需求(1)功能與性能測試:在不同的道路特征下(路面附著系數(shù)、水平屬性、側(cè)坡屬性、路面不平度屬性……)目標(biāo)車輛處于不同的狀態(tài)(滿載/輕載、不同胎壓……)時(shí);駕駛員做不同操縱工況(加減速、雙移線、轉(zhuǎn)角階躍、轉(zhuǎn)角脈沖、轉(zhuǎn)矩階躍、轉(zhuǎn)矩脈沖、蛇形機(jī)動(dòng)、穩(wěn)態(tài)回轉(zhuǎn)……);考察轉(zhuǎn)向系統(tǒng)的穩(wěn)定性和操縱感覺。(2)安全與診斷測試。在不同工況下進(jìn)行故障注入,考察整車的安全性;并檢查故障是否被檢測到,相應(yīng)的錯(cuò)誤代碼、診斷故障代碼(DTC,DiagnosticTroubleCode)是否被記錄,故障燈是否被點(diǎn)亮;是否能通過診斷會(huì)話獲取相關(guān)的DTC及簡要說明。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)667.3.3V模式下嵌入式系統(tǒng)標(biāo)定技術(shù)大量的電子控制單元(ECU)作為汽車系統(tǒng)中的中樞系統(tǒng),主要的工作過程是采集輸入信息包括駕駛員意圖、車輛運(yùn)行工況等,并采用合理的算法計(jì)算輸出,用公式OUT=f(IN)來表示。為了達(dá)到理想的控制效果,算法f中會(huì)有很多參數(shù)根據(jù)不同的駕駛意圖以及車輛運(yùn)行工況來進(jìn)行適時(shí)的調(diào)整。ECU中的程序由軟件工程師進(jìn)行設(shè)計(jì),而軟件工程師沒有能力把這些參數(shù)設(shè)置成合理的值,這些值是需要在實(shí)驗(yàn)中根據(jù)汽車數(shù)學(xué)模型進(jìn)行設(shè)置。應(yīng)用工程師/標(biāo)定工程師在軟件開發(fā)結(jié)束以后利用改變參數(shù)分析性能反復(fù)迭代最終測定的。標(biāo)定是指為了使嵌入式控制系統(tǒng)實(shí)現(xiàn)相應(yīng)的功能,使汽車達(dá)到諸如操縱穩(wěn)定性、制動(dòng)性能、污染物排放性能等性能指標(biāo),而對(duì)嵌入式系統(tǒng)的控制參數(shù)進(jìn)行調(diào)整優(yōu)化的工作。也就是控制器在實(shí)車運(yùn)行環(huán)境或試驗(yàn)臺(tái)架運(yùn)行條件下,對(duì)嵌入式控制器進(jìn)行訪問,并對(duì)大量的控制參數(shù)和MAP圖進(jìn)行修改和優(yōu)化,以便使汽車相關(guān)的綜合性能滿足指標(biāo)要求的工作。是為了得到滿意的汽車相關(guān)性能、滿足客戶要求和達(dá)到國家標(biāo)準(zhǔn),對(duì)控制系統(tǒng)軟件的數(shù)據(jù)(包括控制參數(shù)、MAP數(shù)據(jù)等)進(jìn)行優(yōu)化的過程。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)67標(biāo)定標(biāo)定系統(tǒng)主要作用是監(jiān)控ECU工作變量、在線調(diào)整ECU的控制參數(shù)(包括MAP圖/曲線及點(diǎn)參數(shù))、保存標(biāo)定數(shù)據(jù)結(jié)果以及處理離線數(shù)據(jù)等。標(biāo)定系統(tǒng)包括三個(gè)部分:上位機(jī)PC標(biāo)定程序;PC與ECU通信硬件連接;ECU標(biāo)定驅(qū)動(dòng)程序。自動(dòng)測量系統(tǒng)標(biāo)準(zhǔn)化協(xié)會(huì)(ASAM,AutomaticMeasurementSystemStandardsAssociation)建立了汽車電控單元測量、標(biāo)定和診斷三方面的標(biāo)準(zhǔn)(MCD,Measurement、CalibrationandDiagnostics),實(shí)現(xiàn)了ECU與測量標(biāo)定系統(tǒng)和診斷系統(tǒng)間接口的標(biāo)準(zhǔn)化。CCP、XCP等協(xié)議就是其中最為成功的標(biāo)準(zhǔn)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)68以汽車發(fā)動(dòng)機(jī)控制系統(tǒng)為例,說明標(biāo)定分類:(1)器件標(biāo)定通過試驗(yàn)的手段得到外圍器件(主要是指系統(tǒng)采用的傳感器和執(zhí)行器)的特性參數(shù),主要獲取噴油器、水溫傳感器、進(jìn)氣溫傳感器、進(jìn)氣壓力傳感器的特性參數(shù)。(2)臺(tái)架標(biāo)定在發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)上對(duì)發(fā)動(dòng)機(jī)的穩(wěn)態(tài)工況進(jìn)行數(shù)據(jù)優(yōu)化。主要有進(jìn)氣模型標(biāo)定、基本噴油點(diǎn)火標(biāo)定、怠速噴油點(diǎn)火標(biāo)定、全負(fù)荷噴油點(diǎn)火修正標(biāo)定等。具體內(nèi)容有:驗(yàn)證發(fā)動(dòng)機(jī)硬件、燃油開環(huán)控制、基本點(diǎn)火角、動(dòng)態(tài)點(diǎn)火角調(diào)整等。(3)整車標(biāo)定在整車上針對(duì)存在的問題進(jìn)行數(shù)據(jù)優(yōu)化。主要包括駕駛性、適應(yīng)性、污染物排放性能等。具體內(nèi)容有:燃油開環(huán)控制、起動(dòng)過程燃油控制、起動(dòng)過程點(diǎn)火角、閉環(huán)燃油控制、空氣流量、大氣壓修正、空調(diào)控制助力轉(zhuǎn)向、怠速控制、瞬態(tài)燃油控制、起動(dòng)與運(yùn)轉(zhuǎn)燃油控制、爆震敏感度、基礎(chǔ)排放標(biāo)定發(fā)動(dòng)機(jī)各種狀態(tài)等。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)69(4)熱帶開發(fā)標(biāo)定具體內(nèi)容有:零部件溫度檢驗(yàn)、高溫環(huán)境點(diǎn)火修正、怠速功能檢驗(yàn)、熱油運(yùn)行性能、熱態(tài)重復(fù)起動(dòng)、熱態(tài)冷起動(dòng)、怠速點(diǎn)火角修正、炭罐清洗功能等(5)寒帶開發(fā)標(biāo)定具體內(nèi)容有:冷起動(dòng)、冷態(tài)駕駛、瞬態(tài)燃油控制、怠速性能驗(yàn)證、冷態(tài)點(diǎn)火修正等。(6)高原開發(fā)標(biāo)定具體內(nèi)容有:冷起動(dòng)、大氣壓計(jì)算、高海拔燃油修正、三元催化溫度檢驗(yàn)、怠速控制、高原駕駛性等。(7)最終標(biāo)定具體有:駕駛性能優(yōu)化、排放性能優(yōu)化、故障診斷、故障下運(yùn)行等。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)70大致標(biāo)定流程:明確客戶需求、系統(tǒng)的確定、外圍器件標(biāo)定、臺(tái)架標(biāo)定、整車標(biāo)定、三高標(biāo)定、排放標(biāo)定、客戶驗(yàn)收、問題跟蹤。一般標(biāo)定原則:1)盡可能通過試驗(yàn)的方法確定標(biāo)定數(shù)據(jù)。2)標(biāo)定曲線一般是有規(guī)律的不應(yīng)出現(xiàn)異常點(diǎn)。3)標(biāo)定的結(jié)果應(yīng)具有良好的重復(fù)性。4)出現(xiàn)問題時(shí)應(yīng)在控制策略指導(dǎo)下進(jìn)行分析判斷。5)更改數(shù)據(jù)時(shí)應(yīng)預(yù)判是否有其它影響并進(jìn)行驗(yàn)證。6)當(dāng)標(biāo)定出現(xiàn)矛盾情況時(shí),根據(jù)需求取折中方案。7)不必追求極至,適度就是最好的。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)712.XCP協(xié)議CCP(CANCalibrationProtocol)協(xié)議,它是一種基于CAN總線的ECU標(biāo)定協(xié)議,采用CCP協(xié)議可以快速而有效地實(shí)現(xiàn)對(duì)汽車電控單元的標(biāo)定。XCP(UniversalMeasurementandCalibrationProtocol)協(xié)議,用X打頭表示該協(xié)議可以應(yīng)用于不同的輸出層(CAN,Ethernet,F(xiàn)lexRay,SCI,SPI,USB等)。需要注意的是,XCP雖然名為CCP協(xié)議的升級(jí)版本,然而XCP協(xié)議并不向下兼容CCP協(xié)議,有興趣的可以詳細(xì)看它們的命令碼。無論是CCP還是XCP,它們的量測和標(biāo)定的原理都是類似的。通常有兩種模式:一主多從的模式,單個(gè)主機(jī)可以同時(shí)與多個(gè)從機(jī)通訊。主機(jī)通過下發(fā)命令與從機(jī)建立連接、解鎖、讀取數(shù)據(jù)、修改參數(shù)等操作。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)72一主多從的通訊模式XCP主設(shè)備和XCP從設(shè)備之間的通信A2L格式文件通過A2L格式文件描述出某個(gè)參數(shù)的屬性:包括參數(shù)顯示名、長度、物理單位、轉(zhuǎn)換關(guān)系以及映射到ECU的地址,主機(jī)通過該文件,就可以獲取參數(shù)的所有上述信息。以讀取為例,如想要讀取起始地址A、長度2Byte的數(shù)據(jù),那么主機(jī)通過設(shè)定MTA(MemoryTransferAddress)為A,并指定長度為2,然后將命令下發(fā)給從機(jī),從機(jī)收到命令后,從指定的MTA中讀取2byte數(shù)據(jù),然后回傳給主機(jī)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)73圖7-105主機(jī)(TOOL)與從機(jī)(ECU)將的數(shù)據(jù)讀取或修改CCP/XCP的通訊方式查詢(Polling)模式采用的是一問一答模式。DAQ(DataAcQuisition)模式主機(jī)一次性配置好所有要讀取的變量,并關(guān)聯(lián)ECU端的不同事件通道,一旦ECU對(duì)應(yīng)的事件發(fā)生(例如每隔100ms),主動(dòng)上傳數(shù)據(jù)給主機(jī)。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)74圖7-106CCP/XCPDAQ模式XCP功能1)標(biāo)定;2)測量(反饋一些變量的值供上位機(jī)或測試系統(tǒng)查看,如轉(zhuǎn)速等);3)編程和刷新(例如更新一部分地址的數(shù)據(jù)值,甚至重編程等);4)對(duì)ECU功能進(jìn)行旁路(簡單來說就是模擬ECU的數(shù)據(jù))。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)75目前XCP主要使用的工具有Vector公司的CANape、ITAS的INCA、ValueCAN等工具。XCP的一般工作流程XCP是主從的工作結(jié)構(gòu),主節(jié)點(diǎn)(Master)即一個(gè)上位機(jī),定義它為測試系統(tǒng),當(dāng)然也可以理解為XCP工具,一個(gè)主節(jié)點(diǎn)可以連接多個(gè)從節(jié)點(diǎn)(Slave)。第一步要將Master和Slave連接起來,當(dāng)然是通過發(fā)命令的方式建立連接。第二步可以通過上位機(jī)工具監(jiān)控之前定義好的一些變量,例如速度、轉(zhuǎn)矩、電壓等參數(shù)。第三步可以進(jìn)行一些在線標(biāo)定功能,比如在臺(tái)架上標(biāo)定PID的一些參數(shù)。標(biāo)定過程一般是先在一個(gè)存儲(chǔ)區(qū)(RAM)定義的變量找出一個(gè)比較好的參數(shù),然后將這個(gè)比較好的參數(shù)固化下來,擦除原來的數(shù)據(jù)寫入到另外一個(gè)映射好的存儲(chǔ)區(qū)。當(dāng)然也可以通過重新擦寫一個(gè)數(shù)據(jù)區(qū)域,使用其編程的功能。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)76XCP地址映射地址映射的幾個(gè)基本概念:1)邏輯地址:為了XCP的邏輯應(yīng)用定義的一塊地址,就像給一個(gè)變量定義了一個(gè)名字一樣。2)物理地址:它是直接對(duì)應(yīng)存儲(chǔ)器上的一塊地址,比如RAM上的0x0000~0x0200一塊地址;Flash0x1000~0x1200一塊地址。3)參考頁:可以理解為定義的邏輯地址對(duì)應(yīng)Flash上的一塊地址,比如邏輯地址0x0000~0x0200對(duì)應(yīng)Flash上一塊0x1000~0x1200地址;參考頁的屬性在標(biāo)定過程是可讀不可寫的。4)工作頁:可以理解為定義的邏輯地址對(duì)應(yīng)RAM上的一塊地址,比如邏輯地址0x0000~0x0200對(duì)應(yīng)RAM上一塊0x0000~0x0200地址;注意工作頁的屬性是可讀可寫的(以方便標(biāo)定修改)。5)激活頁:就是指選擇激活的一個(gè)頁,比如激活工作頁或者激活參考頁等。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)77標(biāo)定中參數(shù)的標(biāo)定流程:1)激活參考頁(僅可讀),讀取當(dāng)前的參數(shù),比如PID中的比例因子P;2)切換激活頁,激活工作頁(可讀可寫),這個(gè)時(shí)候就可以在線修改參數(shù)來獲得較好的PID曲線,從而確定優(yōu)化后的參數(shù)P;3)將原來參考頁上的P參數(shù)寫入優(yōu)化后的P參數(shù),這樣就完成了一個(gè)參數(shù)的標(biāo)定。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)78兩種地址映射方式1)硬件方式:有些芯片是支持硬件地址映射的,比如英飛凌TC27X系列,它的工作方式比較簡單,就是在切換激活的工作頁時(shí),操作寄存器,硬件完成地址映射。這種方式實(shí)現(xiàn)起來非常簡單,但是需要用到硬件,成本會(huì)高些。2)軟件方式:其實(shí)就是加入一個(gè)offset偏移量來實(shí)現(xiàn)。這種方式實(shí)現(xiàn)起來也不復(fù)雜,但是會(huì)部分增加軟件的維護(hù)工作。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)79XCP的命令簡介Master->Slave(上位機(jī)到下位機(jī))總共0xFF條 名稱 PID范圍

CMD 0xC0~0xFF STIM 0x00~0xBFSlave->Master(下位機(jī)到上位機(jī))總共0xFF條 名稱 PID范圍

Response 0xFFError 0xFE Event 0xFD Service 0xFC DAQ 0x00~0xFB//ODT的序號(hào)大致解釋一下上面名稱:CMD:指的是上位機(jī)下發(fā)給下位機(jī)的一些命令,比如連接命令FF,解鎖,獲取狀態(tài)等一些和下位機(jī)交互的命令。STIM:可以理解為一種上位機(jī)向下位機(jī)大量發(fā)數(shù)據(jù)的一種方式,相當(dāng)于反向的DAQ。Response:肯定應(yīng)答,指的下位機(jī)答復(fù)上位機(jī)的命令。Error:否定應(yīng)答上位機(jī)的命令。Event:事件,指下位機(jī)發(fā)生某事件時(shí)通知上位機(jī)。Service:指下位機(jī)在某些情況下,需要上位機(jī)執(zhí)行一些動(dòng)作,可以理解為請(qǐng)求上位機(jī)服務(wù)。DAQ:指下位機(jī)上傳數(shù)據(jù)給上位機(jī)。具體的一些命令可以參考協(xié)議進(jìn)行進(jìn)一步的了解。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)80XCP的A2L文件A2L文件是一種方便XCP進(jìn)行工作的描述性文件,可以理解為一個(gè)通訊矩陣,包含了項(xiàng)目信息、ECU信息、標(biāo)定變量信息、測量變量信息等。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)81XCP的A2L文件1)HEADER。里邊包含了項(xiàng)目信息,包括項(xiàng)目編號(hào)、項(xiàng)目版本等信息。2)MODULE。里邊包含了在標(biāo)定測量層面來描述ECU需要的所有信息,一個(gè)ECU對(duì)應(yīng)一個(gè)MODULE塊,MODULE由許多子塊來組成。MOD_PAR這個(gè)塊里包含了用于管理ECU的數(shù)據(jù),例如客戶名、編號(hào)、CPU類型、ECU的內(nèi)存分配等,其中最重要的就是ECU的內(nèi)存分配,開發(fā)人員需要根據(jù)ECU內(nèi)存分段情況定義MEMORYSEGMENT和SEGMENT里邊的PAGE,這里的SEGMENT/PAGE的概念和在線標(biāo)定中的概念是一致的,請(qǐng)參考在線標(biāo)定篇章,一個(gè)MODULE里邊只能出現(xiàn)一次。3)MOD_COMMON。用來指定ECU的一些標(biāo)準(zhǔn)的一般性描述信息,比如大小端,數(shù)據(jù)的對(duì)齊方式,F(xiàn)LOAT變量的處理方式等,一個(gè)MODULE里邊只能出現(xiàn)一次。4)CHARACTERISTIC。用來定義標(biāo)定變量,里邊包含了可以被標(biāo)定的變量的名字,地址,長度,計(jì)算公式,精度,最大最小值等信息,一個(gè)MODULE里邊可以出現(xiàn)很多次這樣的塊,也就是說一個(gè)ECU可以有很多的標(biāo)定變量。5)AXIS_PTS。用來定義數(shù)組或查表變量對(duì)應(yīng)的軸的類型,它將被RECORD_LAYOUT塊來引用,一個(gè)ECU里邊可以有很多種不同的軸類型,用于實(shí)現(xiàn)查表和插值。2023/11/28汽車嵌入式系統(tǒng)設(shè)計(jì)82XCP的A2L文件6)MEASUREMENT。用來定義測量變量,里邊包含了可以被測量的變量的名字,地址,長度,計(jì)算公式,精度,最大最小值等信息,一個(gè)MODULE里邊可以出現(xiàn)很多次這樣的塊,也就是說一個(gè)ECU可以有很多的測量變量。7)COMPU_METHOD。用于定義計(jì)算公式,及原始值和物理值之間的轉(zhuǎn)換關(guān)系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論