控制器子系統軟件開發分為應用層軟件開發和底層軟件開發。底層軟件開發是配置主芯片的驅動,包括輸入輸出驅動,微控制器驅動,通信驅動,存儲器驅動等;完成BSW、RTE等相關模塊的配置;以及配置相關協議棧(Bootloader、UDS、CCP等)。而應用層軟件開發是基于子系統功能需求進行分解的軟件功能需求,目前主流都是基于模型的開發。應用層軟件開發的需求是由軟件需求工程師根據子系統需求進行分解制定的,然后交給軟件架構工程師進行架構的制定,架構工程師將建立好的架構模塊交給應用層軟件開發工程師,進行每個模塊代碼實現并進行代碼的測試,最終交給集成工程師進行集成。軟件需求工程師根據子系統需求說明書、軟硬件接口文件、變更需求等上一級文件,梳理定義軟件需求規范,包括操作系統需求、電源管理策略、傳感器讀取,執行器控制、信號特性需求、存儲服務、通信服務,網絡管理、故障診斷、標定、程序升級等功能需求和非功能需求,在整個軟件開發過程中是非常關鍵的崗位,但是目前一般企業會將該工程師崗位交給應用層軟件開發工程師,這樣帶來的問題是工程師通過上一級的文件直接實現代碼,后期進行補充文檔的工作,造成了文檔更新不及時及文檔信息與代碼不符的現象。同時架構工程師在其中也是處境非常的艱難,經常需要針對軟件開發工程師的錯誤不斷調整接口和架構。
子系統軟件需求規范模板
變更記錄(在軟件需求修改、評審、變更的過程中需要記錄的一些信息,變更條目,變更時間,變更人等)
文檔編制目的
文檔的應用范圍(車型及平臺以及項目名稱)
1縮略語和引用文件
1.2縮略語
1.3引用文件(引用的國標(強制標準)、行標、企標(例如網絡管理規范,診斷規范,低壓電源管理規范等相關的規范))
2 子系統軟件需求
2.1子系統軟件功能描述
2.1.1子系統軟件功能框圖
Application Layer框中將所有的應用層軟件功能模塊加入到其中。針對VCU,例如扭矩模塊、充電管理模塊、上下電管理模塊、熱管理模塊等。
2.1.2子系統軟件功能模塊清單
序號 | 子系統功能 | 軟件模塊 |
SF1 | 扭矩控制 | 扭矩輸入處理 |
扭矩決策 | ||
扭矩輸出 | ||
SF2 | 上下電功能 | 低壓上電 |
低壓下電 | ||
高壓上電 | ||
高壓下電 |
2.2接口
2.2.1輸入接口(硬線輸入接口、CAN輸入接口)
序號 | 變量名稱 | 變量類型 | 初始值 | 變量存儲類型 | 變量范圍 | 輸入輸出 | …… |
1 | U32 | 0 | Local | [-2000,2000] | CAN_Output |
變量名稱的定義:為了代碼的清晰易懂,通常變量名采用一些注明的命名規則,主要有Camel標記法(駝峰標記法)、Pascal標記法、和匈牙利標記法。
2.2.2輸出接口(硬線輸出接口、CAN輸出接口)
3 軟件需求(以檔位控制功能為例)
3.1軟件模塊1(如檔位控制功能)
3.1.1軟件模塊1簡述
針對輸入的信號進行處理及診斷,實現檔位的控制邏輯,并輸出最終的檔位請求信號。
3.1.2軟件模塊框圖
3.1.3軟件需求描述(系統需求的描述可以采用文字、表格、公式、狀態圖、流程圖、時序圖等多種方式進行描述。)
XXX(車型)_VCU_GSM_SSR_0001: VCU需滿足以下條件(跳轉條件4),才允許駕駛員從N檔位換入D檔。
- 低壓蓄電池(XXX_X_LVBattery = 1) 在有效范圍內(比如9~16V);
- 駕駛員系安全帶(XXX_X_SafetyBelt = 1);
- 駕駛員踩下制動踏板(XXX_X_BrakePedalFlag = 1) ;
- 整車系統狀態處于可行使狀態(XXX_X_VehSts = 3) ;
- 駕駛員的檔位請求為D檔(XXX_X_GSMReq= 3) ;
- 整車車速(XXX_X_VehSpd < 2) 小于2km/h;
4 診斷需求(軟件開發需要實現故障的判斷、故障信息的處理、故障信息的記錄)
5 網絡管理需求
6標定功能需求
7程序刷新與升級要求
8軟件安全需求
9 非功能要求
- CPU負載率要求
- RAM/ROM的使用率要求
- 傳感器質量要求
- 執行器質量要求
- ……
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。