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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論