高效的汽車(chē)電子測試――種貫穿HIL仿真到診斷的測試
在ECU測試中,重要的并不僅僅是信號接口。只有在對ECU進(jìn)行較深層訪(fǎng)問(wèn)時(shí),對許多ECU功能的測試才會(huì )有意義。這樣的訪(fǎng)問(wèn)是由診斷和標定接口提供的,它們通過(guò)ECU的現有總線(xiàn)接口接入。由于在通信進(jìn)程下已有既定的協(xié)議,使用簡(jiǎn)單的消息序列對這些接口進(jìn)行訪(fǎng)問(wèn)是沒(méi)有意義的。而使用適當的診斷和標定抽象才會(huì )更加方便與可靠。
在CANoe中,由來(lái)自CANdela工具的描述文件或者ODX描述文件負責診斷訪(fǎng)問(wèn)層的參數化。如果沒(méi)有對ECU實(shí)際診斷能力的描述,則可使用CANoe提供的針對KWP2000和UDS的一般描述。ECU專(zhuān)用的一般描述文件或診斷描述文件都為方便地訪(fǎng)問(wèn)那里定義的診斷服務(wù)提供了便利,開(kāi)發(fā)人員也許會(huì )獲得與上文信號抽象中同樣的抽象數據和優(yōu)點(diǎn)。
通過(guò)CANoe中的測試腳本就可以使用測量與標定協(xié)議CCP和XCP來(lái)訪(fǎng)問(wèn)ECU的內部變量。測量和標定工具CANape處理這些協(xié)議和需要的ECU描述文件(A2L)。 CANoe通過(guò)COM接口控制CANape。這樣就達到了與上文的信號抽象及診斷抽象中相同的目標。
6.高效的測試生成
對測試用例的深入研究表明:很多測試用例可以?xún)H從幾個(gè)循環(huán)模式中生成。這種情況在網(wǎng)關(guān)ECU中尤為明顯:大多數測試用例用于檢查信號和報文的路由。也就是說(shuō),使用大量測試用例的唯一原因是存在著(zhù)大量可能的輸入和輸出數據。但是同樣類(lèi)型的模式也存在于其他類(lèi)型的ECU中。這意味著(zhù)許多功能的測試都是如此進(jìn)行的:首先使用合適的激勵使ECU進(jìn)入一個(gè)特殊狀態(tài),然后檢查進(jìn)入的狀態(tài)。這種測試用例的循環(huán)模式是:設置信號(激勵),等待最大容許響應時(shí)間,然后檢查新ECU狀態(tài)下的信號。根據使用測試模式的經(jīng)驗,用戶(hù)可能識別幾個(gè)附加的運行時(shí)模式,并從中生成許多測試用例。
上述模式表明,測試用例的生成還有被進(jìn)一步優(yōu)化的機會(huì )。除了提供典型的測試用例編程外,CANoe還為用戶(hù)提供了基于測試模式來(lái)定義測試用例的方式。因為測試步驟是已知的而且已被集成在了提供的模式中,所以就沒(méi)有必要再對模式內容進(jìn)行編程了(圖6)。這樣一來(lái)測試用例的生成就被簡(jiǎn)化為定義目標行為,包括任何需要的補充數據,比如允許的建立時(shí)間。
圖6:使用模式抽象了測試用例的實(shí)際執行從而簡(jiǎn)化了測試開(kāi)發(fā)。
很明顯,提供的測試模式位于前文所述的信號抽象之上,借助關(guān)聯(lián)的數據庫賦予了對信號、報文等符號化訪(fǎng)問(wèn)的能力,并且將使用診斷服務(wù)或I/O信號也變成了可能。簡(jiǎn)言之:整個(gè)CANoe的測試基層結構可與測試模式共用。如果真的有需求超出了這些能力,還可以選擇對測試用例進(jìn)行編程。
測試用例的自動(dòng)生成是在有合適信息源的情況下有效創(chuàng )建測試的另一種方法。雖然生成的測試內容必然受限于描述水平和來(lái)源的深度。然而當通過(guò)測試覆蓋正式定義的ECU基本特性時(shí),這種測試卻提供了相當有價(jià)值的支持。生成測試需要很少量的工作,這就使得測試能更快的進(jìn)行,從而更早地發(fā)現問(wèn)題。
圖7: 使用生成器可以從完全不同的來(lái)源創(chuàng )建測試。
Vector的工具鏈利用了這種測試生成器的方法。諸如DBC數據庫或CANdela定義等描述文件是生成器的資源(圖7)。在使用這些文件生成測試用例之后,CANoe就可以立即執行了。因為測試腳本可能使用整個(gè)工具的基層結構,所以測試生成器通常都設計的非常簡(jiǎn)單。比如只需少量的工作生成器就可以從用戶(hù)定義的網(wǎng)關(guān)描述(例如數據庫形式或 Excel電子表格)中創(chuàng )建恰當的測試用例。借助前文講到的測試模式,從客戶(hù)的特定數據到測試模式格式中間只有一步簡(jiǎn)單的轉換。用戶(hù)可直接創(chuàng )建這樣的生成器。Vector以項目服務(wù)的方式提供進(jìn)一步的支持。
7.總結
汽車(chē)OEM和供應商應對增長(cháng)的ECU測試需求的唯一途徑是高效地創(chuàng )建測試和自動(dòng)化執行測試。本文介紹的測試工具提供了一種被證明的、使用信號抽象/診斷/標定/I/O接口的集成、測試模式概念和測試用例生成器來(lái)實(shí)現測試任務(wù)的解決方案。CANoe是一個(gè)測試ECU和網(wǎng)絡(luò )的高性能實(shí)時(shí)運行環(huán)境。測試開(kāi)發(fā)人員只需在自己的工作臺就能在早期創(chuàng )建和執行測試,且僅需做少量工作。CANoe的開(kāi)放接口促進(jìn)了全面的測試策略以及工具支持的測試管理的無(wú)縫集成。盡管一些用戶(hù)還把它當作一種遠景設想,但只要適當地集成CANoe,也許這種技術(shù)在今天就可以達到成熟水平了。Vector正在持續地開(kāi)發(fā)CANoe以適應上述領(lǐng)域的應用,并為用戶(hù)提供現代而高效的測試平臺支持。
評論