天天看點

鑒源實驗室:車載ECU嵌入式軟體的測試入門

作者:上海控安

作者 | 李偉 上海控安安全測評中心安全測評部總監

來源 | 鑒源實驗室

按語:上一章節我們講了汽車電子架構和網絡曆史。本章節我們将先給大家講述汽車測試的基礎小知識,然後描述CAN網絡資料幀的相關基礎知識。

01 車輛研發基本知識

1.1 整車電源狀态

整車所有電子零配件均工作在一定電源狀态下,沒有供電的話零部件将無法工作。關于零部件在何種狀态下應對進入何種工作狀态,在對應車型的技術文檔網絡部分中均有詳細要求和描述,每個廠家的文檔名稱可能不一緻,但是該技術文檔肯定存在。

整車的電源狀态正常情況下有以下幾種:深度休眠、休眠、鎖車未休眠、ACC 、ON、點火、RUN。

深度休眠、休眠、鎖車未休眠,這三個狀态容易了解,我們主要講解其餘幾個狀态。在機械鑰匙啟動的車輛中,通常我們都會看到鑰匙插口對應如下圖所示的狀态。

鑒源實驗室:車載ECU嵌入式軟體的測試入門

圖1 鑰匙插口狀态

(1)LOCK狀态:術語是鎖止檔,此時是機械鑰匙僅插入或将拔出時的狀态。整車電子裝置中故障報警燈、大燈、發動機防盜系統等非常少量的裝置處于工作,其他裝置均熱關機準備進入休眠狀态。

(2)ACC狀态:附屬裝置通電檔,此檔位在LOCK基礎之上會增加少部分裝置進入喚醒工作狀态,整車内部油路系統部分油泵開始啟動工作,潤滑機械部件為發動起啟動進行準備,是以當鑰匙擰到此檔位時我們可以聽到一些機械裝置運轉的輕微聲音。另外有收音機、空調風扇等均可以正常工作。

(3)ON狀态:整車通電檔,顧名思義此狀态下全車電路接通,同時整車進行自檢,可以在儀表台上看到自檢裝置燈亮起,自檢完成大部分燈會熄滅。尾氣排放等自檢燈會在發動機啟動後自動熄滅。

(4)START狀态:發動機啟動檔,此狀态跟其餘狀态均不一樣,其餘狀态均是車輛可以長時間儲存的狀态,SRART狀态是發動機啟動點火的一小段時間狀态,當車輛機械鑰匙擰到此狀态後立即觸發車輛點火啟動,松開鑰匙後,機械鑰匙會自動彈回ON狀态檔位。如果通過裝置連接配接車輛網絡,追蹤整車電源狀态信号(SYSPowerMode各個車輛命名可能不一樣)點火前的狀态信号值為ON;點火後鑰匙同樣是在ON檔,但電源狀态信号的值會變為RUN;而點火的那一瞬間,鑰匙指向START時電源狀态信号的值會是CRANK(各個車型命名可能不一緻)。

需要注意的是,目前主流研發車型鑰匙雖然都配備了機械備用鑰匙,但是車輛點火一般都是無鑰匙啟動。在這些類型的整車電源狀态中,相比傳統機械鑰匙車型,電源狀态少了1個,隻有3個狀态,無鑰匙啟動車型将上文的ACC和ON兩個狀态進行了合并。

在測試中工程師們為了友善,經常會使用一些流傳的術語,常有幾個電源狀态相關術語如下:

· 車輛下電:指的是車輛熄火,未落鎖未休眠;

· 車輛上低壓電:一般指的是車輛進入電源ON狀态;

· 車輛上高壓電:一般指新能源車進入電源RUN狀态,燃油車發動起啟動;

· 車輛上KL15電:之是以有KL15此類的專業術語,是因為整個汽車行業受德國汽車工業的影響比較深遠,KL是德語Klemme(ECU針腳)的縮寫。KL15電指的就是車輛發動機啟動後整車發動機供電,即常說的上高壓電;

· 車輛上KL30電:對應KL15,KL30電指的是發動機熄火,由車輛蓄電池供電。

1.2 車輛研發裡程碑節點

之是以在測試入門就介紹項目的相關知識,是因為在汽車行業項目研發過程中,項目組一旦确定并釋出了裡程碑節點,這些時間節點通常情況下就不會變更。如要發生變更車型項目總監則需向企業上司層進行說明并獲得準許,這種變更的影響一般都比較大。我們所有的活動安排都需要适配項目的裡程碑節點,包括所有的研發和測試活動。

德國汽車制造業對國内的影響是巨大的,上汽集團以及部分新興造車企業受德國大衆的影響,研發體系的項目管理基本都沿用大衆的體系,當然廣汽受豐田影響,更多使用了豐田的體系,還有其他類似的體系。本文中我們介紹的是大衆集團車型研發項目管理裡程碑的劃分。

整個車型研發過程中共有15個項目節點,A4-A1(架構開發階段節點),G9-G0(整車開發階段節點),還有項目關閉節點。G9階段基本都是企業高層戰略設計規劃相關的工作,另外項目生命周期結束關閉節點,這兩個節點跟一般工程師都不相關,下圖中省略。

