摘要
控制和信息系統對當今汽車工業至關重要。實際上,幾乎所有車輛都裝了數量眾多的電子控制單元(ECU),用于控制其所有或大部分機械、機電和電氣系統、單元或部件。測試并早期發現和修復這些ECU的軟件漏洞非常重要,不僅對汽車駕駛的安全,而且對在汽車開發期間節省巨額費用的軟件更新也非常重要。汽車中最重要的ECU之一是儀表板組合(IPC)。IPC向駕駛員提供與主要汽車系統(發動機、變速箱、ABS)相關的實際信息、當前速度信息、機油和冷卻液溫度警告、燈光使用、導航等。本文討論了IPC系統軟件測試的一些特點和問題,以及對特定測試人員技能和知識的要求。
1.簡介
負責控制主要汽車系統和節點的電子設備的水平在過去幾年中大幅度提高,它們約占內燃機汽車中所有系統的40%,電動和混合動力汽車的約70%。這些設備被稱為電子控制單元(ECU)。實際上,ECU是帶有片上軟件的嵌入式控制系統(控制器)。它們的數量(圖1)在新車中從30到100不等,而在新BMW系列中,ECU多達200個。
圖1 汽車內部的電子控制單元(ECU)
ECU之間的通信基于控制器局域網(CAN)總線。每個ECU都可以通過CAN總線廣播自己的消息,并可以監聽來自其他ECU的特定消息。通常,ECU控制發動機的直接燃油噴射和節氣門、制動器(ABS)、主動懸架、燈光、動力轉向、導航、氣候、停車輔助、收音機、電話等。根據從不同類型的傳感器收集的各種類型的輸入數據,每個ECU實現自己的軟件控制算法,并將計算結果(輸出)應用于受控硬件。輸入和輸出數據都可以被視為CAN報文或包含在這些消息中的信號。
一個特定的ECU是儀表板組合(IPC),它以各種格式向駕駛員顯示大量信息-指示燈(信號燈)、儀表(指針)和界面,如圖2所示。
用于控制發動機、制動器、動力轉向等的ECU軟件很少更改,而IPC軟件是一個大量修改、更新和頻繁變化的對象。事實上,即使是一種型號的汽車,也有各種各樣的IPC硬件類型。例如,大眾汽車的IPC有三種型號-黑白顯示屏-一種是低分辨率的,另一種是高分辨率的,第三種是彩色顯示屏??蛻艨梢愿鶕约旱南埠没蛱囟ㄐ枨鬄樽约旱钠囘x擇一個。
圖2 儀表板組合
由于IPC的頻繁硬件變化,組合軟件也是密集測試的對象。
本文旨在介紹測試IPC的功能,以及特定系統軟件的測試需求、測試環境(CANoe)以及對測試人員的要求。
2. IPC需要測試的功能
如圖3所示,IPC收集大多數汽車ECU和傳感器提供的信息,并將其呈現給駕駛員。只向駕駛員呈現有價值的并且可以被正確解釋的信息。與主要系統相關的診斷或特定故障信息存儲在IPC的錯誤存儲器,或問題單元的存儲器中,可以通過診斷程序在服務中讀取。
圖3 IPC采集的ECU和傳感器信息
PC視覺信息以多種方式呈現:
- 帶指針的儀表(步進電機),如車速表、轉速計、機油、冷卻劑和溫度計等。
- 指示不同汽車單元和系統的狀態或使用情況的信號燈,例如燈的使用(遠光燈/近光燈、左轉/右轉等)、電池狀態、剎車、安全氣囊、穩定性等。
- 顯示主里程計和行程里程計、車載計算機消息(平均速度或油耗)或警告、變速箱信息或一些主要汽車ECU報告的一些錯誤等。
上述IPC單元的主要功能將在以下段落中討論。
2.1 車速表
車速表用于以km/h或mph為單位指示車輛速度。組合儀表執行從輸入值(脈沖數或每秒轉數或來自總線的值)到步進電機步數反映的角度指示的轉換(1步=0,05625度)。當通過總線接收到速度時(圖4),通常伴隨著有效信號(品質因數)。轉換是使用包含一些點(4-6)的特性曲線完成的,這些點具有輸入值和輸出角度之間的對應關系,在這些點之間使用線性插值。特性曲線存儲在IPC的EEPROM中。為了避免指針閃爍或跳躍,使用了阻尼。
圖4車速表數據流及特性曲線
阻尼(圖5)曲線有一個t(τ)參數(時間),它確保指針變化在時間τ之后達到64%的變化范圍,在大約4-5倍τ之后達到99%的最終值。
圖5阻尼(系數)曲線
在某些汽車組合儀表中,應用了提前系數。它表示添加到實際車輛速度的百分比,會指示更大的速度值。這樣做是為了保證安全行車。在下面的儀表中,將20%的提前系數添加到100km/h的速度(圖6a),對于駕駛員來說,它是120km/h,如圖6b所示。
測試車速表的常見行為
在車速表測試期間,必須檢查以下與電池連接和發動機點火相關的要求:
- 當電池關閉時,車速表指針保持在相同位置。在重新連接時,指針被同步,然后返回到有效指示。
- 當點火開關打開時,指針返回零指示,然后返回有效指示。對于正常范圍內的值,指針根據特性曲線以阻尼方式移動。如果有效信號為假,則指針下降到零(無效速度信號)。
- 電源恢復后(在某些情況下欠壓/過壓后)指針返回零位,然后返回有效指示(同步)。
- 如果輸入信號超出范圍,(錯誤處理)指針會在延遲后下降到零位置(無阻尼)來指示這種情況。
- 在欠壓(小于9V)/過壓(大于16V)和電源故障的情況下-指針保持在相同位置,當電壓回到正常范圍時,指針同步(在某些IPC中它保持在同一位置),然后指示有效值。
2.2 轉速表
轉速表測試類似于速度表。這里可以使用兩個阻尼。一種是在發動機運轉且車輛靜止時,則阻尼較高(可以在短時間內進行較大的變化)。第二個阻尼是在車輛移動時-然后阻尼較?。赡艿淖兓^?。?。
必須對轉速表進行與速度表類似的常見行為測試。
2.3油位指示
如果通過CAN總線接收信號,則特性曲線類似于速度表。如果信號直接來自傳感器,則使用兩條曲線:ADC值->升數->步進電機步數。
關于車輛移動狀態使用兩個阻尼值(在某些情況下,一個如圖5所示,另一個是線性的)-當車輛停止時,阻尼較低。行駛中的車輛需要更大的阻尼,以克服由于加速和制動而導致的油箱中的燃油移動。
當燃油液位低于定義的閾值時,燃油儲備指示器將被激活。
2.4 冷卻液溫度指示
冷卻液溫度的測試類似于燃油油位指示。行為和阻尼取決于車速。當車輛停止時(在駕駛會話之后),由于傳感器周圍的溫度會升高(熱量爆發),指示將不會超過最后一個有效值,持續時間與駕駛持續時間成正比。
一些額外的測試與正常冷卻劑值(75-115度)有關-然后指針靜止不動。如果發動機過熱(溫度>閾值)-會生成警告(可以是LED、聲音警告、顯示屏上的警告消息或它們的組合),因此還必須檢查這些警告。
2.5 里程表
主里程表存儲在IPC EEPROM區,不可復位(生產后);最大顯示值為999.999公里。存儲使用多塊存儲技術完成-值(公里/英里)存儲在更多字節的位置(例如32),每個字節都根據IPC特定算法寫入(以避免每次寫入相同的位置)。該EEPROM位置不能被較低的值覆蓋。
行程里程表存儲在IPC RAM中(在某些情況下存儲在EEPROM中)。達到最大值(999,0或1999,0 公里)后,將翻滾至0,0公里。
2.6 指示器
信號裝置具有特定的激活/停用/再激活條件。圖7給出了一些最流行的指示器及其含義。在一些組合中,指示器的燈或LED位于速度表而一些指示器位于這些區域之外或轉速表區域,。在某些組合中,一些信號裝置(警告)僅在主顯示器中顯示為圖標。
圖7 指示器指標
2.7 車載里程計算機
車載里程計算機顯示的信息是通過計算距離、時間和注入的燃料來計算的?;谶@些數據,獲得即時/平均消耗和速度。
剩余續航里程還反映了在油箱中剩余燃料和實際速度(實際消耗)下可以行駛的距離。行程持續時間也可以計算在內。
作為測試對象的車載計算機的功能是平均速度、平均消耗、行程持續時間-可以重置(通常通過按下儀表板上的旋鈕)。重置后(電池重置、手動重置、點火開始)-需要一定的距離/時間/消耗,以便計算和顯示第一個值。
測試還與測量單位相關,例如:
- 距離公里或英里;
- 速度km/h或mph;
- 消耗1/100公里,mpg(英國或美國),km/l
2.8 信息和警告
更復雜的儀表盤有一個大點陣顯示器(在某些情況下是彩色的)顯示額外的信息,提醒司機一些汽車功能的狀態(輪胎壓力、發動機狀態、ABS、ASR、ESP、安全帶、檔位信息、冰警告、導航、電話、收音機/CD 等)。
可以顯示一條文本消息,也可以通過符號或/和提示音加倍顯示。
消息可以用不同的語言顯示(可從菜單或EEPROM配置)。
當同時顯示更多警告/消息時,它們將以滾動模式顯示:每條消息(如果有的話,帶有符號)顯示一段時間,然后顯示下一條。
消息具有指定的優先級。定義項目特定程序以處理優先級-消息可以/不能被更高優先級的消息打斷,消息具有最短顯示時間。
接下來給出了一些可以顯示的附加消息,它們是特定測試的對象:
- 燃油液位
- 冷卻液溫度
- 室外溫度
- 警告信息
- 油位
- 服務間隔指示
- 時鐘,日期
- 齒輪箱位置和模式
- 分區/臨時
- 導航
- 電話。
2.9 EEPROM
EEPROM存儲器包含一些作為測試對象的配置參數。它包含有關組合本身的信息-型號、版本、生產日期、月份、年份、有關發動機和汽車中最重要的ECU的類似數據、里程表數據、特性曲線、阻尼參數tau、發動機類型(汽油、柴油、混合)、測量單位公里、英里、錯誤代碼和許多其他數據。
除了與上述IPC單元和元件的功能相關的軟件測試外,還必須特別注意下面描述的IPC電源管理測試和照明測試。
電源管理測試涉及9V至16V的正常電壓范圍、欠壓(9V以下)、過壓(16V以上)和電源故障(6V以下)。
在正常電壓范圍內,組合儀表具有正常功能。測試電壓在13.5V左右。超出此范圍,除電源故障外,我們可能會遇到以下情況:-指針凍結到實際位置,微處理器控制的LED(燈)被停用,EEPROM的寫入功能被停用。所以要確保RAM中的數據保留,當電壓恢復到正常范圍(有滯后)時,恢復正常功能。指針同步(回到零位,再回到有效指示),避免失步。
在電源故障期間,除了欠壓情況外,RAM數據不再保留。當電壓恢復到正常范圍時,組合儀表復位。
背景照明與顯示、刻度和指針有關。它們可以單獨照明。照明根據兩種情況而有所不同:-白天,只有顯示屏以小亮度照亮,夜間,顯示屏、刻度和指針都被照亮。在夜間照明期間,可以手動或自動修改亮度。當前燈被激活(手動模式)或當外部照明水平低于定義的閾值(自動模式)時,日/夜轉換完成。照明級別存儲在EEPROM中,所選級別作為指針存儲在該照明表中。顯示器和刻度+指針可以有不同的照度表來有不同的照度。
使用一個組合按鈕或菜單中的功能執行手動調光。自動調光是使用一個傳感器來執行的,該傳感器決定從白天到夜間照明水平的轉變。照明調暗不影響信號燈的亮度。照明可用作發出警告的一種方式。例如,在某些汽車中,當發動機轉速超過定義的閾值時,轉速表刻度照明會以全亮度激活(而其他刻度的照明會停用),以表示發動機可能已損壞。
3.測試環境CANoe
儀表組合 (IPC) 的真實系統軟件測試與特殊軟件環境的使用有關,該環境模擬所有或大部分汽車ECU的工作。這個環境是Vector CANoe。它可用于任何汽車ECU或任何使用CAN實時網絡通信的控制器的軟件開發。CANoe是基于事件驅動的通信訪問編程語言CAPL的面向Windows的工具。CANoe的仿真是基于軟件節點(每個節點對應一個汽車ECU)。節點通過虛擬或真實的CAN網絡連接??梢詾槊總€節點定義CAN消息和信號(事件),并可以模擬和測試虛擬CAN網絡的互通。當節點的軟件經過測試和驗證后,可以將其上傳到真實的ECU或用于進一步測試。
出于IPC的測試目的,CANoe仿真解釋了向IPC發送消息的永恒ECU和傳感器的行為。因此,通過組織良好的圖形面板(圖8),模擬向IPC發送消息,測試人員能夠分析(比較)IPC是否正確地可視化。換句話說-IPC行為是否符合(客戶和測試)要求。
圖8 CANoe仿真窗口視圖
從描述中可以看出,CANoe仿真為IPC的手動測試提供了可能。有一些額外的基于Excel和Visual Basic宏的軟件工具,可以連接到CANoe仿真以提供IPC的半自動化測試。然后運行測試的測試人員必須回答測試問題,驗證IPC單元是否對外部SW工具發送的測試消息/信號做出正確反應,或者使用外部電源單元設置組合電壓的一些特定值(圖9)或信號發生器。
手動或半自動測試的測試結果和發現的錯誤會在Excel文件中報告,并發送給高級管理人員,以便根據錯誤的優先級激活錯誤修復或更改請求。
真正的IPC測試需要一些與IPC軟件上傳(刷寫)和EEPROM變量配置相關的準備工作。由于IPC軟件有許多軟件更新,因此IPC軟件有專門的程序。所以SW模塊可以按特定順序上傳,否則儀表在測試期間將無法正確反應。這同樣適用于設置EEPROM變量。
圖9 IPC測試的硬件和軟件環境
下一個例子與汽車組合的實際導航測試有關,當導航ECU報告到目的地的距離(圖10)時,發現了一個錯誤??梢钥闯?,在CANoe仿真中設置了較大的公里值(上部紅色區域),儀表盤顯示(下部紅色區域)上的值被削減到前8位,這與測試要求不符。還發現這個區域可以設置非數值,因為數據不被解釋為數字而是被解釋為字符串。
圖10在導航數據中發現錯誤的測試示例
4.結論
本文介紹了針對IPC單元的汽車SW測試技術,它為駕駛員提供了非常重要的視覺信息。討論了作為密集測試對象的IPC的主要功能,以及相應的軟件和硬件測試環境和工具。
IPC的測試大多是手動或半自動化的,一方面取決于大量的IPC類型和型號,另一方面取決于這些HW IPC型號的大量軟件版本和更新。很少有完全自動化的測試工具用于將顯示圖標與準備好的圖形數據庫中的圖標進行比較,但目前它們用于測試少量汽車組合。
可以看出,汽車測試需要測試人員具備跨學科技能。他們必須具有嵌入式系統、消息和事件驅動編程方面的經驗,并且具有自動化、電子、機械方面的知識,當然還有測試和配置管理理論領域的知識。
轉自汽車電子與軟件