宋超
(湖南中車時代電動汽車股份有限公司,湖南株洲412007)
基于CAN總線的整車控制器自動測試系統(tǒng)
宋超
(湖南中車時代電動汽車股份有限公司,湖南株洲412007)
針對整車控制器大量IO端口測試需求,提出一種基于CAN總線的簡易自動測試系統(tǒng),以已測整車控制器為測試設(shè)備,結(jié)合自定義測試交互協(xié)議,自動實(shí)現(xiàn)對被測控制器任意類型、方向、位置端口的批量測試任務(wù)。
整車控制器;CAN總線;自動測試
整車控制器作為新能源汽車電控的核心部分,參與了車輛信號狀態(tài)的采集與部件控制,其IO端口數(shù)量占據(jù)了整個車輛新增電控系統(tǒng)的絕大部分。目前,行業(yè)內(nèi)整車控制器硬件開發(fā)普遍采用OEM方式,即由專業(yè)的汽車電子設(shè)計公司進(jìn)行控制器的硬件設(shè)計、生產(chǎn)與出廠測試,并提供配套的基礎(chǔ)軟件庫;新能源整車廠家或系統(tǒng)集成商基于模型開發(fā)應(yīng)用功能,通過自動代碼生成技術(shù),與基礎(chǔ)軟件耦合實(shí)現(xiàn)整車控制器的完整功能。
為確保整車控制器出廠時的可靠性與可用性,各整車廠家或系統(tǒng)集成商在產(chǎn)品交付前都需要進(jìn)行控制器端口的功能測試。由于端口數(shù)量眾多,采用人工方式檢測必然導(dǎo)致極低的檢測效率和較高的測量成本,所以越來越多地開始采用自動化的檢測手段進(jìn)行控制器的端口測試,常用的方式是采用專業(yè)的測試設(shè)備,如NI、dSPACE硬件測試產(chǎn)品。自動化的專業(yè)測試設(shè)備能夠提供各類型信號輸出與采集,配合自動化測試軟件完成所有端口功能的測試。這種測試過程操作簡單,效率高,但是帶來的問題是測試設(shè)備成本較為昂貴[1-4]。
為此,本文提出一種基于CAN總線的整車控制器的自動測試系統(tǒng),該系統(tǒng)的測試設(shè)備與被測控制器均為同類型產(chǎn)品,測試設(shè)備已提前采用人工方式測試通過,實(shí)際測試時測試設(shè)備對被控控制器進(jìn)行信號生成與采集,再通過自定義的測試協(xié)議實(shí)現(xiàn)測試任務(wù)分解、命令下發(fā)、狀態(tài)校驗(yàn)、結(jié)果反饋等過程的自動執(zhí)行。
新能源系統(tǒng)中,整車控制器承擔(dān)了核心的控制任務(wù),它收集駕駛員的駕駛行為與操作裝置的狀態(tài),控制車輛的上下電過程與運(yùn)行模式,決定系統(tǒng)的動力組成與能量分配,優(yōu)化部件的燃油消耗與工作效率,監(jiān)督系統(tǒng)的異常狀態(tài)與運(yùn)行故障,實(shí)現(xiàn)人-機(jī)-車的高效運(yùn)行與安全保護(hù)。
整車控制器主控芯片一般選用16位或32位汽車級單片機(jī),具備強(qiáng)大的輸入輸出功能與數(shù)據(jù)處理能力,能夠?qū)崿F(xiàn)車輛的復(fù)雜功能控制與眾多部件保護(hù)。在硬件層面,完成了多路數(shù)字量輸入(DI)、模擬量輸入(AI)、頻率量輸入(FI)、數(shù)字量輸出(DO)、模擬量輸出(AO)、PWM、CAN等驅(qū)動功能。圖1為整車控制器硬件的典型
架構(gòu)[5-8]。
圖1 整車控制器硬件架構(gòu)圖
整車控制器采集的車載電氣信號,包括由儀表臺鑰匙、開關(guān)、按鈕產(chǎn)生的開關(guān)量輸入(即數(shù)字量輸入)信號,其他部件、裝置的開關(guān)量反饋信號,加速踏板、制動踏板構(gòu)成的模擬量輸入信號等。
整車控制器控制車載設(shè)備的電氣信號,包括驅(qū)動繼電器、接觸器的開關(guān)量輸出信號,控制風(fēng)扇、直流電機(jī)的PWM(脈沖寬度調(diào)制)輸出信號,控制發(fā)動機(jī)油門的模擬量輸出信號等。
整車控制器的網(wǎng)絡(luò)信號具備雙向性,主要基于CAN總線與其他部件進(jìn)行信息交互。以AMT(機(jī)械式自動變速器)并聯(lián)插電式系統(tǒng)為例,上電后,整車控制器需要與驅(qū)動電機(jī)MCU(電機(jī)控制器單元)、動力電池BMS(電池管理系統(tǒng))、發(fā)動機(jī)ECU、AMT控制器、打氣泵DC/AC、助力轉(zhuǎn)向DC/AC、儀表、空調(diào)等部件電控單元進(jìn)行周期性的數(shù)據(jù)通信[9],如圖2所示。
圖2AMT并聯(lián)插電式系統(tǒng)整車控制器關(guān)聯(lián)信號與部件
整車控制器采樣端口較多,但信號種類較為集中,且輸入信號可通過輸出端口生成,輸出信號可通過輸入端口進(jìn)行測量。因此,利用已測量的整車控制器作為測試設(shè)備,對其他整車控制器進(jìn)行測試是完全可行的。
基于CAN總線的整車控制器自動測試系統(tǒng)(以下測試系統(tǒng)),利用端口類型匹配特點(diǎn)搭建測試設(shè)備與被測對象的聯(lián)合測試環(huán)境,通過自定義的CAN協(xié)議實(shí)現(xiàn)測試設(shè)備對被測對象指定類型、方向、位置端口的測量,同時結(jié)合自行開發(fā)的上位機(jī)測試軟件,完成被測端口信息的批量導(dǎo)入、下發(fā),測試結(jié)果的自動獲取,報表生成等功能。
2.1 系統(tǒng)結(jié)構(gòu)
測試系統(tǒng)各部件之間通過CAN總線進(jìn)行組網(wǎng),實(shí)現(xiàn)數(shù)據(jù)交互。整個系統(tǒng)由4部分組成:已測試完成的整車控制器,即測試設(shè)備;待測試的整車控制器,即被測對象;上位機(jī)與自動化測試軟件;CAN連接設(shè)備。系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 整車控制器自動測試系統(tǒng)結(jié)構(gòu)
其中,測試設(shè)備與被測整車控制器之間既有普通的IO電氣線束連接,也有CAN總線連接,根據(jù)被測對象CAN接口數(shù)量的不同,CAN總線依此命名為CANA、CANB、CANC等。測試設(shè)備通過CAN總線與上位機(jī)連接,中間需要CAN連接設(shè)備進(jìn)行協(xié)議轉(zhuǎn)換,測試設(shè)備與上位機(jī)之間的CAN屬于測試系統(tǒng)內(nèi)部CAN。
2.2 通信協(xié)議
測試過程中,測試軟件將測試命令下發(fā)到測試設(shè)備,測試設(shè)備發(fā)起到被測整車控制器的測試任務(wù)。測試完成后,測試設(shè)備將結(jié)果反饋給測試軟件。因此,基于CAN總線的整車控制器自動測試系統(tǒng)需要建立測試軟件到測試設(shè)備、測試設(shè)備到被測整車控制器的兩條網(wǎng)絡(luò)鏈路。
為實(shí)現(xiàn)對測試端口方向、類型、數(shù)值等多參數(shù)的適用性,靈活、可靠的通信協(xié)議制定成了整個測試系統(tǒng)的核心。自動測試系統(tǒng)采用CAN2.0協(xié)議,基于擴(kuò)展幀進(jìn)行信息收發(fā),8個數(shù)據(jù)字節(jié)長度的報文內(nèi)容被明確分配給不同意義的命令或狀態(tài)[10]。
自動測試系統(tǒng)的消息幀分為控制幀和狀態(tài)幀兩大類(見表1和表2),根據(jù)消息的發(fā)送方向進(jìn)行區(qū)別。其中,由測試軟件到測試設(shè)備的消息幀HC1、測試設(shè)備到被測控制器的消息幀TC1屬于控制幀,由被測控制器到測試設(shè)備的消息幀CS1、測試設(shè)備到測試軟件的消息幀TS1屬于狀態(tài)幀。
表1 控制幀結(jié)構(gòu)
表2 狀態(tài)幀結(jié)構(gòu)
命令碼分為寫命令與讀命令兩類。寫命令時,測試設(shè)備產(chǎn)生信號,被測控制器讀取信號并進(jìn)行反饋;讀命令時,被測控制產(chǎn)生信號,測試設(shè)備讀取后進(jìn)行反饋。
控制器被測端口信號類型分為DI(低有效)、DI(高有效)、DO(低邊驅(qū)動)、DO(高邊驅(qū)動)、AI、AO、FI、PWM、CAN。
信號數(shù)值根據(jù)“控制器被測端口信號類型”進(jìn)行區(qū)分,控制幀發(fā)送的是信號的設(shè)定值,狀態(tài)幀反饋的是信號的采樣值。
2.3 應(yīng)答機(jī)制
測試開始時,測試系統(tǒng)自動建立測試軟件到測試設(shè)備、測試設(shè)備到被測控制器的“握手”連接;實(shí)現(xiàn)測試設(shè)備、被測控制器輸出端口的初始化操作。
對于DI、AI、FI類型輸入端口的測試,測試軟件首先發(fā)送HC1報文到測試設(shè)備,“通知”測試設(shè)備在哪個端口輸出信號、被測控制器在哪個端口接收信號以及信號的目標(biāo)值。數(shù)字信號的目標(biāo)值為0、1,模擬量信號的目標(biāo)值為0~100,頻率量信號的目標(biāo)值包括目標(biāo)頻率與占空比。測試設(shè)備接收到HC1報文后,判斷命令序號是否更新、目標(biāo)端口是否為指定類型的輸入端口、目標(biāo)數(shù)值是否在正常范圍,判斷結(jié)果在TS1報文進(jìn)行反饋。如果HC1信息正確,測試設(shè)備在目標(biāo)端口輸出信號,同時發(fā)送TC1報文給被測控制器,“通知”被測控制器在指定端口接收數(shù)據(jù)。被測控制器接收到TC1報文后,同樣會進(jìn)行命令序號、端口索引、數(shù)值范圍的判斷,如果正常則在指定端口讀取數(shù)據(jù)后進(jìn)行反饋,否則直接報錯。以上過程持續(xù)進(jìn)行,直到測試軟件接收到錯誤或被測控制器反饋的數(shù)據(jù)到達(dá)目前數(shù)值有效范圍或超時。
對于DO、AO、PWM類型輸出端口的測試,測試軟件通知測試設(shè)備在哪個端口讀取信號、被測控制器在哪個端口輸出信號以及信號的目標(biāo)值,測試過程與輸入端口的測試類似。
對于CAN網(wǎng)絡(luò)通信功能的測試,測試軟件將目標(biāo)周期與目標(biāo)報文數(shù)量通過測試設(shè)備轉(zhuǎn)發(fā)給被測控制器,被測控制器接收到命令后按設(shè)定周期自動進(jìn)行指定數(shù)量報文的發(fā)送,發(fā)送完成后,被測對象自動退出本次測試任務(wù)。測試設(shè)備統(tǒng)計本次測試任務(wù)接收到CAN報文的通信時間與數(shù)量。測試軟件對結(jié)果進(jìn)行分析,判斷被測控制器的通信功能與時間基準(zhǔn)是否滿足設(shè)計要求。
2.4 超時保護(hù)
除了正常的校驗(yàn)錯誤,測試過程還會出現(xiàn)由于網(wǎng)絡(luò)中斷、延時導(dǎo)致的測試故障。為確保系統(tǒng)實(shí)現(xiàn)故障響應(yīng)與退出,測試系統(tǒng)支持超時保護(hù)功能。測試軟件到測試設(shè)備、測試設(shè)備到被測控制器之間的主動連接都會設(shè)置超時限制,以500 ms為例,如果沒有接收到對應(yīng)的反饋報文,報文發(fā)送方會進(jìn)行報文的再次發(fā)送,如此重復(fù)3次。超時確認(rèn)后,測試軟件結(jié)束當(dāng)前測試任務(wù)。同樣,對于測試設(shè)備、被測控制器,如果本次測試任務(wù)開啟后,待接收的目前報文持續(xù)丟失,也會觸發(fā)超時響應(yīng)。
2.5 測試系統(tǒng)驗(yàn)證
基于CAN總線的整車控制器自動測試系統(tǒng)示意圖如圖4所示,最頂部電腦為安裝有自動測試軟件的上位機(jī)。測試設(shè)備和被測對象由兩個完全相同的整車控制器組成,其中代表測試設(shè)備的整車控制器IO端口功能已經(jīng)測試通過。測試設(shè)備和被測對象都集成了自動測試通信協(xié)議底層驅(qū)動,能夠主動響應(yīng)各項(xiàng)測試任務(wù)與功能。為驗(yàn)證測試系統(tǒng)的功能及效果,兩臺上位機(jī)安裝標(biāo)定軟件后,對設(shè)備與被測對象內(nèi)部變量數(shù)值進(jìn)行實(shí)時監(jiān)控。車輛實(shí)際運(yùn)行時,整車控制器部分端口信息通過CAN網(wǎng)絡(luò)發(fā)送給儀表進(jìn)行顯示,為驗(yàn)證測試任務(wù)與其他任務(wù)的優(yōu)先級關(guān)系,測試系統(tǒng)也提供了被測控制器到儀表的連接與信息顯示。
圖4 整車控制器自動測試系統(tǒng)示意圖
利用測試系統(tǒng)對整車控制器的各類端口進(jìn)行測試,基于測試設(shè)備標(biāo)定軟件采集對應(yīng)端口的目標(biāo)值、實(shí)際值進(jìn)行實(shí)時存儲。從各類型端口的歷史數(shù)據(jù)中選擇一例作目標(biāo)信號、實(shí)際信號的數(shù)值對比,結(jié)果如圖5所示。由圖5可知,目標(biāo)數(shù)值給定后,信號正確給出,測試設(shè)備在約一個周期后正確獲取到信號的實(shí)際值,測試流程正確執(zhí)行;對于單一的數(shù)字量、模擬量、PWM、CAN通信等測試任務(wù),利用自動測試系統(tǒng)均可在100ms內(nèi)完成,信號給定、狀態(tài)檢測、結(jié)果分析等耗時幾乎可以忽略,和人工測試方式相比,在測試時間與測試人員數(shù)量方面得到極大改善。同時由于測試軟件自行開發(fā),測試設(shè)備為已有整車控制器產(chǎn)品,整個測試系統(tǒng)成本僅限于線束、CAN連接設(shè)備,和動輒數(shù)十萬的商用測試系統(tǒng)相比,成本大幅降低。
圖5 整車控制器端口測試曲線
基于CAN總線的整車控制器自動測試系統(tǒng),以現(xiàn)有設(shè)備為基礎(chǔ)構(gòu)建簡易測試環(huán)境,不需要額外的專業(yè)測試軟件與信號生成、采集設(shè)備,大幅降低自動測試系統(tǒng)使用成本。通過設(shè)計可靠、靈活的自動測試協(xié)議,實(shí)現(xiàn)不同信號類型、方向、引腳位置的控制器接口測試。通過開發(fā)測試報文的應(yīng)答響應(yīng)與超時保護(hù)機(jī)制,建立了測試軟件、測試設(shè)備、被測整車控制器之間有效的CAN網(wǎng)絡(luò)連接。整個測試過程協(xié)議交互、參數(shù)設(shè)置、信號輸出采集轉(zhuǎn)換等功能均可靠完成,測試過程快速、穩(wěn)定,能夠有效地滿足整車控制器端口的自動化測試需求。
[1]鄧冠豐.dSPACE系統(tǒng)在整車控制器開發(fā)上的應(yīng)用[J].機(jī)電技術(shù),2013(1):80-82.
[2]柳熹,于蘭,辛明華,等.電動汽車整車控制器自動檢測技術(shù)[J].汽車工程師,2014(12):54-56.
[3]張戟,孫澤昌,金明,等.清潔能源汽車整車控制器硬件設(shè)計及模擬負(fù)載硬件在環(huán)仿真系統(tǒng)[J].機(jī)械與電子,2007(4):35 -37.
[4]邱靜,湯峰.純電動客車整車控制器設(shè)計及測試[J].合肥學(xué)院學(xué)報:自然科學(xué)報,2015,25(2):54-57.
[5]張翔.純電動汽車整車控制器進(jìn)展[J].汽車電器,2011(2):1-5.
[6]童志剛,方進(jìn),鐘崢華.電動汽車整車控制器設(shè)計與應(yīng)用[J].客車技術(shù)與研究,2013,35(3):33-36.
[7]孟祥志,孫曉山,邊敦新,等.電動客車整車控制器CAN接口設(shè)計[J].自動化應(yīng)用,2013(8):28-29.
[8]郭盟,南金瑞,郭峰.增程式電動客車整車控制器的設(shè)計[J].重慶理工大學(xué)學(xué)報:自然科學(xué),2013,27(1):7-12.
[9]宋超,席力克,羅銳,等.基于AMT并聯(lián)混合動力系統(tǒng)的CAN通信設(shè)計[J].微型機(jī)與應(yīng)用,2015,34(13):59-61.
[10]羅峰,孫澤昌.汽車CAN總線系統(tǒng)原理設(shè)計與應(yīng)用[M].北京:電子工業(yè)出版社,2010.
修改稿日期:2017-02-17
Automatic Test System for Vehicle Controller Based on CAN Bus
SongChao
(Hunan CCRCTimes Electric Vehicle Co.,Ltd,Zhuzhou 412007,China)
Accordingtothe test requirements ofvehicle controller's manyIO ports,the author presents a simple automatic test system based on CAN bus,which uses a measured vehicle controller as the test equipment and combines with the custom test communication protocol to automatically implement the batch testing tasks for any type,direction and position ports ofthe controller tobe measured.
vehicle controller;CANbus;automatic test
U463.6
B
1006-3331(2017)03-0056-04
宋超(1987-),男,碩士;工程師;主要從事新能源客車控制軟件平臺開發(fā)與動力系統(tǒng)設(shè)計工作。