曾備
摘 要:ASPICE是汽車行業(yè)軟件開發(fā)的流程標準,可用于提高車載電控單元的研發(fā)質量;文章基于ASPICE流程框架,結合實際研發(fā)項目及ASPICE L2等級認證過程的經(jīng)驗,闡述了正向開發(fā)過程中各層級交付物的界定及追溯關系,并給出設計實例,說明了正向開發(fā)過程中軟、硬件設計交付物的承接關系。
關鍵詞:ASPICE;正向開發(fā);軟件開發(fā);需求分析;架構設計;追溯關系
中圖分類號:U463.6? 文獻標識碼:A? 文章編號:1671-7988(2020)13-46-04
Research on Forward Development of Vehicle Electronic Control Unit Based
on ASPICE Process Standard
Zeng Bei
( Automotive Engineering Research Institute of Guangzhou Automobile Group Co., Ltd.,
Guangdong Guangzhou 202004 )
Abstract: ASPICE is the process standard of software development in automobile industry, which can be used to improve the quality of vehicle electronic control unit (Ecu). This paper expounds the definition and traceability of each level of deliverables in the process of forward development, and gives some design examples to illustrate the relation between software and hardware design deliverables in the process of forward development.
Keywords: ASPICE; Forward development; Software development; Requirement analysis; Architectural design; Traceability
CLC NO.: U463.6? Document Code: A? Article ID: 1671-7988(2020)13-46-04
前言
隨著我國汽車自主品牌的發(fā)展,車載電控單元的自主研發(fā)成為主機廠的關鍵技術之一。為確保電控單元軟、硬件產(chǎn)品的設計質量,產(chǎn)品的正向開發(fā)流程越來越受到國內廠商的重視。ASPICE作為汽車行業(yè)內軟件開發(fā)的流程標準,較CMMI更適合汽車行業(yè)的軟件開發(fā)[1],難點在于研發(fā)實踐中,如何對不同層級的交付物進行界定,如何建立需求與設計的追溯關系,以及如何梳理軟件設計與硬件設計的承接關系。
另一方面,在正向開發(fā)過程中,如何將整車功能需求分解到零部件的設計要求中,也是業(yè)內探討的熱點,有研究人員指出:零件之間構成的整車系統(tǒng)的功能實現(xiàn)、場景描述有限,更缺少部分性能指標的定義[2]。
1 ASPICE流程要求
以ASPICE 3.0版本為例,標準中共定義了32項流程,其中與車載電控單元軟件設計相關的核心流程組包括系統(tǒng)工程(SYS)及軟件工程流程組(SWE),共11項流程,并給出了相關交付物的追溯關系要求。本文基于以上11項流程及其交付物的追溯關系,闡述了系統(tǒng)開發(fā)流程與軟件開發(fā)流程中交付物的實施案例,并補充了硬件開發(fā)流程與前兩者的承接關系。
2 整車系統(tǒng)架構層級
架構就是對系統(tǒng)中的實體以及實體之間的關系所進行的抽象描述[3]。行業(yè)內通常將整車系統(tǒng)架構劃分為7個層級,如圖1所示:
其中,ASPICE標準中定義的系統(tǒng)開發(fā)流程(SYS)與軟件開發(fā)流程(SWE),可以分別對應到零件級別(L3)及組件級別(L4),而SYS.2流程中要求的客戶需求則可以對應到總成級別(L2)進行設計需求的統(tǒng)籌。本文就零件級別(L3)以下的設計過程及其示例進行分析闡述。
3 車載電控“鑰匙電喚性”功能
3.1 總體流程
以車載電控單元“鑰匙電喚醒”功能為例,詳細闡述了其主要開發(fā)任務、設計產(chǎn)出,以及軟、硬件設計的承接關系。以零部件系統(tǒng)需求分析(L3 SysRS)為起點的設計過程如圖2所示。
由上圖可以看出,按照正向開發(fā)流程,應先制定系統(tǒng)需求,然后通過系統(tǒng)架構設計,將系統(tǒng)需求分解到軟、硬件設計需求上;根據(jù)硬件設計需求,逐步開展硬件架構設計及硬件詳細設計;軟件設計需求的制定依賴硬件架構設計(主要是芯片選型及電路設計),在進行軟件架構設計之后,軟件的詳細設計也需要引用硬件的詳細設計(主要是硬件引腳和資源的分配);整體上看,軟件的設計過程要較硬件的設計過程滯后。
3.2 系統(tǒng)架構
以車載電控單元中與電源管理相關的原理圖為例(注:只含功能示意)闡述各研究對象的層級關系,電源管理原理圖繪制了電控單元內部主芯片、電源芯片、CAN收發(fā)器的基本連接關系,以及各芯片與電控單元外部接口的連接關系,是Lv4 硬件架構設計的產(chǎn)物,用以指導Lv4軟件需求的編制。
根據(jù)系統(tǒng)分層(參見圖2),并結合硬件架構設計,可知不同層級的交付物關注的設計對象不同,每一層級的設計需求應圍繞該層級的系統(tǒng)接口(邊界)進行表述,以區(qū)分不同層級的設計要點(對應于測試用例的驗證標準),如圖3所示。
4 設計過程
4.1 系統(tǒng)需求分析
系統(tǒng)需求分析以零部件外圍接口(如電壓、電流、總線信號等)為分析對象,提取系統(tǒng)行為的設計需求。設計示例:以“鑰匙電喚醒功能”為例,Lv3系統(tǒng)需求表述如下:
4.2 系統(tǒng)架構設計
系統(tǒng)架構設計以零部件整體為分析對象,劃分系統(tǒng)的組成元素(軟、硬件),界定組成元素的接口,并通過分析系統(tǒng)行為,將系統(tǒng)需求拆分為對各組成元素的功能需求,為組成元素的并行(相對地)開發(fā)奠定基礎。設計示例:如圖4所示。
Lv3系統(tǒng)架構設計的主要內容是將控制器的下層組件劃分為HW/BSW/LLSW/ASW,針對“鑰匙電喚醒”功能,將該功能分配給HW及BSW實現(xiàn),并定義HW與BSW的接口,針對“鑰匙電喚醒功能”,是由HW負責檢測喚醒源,硬件喚醒后,運行BSW,由BSW判斷系統(tǒng)的喚醒條件并控制主繼電器控制管腳(MRD)的使能狀態(tài)。
4.3 硬件需求分析
硬件需求分析以零部件硬件為分析對象,提取硬件相關的的設計需求。通過硬件需求分析,可以獲得硬件選型(主要是芯片及外設)的基本依據(jù),主要包括引腳資源、算力、存儲資源、電源特性,以及運行環(huán)境要求等。設計示例:根據(jù)Lv3系統(tǒng)架構設計, Lv4硬件需求應包含2條,如下所示。
4.4 硬件架構設計
根據(jù)硬件需求分析,硬件架構設計將完成零部件內部硬件原理圖的設計,確定硬件選型,是軟件需求分析的重要依據(jù);同時,硬件架構設計還會導致軟件功能設計的差異,因此,硬件架構設計要先于軟件需求分析完成,示例見圖3。
4.5 硬件詳細設計
硬件詳細設計通常涉及到組件的布置、芯片引腳的選定、線路的排布以及電子元器件的匹配等。硬件的詳細設計,會直接影響基礎軟件(BSW)對驅動程序的參數(shù)配置、信號解析等功能,因此,硬件的詳細設計要在軟件詳細設計環(huán)節(jié)之前完成。示例從略。
4.6 軟件需求分析
軟件需求分析以零部件軟件整體為分析對象,結合硬件選型的初步結果,提取軟件相關的設計需求,主要包括從系統(tǒng)需求向下分解的功能要求,以及由硬件選型導致的附加功能要求。設計示例:根據(jù)Lv3系統(tǒng)架構設計,Lv4軟件需求定義包含1條(從架構設計動態(tài)圖4中,可以看出BSW只有一個輸出動作Enable)。
4.7 軟件架構設計
軟件架構設計應確定軟件的功能模塊,確定軟件模塊之間的接口關系,確保軟件模塊可以并行開發(fā)。設計示例:以“鑰匙電喚醒功能”為例,Lv4軟件架構設計應劃分各模塊的功能及接口關系,如圖5所示:
驅動代碼模塊(CDD)的喚醒任務包含了MRD腳的使能指令,該指令通過MSC模塊發(fā)送并觸發(fā)電源芯片的寫寄存器操作,最終達到使能MRD腳的目的;其中,發(fā)送MSC指令還需訪問PORT模塊獲取主芯片引腳的配置。
4.8 軟件詳細設計
軟件模塊的詳細設計,包含功能邏輯的具體實現(xiàn),目的是通過軟件算法的優(yōu)化,高效地實現(xiàn)目標輸出,并滿足軟件資源的設計約束。設計示例:根據(jù)Lv4軟件架構設計,如圖4,需在PORT模塊配置相關引腳信息,并在MSC模塊中執(zhí)行MSC指令的寫寄存器操作,以下是Lv5詳細設計文檔應包含的內容。
5 結語
綜上所述,ASPICE標準中要求的系統(tǒng)開發(fā)流程(SYS)及軟件開發(fā)流程(SWE)可對應到車載電控單元零部件級別(L3)、組件級別(L4)及模塊級別(L5)的交付物。各層級的架構設計文檔,對上層的設計需求進行了分解,并根據(jù)下層的接口關系進行功能的分配,進而建立了上下層級設計需求的追溯關系。
但軟、硬件的設計過程不是完全并行的,本文的研究及實踐表明,硬件的設計過程要先于軟件的設計過程,軟件的需求、設計要基于硬件設計方案進行補充完善,內容較系統(tǒng)需求更為豐富且具有針對性,不是簡單的形式上的分解。另一方面,基于接口需求的功能分解方法,同樣適用于整車的
其它層級。
參考文獻
[1] 徐秀華,陳勇等.汽車行業(yè)軟件開發(fā)流程研究[A].中國汽車工程學會.2015中國汽車工程學會年會論文集(V4)[C].中國汽車工程學會:中國汽車工程學會,2015:4.
[2] 曹敬軒.整車電子電器功能開發(fā)模式探索[J].上海汽車,2018(6).
[3] Edward Crawley et al.,“The Influence of Architecture in Engineering Systems,”Engineering Systems Monograph (2004).