鑒源實驗室:車載ECU嵌入式軟體的測試入門

圖2 車型研發項目節點

一個全新産品車型的開發過程總體可以分為架構開發階段和整車産品開發階段兩個。且架構開發是整車開發的前導階段,理論上架構工作完成後才進入整車開發階段,實際項目中在架構進入實質性的開發階段後,主項目就開始并行啟動。

工程師通常從G8(Program Commencement)階段介入項目,不過此時介入的一般是項目總工,以及部分的VSE(Vehicle Systems Engineer)和DRE(Design Release Engineer),一般零配件的DRE隻是接到通知參與前期的工作會議,做前期的準備工作。

鑒源實驗室:車載ECU嵌入式軟體的測試入門

圖3 車型開發總過程

一般工程師在G6(Program Approval項目準許)開閥成功後,開始滿負荷投入。

測試工程師的測試時間階段通常如下表所示。

鑒源實驗室:車載ECU嵌入式軟體的測試入門

表1 測試時間階段

*注:

VDR:Verified Data Release 造型數模釋出

OTS:Off Tool Sample 全工裝零件造車

G5:Engineering Release 工程釋出

G2:Pilot 試生産

02 CAN網絡資料幀

為什麼在測試入門的第一課講述CAN相關的知識,在上一篇中我們就CAN網絡的重要性進行了表述。CAN網絡将整車所有電子零部件進行了連接配接,從零部件到子系統,至整車電子,我們測試中每時每刻都在使用CAN網絡,CAN網絡相關知識是汽車測試基礎中的基礎。

在CAN網絡的使用上,目前乘用車系統主要使用高速CAN,低速CAN主要用在卡車、貨車等工程車輛中。高速CAN由ISO 11898進行規範,低速CAN由ISO 11519進行規範。

車輛零部件通常會以三種場景使用CAN網絡進行通訊。1.零部件基本都會周期性的主動通過CAN網絡向網關、其他ECU(設計需要的ECU)周期發送特定封包的;2.零部件探測到某種條件,受到觸發主動通過CAN網絡向其他ECU發送觸發資訊(如故障報警等);3.零部件接收到其他ECU或tester發送的封包,根據設計對封包進行響應(網絡診斷)。

本章節我們給大家講解我們工具觀察到的CAN網絡資料幀如何進行初步分析和識别。如下圖所示,使用了Tester工具向某ECU發出服務請求封包,ECU進行了響應回答。工具通常顯示的實時封包如下所示。

鑒源實驗室:車載ECU嵌入式軟體的測試入門

圖 4

(1)Time:通常時間可以在相對時間和實際時間之間進行切換,相對時間将第一幀封包時間設定為起始時間,後繼封包跟此封包時間差進行累計顯示,如上圖中所示。實際時間軟體系統會跟目前的日期時間進行同步後,将每個封包标記目前時間。無論哪種方式,我們都可以通過相鄰兩個封包的時間差計算得到封包的間隔時間。

(2)Bus:總線編号,我們在上一篇中講述了車輛CAN總線有多路CAN,如動力CAN、車身CAN等等,每路CAN上ECU均需要通過網關進行封包的互動,而本網絡上的廣播封包是不能在其他網絡上接收到的,是以工具一般會有支援多路CAN功能,在實車測試時,通過不同CAN轉接出的OBD口,分别連接配接需要使用的CAN網絡,這樣就需要通過編号來标記不同的CAN網絡,就是此處Bus的意義。

(3)Type:Tx意思是由此Tester發送的封包,Rx的意思是接收到的封包。

(4)ID:是此Tester發送封包的目标ECU的網絡ID,跟Rx封包的接收ID成對。一個ECU通常有3個位址,分别對應實體尋址的接收和發送位址,如本條最開始的叙述,圖中的0X717為此ECU的封包接收位址,0X71F為此ECU的封包發送位址。此外ECU還有一個功能尋址位址通常為0X7DF。

(5)DLC:封包資料部分的長度,CAN網絡封包資料長度固定為8位元組,如果長度不夠則補全為8位元組,封包超過8位元組時超長幀分為多幀發送。

(6)Data:資料部分。網絡上的周期性封包在工具軟體加載了項目網絡DBC(網絡信号矩陣資料庫)之後,工具會自動解析顯示為我們可以直接閱讀的格式。展開封包後如下圖所示。如封包不能展開就表明工具軟體尚未加載對應DBC。

鑒源實驗室:車載ECU嵌入式軟體的測試入門

圖 5

此外我們在抓取CAN網絡需要的封包時,網絡上的封包數量非常多,很多是我們不需要的封包,此時就需要通過工具的過濾器進行封包過濾。過濾器基本都支援通過封包ID進行過濾,此種過濾方式也是我們最常用的方式,各個工具的設定方式大同小異,基本都是在過濾器中輸入希望抓取的裝置ID,或者不希望抓取的裝置ID,設定完成後應用即刻生效。

繼續閱讀